.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();
サンプル
- Apple FairPlay で保護された HLS コンテンツをストリーミングする
- .NET SDK Extensions を使用して BLOB を Azure Media Services の資産にコピーする
- .NET SDK を使用して Azure Media Services でライブ ストリームをエンコードして配信する
Azure Media Services のサンプルの完全な一覧を表示します。
Azure SDK for .NET