【Azure 媒体服务】Azure Media Player 在Edge浏览器中不能播放视频问题的分析与解决

问题,分析,视频,浏览器 · 浏览次数 : 119

小编点评

**问题描述:** 使用 Azure Media Service 制作视频点播服务,在客户端使用 Azure Media Player 播放器在 Edge 浏览器中播放视频时候遇见无法播放的问题,错误信息为: ``` The video playback was aborted due to a corruption problem or because the video used features your browser did not support (0x20400003) ``` **问题解答:** 1. **检查视频manifest文件:** - 打开视频的 manifest 文件(右键单击视频,选择“查看页面源代码”)。 - 搜索 “codecs” 属性,它应该包含有效的视频编码格式,例如 “hevc1.2.0”。 2. **安装HEVC插件:** - 在 Edge浏览器中打开设置。 - 在搜索栏中输入“HEVC Video Extensions”。 - 安装“HEVC Video Extensions”插件。 - 如果插件安装失败,请尝试重新启动 Edge浏览器。 3. **检查硬件支持:** - 确保您的设备具有 HEVC 视频硬件支持。 - 您可以使用设备的硬件加速功能来提高视频播放速度。 4. **重新启动浏览器:** - 重启 Edge浏览器,确保其已安装了 HEVC 插件。 5. **尝试其他解决方案:** - 如果上述方法无法解决问题,请尝试在其他浏览器中尝试播放视频。 - 如果问题仍然存在,请联系 Azure Media Service 的支持团队。

正文

问题描述

使用Azure Media Service 制作视频点播服务,在客户端使用 Azure Media Player 播放器在 Edge 浏览器中播放视频时候遇见无法播放的问题:

错误信息:

The video playback was aborted due to a corruption problem or because the video used features your browser did not support (0x20400003)

视频播放已中止,原因是视频损坏或浏览器不支持视频使用的功能

但是在Google Chrome 浏览器中,它则能够正常播放,对比截图如下:

这是什么情况呢?

 

问题解答

使用AMP(Azure Media Player)播放器播放视频遇见问题时,可以通过它的诊断日志(Diagnostics)来查看具体的错误消息.

操作步骤(非常简单)

第一步:进入AMP Demo站点(https://ampdemo.azureedge.net/azuremediaplayer.html ), 然后把视频的manifest文件URL放入到 页面中的URL 输入框中,点击Update Player。

第二步:点击Diagnostics按钮,查看其日志输出,并且可以点击Download Verbose Log

 

在诊断日志中,发现在Edge中不能播放视频的原因为:

[14:06:08.981] verbose: azureHtml5JS: workflowCoordinator: _setVideoElementSrcResolved

[14:06:08.981] verbose: azureHtml5JS: videoElementAdapter: Adapter buffer added: audio/mp4;codecs="mp4a.40.2" Adapter buffer total: 1

[14:06:08.982] error: azureHtml5JS: videoElementAdapter: Failed to add SourceBuffer to MediaSource: NotSupportedError: Failed to execute 'addSourceBuffer' on 'MediaSource': The type provided ('video/mp4;codecs="hev1.1.6.L93.90"') is unsupported.

[14:06:08.982] error: videojs: 2.3.11.2 (CODE:541065219 undefined) presentationWorkflowResolved: Failed to create source buffer for stream video, codec video/mp4;codecs="hev1.1.6.L93.90" [object Object]

[14:06:08.982] verbose: azureHtml5JS: workflowCoordinator: MediaSource.isTypeSupported() for video/mp4;codecs="hev1.1.6.L93.90"= false

而且,查看视频的mainfest文件,其中也可以确认使用的 codecs 正是hev1.1.6.L93.90

 

据以上日志分析,报错发生在加载 codec hev1.1.6.L93.90,错误信息为“NotSupported”。

 

播放编解码器(codecs = hev1.1.6.L93.90)需要使用HEVC Video.  因Google Chrome浏览器默认支持HEVC/H.265 video,但是在Edge浏览器中,默认不支持,需要安装插件 HEVC Video Extensions(https://apps.microsoft.com/store/detail/hevc-video-extensions-from-device-manufacturer/9N4WGH0Z6VHQ?hl=en-us&gl=us

  • 此插件旨在利用某些较新设备的硬件功能,以支持 4K 和超高清内容的设备。
  • 对于不具备 HEVC 视频硬件支持的设备,提供软件支持,但播放体验可能因视频分辨率和 PC 性能而异。
  • 这些扩展还允许您在没有基于硬件的视频编码器的设备上编码 HEVC 内容。

但是,当从Windows  Store中安装 HEVC Extensions时,会遇见无法安装的问题:

替代从Windows Store(Windows应用商店)安装HEVC插件的办法是:

1)网络中下载安装源文件,双击本地安装。

2)如还不能播放,需要检查 Edge浏览器设置,是否打开“Use hardware acceleration when available” 配置。

3)重启Edge,播放成功

 

 

【END】

 

与【Azure 媒体服务】Azure Media Player 在Edge浏览器中不能播放视频问题的分析与解决相似的内容:

【Azure 媒体服务】Azure Media Player 在Edge浏览器中不能播放视频问题的分析与解决

问题描述 使用Azure Media Service 制作视频点播服务,在客户端使用 Azure Media Player 播放器在 Edge 浏览器中播放视频时候遇见无法播放的问题: 错误信息: The video playback was aborted due to a corruption

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

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

【Azure 媒体服务】Media Service的编码示例 -- 创建缩略图子画面的.NET代码调试问题

Azure.Identity.AuthenticationFailedException: 'ClientSecretCredential authentication failed: AADSTS90002: Tenant '********-****-****-****-************' not found. Check to make sure you have the corre

【Azure 媒体服务】使用编码预设文件(Preset.json)来自定义编码任务 -- 创建视频缩略图

问题描述 在Azure门户上创建Transform Encoding时候,只能选择 Built-in Preset 编码方式(如:H265ContentAwareEncoding) 在创建编码任务时,除了在门户上可选的几种内置的编码格式外,还可以通过自定义的编码预设文件(Preset.json)对视

Azure Function 时区设置

一,引言 Azure Function 上的默认使用UTC 运行程序,我们在获取时间,或者通过时间执行某些逻辑时,返回UTC 时间,导致业务数据不正常,由于 Azure Function 是微软提供的 IaaS 托管服务,我们无法登录服务器来修改时区,那么我们今天将来实践操作,如何通过配置达到更改

【Azure Developer】一个复制Redis Key到另一个Redis服务的工具(redis_copy_net8)

介绍一个简单的工具,用于将Redis数据从一个redis端点复制到另一个redis端点,基于原始存储库转换为.NET 8:https://github.com/LuBu0505/redis-copy-net8

【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Linux/Linux Container)

在前一篇文章中,我们是把.NET 8应用读取SSL证书(X509)示例部署在App Service Windows环境中,那么如果部署在Linux环境,以及Linux Container中呢? 根据前文中的第一种方法,直接在把证书文件包含在源文件中,通过相对路径读取证书文件的方式,经测试,可以正常工

【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Windows)

在使用App Service服务部署业务应用,因为有些第三方的接口需要调用者携带TLS/SSL证书(X509 Certificate),在官方文档中介绍了两种方式在代码中使用证书: 1) 直接使用证书文件路径加载证书 new X509Certificate2 2) 从系统的证书库中通过指纹加载...

Azure Service Principals ----- Azure 上最好保守的秘密的服务

一,引言 Azure Service Principals 是 Azure Active Directory (AAD) 中的一种标识,代表应用程序,服务,自动化流程。Service Principals 支持各种 Azure 服务和资源之家的安全通信,为应用程序提供了一种进行身份验证并于 Azur

【Azure Developer】如何通过Azure Portal快速获取到对应操作的API并转换为Python代码

问题描述 对于Azure资源进行配置操作,门户上可以正常操作。但是想通过Python代码实现,这样可以批量处理。那么在没有SDK的情况下,是否有快速办法呢? 问题解答 当然可以,Azure Portal上操作的所有资源都是通过REST API来实现的,所以只要找到正确的API,就可以通过浏览器中抓取