You should not use Azure Media Services to download, it is not intended for the incoming-to-azure-storage-blob that you are describing.
Use the Azure Storage SDK SDK (use v1.7 to avoid reordering problems). The SDK for storing data allows you to record streams in blob. To do this, you first need to get the SAS record locator (it looks like you're there), and then use locator.Path.Segments to find the asset container. Then use this to load directly using the CloubBlobClient in the Storage SDK - it offers a stream recording function somewhere.
Pay attention to your code above: you do not specify AssetCreationOptions.None, therefore it is assumed that the files in the repository will be encrypted (the transfer mechanism is safe, not insecure by default). I donโt think that you are going to do storage encryption in your file stream before downloading, so itโs best to set it to AssetCreationOptions.None.
Personally, I would not go along this route. Read my Create Your Own YouTube blog post: http://blog-ndrouin.azurewebsites.net/?p=1471
It has a complete example of client-loaded content using the SAS URL provided on the server side (which has your account credentials that you probably don't want to swim on the client side!).
The client, however, should be able to do PUT in the repository using this SAS URL. In my case, I used a C # command line application. You cannot do this in HTML5 if your webpage is not hosted in the same domain as the target account. If your webpage (or I-Frame, which manages downloads) is not in the same domain as your storage account, this will cause a HTML5 CORS "OPTIONS" call to a Azure Storage REST level that does not yet support CORS .
The I-Frame HTML5 alternatives hosted on your vault account are: Sliverlight or Flash download plugins with a cross-domain file in the $ root root directory of your vault account (or, possibly, the plugin objects that are hosted on your vault account to avoid cross-domain file request).
I would forbid uploading the stream to the server in POST. This makes your web service a bottleneck for all incoming files; and a long POST is not particularly stable: your application pool can be recycled in the middle of the download, and you are the toasts.
PS. Our team (Windows Azure Media Services) primarily controls this forum:
http://social.msdn.microsoft.com/Forums/en-US/MediaServices/threads