MediaRecorder.MediaRecorder()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

MediaRecorder() конструктор MediaRecorder объекта который будет делать запись переданного MediaStream.

Синтаксис

var mediaRecorder = new MediaRecorder(stream[, options]);

Параметры

stream

Объект потока MediaStream источника из которого будет производиться запись. Может быть потоком, созданным navigator.mediaDevices.getUserMedia() или <audio>, <video> или <canvas> элементами.

options Необязательный

Объект, содержащий следующие свойства:

  • mimeType: mime тип, определяет формат результата записи, который нужно использовать в качестве контейнера для создаваемого объекта MediaRecorder. Можно просто указать формат контейнера, а браузер сам выберет нужный кодек для записи аудио/видео, или используйте параметр codecs или параметр profiles для расширения информации об использовании и тонкой конфигурации кодеков. Приложения, предварительно, могут проверять поддержку браузерами определённого типа из свойства mimeType , вызывая метод MediaRecorder.isTypeSupported().
  • audioBitsPerSecond: Скорость записи медиа данных аудио.
  • videoBitsPerSecond: Скорость записи медиа данных видео.
  • bitsPerSecond: Скорость записи медиаданных аудио и видео. Может определяться вместо верхних двух. Если определяется вместе с одним из свойств выше, имеет меньший приоритет, и используется вместо отсутствующей настройки выше..

Примечание: Если значения битов в секунду не указаны для видео и / или аудио, для видео по умолчанию принимается значение 2,5 Мбит / с, а для аудио по умолчанию используется адаптивный режим, в зависимости от частоты дискретизации и количества каналов.

Исключения

NotSupportedError

Определяет MIME тип, не поддерживающийся браузером.

Пример

В этом примере показано, как создать медиа рекордер для указанного потока, чья скорость передачи звука составляет 128 Кбит / с, а скорость передачи видео - 2,5 Мбит / с. Записанные мультимедийные данные будут храниться в контейнере MP4 (поэтому, если вы соберёте порции мультимедийных данных и сохраните их на диск, они будут в файле с разрешением MP4).

js
...

if (navigator.mediaDevices.getUserMedia) {
  var constraints = { audio: true, video: true };
  var chunks = [];

  var onSuccess = function(stream) {
    var options = {
      audioBitsPerSecond : 128000,
      videoBitsPerSecond : 2500000,
      mimeType : 'video/mp4'
    }
    var mediaRecorder = new MediaRecorder(stream,options);
    m = mediaRecorder;

...

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

Specification
MediaStream Recording
# dom-mediarecorder-mediarecorder

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

Смотрите также