LiveStreams

Zasób liveStream zawiera informacje o strumieniu wideo przesyłanym do YouTube. Transmisja zawiera treści, które będą transmitowane użytkownikom YouTube. Po utworzeniu zasób liveStream może być powiązany z jednym lub większą liczbą zasobów liveBroadcast.

Metody

Interfejs API obsługuje te metody dotyczące zasobów liveStreams:

list
Zwraca listę strumieni wideo, które pasują do parametrów żądania interfejsu API. Wypróbuj teraz
insert
Tworzy strumień wideo. Dzięki strumieniowi możesz wysłać film do YouTube, który może go następnie transmitować odbiorcom. Wypróbuj teraz
update
Aktualizuje strumień wideo. Jeśli właściwości, które chcesz zmienić, nie można zaktualizować, musisz utworzyć nowy strumień z odpowiednimi ustawieniami. Wypróbuj teraz
usuń
Usuwanie strumienia wideo. Wypróbuj teraz

Prezentacja zasobów

Struktura JSON poniżej pokazuje format zasobu liveStreams:

{
  "kind": "youtube#liveStream",
  "etag": etag,
  "id": string,
  "snippet": {
    "publishedAt": datetime,
    "channelId": string,
    "title": string,
    "description": string,
    "isDefaultStream": boolean
  },
  "cdn": {
    "ingestionType": string,
    "ingestionInfo": {
      "streamName": string,
      "ingestionAddress": string,
      "backupIngestionAddress": string
    },
    "resolution": string,
    "frameRate": string
  },
  "status": {
    "streamStatus": string,
    "healthStatus": {
      "status": string,
      "lastUpdateTimeSeconds": unsigned long,
      "configurationIssues": [
        {
          "type": string,
          "severity": string,
          "reason": string,
          "description": string
        }
      ]
    }
  },
  "contentDetails": {
    "closedCaptionsIngestionUrl": string,
    "isReusable": boolean
  }
}

Właściwości

Właściwości występujące w tym zasobie są opisane w tabeli poniżej:

Właściwości
kind string
Określa typ zasobu interfejsu API. Wartość będzie wynosić youtube#liveStream.
etag etag
Etag tego zasobu.
id string
Identyfikator przypisany przez YouTube do jednoznacznego identyfikowania strumienia.
snippet object
Obiekt snippet zawiera podstawowe informacje o strumieniu, w tym kanał, tytuł i opis.
snippet.publishedAt datetime
Data i godzina utworzenia strumienia. Wartość jest podawana w formacie ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
snippet.channelId string
Identyfikator, którego YouTube używa do jednoznacznej identyfikacji kanału przesyłającego strumień.
snippet.title string
Tytuł transmisji. Wartość musi zawierać od 1 do 128 znaków.
snippet.description string
Opis strumienia. Wartość nie może przekraczać 10 tys. znaków.
snippet.isDefaultStream boolean
Ta usługa zostanie wycofana 1 września 2020 r. lub później. Wtedy YouTube przestanie tworzyć domyślny strumień i domyślną transmisję, gdy kanał będzie mieć włączoną transmisję na żywo. Więcej informacji znajdziesz w ogłoszeniu o wycofaniu funkcji.
Ta właściwość wskazuje, czy ten strumień jest domyślnym strumieniem na kanale.

Jak działają domyślne transmisje

Gdy kanał w YouTube jest włączony do transmisji na żywo, YouTube tworzy domyślną transmisję i domyślne nadawanie dla tego kanału. Transmisja określa sposób, w jaki właściciel kanału wysyła do YouTube film na żywo, a transmisja to sposób, w jaki widzowie mogą zobaczyć transmisję domyślną. Właściciel kanału może używać metod liveStreams.list i liveBroadcasts.list do identyfikowania tych zasobów.

Domyślny strumień kanału istnieje bezterminowo, nie ma przypisanej godziny rozpoczęcia ani zakończenia i nie można go usunąć. Właściciel kanału musi tylko rozpocząć wysyłanie bitów wideo, a transmisja rozpocznie się automatycznie.

Gdy transmisja się zakończy, YouTube przekształci zakończoną transmisję w film w YouTube i przypisze mu identyfikator filmu w YouTube. Po zakończeniu konwersji film zostanie dodany do listy przesłanych filmów na kanale. Film nie jest dostępny od razu po zakończeniu transmisji, a czas opóźnienia zależy od faktycznej długości transmisji.
cdn object
Obiekt cdn definiuje ustawienia sieci dostarczania treści (CDN) transmisji na żywo. Te ustawienia zawierają szczegółowe informacje o sposobie przesyłania strumieniowego treści do YouTube.
cdn.format string
Ta usługa została wycofana 18 kwietnia 2016 r. i nie będzie już obsługiwana od 17 sierpnia 2020 r. Zapytania, które nadal używają tej właściwości w tym dniu, zakończą się niepowodzeniem.

Zamiast tego użyj właściwości cdn.frameRate i cdn.resolution, aby oddzielnie określić liczbę klatek na sekundę i rozdzielczość.
cdn.ingestionType string
Metoda lub protokół używany do przesyłania strumienia wideo.

Prawidłowe wartości tej właściwości to:
  • dash
  • hls
  • rtmp (obejmujący RTMPS)
cdn.ingestionInfo object
Obiekt ingestionInfo zawiera informacje, które YouTube udostępnia, aby umożliwić Ci przesyłanie strumienia do YouTube.
cdn.ingestionInfo.streamName string
Nazwa strumienia, którą YouTube przypisuje do strumienia wideo.
cdn.ingestionInfo.ingestionAddress string
Główny adres URL przetwarzania, którego należy używać do przesyłania strumieniowego filmów do YouTube, jeśli korzystasz z RTMP, DASH lub HLS. Tutaj musisz przesłać film.

W zależności od tego, której aplikacji lub narzędzia używasz do kodowania strumienia wideo, konieczne może być oddzielne wpisanie adresu URL strumienia i nazwy strumienia lub ich złączenie w ten sposób:
STREAM_URL/STREAM_NAME
cdn.ingestionInfo.backupIngestionAddress string
Adres URL do przetwarzania kopii zapasowej, którego należy używać do przesyłania strumieniowego filmów do YouTube, jeśli korzystasz z RTMP, DASH lub HLS. Możesz jednocześnie przesyłać strumieniowo treści, które wysyłasz do ingestionAddress, pod tym adresem URL.
cdn.ingestionInfo.rtmpsIngestionAddress string
Główny adres URL przetwarzania, którego należy używać do przesyłania strumieniowego filmów do YouTube, jeśli używasz RTMPS. Musisz przesyłać strumień wideo do tego adresu URL.

W zależności od aplikacji lub narzędzia, którego używasz do kodowania strumienia wideo, konieczne może być wpisanie adresu URL strumienia i nazwy strumienia osobno lub ich złączenie w ten sposób:
STREAM_URL/STREAM_NAME
cdn.ingestionInfo.rtmpsBackupIngestionAddress string
Adres URL do przetwarzania kopii zapasowej, którego należy używać do przesyłania strumieniowego filmów do YouTube, jeśli korzystasz z RTMPS.
cdn.resolution string
Rozdzielczość przychodzących danych wideo.

Dozwolone wartości tej właściwości to:
  • 240p
  • 360p
  • 480p
  • 720p
  • 1080p
  • 1440p
  • 2160p
  • variable: użyj tego ustawienia, aby wskazać, że YouTube powinien automatycznie wykryć rozdzielczość strumieniowanego filmu. Musisz też ustawić wartość cdn.frameRate na variable.
    Zalecany koder – informacje znajdziesz w Centrum pomocy YouTube.
cdn.frameRate string
Częstotliwość klatek przychodzących danych wideo.

Dopuszczalne wartości tej właściwości to:
  • 30fps
  • 60fps
  • variable: użyj tego ustawienia, aby wskazać, że YouTube powinien automatycznie wykryć liczbę klatek na sekundę strumieniowanego filmu. Musisz też ustawić wartość cdn.resolution na variable.
    Zalecany koder znajdziesz w Centrum pomocy YouTube.
status object
Obiekt status zawiera informacje o stanie transmisji na żywo.
status.streamStatus string
Stan strumienia.

Dozwolone wartości tej właściwości to:
  • active – strumień jest aktywny, co oznacza, że użytkownik otrzymuje dane za jego pośrednictwem.
  • created – strumień został utworzony, ale nie ma prawidłowych ustawień CDN.
  • error – na strumieniu występuje błąd.
  • inactive – strumień jest w stanie nieaktywnym, co oznacza, że użytkownik nie otrzymuje danych za jego pośrednictwem.
  • ready – transmisja ma prawidłowe ustawienia CDN.
status.healthStatus object
Ten obiekt zawiera informacje o stanie transmisji na żywo, które mogą służyć do identyfikowania, diagnozowania i rozwiązywania problemów z transmisją.
status.healthStatus.status string
Kod stanu tego strumienia.

Dozwolone wartości tej właściwości to:
  • good – nie ma problemów z konfiguracją, których waga wynosi warning lub jest większa.
  • ok – nie ma problemów z konfiguracją, dla których poziom ważności wynosi error.
  • bad – w strumieniu występują pewne problemy, których powaga to error.
  • noData – serwery backendowe YouTube do transmitowania na żywo nie mają żadnych informacji o stanie transmisji.
status.healthStatus.lastUpdateTimeSeconds unsigned long
Czas ostatniej aktualizacji stanu strumienia. Wartość odpowiada sygnaturze czasowej systemu Unix w sekundach.
status.healthStatus.configurationIssues[] list
Ten obiekt zawiera listę problemów z konfiguracją, które wpływają na strumień.
status.healthStatus.configurationIssues[].type string
Określa typ błędu wpływającego na strumień.
status.healthStatus.configurationIssues[].severity string
Wskazuje, jak poważny jest problem dla strumienia.

Dopuszczalne wartości tej właściwości to:
  • info – film jest emitowany wśród widzów bez negatywnego wpływu na jego skuteczność.
  • warning – film jest emitowany, ale jego skuteczność nie jest optymalna.
  • error – film nie może być odtwarzany przez widzów.
status.healthStatus.configurationIssues[].reason string
Krótki opis problemu. W dokumencie Problemy z konfiguracją zasobów strumieni na żywo podano przyczyny każdego typu problemu z konfiguracją.
status.healthStatus.configurationIssues[].description string
Szczegółowy opis problemu. W miarę możliwości opis zawiera informacje o sposobie rozwiązania problemu. Dokument Problemy z konfiguracją zasobów transmisji na żywo zawiera listę wszystkich typów problemów z konfiguracją i powiązane z nimi opisy.
contentDetails object
Obiekt content_details zawiera informacje o strumieniu, w tym adres URL przetwarzania napisów.
contentDetails.closedCaptionsIngestionUrl string
Adres URL przetwarzania, na który wysyłane są napisy do tego strumienia.
contentDetails.isReusable boolean
Wskazuje, czy strumień można ponownie wykorzystać, co oznacza, że może on być powiązany z wieloma transmisjami. Nadawcy często używają tego samego strumienia do wielu różnych transmisji, jeśli odbywają się one w różnych godzinach.

Jeśli ustawisz tę wartość na false, strumień nie będzie można ponownie użyć, co oznacza, że będzie on mógł być powiązany tylko z jednym przekazem. Strumienie nienadające się do wielokrotnego użytku różnią się od strumieni nadających się do wielokrotnego użytku pod tymi względami:
  • Strumień nienadający się do ponownego użycia może być powiązany tylko z jednym przekazem.
  • Transmisja, której nie można ponownie wykorzystać, może zostać usunięta automatycznie po zakończeniu transmisji.
  • Jeśli wywołasz metodę liveStreams.list i ustawiasz parametr mine na wartość true, nie wyświetla ona strumieni, których nie można ponownie użyć. Jedynym sposobem użycia tej metody do pobrania zasobu dla strumienia nienadającego się do ponownego użycia jest użycie parametru id do jego identyfikacji.