在转码和移除 B 帧时保持关键帧
Maintain keyframes when transcoding and removing b-frames
我需要将视频从 .mov
容器中的 H.265 转码为 .mkv
容器中的 H.264,并希望删除 b 帧。使用 ffmpeg
执行此操作的命令相对简单 [0],但它似乎正在删除关键帧并使用场景检测来确定何时使用它们。
有没有办法让它在输出中保持关键帧?
0: ffmpeg -i <input.mov> -vcodec libx264 -bf 0 -acodec copy <output.mkv>
使用
ffmpeg -i <input.mov> -force_key_frames source -vcodec libx264 -bf 0 -acodec copy <output.mkv>
这会将 KF 置于与源中相同的时间戳*。
*请注意,由于轨道时基可能发生变化而导致时间戳四舍五入,因此时间戳可能不相同。
我需要将视频从 .mov
容器中的 H.265 转码为 .mkv
容器中的 H.264,并希望删除 b 帧。使用 ffmpeg
执行此操作的命令相对简单 [0],但它似乎正在删除关键帧并使用场景检测来确定何时使用它们。
有没有办法让它在输出中保持关键帧?
0: ffmpeg -i <input.mov> -vcodec libx264 -bf 0 -acodec copy <output.mkv>
使用
ffmpeg -i <input.mov> -force_key_frames source -vcodec libx264 -bf 0 -acodec copy <output.mkv>
这会将 KF 置于与源中相同的时间戳*。
*请注意,由于轨道时基可能发生变化而导致时间戳四舍五入,因此时间戳可能不相同。