我知道有一个“流目标”功能,但它允许我只为特定的 FB 用户配置 Facebook 目标。
我想要的是:
- 我的应用程序将被许多拥有自己 FB 帐户的用户使用
- 当他们直播到我的 wowza 流媒体引擎服务器时,它应该重新流式传输到他们的 fb 墙。
这可能吗?
我知道有一个“流目标”功能,但它允许我只为特定的 FB 用户配置 Facebook 目标。
我想要的是:
这可能吗?
目前无法使用 REST API 或客户端应用程序创建 Facebook 直播目标...阅读更多
有一种使用 ffmpeg 将实时/视频 (HLS/MP4) 流转码为 RTMP (Facebook) 的解决方案。
将 HLS 转码为 RTMP(Facebook 直播)
ffmpeg -re -i "http://domain/x/x/input.m3u8" -acodec libmp3lame -ar 44100 -b:a 128k -pix_fmt yuv420p -profile:v baseline -s 426x240 -bufsize 6000k -vb 400k -maxrate 1500k -deinterlace -vcodec libx264 -preset veryfast -g 30 -r 30 -f flv "rtmp://rtmp-api.facebook.com:80/rtmp/111111111111111?ds=1&a=XXXXXXXXXXXXXXXXX"
将 MP4 转码为 RTMP(Facebook 直播)
ffmpeg -re -i ./video.mp4 -acodec libmp3lame -ar 44100 -b:a 128k -pix_fmt yuv420p -profile:v baseline -s 426x240 -bufsize 6000k -vb 400k -maxrate 1500k -deinterlace -vcodec libx264 -preset veryfast -g 30 -r 30 -f flv "rtmp://rtmp-api.facebook.com:80/rtmp/111111111111111?ds=1&a=XXXXXXXXXXXXXXXXX"
Facebook 视频格式 视频格式:
音频格式:
创建Facebook 直播“上线对话”
调用以下代码来初始化一个弹出窗口,其中包含确定将您的 POST 请求定向到何处的控件。
<script>
document.getElementById('liveButton').onclick = function() {
FB.ui({
display: 'popup',
method: 'live_broadcast',
phase: 'create',
}, function(response) {
if (!response.id) {
alert('dialog canceled');
return;
}
//rtmp://rtmp-api.facebook.com:80/rtmp/111111111111111?ds=1&a=XXXXXXXXXXXXXXXXX
alert('stream url:' + response.stream_url);
FB.ui({
display: 'popup',
method: 'live_broadcast',
phase: 'publish',
broadcast_data: response,
}, function(response) {
alert("video status: \n" + response.status);
});
});
};
</script>