问题标签 [vp9]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
h.264 - 编解码器比较压缩/质量
因此,我正在从我的文件存档中重建我的视频库(我的 DVD/Bluray 已经在我的磁盘上解码)并且我想确保我拥有最优质的文件和压缩。我知道无损对于节省空间并不实用,但我确实想要无法区分的视频/音频质量。我正在使用 VidCoder,到目前为止,我一直在比较视频编解码器之间的质量和文件大小。我正在考虑使用 VP9,我知道 AV1 很快就会出来,我会再次重建它然后使用它。对于音频,我正在考虑使用 FLAC(我真的很喜欢 FLAC,并且已经将它用于我的数字 CD 存档)。那么你们认为哪个最适合我想要的呢?哦,我不在乎兼容性。
javascript - 混合音频和视频以供下载
有没有办法只使用 JS 将视频文件 (VP9) 与音频文件 (VORBIS 或 OPUS) 混合在一起?
我正在阅读WebM 项目网站,它似乎是基于 Python 的?
我确实遇到了这个 Git 存储库。但是我有点难以理解文档;从我的挖掘来看,我不相信 mp4 与 VP9 兼容。
那么,是的,是否有一种方法可以将视频文件(VP9)与音频文件(VORBIS 或 OPUS)混合使用,只使用 JS?或者一种至少将这些格式转换为可以使用 JS 进行复用的格式的方法?
我也刚刚找到了另一个 Git Repository,但我还不确定它是否符合我的要求。
video - ffmpeg 可以从 VP9 视频中提取运动矢量吗?
如果可以,运动矢量是否与 H264 中的运动矢量相似?
我问是因为我可以运行类似的命令
然后用 VLC 查看它并查看叠加在视频上的运动矢量。如果我尝试使用 VP9 编码的视频,我将看不到它们。
algorithm - VP9中使用的快速运动估计算法?
我正在尝试找出 vp9 中使用的快速运动估计算法,请帮助我。尽管它是开源的,但没有可用的文档,但我找不到任何相关的东西。
raspberry-pi - Can RTCMultiConnection use H264 instead of VP9 for screenshare?
I am working on screen sharing related project, and the only problem i encounter there is the need to display a screen shared from a PC or a Mac (Chromium browser, in fact an Electron app), on a Raspberry PI (i am using model 3 B, the most modern one). In my experiments, the project is just beginning, i am using RTCMultiConnection to share screen and watch it.
Problem is, it is uselessly slow (2-3 fps, sometimes with a 10 second delay) even with full HW acceleration enabled in Chromium which displays it, and i perfectly understand why: because it uses VP9 codec, for which no HW acceleration exists on Raspberry.
Question is: can i use H264 in RTCMultiConnection? If yes, how? I know WebRTC itself basically supports it.
ffmpeg - MPEG-DASH 不工作。MPD 验证失败
我正在尝试使用 MPEG-DASH 提供视频。没有成功。我尝试了以下方法:
按照webproject.org上的说明,使用 FFMPEG,我创建了原始视频和 DASH MPD 清单的几个变体,其中包含元数据。但是,清单不使用http://dashif.org/conformance.html进行验证。这个验证器本身没什么用,因为它提供了关于错误的不可用信息。我在2014 年的一篇文章中发现,FFMPEG 产生的错误之一是某些元数据中的大写字母(不是关键的,但可能已经修复多年!)。检测到其他错误,但未描述。也没有来自任何其他验证器的有形信息:http ://www-itec.uni-klu.ac.at/dash/?page_id=605 (产生垃圾信息),https://github.com/Eyevinn/dash-validator-js(抛出异常)
按照mozilla.org上的说明,产生相同的非工作结果,因为说明几乎相同(包括相同的分辨率*比特率集),除了 Mozilla 省略了 dash.js 的使用,其余部分认为这是必要的互联网。
这个关于Bitmovin的指南,使用x264 和 MP4Box也不起作用。按照说明,我必须对原始 x264 视频重新编码两次。在某些情况下,最终版本的视频大小是中间版本的两倍,而 720p 视频实际上比 1080p 更高比特率的视频更大。没有必要更进一步。(然而,这是实际产生片段的唯一方法..)
我在上面花了 3 天时间,从其他沮丧的采用者那里阅读了网络上的所有内容,但没有选择。我真的很感激一些专业提示!谢谢!
gstreamer - Gstreamer videoconvert 颜色转换错了?
我正在启动一个gst-launch-1.0
使用nvgstcamera
. 图像被编码为 VP9 视频。视频被tee
发送到filesink
将视频保存在 webm 容器中的 VP9 解码器,将图像通过管道传输到appsink
.
稍后,我想从保存的视频中提取帧并再次通过应用程序运行它们。appsink
重要的是,这些帧与在视频捕获期间通过管道传输到的帧完全相同。
不幸的是,解码后的帧看起来略有不同,具体取决于您提取它们的方式。
一个最小的工作示例:
记录:
重放nvvidconv
元素:
重放videoconvert
元素:
测试图像差异:
我的猜测是这与 I420 到 RGB 的转换有关。所以videoconvert
似乎使用了不同的颜色转换nvvidconv
。
启动管道gst-launch -v
显示两个重放管道的元素功能基本相同,唯一的区别是 videoconvert 默认使用 RGB,而 nvvidconv 使用 RGBA。"video/x-raw,format=RGBA"
但是,在后面添加大写字符串videoconvert
不会影响颜色转换。
请注意,这是在 Nvidia Jetson TX2 上,我想在录制期间使用硬件加速的 gstreamer 插件(omxvp9enc
, nvvidconv
),而不是在另一台机器上重放期间。
如何从视频中提取与录制期间通过管道运行的图像相同的图像,但不使用 Nvidia 的 Jetson 特定插件?
ffmpeg - 在 FFMPEG C++ 中使用 VP9 编解码器的巨大、持续的内存消耗
使用: https ://github.com/ash3D/VideoRecorder 包装: https ://github.com/ash3D/UEVideoRecorder
我将 VP9 编解码器添加到 CVideoRecorder(VideoRecorder 存储库的一部分)的“ FindEncoder ”函数中。使用 VP9 编解码器通常可以工作,但是内存消耗巨大,并且在 30 秒内,内存使用量从 3GB 上升到 6GB,然后(大约)FFMPEG 抛出内存错误并中止编码过程。我启动了 Visual Studio 的诊断工具,它告诉我avcodec.dll持有所有内存,直到编码终止(和平地)才释放。执行分配调用的函数是 CVideoRecorder::Encode() 函数,该函数内部调用 avcodec_send_frame()。
H264 和 HVENC 在大约 300MB 的恒定内存消耗下工作正常。
我尝试在 VP9 编解码器上设置各种设置,例如比特率、cfr 和质量,但这些设置都没有以我可识别的方式改变行为。
video-streaming - "trackPublished" event not firing in twilio-video Javascript SDk
I have the following code:
According to the documentation, the "trackPublished" event is fired when a participant publishes media to a room and the "trackPublicationFailed" event is fired when the publication fails. However none of the events seem to fire in my case.
I can verify that the tracks were in fact published to the room and still the "trackPublished" event was not fired.
twilio-video at 1.6.1 Chrome: 63 Ubuntu: 16.04