youtube api is the thing you can use to get meta data about the videos and channels. like Upload a videoMethod: youtube.videos.insertDescription: The following code sample calls the API's videos.insert method to add a video to user's channel. The code also utilizes Google_MediaFileUpload class with the resumable upload parameter set to true to be able to to upload the video in chunks.
Create a broadcast and streamMethod: youtube.liveBroadcasts.bind,youtube.liveBroadcasts.insert,youtube.liveStreams.insertDescription: This sample calls the API's liveBroadcasts.insert and liveStreams.insert methods to create a broadcast and a stream. Then, it calls the liveBroadcasts.bind method to bind the stream to the broadcast.
Retrieve a channel's broadcastsMethod: youtube.liveBroadcasts.listDescription: This sample calls the API's liveBroadcasts.list method to retrieve a list of broadcasts for the channel associated with the request. By default, the request retrieves all broadcasts for the channel, but you can also specify a value for the --broadcast-status option to only retrieve broadcasts with a particular status.