Azure 媒体播放器源清单

Posted

技术标签:

【中文标题】Azure 媒体播放器源清单【英文标题】:Azure media player source manifist 【发布时间】:2020-06-28 00:07:44 【问题描述】:

我们是很小的初中私教,设置了一个在线门户,学生可以登录并观看每日的视频讲座。我们有许多视频上传到 Azure 媒体服务,但我们意识到编码成本很高且无法承受。因此,我使用 FFMPEG 对视频进行了编码,并在本地使用 MPBox 生成了 m4s 和音频文件以及 .mpd(元数据)。 我已经复制了 Azure Blob 存储上的所有文件,并且 Blob 存储具有 HTTPS 访问权限。我可以使用 .mpd 作为 Azure 媒体播放器的源 url 吗? 例如Azure 媒体播放器源为 //amssamples.streaming.mediaservices.windows.net/3b970ae0-39d5-44bd-b3a3-3136143d6435/AzureMediaServicesPromo.ism/manifest

但我从 MPDBox 生成的元数据是 https://bb.sourceoftraining.companywebinternet.storage/ssj-ewrrer-2343s-ssssdf23/process_and_benifits.mpd

或者我可以使用的任何其他播放器。我尝试了 Shaka 播放器,但无法显示分辨率和播放速度设置。

【问题讨论】:

【参考方案1】:

上传预编码的 MP4 效果很好。我建议您为 v3 API 下载最新版本的 Azure 媒体资源管理器工具。在那里,您现在可以将 MP4 上传到新资产中,并让它生成流式传输所需的客户端和服务器清单。只需上传到一个新的空资产,然后双击资产以进入文件选项卡,然后单击生成清单按钮。 这会预先生成流式传输 MP4 所需的清单文件,该 MP4 使用封闭的 2 秒 GOP 进行预编码。该工具会预先生成客户端和服务器清单并将它们保存回资产中,以提高流服务器的播放性能。

您可以使用 Azure 媒体播放器播放 DASH、Smooth 或 HLS - 但它选择用于播放的技术因平台而异。例如,根据浏览器版本、操作系统或移动客户端,它会选择加载不同的播放器技术或使用内置的操作系统播放器支持。

https://docs.microsoft.com/en-us/azure/media-services/azure-media-player/azure-media-player-overview

对于 DASH 内容 (.mpd),AMP 播放器选择在 Windows 上使用 Dash,在特定条件下在 android 上使用。它通过检测平台并使用正确的技术以及 URL 上的 /manifest(format=mpd-time-cmaf) 格式来实现这一点。您可以在此处了解更多关于“动态打包”在 AMS 中的工作原理 - https://docs.microsoft.com/en-us/azure/media-services/latest/dynamic-packaging-overview

AMS 中的流式定位器 URL 上有各种“格式”选项,可提供不同的清单格式。

流畅的流媒体 = /manifest MPEG-DASH-CMAF = /manifest(格式=mpd-time-cmaf) HLS with CMAF = manifest(format=m3u8-cmaf) HLS v3 (TS) = /manifest(格式=m3u8-aapl-v3)

使用其中一种格式,您可以使用任何支持它们的第 3 方播放器。 Shaka、HLS.js、Android 上的 Exoplayer、ios AvFoundation 原生播放器、Video.js,甚至是上面 Jason 提到的“adpater-player”。任何支持当前 HLS 或 DASH 规范的播放器都应该可以工作。

【讨论】:

【参考方案2】:

如果您有可用于自己和学生的学校电子邮件地址,最简单的解决方案是通过免费的 O365 教育计划 - https://www.microsoft.com/en-us/microsoft-365/academic/compare-office-365-education-plans 利用 Microsoft Stream 的功能。有关 Microsoft Stream 的信息,请访问 https://www.microsoft.com/en-us/microsoft-365/microsoft-stream。

为了澄清 Jason Pan 刚刚提供的反馈,虽然 Azure 媒体播放器不支持仅指向 .mpd 文件进行播放,但这是通过首先创建适当的服务器清单,然后通过 URL 中的格式选项请求 .mpd 清单来完成的客户端将用于请求内容。然后,媒体服务将动态创建适当的清单以响应客户端请求。请参阅 John 的回复以获取有关此问题的其他反馈的文章链接。

【讨论】:

【参考方案3】:

如果您使用 Shaka Player 的 UI 库,您将能够显示分辨率和播放速度设置。

Shaka UI libraryShaka Player Demo

【讨论】:

以上是关于Azure 媒体播放器源清单的主要内容,如果未能解决你的问题,请参考以下文章

Azure 媒体播放器与 Youtube 和 Vimeo 的集成

Azure 媒体服务 Widevine 和 PlayReady DRM 错误:无法解密加密的视频源 0x20500004

Azure 客户端清单条目:n 和 r 元素

如何保护离线播放加密视频作为保存的html格式,视频源是天蓝色媒体云服务器?

如何在 Angular 10 中设置 Azure 媒体播放器打字稿定义

Azure 媒体服务共享访问策略限制