Latest

Review: AirenSoft OvenMediaEngine

Featured image article

This review will highlight OvenMediaEnginean open source streaming server from AirenSoft, and explore its features to provide sub-second response time for live streaming. The article will also touch on OvenMediaEngine options for LL-HLS and WebRTC. Finally, we’ll delve into testing the SRT and RTMP ingest options.

About OvenMediaEngine (Enterprise Edition)

OvenMediaEngine is a full-featured open source streaming server that can deliver HD live streaming over WebRTC and LL-HLS with sub-second response time. It is capable of accommodating live broadcasts via the following protocols: WHIP, SRT, RTMP, RTSP, and MPEG-2-TS. In addition, users can encode at adaptive bit rates (Uppers) with the built-in live transmitter and broadcast to viewers via LL-HLS and WebRTC.

Prepare the media drive for the oven

There are two ways to access and run Oven MediaEngine: you can download the Oven MediaEngine source code and build it yourself, or you can install it using Docker.

I used OME Docker Launcher to set up OvenMediaEngine for this review. To do this, you will need to be comfortable with Bash scripting via the command line interface and starting EC2 instances using Amazon Web Services (AWS). You’ll also need a basic understanding of using AWS. For those who are not familiar with Docker, the OME Docker Launcher makes things easy, because AirenSoft provides all the commands you will need to run in a command line interface.

To get started using Oven MediaEngine, you first need to subscribe to EC2. Then, you can run an instance of Oven MediaEngine on AWS. The following steps will walk you through the setup process with OME Docker Launcher.

First, click Run Instance, and then name your instance. As you can see in Figure 1you have named the mine OMETEST. Then choose Amazon Linux AMI. For my testing in this review, I used Amazon Linux 2023. For example, you can use T2.micro for testing purposes only. Next, set up a key pair to use, and configure the network settings for your security group.

Oven motor ports

Figure 1. OvenMediaEngine setup

Table 1 Displays the ports used by the OvenMedia engine. These are the ports I have open on my EC2 instance in the security group. You will need to open these ports on the server.

Oven motor ports

Table 1. Media drive ports

Install Docker and OvenMediaEngine

Here are the steps to install OvenMedia Engine:

  1. Connect to your EC2 instance using SSH
  2. Once connected via SSH, install Docker using the following:

$ sudo yum install docker -y

  1. Next, test Docker to make sure it is installed correctly using this statement:

Start the docker service $sudo

  1. Next, to install OvenMediaEngine using Docker Launcher, run the following command in your Linux shell:

curl -OL 'https://raw.githubusercontent.com/ AirenSoft/OvenMediaEngine/master/misc/ome_docker_launcher.sh' && chmod +x ome_docker_launcher.sh

  1. Run the following to display the Oven MediaEngine dashboard screen:

./ome_docker_launcher.sh -h

  1. Follow the instructions on the dashboard screen and run this command: sudo ./ome_docker_sh setup

Now, it’s time to start the streaming server. It should now be ready, and you can run OvenMediaEngine using the following command (be sure to include your IP address):

$ OME_HOST_IP=1.2.3.4./ome_docker_launcher.sh start

Figure 2 Shows what you will see once you launch Oven MediaEngine. As you can see in the image, these are the ports used by OvenMediaEngine.

AirenSoft OvenMediaEngine

Figure 2. Details about ports once OvenMediaEngine starts

To complete the rest of the setup and other advanced elements of OvenMediaEngine using OME Docker Launcher, go to Getting started with OME Docker Launcher video tutorial. It will also guide you through setting up a TSL certificate for use with OvenMediaEngine. You can find documentation for installation using Docker at go2sm.com/docker.

Send streams using OvenMediaEngine

Once OvenMediaEngine is installed and running, you can start sending streams to the streaming server. To send an RTMP stream, you can use the common RTMP streaming format for live encoding. What you need to keep in mind is that the default application for OvenMediaEngine is called “app”. So, be sure to include this for any of your live codes. Your stream name can be whatever you want.

In the example shown in Figure 3 Use Open Broadcast Software (OBS), rtmp It is the protocol, and 1935 is the port used. Both are listed in the Server field. The default application name is programThis is also included. Finally, your chosen stream name is samplebut you can name your name whatever you want.

Sending flows into the motor media furnace

Figure 3. Send streams

To test playback, you have the option of using the secure TLS test driver (https://demoovenplayer.com) or an insecure, non-TLS experimental launcher (http://demo.ovenplayer.com). I used the NonTLS trigger for my testing when writing this article and used the following format to access the trigger: http://my.ip.address:8090. Formatting for LL-HLS and Web use

RTC to operate as follows:

Figure 4 Shows what OvenMediaPlayer looks like for a test run.

Figure 4. Running point of view

Media furnace test

Here’s how to test OvenMediaEngine. First, I was interested to see if I would be able to set up and configure a streaming server using Docker. The free, open source version of OvenMediaEngine has more features, and for this version to work, I needed to use Docker.

Second, I wanted to see how well OvenMediaEngine handled live SRT and RTMP encoding with Videon Live Edge Max And OPS. Third, I wanted to know if streaming over WebRTC and LL-HLS would be easy for beginners. Finally, I was interested in testing the latency.

Streaming server setup

Setting up OvenMediaEngine using OME Docker Launcher was quick and easy. Since AirenSoft provided setup with scripts and other commands, it was a straightforward process. Additionally, using Docker was easy because I’m very comfortable with Bash and AWS scripting

Test comprehension of live streams

Understanding live SRT and RTMP encoding with OvenMediaEngine was also a straightforward process. The only difficult part was formatting the stream ID so that it would be percent encoded for the SRT streams. Videon provided excellent guidance on how to format the Stream ID for LiveEdge Max and walked me through all the elements to configure the SRT setup with OvenMediaEngine using LiveEdge Max. After I made sure that my UDP port 9999 was open on my EC2, setup was simple from there. Videon’s help also guided me in configuring SRT streams using OBS.

Here’s what I tested to understand:

  • LiveEdge Max — RTMP ingestion
  • OBS — RTMP ingestion
  • LiveEdge Max — SRT absorption
  • OBS-SRT assimilation

Setting up RTMP ingestion with OvenMedia Engine was not difficult. Figure 5 Displays the main settings configured in LiveEdge Max.

Rtmp settings in Liveedge Max

Figure 5. RTMP settings in LiveEdge Max

Configuring the SRT ingest took more work because a Stream ID was needed in both OBS and LiveEdge Max.

Figure 6 Displays the stream ID format required for OBS. Users just need to select Custom within the service and enter their broadcast ID.

StreamID added in OBS

Figure 6. StreamID added in OBS

Figure 7 Displays the StreamID format required for LiveEdge Max.

StreamID added in LiveEdge Max

Figure 7. StreamID added in LiveEdge Max

Users will have to create an SRT setting in the output and enter the following:

Communication mode: Caller

URL: Sirte://ipaddressofserver:9999

Stream ID: srt%3A%2F%2Fmyipaddress%3A9999%2Fapp%2Fsample

Overall, ingesting streams using SRT on OBS or LiveEdge Max worked great and without issues. My only issue was a user error by neglecting to open UDP port of 9999 in my AWS security group.

Test playback of the broadcast

Playing live WebRTC and LLLHLS was fine for me. I used a NonTLS driver for testing, and this worked seamlessly to play both types of flows. I did not turn off the TLS certificate on OvenMedia Engine to test flows over TLS.

Latency test

For latency testing, I tested both LiveEdge Max and OBS using most of the default settings in their respective presets. Figures 8 and 9 Show what I used for both encoders.

Codec settings used to test LiveEdge Max

Figure 8. Codec settings used to test LiveEdge Max

Coding settings used for OBS testing

Figure 9. Codec settings used for OBS testing

Tables 2 and 3 View my test results.

Latency testing with RTMP ingestion

Table 2. Latency testing with RTMP ingestion

Latency test with SRT assimilation

Table 3. Latency test with SRT assimilation

Concluding thoughts

Overall, I was pleased with the ability to install and configure Oven MediaEngine, despite having no previous experience using Docker. The help resources and videos that AirenSoft provided me with were great, as well as the company’s answers to my many questions along the way. I found myself very comfortable running commands in the command line interface once Docker was running.

Additionally, I learned that ingesting direct RTMP and SRT encoding into OvenMediaEngine using LiveEdge Max and OBS works great and is easy if you format the streams correctly. Configuring streaming playback with OvenMedia Engine over WebRTC and LL-HLS was easy for me. It should also be easy for beginners to do as well. Even using a leaner version of the free tier for testing, response time results for my tests were good and within what was expected.

A couple of items I wanted to test but didn’t have time for were creating my own custom app outside of using the default app called “App” and adding my own encoding ladder to transcode incoming live streams. I also didn’t understand how to configure these items and probably needed more guidance from AirenSoft. It might be nice to have a GUI in the future to simplify the settings of more complex applications to create custom applications and allow users to add encoding ladders for direct transcoding.

Running covers

Related articles



Review: JW Player

This review will highlight the JW Player online video platform and explore on-demand streaming, captions, web player capabilities, and other features. It will guide viewers through using the platform, including basic features such as uploading videos, importing streams, creating playlists in the media library, and configuring the media player, as well as more advanced features. He will also discuss the testing conducted using the platform.





Is 2024 the year of WebRTC?

With major sports broadcasters, WebRTC offers a real opportunity for ultra-low latency streaming. But these same operators, spending billions on licensing rights, can’t just replace the ability to stream content in real time with basic OTT functions like SSAI and DRM.





Review: NETINT Quadra T1U video processing unit

This review will highlight the NETINT Quadra T1U and explore its capabilities as a video processing unit (VPU) for high-volume encoding and transcoding of single files, encoding ladders, and live streaming.





How to implement Low Latency HLS (LL HLS)

Instead of focusing on random tasks, this tutorial will walk you through the basics of low-latency HLS encoding using FFmpeg, OBS, Mux Video and THEEOplayer






The mentioned companies and suppliers





Source link

Related Articles

Back to top button