如何使用 FFmpeg 以 3 种不同方式剪切/修剪/提取视频文件

在本教程中,我们将了解如何使用 FFmpeg 以 3 种不同方式剪切/修剪/提取视频文件的一部分。有一些快速的方法可以使用不太准确的搜索和复制视频来实现这一点,还有一种帧精确技术,速度慢但准确,可以选择重新编码视频。

寻找使用-ss参数

假设您想要提取视频的一部分——比如从第 10 秒到第 20 秒。

您需要做的第一件事是告诉 FFmpeg寻找到第 10 秒,对吧?这是使用-ssFFmpeg 命令行中的参数实现的,语法是 –

./ffmpeg -ss <time> -i <inputvideo> ....... 

这里,时间指定为HH:MM:SS.MILLISECONDS。例如,您可以告诉 FFmpeg 寻找到01:02:03——即电影 1 小时的第 2 分钟的第 3 秒!

指定结束时间

使用-ss,我们指定了开始时间。现在,让我们也学习指定结束时间。而且,如果我们将这两者放在一起,我们可以使用 FFmpeg 高效地剪切/拼接视频。

-t范围

您可以使用参数指定所需剪辑的持续时间-t。例如,-ss 40 -t 10指示 FFmpeg 从第 40 秒开始提取 10 秒的视频。

-to范围

您可以使用参数指定结束时间-to。例如,-ss 40 -to 70指示 FFmpeg 从第 40 秒到第 70 秒提取 30 秒的视频。

注意:如果同时使用  -t and  -to,则只会-t使用。

通过重新编码剪切/修剪

如果您在剪切/修剪时重新编码视频,那么您将获得帧精确剪切,因为 FFmpeg 将重新编码视频并从 I 帧开始。这是使用输出搜索的命令行。在此示例中,您指示 FFmpeg 读取名为的视频inputVideo.mp4并提取从第 3 秒开始到第 8 秒结束的 5 秒——同时使用libx264.

ffmpeg -i inputVideo.mp4 -ss 00:03 -to 00:08 -c:v libx264 -crf 30 trim_opseek_encode.mp4

您还可以使用此命令行以特定比特率或质量使用 重新编码crf、更改分辨率等。

请记住,此选项将占用大量时间和资源,因为您正在执行重新编码。但是,它确实有其不容忽视的优势。

无需重新编码即可快速剪切/修剪的方法(使用复制和输入搜索)

这是一个简单的命令行,您可以使用它来剪切/修剪/提取视频的一部分——速度很快!

ffmpeg -ss 00:00:03 -i inputVideo.mp4 -to 00:00:08 -c:v copy -c:a copy trim_ipseek_copy.mp4

参数简单易懂。您正在指示 FFmpeg 读取名为的视频inputVideo.mp4并提取从第 3 秒开始到第 8 秒结束的 5 秒。

此外,您告诉 FFmpeg 复制音频和视频而不执行重新编码——这非常快!

将参数放在-ss参数之前-i称为输入搜索并且速度非常快,因为 FFmpeg 从 I 帧跳到 I 帧以到达搜索点。

问题?

由于查找操作在 I 帧之间跳转,因此它不会准确地停止在您请求的帧(或时间)上。它将搜索最近的 I 帧并从该点开始复制操作。

使用无需重新编码的输出搜索来剪切/修剪

如果我们在-ss参数后面插入-i参数,就叫做输出寻道。

ffmpeg -i inputVideo.mp4 -ss 00:00:03 -to 00:00:08 -c:v copy -c:a copy trimmedVideo.mp4

但是,这里又是一个问题。在视频压缩中,您拥有独立编码的 I 帧,并且您拥有依赖于其他帧进行解码的预测帧 (P, B)。

如果您指定的开始时间落在预测帧上,则复制操作将从该帧开始(称为 X)。输出中可能缺少“X”解码所需的帧!因此,输出视频可能不会顺利开始,并且在到达第一个 I 帧之前可能会有一些断断续续或黑色视频。

结论

好了——使用 FFmpeg 剪切、修整、提取部分视频的三种简单方法。这三种方法都满足不同的需求,所以一定要尝试一下,了解你的需求,并为你的项目使用正确的方法!

作者简介:Krishna Rao Vijayanagar 博士,OTTVerse 的创始人。在伊利诺伊理工学院获得视频压缩博士学位,多年来我一直从事视频压缩(AVC、HEVC、MultiView Plus Depth)、ABR 流媒体和视频分析(QoE、内容和受众以及广告)方面的工作。

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论