การอัปเดตสื่อใน Chrome 70

François Beaufort
François Beaufort

ดูวิดีโอโดยใช้การแสดงภาพซ้อนภาพ

การแสดงภาพซ้อนภาพ (PIP) ช่วยให้ผู้ใช้ดูวิดีโอในหน้าต่างแบบลอยได้ (ที่ด้านบนของหน้าต่างอื่นๆ เสมอ) เพื่อให้ผู้ใช้ติดตามดูสิ่งที่กำลังดูอยู่ขณะที่โต้ตอบกับเว็บไซต์หรือแอปพลิเคชันอื่นๆ ได้ เมื่อใช้ Picture-in-Picture Web API ใหม่ คุณจะเริ่มควบคุมการแสดงภาพซ้อนภาพสำหรับวิดีโอในเว็บไซต์ได้

อ่านบทความของเราเพื่อเรียนรู้ทั้งหมด

ตัวถอดรหัส AV1

AV1 คือตัวแปลงรหัสรุ่นใหม่ที่พัฒนาโดย Alliance for Open Media AV1 ปรับปรุงประสิทธิภาพในการบีบอัดมากกว่า 30% ผ่านตัวแปลงรหัสวิดีโอล่าสุด VP9 Chrome 70 เพิ่มตัวถอดรหัส AV1 ลงใน Chrome เดสก์ท็อป x86-64 ตามข้อกำหนดบิตสตรีมอย่างเป็นทางการ ปัจจุบันการรองรับยังจำกัดอยู่ที่โปรไฟล์ 0 "หลัก" เท่านั้น และไม่รวมความสามารถในการเข้ารหัส คอนเทนเนอร์ที่รองรับคือ MP4 (ISO-BMFF) (ดูคอนเทนเนอร์และตัวแปลงรหัสสำหรับคำอธิบายโดยย่อเกี่ยวกับคอนเทนเนอร์)

หากต้องการลองใช้ AV1 ให้ทำดังนี้

  1. ไปที่หน้า YouTube TestTube
  2. เลือก "ใช้ AV1 สำหรับ SD" หรือ "ใช้ AV1 เสมอ" เพื่อให้ได้ความละเอียดของ AV1 ที่ต้องการ โปรดทราบว่าเมื่อใช้ความละเอียดสูงกว่า AV1 มักจะพบปัญหาประสิทธิภาพการเล่นในอุปกรณ์บางรุ่น
  3. ลองเล่นคลิป YouTube จากเพลย์ลิสต์การเปิดตัว AV1 เบต้า
  4. ยืนยันตัวแปลงรหัส av01 ใน "สถิติสำหรับเด็กเนิร์ด"
สถิติสำหรับเด็กเนิร์ดที่แสดง AV1 ใน YouTube
สถิติสำหรับเด็กเนิร์ดที่แสดง AV1 ใน YouTube

การรองรับตัวแปลงรหัสและการเปลี่ยนคอนเทนเนอร์ใน MSE

Chrome กำลังเพิ่มการรองรับสำหรับการเปลี่ยนแบบข้ามตัวแปลงรหัสหรือข้ามไบต์สตรีมที่ดียิ่งขึ้นในการเล่นส่วนขยายแหล่งที่มาของสื่อโดยใช้เมธอด changeType() ใหม่ใน SourceBuffer ซึ่งจะอนุญาตให้เปลี่ยนประเภทไบต์ของสื่อต่อท้าย SourceBuffer ในภายหลังได้

MSE เวอร์ชันปัจจุบันรองรับการเล่นสื่อแบบปรับอัตโนมัติ แต่การปรับเปลี่ยนต้องมีสื่อต่อท้าย SourceBuffer ต้องเป็นไปตามประเภท MIME ที่ระบุเมื่อสร้าง SourceBuffer ผ่าน MediaSource.addSourceBuffer(type) ในครั้งแรก ตัวแปลงรหัสจากประเภทดังกล่าวและส่วนการเริ่มต้นที่มีการแยกวิเคราะห์ก่อนหน้านี้ต้องยังคงเหมือนเดิมตลอด ซึ่งหมายความว่าเว็บไซต์ต้องมีขั้นตอนที่ชัดเจนเพื่อแปลงตัวแปลงรหัสหรือไบต์สตรีม (โดยใช้องค์ประกอบสื่อหลายรายการหรือ SourceBuffer แทร็กและสลับไปมา) เพิ่มความซับซ้อนของแอปพลิเคชันและเวลาในการตอบสนองที่ผู้ใช้มองเห็นได้ (การเปลี่ยนในลักษณะนี้กำหนดให้เว็บแอปต้องดำเนินการพร้อมกันในเทรดหลักของตัวแสดงผล) เวลาในการตอบสนองของการเปลี่ยนนี้จะลดความลื่นไหลในการเล่นสื่อระหว่างการเปลี่ยน

เมื่อใช้เมธอด changeType() ใหม่ SourceBuffer จะสามารถบัฟเฟอร์และรองรับการเล่นในรูปแบบไบต์สตรีมและตัวแปลงรหัสที่แตกต่างกัน วิธีการใหม่นี้จะยังคงเก็บสื่อที่บัฟเฟอร์ก่อนหน้านี้ การกำจัดหรือการนำเฟรม MSE ที่โค้ด MSE ออกในอนาคต และใช้ประโยชน์จากตรรกะการเชื่อมต่อและบัฟเฟอร์ในอัลกอริทึมการประมวลผลเฟรมที่เขียนโค้ด MSE ที่มีอยู่

วิธีใช้เมธอด 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);
}

ตามที่คาดไว้ หากเบราว์เซอร์ไม่รองรับประเภทที่ส่งผ่าน เมธอดนี้จะมีข้อยกเว้น NotSupportedError

ลองดูตัวอย่างเพื่อลองใช้การบัฟเฟอร์และการเล่นองค์ประกอบเสียงแบบข้ามตัวแปลงรหัสและข้ามไบต์สตรีม

ความตั้งใจที่จะจัดส่ง | ตัวติดตาม Chromestatus | ข้อบกพร่อง Chromium

Opus ใน MP4 สำหรับ MSE

Opus ตัวแปลงสัญญาณเสียงแบบเปิดและอเนกประสงค์อย่างมากได้รับการรองรับในองค์ประกอบ <audio> และ <video> ตั้งแต่ Chrome 33 เพิ่มการรองรับ Opus ใน ISO-BMFF (หรือที่เรียกว่า Opus ใน MP4) ในภายหลัง และตอนนี้ Opus ใน MP4 พร้อมใช้งานใน Chrome 70 สำหรับส่วนขยายแหล่งที่มาของสื่อแล้ว

ต่อไปนี้คือวิธีที่คุณจะตรวจสอบว่า Opus ใน MP4 ได้รับการสนับสนุนสำหรับ MSE หรือไม่

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

หากต้องการดูตัวอย่างแบบเต็ม โปรดดูตัวอย่างอย่างเป็นทางการของเรา

เนื่องจากไม่มีเครื่องมือในการมักซ์ Opus ใน MP4 ด้วยการตัดตอนจบที่ถูกต้องและข้ามค่าล่วงหน้า หากความแม่นยำดังกล่าวสำคัญต่อคุณ คุณจะต้องใช้ SourceBuffer.appendWindow{Start,End} และ SourceBuffer.timestampOffset ใน Chrome เพื่อให้ได้การเล่นที่เหมือนอย่างถูกต้องตัวอย่าง

ความตั้งใจที่จะจัดส่ง | ตัวติดตาม Chromestatus | ข้อบกพร่อง Chromium

อนุญาตให้เล่นเนื้อหาที่มีการคุ้มครองโดยค่าเริ่มต้นใน Android

ใน Chrome 70 สำหรับ Android ค่าเริ่มต้นของการตั้งค่าเว็บไซต์ "เนื้อหาที่มีการป้องกัน" จะเปลี่ยนจาก "ถามก่อน" เป็น "อนุญาต" เพื่อลดความยุ่งยากที่เกี่ยวข้องกับการเล่นสื่อดังกล่าว การเปลี่ยนแปลงนี้เป็นไปได้ส่วนหนึ่งเนื่องจากขั้นตอนเพิ่มเติมที่ต้องดำเนินการเพื่อล้างใบอนุญาตสื่อควบคู่ไปกับคุกกี้และข้อมูลเว็บไซต์ ซึ่งทำให้เว็บไซต์ไม่ใช้ใบอนุญาตสื่อเพื่อติดตามผู้ใช้ที่ล้างข้อมูลการท่องเว็บไปแล้ว

ALT_TEXT_HERE
การตั้งค่าเนื้อหาที่ได้รับการคุ้มครองใน Android