streamproc / MediaStreamRecorder

Cross browser audio/video/screen recording. It supports Chrome, Firefox, Opera and Microsoft Edge. It even works on Android browsers. It follows latest MediaRecorder API standards and provides similar APIs.
https://www.webrtc-experiment.com/msr/
MIT License
2.63k stars 563 forks source link

whammyInWebWorker failed #129

Closed asdfghjBennyHuang closed 7 years ago

asdfghjBennyHuang commented 7 years ago

In edge, the ondataavailable was not fired, after checking into the source code, I found that in the whammyInWebWorker, the frame.image is processed and then passed into parseWebP , however, since the frame.image is png in my case, the id in parseRIFF cannot match in if (id === 'RIFF' || id === 'LIST') , then when the chunck is passed into parseWebP, the code crash at this line

var VP8 = riff.RIFF[0].WEBP[0];

riff.RIFF is undefined.

Actually I already changed the int 23 in frame.image.slice(23) into 22 in order to get PNG content decoded correctly by atob. It seems that it is not expected that the format would be png?

The environment is windows 10, edge 14. the stream object is obtained through calling getUserMedia.

muaz-khan commented 7 years ago

Microsoft Edge supports only StereoAudioRecorder (WebAudio) based recording solution; i.e. you can record only microphone. You can NOT record video tracks.

WhammyRecorder (i.e. WebP + WebM) based solution currently supported only on Chrome. No other browser (including Firefox) supports WebP encoders.