教程:基于 URL 对远程文件进行编码并流式传输视频 - .NET

媒体服务徽标 v3


本教程展示了使用 Azure 媒体服务在各种浏览器和设备上对视频进行编码和流式处理有多轻松。 可以使用 HTTPS、URL、SAS URL 或位于 Azure Blob 存储中的文件路径来指定输入内容。 本主题中的示例对可通过 HTTPS URL 访问的内容进行编码。 请注意,目前,AMS v3 不支持基于 HTTPS URL 的块传输编码。

完成本教程后即可对视频进行流式处理。

播放视频

如果没有 Azure 试用版订阅,请在开始前创建一个试用版订阅

先决条件

下载并配置示例

使用以下命令将包含流式处理 .NET 示例的 GitHub 存储库克隆到计算机:

git clone https://github.com/Azure-Samples/media-services-v3-dotnet-quickstarts.git

该示例位于 EncodeAndStreamFiles 文件夹。

打开下载的项目中的 appsettings.json。 将值替换为在访问 API 中获取的凭据。

该示例执行以下操作:

  1. 创建一个 转换(首先,检查指定的转换是否存在)。
  2. 创建一个输出 资产,用作编码 作业 的输出。
  3. 创建基于 HTTPS URL 的 作业 输入。
  4. 使用先前创建的输入和输出提交编码 作业
  5. 检查作业的状态。
  6. 创建 流定位符
  7. 生成流式处理 URL。

有关示例代码中的每个功能的内容介绍,请在此源文件中查看相关代码和注释。

运行示例应用

运行应用时,显示使用不同协议播放视频的 URL。

  1. 按 Ctrl+F5 运行 EncodeAndStreamFiles 应用程序 。
  2. 选择 Apple 的“HLS”协议(以 manifest(format=m3u8-aapl) 结束),并从控制台复制流式处理 URL 。

Visual Studio 中 EncodeAndStreamFiles 应用输出的屏幕截图,显示了在 Azure Media Player 中使用的三个流式处理 URL。

在此示例的源代码中,可查看 URL 的生成方式。 若要生成 URL,需要连接流式处理终结点的主机名和流式处理定位符路径。

使用 Azure Media Player 进行测试

本文使用 Azure Media Player 测试流式传输。

备注

如果播放器在 Https 站点上进行托管,请确保将 URL 更新为“https”。

  1. 打开 Web 浏览器并导航到 https://aka.ms/azuremediaplayer/

  2. 在“URL:”框中,粘贴运行应用程序时获取的某个流式处理 URL 值 。

    可以粘贴 HLS、Dash 或 Smooth 格式的 URL,Azure Media Player将切换到适当的流协议,以便在你的设备上自动播放。

  3. 按“更新播放器”。

Azure Media Player 可用于测试,但不可在生产环境中使用。

清理资源

如果不再需要你的资源组中的任何一个资源(包括为本教程创建的媒体服务和存储帐户),请删除该资源组。

执行以下 CLI 命令:

az group delete --name amsResourceGroup

检查代码

有关示例代码中的每个功能的内容介绍,请在此源文件中查看相关代码和注释。

如需了解更高级的流式处理示例及其详细说明,请参阅上传、编码和流式处理文件教程。

作业错误代码

请参阅错误代码

多线程处理

Azure 媒体服务 v3 SDK 不是线程安全的。 使用多线程应用程序时,应在每个线程上生成一个新的 AzureMediaServicesClient 对象。

后续步骤