Create an HDS (HTTP Dynamic Streaming) stream out of an existing H.264/AAC stream. HDS is used to stream standard MP4 media over regular HTTP connections. HDS is a new technology developed by Adobe in response to HLS from Apple.
How To
Single Stream
General Format:
createHDSStream localstreamnames=<localstreamname> targetFolder=<target_folder_path> groupname=<groupname>
-
For Windows:
createHDSStream localstreamnames=myStream targetfolder=C:\EvoStream\evo-webroot groupname=myHDSGroup
-
For Linux Package:
createHDSStream localstreamnames=myStream targetfolder=/var/evo-webroot groupname=myHDSGroup
-
For Linux Archive:
createHDSStream localstreamnames=myStream targetfolder=/path_to_evo-webroot groupname=myHDSGroup
The created files will automatically save in the targetFolder
path.
evo-webroot: --> targetfolder
myHDSGroup --> groupname
- myStream --> localstreamname
-- bootstrap --> boostrap_file
-- myStream1.f4m --> childplaylist_file
-- f4vSegXX-FragXX --> segment_chunk_file
- manifest.f4m --> masterplaylist_file
- manifest_v1.f4m --> masterplaylist_file
Multiple Stream
To use multiple localStreamNames
using one createHLSStream command do the following:
General Format:
createHDSStream localstreamnames=<localstreamname1>,<localstreamname2>,<localstreamnameX> targetFolder=<target_folder_path> groupname=<groupname>
-
For Windows:
createHDSStream localstreamnames=myStream1,myStream2 targetfolder=C:\EvoStream\evo-webroot groupname=myHDSGroup
-
For Linux Package:
createHDSStream localstreamnames=myStream1,myStream2 targetfolder=/var/evo-webroot groupname=myHDSGroup
-
For Linux Archive:
createHDSStream localstreamnames=myStream1,myStream2 targetfolder=/path_to_evo-webroot groupname=myHDSGroup
The created files will automatically save in the targetFolder
path.
evo-webroot: --> targetfolder
myHDSGroup --> groupname
- myStream1 --> localstreamname_1
-- bootstrap --> boostrap_file
-- myStream1.f4m --> childplaylist_file
-- f4vSegXX-FragXX --> segment_chunk_file
- myStream2 --> localstreamname_2
-- bootstrap --> boostrap_file
-- myStream2.f4m --> childplaylist_file
-- f4vSegxx-Fragxx --> segment_chunk_file
- manifest.f4m --> masterplaylist_file
- manifest_v1.f4m --> masterplaylist_file
JSON CLI Response
Sample API Call:
createHDSStream localstreamnames=testpullstream targetfolder=/var/evo-webroot groupname=hds playlisttype=rolling
JSON CLI Response:
Command entered successfully!
HDS stream created
groupName: hds
localStreamNames:
-- testpullStream
manifestName:
playlistType: rolling
targetFolder: /var/evo-webroot
Playing an HDS Playlist File
The corresponding link to play this stream would then be:
General Format:
http://<EMS_IP_Address:<Web_Server_Port>/<HDS_groupname>/<Subfolder>/<manifest_filename>
Sample URL:
-
Single Stream
http://192.168.2.34:8888/myHDSGroup/manifest.f4m
-
Multiple Stream
http://192.168.2.34:8888/myHDSGroup/myStream1/manifest.f4m
http://192.168.2.34:8888/myHDSGroup/myStream2/manifest.f4m
http://192.168.2.34:8888/myHDSGroup/myStream3/manifest.f4m
The player will now automatically play the stream once the HDS playlist is loaded.
Automatic HDS
The EMS can be configured to automatically create an HDS stream for every new inbound stream. The details for the HDS creation are placed in the config.lua file instead of as parameters to the createHDSStream
API call.
autoHDS=
{
targetFolder= "/var/evo-webroot",
},
To enable automatic HDS a section in the config.lua
file needs to be enabled and modified. See configuration here.