需要帮助获取 azure 媒体服务编码的视频以在 HTML5/DASH 中播放
Posted
技术标签:
【中文标题】需要帮助获取 azure 媒体服务编码的视频以在 HTML5/DASH 中播放【英文标题】:need help getting azure media services encoded video to play in HTML5/DASH 【发布时间】:2015-10-21 12:39:13 【问题描述】:作为一个问题,这很简单......但这并不是一个真正的问题......它更多的是我如何做到这一点?在继续本文的其余部分之前,请归结为:“您能否提供一个 Azure 媒体服务编码视频的示例,该视频是从 Azure 媒体服务 (AMS) 下载但未部署在 Azure 媒体服务 (AMS) 上,并在 html5 中以 DASH 播放”。 ..
考虑到 Microsoft 正在放弃对 Expression 的支持,并且 Silverlight 不会出现在 Edge 中......我的公司希望寻求一种解决方案,我们使用 Azure 媒体服务 (AMS) 对视频进行编码、将其下载到我们的网络,以及然后在我们的 intranet 上托管在 IIS 上的网页上提供它。我觉得我正在取得进展……但有一些问题……
两种方法...
-
在 DASH 中 - 我能够让示例在我找到的代码示例中工作。但我无法播放我下载的视频。充其量我只会在视频所在的播放器中出现“未知错误”。
下面是这段代码现在的样子:
<!-- DASH-AVC/265 reference implementation -->
<script src="js/jquery-1.11.3.js"></script>
<script src="js/dash.all.js"></script>
<link href="//amp.azure.net/libs/amp/1.0.0/skins/amp-default/azuremediaplayer.min.css" rel="stylesheet">
<script src="//amp.azure.net/libs/amp/1.0.0/azuremediaplayer.min.js"></script>
<!-- DASH-AVC/265 reference implementation -->
<script src="js/jquery-1.11.3.js"></script>
<script src="js/dash.all.js"></script>
<link href="//amp.azure.net/libs/amp/1.0.0/skins/amp-default/azuremediaplayer.min.css" rel="stylesheet">
<script src="//amp.azure.net/libs/amp/1.0.0/azuremediaplayer.min.js"></script>
<script>
// setup the video element and attach it to the Dash player
function setupVideo()
//var url = "http://wams.edgesuite.net/media/MPTExpressionData02/BigBuckBunny_1080p24_IYUV_2ch.ism/manifest(format=mpd-time-csf)";
//var url = "http://localhost/temp/1/dash2/big_buck_bunny_720p_1mb.ism/manifest";
var url = "http://localhost/temp/1/big_buck_bunny_720p_1mb.ism/manifest";
//var url = "http://wams.edgesuite.net/media/MPTExpressionData02/BigBuckBunny_1080p24_IYUV_2ch.ism/manifest(format=mpd-time-csf)";
debugger;
var context = new Dash.di.DashContext();
var player = new MediaPlayer(context);
player.startup();
player.attachView(document.querySelector("#videoplayer"));
player.attachSource(url);
</script>
-
Azure 媒体播放器..(我通常认为这与未托管在 AMS 上的东西不兼容,并且更强烈地追求 DASH 解决方案)——在这种情况下,我得到一个蓝色电视屏幕的东西,其中有一个裂缝下面的错误代码。错误代码是...“网络错误导致视频下载中途失败。(0x2020019f)
注意事项:
我已经验证了有效性(以一种方式,但这种方式可能不适用于此处),因为它被 IIS 管理器识别为“流畅的流演示”
IIS 媒体服务已安装。
在http://www-itec.uni-klu.ac.at/dash/?page_id=605 使用 DASH 验证器(在 .ism 文件上)时,我得到了
Start XLink resolving
=====================
XLink resolving successful Valid
Start MPD validation
====================
Line:Col[2:111]:cvc-elt.1: Cannot find the declaration of element ‘smil’.
MPD validation not successful – DASH is not valid! Invalid
【问题讨论】:
注意,在 /manifest... 之后,我也用 (format=mpd-time-csf) 尝试过这个......同样的事情 【参考方案1】:您正在尝试在本地计算机上设置流媒体服务器(IIS 媒体服务器)。几年前,我们的团队在本地开发了 IIS 媒体服务器,我们不再对这种本地技术进行更新。相反,我们改进了 Azure 媒体服务,它在云中托管流式服务器。 IIS 媒体服务器不包含 DASH 支持、动态打包等新功能。
我只是想知道您为什么不考虑从 Azure 媒体服务流式传输,而您使用的 Azure 媒体播放器仅适用于 Azure 媒体服务。通过将 /manifest 作为流 URL 输入,Azure 媒体播放器将根据您的技术偏好检测在您的平台上播放的最佳格式,并请求不同的格式。服务器将根据多速率 Mp4(您需要对其进行编码)动态打包流。欲了解更多信息,请参考我们的MSDN documentation,如果您有任何问题,请告诉我。
【讨论】:
以上是关于需要帮助获取 azure 媒体服务编码的视频以在 HTML5/DASH 中播放的主要内容,如果未能解决你的问题,请参考以下文章
Azure 媒体服务 Widevine 和 PlayReady DRM 错误:无法解密加密的视频源 0x20500004