Dynamic Adaptive Streaming over HTTP (DASH)
Creating a DASH Stream
From the local streams in EMS, issue the createDASHStream
command:
Single Stream
General Format:
createDASHStream localstreamnames=<localstreamname> bandwidths=<bandwidth> targetFolder=<target_folder_path> groupname=<groupname>
- For Windows:
createDASHStream localstreamnames=myStream bandwidths=51265536 targetfolder=C:\EvoStream\evo-webroot groupname=myDASHGroup
- For Linux:
createDASHStream localstreamnames=myStream bandwidths=51265536 targetfolder=/var/evo-webroot groupname=myDASHGroup
The created files will automatically save in the targetFolder
path.
evo-webroot: --> targetfolder
myDASHroup --> groupname
- myStream --> localstreamname
-- audio --> audio_folder
--- 51265536 --> bitrate_folder
---- seg_init.mp4 --> initialization_segment
---- segment_0.m4s --> audio_segment_file
---- segment_XXXXX.m4s --> audio_segment_file
-- video --> video_folder
--- 51265536 --> bitrate_folder
---- seg_init.mp4 --> initialization_segment
---- segment_0.m4s --> video_segment_file
---- segment_XXXXX.m4s --> video_segment_file
- manifest.mpd --> masterplaylist_file
Multiple Streams with Different Bitrates
To use multiple localStreamNames
using one createDASHStream
command do the following:
General Format:
createDASHStream localstreamnames=<localstreamname1>,<localstreamname2>,<localstreamnameX> bandwidths=<bandwidth1,bandwidth2,bandwidthX> targetFolder=<target_folder_path> groupname=<groupname>
- For Windows:
createDASHStream localstreamnames=myStream1,myStream2 bandwidths=10000000,20000000 targetfolder=C:\EvoStream\evo-webroot groupname=myDASHGroup
- For Linux:
createDASHStream localstreamnames=myStream1,myStream2 bandwidths=10000000,20000000 targetfolder=/var/evo-webroot groupname=myDASHGroup
The created files will automatically save in the targetFolder
path.
evo-webroot: --> targetfolder
myDASHroup --> groupname
- myStream1 --> localstreamname_1
-- audio --> audio_folder
--- 10000000 --> bitrate_folder
---- seg_init.mp4 --> initialization_segment
---- segment_0.m4s --> audio_segment_file
---- segment_XXXXX.m4s --> audio_segment_file
-- video --> video_folder
--- 10000000 --> bitrate_folder
---- seg_init.mp4 --> initialization_segment
---- segment_0.m4s --> video_segment_file
---- segment_XXXXX.m4s --> video_segment_file
- myStream2 --> localstreamname_2
-- audio --> audio_folder
--- 20000000 --> bitrate_folder
---- seg_init.mp4 --> initialization_segment
---- segment_0.m4s --> audio_segment_file
---- segment_XXXXX.m4s --> audio_segment_file
-- video --> video_folder
--- 20000000 --> bitrate_folder
---- seg_init.mp4 --> initialization_segment
---- segment_0.m4s --> video_segment_file
---- segment_XXXXX.m4s --> video_segment_file
- manifest.mpd --> masterplaylist_file
Playing an DASH Manifest File
The corresponding link to play this stream would then be:
General Format:
http://<EMS_IP_Address:<Web_Server_Port>/<DASH_groupname>/<manifest_filename>
Sample URL:
http://192.168.2.34:8888/myDASHGroup/manifest.mpd
The player will now automatically play the stream once the DASH manifest is read.
Please see createDASHStream API for more details.