Stiamo utilizzando l'API YouTube Live Streaming in combinazione con lo Google API PHP Client e non riesco a capire come utilizzarlo per l'ingestione di base (preimpostata) anziché per uno personalizzato.Utilizzo dell'inserimento di base quando si utilizza l'API YouTube Live Streaming o si eliminano quelli personalizzati duplicati
Quelli personalizzati sono OK, ma per qualche motivo, anche se li chiami con lo stesso nome, crea continuamente duplicati per ogni stream che crei.
Quindi la mia domanda è: come possiamo utilizzarlo per l'ingestione di base o essere in grado di selezionarne uno personalizzato senza crearne uno nuovo ogni volta?
Per esempio qui è l'ingestione di base è possibile selezionare quando si imposta un flusso manualmente all'interno del tuo account YouTube:
Il codice relativo PHP:
// Create an object for the liveBroadcast resource's snippet. Specify values
// for the snippet's title, scheduled start time, and scheduled end time.
$broadcastSnippet = new Google_Service_YouTube_LiveBroadcastSnippet();
$broadcastSnippet->setTitle($this->title);
$broadcastSnippet->setDescription($this->desc);
$broadcastSnippet->setScheduledStartTime($this->start_time);
// Create an object for the liveBroadcast resource's status, and set the
// broadcast's status.
$status = new Google_Service_YouTube_LiveBroadcastStatus();
$status->setPrivacyStatus($this->privacy_status);
// Create the API request that inserts the liveBroadcast resource.
$broadcastInsert = new Google_Service_YouTube_LiveBroadcast();
$broadcastInsert->setSnippet($broadcastSnippet);
$broadcastInsert->setStatus($status);
$broadcastInsert->setKind('youtube#liveBroadcast');
// Execute the request and return an object that contains information
// about the new broadcast.
$broadcastsResponse = $this->youtube->liveBroadcasts->insert('snippet,status', $broadcastInsert, array());
// Create an object for the liveStream resource's snippet. Specify a value
// for the snippet's title.
$streamSnippet = new Google_Service_YouTube_LiveStreamSnippet();
$streamSnippet->setTitle($this->stream_title);
// Create an object for content distribution network details for the live
// stream and specify the stream's format and ingestion type.
$cdn = new Google_Service_YouTube_CdnSettings();
# TODO: Update the below `Format` method to use the new 'resolution' and 'frameRate' methods
$cdn->setFormat($this->format);
$cdn->setIngestionType('rtmp');
// Create the API request that inserts the liveStream resource.
$streamInsert = new Google_Service_YouTube_LiveStream();
$streamInsert->setSnippet($streamSnippet);
$streamInsert->setCdn($cdn);
$streamInsert->setKind('youtube#liveStream');
// Execute the request and return an object that contains information
// about the new stream.
$streamsResponse = $this->youtube->liveStreams->insert('snippet,cdn', $streamInsert, array());
// Bind the broadcast to the live stream.
$bindBroadcastResponse = $this->youtube->liveBroadcasts->bind(
$broadcastsResponse['id'], 'id,contentDetails',
array(
'streamId' => $streamsResponse['id'],
));
Domanda aggiornata per mostrare un esempio di * ingestione di base *. – Brett
@Brett ha aggiornato la mia risposta. – JAL
Sì, sono a conoscenza del deprecato 'cdn.format', ma sfortunatamente il' PHP API Client di Google' non ha aggiunto il supporto per il nuovo modo di farlo ancora AFAIK; almeno nel ramo V1. – Brett