muaz-khan / RecordRTC

RecordRTC is WebRTC JavaScript library for audio/video as well as screen activity recording. It supports Chrome, Firefox, Opera, Android, and Microsoft Edge. Platforms: Linux, Mac and Windows.
https://www.webrtc-experiment.com/RecordRTC/
MIT License
6.45k stars 1.75k forks source link

Bug using firefox with 'video/webm;codecs=vp8' #852

Open ronaldohoch opened 9 months ago

ronaldohoch commented 9 months ago

Hello Muaz-khan and other contributors!

Running this code:

    navigator.mediaDevices
      .getUserMedia({
        video: {
          deviceId: { exact: this.selectedVideoDeviceId },
          // width: { ideal: 99999 },
          // height: { ideal: 99999 }
        },
        audio: {
          deviceId: { exact: this.selectedAudioDeviceId }
        },
      })
      .then(async (stream: MediaStream) => {
        const sleep = m => new Promise(r => setTimeout(r, m));
        this.recorder = new RecordRTC(stream, {
          type: 'video',
          mimeType: 'video/webm;codecs=vp8',
          previewStream: () => {
          }
        });
       ///rest of code..

Throws this error:

image

ronaldohoch commented 9 months ago

For a while, my workaround was that:

let navigatorCodec:RecordRTC.Options['mimeType'] = 'video/webm;codecs=vp8';
if (navigator.userAgent.includes('Firefox')) {
  navigatorCodec='video/webm;codecs=h264'
}