次の方法で共有


.NET 用 Azure Media Services ライブラリ

概要

Microsoft Azure Media Services は拡張可能なクラウド ベースのプラットフォームです。これにより、開発者はスケーラブルなメディア管理の構築、アプリケーションの配信を実行できます。 Media Services は、各種クライアント (TV、PC、モバイル デバイスなど) へのオンデマンドとライブ ストリーミングでの配信でビデオやオーディオのコンテンツの安全なアップロード、格納、エンコード、パッケージ化を可能にする REST API に基づいています。

詳しくは、「Azure Media Services の概要」および「.NET を使用した Media Services 開発」をご覧ください。

クライアント ライブラリ

Azure Media Services .NET SDK ライブラリを利用すると、.NET を使って Media Services に対するプログラミングを行うことができます。 Media Services API に対する接続、認証、開発を行うには、Azure Media Services クライアント ライブラリを使います。

詳しくは、「.NET SDK を使用したオンデマンド コンテンツ配信の概要」をご覧ください。

NuGet パッケージを Visual Studio パッケージ マネージャー コンソールから直接インストールするか、.NET Core CLI を使ってインストールします。

Visual Studio パッケージ マネージャー

Install-Package windowsazure.mediaservices

コード例

次のコード サンプルでは、Media Services SDK を使用して次のタスクを実行します。

  • エンコード ジョブを作成します。
  • Media Encoder Standard エンコーダーの参照を取得します。
  • アダプティブ ストリーミング プリセットを使うように指定します。
  • 1 つのエンコード タスクをジョブに追加します。
  • エンコードする入力資産を指定します。
  • エンコードされた資産を受け取るための出力資産を作成します。
  • ジョブを送信します。
/* 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 Media Services のサンプルの完全な一覧を表示します。