我正在试着在youtube上直播视频。我有一个mp3文件和一张静止图像。我对流使用了以下代码,
ffmpeg -y -loop 1 -i "still.jpg" -i "audio.mp3" " -c:v libx264 -preset ultrafast -pix_fmt yuv420p -minrate 6000k -maxrate 6000k -bufsize 12000k -b:v 6000k -r 30 -g 30 -keyint_min 60 -x264opts "keyint=60:min-keyint=60:no-scenecut" -s 1280x720 -tune zerolatency -b:a 128k -c:a aac -ar 48000 -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/steam-key它似乎在工作,但我认为它有大量的数据传输。我需要将比特率和帧率等配置设为最低。怎么做?我发现在某个地方添加了这里缺少的-re选项。
发布于 2021-11-17 12:42:56
你将最小速率和视频比特率设置为6000k,这对于静止图像来说是很大的。您还可以将帧速率设置为30,其中1就足够了。对于比特率,我会选择恒定速率因子。这意味着它将使用所需的尽可能多的数据来产生特定的质量。这意味着如果图片没有改变,它不需要添加更多的比特。我还会每5秒添加一个关键帧,以防有人加入,我删除了缓冲区,因为现在流很小,不需要缓冲区。
尝试使用以下命令:
ffmpeg -y -loop 1 -i "still.jpg" -i "audio.mp3" " -c:v libx264 -pix_fmt yuv420p -crf 21 -r 1 -g 30 -keyint_min 5 -x264opts "keyint=5:min-keyint=5:no-scenecut" -s 1280x720 -tune zerolatency -b:a 128k -c:a aac -ar 48000 -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/steam-keyhttps://stackoverflow.com/questions/70004341
复制相似问题