使用YouTube直播流媒体API设置提取设置

时间:2015-03-09 17:37:14

标签: javascript youtube youtube-api youtube-javascript-api youtube-livestreaming-api

我正在使用JavaScript中的YouTube直播API创建直播活动。当我创建liveStream资源时,我设置了以下设置:



"cdn":
		{
			"format":"1080p",
			"ingestionType":"rtmp"
		}




但是,每当我在我的YouTube帐户上查看我的活动时,摄取设置都没有选择比特率 - [3000 Kbps-6000 Kbps(1080p)]。相反,我看到以下内容:

[]基本食入
[X]自定义摄取
[选择流v]

选择了自定义摄取设置,但未设置流。什么可能阻止liveStream设置其比特率(在自定义摄取下选择1080p)?

P.S。我为任何错误道歉,或者我需要更清楚。这是我在SO上发布的第一个问题。如果我能搞清楚,请告诉我。

2 个答案:

答案 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});