【问题标题】:Streaming Videos from Azure ( Blob or Media Services)从 Azure 流式传输视频(Blob 或媒体服务)
【发布时间】:2013-01-16 22:28:45
【问题描述】:
我有一个托管在 azure 中的 MVC 4 网站,它需要上传视频,并在不同的页面上允许将上传的视频流式传输回客户端播放器。
第一个选项允许用户上传和编码视频 (.mp4)
第二个选项是我手动上传和编码视频并将 URL 提供给用户。
在任何一种情况下,视频都会在另一个页面上呈现给用户。
我正忙着试图让它发挥作用。有什么建议/工作示例吗?
【问题讨论】:
标签:
azure
asp.net-mvc-4
media
azure-storage
azure-media-services
【解决方案1】:
我在我的 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;
}
【解决方案2】:
我已经写了a previous answer 关于如何提供来自 Azure 的视频。
您需要使用 Azure Blob 存储来存储文件。这将很好地扩展,让您利用 Azure CDN 更快地交付,并且传出流量不会计入您的网站实例。
然后您可以使用任何您想要的 HTML5 或 Flash 播放器。一件重要的事情是,确保在保存文件时设置内容类型。您还可以更改Azure Service Version 以支持视频搜索。