从Azure Blob存储服务视频内容

时间:2012-07-16 11:57:46

标签: azure html5-video azure-storage-blobs

我正在尝试从Azure Blob存储中提供MP4视频内容。通过确保Blob的内容类型设置为video/mp4,我可以在现代浏览器中播放视频;但是我无法向后寻求。

将相同的视频放入S3存储桶会产生所需的结果,因此我排除了内容的问题。

我是否需要以特定方式配置存储角色以提供视频内容?

5 个答案:

答案 0 :(得分:10)

我不清楚@ smarx的答案如何为我的blob容器设置 - 但是经过一些谷歌搜索我找到了下面的代码。只需在LINQPad中执行它,视频就会开始流式传输:

var storageAccount = CloudStorageAccount.Parse("AccountName=<accountName>;AccountKey=<accountKeyBase64>;DefaultEndpointsProtocol=http");
var blobClient = storageAccount.CreateCloudBlobClient();

// Get the current service properties
var serviceProperties = blobClient.GetServiceProperties();

// Set the default service version to 2011-08-18 (or a higher version like 2012-03-01)
serviceProperties.DefaultServiceVersion = "2011-08-18";

// Save the updated service properties
blobClient.SetServiceProperties(serviceProperties);

答案 1 :(得分:5)

您可以尝试将存储帐户的默认版本设置为2011-08-18:http://blogs.msdn.com/b/windowsazurestorage/archive/2011/09/15/windows-azure-blobs-improved-http-headers-for-resume-on-download-and-a-change-in-if-match-conditions.aspx。它改进了范围请求的一些内容(可能是浏览器中的渐进式下载正在进行的操作)。我没有听到任何关于视频播放的具体内容,但尝试不会有什么坏处。 : - )

答案 2 :(得分:0)

我尝试直接从HTML5视频元素中播放一个非常小的MP4编码blob并启用控件,我可以使用该控件来回滚动我的视频。

视频内容的大小是多少?您还可以使用Fiddler检查HTTP标头以验证它们是否符合预期,或者当您使用S3存储桶中的相同blob时它们是否完全相同?

如果您可以分享您的blob链接,我可以快速尝试,看看可能是什么问题。

答案 3 :(得分:0)

你可以通过Powershell做到这一点。以下是Azures ARM的示例(非经典,但您可以轻松转换)。

IRR

答案 4 :(得分:0)

对于任何从Google来这里的人:

Azure有两种类型的存储帐户:StorageV1/V2 (default option selected when making new account) and BlobStorage

虽然StorageV2选项可能具有更多功能,但它支持partial content requests,这意味着Chrome浏览器将不允许视频搜索。

您可以通过导航到“存储帐户”>“属性”>“帐户类型”来确定Azure门户中的存储类型