Cara Menyiarkan Siaran

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:

  1. Menyiapkan siaran
  2. Mengklaim konten Anda
  3. Uji
  4. Siaran
  5. Mengakhiri siaran
  6. Membuat referensi

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 ke true dan properti contentDetails.enableAutoStart ke false. Berikut adalah nilai default untuk kedua properti.

  • Jika Anda ingin membuat referensi dari siaran yang direkam, Anda harus menetapkan properti contentDetails.recordFromStart siaran ke true. Jika ingin membuat video yang direkam tersedia untuk diputar segera setelah siaran berakhir, Anda juga harus menyetel properti contentDetails.enableDvr ke true. (Kedua properti ini memiliki nilai default true.)

  • Anda dapat memperbarui properti contentDetails selama status siaran Anda masih created atau ready.

  • Anda dapat memperbarui waktu mulai terjadwal dan waktu berakhir terjadwal siaran selama status siaran adalah created, ready, atau testing.

  • 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 properti status.privacyStatus ke unlisted atau private 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 resource liveBroadcast dan liveStream:

    • Jika Anda menggunakan nilai default properti true, Anda dapat menggunakan resource liveStream 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.

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 resource policy. Anda dapat menerapkan kebijakan yang ada dengan menyetel properti id resource tersebut ke ID kebijakan yang ada. Langkah sebelumnya menjelaskan cara mengambil ID kebijakan yang ada.
  • contentType – Tetapkan nilai ini ke audiovisual.

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.

  1. Untuk melepaskan ikatan aliran video, panggil metode liveBroadcasts.bind dari langkah 1.3. Dalam permintaan API, tetapkan parameter id ke id yang diperoleh pada langkah 1.1. Jangan sertakan parameter streamId dalam permintaan.

  2. Untuk menghapus aliran video, panggil metode liveStreams.delete. Dalam permintaan, tetapkan parameter id ke id yang diperoleh pada langkah 1.2.

  3. 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.