/** * @param LiveBroadcast $liveBroadcast * @param string $privacyStatus * @param string|null $id * @return \Google_Service_YouTube_LiveBroadcast */ protected function setupBroadcast(LiveBroadcast $liveBroadcast, $privacyStatus = 'public', $id = null) { $title = $liveBroadcast->getName(); $description = $liveBroadcast->getDescription(); $start = $liveBroadcast->getStartTimestamp(); $end = $liveBroadcast->getEndTimestamp(); if (new \DateTime() > $start) { $start = new \DateTime(); $start->add(new \DateInterval('PT1S')); } $broadcastSnippet = new \Google_Service_YouTube_LiveBroadcastSnippet(); $broadcastSnippet->setTitle($title); $broadcastSnippet->setDescription($description); $broadcastSnippet->setScheduledStartTime($start->format(\DateTime::ATOM)); $broadcastSnippet->setScheduledEndTime($end->format(\DateTime::ATOM)); $status = new \Google_Service_YouTube_LiveBroadcastStatus(); $status->setPrivacyStatus($privacyStatus); $broadcastInsert = new \Google_Service_YouTube_LiveBroadcast(); if ($id !== null) { $broadcastInsert->setId($id); } $broadcastInsert->setSnippet($broadcastSnippet); $broadcastInsert->setStatus($status); $broadcastInsert->setKind('youtube#liveBroadcast'); return $broadcastInsert; }
// Check to ensure that the access token was successfully acquired. if ($client->getAccessToken()) { try { // 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('New Broadcast'); $broadcastSnippet->setScheduledStartTime('2034-01-30T00:00:00.000Z'); $broadcastSnippet->setScheduledEndTime('2034-01-31T00:00:00.000Z'); // Create an object for the liveBroadcast resource's status, and set the // broadcast's status to "private". $status = new Google_Service_YouTube_LiveBroadcastStatus(); $status->setPrivacyStatus('private'); // 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 = $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('New Stream'); // 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(); $cdn->setFormat("1080p"); $cdn->setIngestionType('rtmp'); // Create the API request that inserts the liveStream resource.