我使用以下 ffmpeg 命令将我的屏幕流式传输到 Facebook。
ffmpeg -f avfoundation -r 10 -video_size 352x288 -i "0" -c:v h264 -f flv
"rtmp://rtmp-api.facebook.com:80/rtmp/1269140699772419?ds=1&a=AaYsXcYcdHQrrrUF"
但是,一旦我按下“开始直播”按钮并转到我的 Facebook 页面,我就会发现一条帖子说我现在直播了。当我按下“播放键”时,只有持续1~2秒的黑色场景,视频结束。
还有一个奇怪的地方,就是直播结束后视频还能播放。刷新页面,发现有帖子说我在直播,这个帖子的视频可以播放成功。
谁知道为什么在预览和结束直播时可以看到视频,但不能看到确切的直播时刻?
[更新]
最佳答案
当您以实时方式查看视频时,请在 Chrome 的检查面板中查看是否有任何内容。可能是一些警告或错误导致视频无法播放。我在通过 wss 使用 WebRTC 时遇到了同样的问题。
尝试使用 ffmpeg 命令的另一件事是添加:
-c:v libx264 -profile:v baseline -level 3.1 -pix_fmt yuv420p
成为:
ffmpeg -f avfoundation -r 10 -i "0"-c:v libx264 -profile:v baseline -level 3.1 -pix_fmt yuv420p -f flv "rtmp://rtmp-api.facebook.com:80/rtmp/1269140699772419?ds=1&a=AaYsXcYcdHQrrrUF"
您可以在直播事件结束后看到视频,因为编码恰好保存了视频,并且可以在浏览器中查看和测试。对于直播流,只会发生复制,您可以使用 ffmpeg 参数使其在该页面上可见。
关于Facebook 直播视频只能在流式传输我的 Mac 屏幕时预览,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39406739/