我正在尝试将多个视频文件(.mov)拆分为30秒块。
我不需要指定 30 秒的开始或结束位置。
示例 - 单个 45 秒视频 (VID1.mov) 将分为 VID1_part1.mov(30 秒)、VID1_part2.mov(15 秒)。理想情况下,我也可以删除音频。
我尝试了一下,使用bash(osx),但没有成功。它没有将视频分成多个部分 - 相反,它似乎只是修改了原始文件(并将其长度设置为1-2秒):
find . -name '*.mov' -exec ffmpeg -t 30 -i {} -c copy {} ;
为此,您可以使用 FFmpeg 的段复用器。
ffmpeg -i input -c copy -segment_time 30 -f segment input%d.mov
根据视频关键帧的位置,每个片段不会从 mod 30 秒开始。为此,您必须省略-c copy
。
此外,FFmpeg 不执行就地编辑。您的 bash 脚本似乎也显示了输出的输入名称。那行不通。