WSplayer 'stops' stream after 60 seconds

SLM

Member
Since upgrading to 5.0.2458 all streams displayed on an iOS 10 device (iphone 5s/6s/ipad) will stop being displayed after about 60 seconds without any notification of error or warning except it always happens right after getting a "Audio player mute" in the log. Normally, the stream will continue even after this message in the log, but since the last upgrade it won't. At least not in WSPlayer. It does continue without problems on Android and desktop (no audio player mute notification).

No errors can be found in the server log files.

2017.09.20.13.43.12 Report login: xxxxxxxxxxxxxxxxxxxxxxxxxx authName: null port: -1 OS: 5.0 (iPhone; CPU iPhone OS 10_3_2 like Mac OS X) AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.0 Mobile/14F89 Safari/602.1 browser: Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_2 like Mac OS X) AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.0 Mobile/14F89 Safari/602.1
Folder with logs: client_logs/2017-09-20/xxxxxxxxxxxxxxxxxxxxxxxxxx-13-41-27
Report Text: Report by disconnect

[-- BEGIN CLIENT LOG --]
CONF: ClientConfig{rtspMedia=false, wsTunnel=true, login='xxxxxxxxxxxxxxxxxxxxxxxxxx', authenticationName='null', password='null', domain='null', outboundProxy='null', localPort=-1, port=0, visibleName='null', regRequired=false, applicationName='null', swfUrl='null', useProxy=true, qValue='null', pAssociatedUri='null', contactParams='null', authDate=Wed Sep 20 13:41:27 CEST 2017, authToken='/81.82.xxx.xxx:65309/83.96.xxx.xxx:8443', logsFolderName='null', clientVersion='0.5.24', clientOSVersion='5.0 (iPhone; CPU iPhone OS 10_3_2 like Mac OS X) AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.0 Mobile/14F89 Safari/602.1', clientBrowserVersion='Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_2 like Mac OS X) AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.0 Mobile/14F89 Safari/602.1', wsTunnelPacketization2='true', custom='{origin=https://xxxxxx.xx}'}
IMPL: WSClient{channel=[id: 0x41ae9a21, /81.82.xxx.xxx:65309 :> /83.96.xxx.xxx:8443], handler=com.flashphoner.server.client.handler.DelegateHandler@234ec808, closed=false, pageUrl='null', countUnansweredPing=0}
LOGS:
13:41:28 DEBUG core - "Play stream 2908bf9a7b49ff5812c75390afe69368"
13:41:28 INFO core - "Initialized"
13:41:28 INFO websocket - "Initialized"
13:41:28 DEBUG core - "Offer SDP:\nv=0\r\no=- 1988962254 1988962254 IN IP4 0.0.0.0\r\nc=IN IP4 0.0.0.0\r\nt=0 0\r\na=sdplang:en\r\nm=video 0 RTP/AVP 32\r\na=rtpmap:32 MPV/90000\r\na=recvonly\r\nm=audio 0 RTP/AVP 0\r\na=rtpmap:0 PCMU/8000\r\na=recvonly\r\n"

[-- END CLIENT LOG ----]
13:41:27,926 WARN MediaSession - API-ASYNC-pool-2-thread-873 useAVGenerator Session description is unavailable!
13:41:27,926 INFO VideoSession - API-ASYNC-pool-2-thread-873 CLEAR and SEND CACHE (size=0)
13:41:27,927 INFO AbstractRtpSession - API-ASYNC-pool-2-thread-873 Create Rtp Session - /83.96.xxx.xxx:31126 - /83.96.xxx.xxx:31127
13:41:27,928 INFO AbstractRtpSession - API-ASYNC-pool-2-thread-873 Create Rtp Session - /83.96.xxx.xxx:31128 - /83.96.xxx.xxx:31129
13:41:27,930 INFO MediaSession - API-ASYNC-pool-2-thread-873 Start rtp activity detecting for audio session a405e730-9df8-11e7-8710-bbacc9099dcf
13:41:27,931 INFO RtpAudioPlayer - API-ASYNC-pool-2-thread-873 Rtp activity detecting started, port 31126
13:41:27,931 INFO MediaSession - API-ASYNC-pool-2-thread-873 Initialized a405e730-9df8-11e7-8710-bbacc9099dcf
13:43:08,755 INFO MediaSession - WSS-pool-10-thread-5 Stop MediaSession id: a405e730-9df8-11e7-8710-bbacc9099dcf
13:43:08,756 INFO AbstractRtpSession - WSS-pool-10-thread-5 RtpSession with id a405e730-9df8-11e7-8710-bbacc9099dcf terminated.
13:43:08,758 INFO AbstractRtpSession - WSS-pool-10-thread-5 RtpSession with id a405e730-9df8-11e7-8710-bbacc9099dcf terminated.
/edit:
also tested it in the demo player and demo embed player. Same results
 

Max

Administrator
Staff member
Try to set
Code:
keep_alive.algorithm=INTERNAL
in WCS_HOME/config/server.properties
then restart wcs
Code:
service webcallserver restart
 

Max

Administrator
Staff member
Looks like keep alive timeout for WSPlayer and websockets.
Should be fixed enabling INTERNAL keep alives (keep alives inside websocket protocol).
 

SLM

Member
Btw, it does seem that the delay between invoking stream start and the stream actually (dis)playing in Safari (iOS 10 and 11) has increased to 10 seconds where I think it previously was about 2 to 5 seconds. In a desktop browser it's about 2 seconds.
 

Max

Administrator
Staff member
the delay between invoking stream start and the stream actually (dis)playing in Safari (iOS 10 and 11) has increased to 10 seconds
Delay increase has not been reproduced in our environment. Please advise with which types of stream (WebRTC, RTMP, RTMFP, RTSP) it occurred.
For further investigation, please send ssh access to your server and access to the dashboard to logs@flashphoner.com
 

SLM

Member
The server is behind a firewall and ssh access is restricted to a couple of ip's. I could put in an rfc but it's not that big of a problem as of yet. It's just something I noticed after changing the keepalive setting. Delay is now (at this moment) 4 to 5 seconds (wifi) which is good enough. Yesterday it was 8 - 10 seconds (wifi), so it fluctuates a bit. Streams are WebRTC (via Chrome) to WS (iOS Safari). The same stream to a desktop environment or to Chrome on Android has virtually no delay.

Edit:
When I say delay, I mean delay from the moment the page is loaded (including scripts) until the stream is displayed, not a delay between realtime and streamtime
 
Top