【发布时间】:2017-09-22 13:42:50
【问题描述】:
我需要使用 ffmpeg 将 MP4 转换为 webm。 所以,我使用:
ffmpeg -i input.mp4 -c:v libvpx -crf 10 -b:v 1M -c:a libvorbis output.webm
但是很长。
有更快的吗?
【问题讨论】:
-
你的
mp4视频的长度是多少? -
100Mo 和 1000Mo 之间
我需要使用 ffmpeg 将 MP4 转换为 webm。 所以,我使用:
ffmpeg -i input.mp4 -c:v libvpx -crf 10 -b:v 1M -c:a libvorbis output.webm
但是很长。
有更快的吗?
【问题讨论】:
mp4视频的长度是多少?
libvpx 是一个相对较慢的编码器。根据VP8 Encode Parameter Guide: Encode Quality vs. Speed,您可以使用-cpu-used 选项来提高编码速度。值越高,编码速度越快,但质量越低:
将值设置为 0 将提供最佳质量的输出,但 非常慢。使用 1(默认)或 2 将给出更显着的 提高编码速度,但将开始有更明显的 对质量的影响,也可能开始影响测量的准确性 数据速率控制。将值设置为 4 或 5 将关闭“速率 失真优化”,这对质量有很大影响,但也 大大加快了编码器的速度。
另外,VA-API 似乎可以用于硬件加速的 VP8 编码,但我没有这方面的经验。
【讨论】:
kill <ffmpeg pid>。有关相关信息,请参阅Is there a way to pause and resume FFmpeg encoding? 我假设您使用的是 Linux,因为您没有指定。如果它是另一个操作系统,您应该在Super User(或Stack Overflow,如果问题涉及编程)提出新问题。