如何使用终端将当前目录及其子目录中的所有 mp4 文件合并为一个 mp4 文件?

如何使用终端将当前目录及其子目录中的所有 mp4 文件合并为一个 mp4 文件?

如何将当前目录及其子目录中的所有 mp4 文件合并为一个 mp4 文件,最好按照我在此目录中运行命令时文件出现的顺序ls

也许可以使用来实现ffmpeg

答案1

您可以先列出mp4_list.txt当前目录及其子目录中的 mp4 文件 ():

find "$(pwd)" -type f -name '*.mp4' -printf "file '%p'\n" | tee mp4_list.txt

然后使用 的ffmpegconcat复用器将所有 mp4 文件合并mp4_list.txt到一个output.mp4文件中:

ffmpeg -f concat -i mp4_list.txt -c copy output.mp4

ffmpeg我在SuperUser中找到了上述命令:在 Linux 中合并 mp4 文件

如果出现错误提示Unsafe file name,请在上面的命令-safe 0之前添加。请参阅此 Stack Overflow 答案:-iffmpeg concat:“不安全的文件名”

相关内容