我正在尝试使用ffmpeg将网页流式传输到Facebook Live视频。我知道我可以使用OBS,但我正尝试在服务器上使用,所以我不能使用OBS。当我在预览时,它工作得很好,但是当我一按下“Go live”,一开始它看起来就像是开始了,但是当它带我到实时视图时,它只是显示视频已经结束。我甚至用Graph API检查了视频日志的错误,什么都没有。我正在使用PhantomJS将屏幕截图通过管道传输到ffmpeg:
phantomjs phantom.js | ffmpeg -y -c:v mjpeg \
-f image2pipe \
-r 5 -i \
- -c:v libx264 \
-x264-params keyint=5 \
-b:v 1000k -minrate 1000k -maxrate 1000k -bufsize 500k \
-f flv 'rtmp://rtmp-api.facebook.com:80/rtmp/xxxxxxxxxxxxxxxx'正如我所说的,它在Facebook上的直播预览中工作得很好,但当我开始直播时,它就会立即结束。我添加了比特率选项,试图按照Facebook (https://developers.facebook.com/docs/videos/live-video/production-broadcasts)的要求保持恒定的比特率,而且我每5帧有一个关键帧(5fps的相当低的帧率),所以也满足了这一要求。
我没有发送任何音频,这会导致问题吗?
发布于 2016-11-18 01:53:31
Facebook Live需要30 FPS的帧率。你发送的是5,所以你需要向上转换。您还需要最多2秒的关键帧间隔。尝试添加输出帧率:
phantomjs phantom.js | ffmpeg -y -c:v mjpeg \
-f image2pipe \
-framerate 5 \
-i - \
-r 30 \
-c:v libx264 \
-x264-params keyint=60 \
-b:v 1000k -minrate 1000k -maxrate 1000k -bufsize 500k \
-f flv 'rtmp://rtmp-api.facebook.com:80/rtmp/xxxxxxxxxxxxxxxx'https://stackoverflow.com/questions/40644596
复制相似问题