به‌روزرسانی‌های صوتی/تصویری در Chrome 70

فرانسوا بوفور
François Beaufort

تماشای ویدیو با استفاده از قابلیت تصویر در تصویر

قابلیت تصویر در تصویر (PiP) به کاربران اجازه می‌دهد ویدیوها را در یک پنجره شناور (همیشه روی سایر پنجره‌ها) تماشا کنند تا بتوانند هنگام تعامل با سایت‌ها یا برنامه‌های دیگر، آنچه را که تماشا می‌کنند، زیر نظر داشته باشند. با API وب جدید تصویر در تصویر ، می‌توانید قابلیت تصویر در تصویر را برای ویدیوهای وب‌سایت خود فعال و کنترل کنید.

برای یادگیری همه چیز در مورد آن، مقاله ما را بخوانید.

رمزگشای AV1

AV1 یک کدک نسل بعدی است که توسط اتحاد برای رسانه‌های آزاد توسعه داده شده است. AV1 راندمان فشرده‌سازی را بیش از 30٪ نسبت به کدک ویدیویی پیشرفته فعلی، VP9، بهبود می‌بخشد . کروم 70 یک رمزگشای AV1 را بر اساس مشخصات رسمی جریان بیتی به کروم دسکتاپ x86-64 اضافه می‌کند. در حال حاضر، پشتیبانی محدود به نمایه "اصلی" 0 است و شامل قابلیت‌های رمزگذاری نمی‌شود. کانتینر پشتیبانی شده MP4 ( ISO-BMFF ) است (برای توضیح مختصری در مورد کانتینرها به بخش "از ویدیوی خام تا وب آماده" مراجعه کنید).

برای امتحان کردن AV1:

  • به صفحه یوتیوب TestTube بروید.
  • برای دریافت وضوح AV1 مورد نظر، گزینه «Prefer AV1 for SD» یا «Always Prefer AV1» را انتخاب کنید. توجه داشته باشید که در وضوح‌های بالاتر، AV1 احتمالاً در برخی دستگاه‌ها با مشکلات عملکرد پخش مواجه می‌شود.
  • سعی کنید کلیپ‌های یوتیوب را از لیست پخش نسخه بتای AV1 پخش کنید.
  • کدک av01 را در «آمار برای خوره‌ها» تأیید کنید.
آمار مربوط به خوره‌های یوتیوب که از AV1 استفاده می‌کنند.
شکل ۱. آمار کاربران یوتیوب که از AV1 استفاده می‌کنند

پشتیبانی از تعویض کدک و کانتینر در MSE

کروم با استفاده از متد جدید changeType() در SourceBuffer پشتیبانی از انتقال‌های بهبود یافته بین کدک‌ها یا بین بایت‌استریم‌ها را در پخش Media Source Extensions اضافه می‌کند. این متد امکان تغییر نوع بایت‌های رسانه‌ای اضافه شده به SourceBuffer را پس از آن فراهم می‌کند.

نسخه فعلی MSE از پخش تطبیقی ​​رسانه‌ها پشتیبانی می‌کند؛ با این حال، تطبیق مستلزم آن است که هر رسانه‌ای که به SourceBuffer اضافه می‌شود، باید با نوع MIME ارائه شده هنگام ایجاد اولیه SourceBuffer از طریق MediaSource.addSourceBuffer(type) مطابقت داشته باشد. کدک‌های آن نوع و هر بخش اولیه‌سازی که قبلاً تجزیه شده است، باید در کل یکسان باقی بمانند. این بدان معناست که وب‌سایت باید گام‌های مشخصی را برای انجام تعویض کدک یا بایت‌استریم (با استفاده از چندین عنصر رسانه یا مسیرهای SourceBuffer و تعویض بین آنها) بردارد، که پیچیدگی برنامه و تأخیر قابل مشاهده توسط کاربر را افزایش می‌دهد. (چنین انتقال‌هایی نیاز دارند که برنامه وب اقدامات همزمان را روی نخ اصلی رندر انجام دهد). این تأخیر انتقال، روان بودن پخش رسانه را در بین انتقال‌ها مختل می‌کند.

با متد جدید changeType() ، یک SourceBuffer می‌تواند پخش در فرمت‌ها و کدک‌های مختلف بایت‌استریم را بافر کرده و از آن پشتیبانی کند. این متد جدید، رسانه‌های بافر شده قبلی را حفظ می‌کند، فریم کدگذاری شده 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 را ایجاد می‌کند.

برای کار با بافرینگ بین کدک‌ها و بایت‌استریم‌های بین بایتی و پخش یک عنصر صوتی، نمونه را بررسی کنید.

قصد ارسال | ردیاب وضعیت کروم | اشکال کرومیوم

اپوس در MP4 برای MSE

کدک صوتی متن‌باز و بسیار پرکاربرد Opus از نسخه ۳۳ کروم در عناصر <audio> و <video> پشتیبانی می‌شود. پشتیبانی از Opus در ISO-BMFF (معروف به Opus در MP4) پس از آن اضافه شد. و اکنون Opus در MP4 در کروم ۷۰ برای افزونه‌های منبع رسانه (Media Source Extensions ) در دسترس است.

در اینجا نحوه تشخیص اینکه آیا 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 در کروم استفاده کنید.

قصد ارسال | ردیاب وضعیت کروم | اشکال کرومیوم

پخش محتوای محافظت‌شده را به‌طور پیش‌فرض در اندروید مجاز کنید

در کروم ۷۰ برای اندروید، مقدار پیش‌فرض تنظیمات سایت «محتوای محافظت‌شده» از «اول بپرس» به «مجاز» تغییر می‌کند و اصطکاک مرتبط با پخش چنین رسانه‌هایی را کاهش می‌دهد. این تغییر تا حدی به دلیل اقدامات اضافی انجام شده برای پاک کردن مجوزهای رسانه در کنار کوکی‌ها و داده‌های سایت امکان‌پذیر است و تضمین می‌کند که مجوزهای رسانه توسط سایت‌ها برای ردیابی کاربرانی که داده‌های مرور را پاک کرده‌اند، استفاده نمی‌شوند.

تنظیمات محتوای محافظت‌شده در اندروید
شکل ۲. تنظیمات محتوای محافظت‌شده در اندروید.