Update Audio/Video di Chrome 70

Prancis Beaufort
François Beaufort

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".
Informasi statistik yang menampilkan AV1 di YouTube.
Gambar 1. Informasi statistik yang 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. 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.

Setelan konten yang dilindungi di Android.
Gambar 2. Setelan konten yang dilindungi di Android.