![如何使用 ffmpeg 和关键帧](https://linux22.com/image/1519620/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20ffmpeg%20%E5%92%8C%E5%85%B3%E9%94%AE%E5%B8%A7.png)
我们再来一次……使用 ffmpeg 时的关键帧。我读了很多关于它的文章,但似乎无法让它工作。有人说你需要使用 GOPSIZE,其他人说是 keyint,还有一些关于 scenecut 的讨论……
我正在使用 ffmpeg 命令将网络摄像头传输到我的 wowza 服务器。使用此命令时,一切都按预期运行:
ffmpeg -i rtsp://*.*.*.*/media/video1 -r 25 -acodec copy -vcodec libx264 -f flv rtmp://flash.****.nl/****/_definst_/doPublish=****/teststream
在我的相机设置中,我已经说过我想要 25fps 和每 50 帧一个关键帧,但我认为 ffmpeg 不会注意到,所以我已经输入了 -r 25 来强制 25fps。但现在我如何“强制”关键帧为 50?我正在尝试这样做:
ffmpeg -i rtsp://*.*.*.*/media/video1 -r 25 -acodec copy -vcodec libx264 keyint=50:scenecut=-1 -f flv rtmp://flash.****.nl/****/_definst_/doPublish=****/teststream
但给了我错误:
无法找到适合“libx264”的输出格式 libx264:参数无效
答案1
嗯,这似乎有效,但不确定如何检查它是否真的达到了我所希望的效果;)
ffmpeg -i rtsp://。。。/media/video1 -r 25 -vcodec libx264 -vf "scale=1280:720" -b:v 1500k -keyint_min 25 -g 50 -x264opts no-scenecut -f flv rtmp://******/****/定义/doPublish=*****/测试流