Update media di Chrome 70

François Beaufort
François Beaufort

Menonton video menggunakan Picture-in-Picture

Picture-in-Picture (PiP) memungkinkan pengguna menonton video di jendela mengambang (selalu di atas jendela lain) sehingga mereka dapat mengawasi apa yang mereka tonton saat berinteraksi dengan situs atau aplikasi lain. Dengan Picture-in-Picture Web API baru, Anda dapat memulai dan mengontrol Picture-in-Picture untuk video di situs.

Baca artikel kami untuk mempelajari semuanya.

Decoder AV1

AV1 adalah codec generasi berikutnya yang dikembangkan oleh Alliance for Open Media. AV1 meningkatkan efisiensi kompresi lebih dari 30% dibandingkan codec video tercanggih saat ini, VP9. Chrome 70 menambahkan dekoder AV1 ke Chrome Desktop x86-64 berdasarkan spesifikasi bitstream resmi. Saat ini, dukungan terbatas pada profil 0 "Utama" dan tidak mencakup kemampuan enkode. Penampung yang didukung adalah MP4 (ISO-BMFF) (lihat Penampung dan codec untuk penjelasan singkat tentang penampung).

Untuk mencoba AV1:

  1. Buka halaman YouTube TestTube.
  2. Pilih "Pilih AV1 untuk SD" atau "Selalu Pilih AV1" untuk mendapatkan resolusi AV1 yang diinginkan. Perhatikan bahwa pada resolusi yang lebih tinggi, AV1 lebih mungkin mengalami masalah performa pemutaran di beberapa perangkat.
  3. Coba putar klip YouTube dari Playlist Peluncuran AV1 Beta.
  4. Konfirmasi codec av01 di "Informasi statistik".
Informasi statistik yang menampilkan AV1 di YouTube
Stats for nerds menampilkan AV1 di YouTube.

Dukungan untuk pengalihan codec dan container di MSE

Chrome menambahkan dukungan untuk transisi lintas-codec atau lintas bytestream yang lebih baik dalam pemutaran Ekstensi Sumber Media menggunakan metode changeType() baru di SourceBuffer. Parameter ini memungkinkan jenis byte media yang ditambahkan ke SourceBuffer untuk diubah setelahnya.

MSE versi saat ini mendukung pemutaran media adaptif; namun, adaptasi mengharuskan media apa pun yang ditambahkan ke SourceBuffer harus sesuai dengan jenis MIME yang diberikan saat pertama kali membuat SourceBuffer melalui MediaSource.addSourceBuffer(type). Codec dari jenis tersebut dan segmen inisialisasi yang diuraikan sebelumnya harus tetap sama di seluruh bagian. Artinya, situs harus mengambil langkah-langkah eksplisit untuk menyelesaikan pengalihan codec atau bytestream (dengan menggunakan beberapa elemen media atau jalur SourceBuffer dan beralih di antara elemen tersebut), sehingga meningkatkan kompleksitas aplikasi dan latensi yang terlihat pengguna. (Transisi tersebut mengharuskan aplikasi web melakukan tindakan sinkron pada thread utama perender). Latensi transisi ini mengganggu kelancaran pemutaran media di seluruh transisi.

Dengan metode changeType() barunya, SourceBuffer dapat melakukan buffering dan mendukung pemutaran di berbagai format bytecode dan codec. Metode baru ini mempertahankan media yang di-buffer sebelumnya, modulo penghapusan atau penghapusan frame berenkode MSE mendatang, dan memanfaatkan logika penyambungan dan buffering dalam algoritma pemrosesan frame berenkode MSE yang ada.

Berikut cara menggunakan metode changeType():

const sourceBuffer = myMediaSource.addSourceBuffer('video/webm; codecs="opus, vp09.00.10.08"');
sourceBuffer.appendBuffer(someWebmOpusVP9Data);

// Later on...
if ('changeType' in sourceBuffer) {
  // Change source buffer type and append new data.
  sourceBuffer.changeType('video/mp4; codecs="mp4a.40.5, avc1.4d001e"');
  sourceBuffer.appendBuffer(someMp4AacAvcData);
}

Seperti yang diharapkan, jika jenis yang diteruskan tidak didukung oleh browser, metode ini akan menampilkan pengecualian NotSupportedError.

Lihat contoh untuk memutar buffering lintas codec dan lintas bytestream serta pemutaran elemen audio.

Intent to Ship | Chromestatus Tracker | Chromium Bug

Opus dalam MP4 untuk MSE

Codec audio terbuka dan sangat serbaguna Opus telah didukung di elemen <audio> dan <video> sejak Chrome 33. Dukungan Opus dalam ISO-BMFF (alias Opus dalam MP4) ditambahkan setelahnya. Sekarang, Opus dalam MP4 tersedia di Chrome 70 untuk Ekstensi Sumber Media.

Berikut cara mendeteksi apakah Opus dalam MP4 didukung untuk MSE:

if (MediaSource.isTypeSupported('audio/mp4; codecs="opus"')) {
  // TODO: Fetch data and feed it to a media source.
}

Jika Anda ingin melihat contoh lengkap, lihat contoh resmi kami.

Karena kurangnya alat untuk melakukan mux Opus dalam MP4 dengan nilai pemangkasan akhir dan preskip yang benar, jika presisi tersebut penting bagi Anda, Anda harus menggunakan SourceBuffer.appendWindow{Start,End} dan SourceBuffer.timestampOffset di Chrome untuk mendapatkan pemutaran yang akurat.

Intent to Ship | Chromestatus Tracker | Chromium Bug

Mengizinkan pemutaran konten yang dilindungi secara default di Android

Di Chrome 70 untuk Android, nilai default setelan situs "konten yang dilindungi" berubah dari "Tanyakan terlebih dahulu" menjadi "Diizinkan", yang mengurangi hambatan yang terkait dengan pemutaran media tersebut. Perubahan ini dimungkinkan, sebagian, karena langkah-langkah tambahan yang dilakukan untuk menghapus lisensi media bersama dengan cookie dan data situs, yang memastikan bahwa lisensi media tidak digunakan oleh situs untuk melacak pengguna yang telah menghapus data penjelajahan.

ALT_TEXT_HERE
Setelan konten yang dilindungi di Android.