Wowza Community

VOD via content in Azure Blob Storage

I’m looking to use Azure Blob Storage in the same way the vods3 application reads from Amazon’s offering. See: https://www.wowza.com/docs/how-to-use-amazon-s3-with-wowza-media-server

It appears this is an out-of-the-box solution provided by Wowza. Given that I’d like to do the same thing with Azure, I need to know what interfaces to implement etc to be able to deliver this. I will also need to translate a unique identifier representing the video asset into a path in azure storage via a table lookup i.e. ?id=12345 from the client should read from [storage]/[container]/[video asset].

Any pointers would be great to set me on the right path.

Hello there and welcome to the Wowza support forum.

You can use Media Cache to pull the content from Azure storage:

How to scale video on demand streaming with Media Cache

And you can pass url queries via Media Cache.

If you had a request for your sample.mp4 as in this example, you would use urlDecodeStreamName:

rtmp://[wowza-server]:1935/vod/_definst_/mp4:[mediacacheprefix]/path/to/sample.mp4%3Fusername%3Dtest%26password%3Dtest

<Property>
  <Name>urlDecodeStreamName</Name> 
  <Value>true</Value> 
  <Type>Boolean</Type> 
</Property>

Similarly, using base64 encoding, where the stream path would be base64 encoded you would use base64DecodeStreamName:

<Property>
    <Name>base64DecodeStreamName</Name> 
    <Value>true</Value> 
    <Type>Boolean</Type> 
</Property>

For a more detailed explanation, take a look at roger_l’s post here

Kind regards,

Salvadore

Hey Salvadore, thanks for the quick reply.

The assets in Azure storage will not be made public so we’ll need to use either the REST api with a signed request header or use the Azure java storage client to access the resources much like the S3 source is doing in your examples. And obviously passing the credentials in the request url is going to be a security concern.

I noticed that using an HTTP type source in Wowza you can pass header values, but they’re static. We need to dynamically pass these headers with signed signatures and that must be computed on the fly.

So in short, I’m still stuck.

Hello,

Users may find the following updated information helpful on using MediaCache and Azure Storage services:
How-to-scale-video-on-demand-streaming-with-media-cache

Best regards,

Andrew