我正在做一个项目,需要快速转换大量视频,并且质量要好。我决定使用ffmpeg和V8由于编解码器的许可而进行编码。264 版本由于其专利,所以不是一种选择。
我最终选择了这个命令:
ffmpeg -y -i video.avi -b:v 2M -pix_fmt yuv420p -threads 8 -cpu-used 2 -movflags +faststart -vcodec libvpx -an -r 30 temp/video.webm
该命令看上去运行良好。但我有一个问题。视频处理耗时非常长。速度通常从 0.300 倍开始,但很快降至 0.092 倍左右。
供您参考,我使用的视频帧率为 30FPS,分辨率为 720p,时长仅为 9 分钟。
我尝试设置比特率(乙:) 更改为更低的值(甚至 1K!)并尝试了各种奇怪而复杂的参数,但并没有改变任何东西。
这也不可能是 CPU 问题;转换为264 版本一直运行良好。
我现在不知道该怎么做。我真的不想改变编解码器或降低质量。这可能是 V8 编码器的错误(但我想知道为什么降低比特率没有加快速度)。
我希望有人能给我一些建议,告诉我如何改进我的命令,或者至少告诉我为什么它这么慢。提前谢谢!