我需要剪掉视频的某些部分(当然还有相关的音频)来制作一个短片。例如,从一个位置剪掉 2 分钟,从视频的另一部分剪掉 3 分钟,从另一个位置剪掉 30 秒,然后将它们全部拼接起来形成一个短片。输入视频的格式为 mp4(H.264 编码,AFAICR)。
不需要非常复杂的合并或从一个部分到另一个部分的转换,或者屏幕上复杂的横幅(文本),但这样做的能力将是一个加分点。
我以前用 iMovie 做过这个,但原始文件的播放时间低于 5MB/分钟,而切碎版本的播放时间超过 11MB/分钟,在我看来这真的很糟糕。
在 OS X 上有没有更好/不同的方法可以做到这一点?
寻找免费的解决方案。
操作系统:OS X 10.9.3
答案1
我最终使用命令行中的 ffmpeg 来进行必要的剪辑。
在对该网站进行一些研究并尝试了一些更简单的命令后,我得出了以下命令:
ffmpeg -ss 00:01:00 -i input.mp4 -ss 00:02:00 -c copy -to 00:05:10 \
output.mp4
据我了解,使用此命令,ffmpeg 基本上会将剪辑的一部分从 input.mp4 复制到 output.mp4(无需重新编码)。ffmpeg 快速搜索到 1 分钟标记(第一个-ss 00:01:00
),然后开始寻找关键帧,并将剪辑从 3 分钟(由第二个-ss
选项给出)输出到剪辑中的 6 分钟和 10 秒(由指定-to 00:05:10
)。因此,这会输出一个 3 分 10 秒长的剪辑(5:10 - 2:00)。
笔记:-ss
第二个选项和该选项给出的时间-to
是相对于第一个选项给出的时间的-ss
。
要了解有关这些和其他选项的更多信息,请参阅问题的出色答案使用 ffmpeg 剪切视频。
这种方法出奇地快(10-15 秒),但剪辑的前 2-3 秒声音正常,但没有相应的视频。在最初的 2-3 秒之后,声音和视频质量似乎与原始质量没有区别。
删除该-c copy
部分也解决了这个问题。这确实意味着视频将被重新编码——这需要更长的时间(我的 2011 年末 13 英寸 MacBook Pro 占用了剪辑运行时间的 80-90%)——但音频和视频质量非常好,文件大小小于原始文件(以播放MB/min计算)!
所以我最终确定的命令是:
ffmpeg -ss 00:01:00 -i input.mp4 -ss 00:02:00 -to 00:05:10 -strict -2 \
output.mp4
该-strict -2
部分是根据 ffmpeg 的建议添加到命令中的,因为对 X.264 编码的支持仍处于试验阶段,
为了使用 ffmpeg,我从以下网址下载了预编译的 ffmpegffmpegmac.net,把它放在我已经知道的目录中PATH
,就可以开始了!
答案2
QuicktimeSplit
和Trim
功能可用于快速缩小视频片段的大小。
如果所有片段都来自同一个文件,则可以轻松使用 Quicktime 来分割、重新排列和修剪剪辑:
在 Quicktime 中打开原始剪辑,将第一个剪辑的位置至少向前提示一帧,在菜单下Edit
,Split Clip
将取消灰色。 Cmd-Y是快捷方式。QT 的控制面板将切换到剪辑视图模式,显示两个附加剪辑,并在播放头的当前位置进行划分,两个剪辑都以黄色突出显示。要在操作后删除不需要的剪辑Split Clip
,请单击时间线中的剪辑以突出显示它,然后单击Backspace,或选择菜单下常见的功能之一Edit
。在“剪辑视图”模式下,可以拖放剪辑以重新排列其顺序。完成剪辑分割后,单击Done
右侧的按钮以恢复正常的 QT 操作。
接下来,是时候选择Save
当前格式的文件、Export
不同分辨率的文件或Share
使用其中一种服务的文件了。后两者位于菜单下File
,但Save
明显缺失:不用担心……只需单击编辑剪辑窗口左上角的红色 X 即可关闭窗口。这将打开熟悉的Save
对话框,我以这种方式保存的 A/V 文件保留了原始剪辑的所有属性。 Exporting
或者Sharing
更有可能导致视频重新采样,并且可能像您的视频一样增大。
答案3
Nevin 的回答很棒,但我觉得在分割这些剪辑时如何减轻负担方面还有一点改进空间。
这是我整理的一份教程,其中说明了这一点。也就是说,关键在于将较短的片段单独剪切成一个新文件,然后保存它们。