LiveStreams

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

Metode

API mendukung metode berikut untuk resource liveStreams:

list
Menampilkan daftar streaming video yang cocok dengan parameter permintaan API. Coba sekarang.
masukkan
Membuat streaming video. Aliran memungkinkan Anda mengirim video ke YouTube, yang kemudian dapat menyiarkan video ke audiens Anda. Coba sekarang.
perbarui
Memperbarui streaming video. Jika properti yang ingin diubah tidak dapat diperbarui, Anda harus membuat aliran data baru dengan setelan yang tepat. 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 di resource ini:

Properti
kind string
Mengidentifikasi jenis resource API. Nilainya adalah 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 saluran, judul, dan deskripsinya.
snippet.publishedAt datetime
Tanggal dan waktu saat streaming dibuat. Nilai ditetapkan dalam format ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
snippet.channelId string
ID yang digunakan YouTube untuk mengidentifikasi channel yang mentransmisikan streaming secara unik.
snippet.title string
Judul streaming. 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 aliran ini adalah aliran 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. Aliran data menentukan cara pemilik channel mengirimkan video live ke YouTube, dan siaran merupakan cara bagi penonton untuk melihat streaming default. Pemilik channel dapat menggunakan metode liveStreams.list dan liveBroadcasts.list untuk mengidentifikasi resource ini.

Streaming default channel sudah 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 berlangsung secara otomatis.

Saat streaming berakhir, YouTube akan mengonversi siaran yang telah selesai menjadi video YouTube dan menetapkan ID video YouTube pada video tersebut. Setelah konversi selesai, video akan disertakan dalam daftar video yang diupload 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 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.

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 Anda ke YouTube.
cdn.ingestionInfo.streamName string
Nama streaming yang ditetapkan YouTube untuk streaming video.
cdn.ingestionInfo.ingestionAddress string
URL penyerapan 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.

Tergantung 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 proses transfer 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 mengenkode streaming video, Anda mungkin perlu memasukkan URL streaming dan nama streaming secara terpisah atau Anda mungkin harus menyambungkannya dalam format berikut:
STREAM_URL/STREAM_NAME
cdn.ingestionInfo.rtmpsBackupIngestionAddress string
URL proses 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 akan otomatis mendeteksi resolusi video streaming Anda. Anda juga harus menetapkan cdn.frameRate ke variable.
    Buka Pusat Bantuan YouTube untuk melihat 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 akan otomatis mendeteksi kecepatan frame video yang di-streaming. Anda juga harus menetapkan cdn.resolution ke variable.
    Buka Pusat Bantuan YouTube untuk melihat 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 – Streaming dalam keadaan aktif yang berarti pengguna menerima data melalui streaming.
  • created – Streaming telah dibuat tetapi tidak memiliki setelan CDN yang valid.
  • error – Terdapat kondisi error pada streaming.
  • inactive – Streaming dalam keadaan tidak aktif, artinya pengguna tidak menerima data melalui streaming.
  • ready – Streaming memiliki setelan CDN yang valid.
status.healthStatus object
Objek ini berisi informasi tentang status respons live stream, yang dapat digunakan untuk mengidentifikasi, mendiagnosis, dan menyelesaikan masalah streaming.
status.healthStatus.status string
Kode status aliran data ini.

Nilai yang valid untuk properti ini adalah:
  • good – Tidak ada masalah konfigurasi dengan tingkat keseriusan warning atau lebih buruk.
  • ok – Tidak ada masalah konfigurasi dengan tingkat keseriusan adalah error.
  • bad – Stream memiliki beberapa masalah dengan tingkat keseriusan adalah error.
  • noData – Server backend live streaming YouTube tidak memiliki informasi apa pun tentang status respons streaming.
status.healthStatus.lastUpdateTimeSeconds unsigned long
Terakhir kali status kesehatan streaming diperbarui. Nilai mencerminkan stempel waktu UNIX dalam hitungan 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 tersebut terhadap aliran data.

Nilai yang valid untuk properti ini adalah:
  • info – Video disiarkan kepada penonton tanpa efek buruk 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 Live Stream mengidentifikasi alasan yang terkait dengan setiap jenis masalah konfigurasi.
status.healthStatus.configurationIssues[].description string
Deskripsi mendetail tentang masalah tersebut. Jika memungkinkan, deskripsi akan memberikan informasi tentang cara menyelesaikan masalah tersebut. Dokumen Masalah Konfigurasi untuk Resource Live Stream mencantumkan semua jenis masalah konfigurasi dan deskripsi terkaitnya.
contentDetails object
Objek content_details berisi informasi tentang streaming, termasuk URL penyerapan teks tertutup.
contentDetails.closedCaptionsIngestionUrl string
URL proses transfer tempat teks tertutup dalam streaming ini dikirimkan.
contentDetails.isReusable boolean
Menunjukkan apakah streaming dapat digunakan kembali, yang berarti streaming tersebut dapat diikat ke beberapa siaran. Penyiar sering menggunakan kembali streaming yang sama untuk berbagai siaran jika siaran tersebut terjadi pada waktu yang berbeda.

Jika Anda menetapkan nilai ini ke false, aliran tidak dapat digunakan kembali, yang berarti nilai tersebut hanya dapat diikat 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 dengan satu siaran.
  • Streaming yang tidak dapat digunakan kembali mungkin akan dihapus oleh proses otomatis setelah siaran berakhir.
  • Metode liveStreams.list tidak mencantumkan aliran 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.