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

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

ویدیو را با استفاده از تصویر در تصویر تماشا کنید

Picture-in-Picture (PiP) به کاربران این امکان را می‌دهد که ویدیوها را در یک پنجره شناور (همیشه بالای پنجره‌های دیگر) تماشا کنند تا بتوانند در حین تعامل با سایت‌ها یا برنامه‌های کاربردی، به آنچه که تماشا می‌کنند، توجه داشته باشند. با استفاده از Picture-in-Picture Web API جدید، می توانید Picture-in-Picture را برای ویدیوهای وب سایت خود راه اندازی و کنترل کنید.

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

رسیور AV1

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

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

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

پشتیبانی از کدک و سوئیچینگ کانتینر در MSE

Chrome با استفاده از روش جدید changeType() در SourceBuffer در حال اضافه کردن پشتیبانی برای انتقال کدهای متقاطع یا جریان متقابل بایت در پخش برنامه های افزودنی منبع رسانه است. این اجازه می دهد تا نوع بایت های رسانه ای اضافه شده به 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 ایجاد می کند.

نمونه را بررسی کنید تا با کدک متقابل و بافر بایتی پخش شود و یک عنصر صوتی پخش شود.

قصد حمل | ردیاب Chromestatus | اشکال کروم

Opus در MP4 برای MSE

کدک صوتی باز و بسیار همه کاره Opus از Chrome 33 در عناصر <audio> و <video> پشتیبانی شده است . 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 | اشکال کروم

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

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

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