FFmpeg批量合并文件夹内的视频

Dr.*_*ail 2 merge ffmpeg batch-file

我有一个文件夹,其中c:\myfolder\包含具有相同分辨率/编解码器的不同数量的mp4文件。

现在我需要一个 .bat 文件将所有视频合并为一个。

例如c:\myfolder\1.mp4, c:\myfolder\2.mp4, c:\myfolder\3.mp4进入c:\myfolder\output.mp4

我找到了一种方法来做到这一点,.txt首先创建一个包含所有输入视频的文件,然后在另一个步骤中执行此操作

ffmpeg.exe -f concat -i mylist.txt -c copy output.mp4
Run Code Online (Sandbox Code Playgroud)

问题:有没有一种方法可以一步完成此操作?

Dar*_*ger 5

对于使用 (Linux/Mac) 的用户bash,以下脚本可生成文件夹中所有文件的列表,然后将其全部合并到一个视频文件中:

#!/bin/bash
for filename in pieces/*.mp4; do
  echo "file $filename" >> concat-list.txt
done

ffmpeg -f concat -i concat-list.txt merged.mp4

echo "Concatenated videos list:"
cat concat-list.txt
rm concat-list.txt
Run Code Online (Sandbox Code Playgroud)

它从文件夹中获取所有mp4文件pieces/并将视频连接到merged.mp4文件中。

文件列表按字母顺序生成,因此如果您希望视频按特定顺序排列,请将其命名为等01-murder-scene.mp402-office-scene.mp4