azureazure-media-services

Add an audio track to existing asset (via Azure Media Services)


I've been able to successfully encode the video and store it as an asset in the Azure Media Service by using this example.

Now I'd like to make the video multi-lingual, so, need to add multiple audio tracks to the asset that was created earlier.

Seems like there is no proper way to add an audio-track to the existing asset by using the .NET SDK for Azure Media Services, so I'm trying to find a workaround for that.

Here's what I've tried:
As an experiment I've manually uploaded an audio file to the asset itself, and then called the Tracks - Create Or Update API with the following body:

{
     "properties": {
        "track": {
          "@odata.type": "#Microsoft.Media.AudioTrack",
          "fileName": "audio4.mp4",
          "languageCode": "eng",
          "mpeg4TrackId": 4
        }
     }
}

And got a successful response.

However, now when I try to play the video with the HLS url provided by Azure, I still don't see the added audio tracks.
Also, I've noticed in the portal that not all the files were updated after the Tracks - Create Or Update request, as here, in the picture, you can see that only the date of the .ism file was modified, and the .ismc, _manifest.json files remained the same.

enter image description here

Am I missing something?
Or is there any proper way of adding an audio track to an existing asset?

P.S. Any solution with both Rest APIs and SDK are welcome.


Solution

  • Couple questions. Did you upload audio4.mp4 to storage asset container? Is track id '4' correct in audio4.mp4 file? It is supposed to be a track identifier in audio4.mp4 file, if you're unsure or there is only one audio track in mp4 file, you don't have to specify it.