Pengantar
Dokumen ini memandu Anda memahami siklus proses siaran live di YouTube yang dibuat dan dikelola menggunakan YouTube Live Streaming API dan YouTube Content ID API.
Resource dan jenis resource
Seperti yang dijelaskan dalam panduan memulai, resource adalah entitas data individual dengan ID unik. Untuk membuat dan mengelola acara live di YouTube, Anda akan menggunakan sejumlah jenis resource berbeda yang ditentukan sebagai bagian dari YouTube Data API atau YouTube Content ID API. Resource yang tercantum di bagian header YouTube Live Streaming API secara teknis ditentukan dalam API lain tersebut, tetapi dicantumkan secara terpisah karena hanya digunakan untuk siaran langsung.
Referensi YouTube Live Streaming API
Resource YouTube Data API
Resource YouTube Content ID API
Membuat dan mengelola siaran langsung
Langkah-langkah berikut menjelaskan cara membuat dan mengelola acara live di YouTube. Langkah-langkahnya dibagi menjadi tahap-tahap berikut:
Tahap 1: Siapkan siaran Anda
Langkah 1.1: Buat siaran
Panggil metode liveBroadcasts.insert
untuk menambahkan siaran ke jadwal acara live YouTube. Resource
liveBroadcast
yang Anda sisipkan harus menentukan nilai untuk
properti yang tercantum di bawah.
Pertimbangkan panduan berikut saat menyiapkan siaran:
Jika Anda ingin memiliki fase pengujian untuk siaran, saat Anda dapat melihat siaran video tanpa penonton lain juga dapat melihat siaran, Anda harus menetapkan properti
contentDetails.monitorStream.enableMonitorStream
ketrue
dan properticontentDetails.enableAutoStart
kefalse
. Berikut adalah nilai default untuk kedua properti.Jika Anda ingin membuat referensi dari siaran yang direkam, Anda harus menetapkan properti
contentDetails.recordFromStart
siaran ketrue
. Jika ingin membuat video yang direkam tersedia untuk diputar segera setelah siaran berakhir, Anda juga harus menyetel properticontentDetails.enableDvr
ketrue
. (Kedua properti ini memiliki nilai defaulttrue
.)Anda dapat memperbarui properti
contentDetails
selama status siaran Anda masihcreated
atauready
.Anda dapat memperbarui waktu mulai terjadwal dan waktu berakhir terjadwal siaran selama status siaran adalah
created
,ready
, atautesting
.Judul, deskripsi, dan status privasi siaran, serta kolom metadata lainnya yang merupakan bagian dari resource
video
siaran, dapat diperbarui kapan saja.
Catatan: Jika Anda hanya ingin video Anda tersedia untuk pengguna YouTube tertentu, tetapkan nilai propertistatus.privacyStatus
keunlisted
atauprivate
sesuai kebutuhan Anda.
Memproses respons API
Saat Anda memanggil metode liveBroadcasts.insert
, respons API akan berisi
resource liveBroadcast
yang Anda buat. Kode Anda harus mengekstrak dan menyimpan
id
dari resource tersebut. Anda
akan memerlukan nilai tersebut untuk mengidentifikasi siaran dalam permintaan API mendatang. (Anda
juga dapat mengidentifikasi resource video
yang
sesuai dengan resource liveBroadcast
menggunakan ID yang sama.)
Langkah 1.2: Buat aliran Anda
Dengan resource liveStream
, Anda dapat mengirimkan video ke YouTube, dan
resource ini menjelaskan konten yang Anda kirimkan. Setiap siaran harus dikaitkan dengan tepat satu stream.
Panggil metode liveStreams.insert
untuk membuat streaming video untuk acara Anda. Saat membuat streaming, Anda harus menetapkan nilai untuk properti yang tercantum di bawah:
Dengan pengecualian judul streaming, nilai ini tidak dapat diperbarui setelah streaming dibuat. Jika Anda perlu mengubahnya, Anda harus membuat aliran yang berbeda dengan mengulangi langkah ini. Proses ini dibahas secara lebih mendetail di langkah 3.5 nanti dalam dokumen ini.
Anda juga memiliki opsi untuk menetapkan nilai untuk properti berikut:
snippet.description
- seperti judul streaming, deskripsi streaming dapat diperbarui setelah streaming dibuat. Judul maupun deskripsi tidak terlihat oleh pengguna YouTube.contentDetails.isReusable
- Menunjukkan apakah stream dapat digunakan kembali, yang berarti stream dapat diikat ke beberapa siaran. Nilai properti ini secara efektif menentukan apakah saluran memiliki hubungan many-to-one atau one-to-one antara resourceliveBroadcast
danliveStream
:- Jika Anda menggunakan nilai default properti
true
, Anda dapat menggunakan resourceliveStream
yang sama untuk semua siaran saluran. Artinya, Anda tidak perlu mengulangi langkah ini (1.2) untuk setiap siaran. Sebagai gantinya, Anda dapat menggunakan kembali ID streaming untuk siaran berikutnya. - Jika Anda menetapkan nilai properti ke
false
, Anda harus membuat streaming baru untuk setiap siaran.
- Jika Anda menggunakan nilai default properti
Setelah Anda mengeluarkan permintaan API untuk streaming, respons API akan berisi
resource liveStream
yang Anda buat. Kode Anda harus mengekstrak dan menyimpan
id
dari resource tersebut. Anda akan memerlukan
nilai tersebut untuk mengidentifikasi aliran dalam permintaan API mendatang.
Langkah 1.3: Ikat siaran ke streaming
Setelah membuat resource liveBroadcast
dan liveStream
, Anda sekarang perlu
mengaitkan keduanya menggunakan metode liveBroadcasts.bind
. Tindakan ini menautkan bit video yang akan Anda transmisikan ke YouTube dengan siaran acara untuk video tersebut.
Saat memanggil metode liveBroadcasts.bind
, tetapkan parameter id
ke
ID siaran yang diperoleh pada langkah 1.1 dan parameter streamId
ke ID
streaming yang diperoleh pada langkah 1.2.
Tahap 2: Klaim konten Anda
Jika ingin menampilkan iklan selama siaran, Anda harus mengklaim video siaran sebelum acara dimulai. Langkah-langkah berikut menjelaskan proses ini. Perhatikan bahwa semua panggilan API yang dibahas dalam tahap ini ditentukan dalam YouTube Content ID API.
Langkah 2.1: Buat aset
Resource asset
mewakili bagian dari
kekayaan intelektual. Dalam hal ini, asetnya adalah siaran Anda. Panggil metode
assets.insert
untuk membuat
aset Anda.
Respons API akan berisi resource asset
yang Anda buat. Kode Anda
harus mengekstrak dan menyimpan id
dari
resource tersebut karena Anda akan memerlukan nilai tersebut untuk mengidentifikasi aset dalam permintaan API
di masa mendatang.
Langkah 2.2: Tentukan kepemilikan Anda atas aset
Data kepemilikan aset mengidentifikasi pemilik aset serta wilayah tempat mereka memiliki aset tersebut. YouTube menggunakan data ini untuk menentukan tempat pemilik dapat menetapkan kebijakan untuk video yang diklaim.
Misalnya, jika Anda memiliki hak untuk menyiarkan acara di Amerika Serikat, dan penyiar lain memiliki hak yang sama untuk Kanada, Anda masing-masing dapat menentukan kebijakan yang berbeda untuk video siaran dan untuk video yang diupload pengguna yang cocok dengan video siaran. Kebijakan kecocokan Anda akan diterapkan pada video yang diupload pengguna dan cocok di Amerika Serikat, sedangkan kebijakan pemilik lainnya akan diterapkan pada video yang cocok di Kanada.
Untuk menentukan wilayah kepemilikan aset, panggil metode
ownership.update
.
Dalam permintaan tersebut, tetapkan parameter assetId
ke id
yang Anda simpan di
langkah 2.1.
Langkah 2.3: Tetapkan kebijakan kecocokan aset
Kebijakan kecocokan aset menjelaskan tindakan yang harus dilakukan YouTube saat pengguna mengupload video yang cocok dengan referensi yang terkait dengan aset. Dalam hal ini, kebijakan pencocokan akan menunjukkan cara YouTube harus menangani video yang diupload yang cocok dengan siaran live Anda.
Catatan: Anda harus menetapkan kebijakan kecocokan jika Anda berencana membuat referensi dari video siaran Anda dan menggunakan referensi tersebut untuk mengidentifikasi video yang diupload pengguna yang cocok dengan siaran Anda. Jika tidak, Anda dapat melewati langkah ini.
Untuk menetapkan kebijakan kecocokan, Anda harus mengidentifikasi terlebih dahulu kebijakan yang ingin diterapkan. Anda dapat mengambil daftar kebijakan yang ada dengan memanggil metode
policies.list
, atau Anda dapat
menentukan kebijakan baru dengan memanggil metode
policies.insert
. Dalam
kedua kasus tersebut, Anda perlu merekam id
kebijakan yang ingin diterapkan.
Setelah mengidentifikasi kebijakan, panggil metode
assetMatchPolicy.update
. Dalam permintaan tersebut, tetapkan parameter assetId
ke id
yang Anda
simpan di langkah 2.1.
Langkah 2.4: Klaim video Anda
Pada langkah ini, Anda membuat klaim, yang menautkan video yang akan disiarkan ke aset yang Anda buat pada langkah 2.1. Klaim menetapkan kebijakan yang hanya berlaku untuk video siaran Anda. (Video yang diupload pengguna dan cocok dengan video siaran Anda tercakup dalam kebijakan kecocokan yang ditetapkan pada langkah sebelumnya.)
Untuk membuat klaim, panggil metode claims.insert
. Di resource claim
yang Anda sisipkan, Anda perlu menetapkan nilai untuk properti berikut:
assetId
– Anda memperoleh nilai ini di langkah 2.1.videoId
– Ini adalah ID siaran yang Anda peroleh pada langkah 1.1.policy
– Ini adalah resourcepolicy
. Anda dapat menerapkan kebijakan yang ada dengan menyetel propertiid
resource tersebut ke ID kebijakan yang ada. Langkah sebelumnya menjelaskan cara mengambil ID kebijakan yang ada.contentType
– Tetapkan nilai ini keaudiovisual
.
Memproses respons API
Saat Anda menyisipkan klaim, respons API akan berisi resource claim
yang Anda buat. Kode Anda harus mengekstrak dan menyimpan
id
dari resource tersebut. Anda akan menggunakan
nilai tersebut nanti untuk membuat referensi dari video yang diproses.
Langkah 2.5: Perbarui setelan iklan untuk siaran
Anda perlu menyetel opsi iklan untuk video jika ingin menjalankan iklan preroll saat penonton mulai menonton siaran atau menjalankan iklan selama jeda dalam siaran.
- Jika Anda mengaktifkan iklan pra-putar untuk siaran, semua penonton akan melihat iklan saat mereka mulai menonton siaran Anda, meskipun mereka mulai menonton di tengah siaran.
- Jika mengaktifkan iklan mid-roll untuk siaran, Anda dapat menyisipkan titik pemicu iklan selama siaran.
Untuk mengaktifkan iklan, panggil metode videoAdvertisingOptions.update
. Dalam permintaan, tetapkan parameter videoId
ke id
siaran yang Anda peroleh di langkah 1.1. Gunakan properti
adFormats[]
resource videoAdvertisingOption
untuk mengidentifikasi format iklan (preroll
, midroll
, atau postroll
) yang
ingin Anda aktifkan.
Tahap 3: Pengujian
Selama tahap ini, Anda menyematkan pemutar yang menampilkan streaming monitor untuk siaran Anda sehingga Anda dapat menguji pengalaman menonton. Streaming monitor adalah streaming pribadi yang memungkinkan Anda melihat pratinjau video siaran sebagaimana akan ditampilkan kepada penonton YouTube.
Perhatikan bahwa Anda hanya dapat menguji siaran video jika streaming monitornya diaktifkan. Secara default, aliran monitor siaran diaktifkan. Anda dapat menonaktifkan
streaming monitor siaran dengan menyetel
properti contentDetails.monitorStream.enableMonitorStream
ke false
saat membuat atau memperbarui siaran tersebut.
Langkah 3.1: Sematkan pemutar streaming monitor
Ambil siaran Anda menggunakan metode liveBroadcasts.list
, lalu ekstrak nilai
properti contentDetails.streamDetails.monitorStreamEmbedHtml
. Nilai tersebut
berisi HTML yang Anda perlukan untuk menyematkan pemutar YouTube yang menampilkan
streaming monitor Anda.
Langkah 3.2: Mulai video Anda
Mulai mentransmisikan video di streaming video Anda.
Langkah 3.3: Konfirmasi bahwa aliran video Anda aktif
Panggil metode liveStreams.list
untuk mengambil resource liveStream
yang terkait dengan siaran Anda. Konfirmasi bahwa nilai properti status.streamStatus
adalah active
, yang menunjukkan bahwa server YouTube menerima data dari encoder Anda dengan benar.
Langkah 3.4: Mengubah status siaran menjadi pengujian
Panggil metode liveBroadcasts.transition
untuk memperbarui
status siaran. Tetapkan nilai parameter id
ke ID siaran yang diperoleh pada langkah 1.1, dan tetapkan nilai parameter broadcastStatus
ke testing
.
Setelah Anda memanggil metode liveBroadcasts.transition
, mungkin perlu waktu beberapa detik, atau bahkan hingga satu menit, agar transisi tersebut selesai. Selama waktu tersebut, Anda harus melakukan polling API untuk memeriksa status siaran. Hingga transisi selesai, status siaran akan menjadi testStarting
. Statusnya
adalah testing
setelah transisi selesai.
Langkah 3.5: Menyelesaikan pengujian
Jika pengujian berjalan lancar, Anda dapat melanjutkan ke tahap 4. Namun, dalam beberapa kasus, Anda mungkin perlu melakukan pengujian lebih lanjut. Misalnya, jika pengujian Anda mengungkapkan bahwa streaming video tidak dikonfigurasi dengan benar, Anda harus memperbaikinya sebelum melanjutkan siaran.
Jika aliran video tidak dikonfigurasi dengan benar, Anda harus membatalkan pengikatan (dan menghapus) aliran yang ada serta membuat aliran baru. Sebagai contoh, streaming mungkin tidak dikonfigurasi dengan benar jika menentukan format video yang salah.
-
Untuk melepaskan ikatan aliran video, panggil metode
liveBroadcasts.bind
dari langkah 1.3. Dalam permintaan API, tetapkan parameterid
keid
yang diperoleh pada langkah 1.1. Jangan sertakan parameterstreamId
dalam permintaan. -
Untuk menghapus aliran video, panggil metode
liveStreams.delete
. Dalam permintaan, tetapkan parameterid
keid
yang diperoleh pada langkah 1.2. -
Ulangi langkah 1.2 untuk membuat resource
liveStream
baru yang dikonfigurasi dengan benar. Kemudian, ulangi langkah 1.3 untuk mengikat streaming baru ke siaran Anda dan langkah 3.1 hingga 3.3 untuk menguji streaming baru.
Langkah 3.6: Aktifkan properti autoStart
dan autoStop
Setelah berhasil menyelesaikan tahap pengujian, Anda memiliki opsi untuk
menyetel properti
contentDetails.enableAutoStart
dan contentDetails.enableAutoStop
siaran ke true
sebelum siaran sebenarnya dimulai. Properti ini tidak dapat disetel ke true
sebelum tahap pengujian karena pengujian akan menyebabkan siaran dimulai.
Tahap 4: Siarkan
Selama tahap ini, video siaran Anda dapat ditonton oleh audiens.
Langkah 4.1: Mulai video Anda
Mulai mentransmisikan video di streaming video Anda.
Langkah 4.2: Konfirmasi bahwa aliran video Anda aktif
Panggil metode liveStreams.list
untuk mengambil resource liveStream
yang terkait dengan siaran Anda. Konfirmasi bahwa nilai properti status.streamStatus
adalah active
, yang menunjukkan bahwa server YouTube menerima data dari encoder Anda dengan benar.
Langkah 4.3: Mengubah status siaran menjadi live
Penting: Langkah ini membuat video Anda terlihat oleh audiens.
Panggil metode liveBroadcasts.transition
untuk memperbarui
status siaran. Tetapkan nilai parameter id
ke ID siaran yang diperoleh pada langkah 1.1, dan tetapkan nilai parameter broadcastStatus
ke live
.
Jika Anda menetapkan properti
contentDetails.enableAutoStart
resource liveBroadcast
ke true
, Anda tidak perlu memanggil metode liveBroadcasts.transition
.
Setelah melakukan panggilan API ini -- atau, jika Anda telah menyetel properti contentDetails.enableAutoStart
ke true
, setelah Anda mulai melakukan streaming -- biasanya Anda perlu menunggu 5 hingga 10 detik hingga transisi tersebut selesai. Transisi mungkin memerlukan waktu hingga satu menit. Selama waktu tersebut, Anda
harus melakukan polling API untuk memeriksa status siaran. Hingga transisi selesai, status siaran akan menjadi liveStarting
. Statusnya akan menjadi
live
setelah transisi selesai, dan penonton dapat menonton siaran Anda
dari titik tersebut di streaming monitor Anda.
Perhatikan efek berikut dari perintah ini:
- Jika Anda telah mengaktifkan streaming monitor untuk siaran – lihat langkah 3.1 – Anda akan dapat melihat streaming monitor di pemutar sematan.
- Jika Anda telah menetapkan nilai untuk properti
contentDetails.streamDetails.broadcastStreamDelayMs
siaran, streaming siaran, yang dapat dilihat oleh penonton lain, akan tertunda selama durasi tersebut.
Langkah 4.4: Menyisipkan jeda iklan ke siaran
Panggil metode liveBroadcasts.cuepoint
untuk menyisipkan titik cue. Cuepoint dapat memicu jeda iklan. Di resource cuepoint
yang disediakan dalam
isi permintaan, tetapkan properti durationSecs
ke durasi
jeda yang diinginkan (dalam detik) yang ingin Anda tampilkan. (Nilai defaultnya adalah 30
.)
Pada saat ini, YouTube mencoba memutar iklan di pemutar video untuk penonton yang sedang menonton siaran saat titik pemicu iklan disisipkan. Pemutaran iklan bergantung pada berbagai faktor, seperti ketersediaan iklan dan histori penayangan iklan penonton. Penonton yang mendapatkan jeda iklan akan kembali ke siaran Anda saat jeda iklan berakhir, sementara penonton yang tidak melihat iklan akan terus menonton streaming siaran selama jeda.
Panduan Memulai memberikan informasi selengkapnya tentang pengalaman menonton selama jeda iklan siaran langsung.
Tahap 5: Mengakhiri siaran
Langkah 5.1: Hentikan streaming
Dengan demikian, pengujian sistem siaran live YouTube Anda telah selesai.
Langkah 5.2: Ubah status siaran Anda menjadi selesai
Saat Anda siap menghentikan penayangan, panggil metode
liveBroadcasts.transition
API untuk memperbarui status penayangan. Tetapkan nilai parameter id
ke ID siaran yang diperoleh pada langkah 1.1, dan tetapkan nilai parameter broadcastStatus
ke complete
.
Jika Anda telah menyetel properti contentDetails.recordFromStart
dan
contentDetails.enableDvr
siaran ke
true
, maka saat acara live berakhir, audiens dapat langsung menonton
pemutaran acara live.
Tahap 6: Buat referensi
Setelah perekaman live selesai, Anda dapat membuat referensi dari video yang direkam. Tindakan ini menginstruksikan YouTube untuk mencari video yang diupload pengguna yang cocok dengan siaran dan menanganinya sesuai dengan kebijakan kecocokan yang Anda tetapkan di langkah 2.3.
Penting: Untuk membuat referensi, Anda harus menetapkan properti contentDetails.recordFromStart
siaran ke true
.
Langkah 6.1: Polling Data API untuk status video
YouTube harus menyelesaikan pemrosesan siaran atau video yang diupload sebelum Anda dapat membuat referensi dari video tersebut. Untuk menentukan apakah pemrosesan video telah selesai, polling metode videos.list
YouTube Data API, tetapkan parameter part
ke status
dan parameter id
ke ID siaran yang Anda simpan di langkah 1.1.
Respons API terhadap permintaan polling Anda akan berisi resource video
.
Jika nilai properti status.uploadStatus resource tersebut adalah processed
, lanjutkan
ke langkah 6.2.
Langkah 6.2: Membuat referensi dari video yang diproses
Untuk membuat referensi, panggil metode references.insert
Content ID API
dan tetapkan parameter claimId
ke ID klaim yang Anda simpan di
langkah 2.4.
Pengiriman Content ID Live
Beberapa partner YouTube dapat membuat referensi sebelum siaran mereka bertransisi ke status testing
, tetapi fitur tersebut tidak tersedia untuk semua partner. Dalam alur tersebut, YouTube membuat dan terus memperbarui referensi dari streaming siaran live event Anda selama siaran berlangsung. Selain itu, YouTube mencari video yang cocok yang diupload pengguna saat siaran masih berlangsung. Perhatikan bahwa membuat referensi sebelum siaran dimulai akan otomatis mengaktifkan perekaman untuk siaran, dan perekaman tidak dapat dinonaktifkan setelah referensi dibuat.
Untuk mengaktifkan siaran Anda untuk penayangan Content ID live, coba lakukan tindakan yang dijelaskan di langkah 6.2 setelah mengklaim video Anda di langkah 2.4.
Jika akun partner Anda belum disetujui untuk membuat referensi siaran langsung sebelum siaran tersebut berlangsung, API akan menampilkan error fingerprintingNotAllowed
. Dalam hal ini, Anda harus menunggu hingga siaran selesai, seperti yang dijelaskan pada langkah 6.1 dan 6.2 di atas, sebelum membuat referensi.