我正在尝试将视频从我的摄像头编码到一个VP8流中。使用Chrome从我的网络摄像头发送一个WebRTC流看起来很不错,而且不需要太多的CPU能力。当我试图使用FFMPEG将我的网络摄像头流转换到VP8 (webm)时,它非常非常慢。
在OS上,我使用以下FFMPEG选项生成一个VP8 webm文件。源是720 p的Facetime摄像头。它耗尽了我的CPU使用量( 2011年底的核心i7 MBP),质量也不是很好:
ffmpeg -f avfoundation -i 'default' -y -qmin 11 -qmax 45 -b:v 500k -cpu-used 0 -deadline realtime test.webmWebRTC使用哪种协议? Chrome怎么能这么快?我的印象是VP8不可能在硬件上完成。使用现代英特尔CPU,您可以使用QuickSync,但我想这只是H.264,而不支持FFMPEG。
发布于 2015-02-25 03:07:43
这实际上是正常的。现在的WebM项目仍然相对较小,唯一的主要采用者是谷歌的YouTube流媒体服务。
使用WebM编解码器的VP8编码非常慢,但在消费者机器上,新的VP9编解码器甚至更加困难。对于谷歌庞大的服务器来说,这似乎不是什么大问题,但WebM视频高效压缩的主要好处是,对普通用户来说,它的衰落。
来自WebM项目站点:
编码WebM视频看起来真的很慢。你在做什么? 今天,在“最佳质量”模式下编码VP8是最慢的配置。>使用速度参数设置在0到5之间的“优质”模式将>提供一个速度范围。我们相信我们可以做出实质性的VP8 >速度改进,特别是在您的帮助下。我们在2010年10月的"Aylesbury“版本中提高了总体VP8 >解码器性能28%,并>专注于下一个命名版本的编码器速度改进。
希望这能有所帮助!
https://stackoverflow.com/questions/27554532
复制相似问题