关于 asp.net mvc 4:从 Azure 流式传输视频(Blob 或媒体服务)

Streaming Videos from Azure ( Blob or Media Services)

我有一个托管在 azure 中的 MVC 4 网站,需要上传视频,并且在不同的页面上允许将上传的视频流式传输回客户端播放器。

第一个选项允许用户上传和编码视频 (.mp4)
第二个选项是我手动上传和编码视频并将 URL 提供给用户。

在任何一种情况下,视频都会在另一个页面上呈现给用户。

我正忙着试图让它发挥作用。有什么建议/工作示例吗?


我在我的 c# 应用程序中使用了以下代码,它可以正常工作。

1
2
3
4
5
6
7
8
9
10
11
12
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 存储来存储文件。这将很好地扩展,让您利用 Azure CDN 更快地交付,并且传出流量不会计入您的网站实例。

然后您可以使用任何您想要的 HTML5 或 Flash 播放器。一件重要的事情,确保在保存文件时设置内容类型。您还可以更改 Azure 服务版本以支持视频搜索。