如何在不重新编码的情况下为 FLV 文件添加关键帧?我尝试使用此命令,但没有任何效果:
ffmpeg -i file.flv -vcodec copy -acodec copy -g 0 -y tmp.flv && yamdi -i tmp.flv -o out.flv
无法使用 Flash Player 正确查找(源和此)结果。我有很多 flv 需要“修复”。
答案1
答案2
当你这样做时-vcodec copy
,你完全复制了视频编解码器。然后没有参数可以影响视频,因此 GOP 大小也不会再次解析。
尝试仅使用 gopsize,而不使用视频编解码器副本:
ffmpeg -i file.flv -acodec copy -g 1 -sameq -y tmp.flv
请注意,该-sameq
参数表示相同的量化器,仅当您使用相同的编解码器(如 MPEG-2 到 MPEG-2)进行解码和编码时才应使用它,就像您不想更改编解码器的情况一样。