Cara Menyiarkan Siaran

Pengantar

Dokumen ini akan memandu Anda memahami siklus live streaming 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 entity 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 lainnya 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 live streaming

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. Menguji
  4. Siaran
  5. Mengakhiri siaran
  6. Membuat referensi

Tahap 1: Siapkan siaran Anda

Langkah 1.1: Buat siaran Anda

Panggil metode liveBroadcasts.insert untuk menambahkan siaran Anda 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. Nilai tersebut 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 Anda ingin membuat video yang direkam tersedia untuk diputar segera setelah siaran berakhir, Anda juga harus menetapkan properti contentDetails.enableDvr ke true. (Kedua properti ini memiliki nilai default true.)

  • Jika ingin membatasi wilayah tempat siaran Anda dapat dilihat, Anda dapat menetapkan properti contentDetails.availabilityConfig. Properti ini memungkinkan Anda memblokir wilayah tertentu atau membatasi ketersediaan ke daftar wilayah yang ditentukan. Anda juga dapat menentukan periode waktu untuk ketersediaan regional.

  • Anda dapat menentukan kategori video untuk siaran secara opsional menggunakan properti snippet.categoryId. Jika tidak ditentukan, kategori akan ditetapkan secara default ke Entertainment.

  • Anda dapat memperbarui properti contentDetails apa pun 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, kategori, 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 streaming Anda

Resource liveStream memungkinkan Anda mentransmisikan video ke YouTube, dan resource ini menjelaskan konten yang Anda transmisikan. Setiap siaran harus dikaitkan dengan tepat satu streaming.

Panggil metode liveStreams.insert untuk membuat streaming video untuk acara Anda. Saat membuat streaming, Anda harus menetapkan nilai untuk properti yang tercantum di bawah:

Kecuali untuk 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 akan 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 dan deskripsi tidak dapat dilihat oleh pengguna YouTube.
  • [contentDetails.isReusable](

    /youtube/data/live/reference/rest/v3/liveStreams#contentDetails.isReusable)

    Menunjukkan apakah streaming dapat digunakan kembali, yang berarti streaming dapat diikat ke beberapa siaran. Nilai properti ini secara efektif menentukan apakah channel 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 data dalam permintaan API mendatang.

Langkah 1.3: Ikat siaran ke streaming-nya

Setelah membuat resource liveBroadcast dan liveStream, Anda sekarang perlu mengaitkan keduanya menggunakan metode liveBroadcasts.bind. Tindakan ini menautkan bit video yang akan Anda kirimkan ke YouTube dengan siaran acara untuk video tersebut.

Saat memanggil metode liveBroadcasts.bind, tetapkan parameter id ke ID siaran yang diperoleh di langkah 1.1 dan parameter streamId ke ID streaming yang diperoleh di langkah 1.2.

Tahap 2: Klaim konten Anda

Jika ingin menampilkan iklan selama siaran, Anda harus mengklaim video siaran sebelum acara dimulai. Gunakan langkah-langkah berikut untuk menyiapkan siaran, video, dan iklannya. Perhatikan bahwa channel pemilik siaran harus memenuhi syarat untuk menampilkan iklan.

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. 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 berlaku untuk video yang cocok dan diupload pengguna di Amerika Serikat, sedangkan kebijakan pemilik lainnya akan berlaku untuk video yang cocok di Kanada.

Untuk menentukan wilayah kepemilikan Anda untuk 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 kecocokan akan menunjukkan cara YouTube menangani video yang diupload yang cocok dengan live streaming Anda.

Catatan: Anda harus menetapkan kebijakan kecocokan jika berencana membuat referensi dari video siaran 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 kebijakan yang ingin diterapkan terlebih dahulu. 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 harus mengambil id kebijakan yang ingin diterapkan.

Setelah Anda 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 akan membuat klaim, yang menautkan video yang akan Anda siarkan ke aset yang Anda buat pada langkah 2.1. Klaim menetapkan kebijakan yang hanya berlaku untuk video siaran Anda. (Video yang diupload pengguna yang 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 di langkah 1.1.
  • policy – Ini adalah resource policy. Anda dapat menerapkan kebijakan yang ada dengan menetapkan 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 harus menetapkan opsi iklan untuk video jika ingin menjalankan iklan pre-roll saat penonton mulai menonton siaran atau menjalankan iklan selama jeda dalam siaran.

  • Jika Anda mengaktifkan iklan pre-roll untuk siaran, semua penonton akan melihat iklan saat mulai menonton siaran, meskipun mereka mulai menonton di tengah siaran.
  • Jika mengaktifkan iklan mid-roll untuk siaran, Anda dapat menyisipkan titik tanda iklan selama siaran.

Untuk mengaktifkan iklan, panggil metode videoAdvertisingOptions.update. Dalam permintaan Anda, 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: Uji Coba

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 seperti yang akan muncul bagi penonton YouTube.

Perhatikan bahwa Anda hanya dapat menguji siaran video jika streaming pemantauannya diaktifkan. Secara default, aliran monitor siaran diaktifkan. Anda dapat menonaktifkan streaming monitor siaran dengan menetapkan properti contentDetails.monitorStream.enableMonitorStream ke false saat membuat atau memperbarui siaran tersebut.

Langkah 3.1: Sematkan pemutar streaming pemantauan

Ambil siaran Anda menggunakan metode liveBroadcasts.list, dan 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 aliran video Anda.

Langkah 3.3: Konfirmasi bahwa aliran video Anda aktif

Panggil metode liveStreams.list untuk mengambil resource liveStream yang terkait dengan siaran Anda. Pastikan nilai properti status.streamStatus adalah active, yang menunjukkan bahwa server YouTube menerima data dari encoder Anda dengan benar.

Langkah 3.4: Transisikan status siaran Anda ke pengujian

Panggil metode liveBroadcasts.transition untuk memperbarui status siaran. Tetapkan parameter value id ke ID live stream yang diperoleh di langkah 1.1, dan tetapkan parameter value 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 akan menjadi 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 menunjukkan 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 di 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 menetapkan 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: Siaran

Selama tahap ini, video siaran Anda dapat dilihat oleh audiens.

Langkah 4.1: Mulai video Anda

Mulai transmisikan video di streaming video Anda.

Langkah 4.2: Pastikan streaming video Anda aktif

Panggil metode liveStreams.list untuk mengambil resource liveStream yang terkait dengan siaran Anda. Pastikan nilai properti status.streamStatus adalah active, yang menunjukkan bahwa server YouTube menerima data dari encoder Anda dengan benar.

Langkah 4.3: Ubah status siaran Anda 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 streaming -- biasanya Anda harus 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. Status 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 tersemat.
  • 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 Anda

Panggil metode liveBroadcasts.cuepoint untuk menyisipkan titik tanda. Cuepoint mungkin memicu jeda iklan. Dalam 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. Diputar atau tidaknya 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 live streaming.

Tahap 5: Mengakhiri siaran

Langkah 5.1: Hentikan streaming

Ini mengakhiri pengujian Anda terhadap sistem live streaming YouTube.

Langkah 5.2: Ubah status siaran Anda menjadi selesai

Jika Anda siap untuk berhenti menyiarkan, panggil metode liveBroadcasts.transition API untuk memperbarui status siaran. Tetapkan nilai parameter id ke ID siaran yang diperoleh pada langkah 1.1, dan tetapkan nilai parameter broadcastStatus ke complete.

Jika Anda telah menetapkan properti contentDetails.recordFromStart dan contentDetails.enableDvr siaran ke true, maka saat acara live berakhir, audiens Anda dapat langsung menonton pemutaran acara live.

Tahap 6: Membuat 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: Lakukan polling pada Data API untuk mengetahui 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 untuk permintaan polling Anda akan berisi resource video. Jika nilai properti status.uploadStatus resource tersebut adalah processed, lanjutkan ke langkah 6.2.

Langkah 6.2: Buat 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 beralih ke status testing, tetapi fitur tersebut tidak tersedia untuk semua partner. Dalam alur tersebut, YouTube membuat dan terus memperbarui referensi dari streaming siaran acara live Anda saat siaran sedang berlangsung. Selain itu, YouTube akan mencari video yang diupload pengguna yang cocok 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 agar dapat mengirimkan Content ID secara 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 untuk live streaming sebelum streaming tersebut terjadi, API akan menampilkan error fingerprintingNotAllowed. Dalam hal ini, Anda harus menunggu hingga siaran selesai, seperti yang dijelaskan dalam langkah 6.1 dan 6.2 di atas, sebelum membuat referensi.