12 second latency using RTMP to EMS and WebRTC from EMS
Hi
I’ve just set up RTMP from an iPad (forwarding video from a DJI drone) to EMS, and WebRTC from EMS to the browser. The latency from the drone to the iPad is virtually zero. When I was using RTMP to EMS, and HLS to the browser, I had a thirty second latency and was hoping that WebRTC would substantially shorten that time to just a couple of seconds. However, I’ve found that the latency is now 12 seconds using WebRTC in place of HLS.
Would that latency therefore be occurring in the RTMP input stream or do you still expect a fairly high latency in the WebRTC side? Or would you recommend that I look into obtaining more memory or CPU power for my hosted VM. (I’ve also got ERS and Coturn installed and running but not much else.) It’s got 2GB of RAM and CPU – 64bit Intel(R) Xeon(R) CPU E5-2697 v4 @ 2.30GHz and running Ubuntu. Obviously a fairly humble allotment. 🙂
Much appreciated.
Kind regards
Bill
Bill
4 Answers
Hi Bill,
May we know what version of EMS you are using as well as the information of the source stream.
Do you opt to use HLS or WebRTC?
Hi Erika
Thanks for your very quick response. The version of EMS I am running is version 2.0.1 build 5649. This and other information that may be relevant are given below:
EvoStream Media Server (www.evostream.com) version 2.0.1 build 5649 with hash: 97f4c69bcb092d7569c941407422688ed93d7e70 on branch: release/2.0/main – QBert – (built for Ubuntu-16.04-x86_64 on 2018-04-20T00:07:00.000)
Compiled on machine: Linux lenovo-ubuntu 4.4.0-119-generic #143-Ubuntu SMP Mon Apr 2 16:08:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
I have been using HLS but now I wish to use WebRTC as it is purported to have a very low latency.
I need to have this very low latency as I am developing an iPad app for a client who will use it in the newsroom of a television station. It will allow them to monitor and control the camera on a drone that is being flown over some area, or over some event, of interest to the news people.
When I used RTMP from the drone to EMS, and HLS from EMS to the iPad app, there is a thirty second overall latency which, I believe, is to be expected as HLS buffers the video feed. When I used RTMP from the drone to EMS, and WebRTC (via ERS and Coturn) to the iPad app, there is still a twelve second overall latency. I am now wondering where in this process this latency might be occurring. Your advice on this would be very greatly appreciated.
Kind regards
Bill
Bill
Hi Erika
I’ve just stumbled upon the fact that, if I start the viewer in the web browser, and then start the video streaming from the drone, then the latency drops to five seconds. If I refresh the browser and click on the play button, then the latency drops to twelve seconds. So it seems that buffering is occurring either when EMS receives the video stream, or somewhere within EMS itself, or in ERS or in Coturn or in the WebRTC JavaScript running on the browser. I wonder if you could suggest which one of this it is most likely to be.
Much appreciated.
Kind regards.
Bill