FFMPEG执行非常缓慢

时间:2016-04-27 20:59:25

标签: shell ffmpeg video-processing centos7

我正在尝试设置媒体处理服务器。我已经为FFMPEG做了很多研究,并写了一个命令。命令如下。

ffmpeg -y -i "bbb_sunflower_2160p_60fps_normal.mp4" -c:v libx264 \
-threads 7 -profile:v main -preset ultrafast -vf scale=1920:-1 \
"process/video/1080p.mp4" -c:v libx264 -threads 7 -profile:v main \
-preset ultrafast -vf scale=1280:-1 "process/video/720p.mp4" -c:v \
libx264 -threads 7 -profile:v main -preset ultrafast -vf \
scale=854:-1 "process/video/480p.mp4" -vf fps=5/60 \
process/image/thumb_%d.jpg

此命令可以正常运行并运行,但速度很慢。我的服务器专门用于运行ffmpeg,具有以下规范:

12核心英特尔至强X5650(启用超线程)
64 GB ECC DDR3 RAM
250 GB SSD驱动器

但是当我使用这个命令时,服务器CPU负载大约挂起250-300%,我希望它在处理视频时挂起2000%左右。目前,在处理视频时,服务器每秒渲染大约17帧。这将花费很长时间来处理一个60fps的10分钟视频。

3 个答案:

答案 0 :(得分:3)

这是缩放器。 ffmpeg中的缩放器是单线程的,它是具有许多线程的系统的瓶颈。尝试为每个输出运行不同的进程。

答案 1 :(得分:1)

如果您正在运行Windows,请再次尝试禁用防御程序(以及任何其他病毒检查程序)。它可以产生巨大的差异。 请告诉我们结果......

这对我来说在Windows 10机器上运行(然后处理速度提高了十倍),因此可以解决上述问题。不要求澄清(任何形式),但知道它是否有帮助会很好。

答案 2 :(得分:0)

这是一个非常复杂的命令行,几乎没有有用的信息。例如,您没有提供FFmpeg stdout / stderr(其中包含大量有用信息)。可能的原因:

  • 视频编码太慢了(尝试1编码而不是3,没有屏幕截图)
  • 也许你的瓶颈是音频(用-an测试)
  • 别的什么?

我建议您测试更简单的版本并提供stdout / stderr。