我想要对许多 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