Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Smooth Streaming Video from Blob Storage

I have an MVC 4 application that contains a view to show "Videos" from azure blob storage of MP4 format only. Currently I'm using MediaElment.js(or any typical flash player) as the video player. How can I play these videos in a smooth streaming or progressive download(Adaptive streaming) method. What are the configurations that I have to set in Azure to support streaming? Is there anything that I have to do before uploading MP4 file to blob storage?

I have gone through this link http://msdn.microsoft.com/en-us/spazuretrainingcourse_spblobstorageazure.aspx and as far as I understood, Windows Azure Blobs Uploader is used to upload video files to azure and silverlight as the client. In my case, the video is uploaded from a seperate application so the manipulation of video file is not possible. So is there any way to implement streaming without any change and play it in a video player other than using silverlight ?.

Is it possible to do anything if I can change the media file while uploading?

Thanks.

like image 312
Dennis Jose Avatar asked Oct 07 '22 15:10

Dennis Jose


1 Answers

I have been doing almost exactly this, but without the Adaptive Streaming (I'm dealing with video files of only 25mb or smaller). I am using JWPlayer for the front end in my web page, and the video is in Azure blob storage.

I'm using the pre-built windows binary ffmpeg.exe I uploaded it to Azure (put it in root of Worker Role project), then I use System.Diagnostics.Process in a WorkerRole to massage the video files. You could do the same to create the different quality versions you want.

So, when a user uploads a video my business logic layer plops a message in an Azure message queue, my worker role picks it up, copies the video onto Azure LocalStorage (LocalStorage is physical disk you can configure in your Azure project settings file), runs ffmpeg.exe over the file and then puts it back in blob storage.

like image 154
hollystyles Avatar answered Oct 10 '22 02:10

hollystyles