Video 如何使用FFMPEG加速黑色视频创建?

Video 如何使用FFMPEG加速黑色视频创建?,video,ffmpeg,Video,Ffmpeg,我一直在生成静态黑色视频作为背景使用。这适用于较小和较短的视频,但我需要能够快速生成较长的1080p黑色视频 例如,我可以生成一个两小时长的1080p@30fps视频使用: ffmpeg -f lavfi -i color=black:s=1920x1080:r=30 -t 7200 test.mp4 但这将需要超过45分钟来运行 有一些选项可以加速运行时,例如使用超快预设: ffmpeg -f lavfi -i color=black:s=1920x1080:r=30 -preset ult

我一直在生成静态黑色视频作为背景使用。这适用于较小和较短的视频,但我需要能够快速生成较长的1080p黑色视频

例如,我可以生成一个两小时长的1080p@30fps视频使用:

ffmpeg -f lavfi -i color=black:s=1920x1080:r=30 -t 7200 test.mp4
但这将需要超过45分钟来运行

有一些选项可以加速运行时,例如使用
超快
预设:

ffmpeg -f lavfi -i color=black:s=1920x1080:r=30 -preset ultrafast -t 7200 test.mp4
运行大约需要20分钟。更好,但还不够好,不足以做这件事

是否有其他选项可以大幅提高运行速度?

直观地说,我正在生成一个只有视频持续时间变化的静态视频,因此似乎应该有一种仅受磁盘写入速度限制的方法。所有这些选项都是非常CPU密集型的,并且似乎比我的用例需要做的处理更多。

使用concat demuxer

步骤1生成黑色短片

ffmpeg -f lavfi -i color=black:s=1920x1080:r=30 -t 5 -x264opts stitchable black.mp4
步骤2创建文本文件-
full.txt

file black.mp4
file black.mp4
file black.mp4
file black.mp4
file black.mp4
file black.mp4
...
条目数应等于
最终持续时间/5

步骤3创建完整文件

ffmpeg -f concat -i full.txt -c copy full.mp4
使用concat解复用器

步骤1生成黑色短片

ffmpeg -f lavfi -i color=black:s=1920x1080:r=30 -t 5 -x264opts stitchable black.mp4
步骤2创建文本文件-
full.txt

file black.mp4
file black.mp4
file black.mp4
file black.mp4
file black.mp4
file black.mp4
...
条目数应等于
最终持续时间/5

步骤3创建完整文件

ffmpeg -f concat -i full.txt -c copy full.mp4

成功了!我能够用这种方法在15秒内编码一个2小时的视频。成功了!我能够用这种方法在15秒内对2小时的视频进行编码。