0

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

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

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

[ ] Basic Ingestion
[X] Custom Ingestion
[Select a Stream v]

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

PS我为任何错误道歉,或者如果我需要更清楚。这是我在 SO 上发布的第一个问题。让我知道我是否可以清除任何东西。

4

2 回答 2

0

https://github.com/youtube/api-samples/blob/master/python/create_broadcast.py可以让你清楚。

以编程方式,您不能设置默认流之一。

因此,您创建一个新流,设置它的摄取属性,然后将该流绑定到您的事件中。

于 2015-03-19T19:48:07.723 回答
0

我解决了我的问题。这不是我创建我liveBroadcast或我的liveStream资源,而是我没有liveBroadcasts.bind()正确调用。我创建了两个不同的对象,我将它们作为参数传递——一个包含 id 和 的一部分liveBroadcast,另一个包含liveStream我想要绑定广播的 id。我正在这样做:

liveBroadcasts.bind({id: broadcastId, part: 'snippet,status'}, {streamId: streamId});

这给了我的请求一个包含 streamId 的正文。但是,绑定方法没有请求正文。我需要将 streamId 与其余参数包括在内,如下所示:

liveBroadcasts.bind({id: broadcastId, part: 'snippet,status',streamId: streamId});
于 2015-03-20T15:23:28.750 回答