- นักพัฒนาเว็บควบคุมการแสดงภาพซ้อนภาพสำหรับวิดีโอได้
- Chrome Desktop x86-64 รองรับตัวถอดรหัส AV1 แล้ว
- การบัฟเฟอร์และเล่นการเล่นแบบข้ามตัวแปลงรหัสและข้ามไบต์สตรีมทำได้ใน MSE
- Chrome รองรับ Opus ใน MP4 พร้อม MSE แล้ว
- การเล่นเนื้อหาที่ได้รับการคุ้มครองอนุญาตโดยค่าเริ่มต้นใน Android
ดูวิดีโอโดยใช้การแสดงภาพซ้อนภาพ
การแสดงภาพซ้อนภาพ (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 ให้ทำดังนี้
- ไปที่หน้า YouTube TestTube
- เลือก "ใช้ AV1 สำหรับ SD" หรือ "ใช้ AV1 เสมอ" เพื่อให้ได้ความละเอียดของ AV1 ที่ต้องการ โปรดทราบว่าเมื่อใช้ความละเอียดสูงกว่า AV1 มักจะพบปัญหาประสิทธิภาพการเล่นในอุปกรณ์บางรุ่น
- ลองเล่นคลิป YouTube จากเพลย์ลิสต์การเปิดตัว AV1 เบต้า
- ยืนยันตัวแปลงรหัส av01 ใน "สถิติสำหรับเด็กเนิร์ด"
การรองรับตัวแปลงรหัสและการเปลี่ยนคอนเทนเนอร์ใน 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 ค่าเริ่มต้นของการตั้งค่าเว็บไซต์ "เนื้อหาที่มีการป้องกัน" จะเปลี่ยนจาก "ถามก่อน" เป็น "อนุญาต" เพื่อลดความยุ่งยากที่เกี่ยวข้องกับการเล่นสื่อดังกล่าว การเปลี่ยนแปลงนี้เป็นไปได้ส่วนหนึ่งเนื่องจากขั้นตอนเพิ่มเติมที่ต้องดำเนินการเพื่อล้างใบอนุญาตสื่อควบคู่ไปกับคุกกี้และข้อมูลเว็บไซต์ ซึ่งทำให้เว็บไซต์ไม่ใช้ใบอนุญาตสื่อเพื่อติดตามผู้ใช้ที่ล้างข้อมูลการท่องเว็บไปแล้ว