我正在使用JavaScript中的YouTube直播API创建一个直播活动。创建直播资源时,我设置了以下设置:
"cdn":
{
"format":"1080p",
"ingestionType":"rtmp"
}
但是,每当我在 YouTube 帐户上查看我的事件时,摄取设置都没有选择比特率 - [3000 Kbps-6000 Kbps (1080p)]。相反,我看到以下内容:
[ ] 基本摄取
[X] 自定义引入
[选择流 v]
已选择自定义引入设置,但未设置任何流。什么可能会阻止直播设置其比特率(在自定义摄取下选择 1080p)?
附言对于任何错误,或者如果我需要更清楚,我深表歉意。这是我在SO上发布的第一个问题。如果我能清除任何内容,请告诉我。
https://github.com/youtube/api-samples/blob/master/python/create_broadcast.py 可以让你明白。
以编程方式,不能设置默认流之一。
因此,您可以创建一个新流,设置其引入属性,然后将该流绑定到事件中。
我解决了我的问题。这不是我创造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});