如何使用 ffmpeg 修剪大视频?

Jon*_*onC 5 video ffmpeg

我正在尝试修剪 75 GB 大小和 1 小时 28 分钟长的视频

我只想从中得到 7 秒

当我尝试这个时

ffmpeg -i Replay.mp4 -ss 01:21:24.0000 -to 01:21:32.0000 -acodec copy -vcodec copy ShortReplay2.mp4
Run Code Online (Sandbox Code Playgroud)

我明白了

Stream mapping:
  Stream #0:1 -> #0:0 (copy)
  Stream #0:0 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=    0 fps=0.0 q=-1.0 size=       0kB time=00:00:00.00 bitrate=N/A
Run Code Online (Sandbox Code Playgroud)

卡住了,什么也没发生,等了大约30分钟还是卡住

但是,当我尝试从视频的开头对其进行修剪时

ffmpeg -i Replay.mp4 -ss 00:00:00.000 -to 00:20:00.000 -acodec copy -vcodec copy ShortReplay2.mp4
Run Code Online (Sandbox Code Playgroud)

它可以正常工作

是不是因为文件太大,程序读取时间太长?我能做什么?

llo*_*gan 7

期权安置事项

您可以尝试将其-ss用作输入选项(之前-i)。这将立即搜索到声明-ss位置之前最近的搜索点。请注意,当-ss用作输入选项时,该-to选项的行为与该-t选项相同。

如果您发现这不够准确,您可能必须将其-ss用作输出选项和/或重新编码而不是流复制。作为输出选项,它速度较慢,因此您可能只是没有等待足够长的时间使其完全解码到您的位置。

例子

ffmpeg -ss 01:21:24 -i input.mp4 -t 7 -c copy output.mp4
Run Code Online (Sandbox Code Playgroud)

另见