次の方法で共有


プログラム

ライブ ストリームでのセグメントの公開と保存は、プログラムを使用して制御します。 複数の Program を同時に実行できます。 これにより、1 つのイベントのさまざまな部分を必要に応じて公開したりアーカイブしたりできます。

プログラムの記録されたコンテンツを保持する時間数を指定するには、 プロパティを ArchiveWindowLength 設定します (最大 25 時間)。 クライアントは、指定された時間数の間、アーカイブ済みコンテンツをシークできます。 指定された ArchiveWindowLength より長い時間プログラムが実行されると、古いコンテンツから削除されます。 詳細については、以下に示す ArchiveWindowLength ドキュメントを参照してください。

このトピックは、Program エンティティを概説し、また Media Services REST API でさまざまな操作を実行する方法を示します。

重要

Media Services でエンティティにアクセスするときは、HTTP 要求で特定のヘッダー フィールドと値を設定する必要があります。
詳細については、「 Media Services REST API 開発のセットアップ」および「Media Services REST APIを使用した Media Services への接続」を参照してください。

Program エンティティのプロパティ

Program エンティティには、次のプロパティが含まれています。

プロパティ Type 説明
Id

読み取り専用です。 Media Services で設定します。
Edm.String 作成時に割り当てられる Program ID。 形式は nb:pgid:UUID:<GUID です>。
Name Edm.String Program の名前。 最大長は 256 文字で、"-" と " " を含む任意の英数字を使用できます。ただし、先頭と末尾には英数字を使用する必要があります。
AssetId Edm.String Program の処理に使用される Asset ID。 このプロパティは、Program が [Stopped] 状態の場合にのみ更新できます。

プログラムによって使用されているときは資産を削除できません。 資産を削除するには、その資産を使用しているプログラムを先に削除する必要があります。
Created

読み取り専用です。 Media Services で設定します。
Edm.DateTime 作成日時を示す UTC 日付/時刻値。
Description Edm.String ユーザーが入力する説明。 最大長は 256 文字です。
ArchiveWindowLength

必須。
Edm.Time プログラムの記録済みコンテンツを保持する時間数。 この値は、最小 5 分から最大 25 時間までの範囲で設定できます。 また、この値は、クライアントが現在のライブの位置からさかのぼってシークできる最大時間でもあります。 プログラムの放送は、指定された期間継続しますが、ArchiveWindowLength を過ぎたコンテンツは絶えず破棄されていきます。 さらに、このプロパティの値によって、クライアント マニフェストが肥大した場合の最大サイズも決まります。

アーカイブ済みのコンテンツを削除するには、プログラムを停止し、削除したうえで、そのプログラムに関連付けられている資産を削除します。
LastModified

読み取り専用です。 Media Services で設定します。
Edm.DateTime 最後に行われた修正の日時。
ManifestName Edm.String 拡張子を除いたマニフェスト ファイル名。 このプロパティは、Program が [Stopped] 状態の場合にのみ更新できます。
State

読み取り専用です。 Media Services で設定します。
Edm.String 現在の状態を取得します。 次の値を指定できます。

- 停止済み。 Program の作成後の状態は [Stopped] です。 この状態のとき、Program のプロパティは更新できますが、ストリーミングは実行できません。 また、この状態から Program を開始、更新、または削除できます。
- 開始中。 Program を開始しています。 この状態の場合、更新やストリーミングはできません。
- 実行中。 Program はライブ ストリームを処理およびアーカイブできます。
- 停止中。 Program を停止しています。 この状態の場合、更新やストリーミングはできません。
ChannelId

読み取り専用です。 Media Services で設定します。
Edm.String Program の親 Channel の ID。
Channel チャネル ChannelId で指定された Program の親 Channel。

Program の作成

新しい Program を作成します。

Method 要求 URI HTTP バージョン
POST <https:// accountname.restv2>。<location.media.azure.net/api/Programs> HTTP/1.1

要求のサンプル

Fiddler の [Composer] タブで次の例を試すことができます。

最新 x-ms-version:の を取得するには、「 Media Services REST」を参照してください。

要求ヘッダー:

POST https://testrest.cloudapp.net/api/Programs HTTP/1.1  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json;odata=minimalmetadata  
Accept-Charset: UTF-8  
x-ms-version: 2.19  
Content-Type: application/json;odata=minimalmetadata  
Host: <host URI>  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
  

要求本文:

{"Id":null,"Name":"testprogram001","Description":"","Created":"0001-01-01T00:00:00","LastModified":"0001-01-01T00:00:00","ChannelId":"nb:chid:UUID:83bb19de-7abf-4907-9578-abe90adfbabe","AssetId":"nb:cid:UUID:bc495364-5357-42a1-9a9d-be54689cfae2","ArchiveWindowLength":"PT1H","State":null,"ManifestName":null}  

成功すると、応答本文に 202 Accepted ステータス コードと、作成されたエンティティの表記が返されます。

{"odata.metadata":"https://testrest.cloudapp.net/api/$metadata#Programs/@Element","Id":"nb:pgid:UUID:b870dd57-4b04-41b6-849d-b2470e50e7e6","Name":"testprogram001","Description":"","Created":"2014-08-11T18:12:27.8381256Z","LastModified":"2014-08-11T18:12:27.8381256Z","ChannelId":"nb:chid:UUID:83bb19de-7abf-4907-9578-abe90adfbabe","AssetId":"nb:cid:UUID:bc495364-5357-42a1-9a9d-be54689cfae2","ArchiveWindowLength":"PT1H","State":"Stopped","ManifestName":"f91329ec-26f5-4026-87f5-f5437d4da9e6"}  
  

注意

この操作は同期的に完了するため、追跡できる操作 ID はありません。

Program の開始

Program を開始します。 Program は、Program が [Stopped] 状態で、チャンネルが [Running] 状態の場合にのみ開始できます。

Method 要求 URI HTTP バージョン
開始 <https:// accountname.restv2>。<location.media.azure.net/api/Programs>('ProgramId')/Start HTTP/1.1

要求のサンプル

Fiddler の [Composer] タブで次の例を試すことができます。

最新 x-ms-version:の を取得するには、「 Media Services REST」を参照してください。

要求ヘッダー:

POST https://testrest.cloudapp.net/api/Programs('nb:pgid:UUID:0f9ceb51-50fe-4769-aaed-f8c19d76b9bc')/Start HTTP/1.1  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json;odata=minimalmetadata  
Accept-Charset: UTF-8  
x-ms-version: 2.19  
Content-Type: application/json;odata=minimalmetadata  
Host: <host URI>  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
  

処理が正常に終了すると、[202 受理されました] ステータス コードが返されます。 [202 受理されました] ステータス コードは非同期操作を示しています。この場合、操作 ID ヘッダー値は、Program の開始や停止など、長時間実行処理のステータスのポーリングと追跡にも使用されます。 ステータスを取得するために、操作 ID ヘッダー値を操作エンティティに渡します。 詳細については、「 Long-Running 操作を手動でポーリングする」を参照してください。

Program の停止

Program を停止します。 Program は、[Running] 状態の場合にのみ停止できます。 これは非同期操作です。

Method 要求 URI HTTP バージョン
Stop <https:// accountname.restv2>。<location.media.azure.net/api/Programs>('ProgramId')/Stop HTTP/1.1

要求のサンプル

Fiddler の [Composer] タブで次の例を試すことができます。

最新 x-ms-version:の を取得するには、「 Media Services REST」を参照してください。

要求ヘッダー:

POST https://testrest.cloudapp.net/api/Programs('nb:pgid:UUID:0f9ceb51-50fe-4769-aaed-f8c19d76b9bc')/Stop HTTP/1.1  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json;odata=minimalmetadata  
Accept-Charset: UTF-8  
x-ms-version: 2.19  
Content-Type: application/json;odata=minimalmetadata  
Host: <host URI>  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
  

処理が正常に終了すると、[202 受理されました] ステータス コードが返されます。 [202 受理されました] ステータス コードは非同期操作を示しています。この場合、操作 ID ヘッダー値は、Program の開始や停止など、長時間実行処理のステータスのポーリングと追跡にも使用されます。 ステータスを取得するために、操作 ID ヘッダー値を操作エンティティに渡します。 詳細については、「 Long-Running 操作を手動でポーリングする」を参照してください。

Program のリスト

Program は、GET HTTP 要求を使用して取得します。

Method 要求 URI HTTP バージョン
GET Media Services アカウント内のすべての Program を取得します。

<https:// accountname.restv2>。<location.media.azure.net/api/Programs>

Media Services アカウント内の指定された Program を取得します。

<https:// accountname.restv2>。<location.media.azure.net/api/Programs>('ProgramId')

指定された Channel に関連付けられているすべての Program を取得します。

<https:// accountname.restv2>。<location.media.azure.net/api/Channels>('channelid')/Programs
HTTP/1.1

要求のサンプル

Fiddler の [Composer] タブで次の例を試すことができます。

最新 x-ms-version:の を取得するには、「 Media Services REST」を参照してください。

要求ヘッダー:

GET https://testrest.cloudapp.net/api/Programs HTTP/1.1  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json;odata=minimalmetadata  
Accept-Charset: UTF-8  
x-ms-version: 2.19  
Content-Type: application/json;odata=minimalmetadata  
Host: <host URI>  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
  

成功した場合、この操作は 200 OK 状態コードと、Media Services アカウントで作成されたすべてのプログラムの一覧を返します。

Program の更新

Program を更新します。 Program は [Stopped] 状態の場合にのみ更新できます。

Method 要求 URI HTTP バージョン
PATCH/PUT/MERGE

これらの操作の詳細については、「 PATCH/PUT/MERGE」を参照してください。
<https:// accountname.restv2>。<location.media.azure.net/api/Programs>('ProgramId') HTTP/1.1

要求のサンプル

Fiddler の [Composer] タブで次の例を試すことができます。

最新 x-ms-version:の を取得するには、「 Media Services REST」を参照してください。

要求ヘッダー:

PATCH https://testrest.cloudapp.net/api/Programs('nb:pgid:UUID:0f9ceb51-50fe-4769-aaed-f8c19d76b9bc') HTTP/1.1  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json;odata=minimalmetadata  
Accept-Charset: UTF-8  
x-ms-version: 2.19  
Content-Type: application/json;odata=minimalmetadata  
Host: <host URI>  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
  

要求本文:

{"ArchiveWindowLength":"PT3H"}  

更新を同期で完了すると、204 No Content ステータス コードが返されます。そうでない場合は、202 Accepted ステータス コードが返されます。 [202 受理されました] ステータス コードは非同期操作を示しています。この場合、操作 ID ヘッダー値は、Program の開始や停止など、長時間実行処理のステータスのポーリングと追跡にも使用されます。 ステータスを取得するために、操作 ID ヘッダー値を操作エンティティに渡します。 詳細については、「 Long-Running 操作を手動でポーリングする」を参照してください。

Program の削除

Program を削除します。 Program は、[Stopped] 状態の場合にのみ削除できます。

Method 要求 URI HTTP バージョン
DELETE <https:// accountname.restv2>。<location.media.azure.net/api/Programs>('ProgramId') HTTP/1.1

要求のサンプル

Fiddler の [Composer] タブで次の例を試すことができます。

最新 x-ms-version:の を取得するには、「 Media Services REST」を参照してください。

要求ヘッダー:

DELETE https://testrest.cloudapp.net/api/Programs('nb:pgid:UUID:0f9ceb51-50fe-4769-aaed-f8c19d76b9bc') HTTP/1.1  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json;odata=minimalmetadata  
Accept-Charset: UTF-8  
x-ms-version: 2.19  
Content-Type: application/json;odata=minimalmetadata  
Host: <host URI>  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
  

成功すると、状態コード 204 No Content が返されます。

注意

この操作は同期的に完了するため、追跡できる操作 ID はありません。

参照

チャネル