Reputation: 736
I am trying to achieve uploading an MP4 video to Azure Media services; making it available for streaming via a streaming URL, as well as more importantly and specifically to this question: upload .VTT captions to be shown within the video.
I have worked on integrating the code within this tutorial, more specifically the EncodeAndStreamFiles sample app (described in the document) as a DotNetCore API.
I have managed to retrieve a list of streaming URLs for the Video, and the stream works well (the video is playable).
The next step is uploading a .VTT caption (or subtitle). Unfortunately, I have not found any official documentation from Microsoft regarding this subject. This Stack Overflow question is the only useful information I found. Based on the answers to the question; I am uploading the caption within the same blob container as the video's output asset and referring to it by editing the video's streaming URL (replacing the last part).
So if the video's streaming URL is this:
Then the caption's streaming URL would be:
I am trying to display the video and the caption using the advanced options within this tool. The caption appears within the options, but the actual words don't appear on screen.
I have 2 questions -
Is the uploading of the Caption as part of the blob container, the correct way to upload captions? Or is there a better way (perhaps via the SDK) that I haven't run into yet?
If the answer to 1. is Yes, how should the streaming URL for the caption be generated? Is the example shown above correct?
Upvotes: 1
Views: 692
Reputation: 266
If you want to store the VTT file in the same storage container than the asset, and make it available as download, then you need to change the predefined policy to
StreamingPolicyName = PredefinedStreamingPolicy.DownloadAndClearStreaming
This approach works for clear content but not for protected (DRM) content. For protected content, you should use a separate container (or asset) for the subtitles files.
Upvotes: 1