我在 HP Pavillion dv3 上运行 Ubuntu 10.10 (maverick),该电脑配有 core2duo 2.29 GHz、NVidia Geforce G105M (512MB) 和 CUDA 以及 4GB RAM。我拥有最新版本的 ffmpeg 和 x264。
我认识到这些对于编码来说并不是很出色的规格,但我习惯在一台(不同的)单核 PC(大约 2GHz 处理器)上使用 DIVX 进行编码,并且能够在一夜之间转换 10 多个小时长的电视剧集。
我刚刚开始在上述 HP 笔记本电脑上使用 x264 和 ffmpeg 进行编码,我惊讶地发现一部 2 小时的电影竟然花了 22 小时来编码!
我使用的命令行是:
ffmpeg -i infile.mpg -vcodec libx264 -preset slow -profile normal -crf 24 -threads 0 outfile.mp4
这是正常的吗,还是我在某个地方遇到了瓶颈?
谢谢
答案1
嗯,它只是 Core 2 Duo。当然,i7 的性能会更好。遗憾的是,拥有 CUDA 也无济于事,因为 x264 不支持 GPU。此外,编码 h.264 的计算量比“仅仅”编码为 MPEG-4 Visual DivX 要大得多。
话虽如此,x264 是一个非常快的编码器,事情是这样的。你看到-preset slow
?您实际上是在告诉编码器要慢下来。
x264 中的预设可实现不同的算法优化,从而以相同的比特量获得更好的质量,或者以固定的质量花费更少的比特量。因此:压缩效率。通常,预设越慢,优化效果越好,但计算时间也越多。
您可以选择其他预设,如中所述x264 --fullhelp
,例如:
- 超快
- 超级快
- 非常快
- 快点
- 快速地
- 中等(默认)
- 慢的
- 慢点
- 非常慢
选择最适合的一个,即你能够等待的一个。