媒体服务 v3 示例

媒体服务徽标 v3


媒体服务 v2 文档 | 代码示例 | 故障排除指南

注意

Google Widevine 内容保护服务目前在 Azure 中国区域不可用。

本文包含可用于媒体服务的所有示例的列表,这些示例按方法和 SDK 进行组织。

第三方播放器示例

使用第三方播放器示例尝试各种播放器,如 Shaka、Video.js 和 THEOPlayer。

按 SDK 归类的示例

你可以在每个选项卡上找到所要的示例的说明和链接。

警告

如果选择在试用这些示例后不保留其中使用的资源,请记得将其删除。 你应创建一个资源组(其中包含将在示例中使用的所有资源),并在完成试验后删除该资源组。 如果不删除那些资源,将会继续计费。

示例 说明
帐户
创建帐户 该示例演示了如何创建媒体服务帐户和设置主存储帐户,以及高级配置设置,包括密钥传递 IP 允许列表、托管标识、存储身份验证和创建自己的加密密钥。
使用用户分配的托管标识来创建帐户 该示例演示了如何创建媒体服务帐户和设置主存储帐户,以及高级配置设置,包括密钥传递 IP 允许列表、用户或系统分配的托管标识、存储身份验证和创建自己的加密密钥。
资产
Hello World - 列出资产 有关如何连接和列出资产的基本示例
从资产获取存储容器 演示如何查找用于存储此资产的内容的 Azure 存储帐户容器。 这可用于使用 Azure 存储 SDK 库编辑源、修改或复制内容
使用筛选器列出资产 使用列表资产调用中的筛选器按日期查找资产并对其排序。
使用筛选器列出资产上的流式处理定位符 使用筛选器列出附加到资产的流式处理定位符。
列出资产中的轨道 使用轨道集合列出资产上可用的所有轨道名称和轨道类型(音频、视频或文本)
向现有资产添加 WebVTT/IMSC1/TTML 字幕或标题 使用资产上的跟踪 API 向现有资产添加新的 WebVTT 或 TTML/IMSC1 文本配置文件标题或字幕
流式处理
使用标准传递的实时传送流 标准传递实时传送视频流示例。
通过事件中心使用标准传递的实时传送流 演示如何通过事件中心订阅实时传送视频流频道上的事件。 事件包括编码器连接、断开连接、检测信号、延迟、中断和偏移问题。
使用基本传递的实时传送流 演示如果只需要广播低成本的 UGC 频道,如何设置基本传递实时事件。
使用 720P 标准编码的低延迟实时 (LL-HLS) 使用 Apple 的 LL-HLS 协议启用低延迟实时传送视频流,并使用新的 3 层 720P 高清自适应比特率编码预设进行编码。
使用 720P 标准编码的实时传送流 通过 720P 高清自适应比特率编码预设在云端使用实时编码。
使用 1080P 标准编码的实时传送流 通过 1080P 高清自适应比特率编码预设在云端使用实时编码。
上传和流式传输 HLS 和 DASH 上传本地文件或从源 URL 编码的基本示例。 示例演示如何使用存储 SDK 下载内容,并演示如何流式传输到播放机
内容保护
基本的 Playready DRM 内容保护和流式处理 演示如何使用 PlayReady DRM 进行编码和流式传输
编码
创建转换,使用作业预设替代(API 从 v2 迁移到 v3) 如果需要一个想要将自定义预设作业提交到单个队列的工作流程,可以使用此基本示例来展示如何创建(大部分)空白的转换,然后可以使用作业上的预设替代属性将自定义预设提交到相同的转换。 这样,如果需要,可以将 v3 AMS API 处理得更像旧版 v2 API 作业队列。
在不重新编码的情况下将音频和视频复制到 MP4 使用内置预设将源视频和音频快速复制到新的 MP4 文件中,该文件已准备好通过 AMS 按需流式传输。 这是预编码内容或外部编码内容在 AMS 中快速准备进行流式传输的极其有用的预设。
在不重新编码的情况下将音频和视频复制到 MP4,并创建低比特率代理 与上面的示例相同,但添加了额外的快速编码代理解析。 在创建资产的 CMS 或预览版时非常有用。
在不重新编码的情况下将音频和视频复制到 MP4,并创建低比特率代理和 VTT 子画面缩略图 与上面的示例相同,但添加了用于生成网页、CMS 或自定义资产管理应用程序的 VTT 子画面缩略图
使用 H264 进行编码 演示如何使用标准编码器将源文件编码为带有 AAC 音频和 PNG 缩略图的 H264 格式
通过事件中心/事件网格使用 H264 进行编码 演示如何使用标准编码器并通过事件中心接收和处理来自媒体服务的事件网格事件。 首先设置事件网格订阅,该订阅使用 Azure 门户或 CLI 将事件推送到事件中心,以使用本示例。
创建 JPG 格式的缩略图子画面 (VTT) 演示了如何生成 JPG 格式的 VTT 子画面缩略图,以及如何设置图像的列和数量。 还展示了 720P 图层在 H264 格式下的速度编码模式。
使用 H264 进行内容感知编码 一个基于对源文件内容的分析,使用具有内容感知编码功能的标准编码器自动生成最佳质量自适应比特率流式处理集的示例
受 H264 约束的内容感知编码 演示如何控制内容感知编码预设的输出设置,以使输出能够更明确地体现编码需求和成本要求。 这仍会根据对源文件内容的分析自动生成最佳质量的自适应比特率流式处理集,但会将输出限制在所需的范围内。
使用覆盖图像 演示了如何上传图像文件并覆盖视频,并将其输出到 MP4 容器
旋转视频 演示了如何使用旋转滤镜将视频旋转 90 度。
输出为 MPEG 传输流格式 演示了如何使用标准编码器对源文件进行编码,并借助 AAC 音频和 PNG 缩略图使用 H264 格式输出为 MPEG 传输流格式
使用 HEVC 进行编码 展示如何使用标准编码器将源文件编码为带有 AAC 音频和 PNG 缩略图的 HEVC 格式
使用 HEVC 进行内容感知编码 一个基于对源文件内容的分析,使用具有内容感知编码功能的标准编码器自动生成最佳质量 HEVC (H.265) 自适应比特率流式处理集的示例
受 HEVC 限制的内容感知编码 演示如何控制内容感知编码预设的输出设置,以使输出能够更明确地体现编码需求和成本要求。 这仍会根据对源文件内容的分析自动生成最佳质量的自适应比特率流式处理集,但会将输出限制在所需的范围内。
使用 SAS URL 从远程 Azure 存储帐户批量编码 该示例演示了如何使用 SAS URL 指向远程 Azure 存储帐户,并将批量编码作业提交到帐户,监视进度并继续。 可以修改要扫描的文件扩展名类型(例如 - .mp4、.mov)并控制提交的批大小。 还可以修改批处理操作中使用的转换。 该示例演示了如何使用 SAS URL 作为作业输入的引入入源。 请确保在 .env 文件中配置 REMOTESTORAGEACCOUNTSAS 环境变量以使该示例正常工作。
将实时存档复制到 MP4 文件格式进行导出或与视频索引器配合使用 此示例演示如何使用实时事件的存档输出,仅提取要打包到 MP4 文件中的最高比特率视频轨道,以便将其导出到社交媒体平台,或将其与视频索引器配合使用。 此示例中的关键概念是使用作业 InputAsset 上的输入定义来指定 VideoTrackDescriptor。 使用 SelectVideoTrackByAttribute,你可以使用比特率属性并通过实时存档中的“Top”视频比特率轨道进行筛选,从而从实时存档中选择单个轨道。
对多声道音频源文件进行编码 此示例演示如何创建一个编码转换,该转换使用来自输入源的通道映射和音频轨道选择来输出两个新的 AAC 音频轨道。 标准编码器仅限输出 1 个立体声轨道,后跟 AAC 格式的 5.1 环绕声音频轨道。
将两个资产拼结在一起并进行编辑 此示例演示如何在作业提交过程中使用 JobInputSequence,将两个或多个资产拼结到单个 MP4 文件中并进行编辑。
分析
具有按作业语言替代的基本音频分析 该示例演示了如何使用基本模式创建音频分析器转换。 它还展示了如何基于每个作业替代预设语言,以避免为每种语言创建转换。 它还展示了如何将媒体文件上传到输入资产,使用转换提交作业,以及下载结果进行验证。

警告

不建议尝试将媒体服务 REST API 直接包装到你自己的库代码中,因为针对生产用途正确执行此操作会要求你实现完整的 Azure 资源管理重试逻辑,并了解如何在 Azure 资源管理 API 中管理长时间运行的操作。 这由适用于各种语言(.NET、Java、TypeScript、Python 等)的客户端 SDK 自动进行处理,可降低重试逻辑出现问题或 API 调用失败的可能性。 客户端 SDK 都已对此进行了处理。