我如何裁剪(时间不是图片)MP4视频文件


17

我正在寻找一个应用程序来帮助我高效无损地分割mp4文件的开头和结尾。

例如,是否有某些东西可以让我找到关键帧并在该关键帧和另一个关键帧之间复制批次,而无需重新编码批次(缓慢且有损),而又不会丢失AV同步?

所谓mp4,是指MP4容器中的H264视频+ AAC音频

在h264之前的日子里,Avidemux就是一个出色的工具,因为您可以重复使用原始的编码流,这不会造成任何损失,并且只需花费几秒钟即可创建修剪后的版本,但是对于h264来说,它是无可救药的-打开一个按钮会给您两个选择:使用安全模式(会严重丢失AV同步)或使用危险模式立即将其崩溃。

AFAIK,Openshot,Kdenlive,Pitivi等都将通过解码和重新编码(慢速和有损)来做到这一点。

似乎很简单(这里可能显示出我的知识不足!),所以想知道我是否缺少某些东西。


如果你需要砍视频的结尾,请参阅我介绍了另一个话题了答案:askubuntu.com/questions/412558/...
v010dya

2
superuser.com/questions/377343/…相关性很好,并提供了与下面类似的解决方案,但增加了一些有用的信息。
pbhj 2015年

Answers:


24

ffmpeg

ffmpeg -i source.mp4 -ss 00:00:00 -t 00:00:00 -vcodec copy -acodec copy splice.mp4

这将使用source.mp4,并使用相同的音频和视频编解码器且质量不会降低,在-ss开始时间视频之后花费-t时间并输出您的splice.mp4

请注意,时间对格式化非常敏感(上面是一个示例格式化)。此外,在某些发行版中,ffmpeg已被替换avconv。只需运行上面的命令并将ffmpeg替换为avconv即可解决此问题。

关于此主题的另一个极好的信息来源。(感谢@pbhj)


3
辉煌。请注意,您不能缩写该-ss参数,即9:00必须表示9分钟,00:09:00否则它将被忽略。我认为avconv,根据ffmpeg的警告,此答案也应该更新为使用。谢谢。
artfulrobot 2014年

附带说明,该警告仅反映您已安装avconv而不是ffmpeg,因此ffm​​peg可执行文件实际上只是avconv的包装,而该包装可能很快就会被弃用。如果您安装了ffmpeg,但未安装avconv,则不会收到该警告。这并不是要表明ffmpeg本身已被弃用(尽管最近版本的Ubuntu选择默认安装avconv而不是ffmpeg)。
thomasrutter

5

在Ubuntu 16.04中,等效ffmpeg于命令avconv

要安装它,请运行:

sudo apt-get install libav-tools

用于按时间裁剪视频的示例命令行:

avconv -i originalFile.ogv -ss 00:00:00 -t 00:00:10 -vcodec copy -acodec copy croppedFile.ogv

在更高版本的Ubuntu中不可用。
lolmaus-安德烈·米哈伊洛夫(Andrey Mikhaylov)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.