Где полный список поддерживаемых типов носителей при записи с помощью Media * API?

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

Например, из Mido22/MediaRecorder-sample:

      mediaOptions = {
        video: {
          tag: 'video',
          type: 'video/webm',
          ext: '.mp4',
          gUM: {video: true, audio: true}
        },
        audio: {
          tag: 'audio',
          type: 'audio/ogg',
          ext: '.ogg',
          gUM: {audio: true}
        }
      };
  media = mv.checked ? mediaOptions.video : mediaOptions.audio;
//...
function makeLink(){
  let blob = new Blob(chunks, {type: media.type })
//...

или из с использованием MDN API записи медиапотока:

 var blob = new Blob(chunks, { 'type' : 'audio/ogg; codecs=opus' });

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

Первый ответ на этот вопрос в значительной степени соответствует тому, что я имел в виду, но мне было интересно, есть ли есть ли где-нибудь более доступный и актуальный список?


ОБНОВЛЕНИЕ: мне кажется, что я только что вылез из-под камня, потому что, как только я опубликовал это, я понял 2 наиболее очевидных способа...

  1. Запросите формат мультимедиа на http://caniuse.com/.
  2. Поддерживаемые форматы мультимедиа MDN

После указателей @Kaiido:

  1. API Media Recorder isTypeSupported
  2. getSupportedTypes()

person toraritte    schedule 05.02.2017    source источник
comment
В настоящее время в API нет способа получить список всех поддерживаемых mime-типов, но вы можете вызвать MediaRecorder.isTypeSupported(mime). Кроме того, вы можете везде оставить браузер по умолчанию (new Blob(chunks)), который в настоящее время кодируется как VP8/opus как на хроме, так и на FF.   -  person Kaiido    schedule 05.02.2017
comment
Ps: есть этот getSupportedTypes() pull request, который был сделан в соответствии со спецификациями, поэтому будем надеяться, что в ближайшее время он появится в браузерах.   -  person Kaiido    schedule 05.02.2017