Issues after update to 5.2.1070 version on IOS 15.1 And Firefox 93

Michael

Member
Hello

We started to receive complaints about video freezes in Chrome, after Chrome release the 95 version.

So we started to update our servers from 5.2.970 to 5.2.1070. We update also the WebSDK to 2.0.203 version.

After this update, we started to receive complaints in Iphone and Firefox.

We have tried your demo site, and confirm issues on IOS after update to IOS 15.1. On this version of IOS, after the request of camera permission accept, the publisher videos load, and right after, the page get a involuntary reload. After this occurs by 3 times, Safari show a black screen saying: "A problem occurred repeatedly on http..."
Iphone X - IOS 15.1
Demo tries: Streamer and Two Way Streaming Example

IMG_20211028_104244.jpg


On Firefox, the JS ask permission to access camera and microphone. After this, video not load for subscriber, and nothing occurs. See no Javascript errors or logs. Just get freeze waiting, and nothing occurs.

Linux - Ubuntu 20.0
Firefox - 93 (64 bit)
Demo tries: Streamer and Two Way Streaming Example

Screenshot from 2021-10-28 10-47-35.png
Screenshot from 2021-10-28 10-46-30.png


Any tips?
 

Michael

Member
Hello

Just one more thing, after this update to 5.2.1070 version, some of ours servers (2 in 8) was getting webcallserver service stoped after restart:
FlashphonerWebCallServer: startingFlashphonerWebCallServer started, but is not healthy, please try to restart

After some search, we added health-check to this option, but the issue persists:
http_enable_paths=rest,action,shared,embed_player,empty,health-check

Running as standalone, we didn't see errors, we run manually curl to health-check, and was fine returning 200. But service still getting down few seconds after restart.

After hours trying to figure out the problem, we fixed changing the sleep time from 1 to 5 seconds at
/bin/webcallserver file - Line 1332

Seems some servers spent more time to init all HTTP interfaces, and your health check do not wait the necessary time.

Let me know if I could post this here, or it would be better to open another thread.

Regards.
 

Max

Administrator
Staff member
Good day.
We have tried your demo site, and confirm issues on IOS after update to IOS 15.1. On this version of IOS, after the request of camera permission accept, the publisher videos load, and right after, the page get a involuntary reload. After this occurs by 3 times, Safari show a black screen saying: "A problem occurred repeatedly on http..."
Iphone X - IOS 15.1
This is a known iOS 15.1 bug which is just closed: https://bugs.webkit.org/show_bug.cgi?id=231505, so it should be fixed in iOS 15.2
There are two possible workarounds:
1. Publish VP8 instead of H264. You can test it in Medai Devices example by stripping H264 codec
1635471577675.png

2. Disable GPU in Safari experimental settings:
1635471652212.png

Also, Canvas Streaming and Stream Filter examples seems working, so streaming from HTML5 canvas also may be a workaround.
There is the ticket WCS-3372 to find all the possible workarounds, so we let you know results.
On Firefox, the JS ask permission to access camera and microphone. After this, video not load for subscriber, and nothing occurs. See no Javascript errors or logs. Just get freeze waiting, and nothing occurs.
We cannot reproduce the issue with our demo server (5.2.1070) in Two Way Streaming example in Firefox 93.0
1635471117878.png

Seems like this is a certain PC problem. Try to check from the same PC in Chrome browser. If the problem is not reproducing in Chrome, try to reinstall Firefox.
Seems some servers spent more time to init all HTTP interfaces, and your health check do not wait the necessary time.
We raised the ticket WCS-3376 to increase the default timeout and to add a command line switch. Will let you know results here.
 

Michael

Member
Hello

Thanks for your attention.

We tried the cvoExtension for IOS, but subscriber get video in wrong orientation. The option to enter in advanced Safari settings worked too, but is not viable for us, as we have a very high demand, and not all users perform these operations or contact us.

We used the strip codecs option, and worked. But we get some concern about server load. With this option we could increase server load? Since the server could have to enable for more times the transcoding on fly?

Another notice: Your documentation says the stripCodecs param is a array:
stripCodecsArray.<string><optional>Array of codecs which should be stripped from SDP (WebRTC)

But at demo example is a string:
JavaScript:
var strippedCodecs = $("#stripPublishCodecs").val();
publishStream = session.createStream({   
    stripCodecs: strippedCodecs
We used as string, as demo example.

About the Firefox, we made tests and worked on Firefox 93 for windows. Could be a computer related issue.

Regards
 

Max

Administrator
Staff member
We tried the cvoExtension for IOS, but subscriber get video in wrong orientation.
cvoExtension: true enables video orientation support. If mobile device screen rotation is enabled, a picture aspect ratio will change while device is turning from portrait to landscape and vice versa. We recommend to lock screen rotation on device as workaround.
The option to enter in advanced Safari settings worked too, but is not viable for us, as we have a very high demand, and not all users perform these operations or contact us.
The problems reason is on Safari side: it requires orientation extension flag in SDP from server, but this flag is not mandatory in WebRTC. There is Webkit bug https://bugs.webkit.org/show_bug.cgi?id=232381 describing a page crash, and another Webkit bug https://bugs.webkit.org/show_bug.cgi?id=231505 which is already marked as fixed. So waiting to fix in iOS 15.2.
We used the strip codecs option, and worked. But we get some concern about server load. With this option we could increase server load? Since the server could have to enable for more times the transcoding on fly?
If you publish VP8 video and play H264, WCS will transcode video. This requires a lot of CPU resources. So you should play the same codec as publishing one.
Another notice: Your documentation says the stripCodecs param is a array:
stripCodecsArray.<string><optional>Array of codecs which should be stripped from SDP (WebRTC)
But at demo example is a string:
We will fix API documentation.
About the Firefox, we made tests and worked on Firefox 93 for windows. Could be a computer related issue.
Good to hear.
 
Last edited:

Max

Administrator
Staff member
We tried the cvoExtension for IOS, but subscriber get video in wrong orientation.
We reproduced the issue with wrong orientation when publishing a stream from iOS 15.1 with cvoEstension enabled. This issue is fixed in build 5.2.1074. Please update and check.
 

Max

Administrator
Staff member
Good day.
Since build 5.2.1084 we added the following command line key to set a maximum number of health checking tries
Code:
sudo ./webcallserver start --health-timeout 10
Also, we increased default health checking tries number to 10. This should be enough on most server configurations. Please also read details here.
 
Top