עדכוני מדיה ב-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 Desktop מגרסה x86-64 על סמך מפרט הרשמי של Bitstream. בשלב זה, התמיכה מוגבלת לפרופיל 0 ה'ראשי' ולא כוללת יכולות קידוד. הקונטיינר הנתמך הוא MP4 (ISO-BMFF) (הסבר קצר על קונטיינרים זמין במאמר בנושא קונטיינרים ורכיבי קודק).

כדי לנסות את AV1:

  1. עוברים אל דף הבדיקה של YouTube.
  2. בוחרים באפשרות 'העדפה ל-AV1 ל-SD' או 'תמיד עדיף ל-AV1' כדי לקבל את רזולוציית ה-AV1 הרצויה. שימו לב שברזולוציות גבוהות יותר, יש סיכוי גבוה יותר שיהיו בעיות בביצועי ההפעלה ב-AV1 במכשירים מסוימים.
  3. נסו להפעיל קליפים מ-YouTube מהפלייליסט של גרסת הבטא של AV1.
  4. מאשרים את ה-codec av01 בקטע 'סטטיסטיקות לגיקים'.
נתונים לגיקים עם AV1 ב-YouTube
נתונים לגיקים עם AV1 ב-YouTube.

תמיכה במעבר בין קודק וקונטיינרים ב-MSE

Chrome מוסיף תמיכה במעברים משופרים בין קידודים או בין בייטים בסטרימינג בהפעלה של תוספים של מקור מדיה באמצעות שיטת changeType() חדשה ב-SourceBuffer. היא מאפשרת לשנות את סוג הבייטים של המדיה שצורפו ל-SourceBuffer לאחר מכן.

הגרסה הנוכחית של MSE תומכת בהפעלה דינמית של מדיה. עם זאת, ההתאמה מחייבת שכל מדיה שצורפה ל-SourceBuffer צריכה להתאים לסוג ה-MIME שסופק במהלך היצירה הראשונית של SourceBuffer דרך MediaSource.addSourceBuffer(type). רכיבי הקודק מהסוג הזה וכל קטעי האתחול שנותחו בעבר צריכים להישאר ללא שינוי. המשמעות היא שהאתר צריך לנקוט פעולות מפורשות כדי להשלים מעבר בין קודק או bytestream (באמצעות מספר רכיבי מדיה או SourceBuffer מעקב והחלפה ביניהם), ובכך להגביר את המורכבות של האפליקציות ואת זמן האחזור שמוצג למשתמש. (מעברים כאלה מחייבים את אפליקציית האינטרנט לבצע פעולה סינכרונית ב-thread הראשי של הרינדור). זמן האחזור של המעבר משפיע על החלקות של הפעלת המדיה במעברים השונים.

באמצעות שיטת changeType() החדשה שלו, SourceBuffer יכול לאחסן נתונים זמניים ולתמוך בהפעלה בפורמטים שונים של bytestream ורכיבי קודק. השיטה החדשה משמרת מדיה שנשמרה במאגר נתונים זמני, סריקה והסרה של פריימים מקודדים עתידיים מודולו בעתיד של 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.

תוכלו להיעזר בדוגמה כדי להפעיל אגירת נתונים בין מקודדים ו-cross-bytestream ולהפעיל את רכיב האודיו.

כוונה לשלוח | מעקב 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, ערך ברירת המחדל של הגדרת האתר 'תוכן מוגן' משתנה מ'שאל קודם' ל'מותר', ומפחית את החיכוך המשויך להפעלת מדיה כזו. השינוי הזה אפשרי, בין היתר, עקב שלבים נוספים שננקטו כדי לנקות רישיונות מדיה לצד קובצי Cookie ונתוני אתרים, כדי להבטיח שאתרים לא ישתמשו ברישיונות מדיה כדי לעקוב אחרי משתמשים שניקו את נתוני הגלישה.

ALT_TEXT_HERE
ההגדרה 'תוכן מוגן' ב-Android.