【问题标题】:FFMPEG slow VP8 encodingFFMPEG 慢速 VP8 编码
【发布时间】:2014-12-18 19:49:15
【问题描述】:

我正在尝试将网络摄像头中的视频编码为 VP8 流。使用 Chrome 从我的网络摄像头发送 WebRTC 流看起来不错,并且不会使用大量 CPU 资源。当我尝试使用 FFMPEG 将我的网络摄像头流转码为 VP8 (webm) 时,速度非常非常慢。

在 OS X 上,我使用以下 FFMPEG 选项生成 VP8 webm 文件。来源是 720p Facetime 网络摄像头。它耗尽了我的 CPU 使用率(2011 年末的核心 i7 MBP)并且质量不是很好:

ffmpeg -f avfoundation -i 'default' -y -qmin 11 -qmax 45 -b:v 500k -cpu-used 0 -deadline realtime test.webm

WebRTC 使用哪种协议,Chrome 怎么能这么快?我的印象是 VP8 不能在硬件中完成。使用现代 Intel CPU,您可以使用 QuickSync,但我猜这只是 H.264,FFMPEG 不支持。

【问题讨论】:

  • Chrome 可能正在使用硬件加速编码。另外,您的 VP8 编码设置和帧大小/速率是多少?您的编码设置和视频质量可能会影响速度(取决于您的计算机硬件)。
  • 我添加了我的 FFMPEG 字符串。我不认为 VP8 可以在硬件中完成。
  • Chrome 会根据您的 chrome 版本、操作系统和底层硬件进行硬件加速编码/解码。
  • @RamondeKlein 现代英特尔硬件确实支持 QuickSync 中的 VP8。
  • 确实如此,但这绝对不是桑迪桥的事情。更不用说在 OSX 上,其制造商的无限智慧甚至没有 recognize VP 编解码器。 Chrome 应该有 been 只是 using 正常的 libvpx,所以我的教育猜测只是 OP 没有正确的 parameters

标签: google-chrome webrtc webm vp8


【解决方案1】:

这其实很正常。目前WebM Project 仍然相对较小,唯一的主要采用者是 Google 的 YouTube 流媒体服务。

WebM 编码 [使用 VP8 编解码器] 非常慢,但不知何故,较新的 VP9 编解码器在消费类机器上更加困难。对于 Google 的大型服务器来说,这似乎不是什么大问题,但 WebM 视频 [其高效压缩] 的主要好处是它对普通用户的影响。

来自 WebM 项目网站:

编码 WebM 视频似乎真的很慢。你在做什么?

今天,以“最佳质量”模式编码 VP8 是最慢的配置。 >使用速度参数设置在 0 和 5 之间的“优质”模式将 >提供一系列速度。我们相信我们可以大幅提升 VP8 的速度,尤其是在您的帮助下。我们在 2010 年 10 月的“Aylesbury”版本中将整体 VP8 >解码器性能提高了约 28%,并且 >我们将重点放在下一个指定版本的编码器速度改进上。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2017-12-04
    • 2018-06-06
    • 2017-01-08
    • 1970-01-01
    • 1970-01-01
    • 2021-10-07
    • 2015-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多