Multirate HLS and DASH Setup

dt logo 1.5inchDrastic conversion and capture software support single rate and multirate file recording and conversion.  Up to 10 different bitrate/fps/size variants are supported per multirate output.  The actual files may be TS, MP4 or DASH/Fragmented MP4 with associated MDP and HLS files for live replay of recording files, and automatic adaptation to varying connection conditions.

Low level setup

To set up the various levels of an adaptive bit rate set for HLS or DASH, the DDRConfig Advanced tab can be used.  Run DDRConfig and select the Advanced tab.  In the config tree, go to 

/MediaReactor/PlugIns/MultiRate

DDRConfig MultiRate

Under the MultiRate key, there are 3 settings, all numeric:

  • HLSfMP4 - if set to 0, HLS will use TS (transport streams), otherwise it will use fragmented MPEG-4 files
  • TotalMultiRateFiles - the total number of files to create for each multirate output
  • UseDIrs - if this is not 0, then different rate files will each be put in their own subdirectories.  Otherwise they will be in the output directory with the M3U8

For each of the active multirate outputs, as specified by TotalMultiRateFiles, a File# key must be made, starting with File0 and going up to File# where the # is the TotalMultiRateFiles - 1.  Within each File# directory you will set up the bitrate/fps/size for that adaptation.

  • BitRateAvg - the average bit rate in kilobits per second (e.g. 5mbs == 5000kbs)
  • BitRatePeak - the highest allowable peak bit rate in kilobits per second
  • Height - the target height (ideally a multiple of the input height)
  • Width - the target width (ideally a multiple of the input width)
  • Level - the h.264 level for the target compression (e.g. 100 == 100 decimal)
  • Profile - the h.264 profile for the target compression (e.g. 4.1 == 41 decimal)
  • FPSDivisor - 1 == original frames per second, 2 == half, 3 == one third
  • AudioBitRate - AAC audio bit rate as kilobits per second (e.g. 128k == 128 decimal)

Default Settings

These settings assume a 1920x1080 source stream/sdi:

File0
Width = 1920;
Height = 1080; // 4:3 - 1440
BitRateAvg = 7800;
BitRatePeak = 8600;
FPSDivisor = 1;
AudioBitRate = 128;
Profile = 0x64; // High
Level = 41; //
File1
Width = 1280;
Height = 720; // 4:3 - 960
BitRateAvg = 6000;
BitRatePeak = 6500;
FPSDivisor = 1;
AudioBitRate = 128;
Profile = 0x64; // High
Level = 40; //
File2
Width = 1280;
Height = 720; // 4:3 - 960
BitRateAvg = 4500;
BitRatePeak = 5000;
FPSDivisor = 1;
AudioBitRate = 128;
Profile = 0x64; // High
Level = 41; //
File3
Width = 1280;
Height = 720; // 4:3 - 960
BitRateAvg = 3000;
BitRatePeak = 3300;
FPSDivisor = 1;
AudioBitRate = 96;
Profile = 0x4d; // Main
Level = 40; //
File4
Width = 960;
Height = 540; // 4:3 - 720
BitRateAvg = 2000;
BitRatePeak = 2200;
FPSDivisor = 1;
AudioBitRate = 96;
Profile = 0x4d; // Main
Level = 40; //
File5
Width = 768;
Height = 432; // 4:3 - 480
BitRateAvg = 1100;
BitRatePeak = 1200;
FPSDivisor = 1;
AudioBitRate = 96;
Profile = 0x4d; // Main
Level = 30; //
File6
Width = 640;
Height = 360; // 4:3 - 480
BitRateAvg = 730;
BitRatePeak = 800;
FPSDivisor = 1;
AudioBitRate = 64;
//
// BASELINE IS ENCODING AS MAIN IN x264
Profile = 0x4d; // Main
Level = 31; //
File7
Width = 480;
Height = 270; // 4:3 - 360
BitRateAvg = 365;
BitRatePeak = 400;
FPSDivisor = 2;
AudioBitRate = 64;
Profile = 0x4d; // Main
Level = 31; //
File8
Width = 416; // 4:3 - 400
Height = 234; // 4:3 - 300
BitRateAvg = 145;
BitRatePeak = 200;
FPSDivisor = 3;
AudioBitRate = 64;
Profile = 0x4d; // Main
Level = 30; //

More great products from Drastic

eMAM Integration
eMAM Integration eMAM provides a number of integrations with Drastic products including Net-X-Code, Net-X-Convert, and Net-X-Proxy.  For most cases, the main configuration ... Tips, Tricks and Technical Information
Color Space and HDR/HLG in 4KScope
Color Space and HDR/HLG in 4KScope 4KScope, HDRScope, and Network Video Analyzer support 8, 10, and 12 bit color in both YCbCr 4:2:2 and RGB 4:4:4 modes.  Correct measurement of signals requ... Tips, Tricks and Technical Information
Drastic Log Format
Drastic Log Format The Drastic LOG format uses the same basic layout as a LOG/~ALG/~ALE. The main differences are the 'Type:' header and the file name in the comment. The comment ... Tips, Tricks and Technical Information
Native Premiere Edit While Ingest
Native Premiere Edit While Ingest Version 6 and greater of MediaNXS, Net-X-Code and MediaReactor all support native editing while ingesting for MXF files in Adobe Premiere.   All th... Tips, Tricks and Technical Information
Adding New Languages To QuickClipXO
Adding New Languages To QuickClipXO The QuickClipXO interface is written in the Java programming language. It supports custom message strings which can be used to display alternate text for most o... Tips, Tricks and Technical Information