エクスポート (0) 印刷
すべて展開

Media Services REST API を使って資産を配信する

更新日: 2014年8月

Microsoft Azure のメディア サービス では、複数のメカニズムを使用してコンテンツをクライアントに配信できます。blob ストレージ アカウントからコンテンツをダウンロードすること、または Media Services からコンテンツをストリーム送信することをクライアントに許可できます。

以下のセクションでは、コンテンツをクライアントに配信する方法について説明します。

メディア コンテンツ配信に関連する情報、概念、用語については、「コンテンツの配信」を参照してください。

Important重要
Media Services REST API を操作する場合は、次の考慮事項に注意してください。

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

  • https://media.windows.net への接続に成功すると、別の Media Services URI を指定する 301 リダイレクトを受け取ります。続いて、新しい URI への呼び出しを行う必要があります。

    詳細については、「Media Services REST API による Media Services への接続」を参照してください。

Important重要
ロケーターを操作する場合は、次の考慮事項に注意してください。

  • Locator が作成されてから使用できるようになるまでに、30 ~ 40 秒の遅延が発生する場合があります。この問題は、SAS URL と Origin Locators の両方に該当します。

  • 5 個を超える一意の Locator を特定の Asset に同時に関連付けることはできません。詳細については、「Locator」を参照してください。

  • Media Services では、ストリーミング コンテンツの URL の構築に IAssetFile.Name プロパティの値を使用します (たとえば、http://{WAMSAccount}.origin.mediaservices.windows.net/{GUID}/{IAssetFile.Name}/streamingParameters など)。このため、パーセント エンコーディングは許可されていません。Name プロパティの値には、次の文字は使用できません パーセント エンコーディング予約文字:!*'();:@&=+$,/?%#[]"。また、「.」はファイル名拡張子に 1 つしか使用できません。

メディア コンテンツをダウンロードまたはストリーム送信する前に、まず、読み取りアクセス許可を持つ AccessPolicy を定義し、有効にしたいクライアント用配信メカニズムのタイプを指定する適切な Locator エンティティを作成します。使用できるプロパティの詳細については、「AccessPolicy エンティティのプロパティ」を参照してください。

次の例では、特定の Asset の読み取りアクセスを許可するために AccessPolicy を指定する方法を示します。

POST https://media.windows.net/API/AccessPolicies HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.5
Authorization: Bearer http%3a%2f%2fschemas.xmlsoap.org%2fws%2f2005%2f05%2fidentity%2fclaims%2fnameidentifier=youraccountname&urn%3aSubscriptionId=2f84471d-b1ae-4e75-aa09-010f0fc0cf5b&http%3a%2f%2fschemas.microsoft.com%2faccesscontrolservice%2f2010%2f07%2fclaims%2fidentityprovider=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&Audience=urn%3aWindowsAzureMediaServices&ExpiresOn=1337067658&Issuer=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&HMACSHA256=dithjGvlXR9HlyAf5DE99N5OCYkPAxsHIcsTSjm9%2fVE%3d
Host: media.windows.net
Content-Length: 74
Expect: 100-continue

{"Name": "DownloadPolicy", "DurationInMinutes" : "300", "Permissions" : 1}

成功した場合、201 サクセス コードが返され、作成した AccessPolicy エンティティについての説明が返されます。次に、配信するファイルが含まれる資産 (出力資産など) の Asset ID と AccessPolicy ID を使用して、Locator エンティティを作成します。

noteメモ
この基本的なワークフローは、Asset のインジェスト時に行われるファイルのアップロードと同じです。ファイルのアップロードの詳細については、「ファイルを BLOB ストレージにアップロードする」を参照してください。また、ファイルのアップロードのように、自分 (またはクライアント) がファイルに直ちにアクセスする必要がある場合は、StartTime 値を現在の時刻の 5 分前の時刻に設定します。クライアントと Media Services との間にクロック スキューが存在する場合があるので、この操作が必要になります。StartTime の値は、次に示す DateTime 形式であることが必要です: YYYY-MM-DDTHH:mm:ssZ (例: "2014-05-23T17:53:50Z")。

次のコードは、以前に作成され、アップロードされたメディア ファイルをダウンロードする方法を示しています。AccessPolicy には読み取りアクセス許可が設定されています。Locator パスは SAS ダウンロード URL を参照します。

POST https://media.windows.net/API/Locators HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.5
Authorization: Bearer http%3a%2f%2fschemas.xmlsoap.org%2fws%2f2005%2f05%2fidentity%2fclaims%2fnameidentifier=youraccountname&urn%3aSubscriptionId=2f84471d-b1ae-4e75-aa09-010f0fc0cf5b&http%3a%2f%2fschemas.microsoft.com%2faccesscontrolservice%2f2010%2f07%2fclaims%2fidentityprovider=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&Audience=urn%3aWindowsAzureMediaServices&ExpiresOn=1337067658&Issuer=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&HMACSHA256=dithjGvlXR9HlyAf5DE99N5OCYkPAxsHIcsTSjm9%2fVE%3d
Host: media.windows.net
Content-Length: 182
Expect: 100-continue

{"AccessPolicyId": "nb:pid:UUID:38c71dd0-44c5-4c5f-8418-08bb6fbf7bf8", "AssetId" : "nb:cid:UUID:eb5540a2-116e-4d36-b084-7e9958f7f3c3", "StartTime" : "2014-05-17T16:45:53", "Type":1}

成功した場合、次の応答が返されます。

HTTP/1.1 201 Created
Cache-Control: no-cache
Content-Length: 1150
Content-Type: application/json;odata=verbose;charset=utf-8
Location: https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A8e5a821d-2194-4d00-8884-adf979856874')
Server: Microsoft-IIS/7.5
x-ms-request-id: 8cfd8556-3064-416a-97f2-67d9e35f0911
X-Content-Type-Options: nosniff
DataServiceVersion: 1.0;
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Mon, 14 May 2012 21:41:32 GMT

{"d":{"__metadata":{"id":"https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A8e5a821d-2194-4d00-8884-adf979856874')","uri":"https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A8e5a821d-2194-4d00-8884-adf979856874')","type":"Microsoft.Cloud.Media.Vod.Rest.Data.Models.Locator"},"AccessPolicy":{"__deferred":{"uri":"https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A8e5a821d-2194-4d00-8884-adf979856874')/AccessPolicy"}},"Asset":{"__deferred":{"uri":"https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A8e5a821d-2194-4d00-8884-adf979856874')/Asset"}},"Id":"nb:lid:UUID:8e5a821d-2194-4d00-8884-adf979856874","ExpirationDateTime":"\/Date(1337049393000)\/","Type":1,"Path":"https://yourstorageaccount.blob.core.windows.net/asset-3df042ec-a396-4c62-a217-16c7a2569640?st=2012-05-14T21%3A36%3A33Z&se=2012-05-15T02%3A36%3A33Z&sr=c&si=8e5a821d-2194-4d00-8884-adf979856874&sig=y75dViDpC5V8WutrXM%2B%2FGpR3uOtqmlISiNlHU1YUBOg%3D","AccessPolicyId":"nb:pid:UUID:38c71dd0-44c5-4c5f-8418-08bb6fbf7bf8","AssetId":"nb:cid:UUID:eb5540a2-116e-4d36-b084-7e9958f7f3c3","StartTime":"\/Date(1337031393000)\/"}}

Path プロパティは、リクエスト内に指定した Asset ID の SAS URL を参照します。ファイルをダウンロードするには、ダウンロードの前に、ダウンロードするコンテンツのファイル名を SAS URL に追加します。

次の例では、Web ブラウザーを使用して blob ストレージからファイルをダウンロードする方法を示します。

GET https://yourstorageaccount.blob.core.windows.net/asset-3df042ec-a396-4c62-a217-16c7a2569640/samplevid.wmv?st=2012-05-14T21%3A36%3A33Z&se=2012-05-15T02%3A36%3A33Z&sr=c&si=8e5a821d-2194-4d00-8884-adf979856874&sig=y75dViDpC5V8WutrXM%2B%2FGpR3uOtqmlISiNlHU1YUBOg%3D HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: en-US
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding: gzip, deflate
Host: yourstorageaccount.blob.core.windows.net
Connection: Keep-Alive

成功した場合、次の応答が返されます。

HTTP/1.1 200 OK
Content-Length: 4045744
Content-Type: application/octet-stream
Last-Modified: Mon, 14 May 2012 21:41:26 GMT
ETag: 0x8CF00317343F6D8
Server: Blob Service Version 1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: da01ef74-7bf6-4837-b36d-8a6c08a26c3f
Date: Mon, 14 May 2012 22:02:45 GMT

??v?3?????>1?p????m.?v9?/??s?a?(C?D?
wsh?1hfN??C?V??,?-?sd??:?j?dCfT?,?6????8?f?p??o??"?????6C??q?????KbP???w*????i
[Remaining data truncated for readability.]
Important重要
ストレージで暗号化されたコンテンツをダウンロードする場合は、コンテンツをレンダリングする前にコンテンツの暗号化解除を手動で行うか、または処理タスク内の Storage Decryption MediaProcessor を使用して、処理されたファイルを暗号化されていない状態で OutputAsset に出力し、その Asset からダウンロードする必要があります。処理の詳細については、「Media Services REST API によるエンコード ジョブの作成」を参照してください。また、SAS URL Locator は、作成後更新することができません。たとえば、同じ Locator を、更新された StartTime 値で再利用することはできません。このことは、SAS URL の作成方法に原因があります。Locator が期限切れになった後でダウンロードのために資産にアクセスする場合は、新しい StartTime で新しい Locator を作成する必要があります。

配信元 URL Locator と SAS URL Locator を作成する際の唯一の違いは "Type" 値であり、ストリーム送信するコンテンツを MP4 からスムーズ ストリーミング形式 (.ism*) に変換する必要があります。後者の変換は、Task の処理内で MP4 to Smooth Streaming MediaProcessor を使用して行うことができます。iOS デバイスにストリーム送信する場合は、Smooth Streaming to HLS MediaProcessor を使用する処理タスクを追加し、iOS デバイスにストリーム送信するために必要なファイルが含まれる出力 Asset を作成する必要があります。タスクのチェーンの詳細については、「ジョブを作成する」を参照してください。SAS URL Locator の場合とは異なり、配信元 Locator は、作成された後も新しい StartTime 値で更新可能です。Locator の情報および Locator の更新方法の詳細については、「Locator」を参照してください。

次のコードは、配信元 URL Locator を作成する方法を示しています。

POST https://media.windows.net/API/Locators HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.5
Authorization: Bearer http%3a%2f%2fschemas.xmlsoap.org%2fws%2f2005%2f05%2fidentity%2fclaims%2fnameidentifier=youraccountname&urn%3aSubscriptionId=2f84471d-b1ae-4e75-aa09-010f0fc0cf5b&http%3a%2f%2fschemas.microsoft.com%2faccesscontrolservice%2f2010%2f07%2fclaims%2fidentityprovider=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&Audience=urn%3aWindowsAzureMediaServices&ExpiresOn=1337067658&Issuer=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&HMACSHA256=dithjGvlXR9HlyAf5DE99N5OCYkPAxsHIcsTSjm9%2fVE%3d
Host: media.windows.net
Content-Length: 182
Expect: 100-continue

{"AccessPolicyId": "nb:pid:UUID:38c71dd0-44c5-4c5f-8418-08bb6fbf7bf8", "AssetId" : "nb:cid:UUID:eb5540a2-116e-4d36-b084-7e9958f7f3c3", "StartTime" : "2014-05-17T16:45:53",, "Type":2}

成功した場合、次の応答が返されます。

HTTP/1.1 201 Created
Cache-Control: no-cache
Content-Length: 981
Content-Type: application/json;odata=verbose;charset=utf-8
Location: https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A52034bf6-dfae-4d83-aad3-3bd87dcb1a5d')
Server: Microsoft-IIS/7.5
x-ms-request-id: 2eac4158-fc78-4fa2-81ee-c9f582dc385f
X-Content-Type-Options: nosniff
DataServiceVersion: 1.0;
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Mon, 14 May 2012 21:41:39 GMT

{"d":{"__metadata":{"id":"https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A52034bf6-dfae-4d83-aad3-3bd87dcb1a5d')","uri":"https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A52034bf6-dfae-4d83-aad3-3bd87dcb1a5d')","type":"Microsoft.Cloud.Media.Vod.Rest.Data.Models.Locator"},"AccessPolicy":{"__deferred":{"uri":"https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A52034bf6-dfae-4d83-aad3-3bd87dcb1a5d')/AccessPolicy"}},"Asset":{"__deferred":{"uri":"https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A52034bf6-dfae-4d83-aad3-3bd87dcb1a5d')/Asset"}},"Id":"nb:lid:UUID:52034bf6-dfae-4d83-aad3-3bd87dcb1a5d","ExpirationDateTime":"\/Date(1337049395000)\/","Type":2,"Path":"http://media.windows.net/52034bf6-dfae-4d83-aad3-3bd87dcb1a5d/","AccessPolicyId":"nb:pid:UUID:38c71dd0-44c5-4c5f-8418-08bb6fbf7bf8","AssetId":"nb:cid:UUID:eb5540a2-116e-4d36-b084-7e9958f7f3c3","StartTime":"\/Date(1337031395000)\/"}}

ストリーミング メディア プレーヤー内のスムーズ ストリーミングの配信元 URL を参照するには、Path プロパティにスムーズ ストリーミング マニフェスト ファイルの名前 ("/manifest" が後に付く) を付加する必要があります。たとえば、前の例に示した配信元 URL を使用する場合は、スムーズ ストリーミング クライアントで使用される実際の URL は次のようになります。http://media.windows.net/52034bf6-dfae-4d83-aad3-3bd87dcb1a5d/samplevid.ism/manifest。HLS クライアントの場合は、例を挙げると、次のようになります。http://media.windows.net/52034bf6-dfae-4d83-aad3-3bd87dcb1a5d/samplevid.isml/manifest(format=m3u8-aapl)。

noteメモ
このセクションでは、例として、http://media.windows.net URI が Path 値で使用されています。実際の値は、接続先の Media Services の展開によって異なります。

関連項目

表示:
© 2014 Microsoft