- מפתחי אתרים יכולים לשלוט באפשרות תמונה בתוך תמונה בסרטונים.
- הפעלת קובצי 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 למחשב x86-64 על סמך מפרט הנתונים הרשמי של הזרם הביט. בשלב זה, התמיכה מוגבלת לפרופיל 0 'ראשי' ולא כוללת יכולות קידוד. פורמט הקונטיינר הנתמך הוא MP4 (ISO-BMFF) (במאמר מווידאו גולמי לווידאו מוכן לאינטרנט מוסבר בקצרה על קונטיינרים).
כדי לנסות את AV1:
- עוברים אל הדף של YouTube TestTube.
- בוחרים באפשרות 'העדפה לפורמט AV1 ברזולוציית SD' או 'העדפה תמיד לפורמט AV1' כדי לקבל את רזולוציית ה-AV1 הרצויה. חשוב לזכור שברזולוציות גבוהות יותר, יש סיכוי גבוה יותר לבעיות בביצועי ההפעלה של AV1 במכשירים מסוימים.
- כדאי לנסות להפעיל קליפים ב-YouTube מפלייליסט ההשקה של AV1 Beta.
- מוודאים שהקודק הוא av01 בדף 'נתונים לגיקים'.

תמיכה במעבר בין קודיקים ומאגרי נתונים ב-MSE
ב-Chrome נוספה תמיכה במעברים משופרים בין קודיקים שונים או בין זרמי בייט שונים בהפעלה של Media Source Extensions באמצעות שיטת changeType()
חדשה ב-SourceBuffer
. הוא מאפשר לשנות את סוג הבייטים של המדיה שמצורפים ל-SourceBuffer
מאוחר יותר.
הגרסה הנוכחית של MSE תומכת בהפעלה אדפטיבית של מדיה. עם זאת, כדי שההתאמה תתבצע, כל מדיה שמצורפת ל-SourceBuffer
חייבת להיות תואמת לסוג ה-MIME שצוין בזמן היצירה הראשונית של ה-SourceBuffer
באמצעות MediaSource.addSourceBuffer(type)
. קודיק מאותו סוג וכל פלחי אתחול שנותחו בעבר חייבים להישאר זהים לאורך כל התהליך. המשמעות היא שהאתר צריך לבצע פעולות מפורשות כדי לבצע החלפה של קודק או של מקור נתונים (באמצעות שימוש בכמה רכיבי מדיה או בטראקים של SourceBuffer
והחלפה ביניהם), וכתוצאה מכך המורכבות של האפליקציה זמן האחזור שגלוי למשתמשים גדלים. (מעבר כזה מחייב את אפליקציית האינטרנט לבצע פעולה סינכרונית בשרשור הראשי של ה-renderer). זמן האחזור הזה של המעבר פוגע בחלקות של הפעלת המדיה במעברים.
בעזרת השיטה החדשה 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 | מעקב אחר סטטוס Chrome | באג ב-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 כדי לקבל הפעלה מדויקת לדגימה.
Intent to Ship | מעקב אחר סטטוס Chrome | באג ב-Chromium
איך מאפשרים הפעלה של תוכן מוגן כברירת מחדל ב-Android
ב-Chrome 70 ל-Android, ערך ברירת המחדל של ההגדרה 'תוכן מוגן' באתרים ישתנה מ'לשאול קודם' ל'מותר', כדי להפחית את החיכוך שקשור להפעלת מדיה כזו. השינוי הזה אפשרי, בין היתר, בגלל השלבים הנוספים שנקטו כדי למחוק רישיונות מדיה לצד קובצי cookie ונתוני אתרים, כדי להבטיח שהאתרים לא ישתמשו ברישיונות מדיה כדי לעקוב אחרי משתמשים שמחקו את נתוני הגלישה שלהם.
