LiveStream имеет другое «имя потока» при создании из LiveStream API PHP (проверенный результат API, с API Explorer, а также со страницы YouTube)

Я делаю что-то не так или у нас есть ошибка в API LiveStream? Как три разных источника могут отображать три разных имени в прямом эфире для одного и того же Ingestion?

По какой-то причине вставленный объект LiveStream приходит с ответом
это не соответствует веб-странице YouTube.

Разделы этого вопроса:

  • PHP-код для прямой трансляции
  • Результат API в $ liveStream
  • PHP-код для трансляции & переплет
  • Ответ на $ bindBroadcastResponse
  • YouTube LiveStream API Explorer
  • резюмировать
  • И результат на странице YouTube не совпадает

PHP-код для прямой трансляции

$streamSnippet = new \Google_Service_YouTube_LiveStreamSnippet();
$streamSnippet->setTitle($cameraName);

$cdn = new \Google_Service_YouTube_CdnSettings();
$cdn->setFormat($cameraName);
$cdn->setIngestionType('rtmp');

$streamInsert = new \Google_Service_YouTube_LiveStream();
$streamInsert->setSnippet($streamSnippet);
$streamInsert->setCdn($cdn);
$streamInsert->setKind('youtube#liveStream');

$liveStream = $youtube->liveStreams->insert('snippet,cdn',$streamInsert, array());

Результат API в $ liveStream

Google_Service_YouTube_LiveStream Object
(
[cdnType:protected] => Google_Service_YouTube_CdnSettings
...
[etag] => "5C5HHOaBSHC5ZXfkrT4ZlRCi01A/lY9i12sOWOAkTwfchEAQUxEWdX8"[id] => UOzxsX96_We6MrMTsP5RiA1480670405575117
[kind] => youtube#liveStream
...
[modelData:protected] => Array
(
...
[cdn] => Array
(
[format] => 1440p
[ingestionType] => rtmp
[ingestionInfo] => Array
(
[streamName] => 9zfr-ggd9-brtf-XXXX
[ingestionAddress] => rtmp://a.rtmp.youtube.com/live2
[backupIngestionAddress] => rtmp://b.rtmp.youtube.com/live2?backup=1
)
[resolution] => 1440p
[frameRate] => 30fps
)
)
...
)

PHP-код для трансляции & переплет

$broadcastInsert = new \Google_Service_YouTube_LiveBroadcast();
$broadcastInsert->setSnippet($broadcastSnippet);
$broadcastInsert->setStatus($status);
$broadcastInsert->setKind('youtube#liveBroadcast');
$broadcastsResponse = $youtube->liveBroadcasts->insert('snippet,status',$broadcastInsert, array());

$bindBroadcastResponse = $youtube->liveBroadcasts->bind($broadcastsResponse['id'],'id,contentDetails',array('streamId' => $liveStream['id'],));

Ответ на $ bindBroadcastResponse

Google_Service_YouTube_LiveBroadcast Object
(
...
[etag] => "5C5HHOaBSHC5ZXfkrT4ZlRCi01A/_2Jev_YmRlYUwMBX1ptq_Kp8uVs"[id] => idd8f7dSLzk
[kind] => youtube#liveBroadcast
...
[modelData:protected] => Array
(
[contentDetails] => Array
(
[boundStreamId] => UOzxsX96_We6MrMTsP5RiA1480670405575117
...
)
)
)

YouTube LiveStream API Explorer

Если я перечислю все потоки позже, используя LiveStream API Explorer, см. изображение ниже, я получил третий другой результат (см. код ниже).

введите описание изображения здесь

{
"kind": "youtube#liveStreamListResponse",
"etag": "\"5C5HHOaBSHC5ZXfkrT4ZlRCi01A/RGcoFd2XK9IZmX0hgw_pFxuaeC4\"",
"pageInfo": {
"totalResults": 0,
"resultsPerPage": 5
},
"items": [
{
"kind": "youtube#liveStream",
"etag": "\"5C5HHOaBSHC5ZXfkrT4ZlRCi01A/d-ptvs6HC_oItk2Kv2PtrovurCk\"",
"id": "UOzxsX96_We6MrMTsP5RiA1480670405575117",
"snippet": ...,
"cdn": {
"format": "1440p",
"ingestionType": "rtmp",
"ingestionInfo": {
"streamName": "1wzh-zjwb-b0fr-XXXX",
"ingestionAddress": "rtmp://a.rtmp.youtube.com/live2",
"backupIngestionAddress": "rtmp://b.rtmp.youtube.com/live2?backup=1"},
"resolution": "1440p",
"frameRate": "30fps"}
}
]
}

резюмировать

PHP-> Google_Service_YouTube_LiveBroadcast[id] => idd8f7dSLzk
PHP-> Google_Service_YouTube_LiveStream->modelData[cdn][ingestionInfo][streamName] => 9zfr-ggd9-brtf-XXXX
API Explorer -> items[0].cdn.ingestionInfo.streamName => "1wzh-zjwb-b0fr-XXXX"

И результат на странице YouTube не совпадает

Идентификатор LiveStream не совпадает с идентификатором, полученным при создании

0

Решение

После очень Долгое время кто-то отвечал на ошибку, которую я заполнил в Google.

Это ответ от эта тема:

Это не обязательно ожидается для ключа потока, предоставляемого API
соответствовать ключу потока, предоставленному пользовательским интерфейсом. Однако если
два ключа потока разные, оба должны работать.

Пожалуйста, ответьте на эту ошибку, если вы видите проблему, когда поток
ключи разные и работает только один из них.

Дело в том, что я ранее пытался привести в действие, используя имя потока, полученное из API, но это не сработало.

Тестирование сейчас, это работает.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]