LiveStreams

Resource liveStream berisi informasi tentang streaming video yang Anda transmisikan ke YouTube. Streaming menyediakan konten yang akan disiarkan kepada pengguna YouTube. Setelah dibuat, resource liveStream dapat terikat ke satu atau beberapa resource liveBroadcast.

Metode

API ini mendukung metode berikut untuk resource liveStreams:

list
Menampilkan daftar streaming video yang cocok dengan parameter permintaan API. Coba sekarang.
insert
Membuat streaming video. Streaming memungkinkan Anda mengirim video ke YouTube, yang kemudian dapat menyiarkan video tersebut kepada audiens. Coba sekarang.
update
Memperbarui streaming video. Jika properti yang ingin diubah tidak dapat diperbarui, Anda harus membuat aliran baru dengan setelan yang sesuai. Coba sekarang.
hapus
Menghapus streaming video. Coba sekarang.

Representasi resource

Struktur JSON berikut menunjukkan format resource 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
  }
}

Properti

Tabel berikut menentukan properti yang muncul dalam resource ini:

Properti
kind string
Mengidentifikasi jenis resource API. Nilainya akan menjadi youtube#liveStream.
etag etag
Etag resource ini.
id string
ID yang ditetapkan YouTube untuk mengidentifikasi streaming secara unik.
snippet object
Objek snippet berisi detail dasar tentang streaming, termasuk channel, judul, dan deskripsinya.
snippet.publishedAt datetime
Tanggal dan waktu streaming dibuat. Nilai ditentukan dalam format ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
snippet.channelId string
ID yang digunakan YouTube untuk mengidentifikasi secara unik channel yang mengirimkan streaming.
snippet.title string
Judul streaming. Panjang nilai harus antara 1 dan 128 karakter.
snippet.description string
Deskripsi streaming. Nilai tidak boleh lebih dari 10.000 karakter.
snippet.isDefaultStream boolean
Properti ini tidak akan digunakan lagi pada atau setelah 1 September 2020. Pada saat itu, YouTube akan berhenti membuat streaming default dan siaran default saat channel diaktifkan untuk live streaming. Lihat pengumuman penghentian penggunaan untuk detail selengkapnya.
Properti ini menunjukkan apakah streaming ini adalah streaming default untuk saluran.

Cara kerja streaming default

Saat channel YouTube diaktifkan untuk live streaming, YouTube akan membuat streaming default dan siaran default untuk channel tersebut. Streaming menentukan cara pemilik channel mengirim video live ke YouTube, dan siaran adalah cara penonton dapat melihat streaming default. Pemilik channel dapat menggunakan metode liveStreams.list dan liveBroadcasts.list untuk mengidentifikasi resource ini.

Streaming default channel ada tanpa batas waktu, tidak memiliki waktu mulai atau waktu berakhir yang terkait dengannya, dan tidak dapat dihapus. Pemilik channel hanya perlu mulai mengirim bit video dan streaming akan otomatis berlanjut.

Saat streaming berakhir, YouTube akan mengonversi siaran yang telah selesai menjadi video YouTube dan menetapkan ID video YouTube untuk video tersebut. Setelah konversi selesai, video akan disertakan dalam daftar video yang diupload di channel. Video tidak langsung tersedia setelah siaran berakhir, dan durasi penundaan terkait dengan durasi siaran yang sebenarnya.
cdn object
Objek cdn menentukan setelan jaringan penayangan konten (CDN) live stream. Setelan ini memberikan detail tentang cara Anda melakukan streaming konten ke YouTube.
cdn.format string
Properti ini tidak digunakan lagi sejak 18 April 2016, dan tidak akan didukung lagi mulai 17 Agustus 2020. Permintaan yang masih menggunakan properti ini sejak tanggal tersebut akan gagal.

Sebagai gantinya, gunakan properti cdn.frameRate dan cdn.resolution untuk menentukan kecepatan frame dan resolusi secara terpisah.
cdn.ingestionType string
Metode atau protokol yang digunakan untuk mengirimkan streaming video.

Nilai yang valid untuk properti ini adalah:
  • dash
  • hls
  • rtmp (yang mencakup RTMPS)
cdn.ingestionInfo object
Objek ingestionInfo berisi informasi yang disediakan YouTube yang diperlukan untuk mengirimkan streaming ke YouTube.
cdn.ingestionInfo.streamName string
Nama streaming yang ditetapkan YouTube ke streaming video.
cdn.ingestionInfo.ingestionAddress string
URL proses transfer utama yang harus Anda gunakan untuk melakukan streaming video ke YouTube jika Anda menggunakan RTMP, DASH, atau HLS. Anda harus melakukan streaming video ke URL ini.

Bergantung pada aplikasi atau alat yang Anda gunakan untuk mengenkode streaming video, Anda mungkin perlu memasukkan URL streaming dan nama streaming secara terpisah atau Anda mungkin perlu menggabungkannya dalam format berikut:
STREAM_URL/STREAM_NAME
cdn.ingestionInfo.backupIngestionAddress string
URL proses transfer cadangan yang harus Anda gunakan untuk melakukan streaming video ke YouTube jika Anda menggunakan RTMP, DASH, atau HLS. Anda memiliki opsi untuk melakukan streaming konten yang dikirim ke ingestionAddress secara bersamaan ke URL ini.
cdn.ingestionInfo.rtmpsIngestionAddress string
URL transfer streaming utama yang harus Anda gunakan untuk melakukan streaming video ke YouTube jika Anda menggunakan RTMPS. Anda harus melakukan streaming video ke URL ini.

Bergantung pada aplikasi atau alat yang Anda gunakan untuk enkode streaming video, Anda mungkin perlu memasukkan URL streaming dan nama streaming secara terpisah atau Anda mungkin perlu menggabungkannya dalam format berikut:
STREAM_URL/STREAM_NAME
cdn.ingestionInfo.rtmpsBackupIngestionAddress string
URL transfer cadangan yang harus Anda gunakan untuk melakukan streaming video ke YouTube jika Anda menggunakan RTMPS.
cdn.resolution string
Resolusi data video masuk.

Nilai yang valid untuk properti ini adalah:
  • 240p
  • 360p
  • 480p
  • 720p
  • 1080p
  • 1440p
  • 2160p
  • variable: Gunakan setelan ini untuk menunjukkan bahwa YouTube harus otomatis mendeteksi resolusi video yang di-streaming. Anda juga harus menetapkan cdn.frameRate ke variable.
    Lihat Pusat Bantuan YouTube untuk mengetahui setelan encoder yang direkomendasikan.
cdn.frameRate string
Kecepatan frame data video masuk.

Nilai yang valid untuk properti ini adalah:
  • 30fps
  • 60fps
  • variable: Gunakan setelan ini untuk menunjukkan bahwa YouTube harus otomatis mendeteksi kecepatan frame video yang di-streaming. Anda juga harus menetapkan cdn.resolution ke variable.
    Lihat Pusat Bantuan YouTube untuk mengetahui setelan encoder yang direkomendasikan.
status object
Objek status berisi informasi tentang status live stream.
status.streamStatus string
Status streaming.

Nilai yang valid untuk properti ini adalah:
  • active – Aliran data dalam status aktif, yang berarti pengguna menerima data melalui aliran data.
  • created – Streaming telah dibuat, tetapi tidak memiliki setelan CDN yang valid.
  • error – Kondisi error ada di aliran data.
  • inactive – Streaming dalam status tidak aktif, yang berarti pengguna tidak menerima data melalui streaming.
  • ready – Streaming memiliki setelan CDN yang valid.
status.healthStatus object
Objek ini berisi informasi tentang status kondisi live stream, yang dapat digunakan untuk mengidentifikasi, mendiagnosis, dan menyelesaikan masalah streaming.
status.healthStatus.status string
Kode status streaming ini.

Nilai yang valid untuk properti ini adalah:
  • good – Tidak ada masalah konfigurasi dengan keparahan warning atau lebih buruk.
  • ok – Tidak ada masalah konfigurasi dengan keparahan error.
  • bad – Streaming memiliki beberapa masalah dengan keparahan error.
  • noData – Server backend live streaming YouTube tidak memiliki informasi apa pun tentang status kualitas streaming.
status.healthStatus.lastUpdateTimeSeconds unsigned long
Terakhir kali status respons streaming diperbarui. Nilai ini mencerminkan stempel waktu UNIX dalam detik.
status.healthStatus.configurationIssues[] list
Objek ini berisi daftar masalah konfigurasi yang memengaruhi streaming.
status.healthStatus.configurationIssues[].type string
Mengidentifikasi jenis error yang memengaruhi streaming.
status.healthStatus.configurationIssues[].severity string
Menunjukkan seberapa parah masalah terhadap streaming.

Nilai yang valid untuk properti ini adalah:
  • info – Video disiarkan kepada penonton tanpa efek negatif pada performa.
  • warning – Video disiarkan kepada penonton, tetapi performanya tidak optimal.
  • error – Video tidak dapat disiarkan kepada penonton.
status.healthStatus.configurationIssues[].reason string
Deskripsi singkat masalah. Dokumen Masalah Konfigurasi untuk Resource LiveStream mengidentifikasi alasan yang terkait dengan setiap jenis masalah konfigurasi.
status.healthStatus.configurationIssues[].description string
Deskripsi mendetail tentang masalah. Jika memungkinkan, deskripsi akan memberikan informasi tentang cara menyelesaikan masalah. Dokumen Masalah Konfigurasi untuk Resource LiveStream mencantumkan semua jenis masalah konfigurasi dan deskripsi terkait.
contentDetails object
Objek content_details berisi informasi tentang streaming, termasuk URL penyerapan teks tertutup.
contentDetails.closedCaptionsIngestionUrl string
URL proses transfer tempat teks tertutup streaming ini dikirim.
contentDetails.isReusable boolean
Menunjukkan apakah streaming dapat digunakan kembali, yang berarti dapat terikat ke beberapa siaran. Penyiar biasanya menggunakan kembali streaming yang sama untuk banyak siaran yang berbeda jika siaran tersebut terjadi pada waktu yang berbeda.

Jika Anda menetapkan nilai ini ke false, streaming tidak akan dapat digunakan kembali, yang berarti streaming hanya dapat terikat ke satu siaran. Streaming yang tidak dapat digunakan kembali berbeda dengan streaming yang dapat digunakan kembali dalam hal berikut:
  • Streaming yang tidak dapat digunakan kembali hanya dapat terikat ke satu siaran.
  • Streaming yang tidak dapat digunakan kembali dapat dihapus oleh proses otomatis setelah siaran berakhir.
  • Metode liveStreams.list tidak mencantumkan streaming yang tidak dapat digunakan kembali jika Anda memanggil metode dan menetapkan parameter mine ke true. Satu-satunya cara untuk menggunakan metode tersebut guna mengambil resource untuk streaming yang tidak dapat digunakan kembali adalah dengan menggunakan parameter id untuk mengidentifikasi streaming.