问题标签 [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.

0 投票
5 回答
507 浏览

h.264 - 编解码器比较压缩/质量

因此,我正在从我的文件存档中重建我的视频库(我的 DVD/Bluray 已经在我的磁盘上解码)并且我想确保我拥有最优质的文件和压缩。我知道无损对于节省空间并不实用,但我确实想要无法区分的视频/音频质量。我正在使用 VidCoder,到目前为止,我一直在比较视频编解码器之间的质量和文件大小。我正在考虑使用 VP9,我知道 AV1 很快就会出来,我会再次重建它然后使用它。对于音频,我正在考虑使用 FLAC(我真的很喜欢 FLAC,并且已经将它用于我的数字 CD 存档)。那么你们认为哪个最适合我想要的呢?哦,我不在乎兼容性。

0 投票
0 回答
651 浏览

javascript - 混合音频和视频以供下载

有没有办法只使用 JS 将视频文件 (VP9) 与音频文件 (VORBIS 或 OPUS) 混合在一起?

我正在阅读WebM 项目网站,它似乎是基于 Python 的?

我确实遇到了这个 Git 存储库。但是我有点难以理解文档;从我的挖掘来看,我不相信 mp4 与 VP9 兼容。

那么,是的,是否有一种方法可以将视频文件(VP9)与音频文件(VORBIS 或 OPUS)混合使用,只使用 JS?或者一种至少将这些格式转换为可以使用 JS 进行复用的格式的方法?

我也刚刚找到了另一个 Git Repository,但我还不确定它是否符合我的要求。

0 投票
0 回答
461 浏览

video - ffmpeg 可以从 VP9 视频中提取运动矢量吗?

如果可以,运动矢量是否与 H264 中的运动矢量相似?

我问是因为我可以运行类似的命令

然后用 VLC 查看它并查看叠加在视频上的运动矢量。如果我尝试使用 VP9 编码的视频,我将看不到它们。

0 投票
1 回答
159 浏览

algorithm - VP9中使用的快速运动估计算法?

我正在尝试找出 vp9 中使用的快速运动估计算法,请帮助我。尽管它是开源的,但没有可用的文档,但我找不到任何相关的东西。

0 投票
1 回答
571 浏览

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.

0 投票
0 回答
893 浏览

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 天时间,从其他沮丧的采用者那里阅读了网络上的所有内容,但没有选择。我真的很感激一些专业提示!谢谢!

0 投票
1 回答
2645 浏览

gstreamer - Gstreamer videoconvert 颜色转换错了?

我正在启动一个gst-launch-1.0使用nvgstcamera. 图像被编码为 VP9 视频。视频被tee发送到filesink将视频保存在 webm 容器中的 VP9 解码器,将图像通过管道传输到appsink.

稍后,我想从保存的视频中提取帧并再次通过应用程序运行它们。appsink重要的是,这些帧与在视频捕获期间通过管道传输到的帧完全相同。

不幸的是,解码后的帧看起来略有不同,具体取决于您提取它们的方式。

一个最小的工作示例:

记录:

重放nvvidconv元素:

重放videoconvert元素:

测试图像差异:

nvvidconv:nvvidconv

视频转换:视频转换

我的猜测是这与 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 特定插件?

0 投票
0 回答
242 浏览

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 和质量,但这些设置都没有以我可识别的方式改变行为。

0 投票
1 回答
607 浏览

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

0 投票
1 回答
1810 浏览

ffmpeg - ffmpeg prores with alpha to webm vp9 呈现灰色

我一直在尝试将以 ProRes 4444HQ 编码的视频转换为 webm vp9。我创建了一个示例视频,其中包含 50% 的透明正方形。它应该如下所示:

我想要的是

但它看起来像这样:

我得到了什么

这是我转换视频的方式:

ffmpeg -i square.mov -c:v libvpx-vp9 -b:v 0 -crf 31 square.webm

我尝试过改变色彩空间并选择不同的配置文件,但我似乎无法摆脱灰色阴影。它与从 yuva 到 rgba 的转换有关吗?