该死,ffmpeg 的参数、文档甚至错误输出都令人困惑。我想要的是按照“input.txt”中的顺序将图像组装成视频文件。有人告诉我使用 concat demuxer较早,但如何指定帧速率?
那个人给我的命令是ffmpeg -f concat -i input.txt -vf format=yuv420p -movflags +faststart output.mp4
。由于我一直在没有 的情况下组装图像-movflags +faststart
,因此我省略了这些以便进行更简单的测试。
我使用了图片的完整路径,不知何故导致了安全问题。我在 Google 上搜索后发现需要添加-safe 0
。因此,我尝试了ffmpeg -f concat -framerate 30 -safe 0 -i input.txt -vf output.mp4
,但结果导致:
未找到选项帧速率。
为什么参数这么复杂?简而言之,我想要做的是:
- “input.txt”
file 'full png path'
每行包含一个。 - 使用“input.txt”作为输入。
- 输出帧率为30
- 输出文件名为“output.mp4”(视频格式为mp4)
- 除以上之外,使用默认设置
对此正确的 ffmpeg 参数是什么?
答案1
该-framerate
选项特定于那些不存储帧速率的输入格式,例如原始流或图像序列。
对于您来说,您可以在过滤的同时重新定时帧。
ffmpeg -f concat -safe 0 -i input.txt -vf "settb=AVTB,setpts=N/30/TB,fps=30" output.mp4