0

我们是非常小的初中私人导师,他们设置了一个在线门户,学生可以登录并观看每日的视频讲座。我们有许多视频上传到 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 播放器,但无法显示分辨率和播放速度设置。

4

3 回答 3

0

上传预编码的 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(format=mpd-time-cmaf) HLS with CMAF = manifest(format=m3u8-cmaf) HLS v3 (TS) = /manifest(format=m3u8-aapl-v3 )

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

于 2020-06-29T17:39:23.600 回答
0

If you have School email addresses that you can use for yourself and your students the simplest solution would be to leverage capabilities from Microsoft Stream via the free O365 education plan - https://www.microsoft.com/en-us/microsoft-365/academic/compare-office-365-education-plans. Info on Microsoft Stream at https://www.microsoft.com/en-us/microsoft-365/microsoft-stream.

And to clarify feedback Jason Pan just provided, while Azure Media Player doesn't support just pointing at .mpd file for playback this is rather done via first creating appropriate server manifest and then requesting .mpd manifest via format option in the URL clients will use to request content. Media Services will then dynamically create the appropriate manifest to respond to the client request. See John's response for links to articles with additional feedback on this.

于 2020-06-29T19:00:38.963 回答
0

If you use Shaka Player's UI library, you'll be able to display the Resolution and Playback speed settings.

Shaka UI library Shaka Player Demo

于 2020-07-01T20:41:23.073 回答