Youtube 编码器无法启动直播

Youtube encoder won't start for live streams

我正在尝试在 YouTube 上进行直播。我想使用 H264 视频和 AAC 音频流式传输 360° 内容。流从我的移动应用程序的 youtube live api 开始,librtmp 用于传送视频和音频数据包。我很容易达到直播健康状况良好并且我的广播和流已成功绑定的地步。

但是,当我尝试像这样过渡到“testing”时:

YoutubeManager.this.youtube.liveBroadcasts().transition("testing", liveBroadcast.getId(), "status").execute();

我每次都卡在“startTesting”状态(100% 可重现),而我希望它在几秒钟后变为测试状态,以便让我将其更改为实时状态。

我不知道在 youtube 直播控制室发生了什么,一切似乎都很好,但编码器无法启动。

这是一个普遍问题吗?有没有办法访问编码器日志?如果您需要更多信息,请随时问我。

此致。

我找到了临时修复!

我注意到两件事:

  • 启用自动启动选项后,一旦我停止发送数据,流就会将其状态更改为 startLive。这表明编码器正在尝试启动,但在收到其他数据包之前启动速度太慢(我猜)
  • 当我尝试流式传输到 "Stream now" URL 时,正如@noogui 所建议的那样,它成功了!所以我检查了现在的流和事件配置有什么区别。

原来我只需要激活低延迟选项,因为它在现在的流配置中默认完成。

我认为这是一个临时修复,因为我真的不知道为什么编码器不能以其他方式启动,并且因为它不适用于自动启动选项...所以我希望它不会再次中断如果 Youtube对他们的编码器进行另一项更改。

所以,如果您必须使用 Youtube api,祝大家好运!