从Azure Blob存储服务视频内容

问题描述 投票:9回答:5

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

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

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

azure html5-video azure-storage-blobs
5个回答
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);

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。它改进了范围请求的一些内容(可能是浏览器中的渐进式下载正在进行的操作)。我没有听到任何关于视频播放的具体内容,但尝试不会有什么坏处。 :-)


0
投票

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

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

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


0
投票

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

Select-AzureRmSubscription -SubscriptionName "subscription" $Name = 'storageaccountname' $resourcegroup = 'resourcegroup'

$sp = New-Object -TypeName Microsoft.WindowsAzure.Storage.Shared.Protocol.ServiceProperties 

$sp.DefaultServiceVersion = "2017-04-17" $key = (Get-AzureRMStorageAccountKey -StorageAccountName $Name
-ResourceGroupName $resourcegroup).Value[1]

$context = New-AzureStorageContext -StorageAccountName $Name
-StorageAccountKey $key

$blobClient = $context.StorageAccount.Create

0
投票

对于从谷歌来这里的任何人:

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

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

您可以通过导航到存储帐户>属性>帐户类型来识别Azure门户中的存储类型

© www.soinside.com 2019 - 2024. All rights reserved.