我有一个托管在azure的MVC 4网站,需要上传视频,并在不同的页面上允许上传的视频流回客户端播放器。
第一个选项允许用户上传和编码视频(.mp4)第二种选择是我手动上传和编码视频,并提供url给用户。
无论哪种情况,视频都将在另一个页面上呈现给用户。
我费了好大劲才把它弄好。有什么建议/工作样本吗?
我使用下面的代码为我的c#应用程序,它工作正常。
public static string getBlobStreamURL(string fsBloblFilePath, string fsdirectory)
{
CloudBlobContainer cloudBlobContainer = storageAccount.CreateCloudBlobClient().GetContainerReference(fsdirectory);
var cloudBlob = cloudBlobContainer.GetBlockBlobReference(fsBloblFilePath);
var SharedAccessSignature = cloudBlob.GetSharedAccessSignature(new Microsoft.WindowsAzure.Storage.Blob.SharedAccessBlobPolicy()
{
Permissions = Microsoft.WindowsAzure.Storage.Blob.SharedAccessBlobPermissions.Read,
SharedAccessExpiryTime = DateTime.UtcNow.AddHours(1)
});
var StreamURL = string.Format("{0}{1}", cloudBlob.Uri, lsSharedAccessSignature);
return StreamURL;
}
我之前写过一个关于如何从Azure提供视频的答案。
您需要使用Azure Blob Storage来存储文件。这将很好地扩展,让您利用Azure CDN更快地交付,并且传出流量不会计入您的网站实例。
你可以使用任何HTML5或flash播放器。一个重要的事情是,确保在保存文件时设置了内容类型。您还可以更改Azure服务版本以支持视频查找。