YouTube Data API . liveBroadcasts

Instance Methods

bind(id, part, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None, streamId=None)

Binds a YouTube broadcast to a stream or removes an existing binding between a broadcast and a stream. A broadcast can only be bound to one video stream, though a video stream may be bound to more than one broadcast.

control(id, part, onBehalfOfContentOwner=None, displaySlate=None, onBehalfOfContentOwnerChannel=None, offsetTimeMs=None, walltime=None)

Controls the settings for a slate that can be displayed in the broadcast stream.

delete(id, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None)

Deletes a broadcast.

insert(part, body, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None)

Creates a broadcast.

list(part, broadcastStatus=None, onBehalfOfContentOwner=None, pageToken=None, onBehalfOfContentOwnerChannel=None, maxResults=None, mine=None, broadcastType=None, id=None)

Returns a list of YouTube broadcasts that match the API request parameters.

list_next(previous_request, previous_response)

Retrieves the next page of results.

transition(broadcastStatus, id, part, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None)

Changes the status of a YouTube live broadcast and initiates any processes associated with the new status. For example, when you transition a broadcast's status to testing, YouTube starts to transmit video to that broadcast's monitor stream. Before calling this method, you should confirm that the value of the status.streamStatus property for the stream bound to your broadcast is active.

update(part, body, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None)

Updates a broadcast. For example, you could modify the broadcast settings defined in the liveBroadcast resource's contentDetails object.

Method Details

bind(id, part, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None, streamId=None)
Binds a YouTube broadcast to a stream or removes an existing binding between a broadcast and a stream. A broadcast can only be bound to one video stream, though a video stream may be bound to more than one broadcast.

Args:
  id: string, The id parameter specifies the unique ID of the broadcast that is being bound to a video stream. (required)
  part: string, The part parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status. (required)
  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.

The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.
  onBehalfOfContentOwnerChannel: string, This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.

The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.

This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
  streamId: string, The streamId parameter specifies the unique ID of the video stream that is being bound to a broadcast. If this parameter is omitted, the API will remove any existing binding between the broadcast and a video stream.

Returns:
  An object of the form:

    { # A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.
    "status": { # The status object contains information about the event's status.
      "recordingStatus": "A String", # The broadcast's recording status.
      "privacyStatus": "A String", # The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
      "lifeCycleStatus": "A String", # The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
      "liveBroadcastPriority": "A String", # Priority of the live broadcast event (internal state).
    },
    "topicDetails": {
      "topics": [
        {
          "snippet": { # Information about the topic matched.
            "releaseDate": "A String", # The date at which the topic was released. Filled for types: videoGame
            "name": "A String", # The name of the topic.
          },
          "type": "A String", # The type of the topic.
          "unmatched": True or False, # If this flag is set it means that we have not been able to match the topic title and type provided to a known entity.
        },
      ],
    },
    "kind": "youtube#liveBroadcast", # Identifies what kind of resource this is. Value: the fixed string "youtube#liveBroadcast".
    "statistics": { # Statistics about the live broadcast. These represent a snapshot of the values at the time of the request. Statistics are only returned for live broadcasts. # The statistics object contains info about the event's current stats. These include concurrent viewers and total chat count. Statistics can change (in either direction) during the lifetime of an event. Statistics are only returned while the event is live.
      "concurrentViewers": "A String", # The number of viewers currently watching the broadcast. The property and its value will be present if the broadcast has current viewers and the broadcast owner has not hidden the viewcount for the video. Note that YouTube stops tracking the number of concurrent viewers for a broadcast when the broadcast ends. So, this property would not identify the number of viewers watching an archived video of a live broadcast that already ended.
      "totalChatCount": "A String", # The total number of live chat messages currently on the broadcast. The property and its value will be present if the broadcast is public, has the live chat feature enabled, and has at least one message. Note that this field will not be filled after the broadcast ends. So this property would not identify the number of chat messages for an archived video of a completed live broadcast.
    },
    "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
      "projection": "A String", # The projection format of this broadcast. This defaults to rectangular.
      "enableLowLatency": True or False, # Indicates whether this broadcast has low latency enabled.
      "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
        "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
        "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream.
        "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.
            #
            # You need to set this value to true if you intend to have a broadcast delay for your event.
            #
            # Note: This property cannot be updated once the broadcast is in the testing or live state.
      },
      "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast.
      "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
      "enableClosedCaptions": True or False, # This setting indicates whether HTTP POST closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API. This is mutually exclusive with using the closed_captions_type property, and is equivalent to setting closed_captions_type to CLOSED_CAPTIONS_HTTP_POST.
      "startWithSlate": True or False, # This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
      "closedCaptionsType": "A String",
      "enableContentEncryption": True or False, # This setting indicates whether YouTube should enable content encryption for the broadcast.
      "recordFromStart": True or False, # Automatically start recording after the event goes live. The default value for this property is true.
          #
          #
          #
          # Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
      "enableDvr": True or False, # This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.
          #
          #
          #
          # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
      "boundStreamLastUpdateTimeMs": "A String", # The date and time that the live stream referenced by boundStreamId was last updated.
    },
    "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time.
      "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "description": "A String", # The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
      "title": "A String", # The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
      "publishedAt": "A String", # The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "liveChatId": "A String", # The id of the live chat for this broadcast.
      "scheduledStartTime": "A String", # The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "actualStartTime": "A String", # The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "scheduledEndTime": "A String", # The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "isDefaultBroadcast": True or False,
      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
      },
    },
    "etag": "A String", # Etag of this resource.
    "id": "A String", # The ID that YouTube assigns to uniquely identify the broadcast.
  }
control(id, part, onBehalfOfContentOwner=None, displaySlate=None, onBehalfOfContentOwnerChannel=None, offsetTimeMs=None, walltime=None)
Controls the settings for a slate that can be displayed in the broadcast stream.

Args:
  id: string, The id parameter specifies the YouTube live broadcast ID that uniquely identifies the broadcast in which the slate is being updated. (required)
  part: string, The part parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status. (required)
  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.

The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.
  displaySlate: boolean, The displaySlate parameter specifies whether the slate is being enabled or disabled.
  onBehalfOfContentOwnerChannel: string, This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.

The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.

This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
  offsetTimeMs: string, The offsetTimeMs parameter specifies a positive time offset when the specified slate change will occur. The value is measured in milliseconds from the beginning of the broadcast's monitor stream, which is the time that the testing phase for the broadcast began. Even though it is specified in milliseconds, the value is actually an approximation, and YouTube completes the requested action as closely as possible to that time.

If you do not specify a value for this parameter, then YouTube performs the action as soon as possible. See the Getting started guide for more details.

Important: You should only specify a value for this parameter if your broadcast stream is delayed.
  walltime: string, The walltime parameter specifies the wall clock time at which the specified slate change will occur. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sssZ) format.

Returns:
  An object of the form:

    { # A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.
    "status": { # The status object contains information about the event's status.
      "recordingStatus": "A String", # The broadcast's recording status.
      "privacyStatus": "A String", # The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
      "lifeCycleStatus": "A String", # The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
      "liveBroadcastPriority": "A String", # Priority of the live broadcast event (internal state).
    },
    "topicDetails": {
      "topics": [
        {
          "snippet": { # Information about the topic matched.
            "releaseDate": "A String", # The date at which the topic was released. Filled for types: videoGame
            "name": "A String", # The name of the topic.
          },
          "type": "A String", # The type of the topic.
          "unmatched": True or False, # If this flag is set it means that we have not been able to match the topic title and type provided to a known entity.
        },
      ],
    },
    "kind": "youtube#liveBroadcast", # Identifies what kind of resource this is. Value: the fixed string "youtube#liveBroadcast".
    "statistics": { # Statistics about the live broadcast. These represent a snapshot of the values at the time of the request. Statistics are only returned for live broadcasts. # The statistics object contains info about the event's current stats. These include concurrent viewers and total chat count. Statistics can change (in either direction) during the lifetime of an event. Statistics are only returned while the event is live.
      "concurrentViewers": "A String", # The number of viewers currently watching the broadcast. The property and its value will be present if the broadcast has current viewers and the broadcast owner has not hidden the viewcount for the video. Note that YouTube stops tracking the number of concurrent viewers for a broadcast when the broadcast ends. So, this property would not identify the number of viewers watching an archived video of a live broadcast that already ended.
      "totalChatCount": "A String", # The total number of live chat messages currently on the broadcast. The property and its value will be present if the broadcast is public, has the live chat feature enabled, and has at least one message. Note that this field will not be filled after the broadcast ends. So this property would not identify the number of chat messages for an archived video of a completed live broadcast.
    },
    "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
      "projection": "A String", # The projection format of this broadcast. This defaults to rectangular.
      "enableLowLatency": True or False, # Indicates whether this broadcast has low latency enabled.
      "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
        "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
        "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream.
        "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.
            #
            # You need to set this value to true if you intend to have a broadcast delay for your event.
            #
            # Note: This property cannot be updated once the broadcast is in the testing or live state.
      },
      "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast.
      "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
      "enableClosedCaptions": True or False, # This setting indicates whether HTTP POST closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API. This is mutually exclusive with using the closed_captions_type property, and is equivalent to setting closed_captions_type to CLOSED_CAPTIONS_HTTP_POST.
      "startWithSlate": True or False, # This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
      "closedCaptionsType": "A String",
      "enableContentEncryption": True or False, # This setting indicates whether YouTube should enable content encryption for the broadcast.
      "recordFromStart": True or False, # Automatically start recording after the event goes live. The default value for this property is true.
          #
          #
          #
          # Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
      "enableDvr": True or False, # This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.
          #
          #
          #
          # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
      "boundStreamLastUpdateTimeMs": "A String", # The date and time that the live stream referenced by boundStreamId was last updated.
    },
    "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time.
      "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "description": "A String", # The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
      "title": "A String", # The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
      "publishedAt": "A String", # The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "liveChatId": "A String", # The id of the live chat for this broadcast.
      "scheduledStartTime": "A String", # The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "actualStartTime": "A String", # The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "scheduledEndTime": "A String", # The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "isDefaultBroadcast": True or False,
      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
      },
    },
    "etag": "A String", # Etag of this resource.
    "id": "A String", # The ID that YouTube assigns to uniquely identify the broadcast.
  }
delete(id, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None)
Deletes a broadcast.

Args:
  id: string, The id parameter specifies the YouTube live broadcast ID for the resource that is being deleted. (required)
  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.

The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.
  onBehalfOfContentOwnerChannel: string, This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.

The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.

This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
insert(part, body, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None)
Creates a broadcast.

Args:
  part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.

The part properties that you can include in the parameter value are id, snippet, contentDetails, and status. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.
  "status": { # The status object contains information about the event's status.
    "recordingStatus": "A String", # The broadcast's recording status.
    "privacyStatus": "A String", # The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
    "lifeCycleStatus": "A String", # The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
    "liveBroadcastPriority": "A String", # Priority of the live broadcast event (internal state).
  },
  "topicDetails": {
    "topics": [
      {
        "snippet": { # Information about the topic matched.
          "releaseDate": "A String", # The date at which the topic was released. Filled for types: videoGame
          "name": "A String", # The name of the topic.
        },
        "type": "A String", # The type of the topic.
        "unmatched": True or False, # If this flag is set it means that we have not been able to match the topic title and type provided to a known entity.
      },
    ],
  },
  "kind": "youtube#liveBroadcast", # Identifies what kind of resource this is. Value: the fixed string "youtube#liveBroadcast".
  "statistics": { # Statistics about the live broadcast. These represent a snapshot of the values at the time of the request. Statistics are only returned for live broadcasts. # The statistics object contains info about the event's current stats. These include concurrent viewers and total chat count. Statistics can change (in either direction) during the lifetime of an event. Statistics are only returned while the event is live.
    "concurrentViewers": "A String", # The number of viewers currently watching the broadcast. The property and its value will be present if the broadcast has current viewers and the broadcast owner has not hidden the viewcount for the video. Note that YouTube stops tracking the number of concurrent viewers for a broadcast when the broadcast ends. So, this property would not identify the number of viewers watching an archived video of a live broadcast that already ended.
    "totalChatCount": "A String", # The total number of live chat messages currently on the broadcast. The property and its value will be present if the broadcast is public, has the live chat feature enabled, and has at least one message. Note that this field will not be filled after the broadcast ends. So this property would not identify the number of chat messages for an archived video of a completed live broadcast.
  },
  "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
    "projection": "A String", # The projection format of this broadcast. This defaults to rectangular.
    "enableLowLatency": True or False, # Indicates whether this broadcast has low latency enabled.
    "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
      "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
      "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream.
      "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.
          #
          # You need to set this value to true if you intend to have a broadcast delay for your event.
          #
          # Note: This property cannot be updated once the broadcast is in the testing or live state.
    },
    "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast.
    "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
    "enableClosedCaptions": True or False, # This setting indicates whether HTTP POST closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API. This is mutually exclusive with using the closed_captions_type property, and is equivalent to setting closed_captions_type to CLOSED_CAPTIONS_HTTP_POST.
    "startWithSlate": True or False, # This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
    "closedCaptionsType": "A String",
    "enableContentEncryption": True or False, # This setting indicates whether YouTube should enable content encryption for the broadcast.
    "recordFromStart": True or False, # Automatically start recording after the event goes live. The default value for this property is true.
        #
        #
        #
        # Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
    "enableDvr": True or False, # This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.
        #
        #
        #
        # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
    "boundStreamLastUpdateTimeMs": "A String", # The date and time that the live stream referenced by boundStreamId was last updated.
  },
  "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time.
    "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
    "description": "A String", # The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
    "title": "A String", # The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
    "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
    "publishedAt": "A String", # The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
    "liveChatId": "A String", # The id of the live chat for this broadcast.
    "scheduledStartTime": "A String", # The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
    "actualStartTime": "A String", # The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
    "scheduledEndTime": "A String", # The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
    "isDefaultBroadcast": True or False,
    "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
      "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
        "url": "A String", # The thumbnail image's URL.
        "width": 42, # (Optional) Width of the thumbnail image.
        "height": 42, # (Optional) Height of the thumbnail image.
      },
      "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
        "url": "A String", # The thumbnail image's URL.
        "width": 42, # (Optional) Width of the thumbnail image.
        "height": 42, # (Optional) Height of the thumbnail image.
      },
      "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
        "url": "A String", # The thumbnail image's URL.
        "width": 42, # (Optional) Width of the thumbnail image.
        "height": 42, # (Optional) Height of the thumbnail image.
      },
      "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
        "url": "A String", # The thumbnail image's URL.
        "width": 42, # (Optional) Width of the thumbnail image.
        "height": 42, # (Optional) Height of the thumbnail image.
      },
      "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
        "url": "A String", # The thumbnail image's URL.
        "width": 42, # (Optional) Width of the thumbnail image.
        "height": 42, # (Optional) Height of the thumbnail image.
      },
    },
  },
  "etag": "A String", # Etag of this resource.
  "id": "A String", # The ID that YouTube assigns to uniquely identify the broadcast.
}

  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.

The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.
  onBehalfOfContentOwnerChannel: string, This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.

The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.

This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.

Returns:
  An object of the form:

    { # A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.
    "status": { # The status object contains information about the event's status.
      "recordingStatus": "A String", # The broadcast's recording status.
      "privacyStatus": "A String", # The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
      "lifeCycleStatus": "A String", # The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
      "liveBroadcastPriority": "A String", # Priority of the live broadcast event (internal state).
    },
    "topicDetails": {
      "topics": [
        {
          "snippet": { # Information about the topic matched.
            "releaseDate": "A String", # The date at which the topic was released. Filled for types: videoGame
            "name": "A String", # The name of the topic.
          },
          "type": "A String", # The type of the topic.
          "unmatched": True or False, # If this flag is set it means that we have not been able to match the topic title and type provided to a known entity.
        },
      ],
    },
    "kind": "youtube#liveBroadcast", # Identifies what kind of resource this is. Value: the fixed string "youtube#liveBroadcast".
    "statistics": { # Statistics about the live broadcast. These represent a snapshot of the values at the time of the request. Statistics are only returned for live broadcasts. # The statistics object contains info about the event's current stats. These include concurrent viewers and total chat count. Statistics can change (in either direction) during the lifetime of an event. Statistics are only returned while the event is live.
      "concurrentViewers": "A String", # The number of viewers currently watching the broadcast. The property and its value will be present if the broadcast has current viewers and the broadcast owner has not hidden the viewcount for the video. Note that YouTube stops tracking the number of concurrent viewers for a broadcast when the broadcast ends. So, this property would not identify the number of viewers watching an archived video of a live broadcast that already ended.
      "totalChatCount": "A String", # The total number of live chat messages currently on the broadcast. The property and its value will be present if the broadcast is public, has the live chat feature enabled, and has at least one message. Note that this field will not be filled after the broadcast ends. So this property would not identify the number of chat messages for an archived video of a completed live broadcast.
    },
    "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
      "projection": "A String", # The projection format of this broadcast. This defaults to rectangular.
      "enableLowLatency": True or False, # Indicates whether this broadcast has low latency enabled.
      "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
        "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
        "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream.
        "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.
            #
            # You need to set this value to true if you intend to have a broadcast delay for your event.
            #
            # Note: This property cannot be updated once the broadcast is in the testing or live state.
      },
      "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast.
      "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
      "enableClosedCaptions": True or False, # This setting indicates whether HTTP POST closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API. This is mutually exclusive with using the closed_captions_type property, and is equivalent to setting closed_captions_type to CLOSED_CAPTIONS_HTTP_POST.
      "startWithSlate": True or False, # This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
      "closedCaptionsType": "A String",
      "enableContentEncryption": True or False, # This setting indicates whether YouTube should enable content encryption for the broadcast.
      "recordFromStart": True or False, # Automatically start recording after the event goes live. The default value for this property is true.
          #
          #
          #
          # Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
      "enableDvr": True or False, # This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.
          #
          #
          #
          # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
      "boundStreamLastUpdateTimeMs": "A String", # The date and time that the live stream referenced by boundStreamId was last updated.
    },
    "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time.
      "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "description": "A String", # The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
      "title": "A String", # The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
      "publishedAt": "A String", # The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "liveChatId": "A String", # The id of the live chat for this broadcast.
      "scheduledStartTime": "A String", # The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "actualStartTime": "A String", # The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "scheduledEndTime": "A String", # The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "isDefaultBroadcast": True or False,
      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
      },
    },
    "etag": "A String", # Etag of this resource.
    "id": "A String", # The ID that YouTube assigns to uniquely identify the broadcast.
  }
list(part, broadcastStatus=None, onBehalfOfContentOwner=None, pageToken=None, onBehalfOfContentOwnerChannel=None, maxResults=None, mine=None, broadcastType=None, id=None)
Returns a list of YouTube broadcasts that match the API request parameters.

Args:
  part: string, The part parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status. (required)
  broadcastStatus: string, The broadcastStatus parameter filters the API response to only include broadcasts with the specified status.
    Allowed values
      active - Return current live broadcasts.
      all - Return all broadcasts.
      completed - Return broadcasts that have already ended.
      upcoming - Return broadcasts that have not yet started.
  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.

The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.
  pageToken: string, The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
  onBehalfOfContentOwnerChannel: string, This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.

The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.

This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
  maxResults: integer, The maxResults parameter specifies the maximum number of items that should be returned in the result set.
  mine: boolean, The mine parameter can be used to instruct the API to only return broadcasts owned by the authenticated user. Set the parameter value to true to only retrieve your own broadcasts.
  broadcastType: string, The broadcastType parameter filters the API response to only include broadcasts with the specified type. This is only compatible with the mine filter for now.
    Allowed values
      all - Return all broadcasts.
      event - Return only scheduled event broadcasts.
      persistent - Return only persistent broadcasts.
  id: string, The id parameter specifies a comma-separated list of YouTube broadcast IDs that identify the broadcasts being retrieved. In a liveBroadcast resource, the id property specifies the broadcast's ID.

Returns:
  An object of the form:

    {
    "eventId": "A String", # Serialized EventId of the request which produced this response.
    "nextPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
    "kind": "youtube#liveBroadcastListResponse", # Identifies what kind of resource this is. Value: the fixed string "youtube#liveBroadcastListResponse".
    "visitorId": "A String", # The visitorId identifies the visitor.
    "items": [ # A list of broadcasts that match the request criteria.
      { # A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.
        "status": { # The status object contains information about the event's status.
          "recordingStatus": "A String", # The broadcast's recording status.
          "privacyStatus": "A String", # The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
          "lifeCycleStatus": "A String", # The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
          "liveBroadcastPriority": "A String", # Priority of the live broadcast event (internal state).
        },
        "topicDetails": {
          "topics": [
            {
              "snippet": { # Information about the topic matched.
                "releaseDate": "A String", # The date at which the topic was released. Filled for types: videoGame
                "name": "A String", # The name of the topic.
              },
              "type": "A String", # The type of the topic.
              "unmatched": True or False, # If this flag is set it means that we have not been able to match the topic title and type provided to a known entity.
            },
          ],
        },
        "kind": "youtube#liveBroadcast", # Identifies what kind of resource this is. Value: the fixed string "youtube#liveBroadcast".
        "statistics": { # Statistics about the live broadcast. These represent a snapshot of the values at the time of the request. Statistics are only returned for live broadcasts. # The statistics object contains info about the event's current stats. These include concurrent viewers and total chat count. Statistics can change (in either direction) during the lifetime of an event. Statistics are only returned while the event is live.
          "concurrentViewers": "A String", # The number of viewers currently watching the broadcast. The property and its value will be present if the broadcast has current viewers and the broadcast owner has not hidden the viewcount for the video. Note that YouTube stops tracking the number of concurrent viewers for a broadcast when the broadcast ends. So, this property would not identify the number of viewers watching an archived video of a live broadcast that already ended.
          "totalChatCount": "A String", # The total number of live chat messages currently on the broadcast. The property and its value will be present if the broadcast is public, has the live chat feature enabled, and has at least one message. Note that this field will not be filled after the broadcast ends. So this property would not identify the number of chat messages for an archived video of a completed live broadcast.
        },
        "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
          "projection": "A String", # The projection format of this broadcast. This defaults to rectangular.
          "enableLowLatency": True or False, # Indicates whether this broadcast has low latency enabled.
          "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
            "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
            "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream.
            "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.
                #
                # You need to set this value to true if you intend to have a broadcast delay for your event.
                #
                # Note: This property cannot be updated once the broadcast is in the testing or live state.
          },
          "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast.
          "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
          "enableClosedCaptions": True or False, # This setting indicates whether HTTP POST closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API. This is mutually exclusive with using the closed_captions_type property, and is equivalent to setting closed_captions_type to CLOSED_CAPTIONS_HTTP_POST.
          "startWithSlate": True or False, # This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
          "closedCaptionsType": "A String",
          "enableContentEncryption": True or False, # This setting indicates whether YouTube should enable content encryption for the broadcast.
          "recordFromStart": True or False, # Automatically start recording after the event goes live. The default value for this property is true.
              #
              #
              #
              # Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
          "enableDvr": True or False, # This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.
              #
              #
              #
              # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
          "boundStreamLastUpdateTimeMs": "A String", # The date and time that the live stream referenced by boundStreamId was last updated.
        },
        "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time.
          "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
          "description": "A String", # The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
          "title": "A String", # The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
          "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
          "publishedAt": "A String", # The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
          "liveChatId": "A String", # The id of the live chat for this broadcast.
          "scheduledStartTime": "A String", # The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
          "actualStartTime": "A String", # The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
          "scheduledEndTime": "A String", # The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
          "isDefaultBroadcast": True or False,
          "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
            "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
              "url": "A String", # The thumbnail image's URL.
              "width": 42, # (Optional) Width of the thumbnail image.
              "height": 42, # (Optional) Height of the thumbnail image.
            },
            "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
              "url": "A String", # The thumbnail image's URL.
              "width": 42, # (Optional) Width of the thumbnail image.
              "height": 42, # (Optional) Height of the thumbnail image.
            },
            "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
              "url": "A String", # The thumbnail image's URL.
              "width": 42, # (Optional) Width of the thumbnail image.
              "height": 42, # (Optional) Height of the thumbnail image.
            },
            "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
              "url": "A String", # The thumbnail image's URL.
              "width": 42, # (Optional) Width of the thumbnail image.
              "height": 42, # (Optional) Height of the thumbnail image.
            },
            "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
              "url": "A String", # The thumbnail image's URL.
              "width": 42, # (Optional) Width of the thumbnail image.
              "height": 42, # (Optional) Height of the thumbnail image.
            },
          },
        },
        "etag": "A String", # Etag of this resource.
        "id": "A String", # The ID that YouTube assigns to uniquely identify the broadcast.
      },
    ],
    "tokenPagination": { # Stub token pagination template to suppress results.
    },
    "etag": "A String", # Etag of this resource.
    "prevPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
    "pageInfo": { # Paging details for lists of resources, including total number of items available and number of resources returned in a single page.
      "totalResults": 42, # The total number of results in the result set.
      "resultsPerPage": 42, # The number of results included in the API response.
    },
  }
list_next(previous_request, previous_response)
Retrieves the next page of results.

Args:
  previous_request: The request for the previous page. (required)
  previous_response: The response from the request for the previous page. (required)

Returns:
  A request object that you can call 'execute()' on to request the next
  page. Returns None if there are no more items in the collection.
    
transition(broadcastStatus, id, part, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None)
Changes the status of a YouTube live broadcast and initiates any processes associated with the new status. For example, when you transition a broadcast's status to testing, YouTube starts to transmit video to that broadcast's monitor stream. Before calling this method, you should confirm that the value of the status.streamStatus property for the stream bound to your broadcast is active.

Args:
  broadcastStatus: string, The broadcastStatus parameter identifies the state to which the broadcast is changing. Note that to transition a broadcast to either the testing or live state, the status.streamStatus must be active for the stream that the broadcast is bound to. (required)
    Allowed values
      complete - The broadcast is over. YouTube stops transmitting video.
      live - The broadcast is visible to its audience. YouTube transmits video to the broadcast's monitor stream and its broadcast stream.
      testing - Start testing the broadcast. YouTube transmits video to the broadcast's monitor stream. Note that you can only transition a broadcast to the testing state if its contentDetails.monitorStream.enableMonitorStream property is set to true.
  id: string, The id parameter specifies the unique ID of the broadcast that is transitioning to another status. (required)
  part: string, The part parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status. (required)
  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.

The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.
  onBehalfOfContentOwnerChannel: string, This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.

The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.

This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.

Returns:
  An object of the form:

    { # A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.
    "status": { # The status object contains information about the event's status.
      "recordingStatus": "A String", # The broadcast's recording status.
      "privacyStatus": "A String", # The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
      "lifeCycleStatus": "A String", # The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
      "liveBroadcastPriority": "A String", # Priority of the live broadcast event (internal state).
    },
    "topicDetails": {
      "topics": [
        {
          "snippet": { # Information about the topic matched.
            "releaseDate": "A String", # The date at which the topic was released. Filled for types: videoGame
            "name": "A String", # The name of the topic.
          },
          "type": "A String", # The type of the topic.
          "unmatched": True or False, # If this flag is set it means that we have not been able to match the topic title and type provided to a known entity.
        },
      ],
    },
    "kind": "youtube#liveBroadcast", # Identifies what kind of resource this is. Value: the fixed string "youtube#liveBroadcast".
    "statistics": { # Statistics about the live broadcast. These represent a snapshot of the values at the time of the request. Statistics are only returned for live broadcasts. # The statistics object contains info about the event's current stats. These include concurrent viewers and total chat count. Statistics can change (in either direction) during the lifetime of an event. Statistics are only returned while the event is live.
      "concurrentViewers": "A String", # The number of viewers currently watching the broadcast. The property and its value will be present if the broadcast has current viewers and the broadcast owner has not hidden the viewcount for the video. Note that YouTube stops tracking the number of concurrent viewers for a broadcast when the broadcast ends. So, this property would not identify the number of viewers watching an archived video of a live broadcast that already ended.
      "totalChatCount": "A String", # The total number of live chat messages currently on the broadcast. The property and its value will be present if the broadcast is public, has the live chat feature enabled, and has at least one message. Note that this field will not be filled after the broadcast ends. So this property would not identify the number of chat messages for an archived video of a completed live broadcast.
    },
    "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
      "projection": "A String", # The projection format of this broadcast. This defaults to rectangular.
      "enableLowLatency": True or False, # Indicates whether this broadcast has low latency enabled.
      "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
        "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
        "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream.
        "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.
            #
            # You need to set this value to true if you intend to have a broadcast delay for your event.
            #
            # Note: This property cannot be updated once the broadcast is in the testing or live state.
      },
      "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast.
      "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
      "enableClosedCaptions": True or False, # This setting indicates whether HTTP POST closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API. This is mutually exclusive with using the closed_captions_type property, and is equivalent to setting closed_captions_type to CLOSED_CAPTIONS_HTTP_POST.
      "startWithSlate": True or False, # This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
      "closedCaptionsType": "A String",
      "enableContentEncryption": True or False, # This setting indicates whether YouTube should enable content encryption for the broadcast.
      "recordFromStart": True or False, # Automatically start recording after the event goes live. The default value for this property is true.
          #
          #
          #
          # Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
      "enableDvr": True or False, # This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.
          #
          #
          #
          # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
      "boundStreamLastUpdateTimeMs": "A String", # The date and time that the live stream referenced by boundStreamId was last updated.
    },
    "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time.
      "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "description": "A String", # The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
      "title": "A String", # The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
      "publishedAt": "A String", # The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "liveChatId": "A String", # The id of the live chat for this broadcast.
      "scheduledStartTime": "A String", # The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "actualStartTime": "A String", # The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "scheduledEndTime": "A String", # The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "isDefaultBroadcast": True or False,
      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
      },
    },
    "etag": "A String", # Etag of this resource.
    "id": "A String", # The ID that YouTube assigns to uniquely identify the broadcast.
  }
update(part, body, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None)
Updates a broadcast. For example, you could modify the broadcast settings defined in the liveBroadcast resource's contentDetails object.

Args:
  part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.

The part properties that you can include in the parameter value are id, snippet, contentDetails, and status.

Note that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. For example, a broadcast's privacy status is defined in the status part. As such, if your request is updating a private or unlisted broadcast, and the request's part parameter value includes the status part, the broadcast's privacy setting will be updated to whatever value the request body specifies. If the request body does not specify a value, the existing privacy setting will be removed and the broadcast will revert to the default privacy setting. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.
  "status": { # The status object contains information about the event's status.
    "recordingStatus": "A String", # The broadcast's recording status.
    "privacyStatus": "A String", # The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
    "lifeCycleStatus": "A String", # The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
    "liveBroadcastPriority": "A String", # Priority of the live broadcast event (internal state).
  },
  "topicDetails": {
    "topics": [
      {
        "snippet": { # Information about the topic matched.
          "releaseDate": "A String", # The date at which the topic was released. Filled for types: videoGame
          "name": "A String", # The name of the topic.
        },
        "type": "A String", # The type of the topic.
        "unmatched": True or False, # If this flag is set it means that we have not been able to match the topic title and type provided to a known entity.
      },
    ],
  },
  "kind": "youtube#liveBroadcast", # Identifies what kind of resource this is. Value: the fixed string "youtube#liveBroadcast".
  "statistics": { # Statistics about the live broadcast. These represent a snapshot of the values at the time of the request. Statistics are only returned for live broadcasts. # The statistics object contains info about the event's current stats. These include concurrent viewers and total chat count. Statistics can change (in either direction) during the lifetime of an event. Statistics are only returned while the event is live.
    "concurrentViewers": "A String", # The number of viewers currently watching the broadcast. The property and its value will be present if the broadcast has current viewers and the broadcast owner has not hidden the viewcount for the video. Note that YouTube stops tracking the number of concurrent viewers for a broadcast when the broadcast ends. So, this property would not identify the number of viewers watching an archived video of a live broadcast that already ended.
    "totalChatCount": "A String", # The total number of live chat messages currently on the broadcast. The property and its value will be present if the broadcast is public, has the live chat feature enabled, and has at least one message. Note that this field will not be filled after the broadcast ends. So this property would not identify the number of chat messages for an archived video of a completed live broadcast.
  },
  "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
    "projection": "A String", # The projection format of this broadcast. This defaults to rectangular.
    "enableLowLatency": True or False, # Indicates whether this broadcast has low latency enabled.
    "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
      "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
      "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream.
      "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.
          #
          # You need to set this value to true if you intend to have a broadcast delay for your event.
          #
          # Note: This property cannot be updated once the broadcast is in the testing or live state.
    },
    "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast.
    "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
    "enableClosedCaptions": True or False, # This setting indicates whether HTTP POST closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API. This is mutually exclusive with using the closed_captions_type property, and is equivalent to setting closed_captions_type to CLOSED_CAPTIONS_HTTP_POST.
    "startWithSlate": True or False, # This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
    "closedCaptionsType": "A String",
    "enableContentEncryption": True or False, # This setting indicates whether YouTube should enable content encryption for the broadcast.
    "recordFromStart": True or False, # Automatically start recording after the event goes live. The default value for this property is true.
        #
        #
        #
        # Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
    "enableDvr": True or False, # This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.
        #
        #
        #
        # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
    "boundStreamLastUpdateTimeMs": "A String", # The date and time that the live stream referenced by boundStreamId was last updated.
  },
  "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time.
    "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
    "description": "A String", # The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
    "title": "A String", # The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
    "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
    "publishedAt": "A String", # The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
    "liveChatId": "A String", # The id of the live chat for this broadcast.
    "scheduledStartTime": "A String", # The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
    "actualStartTime": "A String", # The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
    "scheduledEndTime": "A String", # The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
    "isDefaultBroadcast": True or False,
    "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
      "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
        "url": "A String", # The thumbnail image's URL.
        "width": 42, # (Optional) Width of the thumbnail image.
        "height": 42, # (Optional) Height of the thumbnail image.
      },
      "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
        "url": "A String", # The thumbnail image's URL.
        "width": 42, # (Optional) Width of the thumbnail image.
        "height": 42, # (Optional) Height of the thumbnail image.
      },
      "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
        "url": "A String", # The thumbnail image's URL.
        "width": 42, # (Optional) Width of the thumbnail image.
        "height": 42, # (Optional) Height of the thumbnail image.
      },
      "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
        "url": "A String", # The thumbnail image's URL.
        "width": 42, # (Optional) Width of the thumbnail image.
        "height": 42, # (Optional) Height of the thumbnail image.
      },
      "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
        "url": "A String", # The thumbnail image's URL.
        "width": 42, # (Optional) Width of the thumbnail image.
        "height": 42, # (Optional) Height of the thumbnail image.
      },
    },
  },
  "etag": "A String", # Etag of this resource.
  "id": "A String", # The ID that YouTube assigns to uniquely identify the broadcast.
}

  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.

The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.
  onBehalfOfContentOwnerChannel: string, This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.

The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.

This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.

Returns:
  An object of the form:

    { # A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.
    "status": { # The status object contains information about the event's status.
      "recordingStatus": "A String", # The broadcast's recording status.
      "privacyStatus": "A String", # The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
      "lifeCycleStatus": "A String", # The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
      "liveBroadcastPriority": "A String", # Priority of the live broadcast event (internal state).
    },
    "topicDetails": {
      "topics": [
        {
          "snippet": { # Information about the topic matched.
            "releaseDate": "A String", # The date at which the topic was released. Filled for types: videoGame
            "name": "A String", # The name of the topic.
          },
          "type": "A String", # The type of the topic.
          "unmatched": True or False, # If this flag is set it means that we have not been able to match the topic title and type provided to a known entity.
        },
      ],
    },
    "kind": "youtube#liveBroadcast", # Identifies what kind of resource this is. Value: the fixed string "youtube#liveBroadcast".
    "statistics": { # Statistics about the live broadcast. These represent a snapshot of the values at the time of the request. Statistics are only returned for live broadcasts. # The statistics object contains info about the event's current stats. These include concurrent viewers and total chat count. Statistics can change (in either direction) during the lifetime of an event. Statistics are only returned while the event is live.
      "concurrentViewers": "A String", # The number of viewers currently watching the broadcast. The property and its value will be present if the broadcast has current viewers and the broadcast owner has not hidden the viewcount for the video. Note that YouTube stops tracking the number of concurrent viewers for a broadcast when the broadcast ends. So, this property would not identify the number of viewers watching an archived video of a live broadcast that already ended.
      "totalChatCount": "A String", # The total number of live chat messages currently on the broadcast. The property and its value will be present if the broadcast is public, has the live chat feature enabled, and has at least one message. Note that this field will not be filled after the broadcast ends. So this property would not identify the number of chat messages for an archived video of a completed live broadcast.
    },
    "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
      "projection": "A String", # The projection format of this broadcast. This defaults to rectangular.
      "enableLowLatency": True or False, # Indicates whether this broadcast has low latency enabled.
      "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
        "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
        "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream.
        "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.
            #
            # You need to set this value to true if you intend to have a broadcast delay for your event.
            #
            # Note: This property cannot be updated once the broadcast is in the testing or live state.
      },
      "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast.
      "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
      "enableClosedCaptions": True or False, # This setting indicates whether HTTP POST closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API. This is mutually exclusive with using the closed_captions_type property, and is equivalent to setting closed_captions_type to CLOSED_CAPTIONS_HTTP_POST.
      "startWithSlate": True or False, # This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
      "closedCaptionsType": "A String",
      "enableContentEncryption": True or False, # This setting indicates whether YouTube should enable content encryption for the broadcast.
      "recordFromStart": True or False, # Automatically start recording after the event goes live. The default value for this property is true.
          #
          #
          #
          # Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
      "enableDvr": True or False, # This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.
          #
          #
          #
          # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
      "boundStreamLastUpdateTimeMs": "A String", # The date and time that the live stream referenced by boundStreamId was last updated.
    },
    "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time.
      "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "description": "A String", # The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
      "title": "A String", # The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
      "publishedAt": "A String", # The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "liveChatId": "A String", # The id of the live chat for this broadcast.
      "scheduledStartTime": "A String", # The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "actualStartTime": "A String", # The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "scheduledEndTime": "A String", # The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "isDefaultBroadcast": True or False,
      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
      },
    },
    "etag": "A String", # Etag of this resource.
    "id": "A String", # The ID that YouTube assigns to uniquely identify the broadcast.
  }