一个输出包含多个文件

一个输出包含多个文件

我想要对许多 MP4 文件进行一次输出,此代码分别输出每个文件:

for i in *.MP4; do
  ffmpeg -i "$i" "${i/%MP4/ass}"
done

谢谢

答案1

可能重复:https://stackoverflow.com/questions/7333232/how-to-concatenate-two-mp4-files-using-ffmpeg/11175851

在简历中,你要做的是:

$ cat mylist.txt
file '/path/to/file1'
file '/path/to/file2'
file '/path/to/file3'

$ ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.mp4

附言:

要创建列出所有 .mp4 输入的文件,您可以在包含所有文件的目录中使用此命令:

(编辑:感谢 dessert 在评论中提供更好的命令行)

printf "file '%s'\n" *.MP4 > mylist.txt

总结:

一个 bash 行解决方案(感谢 dessert):

ffmpeg -f concat -safe 0 -i <(printf "file '%s'\n" *.MP4) -c copy output.mp4

如果您只想检索所有字幕,请更改输出文件的扩展名:

ffmpeg -f concat -safe 0 -i <(printf "file '%s'\n" *.MP4) -c copy output.ass

相关内容