Step1
先生成txt文件路径文件映射信息:
Windows
bash
(for %i in (*.jpg) do @echo file '%i') > tmp.txt
Linux
bash
for f in *.jpg; do echo "file '$f'"; done > tmp.txt
Step2
使用生成tmp.txt文件生成视频
bash
ffmpeg -f concat -safe 0 -i tmp.txt -r 30 -c:v libx264 output.mp4
参数解释
| 参数/选项 | 解释 |
|---|---|
-f concat |
指定使用 concat 分离器(demuxer),表示要通过一个文件列表来合并多个媒体文件。 |
-safe 0 |
允许处理"不安全"的文件路径(例如相对路径或包含特殊字符的路径)。通常在使用相对路径的文件列表时需要加上此参数。 |
-i tmp.txt |
指定输入文件。这里的输入不是直接的媒体文件,而是一个名为 tmp.txt的文本文件,其中包含了需要合并的所有文件的路径和名称。 |
-r 30 |
设置输出视频的帧率为 30 fps。这会将所有输入视频统一到或转换为每秒30帧的速率。 |
-c:v libx264 |
指定视频流的编码器。-c:v是 -vcodec的简写,libx264表示使用 H.264 编码器对视频流进行重新编码。 |
output.mp4 |
指定合并后输出的文件名。 |