专业的编程技术博客社区

网站首页 > 博客文章 正文

FFMPEG 截取视频片段

baijin 2024-11-28 07:59:49 博客文章 5 ℃ 0 评论

寻找使用-ss参数

假设要提取视频的一部分——比如从第 10 秒到第 20 秒。需要做的第一件事是告诉 FFmpeg搜索到第 10 秒。这是使用 FFmpeg 命令行中的 -ss 参数实现的,语法为

 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-to,那么只有 -t 将被使用。

以重新编码进行剪切

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

 ffmpeg -i xxxx.mp4 -ss 00:03 -t 00:08 -c:v libx264 -crf 30 tri_encode.mp4

还可以使用此命令行以特定比特率或质量重新编码,使用crf更改分辨率等 , 此选项将花费大量时间和资源,因为您正在执行重新编码 .

以复制方式截取

无需重新编码,即可快速剪切;----很快

 ffmpeg -ss 00:00:00 -i xxxx.mp4 -t 00:10:00 -vcodec copy -acodec copy 20230307.mp4 -y
 
 ffmpeg -ss 00:00:00 -i xxxx.mp4 -to 00:10:00 -vcodec copy -acodec copy 20230307.mp4 -y
  • 参数说明
    • -ss:从0秒开始,从 xxxx.mp4 视频中截取视频
    • -to:截取视频的结束时间
    • -y:重复文件确认覆盖

将搜索参数 -ss 放在 -i 参数前,非常快。因为 FFMPEG 从I帧跳到I帧以到达搜索点



Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表