问题标签 [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 投票
1 回答
2149 浏览

ffmpeg - 如何从 WebM 文件中提取原始 VP9 流?

有没有办法从 WebM 文件中提取 VP9 视频流?只是原始的 VP9 编码数据?我的意思是您通常用作 VP9 解码器输入的数据?

哪种工具最适合执行此操作?ffmpeg?

0 投票
0 回答
853 浏览

video - Android 上的 VP8/VP9 硬件编码是否可能具有错误恢复能力?

我尝试使用 MediaCodec 类编码为 VP8/VP9。基本上这是可行的,但使用 UDP 传输生成的数据会在解码时产生许多伪影。这是因为有一些数据包丢失。

我知道 vpxenc 可以选择启用错误恢复。MediaCodec 中是否有此选项?我的希望是减少伪影。我找到了 KEY_INTRA_REFRESH_PERIOD 选项,但我尝试过的设备上的 VP8/VP9 似乎不支持它。

我的设置是:Sony Xperia XZ Premium(Qualcomm MSM8998 Snapdragon 835,Adreno 540)。我使用 MediaCodec 对 VP8/VP9 进行编码,并将数据作为 UDP 数据包传输到运行 ffplay (ffplay udp://0.0.0.0:6000) 或 vlc 的 PC。我在发送前将数据放入 ivf 数据包中。

我还想知道尝试使用 MediaCodec 进行编码是否是一个好主意。我想做的应用程序类似于视频通话应用程序。我对 MediaCodec 输出的编码质量的第一印象并不好。当使用 500kBit 和 640x480 编码时,结果不是很好。尤其是移动凸轮时,质量会大幅下降(h264 也是如此)。我应该更好地直接使用 vpx 库吗?

0 投票
0 回答
821 浏览

ffmpeg - ffmpeg 和 x265 < ProRes 的最快搜索速度和解码

我正在尝试使用 x265 优化寻道速度。无论我尝试什么编码设置,ProRes 仍然会更快/更优雅地搜索。这是有道理的,因为它是为编辑而构建的,但我确信我必须缺少一些东西来更好地改进 x265。

到目前为止,-tune fastdecode、keyint=1、maxrate 和 -b(去除 B 帧计算)产生了最好的结果,但仍然不能令人满意。我一直在翻阅文档,但是有太多我不明白的行话。也许另一个像 VP9 / WebM 这样的编解码器会更好地达到这个目的?

据我所知,CPU、读取速度或 RAM ……或 GPU 没有瓶颈。监控这些过程显示出最小的消耗。像 x265 这样的高度压缩格式中是否存在无法规避的解码量?

预先感谢您的帮助。

0 投票
1 回答
597 浏览

ffmpeg - ffmpeg vp9未设置恒定质量

我正在运行 ffmpeg 将 4k hevc 视频转换为 vp9,但无论我使用什么设置,它总是会出现可怕的质量和相同的文件大小。

命令:

我在 docker 上使用 ffmpeg:latest。

0 投票
0 回答
127 浏览

video - VP9 的每帧元数据

我有一个图像流,我将在 VP9 中编码并存储在像 matroska (mkv) 这样的容器中。流中的每个图像都有一个与之关联的元数据,我们可以将其假设为一个字节数组。在最终视频文件中关联每帧元数据的好方法是什么?

  1. 是否可以将此元数据存储为 vp9 编码视频流的一部分?
  2. 我应该使用 mkv 容器的字幕流作为我的元数据流吗?
0 投票
1 回答
641 浏览

video - 将 YUV420 帧编码为 VP9

如题,

我正在从 IP 摄像机中提取帧。我将输入的原始数据转换为 YUV420 格式,并希望将 YUV420 编码为 VP9,并将帧保存为 .webm 格式。我能做到吗?还是应该输入 BGR444 格式进行编码?

顺便说一句,设置编码vp9的参数。av_dict_set()设置参数的功能是否正确?

例如:(http://wiki.webmproject.org/ffmpeg/vp9-encoding-guide

编辑:wiki 使用 2 pass 来设置参数,我可以用 1 pass 做吗?

Edit2:Blow 代码似乎正在工作,想知道如何降低视频 (vp9) 的大小?目前,我的大小与使用 h264 编码器相似。

更新1:YUV420P可以编码为VP9!

0 投票
1 回答
819 浏览

android - 从 iOS 应用程序调用时,Android 上的本机 Web RTC 视频通话冻结

我们正在使用 WebRTC 技术在 Android 和 iOS 应用程序上实现视频通话。

我们也在网页浏览器上实现,并成功从chrome调用android,chrome调用iOS。

但是,当我们从 iOS 本地呼叫到 Android 本地时,视频通话总是在大约 2 分钟后冻结。音频仍在工作,但视频流冻结。

我们非常努力地研究了这个问题,即使我们尝试按照本文所述修改 Offer & Answer 的 SDP 内容(https://medium.com/@fippo/when-a-browser-update-breaks-your-native-app- for-a-change-3845b30ea185)。

我们还认为问题的原因可能是 iOS 的 H264 编解码器,因此我们尝试将 SDP 内容中的 VP9 替换为 H264,如下面的代码,但没有成功。

我们需要实现这个视频通话功能,让应用业务可以从iOS调用Android,反之亦然。

我们认为 WebRTC 是非常好的技术,但也许我们对它的规范还不够了解。

因此,如果您知道任何信息,请帮助我们。

我们非常感谢您的帮助。

0 投票
1 回答
1118 浏览

ubuntu - ffmpeg avcodec_open2() 仅在 ubuntu 中返回错误 -22

如题,

我正在使用 ffmpeg 在 Mac 上开发一个项目。它在我的 Mac 上运行,将帧编码为 vp9 和 vp8。但是当我在 ubuntu 中的 docker 映像上运行它时,函数avcodec_open2()返回-22错误。(仅适用于 vp9&vp8,h264 有效)。

我想知道错误是否来自设置参数部分?但是让它在mac上运行但在ubuntu中运行仍然很奇怪。

有没有人有类似的经历?

编辑:有谁知道ffmpeg-linux是否使用不同的参数名称从其他平台(如Mac)进行设置?

Eidt2:似乎即使我没有设置任何选项参数,它仍然给我-22错误。前任:ret = avcodec_open2(c, codec, NULL)

0 投票
0 回答
505 浏览

webrtc - 最新的 chrome 在 webrtc 环境下是否支持 vp9 svc?

我读了一篇关于联播、svc 和编解码器的文章(2018 年 10 月)。文章说,

目前,WebRTC 环境中的当前编解码器不支持 SVC。VP9(VP8 的后继产品)和 H265(H264 的后继产品)正在支持它。当编解码器成熟并且 WebRTC 能够支持 SVC 时,这将是向前迈出的一大步。我们正在密切关注何时可以开始使用它。在那之前,我们将使用 Simulcast。

那么,最新的chrome浏览器现在不支持webrtc环境下的vp9 svc了吗?

0 投票
1 回答
1594 浏览

ffmpeg - ffmpeg 编解码转换;无法配置编码器

我只是想将我拥有的 vp9 webm 转换为 vp8 webm。这是我正在使用的命令。

vp8 编码器返回一个奇怪的错误

如果我对我是否安装了正确的编码器和解码器有任何疑问,则输出ffmpeg -codecs | grep "vp[8-9]"