- מפתחי אתרים יכולים לשלוט באפשרות תמונה בתוך תמונה בסרטונים.
- הפעלת קובצי AV1 נתמכת עכשיו ב-Chrome למחשב x86-64.
- אגירת נתונים והפעלה של קודיקים שונים ושל זרמי בייטים שונים אפשריים ב-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 Desktop מגרסה x86-64 בהתאם למפרט הרשמי של Bitstream. בשלב זה, התמיכה מוגבלת לפרופיל 0 'ראשי' ולא כוללת יכולות קידוד. קובץ הקונטיינר הנתמך הוא MP4 (ISO-BMFF) (במאמר קונטיינרים וקודקים מוסבר בקצרה על קובצי קונטיינר).
כדי לנסות את AV1:
- עוברים אל הדף של YouTube TestTube.
- בוחרים באפשרות 'העדפה ל-AV1 ל-SD' או 'תמיד העדפה ל-AV1' כדי לקבל את רזולוציית ה-AV1 הרצויה. שימו לב שברזולוציה גבוהה יותר, ל-AV1 יש סיכוי גבוה יותר שיהיו בעיות בביצועי ההפעלה במכשירים מסוימים.
- כדאי לנסות להפעיל קליפים ב-YouTube מפלייליסט ההשקה של AV1 Beta.
- מוודאים שהקודק הוא av01 בדף 'נתונים לגיקים'.
תמיכה במעבר בין קודק וקונטיינרים ב-MSE
ב-Chrome מוסיפים תמיכה למעברים משופרים בין קודק ל-חוצה בייטים במהלך הפעלה של תוספים של מקורות מדיה באמצעות שיטת changeType()
חדשה ב-SourceBuffer
. הוא מאפשר לשנות את סוג הבייטים של המדיה שמצורפים ל-SourceBuffer
מאוחר יותר.
הגרסה הנוכחית של MSE תומכת בהפעלה דינמית של מדיה. עם זאת, לצורך התאמה נדרש כל מדיה שמצורפת ל-SourceBuffer
חייבת להתאים לסוג ה-MIME שסופק בשלב הראשוני של יצירת SourceBuffer
באמצעות MediaSource.addSourceBuffer(type)
. קודיק מאותו סוג וכל פלחי אתחול שנותחו בעבר חייבים להישאר זהים לאורך כל התהליך. המשמעות היא שהאתר צריך לבצע פעולות מפורשות כדי לאשר מעבר בין קודק או בייטstream (על ידי שימוש במספר רכיבי מדיה או בטראקים של SourceBuffer
ומעבר ביניהם), ולשפר את המורכבות של האפליקציה ואת זמן האחזור שמוצג למשתמשים. (מעברים כאלה מחייבים את אפליקציית האינטרנט לבצע פעולה מסונכרנת ב-thread הראשי של כלי הרינדור). זמן האחזור הזה של המעבר פוגע בחלקות של הפעלת המדיה במעברים.
בעזרת השיטה החדשה changeType()
, ה-SourceBuffer
יכול לאגור ב-buffer ולתמוך בהפעלה של פורמטים שונים של זרם ביטים וקודקים. השיטה החדשה הזו שומרת על מדיה שנשמרה במטמון, בניכוי פינוי או הסרה עתידיים של פריימים בקידוד 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 | Chromestatus Tracker | באג ב-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 עם ערכי חיתוך קצה ו-preskip נכונים, אם הדיוק הזה חשוב לכם, תצטרכו להשתמש ב-SourceBuffer.appendWindow{Start,End}
וב-SourceBuffer.timestampOffset
ב-Chrome כדי לקבל הפעלה מדויקת לדגימה.
Intent לשלוח | מעקב אחר Chromestatus | באג ב-Chromium
איך מאפשרים הפעלה של תוכן מוגן כברירת מחדל ב-Android
ב-Chrome 70 ל-Android, ערך ברירת המחדל של ההגדרה 'תוכן מוגן' באתרים ישתנה מ'לשאול קודם' ל'מותר', כדי להפחית את החיכוך שקשור להפעלת מדיה כזו. השינוי הזה אפשרי, בין היתר, בגלל השלבים הנוספים שנקטו כדי למחוק רישיונות מדיה לצד קובצי cookie ונתוני אתרים, כדי להבטיח שאתרים לא משתמשים ברישיונות מדיה כדי לעקוב אחרי משתמשים שמוחקים את נתוני הגלישה שלהם.