videojs-record icon indicating copy to clipboard operation
videojs-record copied to clipboard

Recorder freezes with no errors on Epiphany and iOS views (webkit)

Open HeshamMeneisi opened this issue 5 years ago • 7 comments

Description

Once you click the start button the background turns to black but nothing happens. No prompt for permissions and no errors in the console.

Steps to reproduce

Open a page on iOS (non-safari) browsers or Epiphany on Linux. Click the start button

Results

Expected

Asks for permission if needed Starts the player and becomes ready to record

OR

Shows some error on the console explaining what went wrong

Actual

The background turns to black behind the start button Nothing else happens

Error output

Additional Information

versions

VIDEOJS: – "Using video.js 7.8.4 with videojs-record 4.1.0 and recordrtc 5.6.1"

browsers

webkit-based browsers (e.g. Epiphany) (safari has a different issue already reported here)

OSes

iOS most affected Epiphany can be run on Linux as well (useful for debugging)

HeshamMeneisi avatar Oct 21 '20 05:10 HeshamMeneisi

@HeshamMeneisi can you check if navigator.mediaDevices.getUserMedia() is available?

thijstriemstra avatar Oct 21 '20 08:10 thijstriemstra

@thijstriemstra Just checked on Epiphany and mediaDevices is actually undefined. But shouldn't that produce an error?

HeshamMeneisi avatar Oct 21 '20 08:10 HeshamMeneisi

did you define an error handler?

thijstriemstra avatar Oct 21 '20 08:10 thijstriemstra

@thijstriemstra Yes but it logs on dev and I even completely disabled it and still nothing was printed. Is there actually any handling for browsers not supporting MediaStream? On iOS Safari, it actually opens the camera but then fails to record. I will open a different issue for that when I get to see the logs from an iOS device.

HeshamMeneisi avatar Oct 21 '20 11:10 HeshamMeneisi

Yes but it logs on dev and I even completely disabled it and still nothing was printed. Is there actually any handling for browsers not supporting MediaStream?

@HeshamMeneisi I think you meant navigator.mediaDevices.getUserMedia(), and no, the handling is done using the webrtc-adapter library, as you can see in all the examples. Can you doublecheck if you included it?

On iOS Safari, it actually opens the camera but then fails to record. I will open a different issue for that when I get to see the logs from an iOS device.

What version of iOS? Did you try with latest iOS 14.4? Also, make sure to test the examples in the docs, don't include custom code.

thijstriemstra avatar Jan 31 '21 22:01 thijstriemstra

I am not able to reproduce this with Mobile Safari on iOS 14.4. Chrome on iOS 14.4 produced a 0kb file while recording though..

thijstriemstra avatar Mar 03 '21 15:03 thijstriemstra

Chrome on iOS 14.4 produced a 0kb file while recording though..

Need to test this again with iOS 14.5.

thijstriemstra avatar Apr 29 '21 15:04 thijstriemstra