w3c / mediacapture-record

MediaStream Recording
https://w3c.github.io/mediacapture-record/
Other
104 stars 21 forks source link

MediaRecorder : frame loss on mobile devices #201

Closed sr1dh4r closed 3 years ago

sr1dh4r commented 3 years ago

Browser name including version (e.g. Chrome 64.0.3282.119)

Chrome 83.0.4103.106

Description Frames are lost in the recording.

Steps to reproduce Testing:

Open https://webrtc.github.io/samples/src/content/getusermedia/record/ link in mobile chrome browser on android.

Expected results Recording should be available without any frame drop.

Actual results Recording has a lot of frame loss.

Related issues https://github.com/w3c/mediacapture-record/issues/177 https://github.com/webrtc/samples/issues/1331 (Opening it here since it seems more relevant)

guest271314 commented 3 years ago

How is frame loss determined?

Have you tried using start(0) with requetData() and comparing result with start() without timeSlice?

Have you tested with h264/avc1 codec?

sr1dh4r commented 3 years ago

How is frame loss determined? Visually, please try the linked shared on a mobile device.

Have you tried using start(0) with requetData() and comparing result with start() without timeSlice? Yes, I see no difference.

Have you tested with h264/avc1 codec? I have tested against vp8, vp9 webm codecs as described in #177 and I don't expect it to be any different.

guest271314 commented 3 years ago

What are the steps to reproduce?

"a mobile device" is a broad category. What specific device?

How did you verify frame loss other than visually?

What is the expected result?

sr1dh4r commented 3 years ago

What are the steps to reproduce?

"a mobile device" is a broad category. What specific device?

How did you verify frame loss other than visually?

What is the expected result?

https://github.com/w3c/mediacapture-record/issues/201#issue-655367621

dontcallmedom commented 3 years ago

unless there are clear reasons why the design of the spec makes it not usable on mobile devices (which this issue doesn't cover), this sounds like an implementation issue. Closing until further motivation is given