我有几个 mp4 视频文件(H.264、AAC),我想从中剪掉开头和结尾的几秒钟。我为此使用了Quicktime Player 7
和MPEG Streamclip
。生成的文件要小一些,当使用 Quicktime 堆栈中的软件(Mac OS Finder 或应用程序本身)播放时,视频看起来应该正常。
但是,在使用 mplayer/ffmpeg 堆栈的软件(VLC
、XBMC
)播放时,我修剪掉的部分会显示出来。此外,当我使用 重新打包修剪过的文件时Mkvtoolnix
,生成的 mkv 会包含修剪过的部分。
那么,有没有一个程序可以修剪视频,以便两个堆栈都能正确显示修剪后的视频(我会尝试avidemux
,但还不行,因为我没有安装 Mountain Lion)?补充:在文件级别会发生什么,也就是说,修剪视频时到底会发生什么?
编辑:我忘了说这只适用于视频流。音频流被正确修剪,也就是说,修剪后的音频部分不会出现在重新打包的 mkv 中,VLC 也不会播放它们。
答案1
你应该尝试使用MP4盒如下:
MP4Box -splitz 10:200 file.mp4
这将尝试删除前 10 秒和第 200 秒之后的所有媒体,同时保留关键帧。如果第 10 秒不是以关键帧开始,它将使用前一个关键帧。可以使用以下方法找到其他拆分选项:
MP4Box -h general