我尝试使用以下命令使用视频的开始和结束时间来剪切视频

ffmpeg -ss 00:00:03 -t 00:00:08 -i movie.mp4 -acodec copy -vcodec copy -async 1 cut.mp4

通过使用上面的命令,我想把视频从00:00:03剪辑到00:00:08。但它并没有在这两个时间之间剪切视频,而是剪切了前11秒的视频。有人能帮我解决这个问题吗?

编辑1:

我尝试使用mark4o建议的以下命令进行切割

ffmpeg -i movie.mp4 -ss 00:00:03 -t 00:00:08 -async 1 cut.mp4

但是显示了以下错误。

编码器“aac”是实验性的,但实验性编解码器未启用

因此,我在命令中添加了-strict -2,即,

ffmpeg -i movie.mp4 -ss 00:00:03 -t 00:00:08 -async 1 -strict -2 cut.mp4

现在它工作得很好。


当前回答

请随意使用这个工具https://github.com/rooty0/ffmpeg_video_cutter我之前写过 这就是ffmpeg的cli前端…你只需要创建一个yaml你想要削减…就像这样

cut_method: delete  # we're going to delete following video fragments from a video
timeframe:
  - from: start   # waiting for people to join the conference
    to: 4m
  - from: 10m11s  # awkward silence
    to: 15m50s
  - from: 30m5s   # Off-Topic Discussion
    to: end

然后运行一个工具得到结果

其他回答

使用-to代替-t: -to指定结束时间,-t指定持续时间

请随意使用这个工具https://github.com/rooty0/ffmpeg_video_cutter我之前写过 这就是ffmpeg的cli前端…你只需要创建一个yaml你想要削减…就像这样

cut_method: delete  # we're going to delete following video fragments from a video
timeframe:
  - from: start   # waiting for people to join the conference
    to: 4m
  - from: 10m11s  # awkward silence
    to: 15m50s
  - from: 30m5s   # Off-Topic Discussion
    to: end

然后运行一个工具得到结果

我创建了一对shell脚本来处理我的代码转换需求,包括剪切广告。我想做毫秒级的精确剪辑,不介意付出重新编码的代价。

sh处理代码转换,包括提取片段。 一个可以指定广告(或片段)开始和停止的前端。

把两个脚本都放在你的路径上……和…

# Cut out everything from (3min 12.345s to 4min 1s) and (1hour 48min 0.2s to 1hour 52min 43.0s)
ff-segmenter.sh -i "input.mp4" -o "output.mp4" -x -s 3:12.345-4:01 -s 1:48:00.2-1:52:43

如果没有-x开关,选择是反向的。因此删除列表之外的所有内容。-h开关解释了这一点。

ffmpeg -i movie.mp4 -ss 00:00:03 -t 00:00:08 -async 1 -c copy cut.mp4 

立即使用-c copy for make in。在这种情况下,ffmpeg将不会重新编码视频,只是将削减到根据大小。

试试这个。这是最快和最好的ffmpeg方式,我已经找到:

ffmpeg -ss 00:01:00 -to 00:02:00 -i input.mp4 -c copy output.mp4

这个命令在几秒钟内修剪你的视频!

命令使用说明:

-i:指定输入文件。在这种情况下,它是(input.mp4)。 -ss:与-i一起使用,在输入文件(input.mp4)中查找位置。00:01:00:这是你修剪过的视频开始的时间。 - -从开始(00:01:40)到结束(00:02:12)的时间段。00:02:00:这是你修剪过的视频的结束时间。 -c copy:这是一个通过流复制来修剪的选项。(注意:非常快)

定时格式为:hh:mm:ss

请注意,目前高度好评的答案是过时的,修剪会非常缓慢。有关更多信息,请参阅这篇ffmpeg官方文章。