HLS & MPEG-DASH Streaming
OvenMediaEngine uses HLS and MPEG-DASH to support streaming even on older browsers that do not support WebRTC. Also, if you use OvenPlayer, it detects the browser status and performance, and automatically falls back using HLS or MPEG-DASH during streaming. HLS and MPEG-DASH are not Ultra-Low Latency protocols, so you can decide whether or not to use them.
We will soon support CMAF, which can stream with Low Latency even when using HLS or MPEG-DASH in OvenMediaEngine and OvenPlayer. CMAF will work reliably on most browsers except iOS, and it can Low Latency Streaming from 1 to 3 seconds.
OvenMediaEngine provides the following features:
Title | Functions |
Delivery | HTTP |
Security | TLS (HTTPS) |
Format |
|
Codec | H.264, AAC |
Configuration
If you want to use MPEG-DASH and HLS, you need to add the <DASH>
and <HLS>
element to the <Publishers>
in the Server.xml
configuration file as shown in the following example.
Element | Decsription |
Ports | Sets the HTTP port to provide MPEG-DASH and HLS. Also, MPEG-DASH and HLS can use the same port. |
SegmentDuration | Sets the length of the segment in seconds. The shorter the |
SegmentCount | Sets the number of segments to be exposed to |
CrossDomain | Controls the domain in which the player works through |
CrossDomain
Most browsers and players prohibit accessing other domain resources in the currently running domain. You can control this situation through Cross-Origin Resource Sharing (CORS) or Cross-Domain (CrossDomain). Moreover, OvenMediaEngine can set CORS and Cross-Domain as <CrossDomain>
element.
You can set it using the <Url>
element as shown above, and you can use the following values:
Url Value | Decsription |
* | Allows requests from all Domains |
domain | Allows both HTTP and HTTPS requests from the specified Domain |
http://domain | Allows HTTP requests from the specified Domain |
https://domain | Allows HTTPS requests from the specified Domain |
Streaming
MPEG-DASH and HLS Streaming are ready when a live source is inputted and a stream is created. Viewers can stream using OvenPlayer or other players.
Also, you need to set H.264 and AAC in the Transcoding profile because MPEG-DASH and HLS use these codecs.
When you create a stream as shown above, you can play MPEG-DASH and HLS through OvenPlayer with the following URL:
Protocol | URL format |
HLS |
|
Secure HLS |
|
MPEG-DASH |
|
Secure MPEG-DASH |
|
If you set TLS in the current version of OvenMediaEngine, you can only use Secure HLS and Secure MPEG-DASH. Please wait if you want to use regular HLS and MPEG-DASH at the same time.
If you use the default configuration, you can start streaming with the following URL:
https://[OvenMediaEngine IP]:80/app/stream_o/playlist.m3u8
http://[OvenMediaEngine IP]:80/app/stream_o/playlist.m3u8
https://[OvenMediaEngine IP]:80/app/stream_o/manifest.mpd
http://[OvenMediaEngine IP]:80/app/stream_o/manifest.mpd
We have prepared a test player that you can quickly see if OvenMediaEngine is working. Please refer to the Test Player for more information.
Last updated