API ini kini mendukung kemampuan untuk menandai live streaming Anda sebagai "Dibuat untuk Anak-Anak", dan resource
liveBroadcast
sekarang berisi properti yang mengidentifikasi status "Dibuat untuk Anak-Anak" dari live streaming tersebut. Persyaratan Layanan untuk Layanan
YouTube API dan Kebijakan Developer juga diperbarui pada 10 Januari 2020. Untuk informasi
selengkapnya, lihat histori revisi untuk
Layanan YouTube Live Streaming API dan
Persyaratan Layanan untuk Layanan YouTube API.
Resource liveBroadcast
mewakili acara yang akan di-streaming, melalui video live, di YouTube.
Metode
API ini mendukung metode berikut untuk resource liveBroadcasts
:
- list
- Menampilkan daftar siaran YouTube yang cocok dengan parameter permintaan API. Coba sekarang.
- insert
- Membuat siaran. Coba sekarang.
- update
- Memperbarui siaran. Misalnya, Anda dapat mengubah setelan siaran yang ditentukan dalam objek
contentDetails
resourceliveBroadcast
. Coba sekarang. - hapus
- Menghapus siaran. Coba sekarang.
- bind
- Mengikat siaran YouTube ke streaming atau menghapus binding yang ada antara siaran dan streaming. Siaran hanya dapat terikat dengan satu streaming video, meskipun streaming video dapat terikat dengan lebih dari satu siaran. Coba sekarang.
- transition
- Mengubah status siaran live YouTube dan memulai proses apa pun yang terkait dengan status baru. Misalnya, saat Anda mengubah status siaran ke
testing
, YouTube akan mulai mengirimkan video ke streaming monitor siaran tersebut. Sebelum memanggil metode ini, Anda harus mengonfirmasi bahwa nilai propertistatus.streamStatus
untuk streaming yang terikat ke siaran Anda adalahactive
. Coba sekarang. - titik referensi
- Menyisipkan titik tanda ke live streaming. Titik tanda mungkin memicu jeda iklan.
Representasi resource
Struktur JSON berikut menunjukkan format resource liveBroadcasts
:
{ "kind": "youtube#liveBroadcast", "etag": etag, "id": string, "snippet": { "publishedAt": datetime, "channelId": string, "title": string, "description": string, "thumbnails": { (key): { "url": string, "width": unsigned integer, "height": unsigned integer } }, "scheduledStartTime": datetime, "scheduledEndTime": datetime, "actualStartTime": datetime, "actualEndTime": datetime, "isDefaultBroadcast": boolean, "liveChatId": string }, "status": { "lifeCycleStatus": string, "privacyStatus": string, "recordingStatus": string, "madeForKids": string, "selfDeclaredMadeForKids": string, }, "contentDetails": { "boundStreamId": string, "boundStreamLastUpdateTimeMs": datetime, "monitorStream": { "enableMonitorStream": boolean, "broadcastStreamDelayMs": unsigned integer, "embedHtml": string }, "enableEmbed": boolean, "enableDvr": boolean, "recordFromStart": boolean, "enableClosedCaptions": boolean, "closedCaptionsType": string, "projection": string, "enableLowLatency": boolean, "latencyPreference": boolean, "enableAutoStart": boolean, "enableAutoStop": boolean }, "statistics": { "totalChatCount": unsigned long }, "monetizationDetails": { "cuepointSchedule": { "enabled": boolean, "pauseAdsUntil": datetime, "scheduleStrategy": string, "repeatIntervalSecs": unsigned integer, } } } }
Properti
Tabel berikut menentukan properti yang muncul dalam resource ini:
Properti | |
---|---|
kind |
string Mengidentifikasi jenis resource API. Nilainya akan menjadi youtube#liveBroadcast . |
etag |
etag Etag resource ini. |
id |
string ID yang ditetapkan YouTube untuk mengidentifikasi siaran secara unik. |
snippet |
object Objek snippet berisi detail dasar tentang peristiwa, termasuk judul, deskripsi, waktu mulai, dan waktu berakhir. |
snippet.publishedAt |
datetime Tanggal dan waktu siaran ditambahkan ke jadwal siaran live YouTube. 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 memublikasikan siaran. |
snippet.title |
string Judul siaran. Perhatikan bahwa siaran mewakili tepat satu video YouTube. Anda dapat menetapkan kolom ini dengan mengubah resource siaran atau dengan menetapkan kolom title dari resource video yang sesuai. |
snippet.description |
string Deskripsi siaran. Seperti title , Anda dapat menetapkan kolom ini dengan mengubah resource siaran atau dengan menetapkan kolom description dari resource video yang sesuai. |
snippet.thumbnails |
object Peta gambar thumbnail yang terkait dengan siaran. Untuk setiap objek bertingkat dalam objek ini, kuncinya adalah nama gambar thumbnail, dan nilainya adalah objek yang berisi informasi lain tentang thumbnail. |
snippet.thumbnails.(key) |
object Nilai kunci yang valid adalah:
|
snippet.thumbnails.(key).url |
string URL gambar. |
snippet.thumbnails.(key).width |
unsigned integer Lebar gambar. |
snippet.thumbnails.(key).height |
unsigned integer Tinggi gambar. |
snippet.scheduledStartTime |
datetime Tanggal dan waktu siaran dijadwalkan untuk dimulai. Nilai ditentukan dalam format ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ). Creator Studio mendukung kemampuan untuk membuat siaran tanpa menjadwalkan waktu mulai. Dalam hal ini, siaran dimulai setiap kali pemilik channel memulai streaming. Untuk siaran ini, nilai datetime sesuai dengan waktu UNIX nol, dan nilai ini tidak dapat diubah melalui API atau di Creator Studio. |
snippet.scheduledEndTime |
datetime Tanggal dan waktu berakhirnya siaran yang dijadwalkan. Nilai ditentukan dalam format ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ). Jika resource liveBroadcast tidak menentukan nilai untuk properti ini, siaran dijadwalkan untuk berlanjut tanpa batas waktu. Demikian pula, jika Anda tidak menentukan nilai untuk properti ini, YouTube akan memperlakukan siaran seolah-olah akan berlangsung tanpa batas waktu. |
snippet.actualStartTime |
datetime Tanggal dan waktu siaran sebenarnya dimulai. Informasi ini hanya tersedia setelah status siaran adalah live . Nilai ditentukan dalam format ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ ). |
snippet.actualEndTime |
datetime Tanggal dan waktu siaran benar-benar berakhir. Informasi ini hanya tersedia setelah status siaran menjadi complete . Nilai ditentukan dalam format ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ ). |
snippet.isDefaultBroadcast |
boolean
Properti ini tidak akan digunakan lagi mulai 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 siaran ini adalah siaran default.Cara kerja siaran 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.Saat channel mulai melakukan streaming video ke streaming default-nya, video tersebut akan terlihat di siaran default channel. 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. |
snippet.liveChatId |
string ID untuk live chat YouTube siaran. Dengan ID ini, Anda dapat menggunakan metode resource liveChatMessage untuk mengambil, menyisipkan, atau menghapus pesan chat. Anda juga dapat menambahkan atau menghapus moderator chat, melarang pengguna berpartisipasi dalam live chat, atau menghapus larangan yang ada. |
status |
object Objek status berisi informasi tentang status peristiwa. |
status.lifeCycleStatus |
string Status siaran. Status dapat diperbarui menggunakan metode liveBroadcasts.transition API.Nilai yang valid untuk properti ini adalah:
|
status.privacyStatus |
string Status privasi siaran. Perhatikan bahwa siaran tersebut mewakili satu video YouTube, sehingga setelan privasinya sama dengan yang didukung untuk video. Selain itu, Anda dapat menetapkan kolom ini dengan mengubah resource siaran atau dengan menetapkan kolom privacyStatus di resource video yang sesuai.Nilai yang valid untuk properti ini adalah:
|
status.recordingStatus |
string Status perekaman siaran. Nilai yang valid untuk properti ini adalah:
|
status.madeForKids |
boolean Nilai ini menunjukkan apakah siaran ditetapkan sebagai ditujukan untuk anak-anak. Nilai properti ini bersifat hanya baca. |
status.selfDeclaredMadeForKids |
boolean Dalam permintaan liveBroadcasts.insert , properti ini memungkinkan pemilik channel untuk menetapkan siaran sebagai
ditujukan untuk anak-anak. Dalam permintaan liveBroadcasts.list , nilai properti hanya ditampilkan jika pemilik channel mengizinkan permintaan API. |
contentDetails |
object Objek contentDetails berisi informasi tentang konten video acara, seperti apakah konten dapat ditampilkan di pemutar video tersemat atau apakah konten akan diarsipkan sehingga tersedia untuk ditonton setelah acara selesai. |
contentDetails.boundStreamId |
string Nilai ini secara unik mengidentifikasi live stream yang terikat ke siaran. |
contentDetails.boundStreamLastUpdateTimeMs |
datetime Tanggal dan waktu live stream yang dirujuk oleh boundStreamId terakhir diperbarui. |
contentDetails.monitorStream |
object Objek monitorStream berisi informasi tentang streaming monitor, yang dapat digunakan penyiar untuk meninjau konten acara sebelum streaming siaran ditampilkan secara publik. |
contentDetails.monitorStream.enableMonitorStream |
boolean Nilai ini menentukan apakah streaming monitor diaktifkan untuk siaran. Jika streaming monitor diaktifkan, YouTube akan menyiarkan konten acara di streaming khusus yang hanya ditujukan untuk konsumsi penyiar. Penyiar dapat menggunakan streaming untuk meninjau konten acara dan juga untuk mengidentifikasi waktu yang optimal untuk menyisipkan titik tanda. Anda harus menyetel nilai ini ke true jika Anda ingin memiliki stage testing untuk siaran Anda atau jika Anda ingin memiliki penundaan siaran untuk acara Anda. Selain itu, jika nilai properti ini adalah true , Anda harus mentransisikan siaran ke status testing sebelum dapat mentransisikan ke status live . (Jika nilai properti adalah false , siaran Anda tidak dapat memiliki tahap testing , sehingga Anda dapat mentransisikan siaran langsung ke status live secara langsung.)Saat Anda update a broadcast , properti ini harus ditetapkan jika permintaan API Anda menyertakan bagian contentDetails dalam nilai parameter part . Namun, saat Anda insert a broadcast , properti bersifat opsional dan memiliki nilai default true .Penting: Properti ini tidak dapat diperbarui setelah siaran berada dalam status testing atau live . |
contentDetails.monitorStream.broadcastStreamDelayMs |
unsigned integer Jika Anda telah menetapkan properti enableMonitorStream ke true , properti ini akan menentukan durasi penundaan siaran langsung.Saat Anda update a broadcast , properti ini harus ditetapkan jika permintaan API Anda menyertakan bagian contentDetails dalam nilai parameter part . Namun, saat Anda insert a broadcast , properti bersifat opsional dan memiliki nilai default 0 . Nilai ini menunjukkan bahwa siaran tidak memiliki penundaan siaran. Catatan: Properti ini tidak dapat diperbarui setelah siaran berada dalam status testing atau live . |
contentDetails.monitorStream.embedHtml |
string Kode HTML yang menyematkan pemutar yang memutar streaming monitor. |
contentDetails.enableEmbed |
boolean Setelan ini menunjukkan apakah video siaran dapat diputar di pemutar tersemat. Jika Anda memilih untuk mengarsipkan video (menggunakan properti enableArchive ), setelan ini juga akan berlaku untuk video yang diarsipkan.Saat Anda update a broadcast , properti ini harus ditetapkan jika permintaan API Anda menyertakan bagian contentDetails dalam nilai parameter part . Namun, saat Anda insert a broadcast , properti bersifat opsional dan memiliki nilai default true .Catatan: Properti ini tidak dapat diperbarui setelah siaran berada dalam status testing atau live . |
contentDetails.enableDvr |
boolean Setelan ini menentukan apakah penonton dapat mengakses kontrol DVR saat menonton video. Kontrol DVR memungkinkan penonton mengontrol pengalaman pemutaran video dengan menjeda, memundurkan, atau mempercepat konten. Nilai default untuk properti ini adalah true . Saat Anda update a broadcast , properti ini harus ditetapkan jika permintaan API Anda menyertakan bagian contentDetails dalam nilai parameter part . Namun, saat Anda insert a broadcast , properti bersifat opsional dan memiliki nilai default true .Penting: Anda harus menetapkan nilai ke true dan juga menetapkan nilai properti enableArchive ke true jika ingin pemutaran tersedia segera setelah siaran berakhir. Selain itu, properti ini tidak dapat diperbarui setelah siaran berada dalam status testing atau live . |
contentDetails.recordFromStart |
boolean Setelan ini menunjukkan apakah YouTube akan otomatis mulai merekam siaran setelah status acara berubah menjadi live. Nilai default properti ini adalah true , dan hanya dapat ditetapkan ke false jika saluran siaran diizinkan untuk menonaktifkan rekaman untuk siaran live.Jika channel Anda tidak memiliki izin untuk menonaktifkan perekaman, dan Anda mencoba menyisipkan siaran dengan properti recordFromStart yang disetel ke false , API akan menampilkan error Forbidden . Selain itu, jika channel Anda tidak memiliki izin tersebut dan Anda mencoba memperbarui siaran untuk menyetel properti recordFromStart ke false , API akan menampilkan error modificationNotAllowed .Saat Anda update a broadcast , properti ini harus ditetapkan jika permintaan API Anda menyertakan bagian contentDetails dalam nilai parameter part . Namun, saat Anda insert a broadcast , properti bersifat opsional dan memiliki nilai default true .Penting: Anda juga harus menyetel nilai properti enableDvr ke true jika ingin pemutaran tersedia segera setelah siaran berakhir. Jika Anda menetapkan nilai properti ini ke true , tetapi tidak menetapkan properti enableDvr ke true , mungkin ada penundaan sekitar satu hari sebelum video yang diarsipkan tersedia untuk diputar.Catatan: Properti ini tidak dapat diperbarui setelah siaran berada dalam status testing atau live . |
contentDetails.enableClosedCaptions |
boolean Properti ini tidak digunakan lagi mulai 17 Desember 2015. Sebagai gantinya, gunakan properti contentDetails.closedCaptionsType .Setelan ini menunjukkan apakah pemberian teks tertutup POST HTTP diaktifkan untuk siaran ini atau tidak. Untuk klien API yang sudah menggunakan properti ini:
|
contentDetails.closedCaptionsType |
string Catatan: Properti ini menggantikan properti contentDetails.enableClosedCaptions .Properti ini menunjukkan apakah teks tertutup diaktifkan untuk siaran Anda dan, jika ya, jenis teks tertutup yang Anda berikan:
|
contentDetails.projection |
string Format proyeksi siaran ini. Nilai default properti adalah rectangular .Nilai yang valid untuk properti ini adalah:
|
contentDetails.enableLowLatency |
boolean Menunjukkan apakah siaran ini harus dienkode untuk streaming latensi rendah. Streaming dengan latensi rendah dapat mengurangi waktu yang diperlukan agar video dapat dilihat oleh pengguna yang menonton siaran, meskipun hal ini juga dapat memengaruhi resolusi untuk penonton streaming. |
contentDetails.latencyPreference |
string Menunjukkan setelan latensi yang akan digunakan untuk siaran ini. Properti ini dapat digunakan sebagai pengganti enableLowLatency , yang tidak mendukung ultraLow .Streaming dengan latensi rendah dapat mengurangi waktu yang diperlukan agar video dapat dilihat oleh pengguna yang menonton siaran, meskipun hal ini juga dapat memengaruhi kelancaran pemutaran. Streaming dengan latensi sangat rendah lebih lanjut mengurangi waktu yang diperlukan agar video dapat dilihat oleh penonton, sehingga interaksi dengan penonton menjadi lebih mudah, tetapi latensi sangat rendah tidak mendukung teks tertutup, atau resolusi yang lebih tinggi dari 1080p. Nilai yang valid untuk properti ini adalah:
|
contentDetails.enableAutoStart |
boolean Menunjukkan apakah siaran ini harus dimulai secara otomatis saat Anda mulai melakukan streaming video di live stream terikat. |
contentDetails.enableAutoStop |
boolean Menunjukkan apakah siaran ini harus berhenti secara otomatis sekitar satu menit setelah pemilik channel berhenti melakukan streaming video di streaming video terikat. |
statistics |
object Objek statistics berisi statistik yang terkait dengan siaran live. Nilai untuk statistik ini dapat berubah selama siaran dan hanya dapat diambil saat siaran sedang berlangsung. |
statistics.totalChatCount |
unsigned long Jumlah total pesan live chat yang terkait dengan siaran. Properti dan nilainya akan ada jika siaran dapat dilihat oleh pengguna, mengaktifkan fitur live chat, dan memiliki setidaknya satu pesan. Perhatikan bahwa properti ini tidak akan menentukan nilai setelah siaran berakhir. Jadi, properti ini tidak akan mengidentifikasi jumlah pesan chat untuk arsip video live streaming yang telah selesai. |
monetizationDetails |
object Objek monetizationDetails berisi informasi tentang detail monetisasi streaming, seperti apakah otomatisasi iklan diaktifkan atau jika penyisipan iklan mid-roll tertunda. |
monetizationDetails.cuepointSchedule |
object Objek cuepointSchedule menentukan setelan otomatisasi iklan untuk
siaran. |
monetizationDetails.cuepointSchedule.enabled |
boolean Nilai ini menentukan apakah iklan disisipkan secara otomatis dalam siaran. Jika nilainya adalah true , YouTube akan otomatis menyisipkan iklan midroll ke dalam siaran. Jadwal
untuk menjalankan iklan akan ditentukan oleh nilai kolom lain dalam
objek monetizationDetails.cuepointSchedule .
|
monetizationDetails.cuepointSchedule.pauseAdsUntil |
datetime Nilai ini menentukan bahwa YouTube tidak boleh menyisipkan iklan midroll ke dalam siaran hingga tanggal dan waktu yang ditentukan. Nilai ditentukan dalam format ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ). Nilai harus ditetapkan ke tanggal dan waktu mendatang untuk menjeda iklan; nilai kolom juga dapat ditetapkan ke tanggal dan waktu mendatang untuk membatalkan jeda iklan seiring waktu berlalu. |
monetizationDetails.cuepointSchedule.scheduleStrategy |
string Nilai ini menentukan strategi yang harus diikuti YouTube untuk menjadwalkan titik tanda. Nilai yang valid adalah:
|
monetizationDetails.cuepointSchedule.repeatIntervalSecs |
unsigned integer Nilai ini menentukan interval, dalam detik, antara penyisipan iklan otomatis selama siaran. Misalnya, jika nilainya adalah 300 , YouTube dapat menyisipkan titik tanda iklan midroll dengan interval lima menit.Perlu diperhatikan bahwa nilai menentukan waktu antara awal titik tanda berturut-turut. Artinya, interval tidak diukur dari akhir satu titik tanda hingga awal titik tanda berikutnya. |