【发布时间】:2020-02-03 23:51:14
【问题描述】:
我在尝试找出适用于 ffmpeg 的 facebook rtmps Go Live 配置时遇到问题,但没有成功!
rtmpUrls = `[f=flv]rtmp://a.rtmp.youtube.com/live2/xxxxxxx|[f=flv]rtmps://live-api-s.facebook.com:443/rtmp/xxxxxxxx`;
});
this.ffmpeg = child_process.spawn('ffmpeg', [
// FFmpeg reads the input from STDIN write
'-i', '-',
'-flags', '+global_header',
'-vcodec', 'copy',
// AAC audio is required for Facebook Live.
'-acodec', 'libfdk_aac',
//'-ab', '32k',
//'-ar', '44100',
'-bsf:a', 'aac_adtstoasc',
'-framerate', '60',
'-g', '30',
'-f', 'tee',
'-map', '0:v',
'-map', '0:a',
// The output RTMPs.
rtmpUrls
]);
我从 facebook 事件日志中收到了这个
Facebook 已经有一段时间没有收到来自视频源的视频信号 时间。检查视频源和 Facebook 对于源分辨率和比特率来说已经足够了。查看 您的视频编码器日志以获取详细信息。如果问题仍然存在,请考虑 提高连接质量或降低视频的比特率 来源。
当我将帧率从 60 更改为 30 时,它会闪烁黑色空白屏幕以尝试接收信号,然后立即返回默认页面。 虽然 youtube 可以完美运行!
【问题讨论】:
-
看看你能不能稍微剖析一下这个问题。首先删除
tee和 YouTube 端。此外,请注意不要为此使用默认值,因为如果一个输出失败,其他输出也会失败。这里有一些选项:ffmpeg.org/ffmpeg-formats.html#toc-Options-12
标签: node.js facebook ffmpeg live-streaming rtmps