我正在尝试从Icecast / Shoutcast服务器到YouTube在线直播。我使用的命令是:
ffmpeg -v verbose -framerate 30 -loop 1 -i /var/image.jpg -re -i http://127.0.0.1:4700/radio -c:v libx264 -preset ultrafast -b:v 2250k -maxrate 6000k -bufsize 6000k -c:a copy -ab 128k -s 1920x1080 -framerate 30 -g 60 -keyint_min 60 -f flv rtmp://a.rtmp.youtube.com/live2/xxx
您可以看到,我正在为YouTube使用建议的比特率,每2秒插入关键帧,并以每秒30帧的速度进行流式传输。流正在工作,但运行一段时间后,发生了两件事:
speed
从1x下降到类似0.998x
为什么会这样? CPU负载正常,连接正常(流正在1Gg / s专用服务器上运行)。
[因为在上面的示例中,我正在流传输单个图像作为流的徽标,所以我也尝试用该图像生成一个短30秒的视频,并播放该视频而不是图像,但这也没有帮助。] >
我用于转换的命令:
ffmpeg -framerate 30 -loop 1 -i /var/image.jpg -c:v libx264 -preset ultrafast -tune stillimage -b:v 2250k -minrate 2250k -maxrate 6000k -bufsize 6000k -framerate 30 -g 60 -keyint_min 60 -t 30 out4.mp4
和一起播放
ffmpeg -stream_loop -1 -i out4.mp4 -re -i http://127.0.0.1:4700/radio -c:v copy -c:a copy -framerate 30 -g 60 -keyint_min 60 -f flv rtmp://a.rtmp.youtube.com/live2/xxx
ffmpeg版本为
4.1.1
我正在尝试从Icecast / Shoutcast服务器到YouTube在线直播。我使用的命令是:ffmpeg -v详细-framerate 30 -loop 1 -i /var/image.jpg -re -i http://127.0.0.1:...
您确定原始流确实与壁钟保持同步吗?
Youtube的错误提示“ ... buffer .....”不是PC上的缓冲区问题,只是发送到youtube的数据很小。