我正在使用JavaScript中的YouTube直播API创建直播活动。当我创建liveStream资源时,我设置了以下设置:
"cdn":
{
"format":"1080p",
"ingestionType":"rtmp"
}

但是,每当我在我的YouTube帐户上查看我的活动时,摄取设置都没有选择比特率 - [3000 Kbps-6000 Kbps(1080p)]。相反,我看到以下内容:
[]基本食入
[X]自定义摄取
[选择流v]
选择了自定义摄取设置,但未设置流。什么可能阻止liveStream设置其比特率(在自定义摄取下选择1080p)?
P.S。我为任何错误道歉,或者我需要更清楚。这是我在SO上发布的第一个问题。如果我能搞清楚,请告诉我。
答案 0 :(得分:0)
https://github.com/youtube/api-samples/blob/master/python/create_broadcast.py可以让你清楚。
以编程方式,您无法设置其中一个默认流。
因此,您创建一个新流,设置它的摄取属性,然后将该流绑定到您的事件中。
答案 1 :(得分:0)
我解决了我的问题。在创建我的liveBroadcast
或我的liveStream
资源时,我并没有正确地调用liveBroadcasts.bind()
。我创建了两个不同的对象,我作为参数传递 - 一个包含liveBroadcast
的id和部分,另一个包含我想要绑定广播的liveStream
的id。
我这样做了:
liveBroadcasts.bind({id: broadcastId, part: 'snippet,status'}, {streamId: streamId});
这给了我的请求一个包含streamId的主体。但是,bind方法没有请求主体。我需要将streamId包含在其余参数中,如下所示:
liveBroadcasts.bind({id: broadcastId, part: 'snippet,status',streamId: streamId});