Hi Folks
We are developing a streaming system which uses MediaRecorder with timeslice.
It's clear that Safari only has MediaRecorder as developer experiment, and that older versions of Safari dont support timeslice anyway.
Our experience suggests all is not as expected:
On Big Sur (on Apple DTK)
- Safari 14.02 (with mediarecorder enabled in experimental features) does appear to work as expected. MediaRecorder and timeslice all correct.
On macOS Mojave (on MacBook Pro intel)
- Safari 13 - (with mediarecorder enabled in experimental features). MediaRecorder initialises OK and works as expected (but without timeslice callbacks)
- Safari 14.0.2 (with mediarecorder enabled in experimental features) Throws an error when initialising MediaRecorder "NotSupportedError: The MediaRecorder is unsupported on this platform”
Both our own mechanism. and the jsfiddle referenced above shows the same error;
try
{
mediaRecorder = new MediaRecorder(window.stream, options); // options is just {videoBitsPerSecond: 1500000} - hence allowing default mimetype, window.stream successful from getUserMedia
}
catch (e)
{
console.error('navigator.getUserMedia error:', e);
errorMsgElement.innerHTML = `navigator.getUserMedia error:${e.toString()}`;
// fails: "NotSupportedError: The MediaRecorder is unsupported on this platform”
}
so we dont even get as far as calling mediaRecorder.start(timeslice_ms) any more (as we did with Safari 13)
Could anyone explain this behaviour in Mojave ?
Should MediaRecorder work on the official shipping 14.02 downloaded on Mojave ?
On a related note - what should we expect from mobile Safari with respect to timeslice MediaRecorder ?
When might we see MediaRecorder enabled by default so we can use it for customer applications ???
Many Thanks !