到目前为止,我已经拼凑了以下命令:
ffmpeg -i input.mp4 -filter_complex "\
[0:v]trim=start=175.2:end=200.9,setpts=PTS-STARTPTS[v1]; \
[0:a]atrim=start=175.2:end=200.9,asetpts=PTS-STARTPTS[a1]; \
[0:v]trim=start=214.3:end=324,setpts=PTS-STARTPTS[v2]; \
[0:a]atrim=start=214.3:end=324,asetpts=PTS-STARTPTS[a2]; \
[v1][a1][v2][a2]concat=n=2:v=1:a=1[outv][outa]" \
-map "[outv]" -map "[outa]" output.mp4
提取剪辑并将它们连接成一个视频效果很好。但是,此命令将视频重新编码为 25fps,如警告所示:
[fc#0 @ 0000029e38732840] [vo0->#0:0 @ 0000029e38739b80] 没有有关输入帧速率的信息。回落到默认值 25fps。如果您想要不同的帧速率,请使用 -r 选项。
我希望它保持原始视频的帧速率,无论它是什么,而不是通过丢弃或插入帧来更改帧速率。如果我使用多个输入文件,我希望它只使用第一个文件的帧速率(因为无论如何它们都会相同)。
我该如何实现这一目标?