我最终从命令行使用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 /分钟的播放速度计算)!
因此,我确定的最终命令是:
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,我从ffmpegmac.net下载了预编译的ffmpeg ,并将其放在一个我已经知道可以开始使用的目录中PATH
!
-c copy
,则应使用此处提到的选项:trac.ffmpeg.org/wiki/Encode/H.264,基本上是这样-crf 23
,并选择一个较低的值以获得更好的质量(合理的值) 18–28之间)。