我想从视频中提取一段视频。不幸的是,我没有像这样运行 ffmpeg 的开始时间位置和持续时间:
ffmpeg -sameq -ss [start_seconds] -t [duration_seconds] -i [input_file] [outputfile]
Run Code Online (Sandbox Code Playgroud)
相反,我有第一个和最后一个帧号。那么...是否可以根据帧位置使用 ffmpeg 对 mp4 视频进行切片?
如果文件有音频,也需要相应的切片,那么你需要知道开始时间和持续时间。除非视频是可变帧速率,否则开始帧索引I是时间I/FPS,结束帧O是时间O/FPS,其中 FPS 是视频的帧速率。运行ffprobe [input_file]将为您提供帧速率读数。
其他用途,
ffmpeg -i input.mp4 -vf trim=start_frame=I:end_frame=O+1 -an output.mp4
Run Code Online (Sandbox Code Playgroud)
-sameq已被弃用,也不会意味着相同的质量。此命令将跳过音频,因为它无法参考视频帧索引进行剪切。