如何合并文件夹中的所有视频以使用 FFMPEG 制作单个视频文件

新手上路,请多包涵

我有一个包含 20 多个视频文件的文件夹,我需要将它们合并以制作一个长视频文件。如何在 Python 中使用 FFMPEG 实现此目的?

我知道以下命令

ffmpeg -vcodec copy -isync -i \ "concat:file1.mp4|file2.mp4|...|fileN.mp4" \

输出文件.mp4

但我不想键入 20 多个文件的所有名称。

原文由 X_1 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 711
1 个回答

这就是我最终使用的……

 find *.mp4 | sed 's:\ :\\\ :g'| sed 's/^/file /' > fl.txt; ffmpeg -f concat -i fl.txt -c copy output.mp4; rm fl.txt

它的丑陋让我很痛苦,但它似乎工作正常并且它处理文件名中的空格。另外,不确定为什么 OP 会询问 python - 当一些肮脏的旧 bash/sed 可以解决问题时,不需要使用像 python 这样可爱的东西! ;)

ps:我知道这是一篇旧帖子,但如果谷歌搜索“ffmpeg concat”把我带到这里,它可能也会把其他可怜的人带到这里。请注意,只有当您的所有文件都具有相同的设置/编解码器时,以上内容才可能有效。

pps:@Stackdave 说他当天设法用这个删除了他的视频文件夹!我真的不知道那是怎么发生的,从那以后我就没有抱怨过,但一如既往地复制和粘贴你在互联网上找到的 bash 的随机片段 Caveat Emptor!

原文由 Roger Heathcote 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题