Spec-Zone.ru › Web APIs

API возможностей медиа

Базовая Широко доступна *

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2020 года.

* Некоторые части этой функции могут иметь разный уровень поддержки.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Примечание: Эта функция доступна в Web Workers.

API возможностей медиа позволяет разработчикам определять возможности устройства по декодированию и кодированию, предоставляя информацию, например, о поддержке медиа и о том, должна ли воспроизведение быть плавной и энергоэффективной, с обратной связью в реальном времени о воспроизведении для лучшего адаптивного потокового вещания и доступа к информации о свойствах дисплея.

Концепции

Существует множество кодеков видео и аудио. Разные браузеры поддерживают разные типы медиа, и новые типы медиа постоянно разрабатываются. С помощью API возможностей медиа разработчики могут гарантировать, что каждый пользователь получает лучшую скорость передачи данных и экономию места для своего браузера, устройства и операционной системы.

Использование аппаратного или программного декодирования устройством влияет на плавность и энергоэффективность декодирования видео и эффективность воспроизведения. API возможностей медиа позволяет определить, какие кодеки поддерживаются и насколько эффективно будет воспроизведение медиафайла с точки зрения плавности и энергоэффективности.

API возможностей медиа предоставляет более мощные функции, чем, скажем, MediaRecorder.isTypeSupported() или HTMLMediaElement.canPlayType(), которые только охватывают общую поддержку браузера, а не производительность. API также предоставляет возможность доступа к информации о свойствах дисплея, такой как поддерживаемая гамма, возможности динамического диапазона и обратную связь в реальном времени о воспроизведении.

Для проверки поддержки, плавности и энергоэффективности кодирования и декодирования видео или аудиоконтента используйте методы MediaCapabilities интерфейса encodingInfo() и decodingInfo().

Информация о возможностях медиа позволяет веб-сайтам включить адаптивное потоковое вещание для изменения качества контента на основе фактического качества, воспринимаемого пользователем, и реагировать на использование ЦП/графического процессора в реальном времени.

Интерфейсы

MediaCapabilities

Предоставляет информацию о декодирующих возможностях устройства, системы и браузера на основе кодеков, профилей, разрешения и битрейтов. Эта информация может быть использована для предоставления пользователю оптимальных потоков медиа и определения, должна ли воспроизведение быть плавной и энергоэффективной.

Расширения для других интерфейсов

Navigator.mediaCapabilities Только для чтения

Объект MediaCapabilities, который может предоставлять информацию о декодирующих и кодирующих возможностях для данного формата медиа и возможностях вывода.

WorkerNavigator.mediaCapabilities Только для чтения

Объект MediaCapabilities, который может предоставлять информацию о декодирующих и кодирующих возможностях для данного формата медиа и возможностях вывода.

Примеры

Обнаружение поддержки аудиофайлов и ожидаемой производительности

В этом примере определена конфигурация аудио, затем проверяется, поддерживает ли пользовательский агент декодирование этой конфигурации медиа и будет ли она работать эффективно с точки зрения плавности и энергоэффективности.

if ("mediaCapabilities" in navigator) {
  const audioFileConfiguration = {
    type: "file",
    audio: {
      contentType: "audio/mp3",
      channels: 2,
      bitrate: 132700,
      samplerate: 5200,
    },
  };

  navigator.mediaCapabilities
    .decodingInfo(audioFileConfiguration)
    .then((result) => {
      console.log(
        `This configuration is ${result.supported ? "" : "not "}supported,`,
      );
      console.log(`${result.smooth ? "" : "not "}smooth, and`);
      console.log(`${result.powerEfficient ? "" : "not "}power efficient.`);
    })
    .catch(() => {
      console.log(`decodingInfo error: ${contentType}`);
    });
}

Спецификации

Спецификация
Возможности медиа
# media-capabilities-interface

Совместимость с браузерами

Десктоп Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
Media_Capabilities_API 66 79 63 53 13 66 63 48 13 9.0 66
decodingInfo
66["codecs строка может содержать любой поднабор необязательных параметров (должны быть все или ни одного).", "Возникают ошибки, если codecs строка содержит неожиданные символы (должен быть оценен строка до символа)."]
79["codecs строка может содержать любой поднабор необязательных параметров (должны быть все или ни одного).", "Возникают ошибки, если codecs строка содержит неожиданные символы (должен быть оценен строка до символа)."]
63["Значение webrtc параметра type называется transmission.", "До Firefox 101, decodingInfo() игнорировал параметры codecs для кодеков av01 (обрабатывая их как av1)."]
53["codecs строка может содержать любой поднабор необязательных параметров (должны быть все или ни одного).", "Возникают ошибки, если codecs строка содержит неожиданные символы (должен быть оценен строка до символа)."]
13
66["codecs строка может содержать любой поднабор необязательных параметров (должны быть все или ни одного).", "Возникают ошибки, если codecs строка содержит неожиданные символы (должен быть оценен строка до символа)."]
63["Значение webrtc параметра type называется transmission.", "До Firefox for Android 101, decodingInfo() игнорировал параметры codecs для кодеков av01 (обрабатывая их как av1)."]
48["codecs строка может содержать любой поднабор необязательных параметров (должны быть все или ни одного).", "Возникают ошибки, если codecs строка содержит неожиданные символы (должен быть оценен строка до символа)."]
13
9.0["codecs строка может содержать любой поднабор необязательных параметров (должны быть все или ни одного).", "Возникают ошибки, если codecs строка содержит неожиданные символы (должен быть оценен строка до символа)."]
66["codecs строка может содержать любой поднабор необязательных параметров (должны быть все или ни одного).", "Возникают ошибки, если codecs строка содержит неожиданные символы (должен быть оценен строка до символа)."]
encodingInfo 101 101
63Значение webrtc параметра type называется transmission.
87 15.4 101
63Значение webrtc параметра type называется transmission.
70 15.4 19.0 101

См. также

  • HTMLMediaElement's метод canPlayType()
  • MediaSource's метод isTypeSupported()
  • Использование API возможностей медиа

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Media_Capabilities_API

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API