- Developer web dapat mengontrol Picture-in-Picture untuk video.
- Decoder AV1 kini didukung di Chrome Desktop x86-64.
- Buffering dan pemutaran lintas-codec dan lintas-bytestream dapat dilakukan dalam MSE.
- Chrome kini mendukung Opus dalam MP4 dengan MSE.
- Pemutaran konten yang dilindungi diizinkan secara default di Android.
Menonton video menggunakan Picture-in-Picture
Fitur Picture-in-Picture (PiP) memungkinkan pengguna menonton video dalam jendela mengambang (selalu di atas jendela lain) sehingga mereka dapat tetap melihat apa yang mereka tonton sambil 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 Anda.
Baca artikel kami untuk mempelajari semua tentang hal tersebut.
Decoder AV1
AV1 adalah codec generasi berikutnya yang dikembangkan oleh Alliance for Open Media. AV1 meningkatkan efisiensi kompresi lebih dari 30% dibandingkan codec video canggih 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 encoding. Penampung yang didukung adalah MP4 (ISO-BMFF) (lihat Dari video mentah hingga siap web untuk penjelasan singkat tentang penampung).
Untuk mencoba AV1:
- Buka halaman YouTube TestTube.
- Pilih "Prefer AV1 for SD" atau "Always Prefer AV1" untuk mendapatkan resolusi AV1 yang diinginkan. Perhatikan bahwa pada resolusi yang lebih tinggi, AV1 kemungkinan besar akan mengalami masalah performa pemutaran di beberapa perangkat.
- Coba putar klip YouTube dari Playlist Peluncuran AV1 Beta.
- Konfirmasi codec av01 di "Informasi statistik".
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
. Hal ini memungkinkan jenis byte
media yang ditambahkan ke SourceBuffer
untuk diubah setelahnya.
Versi MSE saat ini mendukung
pemutaran media yang adaptif. Namun, adaptasi mengharuskan setiap media yang ditambahkan
ke SourceBuffer
harus sesuai dengan jenis MIME yang disediakan saat pertama
membuat SourceBuffer
melalui MediaSource.addSourceBuffer(type)
. Codec dari jenis tersebut dan segmen inisialisasi yang diuraikan sebelumnya harus tetap sama. Artinya, situs harus mengambil langkah-langkah eksplisit untuk
mengerjakan pengalihan codec atau bytestream (dengan menggunakan beberapa elemen media atau
jalur SourceBuffer
dan beralih di antaranya), sehingga meningkatkan kompleksitas
aplikasi dan latensi yang terlihat oleh pengguna. (Transisi tersebut mengharuskan aplikasi web
mengambil 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 bytestream dan codec. Metode baru ini
mempertahankan media yang sebelumnya di-buffer, modulo penghapusan atau penghapusan
frame berkode MSE di masa mendatang, serta memanfaatkan logika penyambungan dan buffering dalam
algoritma pemrosesan frame berkode MSE yang ada.
Berikut adalah 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 bermain dengan buffering lintas codec dan lintas bytestream serta pemutaran elemen audio.
Rencana Pengiriman | Pelacak Chromestatus | Bug Chromium
Opus dalam MP4 untuk MSE
Codec audio yang terbuka dan sangat serbaguna Opus telah didukung dalam elemen
<audio>
dan <video>
sejak Chrome 33. Dukungan Opus in ISO-BMFF (alias Opus dalam MP4) ditambahkan setelahnya. Dan kini Opus dalam MP4 tersedia di Chrome
70 untuk Media Source Extensions.
Berikut adalah 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 ingin melihat contoh lengkap, lihat contoh resmi kami.
Karena kurangnya alat untuk melakukan mux Opus dalam MP4 dengan nilai pemangkasan akhir dan pralewat
yang benar, jika presisi tersebut penting bagi Anda, Anda harus menggunakan
SourceBuffer.appendWindow{Start,End}
dan SourceBuffer.timestampOffset
di
Chrome untuk mendapatkan pemutaran yang akurasi sampelnya.
Rencana Pengiriman | Pelacak Chromestatus | Bug Chromium
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 mungkin terjadi, sebagian, karena tindakan tambahan yang diambil untuk menghapus lisensi media bersama cookie dan data situs, memastikan lisensi media tidak digunakan oleh situs untuk melacak pengguna yang telah menghapus data penjelajahan.