Azure 媒体服务编码代码示例

Media Services logo v3


警告

Azure 媒体服务将于 2024 年 6 月 30 日停用。 有关详细信息,请参阅 AMS 停用指南

本文列出了编码代码示例。

H264

使用 H264 进行编码

此示例演示如何使用标准编码器将源文件编码为带有 AAC 音频和 PNG 缩略图的 H264 格式。

.NET Node.JS Python

使用 H264 进行内容感知编码

此示例基于对源文件内容的分析,使用具有内容感知编码功能的标准编码器自动生成最佳质量自适应比特率流式处理集的示例。

.NET Node.JS Python

使用受 H264 约束的内容感知编码

此示例演示如何控制内容感知编码 H264 预设的输出设置,以使输出能够更明确地体现编码需求和成本要求。 这仍会根据对源文件内容的分析自动生成最佳质量的自适应比特率流式处理集,但会将输出限制在所需的范围内。

.NET Node.JS Python

HEVC

使用 HEVC 进行编码

此示例演示如何使用标准编码器将源文件编码为带有 AAC 音频和 PNG 缩略图的 HEVC 格式。

.NET Node.JS Python

使用 HEVC 进行内容感知编码

此示例基于对源文件内容的分析,使用具有内容感知编码功能的标准编码器自动生成最佳质量 HEVC (H.265) 自适应比特率流式处理集的示例。

.NET Node.JS Python

使用受 HEVC 约束的内容感知编码

此示例演示如何控制内容感知 HEVC 编码预设的输出设置,以使输出能够更明确地体现编码需求和成本要求。 这仍会根据对源文件内容的分析自动生成最佳质量的自适应比特率流式处理集,但会将输出限制在所需的范围内。

.NET Node.JS Python

图像、缩略图和子画面

使用覆盖图像

此示例演示如何上传图像文件并覆盖视频,输出目标为 MP4 容器。

.NET Node.JS Python

创建缩略图子画面

此示例演示如何使用自定义转换进行编码以创建缩略图子画面。

.NET Node.JS Python

视频操作

旋转视频

此示例演示如何使用旋转滤镜将视频旋转 90 度。

.NET Node.JS Python

将两个资产拼结在一起并进行编辑

此示例演示如何在作业提交过程中使用 JobInputSequence,将两个或多个资产拼结到单个 MP4 文件中并进行编辑。

.NET Node.JS Python

预设替代或其他用例

创建转换并使用作业预设替代(从 v2 到 v3 的 API 迁移)

如果需要一个想要将自定义预设作业提交到单个队列的工作流程,可以使用此基本示例来展示如何创建(大部分)空白的转换,然后使用作业上的预设替代属性将自定义预设提交到相同的转换。 这样,如果需要,可以将 v3 AMS API 处理得更像旧版 v2 API 作业队列。

.NET 尚不可用 Node.JS Python

输出为 MPEG 传输流格式

此示例演示如何使用标准编码器对源文件进行编码,并借助 AAC 音频和 PNG 缩略图使用 H264 格式输出为 MPEG 传输流格式。

.NET Node.JS Python

使用 SAS URL 从远程 Azure 存储帐户批量编码

该示例演示了如何使用 SAS URL 指向远程 Azure 存储帐户,并将批量编码作业提交到帐户,监视进度并继续。 可以修改要扫描的文件扩展名类型(例如 - .mp4、.mov)并控制提交的批大小。 还可以修改批处理操作中使用的转换。 此示例演示了如何使用 SAS URL 作为作业输入的引入源。 请确保在 .env 文件中配置 REMOTESTORAGEACCOUNTSAS 环境变量,使此示例可以正常运行。

.NET 尚不可用 Node.JS 尚不可用

使用 H.264 的恒速因子预设进行编码

此示例演示如何使用自定义 H.264 恒速因子 (CRF) 编码设置创建自定义编码转换。

.NET Node.JS 尚不可用 Python 尚不可用

使用 MES 自适应比特率预定义预设从 HTTP 源 URL 进行编码

此示例演示如何创建编码转换,该转换使用内置预设进行自适应比特率编码,并直接从 HTTP 源 URL 引入文件、发布输出资产进行流式处理,以及下载结果进行验证。

.NET Node.JS 尚不可用 Python 尚不可用

音频

对多声道音频源文件进行编码

此示例演示如何创建一个编码转换,该转换使用来自输入源的通道映射和音频轨道选择来输出两个新的 AAC 音频轨道。 标准编码器仅限输出 1 个立体声轨道,后跟 AAC 格式的 5.1 环绕声音频轨道。

.NET Node.JS Python

无需重新编码

在不重新编码的情况下将音频和视频复制到 MP4

此示例使用内置预设将源视频和音频快速复制到新的 MP4 文件中,该文件已准备好按需流式传输。 这是预编码内容或外部编码内容在 AMS 中快速准备进行流式传输的极其有用的预设。

.NET Node.JS Python

在不重新编码的情况下将音频和视频复制到 MP4,并创建低比特率代理

此示例将一个附加的快速编码代理解析添加到“将音频和视频复制到 MP4”示例。 它在创建资产的 CMS 或预览版时非常有用。

.NET Node.JS Python

在不重新编码的情况下将音频和视频复制到 MP4,并创建低比特率代理和 VTT 子画面缩略图

此示例将 VTT 子画面缩略图添加到“将音频和视频复制到 MP4”示例,用于生成网页、CMS 或自定义资产管理应用程序。

.NET 尚不可用 Node.JS Python

与其他 Azure 服务组合使用

通过事件中心/事件网格使用 H264 进行编码

此示例演示如何使用标准编码器并通过事件中心接收和处理来自媒体服务的事件网格事件。 首先设置一个事件网格订阅,使用 Azure 门户或 CLI 将事件推送到事件中心以使用此示例。

.NET 尚不可用 Node.JS
Python

将实时存档复制到 MP4 文件格式进行导出或与视频索引器配合使用

此示例演示如何使用实时事件的存档输出,仅提取要打包到 MP4 文件中的最高比特率视频轨道,以便将其导出到社交媒体平台,或将其与视频索引器配合使用。 此示例中的关键概念是使用作业 InputAsset 上的输入定义来指定 VideoTrackDescriptor。 使用 SelectVideoTrackByAttribute,你可以使用比特率属性并通过实时存档中的“Top”视频比特率轨道进行筛选,从而从实时存档中选择单个轨道。

.NET 尚不可用 Node.JS Python