openj-gate.com

lechoixdeslibraires.com

open4u.co.uk

argosnear.me

sarf3omlat.com

opencities.ca

australia-opening-times.com

Low-latency broadcasting of WebRTC video stream to iOS Safari, IE and other browsers via Websockets

low-latency-video-streaming-to-iOS-Safari

A solution to deliver low-latency video to iOS Safari

iOS Safari, Internet Explorer, Mac Safari and some other browsers do not support the WebRTC technology – an otherwise ideal option to organize real-time broadcasting of video streams.

In WebRTC, the RTP protocol is used to transport video streams. This allows to obtain the low latency of the video stream while playback. This is critical in such interactive apps as video chats, live broadcasting, screen sharing, webinars and other applications where a spectator must see the stream almost real-time, without typical 10-20 seconds of latency.

Figure 1. iOS Safari does not support WebRTC.

IOS-Safari-Does-Not-Support-WebRTC

We use iOS Safari as an example because this browser also lacks support for Flash. That is, while on desktop versions of IE and Safari we can use Adobe Flash Player to display a live video stream, iOS Safari misses such capability.

Figure 2. Apple HTTP Live Streaming as a solution of live video stream delivery.

HTTP-Live-Streaming-As-Solution

Existing solution is HLS (HTTP Live Streaming), it allows delivering a video stream to iOS Safari and other browsers not supporting WebRTC. However, this solution do not feature low latency and therefore cannot be used in tasks where less than 1 second delay is required.

Figure3. HLS cannot provide low-latency broadcasting.

HLS-cant-deliver-low-latency-video-stream

Solution on the base of Web Call Server 4 allows to deliver WebRTC video to iOS Safari and other browsers with minimum latency. For transmission of a stream, the HTML5 Websockets technology is used. It greatly overcomes HLS in terms of performance and video content delivery rates. This was made possible thanks to binary data transmission inside a Websocket connection without the need to transfer video fragments over HTTP as it is with HTTP Live Streaming technology.

Figure 4. Web Call Server 5 as a solution to deliver low-latency video streams.

low-latency-iOS-Safari-iPhone-Streaming-without-HLS

Comparing HLS and Websockets, latency values of the latter are 5 or more times lower.

Our tests of WCS5 displayed 3 seconds latency for Websockets and 15 seconds for HLS. Therefore, effective increase in video stream delivery performance is 5 times.

 

Figure 5. Ten times latency advantage.

HLS-vs-Websocket-Latency-in-Seconds

Checking the work of a player

You can check how this works, directly from our demo page.

1. Open the Demo / Streaming Min demo page in the Google Chrome browser.
2. Make sure your web-camera is plugged. Set an arbitrary stream name and click ‘Connect’ then ‘Start’ button to send the video stream to the server.

Figure 6. Sending WebRTC video stream from a Web browser.

2. Open the Demo / WS Player Min interface to playback the sent stream in iOS Safari over Websockets.

Please note, it is the stream created by the Streaming Min that we feed to the player.

5. As a result, we receive a video that plays without WebRTC involved.

 Figure 8. Websocket stream.

testing-iOS-Safari-broadcasting-form-Chrome

 

Installing and configuring on your own server

1. Download the server: wget https://flashphoner.com/download-wcs5-server.tar.gz

2. Install the server and activate its license via http://host:9091 web admin UI

tar -xvzf download-wcs5-server.tar.gz

./install.sh

Please refer to Administrator Manual for more information on installing, activating and starting the server.

That’s all. As a result, you successfully deployed a demo on your own server and can test it exactly as shown above in the player example..

If you have any additional questions, please direct them to our support forum: http://forum.flashphoner.com

 Learn more about Web Call Server 5.

 

Download Web Call Server 5

System requirements: Linux x86_64, 1 core CPU, 2 Gb RAM, Java

    Download Now    

Installation:

  1. wget https://flashphoner.com/download-wcs5.2-server.tar.gz
  2. Unpack and install using 'install.sh'
  3. Launch server using command 'service webcallserver start'
  4. Open the web interface https://host:8444 and activate your license

 

If you are using Amazon EC2, you don't need to download anything.

Launch WCS5 on Amazon EC2

 

Web Call Server Monthly Subscription

$145 per month

 

   Purchase   

 

 

Related articles

Flashphoner Presents HTML5 RTSP Video Player for Online Broadcasting in iOS Safari

iOS Safari 11 now supports WebRTC

Embedding a WebRTC player for live broadcasts to a website

WebRTC, Safari