【Azure 存储服务】MP4视频放在Azure的Blob里面,用生成URL在浏览器中打开之后,视频可以正常播放却无法拖拽视频的进度

视频,Azure,浏览器,MP4 · 浏览次数 : 253

小编点评

因为MP4视频的x-ms-version版本非常低,只能支持2009-09-19版本的支持视频拖动功能,所以解决方法是通过PowerShell命令修改Blob文件的x-ms-version值。 PowerShell 命令如下: ```powershell $storageAccount = Get-AzStorageAccount -ResourceGroupName 'your resource group'-Name 'your storage name'$ctx = $storageAccount.contextUpdate-AzStorageServiceProperty -ServiceType Blob -DefaultServiceVersion 2021-06-08 -context $ctx ``` 修改完成后,再次查看同一个MP4的播放返回,发现x-ms-version的值已经变为设置的2021-06-08。

正文

问题描述

把MP4视频放在Azure的Blob里面,用生成URL在浏览器中打开之后,视频可以正常播放却无法拖拽视频的进度,这是什么情况呢?

 

问题解答

因为MP4上传到Azure Blob后,根据公开的权限,可以直接通过Storage Blob URL +/ Blob Container + / Blob Name 的URL形式访问。 只是在返回的Response Header中,我们发现从Blob中返回的部分Hader中:

  1. Last-Modified: Mon, 12 Dec 2022 11:53:58 GMT
  2. Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
  3. x-ms-blob-type: BlockBlob
  4. x-ms-lease-status: unlocked
  5. x-ms-request-id: b60d98a3-d01e-0003-0522-0e045b000000
  6. x-ms-version: 2009-09-19

发现X-MS-VERSION(值表示的是Azure存储服务的版本)版本非常低,为2009-09-19版本(一个13年前的版本)。该版本不支持视频文件拖动功能。所以解决的办法为通过PowerShell命令修改Blob文件的x-ms-version。

PowerShell命令如下:

$storageAccount = Get-AzStorageAccount -ResourceGroupName 'your resource group'-Name 'your storage name'
$ctx = $storageAccount.context
Update-AzStorageServiceProperty -ServiceType Blob -DefaultServiceVersion 2021-06-08 -context $ctx 

或者通过REST API 修改

PUT  https://<your storage account name>.blob.core.chinacloudapi.cn/?restype=service&comp=properties& <SAS Token, 通过门户生成SAS Token>

Request Body 中内容为:

<?xml version="1.0" encoding="utf-8"?>  
<StorageServiceProperties>  
    <DefaultServiceVersion>2021-06-08</DefaultServiceVersion>
</StorageServiceProperties>  

请求发送后的截图:

 

修改完成后,再次查看同一个MP4的播放返回,发现x-ms-version的值已经变为设置的2021-06-08。

  1. Last-Modified: Mon, 12 Dec 2022 11:53:58 GMT
  2. Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
  3. x-ms-blob-type: BlockBlob
  4. x-ms-error-code: ConditionNotMet
  5. x-ms-lease-status: unlocked
  6. x-ms-request-id: 83858a38-801e-0031-5e26-0e042c000000
  7. x-ms-version: 2021-06-08

 

参考资料

Azure 存储服务的版本控制:https://learn.microsoft.com/zh-cn/rest/api/storageservices/versioning-for-the-azure-storage-services

Update-AzStorageServiceProperty: https://learn.microsoft.com/en-us/powershell/module/az.storage/update-azstorageserviceproperty?view=azps-9.2.0&viewFallbackFrom=azps-4.6.1

Set Blob Service Properties:https://learn.microsoft.com/en-us/rest/api/storageservices/set-blob-service-properties

 

 

与【Azure 存储服务】MP4视频放在Azure的Blob里面,用生成URL在浏览器中打开之后,视频可以正常播放却无法拖拽视频的进度相似的内容:

【Azure 存储服务】MP4视频放在Azure的Blob里面,用生成URL在浏览器中打开之后,视频可以正常播放却无法拖拽视频的进度

问题描述 把MP4视频放在Azure的Blob里面,用生成URL在浏览器中打开之后,视频可以正常播放却无法拖拽视频的进度,这是什么情况呢? 问题解答 因为MP4上传到Azure Blob后,根据公开的权限,可以直接通过Storage Blob URL +/ Blob Container + / Bl

【Azure 媒体服务】Azure Media Service上传的视频资产,如何保证在Transfer编码后音频文件和视频文件不分成两个文件?保持在一个可以直接播放的MP4文件中呢?

问题描述 Azure Media Service上传的视频资产,如何保证在Transfer编码后音频文件和视频文件不分成两个文件?保持在一个可以直接播放的MP4文件中呢? 问题解答 Azure Media Service上提供的 Build-in Transform 生成的资产中,音频与视频分别存储

【Azure 存储服务】存储在Azure Storage Table中的数据,如何按照条件进行删除呢?

问题描述 如何按条件删除 Storage Table 中的数据,如果Table中有大量的条记录需要删除,Java代码如何按条件删除 Table中的数据(Entity)? (通过Azure Storage Explorer工具是可以删除,但是由于数据量太大,人工操作耗时太久,所以需要使用Java代码完

【Azure 存储服务】Azure Blob Storage SDK 升级失败,遇见 Unsatisfied Dependency Exception 和 Unexpected Length Exception

问题描述 在升级Java Azure Blob Storage SDK的过程中,先后遇见了 UnsatisfiedDependencyException 和 UnexpectedLengthException. 错误一:Org.springframework.beans.factory Unsati

【Azure 存储服务】多设备并发往 Azure Storage Blob 的 Container 存数据是否可以

问题描述 多设备并发往 Azure Storage Blob 的 Container 存数据是否可以? 问题解答 可以! Azure Storage 是支持的并发存储数据的,Blob 可以使用乐观并发或悲观并发模型的,具体实现可以参考文档:https://docs.microsoft.com/zh-

【Azure 存储服务】Azure Data Lake Storage (ADLS) Gen2 GRS Failover是否支持自动切换或者手动切换到灾备的终结点呢?

问题描述 在Azure的存储服务中,介绍灾备恢复和Storage Account故障转移的文档中,有一句话“Account failover is not supported for storage accounts with a hierarchical namespace enabled.” 而

【Azure 存储服务】如何查看Storage Account的删除记录,有没有接口可以下载近1天删除的Blob文件信息呢?

问题描述 如何查看Storage Account的删除记录,有没有接口可以下载近1天删除的Blob文件信息呢?因为有时候出现误操作删除了某些Blob文件,想通过查看删除日志来定位被删除的文件信息。 问题解答 如果没有启用Storage Account的软删除功能,则没有办法直接查看近期有删除的Blo

【Azure 存储服务】Azure Storage Account Queue中因数据格式无法处理而在一个小时内不在可见的问题

问题描述 在从Storage Account 队列中获取数据(Queue),在门户中,明显看见有数据,但是通过消费端代码去获取的时候,就是无法获取到有效数据的情况。获取消息的代码如下: 问题解答 经过对 receiveMessages 方法定义的查询,第二个参数,第三个参数的两个时间表示的意思为 消

【Azure 存储服务】.NET7.0 示例代码之上传大文件到Azure Storage Blob (一)

问题描述 在使用Azure的存储服务时候,如果上传的文件大于了100MB, 1GB的情况下,如何上传呢? 问题解答 使用Azure存储服务时,如果要上传文件到Azure Blob,有很多种工具可以实现。如:Azure 门户, Azure Storage Explorer, 命令行工具 az copy

【Azure 存储服务】.NET7.0 示例代码之上传大文件到Azure Storage Blob (二)

问题描述 在上一篇博文(【Azure 存储服务】.NET7.0 示例代码之上传大文件到Azure Storage Blob (一):https://www.cnblogs.com/lulight/p/17061631.html)中,介绍了第一种分片的方式上传文件。 本文章接着介绍第二种方式,使用 M