如何按帧剪切视频文件

Tec*_*ord 4 video linux video-encoding

有谁知道可以为Linux安装/编译的可以按帧剪切视频的软件吗?谢谢。

Gya*_*yan 7

ffmpeg可以做到。如果视频编解码器是帧间编码的并且您想要精确的帧精度,则必须重新编码视频。如果您不需要重新编码视频,那么 ffmpeg 将从指定剪切点之前最近的 GOP 边界进行剪切。

剪切和流复制

ffmpeg -i input -ss T -t D -c copy -fflags +genpts output
Run Code Online (Sandbox Code Playgroud)

-ss T指定以时间码表示的起点,格式为S+[.m...]例如2465.22[HH:]MM:SS[.m...]例如02:34:11.644

-t D以相同的格式指定持续时间。

如果起始点不在 GOP 边界,则帧精度不高。

剪切并重新编码

ffmpeg -i input -ss T -t D -fflags +genpts output
Run Code Online (Sandbox Code Playgroud)

与上面相同,但这将是帧精确的。

如果需要通过帧号指定入点和出点:

ffmpeg -i input -vf trim=start_frame=n:end_frame=m -af atrim=start=s:end=t -fflags +genpts output
Run Code Online (Sandbox Code Playgroud)

nm是视频入点和出点的帧号。st是相应音频的时间码。

为重新编码的视频选择的编解码器将根据 ffmpeg 为输出容器设置的默认值,例如 MP4 的 H.264 和 AAC。