API kini mendukung kemampuan untuk menandai live stream Anda sebagai "Dibuat untuk Anak-Anak", dan resource
liveBroadcast kini berisi properti yang mengidentifikasi status "Dibuat untuk Anak-Anak" dari live stream 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, menggunakan 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
contentDetailsresourceliveBroadcast. 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.streamStatusuntuk streaming yang terikat ke siaran Anda adalahactive. Coba sekarang. - titik aba-aba
- Menyisipkan titik tanda ke dalam siaran live. 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 |
stringMengidentifikasi jenis resource API. Nilainya akan menjadi youtube#liveBroadcast. |
etag |
etagEtag resource ini. |
id |
stringID yang ditetapkan YouTube untuk mengidentifikasi siaran secara unik. |
snippet |
objectObjek snippet berisi detail dasar tentang peristiwa, termasuk judul, deskripsi, waktu mulai, dan waktu berakhir. |
snippet.publishedAt |
datetimeTanggal dan waktu siaran ditambahkan ke jadwal siaran live YouTube. Nilai ditentukan dalam format ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ). |
snippet.channelId |
stringID yang digunakan YouTube untuk mengidentifikasi secara unik channel yang memublikasikan siaran. |
snippet.title |
stringJudul 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 |
stringDeskripsi siaran. Seperti title, Anda dapat menetapkan kolom ini dengan mengubah resource siaran atau dengan menetapkan kolom description dari resource video yang sesuai. |
snippet.thumbnails |
objectPeta 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) |
objectNilai kunci yang valid adalah:
|
snippet.thumbnails.(key).url |
stringURL gambar. |
snippet.thumbnails.(key).width |
unsigned integerLebar gambar. |
snippet.thumbnails.(key).height |
unsigned integerTinggi gambar. |
snippet.scheduledStartTime |
datetimeTanggal 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 epoch Unix nol, dan nilai ini tidak dapat diubah menggunakan API atau di Creator Studio. |
snippet.scheduledEndTime |
datetimeTanggal 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 |
datetimeTanggal dan waktu siaran sebenarnya dimulai. Informasi ini hanya tersedia setelah status siaran menjadi live. Nilai ditentukan dalam format ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ). |
snippet.actualEndTime |
datetimeTanggal 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 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 mengetahui 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 |
stringID 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 |
objectObjek status berisi informasi tentang status peristiwa. |
status.lifeCycleStatus |
stringStatus siaran. Status dapat diperbarui menggunakan metode liveBroadcasts.transition API.Nilai yang valid untuk properti ini adalah:
|
status.privacyStatus |
stringStatus privasi siaran. Perhatikan bahwa siaran mewakili tepat satu video YouTube, sehingga setelan privasinya sama dengan setelan yang didukung untuk video. Selain itu, Anda dapat menetapkan kolom ini dengan mengubah resource siaran atau dengan menetapkan kolom privacyStatus dari resource video yang sesuai.Nilai yang valid untuk properti ini adalah:
|
status.recordingStatus |
stringStatus perekaman siaran. Nilai yang valid untuk properti ini adalah:
|
status.madeForKids |
booleanNilai ini menunjukkan apakah siaran ditetapkan sebagai ditujukan untuk anak-anak. Nilai properti ini bersifat hanya baca. |
status.selfDeclaredMadeForKids |
booleanDalam permintaan liveBroadcasts.insert, properti ini memungkinkan pemilik channel menetapkan siaran sebagai
ditujukan untuk anak-anak. Dalam
permintaan
liveBroadcasts.list, nilai properti hanya ditampilkan jika pemilik channel mengizinkan permintaan
API. |
contentDetails |
objectObjek 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 |
stringNilai ini secara unik mengidentifikasi live stream yang terikat ke siaran. |
contentDetails.boundStreamLastUpdateTimeMs |
datetimeTanggal dan waktu live stream yang dirujuk oleh boundStreamId terakhir diperbarui. |
contentDetails.monitorStream |
objectObjek monitorStream berisi informasi tentang streaming monitor, yang dapat digunakan penyiar untuk meninjau konten peristiwa sebelum streaming siaran ditampilkan secara publik. |
contentDetails.monitorStream.enableMonitorStream |
booleanNilai 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 menetapkan nilai ini ke true jika ingin memiliki tahap testing untuk siaran atau jika ingin memiliki penundaan siaran untuk acara. 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 integerJika 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 |
stringKode HTML yang menyematkan pemutar yang memutar streaming monitor. |
contentDetails.enableEmbed |
booleanSetelan 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 |
booleanSetelan 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 dalam status testing atau live. |
contentDetails.recordFromStart |
booleanSetelan 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 rekaman, dan Anda mencoba menyisipkan siaran dengan properti recordFromStart yang ditetapkan ke false, API akan menampilkan error Forbidden. Selain itu, jika channel Anda tidak memiliki izin tersebut dan Anda mencoba memperbarui siaran untuk menetapkan 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 menetapkan 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 |
booleanProperti ini tidak digunakan lagi mulai 17 Desember 2015. Sebagai gantinya, gunakan properti contentDetails.closedCaptionsType.Setelan ini menunjukkan apakah teks tertutup HTTP POST diaktifkan untuk siaran ini. Untuk klien API yang sudah menggunakan properti ini:
|
contentDetails.closedCaptionsType |
stringCatatan: 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 |
stringFormat proyeksi siaran ini. Nilai default properti adalah rectangular.Nilai yang valid untuk properti ini adalah:
|
contentDetails.enableLowLatency |
booleanMenunjukkan apakah siaran ini harus dienkode untuk streaming latensi rendah. Streaming dengan latensi rendah dapat mengurangi waktu yang diperlukan agar video terlihat oleh pengguna yang menonton siaran, meskipun hal ini juga dapat memengaruhi resolusi untuk penonton streaming. |
contentDetails.latencyPreference |
stringMenunjukkan 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 |
booleanMenunjukkan apakah siaran ini harus dimulai secara otomatis saat Anda mulai melakukan streaming video di live stream terikat. |
contentDetails.enableAutoStop |
booleanMenunjukkan apakah siaran ini harus berhenti secara otomatis sekitar satu menit setelah pemilik channel berhenti melakukan streaming video di streaming video terikat. |
statistics |
objectObjek statistics berisi statistik yang terkait dengan siaran live. Nilai untuk statistik ini dapat berubah selama siaran dan hanya dapat diambil saat siaran berlangsung. |
statistics.totalChatCount |
unsigned longJumlah 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 video yang diarsipkan dari live streaming yang telah selesai. |
monetizationDetails |
objectObjek monetizationDetails berisi informasi tentang detail monetisasi
streaming, seperti apakah otomatisasi iklan diaktifkan atau apakah penyisipan iklan midroll
tertunda. |
monetizationDetails.cuepointSchedule |
objectObjek cuepointSchedule menentukan setelan otomatisasi iklan untuk
siaran. |
monetizationDetails.cuepointSchedule.enabled |
booleanNilai 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 |
datetimeNilai 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 |
stringNilai ini menentukan strategi yang harus diikuti YouTube untuk menjadwalkan titik tanda. Nilai yang valid adalah:
|
monetizationDetails.cuepointSchedule.repeatIntervalSecs |
unsigned integerNilai ini menentukan interval, dalam detik, antara penyisipan iklan otomatis selama siaran. Misalnya, jika nilainya adalah 300, YouTube dapat menyisipkan titik tanda iklan mid-roll 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. |