AzureBlobStorageからMP4ビデオコンテンツを提供しようとしています。Blobのコンテンツタイプがvideo/mp4
;に設定されていることを確認することで、最新のブラウザでビデオを再生できます。しかし、私は後方を探すことができません。
同じビデオをS3バケットにドロップすると、目的の結果が得られるため、コンテンツの問題を除外しています。
ビデオコンテンツを提供するために、特定の方法でストレージの役割を構成する必要がありますか?
AzureBlobStorageからMP4ビデオコンテンツを提供しようとしています。Blobのコンテンツタイプがvideo/mp4
;に設定されていることを確認することで、最新のブラウザでビデオを再生できます。しかし、私は後方を探すことができません。
同じビデオをS3バケットにドロップすると、目的の結果が得られるため、コンテンツの問題を除外しています。
ビデオコンテンツを提供するために、特定の方法でストレージの役割を構成する必要がありますか?
@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);
ストレージアカウントのデフォルトバージョンを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。これにより、範囲要求に関するいくつかの点が改善されます(おそらく、ブラウザーでのプログレッシブダウンロードが行っていること)。ビデオの再生について具体的なことは何も聞いていませんが、試してみても害はありません。:-)
グーグルからここに来る人のために:
Azureには、 StorageV1 / V2(新しいアカウントを作成するときに選択されるデフォルトのオプション)とBlobStorageの2種類のストレージアカウントがあります。
StorageV2オプションにはさらに多くの機能がある場合がありますが、サポートされていませんpartial content requests
。つまり、Chromeはビデオシークを許可しません。
[ストレージアカウント]>[プロパティ]>[アカウントの種類]に移動すると、Azureポータルにあるストレージの種類を識別できます。
Azure CLIを使用したい人へ:
az storage account blob-service-properties update --account-name [account_name] --default-service-version '2020-10-02'
コントロールを有効にして、HTML5ビデオ要素から直接非常に小さなMP4エンコードBLOBを再生してみました。コントロールを使用して、ビデオを前後にスクロールできました。
あなたのビデオコンテンツのサイズはどれくらいですか?また、Fiddlerを使用してHTTPヘッダーをチェックし、それらが予期されているかどうかを確認できますか、それともS3バケットから同じblobを使用した場合にまったく同じに一致しますか?
あなたがあなたのblobリンクを共有することができれば、私は簡単な試みをして、何が問題である可能性があるかを見ることができます。
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