当前位置: 首页 > 教程资源 > FFmpeg 教程 > 正文
如何用 FFmpeg 修剪视频高级使用方法

如何用 FFmpeg 修剪视频高级使用方法

作者:大眼仔~旭 日期:4个月前 (07-28) 评论:0 条

摘要:视频编辑应用程序的一个常见功能是剪切/修剪视频。在编辑视频时,您可能想剪切掉某些部分,或者想通过剪切不同来源的部分来拼接不同的视频,并将它们串联成一个视频。 我们将了解如何使用 FFmpeg 来实现这一目的,FFmpeg 是一款命令行工具,可用于创建、编辑和处理不同类型的媒体。我们将学习一些 FFmpeg 命令,用它们…

视频编辑应用程序的一个常见功能是剪切/修剪视频。在编辑视频时,您可能想剪切掉某些部分,或者想通过剪切不同来源的部分来拼接不同的视频,并将它们串联成一个视频。

我们将了解如何使用 FFmpeg 来实现这一目的,FFmpeg 是一款命令行工具,可用于创建、编辑和处理不同类型的媒体。我们将学习一些 FFmpeg 命令,用它们将视频修剪成不同的部分,然后看看如何将不同的视频串联成一个视频。

FFmpeg 修剪视频

使用 FFmpeg 剪切/修剪视频

FFmpeg 提供了不同的命令,您可以用它们来分割视频。大眼仔将介绍如何使用寻路参数,但您也可以使用其他命令,如修剪过滤器。

要剪切视频的特定部分,可以使用寻路选项来找到要剪切的特定部分。让我们来看几个例子。

使用持续时间剪切

1
$ ffmpeg -i input.mp4 -ss 00:05:20 -t 00:10:00 -c:v copy -c:a copy output1.mp4
  • 上述命令将接收输入视频,并从中剪切出 10 分钟(从 5 分 20 秒开始),即输出视频将从 input.mp4 00:05:20 00:05:20 00:15:20 开始。
  • -ss 指定起始位置,并指定从起始位置开始的持续时间。在上述命令中,我们从标记处剪切了 10 分钟。
  • 这些命令会复制原始音频和视频,而无需重新编码。-c:v copy -c:a copy
  • 要指定时间,您可以使用两种不同的时间单位格式:六十进制 (,例如 ) 或秒。如果使用前者,则可以省略毫秒,就像在示例中所做的那样。HOURS:MM:SS.MILLISECONDS 01:23:45.678 HOURS:MM:SS

如果您指定的持续时间会导致停止时间超出输入视频的长度,那么输出视频将在输入视频结束的地方结束。

使用特定时间剪切

1
$ ffmpeg -i input.mp4 -ss 00:05:10 -to 00:15:30 -c:v copy -c:a copy output2.mp4

上述命令用于指定从起始位置剪切到的准确时间。剪切后的视频将从 至 ,形成一段 10 分 20 秒的视频。

如果您指定的时间长于输入视频的时间,例如输入视频长达 20 分钟,则剪切视频将在输入视频结束的地方结束。如果指定的时间小于 ,则命令无法运行。您将收到以下错误信息:-to-to 00:35:00-to-ssError: -to value smaller than -ss; aborting.

请注意,如果您在 ,之前指定 ,将与 ,具有相同的效果,即它将充当持续时间。

1
2
$ ffmpeg -ss 00:05:20 -i input.mp4 -t 00:10:00 -c:v copy -c:a copy output3.mp4
$ ffmpeg -ss 00:05:20 -i input.mp4 -to 00:10:00 -c:v copy -c:a copy output4.mp4

上述命令的结果都是 10 分钟长的视频,这些视频来自于输入视频。

在使用寻道时,你可能会注意到有时输出文件的长度可能与你期望的不完全相同,可能会有几秒钟的偏差。对于大多数视频格式来说,不可能精确寻道。FFmpeg 会在您指定的位置前寻找最接近的搜索点。通过启用视频转码功能可以提高精确度。启用此功能后,搜索点和指定位置之间的额外片段将被解码并丢弃。使用时,它将被保留。

剪切视频结尾

寻道命令还有一个变体,可以用来剪切视频的最后几秒钟。它使用负值表示相对于 EOF(文件结束)的位置。位置位于 EOF.-sseofN0

seek 命令还有另一种变体,您可以使用它来剪切视频的最后几秒钟。它使用负值来指示相对于 EOF(文件末尾)的位置。职位在EOF。-sseofN0

1
2
$ ffmpeg -sseof -600 -i input.mp4 -c copy output5.mp4
$ ffmpeg -sseof -00:10:00 -i input.mp4 -c copy output6.mp4

上述两个命令都将剪切输入视频的最后 10 分钟。

如果您使用的时间长于输入视频,例如 对于 20 分钟的视频,该命令仍将运行。输出视频的长度将与输入视频的长度相同。

1
-01:10:00

通过重新编码进行剪切

当您在修剪视频时省略该选项时,FFmpeg 将根据您选择的格式自动重新编码输出视频和音频。与我们之前查看的命令相比,该操作将需要更长的时间才能完成,但会提供更精确的结果。-c copy

1
$ ffmpeg -ss 00:05:20 -accurate_seek -i input.mp4 -t 00:10:00 -c:v libx264 -c:a aac output7.mp4

在上面的命令中,我们在剪切视频时重新编码音频和视频,我们还使用标志,这将使输出视频的长度更准确。

1
-accurate_seek
声明:大眼仔旭 | 本文采用署名-非商业性使用-相同方式共享 4.0 国际许可协议[CC BY-NC-SA]进行授权
文章名称:《如何用 FFmpeg 修剪视频高级使用方法
文章固定链接:https://www.dayanzai.me/ffmpeg-to-trim-video.html
本站资源仅供个人学习交流,请于下载后 24 小时内删除,不允许用于商业用途,否则法律问题自行承担。
转载声明
全部评论: (0条)
^_^ 暂无评论!

发表评论

返回顶部