【Azure 媒体服务】Azure Media Player 在Edge浏览器中不能播放视频问题的分析与解决
问题描述
使用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 Service】Azure Media Service中Stream Endpoint 说明 (流式处理终结点)
Azure 媒体服务是一个基于云的媒体工作流平台,用于生成需要编码.打包.内容保护和直播活动广播的解决方案. 在视频的直播,点播方案中,媒体服务的架构主要由三部分构成: 推流端,把本地视频或直播内容推 ...
- JW Player 现在支持 Azure 媒体服务
Vishal Sood Azure媒体服务首席项目经理 此合作伙伴关系是关于什么内容? Azure媒体服务现已支持一些最常见的流媒体格式,其中包括 Microsoft SmoothStreaming ...
- Azure 媒体服务可将优质内容传输至 Apple TV
作为内容提供商,如果想要将优质内容传输到Apple TV,需要使用Apple FairPlay Streaming (FPS)技术. 但是这个技术的构建比较繁琐,基于此,Azure提供了FairPla ...
- Azure媒体服务的Apple FairPlay流功能正式上线
在此我们高兴地宣布,Azure FairPlay Streaming服务已正式商用. FairPlay允许用户轻松构建解决方案,并可扩展到最新版本的Apple TV.Azure媒体服务可以结合现有的P ...
- Azure 媒体服务发布可靠的视频直播平台
Sudheer Sirivara Azure 媒体服务总监 两个月前,Azure 媒体服务发布了视频直播和内容保护产品的公共预览版.这一 Internet规模的直播解决方案已被十余家业界领先的国际广播 ...
- Azure 媒体服务支持 DASH 实时传送流
Kilroy Hughes Azure媒体服务数字媒体架构师 本文重点介绍 Azure 媒体服务支持的 DASH 实时传送流功能,同时阐述如何利用这些功能将实时和点播自适应流传送至 Web 浏览器 ...
- Azure 媒体服务的 RTMP 支持和实时编码器
Cenk Dingiloglu Azure 媒体服务高级项目经理 直播流媒体目前已在公共预览版中提供,其中一项受支持的输入协议便是 RTMP.RTMP 是用于输入和分发包括直播流媒体在内的丰富媒体的一 ...
- 通过新的 Azure 媒体服务资源管理器工具管理媒体工作流
Xavier Pouyat Azure 媒体服务高级项目经理 几个月前,一家广播公司找到了我,希望我向他们提供一种图形界面工具,好让他们使用 Azure媒体服务来上传.管理资产并对资产进行编 ...
- 中国Azure媒体服务RESTAPI的Endpoint
Amber Zhao Thu, Feb 26 2015 4:09 AM 由于海外Azure和中国Azure有不同的domain,很多用户在使用媒体服务RESTAPI时,需要指定中国Azure媒体服务 ...
- 宣布正式发布 Azure 媒体服务内容保护服务
Mingfei Yan Azure媒体服务项目经理 我们非常高兴地宣布正式发布 Azure 媒体服务内容保护服务.这包括 Microsoft PlayReady许可服务和 AES明文密钥交付服务!此外 ...
随机推荐
- LRU缓存替换策略及C#实现
目录 LRU缓存替换策略 核心思想 不适用场景 算法基本实现 算法优化 进一步优化 Benchmark LRU缓存替换策略 缓存是一种非常常见的设计,通过将数据缓存到访问速度更快的存储设备中,来提高数 ...
- 有关idea的使用部分
出现相关异常,提示类似粗在idea找不到相关的包加载失败. 执行mvn命令 mvn -U idea:idea 含义更新重新加载idea工程的相关jar
- pandas之面属行统计
描述统计学(descriptive statistics)是一门统计学领域的学科,主要研究如何取得反映客观现象的数据,并以图表形式对所搜集的数据进行处理和显示,最终对数据的规律.特征做出综合性的描述分 ...
- [数据库/Java]数据库开发过程中产生的MySQL错误代码及其解决方案
前言 吐槽一下,均是这两天遇到的破烂事儿,搞定了也好,以后出现此类问题也就放心些了. 下列遇到的问题大都是因为MySQL从5.x版本升级到8.0.11(MySQL8.0涉及重大改版)后,跟着连带着出现 ...
- Redis 源码解析之通用双向链表(adlist)
Redis 源码解析之通用双向链表(adlist) 概述 Redis源码中广泛使用 adlist(A generic doubly linked list),作为一种通用的双向链表,用于简单的数据集合 ...
- JUC(六)堵塞队列与线程池
堵塞队列 简介 def:在多线程中实现高效.安全的数据传输,主要是通过一个共享的队列,使得数据能够从一端输入,从另一端输出 当队列是空的,取数据的线程就会被堵塞,直到其他线程往空的队列中添加数据 当队 ...
- bash shell 无法使用 perl 正则
哈喽大家好,我是咸鱼.今天跟大家分享一个关于正则表达式的案例,希望能够对你有所帮助 案例现象 前几天有一个小伙伴在群里求助,说他这个 shell 脚本有问题,让大家帮忙看看 可以看到,这个脚本首先 ...
- API 网关日志的价值,你了解多少?
本文介绍了 API 网关日志的价值,并以知名网关 Apache APISIX 为例,展示如何集成 API 网关日志. 作者钱勇,API7.ai 技术工程师,Apache APISIX Committe ...
- 22-source-map
const { resolve } = require('path') const htmlWebpackPlugins = require('html-webpack-plugin') module ...
- extend笔记
JavaScript面向对象 继承extend 1. 概念(主要用途) 将子类中的共性代码 ( 属性和方法 ) 抽取出来 放到父类中 每当有一个新的子类需要用到共性的属性或者方法时 不需要在自己内容复 ...