class Evostream::Commands::CreateHLS

Create flux HLS

Constants

MANDATORY

Public Class Methods

new(commands = { local_stream_names: 'null', target_folder: 'null' }) click to toggle source

Call default command for create DASH Stream

Calls superclass method Evostream::Commands::Create::new
# File lib/evostream/event/commands/create/hls.rb, line 12
def initialize(commands = {
  local_stream_names: 'null', target_folder: 'null'
})
  super(commands)
end

Public Instance Methods

cmd() click to toggle source
Calls superclass method Evostream::Commands::Command#cmd
# File lib/evostream/event/commands/create/hls.rb, line 18
def cmd
  super
  "createHLSStream?params=#{encode64}"
end

Private Instance Methods

aes_key_count(param = 5) click to toggle source

Specifies the number of keys that will be automatically generated and rotated over while encrypting this HLS stream

# File lib/evostream/event/commands/create/hls.rb, line 57
def aes_key_count(param = 5)
  "AESKeyCount=#{param}"
end
audio_only(param = 0) click to toggle source

Specifies if the resulting stream will be audio only. A value of 1(true) will result in a stream without video

# File lib/evostream/event/commands/create/hls.rb, line 63
def audio_only(param = 0)
  "audioOnly=#{param}"
end
chunk_base_name(param = 'segment') click to toggle source

The base name used to generate the *.ts chunks

# File lib/evostream/event/commands/create/hls.rb, line 43
def chunk_base_name(param = 'segment')
  "chunkBaseName=#{param}"
end
cleanup_on_close(param = 0) click to toggle source

If true, corresponding hls files to a stream will be deleted if the said stream is removed or shut down or disconnected

# File lib/evostream/event/commands/create/hls.rb, line 75
def cleanup_on_close(param = 0)
  "cleanupOnClose=#{param}"
end
create_master_playlist(param = 1) click to toggle source
# File lib/evostream/event/commands/create/hls.rb, line 25
def create_master_playlist(param = 1)
  "createMasterPlaylist=#{param}"
end
drm_type(param = 'none') click to toggle source

Sets the type of DRM encryption to use. Options are: none (no encryption), evo (AES Encryption), SAMPLE-AES (Sample-AES), verimatrix (Verimatrix DRM). For Verimatrix DRM, the 'drm' section of the config.lua file must be active and properly configured

# File lib/evostream/event/commands/create/hls.rb, line 51
def drm_type(param = 'none')
  "drmType=#{param}"
end
file_length(param = 0) click to toggle source

When using useByteRange=1, this parameter needs to be set too. This will be the size of file before chunking it to another file, this replace the chunkLength in case of EXT-X-BYTERANGE, since chunkLength will be the byte range chunk

# File lib/evostream/event/commands/create/hls.rb, line 88
def file_length(param = 0)
  "fileLength=#{param}"
end
hls_resume(param = 0) click to toggle source

If true, HLS will resume in appending segments to previously created childplaylist even in cases of EMS shutdown or cut off stream source

# File lib/evostream/event/commands/create/hls.rb, line 69
def hls_resume(param = 0)
  "hlsResume=#{param}"
end
max_chunk_length(param = 0) click to toggle source

This parameter represents the maximum length, in seconds, the EMS will allow anysingle chunk to be. This is primarily in the case of chunkOnIDR=true where the EMS will wait for the next key-frame. If the maxChunkLength is less than chunkLength, the parameter shall be ignored

# File lib/evostream/event/commands/create/hls.rb, line 38
def max_chunk_length(param = 0)
  "maxChunkLength=#{param}"
end
offset_time(param = 0) click to toggle source
# File lib/evostream/event/commands/create/hls.rb, line 98
def offset_time(param = 0)
  "offsetTime=#{param}"
end
playlist_name(param = 'playlist.m3u8') click to toggle source

The manifest file name

# File lib/evostream/event/commands/create/hls.rb, line 30
def playlist_name(param = 'playlist.m3u8')
  "playlistName=#{param}"
end
start_offset(param = 0) click to toggle source

A parameter valid only for HLS v.6 onwards. This will indicate the start offset time (in seconds) for the playback of the playlist

# File lib/evostream/event/commands/create/hls.rb, line 104
def start_offset(param = 0)
  "startOffset=#{param}"
end
use_byte_range(param = 0) click to toggle source

If true, will use the EXT-X-BYTERANGE feature of HLS (version 4 and up)

# File lib/evostream/event/commands/create/hls.rb, line 80
def use_byte_range(param = 0)
  "useByteRange=#{param}"
end
use_system_time(param = 0) click to toggle source

If true, uses UTC in playlist time stamp otherwise will use the local server time

# File lib/evostream/event/commands/create/hls.rb, line 94
def use_system_time(param = 0)
  "useSystemTime=#{param}"
end