我一直使用FFMPEG's color source生成静态黑色视频作为背景。这适用于较小和较短的视频,但我需要能够快速生成长1080p黑色视频。
例如,我可以使用以下方式生成两小时的1080p @ 30fps视频:
ffmpeg -f lavfi -i color=black:s=1920x1080:r=30 -t 7200 test.mp4
但这需要45分钟才能运行。
有些选项可以加快运行时间,例如使用ultrafast
预设:
ffmpeg -f lavfi -i color=black:s=1920x1080:r=30 -preset ultrafast -t 7200 test.mp4
运行大约需要20分钟。更好,但不足以做到这一点。
还有其他选项可以大幅加快运行时间吗?
直观地说,我正在生成静态视频,其中只有视频持续时间不同,所以看起来应该有一种仅受磁盘写入速度限制的方法。所有这些选项都是CPU密集型的,并且似乎进行了比我的用例所需的更多处理。
答案 0 :(得分:3)
使用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
...
条目数应等于final duration / 5
第3步:创建完整文件
ffmpeg -f concat -i full.txt -c copy full.mp4