3 Replies

You can match template names with stream names, and remove the specific template name (i.e.transrate.xml, transcode.xml) from Application.xml file.

<Templates>${SourceStreamName}.xml</Templates>

if you only have a template named myStream.xml you will only transcode streams named myStream. if you also have a template named yourStream.xml, streams named "myStream" and "yourStream" will be transcoded using those templates, and other streams will not be transcoded.

You could take a look at the ILiveStreamTranscoderNotify and ILiveStreamTranscoderActionNotify interfaces. and dynamically choose your template file. Setup the following event handlers as indicated in this post. Then you can choose the template required by leveraging the liveStreamTranscoder object within the ILiveStreamTranscoderActionNotify.onInitBeforeLoadTemplate event handler as follows:

i) The best we can manage is 'notchy' levels, i.e. preset levels defined in the XML. It would be 'nicer' if we had full, programmatic control, but I guess predefined is acceptable. Furthermore, there's no other solution, so we don't have a lot of choice but to accept it :-)

ii) If we want to dynamically enable/disable on a per HLS level basis (e.g. enable 128k, disable 256k, enable 512k, enable 1Mb) then we'll need XML templates containing all the permutations of these combinations. This is kind of a pain.

Am I missing something, or is this the case? Any thoughts as to a more elegant solution to ii) ?