【问题标题】:FFMPEG PERFORMING VERY SLOWFFMPEG 执行非常缓慢
【发布时间】:2016-08-22 09:33:01
【问题描述】:

我正在尝试设置媒体处理服务器。我对 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 内存
250 GB SSD 驱动器

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

【问题讨论】:

    标签: shell ffmpeg video-processing centos7


    【解决方案1】:

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

    【讨论】:

    • 也许,在单个过滤器复合体中执行所有缩放,然后使用 tee muxer 输出单独的文件可能会有所帮助。
    【解决方案2】:

    如果您正在运行 Windows,请在禁用 Defender(和任何其他病毒检查程序)的情况下重试。它可以产生巨大的影响。 请告诉我们结果...

    这在 Windows 10 机器上对我有用(然后处理速度提高了十倍),因此是上述问题的可能答案。不要求(任何形式的)澄清,但如果它有帮助会很高兴。

    【讨论】:

      【解决方案3】:

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

      • 视频编码太慢了(尝试 1 编码而不是 3,不带屏幕截图)
      • 也许您的瓶颈是音频(使用 -an 测试)
      • 还有别的吗?

      我鼓励您测试更简单的版本并提供标准输出/标准错误。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-10
        • 2015-10-15
        • 1970-01-01
        • 1970-01-01
        • 2010-10-24
        • 2014-05-25
        相关资源
        最近更新 更多