# YouTube Data API . liveStreams

## Instance Methods

Deletes a video stream.

Creates a video stream. The stream enables you to send your video to YouTube, which can then broadcast the video to your audience.

Returns a list of video streams that match the API request parameters.

Retrieves the next page of results.

Updates a video stream. If the properties that you want to change cannot be updated, then you need to create a new stream with the proper settings.

### Method Details

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

    Deletes a video stream.

    Args:
      id: string, The id parameter specifies the YouTube live stream 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=None, body, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None)`

    Creates a video stream. The stream enables you to send your video to YouTube, which can then broadcast the video to your audience.

    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, cdn, and status. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # A live stream describes a live ingestion point.
        "status": { # Brief description of the live stream status. # The status object contains information about live stream's status.
          "streamStatus": "A String",
        },
        "kind": "youtube#liveStream", # Identifies what kind of resource this is. Value: the fixed string "youtube#liveStream".
        "contentDetails": { # Detailed settings of a stream. # The content_details object contains information about the stream, including the closed captions ingestion URL.
          "isReusable": True or False, # Indicates whether the stream is reusable, which means that it can be bound to multiple broadcasts. It is common for broadcasters to reuse the same stream for many different broadcasts if those broadcasts occur at different times.
              #
              # If you set this value to false, then the stream will not be reusable, which means that it can only be bound to one broadcast. Non-reusable streams differ from reusable streams in the following ways:
              # - A non-reusable stream can only be bound to one broadcast.
              # - A non-reusable stream might be deleted by an automated process after the broadcast ends.
              # - The  liveStreams.list method does not list non-reusable streams if you call the method and set the mine parameter to true. The only way to use that method to retrieve the resource for a non-reusable stream is to use the id parameter to identify the stream.
          "closedCaptionsIngestionUrl": "A String", # The ingestion URL where the closed captions of this stream are sent.
        },
        "cdn": { # Brief description of the live stream cdn settings. # The cdn object defines the live stream's content delivery network (CDN) settings. These settings provide details about the manner in which you stream your content to YouTube.
          "ingestionType": "A String", # The method or protocol used to transmit the video stream.
          "ingestionInfo": { # Describes information necessary for ingesting an RTMP or an HTTP stream. # The ingestionInfo object contains information that YouTube provides that you need to transmit your RTMP or HTTP stream to YouTube.
            "backupIngestionAddress": "A String", # The backup ingestion URL that you should use to stream video to YouTube. You have the option of simultaneously streaming the content that you are sending to the ingestionAddress to this URL.
            "streamName": "A String", # The HTTP or RTMP stream name that YouTube assigns to the video stream.
            "ingestionAddress": "A String", # The primary ingestion URL that you should use to stream video to YouTube. You must stream video to this URL.
                #
                # Depending on which application or tool you use to encode your video stream, you may need to enter the stream URL and stream name separately or you may need to concatenate them in the following format:
                #
                # STREAM_URL/STREAM_NAME
          },
          "format": "A String", # The format of the video stream that you are sending to Youtube.
        },
        "snippet": { # The snippet object contains basic details about the stream, including its channel, title, and description.
          "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is transmitting the stream.
          "description": "A String", # The stream's description. The value cannot be longer than 10000 characters.
          "publishedAt": "A String", # The date and time that the stream was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
          "title": "A String", # The stream's title. The value must be between 1 and 128 characters long.
        },
        "etag": "A String", # Etag of this resource.
        "id": "A String", # The ID that YouTube assigns to uniquely identify the stream.
      }

      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 live stream describes a live ingestion point.
          "status": { # Brief description of the live stream status. # The status object contains information about live stream's status.
            "streamStatus": "A String",
          },
          "kind": "youtube#liveStream", # Identifies what kind of resource this is. Value: the fixed string "youtube#liveStream".
          "contentDetails": { # Detailed settings of a stream. # The content_details object contains information about the stream, including the closed captions ingestion URL.
            "isReusable": True or False, # Indicates whether the stream is reusable, which means that it can be bound to multiple broadcasts. It is common for broadcasters to reuse the same stream for many different broadcasts if those broadcasts occur at different times.
                #
                # If you set this value to false, then the stream will not be reusable, which means that it can only be bound to one broadcast. Non-reusable streams differ from reusable streams in the following ways:
                # - A non-reusable stream can only be bound to one broadcast.
                # - A non-reusable stream might be deleted by an automated process after the broadcast ends.
                # - The  liveStreams.list method does not list non-reusable streams if you call the method and set the mine parameter to true. The only way to use that method to retrieve the resource for a non-reusable stream is to use the id parameter to identify the stream.
            "closedCaptionsIngestionUrl": "A String", # The ingestion URL where the closed captions of this stream are sent.
          },
          "cdn": { # Brief description of the live stream cdn settings. # The cdn object defines the live stream's content delivery network (CDN) settings. These settings provide details about the manner in which you stream your content to YouTube.
            "ingestionType": "A String", # The method or protocol used to transmit the video stream.
            "ingestionInfo": { # Describes information necessary for ingesting an RTMP or an HTTP stream. # The ingestionInfo object contains information that YouTube provides that you need to transmit your RTMP or HTTP stream to YouTube.
              "backupIngestionAddress": "A String", # The backup ingestion URL that you should use to stream video to YouTube. You have the option of simultaneously streaming the content that you are sending to the ingestionAddress to this URL.
              "streamName": "A String", # The HTTP or RTMP stream name that YouTube assigns to the video stream.
              "ingestionAddress": "A String", # The primary ingestion URL that you should use to stream video to YouTube. You must stream video to this URL.
                  #
                  # Depending on which application or tool you use to encode your video stream, you may need to enter the stream URL and stream name separately or you may need to concatenate them in the following format:
                  #
                  # STREAM_URL/STREAM_NAME
            },
            "format": "A String", # The format of the video stream that you are sending to Youtube.
          },
          "snippet": { # The snippet object contains basic details about the stream, including its channel, title, and description.
            "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is transmitting the stream.
            "description": "A String", # The stream's description. The value cannot be longer than 10000 characters.
            "publishedAt": "A String", # The date and time that the stream was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
            "title": "A String", # The stream's title. The value must be between 1 and 128 characters long.
          },
          "etag": "A String", # Etag of this resource.
          "id": "A String", # The ID that YouTube assigns to uniquely identify the stream.
        }

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

    Returns a list of video streams that match the API request parameters.

    Args:
      part: string, The part parameter specifies a comma-separated list of one or more liveStream resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, cdn, 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.
      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. Acceptable values are 0 to 50, inclusive. The default value is 5.
      mine: boolean, The mine parameter can be used to instruct the API to only return streams owned by the authenticated user. Set the parameter value to true to only retrieve your own streams.
      id: string, The id parameter specifies a comma-separated list of YouTube stream IDs that identify the streams being retrieved. In a liveStream resource, the id property specifies the stream'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#liveStreamListResponse", # Identifies what kind of resource this is. Value: the fixed string "youtube#liveStreamListResponse".
        "visitorId": "A String", # The visitorId identifies the visitor.
        "items": [ # A list of live streams that match the request criteria.
          { # A live stream describes a live ingestion point.
              "status": { # Brief description of the live stream status. # The status object contains information about live stream's status.
                "streamStatus": "A String",
              },
              "kind": "youtube#liveStream", # Identifies what kind of resource this is. Value: the fixed string "youtube#liveStream".
              "contentDetails": { # Detailed settings of a stream. # The content_details object contains information about the stream, including the closed captions ingestion URL.
                "isReusable": True or False, # Indicates whether the stream is reusable, which means that it can be bound to multiple broadcasts. It is common for broadcasters to reuse the same stream for many different broadcasts if those broadcasts occur at different times.
                    #
                    # If you set this value to false, then the stream will not be reusable, which means that it can only be bound to one broadcast. Non-reusable streams differ from reusable streams in the following ways:
                    # - A non-reusable stream can only be bound to one broadcast.
                    # - A non-reusable stream might be deleted by an automated process after the broadcast ends.
                    # - The  liveStreams.list method does not list non-reusable streams if you call the method and set the mine parameter to true. The only way to use that method to retrieve the resource for a non-reusable stream is to use the id parameter to identify the stream.
                "closedCaptionsIngestionUrl": "A String", # The ingestion URL where the closed captions of this stream are sent.
              },
              "cdn": { # Brief description of the live stream cdn settings. # The cdn object defines the live stream's content delivery network (CDN) settings. These settings provide details about the manner in which you stream your content to YouTube.
                "ingestionType": "A String", # The method or protocol used to transmit the video stream.
                "ingestionInfo": { # Describes information necessary for ingesting an RTMP or an HTTP stream. # The ingestionInfo object contains information that YouTube provides that you need to transmit your RTMP or HTTP stream to YouTube.
                  "backupIngestionAddress": "A String", # The backup ingestion URL that you should use to stream video to YouTube. You have the option of simultaneously streaming the content that you are sending to the ingestionAddress to this URL.
                  "streamName": "A String", # The HTTP or RTMP stream name that YouTube assigns to the video stream.
                  "ingestionAddress": "A String", # The primary ingestion URL that you should use to stream video to YouTube. You must stream video to this URL.
                      #
                      # Depending on which application or tool you use to encode your video stream, you may need to enter the stream URL and stream name separately or you may need to concatenate them in the following format:
                      #
                      # STREAM_URL/STREAM_NAME
                },
                "format": "A String", # The format of the video stream that you are sending to Youtube.
              },
              "snippet": { # The snippet object contains basic details about the stream, including its channel, title, and description.
                "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is transmitting the stream.
                "description": "A String", # The stream's description. The value cannot be longer than 10000 characters.
                "publishedAt": "A String", # The date and time that the stream was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
                "title": "A String", # The stream's title. The value must be between 1 and 128 characters long.
              },
              "etag": "A String", # Etag of this resource.
              "id": "A String", # The ID that YouTube assigns to uniquely identify the stream.
            },
        ],
        "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.

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

    Updates a video stream. If the properties that you want to change cannot be updated, then you need to create a new stream with the proper settings.

    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, cdn, 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. If the request body does not specify a value for a mutable property, the existing value for that property will be removed. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # A live stream describes a live ingestion point.
        "status": { # Brief description of the live stream status. # The status object contains information about live stream's status.
          "streamStatus": "A String",
        },
        "kind": "youtube#liveStream", # Identifies what kind of resource this is. Value: the fixed string "youtube#liveStream".
        "contentDetails": { # Detailed settings of a stream. # The content_details object contains information about the stream, including the closed captions ingestion URL.
          "isReusable": True or False, # Indicates whether the stream is reusable, which means that it can be bound to multiple broadcasts. It is common for broadcasters to reuse the same stream for many different broadcasts if those broadcasts occur at different times.
              #
              # If you set this value to false, then the stream will not be reusable, which means that it can only be bound to one broadcast. Non-reusable streams differ from reusable streams in the following ways:
              # - A non-reusable stream can only be bound to one broadcast.
              # - A non-reusable stream might be deleted by an automated process after the broadcast ends.
              # - The  liveStreams.list method does not list non-reusable streams if you call the method and set the mine parameter to true. The only way to use that method to retrieve the resource for a non-reusable stream is to use the id parameter to identify the stream.
          "closedCaptionsIngestionUrl": "A String", # The ingestion URL where the closed captions of this stream are sent.
        },
        "cdn": { # Brief description of the live stream cdn settings. # The cdn object defines the live stream's content delivery network (CDN) settings. These settings provide details about the manner in which you stream your content to YouTube.
          "ingestionType": "A String", # The method or protocol used to transmit the video stream.
          "ingestionInfo": { # Describes information necessary for ingesting an RTMP or an HTTP stream. # The ingestionInfo object contains information that YouTube provides that you need to transmit your RTMP or HTTP stream to YouTube.
            "backupIngestionAddress": "A String", # The backup ingestion URL that you should use to stream video to YouTube. You have the option of simultaneously streaming the content that you are sending to the ingestionAddress to this URL.
            "streamName": "A String", # The HTTP or RTMP stream name that YouTube assigns to the video stream.
            "ingestionAddress": "A String", # The primary ingestion URL that you should use to stream video to YouTube. You must stream video to this URL.
                #
                # Depending on which application or tool you use to encode your video stream, you may need to enter the stream URL and stream name separately or you may need to concatenate them in the following format:
                #
                # STREAM_URL/STREAM_NAME
          },
          "format": "A String", # The format of the video stream that you are sending to Youtube.
        },
        "snippet": { # The snippet object contains basic details about the stream, including its channel, title, and description.
          "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is transmitting the stream.
          "description": "A String", # The stream's description. The value cannot be longer than 10000 characters.
          "publishedAt": "A String", # The date and time that the stream was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
          "title": "A String", # The stream's title. The value must be between 1 and 128 characters long.
        },
        "etag": "A String", # Etag of this resource.
        "id": "A String", # The ID that YouTube assigns to uniquely identify the stream.
      }

      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 live stream describes a live ingestion point.
          "status": { # Brief description of the live stream status. # The status object contains information about live stream's status.
            "streamStatus": "A String",
          },
          "kind": "youtube#liveStream", # Identifies what kind of resource this is. Value: the fixed string "youtube#liveStream".
          "contentDetails": { # Detailed settings of a stream. # The content_details object contains information about the stream, including the closed captions ingestion URL.
            "isReusable": True or False, # Indicates whether the stream is reusable, which means that it can be bound to multiple broadcasts. It is common for broadcasters to reuse the same stream for many different broadcasts if those broadcasts occur at different times.
                #
                # If you set this value to false, then the stream will not be reusable, which means that it can only be bound to one broadcast. Non-reusable streams differ from reusable streams in the following ways:
                # - A non-reusable stream can only be bound to one broadcast.
                # - A non-reusable stream might be deleted by an automated process after the broadcast ends.
                # - The  liveStreams.list method does not list non-reusable streams if you call the method and set the mine parameter to true. The only way to use that method to retrieve the resource for a non-reusable stream is to use the id parameter to identify the stream.
            "closedCaptionsIngestionUrl": "A String", # The ingestion URL where the closed captions of this stream are sent.
          },
          "cdn": { # Brief description of the live stream cdn settings. # The cdn object defines the live stream's content delivery network (CDN) settings. These settings provide details about the manner in which you stream your content to YouTube.
            "ingestionType": "A String", # The method or protocol used to transmit the video stream.
            "ingestionInfo": { # Describes information necessary for ingesting an RTMP or an HTTP stream. # The ingestionInfo object contains information that YouTube provides that you need to transmit your RTMP or HTTP stream to YouTube.
              "backupIngestionAddress": "A String", # The backup ingestion URL that you should use to stream video to YouTube. You have the option of simultaneously streaming the content that you are sending to the ingestionAddress to this URL.
              "streamName": "A String", # The HTTP or RTMP stream name that YouTube assigns to the video stream.
              "ingestionAddress": "A String", # The primary ingestion URL that you should use to stream video to YouTube. You must stream video to this URL.
                  #
                  # Depending on which application or tool you use to encode your video stream, you may need to enter the stream URL and stream name separately or you may need to concatenate them in the following format:
                  #
                  # STREAM_URL/STREAM_NAME
            },
            "format": "A String", # The format of the video stream that you are sending to Youtube.
          },
          "snippet": { # The snippet object contains basic details about the stream, including its channel, title, and description.
            "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is transmitting the stream.
            "description": "A String", # The stream's description. The value cannot be longer than 10000 characters.
            "publishedAt": "A String", # The date and time that the stream was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
            "title": "A String", # The stream's title. The value must be between 1 and 128 characters long.
          },
          "etag": "A String", # Etag of this resource.
          "id": "A String", # The ID that YouTube assigns to uniquely identify the stream.
        }