我有 65 个名为 tape_01.mov、tape_02.mov、...、tape_65.mov 的 .mov 视频文件。每个大约 2.5 小时,占用许多 GB 空间。它们是 VHS 磁带(我家的“家庭电影”)的数字副本。
每个 2.5 小时的 .mov 视频文件都包含许多“章节”(从某种意义上说,有时场景以淡入黑屏结束,然后新场景淡入)。
我的主要目标是将 65 个大文件按章节切成小文件。我希望通过检测“场景”之间的黑框来自动完成。
我可以使用 ffmpeg(或任何东西)来传递 65 个原始文件名并让它自动迭代每个视频并将其切碎,命名生成的片段tape_01-ch_01.mov、tape_01-ch_02.mov、tape_01-ch_03.mov,等等?而且我希望它无需重新编码即可完成(我希望它是一个简单的无损切片)。
我怎样才能做到这一点?
以下是我想要的步骤:
- 遍历 .mov 文件文件夹(名为tape_01.mov、tape_02.mov、...、tape_65.mov)以将它们导出为 mp4 文件(名为tape_01.mp4、tape_02.mp4、...、tape_65.mp4) . 我希望这一步的压缩设置很容易配置。创建 .mp4 文件后,原始 .mov 文件应该仍然存在。
- 迭代 mp4 文件:对于每个 mp4 文件,生成一个文本文件,指定“场景”之间黑色段的开始时间和持续时间。每个 mp4 可以有 0 个或多个这些黑色场景中断。开始时间和持续时间应该精确到几分之一秒。HH:MM:SS 格式不够精确。
- 然后,我将能够手动仔细检查这些文本文件,以查看它们是否正确识别场景变化(黑色片段)。如果我愿意,我可以调整时间。
- 另一个脚本将读取每个 mp4 文件及其 txt 文件,并根据文本文件的行(此处指示的时间)将 mp4 拆分(以超快速和无损的方式)根据需要分成尽可能多的部分。分裂应该发生在每个黑色段的中间。这是一个示例 mp4 文件(出于隐私目的删除了音频),它具有淡入淡出的场景变化。在创建较小的 mp4 文件时,原始 mp4 文件应保持不变。较小的mp4文件应该有tape_01_001.mp4、tape_01_002.mp4、tape_01_003.mp4等命名方案。
- 奖金!如果另一个脚本可以遍历小的 mp4 文件并为每个文件生成一个 .png 图像,这是一个像这个人正在尝试的屏幕截图马赛克,那就太棒了:使用 FFmpeg 的视频的有意义的缩略图
我希望这些脚本是可以在 Mac、Ubuntu 和 Windows Git Bash …