Encoder changes within Azure Media Services now create ISMC file

Beginning in June 2016, when you encode videos with the Media Encoder Standard within Azure Media Services a new file is generated as part of your output video asset. The Media Encoder Standard will generate a .ismc file. This is a client manifest that is traditionally used in Smooth Streaming, but is also used to improve performance on the Azure Media Services origin.

For most customers this will not impact their workflow at all. However, if you are expecting only certain file types to be listed in your assets after the encode is complete you may experience problems with your code. For example, if you use a LINQ query to get certain files from the IAssetFiles collection like this:

IAsset.AssetFiles.FirstOrDefault();

You may not get the file you expected because that could now be the .ismc file. If you need to locate a specific file type, the streaming manifest in this example, you can use a LINQ query similar to:

var assetFiles = outputAsset.AssetFiles.ToList();
var manifest = assetFiles.Where(f => f.Name.ToLower().EndsWith(".ism")).FirstOrDefault();

Further, you should not write code that assumes an order to files within an Asset, nor about the contents of the streaming manifest (*.ism/*.ismc) files, as both are subject to change without prior notice as the service evolves.