การอัปเดตสื่อใน 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 ซึ่งช่วยให้เปลี่ยนประเภทของ Media ที่จะต่อท้าย SourceBuffer ได้ภายหลัง

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

SourceBuffer สามารถใช้บัฟเฟอร์และรองรับการเล่นรูปแบบไบต์สตรีมและโค้ดรูปแบบต่างๆ ได้ด้วยวิธีการ changeType() ใหม่ วิธีใหม่นี้จะช่วยเก็บรักษาสื่อที่บัฟเฟอร์ไว้ก่อนหน้านี้ ลบหรือนำเฟรมที่เข้ารหัส 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

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

Intent to Ship | เครื่องมือติดตามสถานะ Chrome | ข้อบกพร่องของ Chromium

Opus ใน MP4 สำหรับ MSE

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

วิธีตรวจสอบว่า MSE รองรับ Opus ใน MP4 หรือไม่มีดังนี้

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 เพื่อให้ได้การเล่นที่ถูกต้องตามตัวอย่าง

Intent to Ship | เครื่องมือติดตามสถานะ Chrome | ข้อบกพร่องของ Chromium

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

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

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