Hi Mark,

Thanks for reaching out.

For timeslice specific questions, it might be best to continue discussions in https://bugs.webkit.org/show_bug.cgi?id=202233.

Timeslice support in older versions of MacOS and iOS is tricky.
On those OSes, including MacOS Mojave, MediaRecorder is not enabled by default.

On the most recent BigSur and iOS versions, MediaRecorder should be enabled by default and timeslice should be supported.

Hope this helps,
    Y

Le lun. 1 févr. 2021 à 17:29, Gallery via webkit-dev <webkit-dev@lists.webkit.org> a écrit :
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.  
However, a recent WebKit thread https://bugs.webkit.org/show_bug.cgi?id=202233
Suggests that timeslice *is* implemented in Safari 14.0.2 and the author provided an example jsfiddle:  https://jsfiddle.net/hdwc2xzL/

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 !



_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev