Migrasi HLS Di Shaka Player

Ringkasan

SDK Penerima Web Cast mendukung pemutaran konten menggunakan beberapa protokol streaming web. Berdasarkan protokol yang digunakan, SDK memuat pemutar untuk menangani pemutaran konten. Pada konten HLS, Library Media Player (MPL) akan dimuat. Untuk konten DASH, Shaka Player akan dimuat.

Ke depannya, tim engineering Cast SDK dan Shaka Player sedang mengonsolidasikan upaya untuk meningkatkan dukungan pemutaran konten HLS di Shaka Player. MPL tidak akan lagi menerima update penting. Sebaiknya Anda ikut serta menggunakan Shaka Player untuk pemutaran konten HLS aplikasi Anda.

Manfaat Shaka Player

Dalam mengganti pemain, aplikasi mendapatkan manfaat berikut:

  • Sesi streaming yang lebih stabil bagi pengguna, dengan peningkatan kegagalan waktu muat dan latensi.
  • Terus mengadopsi fitur HLS terbaru.
  • Meningkatkan kejelasan dalam analisis akar masalah untuk masalah kompatibilitas konten pemain karena sifat open source Shaka Player.
  • Code pemain open source memungkinkan partner untuk berkontribusi ke Project Shaka Player.
  • Penurunan signifikan pada waktu perbaikan fitur dan bug untuk produksi karena irama rilis Shaka Player sering kali terjadi dan tidak bergantung pada rilis Web Receiver SDK.
  • Kontrol yang lebih besar atas lingkungan pemutaran yang disediakan oleh shakaVersion API.
  • Meningkatkan dukungan pemutaran dari Google dengan resource engineering yang berfokus pada pemutaran HLS di Shaka Player seperti yang terlihat di roadmap.

Rentang waktu

Web Receiver SDK akan beralih menggunakan Shaka Player sebagai pemutar default untuk pemutaran konten HLS. Hal ini akan dilakukan dalam pendekatan bertahap untuk memandu partner melalui proses migrasi.

Fase Tanggal Mulai Ringkasan
1 Okt '22 SDK Penerima Web Cast memperkenalkan API yang akan disertakan untuk memutar konten HLS di Shaka Player.
2 Semester 2 '24 SDK Penerima Web Cast mengubah pemutar default ke Shaka Player untuk pemutaran konten HLS.

Tim engineering Web Receiver SDK mengambil pendekatan berbasis performa dan hanya akan melanjutkan ke fase berikutnya jika performa Shaka Player setara dengan performa dasar MPL. Perubahan ini akan diumumkan di google group cast-sdk-announcements dan diperbarui dalam panduan ini.

Ikut serta

Dimulai dengan versi CAF 3.0.0105, ada konfigurasi tingkat aplikasi untuk memilih ikut serta menggunakan Shaka Player untuk pemutaran HLS. Versi ini juga memperkenalkan API untuk memilih dari berbagai versi Shaka Player yang didukung untuk dimuat. Tanda ini diberikan dalam class CastReceiverOptions melalui properti useShakaForHls dan shakaVersion serta dievaluasi saat CastReceiverContext dimulai. Aplikasi apa pun yang ikut serta dalam Shaka untuk HLS harus menyetel versi Shaka Player minimal 4.3.4 untuk memanfaatkan peningkatan HLS terbaru. Untuk memilih menggunakan fitur ini, ikuti cuplikan kode di bawah:

const context = cast.framework.CastReceiverContext.getInstance();

let castReceiverOptions = new cast.framework.CastReceiverOptions();
castReceiverOptions.useShakaForHls = true;

context.start(castReceiverOptions);

Validasi konten

Partner harus memvalidasi pemutaran konten mereka di Shaka Player sebelum memilih untuk menggunakan Shaka Player di aplikasi produksi mereka. Sebaiknya uji setiap variasi dalam konten yang tercantum di bawah ini:

  • Jenis streaming: LIVE atau VOD
  • Format container: streaming TS, MP4, atau SD
  • Konten dengan diskontinuitas atau iklan tersemat
  • Pemutaran di jenis perangkat berikut: layar smart, dongle Chromecast, perangkat Android TV, TV yang dilengkapi Chromecast, smart speaker

Jika Anda menemukan error atau perilaku yang tidak terduga, laporkan bug. Setelah Anda dapat memastikan bahwa tidak ada kegagalan pemutaran kritis dalam konten, kirim perubahan tersebut ke lingkungan produksi Anda.

Memilih tidak ikut

Web Receiver SDK akan bertransisi ke model ketidakikutsertaan untuk pemutaran konten HLS Shka Player sesuai dengan linimasa. Properti useShakaForHls akan mengubah nilai defaultnya dari false menjadi true. Pada saat itu, aplikasi dapat memilih menggunakan MPL untuk pemutaran HLS dengan menyetel properti ini secara manual ke false. Saat CastReceiverContext dimulai, Web Receiver SDK akan kembali memuat MPL, bukan Shaka Player. Lihat contoh di bawah untuk mengetahui cara memilih tidak menggunakan fitur ini:

const context = cast.framework.CastReceiverContext.getInstance();

let castReceiverOptions = new cast.framework.CastReceiverOptions();
castReceiverOptions.useShakaForHls = false;

context.start(castReceiverOptions);

Laporkan masalah

Sebaiknya partner kami melaporkan masalah yang mereka temukan saat memutar konten HLS. Seperti yang telah disebutkan, MPL tidak akan lagi menerima update penting. Jika ada masalah yang terjadi dengan MPL, ikuti langkah-langkah di bagian Ikut serta dalam panduan ini untuk memverifikasi apakah beralih ke Shaka Player akan berhenti memblokir masalah Anda. Ikuti langkah-langkah di bawah ini jika masalah masih ada atau jika Anda mengalami masalah lain saat beralih pemain.

  1. Coba tetapkan shakaVersion ke versi cabang lain untuk menyelesaikan masalah. Misalnya, jika masalah terjadi pada cabang 4.3, coba tetapkan ke rilis terbaru dalam versi 4.2.x atau 3.3.x. Periksa catatan rilis Shaka Player untuk menemukan rilis dengan update yang paling relevan. Perhatikan bahwa shakaVersion API memiliki versi yang didukung minimum dan maksimum seperti yang dijelaskan dalam dokumentasi referensi. Jika Anda mengamati bahwa ada regresi, laporkan masalah tersebut di issuetracker Shaka Player.
  2. Coba ubah parameter konfigurasi pemutar. Shaka Player dapat dikonfigurasi melalui objek PlayerConfiguration. SDK Penerima Web menentukan kumpulan nilai default dan memungkinkan aplikasi mengubah konfigurasi ini melalui properti shakaConfig di objek PlaybackConfig. Hal ini dievaluasi selama waktu pemuatan saat instance pemain dibuat. Lihat lainnya di

    konfigurasi dan opsi aplikasi. Nilai default yang ditetapkan oleh Web Receiver SDK adalah nilai yang direkomendasikan.

  3. Lihat apakah masalah tersebut telah dilaporkan di issuetracker Shaaka Player atau issuetracker Cast. Beri komentar pada bug dan tambahkan informasi yang relevan jika bug tersebut juga menjelaskan masalah Anda.

  4. Uji konten Anda di situs demo Shaka Player. Jika Anda menemukan bahwa masalah ini terjadi di situs demo untuk konten Anda, laporkan bug dengan project Shaka Player.

  5. Laporkan bug di Issue Tracker Cast jika Anda mengalami masalah unik pada Shaka Player di endpoint transmisi.

FAQ

Mengganti pemain dapat menimbulkan banyak pertanyaan. Di bawah ini Anda akan menemukan pertanyaan paling umum yang telah dijawab untuk membantu memandu Anda melalui proses migrasi.

Haruskah saya bermigrasi ke Shaka Player?

Sebaiknya partner kami menggunakan konten HLS untuk memulai proses migrasi sesegera mungkin. Akibatnya, aplikasi Anda akan memberikan pengalaman streaming yang lebih andal bagi pengguna. Manfaat lainnya diuraikan di bagian Manfaat Shaka Player dalam panduan ini. Partner harus memverifikasi bahwa aplikasi mereka berfungsi dengan baik menggunakan Shaka Player untuk memastikan transisi yang lancar. Beberapa aplikasi mungkin berisiko saat Web Receiver SDK bertransisi ke model pilihan tidak ikut jika partner tidak memverifikasi bahwa konten mereka diputar dengan benar di Shaka Player sebelumnya.

Apa tingkat upaya yang diharapkan saat mengganti pemain?

Partner harus menguji aplikasi dan konten mereka di lingkungan pengujian untuk memastikan bahwa pengalaman pengguna serupa atau ditingkatkan jika dibandingkan dengan HLS. Untuk melakukannya, partner harus memilih untuk menggunakan fitur ini di lingkungan internal dan menguji secara menyeluruh bahwa konten mereka dapat diputar menggunakan Shaka Player. Baca cara memvalidasi konten untuk mengetahui detail tentang aspek konten yang harus menjadi fokus. Setelah divalidasi, partner harus menambahkan flag untuk ikut serta dalam lingkungan aplikasi produksi mereka agar dapat mulai memanfaatkan manfaat yang diberikan oleh Shaka Player. Pada tingkat tinggi, terdapat perubahan pengembangan software minimal dan sebagian besar persyaratan UM (Uji Mutu) agar partner kami berhasil bermigrasi.

Aplikasi saya akan segera menggunakan HLS untuk melakukan streaming konten, apa yang harus saya lakukan?

Integrasi baru harus memilih untuk menggunakan Shaka Player untuk pemutaran. Aplikasi Anda akan didukung dengan lebih baik dalam jangka panjang dan juga akan memanfaatkan peningkatan performa dan fitur HLS yang baru. Jika integrasi baru Anda mengalami masalah, laporkan bug sesegera mungkin agar tim engineer memiliki cukup waktu untuk menyelesaikan masalah tersebut. Jika aplikasi Anda memiliki batas waktu yang ketat, sertakan informasi tersebut dalam laporan bug serta dampak yang perlu diprioritaskan. Tim teknik kami akan bekerja untuk memberikan solusi guna mendukung pengguna Anda secara memadai.

Konten atau aplikasi saya tidak berfungsi dengan Shaka Player, bagaimana selanjutnya?

Anda harus melaporkan bug pada Project Shaka Player atau project Cast (lihat Melaporkan masalah). Tim engineer Cast SDK secara aktif memantau pelacak ini dan akan bekerja sama dengan Anda untuk menyelesaikan masalah yang dihadapi. Semakin awal masalah ini terdeteksi, semakin banyak waktu yang dimiliki untuk melakukan perbaikan.

MPL tidak lagi menerima update penting, apa itu artinya?

Sebelumnya, MPL telah mengadopsi fitur HLS baru dan mem-patch bug besar melalui update penting. Setelah MPL tidak menerimanya lagi, fitur HLS baru tidak akan ditambahkan ke pemutar. Demikian pula, masalah apa pun yang dilaporkan untuk pemutaran HLS di MPL tidak akan diperbaiki dalam MPL. Masalah ini harus diselesaikan dengan beralih ke Shaka Player untuk pemutaran. Jika masalah berlanjut, bug harus dilaporkan beserta masalah relevan yang dihadapi pada Shaka Player. Partner sebaiknya berhenti menggunakan MPL.

Konten saya menggunakan protokol Smooth Streaming, bagaimana pengaruhnya terhadap aplikasi saya?

Biner MPL akan tetap dihosting dan dapat diakses oleh aplikasi penerima. Namun, semua permintaan fitur dan perbaikan bug terkait Smooth Streaming tidak akan didukung karena spesifikasi Smooth Streaming belum diupdate selama lebih dari empat tahun. Sebaiknya migrasikan konten Anda untuk menggunakan protokol streaming DASH atau HLS agar dapat terus menerima dukungan dan update performa untuk konten Anda.

Konten saya tidak menggunakan protokol HLS atau Smooth Stream, bagaimana pengaruhnya terhadap aplikasi saya?

Jika koleksi konten Anda tidak menggunakan salah satu protokol streaming tersebut, Anda tidak akan terpengaruh oleh migrasi. Tidak ada perubahan yang diperlukan dalam aplikasi Anda.