FFMPEG 和 YouTube Live - "Bad Video Settings" - 请使用四秒或更短的关键帧频率

FFMPEG & YouTube Live - "Bad Video Settings" - Please use a keyframe frequency of four seconds or less

尝试在 YouTube 上直播,从我的角度来看,一切似乎都运行良好。但是 YouTube 一直给我以下消息:

Bad Video Settings

Please use a keyframe frequency of four seconds or less. Currently, keyframes are not being sent often enough, which will cause buffering. The current keyframe frequency is 8.4 seconds. Note that ingestion errors can cause incorrect GOP (group of pictures) sizes.

我已经搜索了几个小时,到目前为止似乎没有任何区别。我添加了 -g 60 并且由于我没有完全理解我也尝试添加 -g 2 但都没有用。这是我目前正在使用的命令:

ffmpeg -re -f concat -safe 0 -i "concat.txt" -c copy -preset veryfast -maxrate 1200k -bufsize 2400k -framerate 30 -g 60 -f flv rtmp://a.rtmp.youtube.com/live2/XXXX-XXXX-XXXX-XXXX

您的选择是忽略警告或重新编码。

因为您启用了 stream copy 模式 (-c copy),您的选项 -maxrate 2048k -bufsize 4096k -framerate 30 -g 2 将被忽略。流复制时不能使用编码选项。这就是为什么他们没有任何区别。

如果要重新编码,请删除 -c copy-g 选项应该大约是输出帧速率的 2 到 4 倍,因此如果您的帧速率是 30,则 -g 60。如果您出于任何原因想要修改帧速率,请使用 -r,而不是 -framerate 因为这是一些分路器的输入选项。

尽管用户经常添加它,但您实际上并不需要 -strict experimental,因为您没有使用任何实验性功能。