Test results of finding the encoder optimized for OvenMediaEngine and its setting.


Hello!


We carried out several tests to perform the Sub-Second Latency Streaming concept of OvenMediaEngine in a better way and announced each test result that used OBS and OvenLiveKit as live encoder last June through AirenSoft's Twitter. Then, we executed the update of OvenLiveKit, OvenMediaEngine, and OvenPlayer after collecting the weak points found from the tests.

  • What is OvenLiveKit? It was checked streaming was available at the latency of 5 frames in the optimized environment with a mobile live encoder optimized for OvenMediaEngine. Though it was not open-source, we produced the sample app called OvenStreamEncoder and released it in Google Play.

We carried out multiple pieces of research to find the optimum setting that is capable of utilizing OvenMediaEngine in a better way after the update. The results are as below.



1. Open Broadcaster Software (OBS).

We set the optimum environment as the figure above and performed a Sub-Second Latency Streaming test using OBS. X264 and NVENC were used among various encoders that OBS supports.


* Common Setup

  • Resolution: 1920x1080 (Full HD)

  • Video Bitrate: 2500kbps

  • Video Framerate: 30fps

  • Audio Bitrate: 64kbps

  • Audio Samplerate: 48kHz


a) x264.

We recognized “bframes=0” was effective among the settings from multiple OBS tests. If you are willing to do the test, hope you proceed with it by referring to the setting image above.


We already know the result that stream was available with the latency of about 20 frames using x264 from the LAST TEST, but newly achieved the result that more stable streaming was feasible by the update.



b) NVIDIA NVENC.

NVENC is the specific option that can be chosen only if you use the graphic card of NVIDIA. If NVENC is not found among the option, please check the graphic card. It is important the value of “Max B-frames” is “0” regarding NVENC like the setting of x264.


We acquired the surprising result that streaming was available with the latency of about 7 frames when using NVENC. If NVENC can be used in various devices, you can experience almost real-time ‘INTERACTIVE’ when is combined with OvenMediaEngine.



2. OvenLiveKit (OvenStreamEncoder).

First off, I think you need an explanation of OvenLiveKit and OvenStreamEncoder.

OvenLiveKit is a transmission SDK. Anyone can easily add broadcast transmission functions to their own apps using this SDK. And OvenStreamEncoder is a very simple sample app that shows you can make and use it with OvenLiveKit.

  • If you like the performance of OvenStreamEncoder and purchase OvenLiveKit, we provide you with the SDK binary and OvenStreamEncoder source.

Go back to the main point, we set the optimum environment like the OBS test and proceeded with the Sub-Second Latency Streaming test that used OvenLiveKit.


* Common Setup

  • Resolution: 1920x1080 (Full HD)

  • Video Bitrate: 2500kbps

  • Video Framerate: 30fps

  • Audio Bitrate: 64kbps

  • Audio Samplerate: 48kHz


As OvenLiveKit was developed to support more stable Sub-Second Latency Streaming in the mobile environment, the test was done with a smartphone. The smartphone we used was “Samsung Galaxy S9 (launched in 2018)” that has become ordinary now due to the development of technology.


The configuration images above are the OvenStreamEncoder screen created by linking the OvenLiveKit API. Usually, you can see the image on the right. Anyway, it showed stable streaming results even at the maximum settings supported by this app.


We gained the surprising result from the LAST TEST that streaming was available with the latency of about 7 frames when using OvenLiveKit, however, achieved the extraordinary result that stable streaming was possible with the latency of about 5 frames from the test performed after the update. All we were surprised by the result that the faster and more stable streaming was achievable in a mobile device that would be unstable comparing to a desktop.


It was a good case that we could check how much OvenLiveKit (live encoder) and OvenPlayer (HTML5 player) were optimized for OvenMediaEngine (streaming server) from the test. We will keep improving the stability and performance of OvenMediaEngine and OvenPlayer with continuous tests that use various encoders and players like this.


If you are interested in OvenLiveKit that enables almost real-time streaming in a mobile environment too, send an email to contact@airensoft.com after using OvenStreamEncoder which is our sample app first.


Always, OvenMediaEngine wishes you a successful project.

Thank you!


Address: #1203, Twenty First Valley, 157, Yangpyeong-ro, Yeongdeungpo-gu, Seoul 07207, Republic of Korea

 Tel: +82-2-6378-5227

 Fax: +82-2-6378-5228

 Email: contact@airensoft.com

Copyright© AirenSoft Co., Ltd. All rights reserved.