AirenSoft / OvenPlayer

OvenPlayer is JavaScript-based LLHLS and WebRTC Player for OvenMediaEngine.
https://airensoft.com/ome.html
MIT License
515 stars 126 forks source link

OvenPlayer issue on android chrome... #131

Closed alissimo closed 4 years ago

alissimo commented 4 years ago

Hi... I'm testing ovenmediaengine... I made a webpage with inside the oven player and on desktop I see my streaming in webrtc made with OBS (rtmp) to-> ovenmediaengine... without problems. But same page seen in android mobile browser (chrome) at first load not working.. I have to refresh the page and then it works... Do you know why? In the ovenmediaengine.log I see this...

[2020-06-30 12:50:31.415] I 3424 HttpServer | http_server.cpp:225 | Client(xxx.xx.xxx.xxx:42208) is connected on 0.0.0.0:3334 [2020-06-30 12:50:31.498] I 3422 HttpServer | http_server.cpp:185 | Client(xxx.xx.xxx.xxx:42208) is requested uri: [https://streaming01.xxxxxx.xxx:3334/app/stream_o] [2020-06-30 12:50:31.498] I 3422 Signalling | rtc_signalling_server.cpp:99 | New client is connected: <ClientSocket: 0x7f8637454910, #30, state: 4, TCP, xxx.xx.xxx.xxx:42208> [2020-06-30 12:50:31.778] I 3422 HttpServer | http_server.cpp:286 | The HTTP client(xxx.xx.xxx.xxx:42208) has been disconnected from 0.0.0.0:3334 (101) [2020-06-30 12:50:31.779] I 3422 Signalling | rtc_signalling_server.cpp:233 | Client is disconnected: <WebSocketClient: 0x7f8628cbac90, <ClientSocket: 0x7f8637454910, #30, state: 4, TCP, xxx.xx.xxx.xxx:42208>> (#xxx.xx.xxx.xxx#app / stream_o, ufr ag: local: UK8bRa, remote: (N/A))

Android client connects just for a fraction of second and the disconnects after some ms.. (I see blank...) But if I refresh page the streaming starts. Every time that I open a new browser window and I go to this page it happens this proble.. then refreshing page all goes ok... What can it be?

The oven media player page I made is very simple:

Thx for answering... and for your great work :)

SangwonOh commented 4 years ago

@alissimo Hi. Thanks for reporting bug. The bug was fixed and bug fixed OvenPlayer is applied to the latest version.

Details.

Chrome on Android (version above 80) have problem creating answer SDP when offered SDP have only h264 description. Only once after first page load. So OvenPlayer failed to establish WebRTC connection and closed WebSocket connection immediately what you reported like.

This bug was reported chromium and will be repaired. CanSetupH264VideoCallOnSupportedDevice fails because H264 is missing in SDP offer H.264 codec missing on first page loaded in Chrome Android

But now for support stable WebRTC playback, OvenPlayer tries to establish connection with OME until browser create proper SDP.

Note. This problem occurs with only h264. So you can also avoid this problem by configure the OME to encode WebRTC video to VP8.

SangwonOh commented 4 years ago

Close the issue. Please reopen if you need more discussion.