你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

用于 .NET 的 Azure 媒体服务库

概述

Microsoft Azure 媒体服务是一个可扩展的基于云的平台,使开发人员能够生成可缩放的媒体管理和传送应用程序。 媒体服务基于 REST API,使用这些 API 可以安全地上传、存储、编码和打包视频或音频内容,以供点播以及以实时传送视频流的形式传送到各种客户端(例如,电视、电脑和移动设备)。

有关详细信息,请参阅概述.NET 入门

客户端库

借助 Azure 媒体服务 .NET SDK 库可以使用 .NET 针对媒体服务编程。 使用 Azure 媒体服务客户端库可以针对媒体服务 API 进行连接、身份验证和开发。

有关详细信息,请参阅使用 .NET SDK 开始传送点播内容

直接从 Visual Studio 包管理器控制台或使用 .NET Core CLI 安装 NuGet 包

Visual Studio 包管理器

Install-Package windowsazure.mediaservices

代码示例

以下代码示例使用媒体服务 .NET SDK 执行下列任务:

  • 创建编码作业。
  • 获取对 Media Encoder Standard 编码器的引用。
  • 指定使用自适应流式处理预设。
  • 将一个编码任务添加到该作业。
  • 指定要编码的输入资产。
  • 创建一个输出资产用于接收编码的资产。
  • 提交作业。
/* Include this 'using' directive:
using Microsoft.WindowsAzure.MediaServices.Client;
*/

CloudMediaContext context = new CloudMediaContext(new Uri(mediaServiceRESTAPIEndpoint), tokenProvider);

// Get an uploaded asset.
IAsset asset = context.Assets.FirstOrDefault();

// Encode and generate the output using the "Adaptive Streaming" preset.
// Declare a new job.
IJob job = context.Jobs.Create("Media Encoder Standard Job");
// Get a media processor reference, and pass to it the name of the 
// processor to use for the specific task.
IMediaProcessor processor = context.MediaProcessors.Where(p => p.Name == mediaProcessorName)
    .ToList().OrderBy(p => new Version(p.Version)).LastOrDefault();
if (processor == null) 
{
    throw new ArgumentException(string.Format("Unknown media processor", mediaProcessorName));
}

// Create a task with the encoding details, using a string preset.
// In this case "Adaptive Streaming" preset is used.
ITask task = job.Tasks.AddNew("My encoding task", processor, "Adaptive Streaming", TaskOptions.None);

// Specify the input asset to be encoded.
task.InputAssets.Add(asset);
// Add an output asset to contain the results of the job. 
// This output is specified as AssetCreationOptions.None, which 
// means the output asset is not encrypted. 
task.OutputAssets.AddNew("Output asset", AssetCreationOptions.None);

job.Submit();
job.GetExecutionProgressTask(CancellationToken.None).Wait();

示例

查看 Azure 媒体服务示例的完整列表