web-dev-qa-db-ja.com

FirefoxおよびChromeのMediaRecorderでサポートされているすべてのMIMEタイプ

FirefoxまたはChromeでサポートされているすべてのMIMEタイプのリストはどこにありますか?これまでに見てきたすべての例は、video/webmのみを使用しています。

21
Hp93

Firefoxの包括的なリストはまだありませんが、haveは(MediaRecorder APIの 投稿このテストセット にリンクするGoogleのウェブアップデートセクションから).

基本的に、Chromeのビデオ/オーディオ用に受け入れられているMIMEタイプは(執筆時点で)次のようになります。

  • ビデオ/ウェブ
  • video/webm; codecs = vp8
  • video/webm; codecs = vp9
  • video/webm; codecs = vp8.0
  • video/webm; codecs = vp9.0
  • video/webm; codecs = h264
  • video/webm; codecs = H264
  • video/webm; codecs = avc1
  • video/webm; codecs = vp8、opus
  • video/WEBM; codecs = VP8、OPUS
  • video/webm; codecs = vp9、opus
  • video/webm; codecs = vp8、vp9、opus
  • video/webm; codecs = h264、opus
  • video/webm; codecs = h264、vp9、opus
  • video/x-matroska; codecs = avc1

  • オーディオ/ウェブ

  • audio/webm; codecs = opus

(2019-02-10の編集: brianchirls ' link findを含むように更新)

26
exafred

Firefoxの場合、受け入れられるMIMEタイプは _MediaRecorder.cpp_ にあり、 MediaRecorder.isTypeSupported(...) を使用して確認できます。

例:

_21:31:27.189 MediaRecorder.isTypeSupported('video/webm;codecs=vp8')
21:31:27.135 true
21:31:41.598 MediaRecorder.isTypeSupported('video/webm;codecs=vp8.0')
21:31:41.544 true
21:32:10.477 MediaRecorder.isTypeSupported('video/webm;codecs=vp9')
21:32:10.431 false
21:31:50.534 MediaRecorder.isTypeSupported('audio/ogg;codecs=opus')
21:31:50.479 true
21:31:59.198 MediaRecorder.isTypeSupported('audio/webm')
21:31:59.143 false
_
8
AndyO

var canRecordVp9 = MediaRecorder.isTypeSupported('video/webm;codecs=vp9');を使用することを含むソリューションを今日見つけました

chrome(およびOpera)とFirefoxを区別し、if (canRecordVp9) { mediaRecorder = new MediaRecorder(stream, {mimeType : 'video/webm;codecs=vp9'}); } else { mediaRecorder = new MediaRecorder(stream); }を実行します

それに応じてMediaRecorderを構築します。

次に、ブロブを取得するとき:if (canRecordVp9) { blob = new Blob([myArrayBuffer], { "type" : "video/webm;codecs=vp9" }); } else { blob = new Blob([myArrayBuffer], { "type" : "video/webm" }); }

最後に、FileReaderを使用してblobをdataUrlとして取得します。

var reader = new FileReader();
reader.onload = function(event)
{
    var blobDataUrl = event.target.result;
}
reader.readAsDataURL(blob);`

次に、blobDataUrlをwebmファイルとして保存すると、Chrome=で記録されたビデオはFirefoxで正常に機能し、その逆も同様です。

0
Craig