共用方式為


管道

在 Azure 媒體服務 (AMS) 中,通道實體代表處理即時串流內容的管線。 通道會以兩種方式之一收到即時輸入串流:

  • 內部部署即時編碼器會將多位元率 RTMPSmooth Streaming (分散 MP4) 傳送至通道。 您可以使用下列輸出多位元速率 Smooth Streaming 的即時編碼器:MediaExcel、Imagine Communications、Ateme、Envivio、Cisco 和 Elemental。 下列即時編碼器會輸出 RTMP:Adobe Flash Live Encoder、Haivision、Telestream Wirecast、Teradek 和 Tricaster 編碼器。 內嵌的資料流可以通過通道,無需進一步的處理。 接到要求時,媒體服務會傳遞串流給客戶。

  • 下列其中一種格式的單一位元速率串流 (: RTP (MPEG-TS) 、 RTMPSmooth Streaming (Fragmented MP4) ) 會傳送至 Channel ,以便使用媒體服務執行即時編碼。 Channel 接著會執行即時編碼,將連入的單一位元速率串流編碼成多位元速率 (自動調整) 視訊串流。 接到要求時,媒體服務會傳遞串流給客戶。

自媒體服務 2.10 版起,當您建立通道時,您可以指定您希望通道接收輸入串流的方式,以及您是否想要通道執行串流的即時編碼。 您有兩個選擇:

  • None – 如果您打算使用可輸出多位元速率串流的內部部署即時編碼器,請指定這個值。 在此情況下,連入的串流會傳遞至輸出,無須任何編碼。 這是在 2.10 版以前的通道行為。 如需使用此類型通道的詳細資訊,請參閱 使用從內部部署編碼器接收多位元率即時串流的通道

  • Standard – 如果您打算使用媒體服務將單一位元速率即時串流編碼為多位元率串流,請選擇此值。

    注意

    請注意即時編碼有計費影響,而且您應該記住將即時編碼通道保持在「執行中」狀態會產生費用。 建議您在即時串流事件完成之後立即停止執行的通道,以避免額外的每小時費用。 如需詳細資訊,請參閱 使用啟用的通道以 Azure 媒體服務執行即時編碼

如需即時串流和管理通道的詳細資訊,請參閱 使用 Azure 媒體服務傳遞即時串流

重要

在媒體服務中存取實體時,您必須在 HTTP 要求中設定特定的標頭欄位和值。
如需詳細資訊,請參閱媒體服務 REST API 開發和使用媒體服務 REST API 連線到媒體服務

本主題概述 Channel 實體,也會示範如何使用 Media Services REST API 執行各種作業。

通道實體

Channel 實體包含以下屬性。

屬性 類型 說明
Id

唯讀。 由 Media Services 設定。
Edm.String 在建立時指派的通道識別碼。 其格式為:

nb:chid:UUID: < GUID > 。
Name Edm.String 通道名稱。

1. 在您的媒體服務帳戶內必須是唯一的。
2.長度上限 = 32 個字元。
3.不能包含空格。
4.僅連字號和英數位元。
5.無法以連字號開頭或結尾。
Created

唯讀。 由 Media Services 設定。
Edm.DateTime 指出建立時間的 UTC 日期/時間值。
Description Edm.String 使用者提供的描述。 最大長度是 256 個字元。
LastModified

唯讀。 由 Media Services 設定。
Edm.DateTime 前次更新通道的日期和時間。
State

唯讀。 由 Media Services 設定。
Edm.String 通道的現行狀態。 可能的值包括:

- 已停止。 這是通道建立後的初始狀態。 在此狀態下,通道屬性可以更新,但是不允許串流。
- 啟動中。 通道正在啟動。 在此狀態期間允許任何更新或串流。 如果發生錯誤,通道將會回復為 [已停止] 狀態。
- 執行中。 通道能夠處理即時串流。
- 停止中。 正在停止通道。 在此狀態期間允許任何更新或串流。
- 刪除中。 正在刪除通道。 在此狀態期間允許任何更新或串流。
Input ChannelInput ComplexType 通道輸入設定。
Output ChannelOutput ComplexType 通道輸出設定。
Preview ChannelPreview ComplexType 通道預覽設定。
CrossSiteAccessPolicies CrossSiteAccessPolicies 跨網站存取原則。
Programs

唯讀。 由 Media Services 設定。
Programs 的集合。 與通道相關聯之程式集合的參考。
EncodingType Edm.String Optional. 描述通道的組態。 允許的值包括:

- None – 這是預設值。 當您選取此值時,連入的串流會傳遞至輸出,而不經過任何編碼 (這是在 2.10 版前的通道行為)。
- Standard– 傳入的單一位元速率資料流程會傳送至通道,並使用系統預設轉碼成多位元率資料流程
Encoding Encoding ComplexType Azure 即時編碼器設定。
Slate 平板 只有在通道 的 設定為 StandardEncoding Type ,才支援此設定。

通道內的即時編碼器會收到切換至 slate 映像的信號。 它也會收到結束進行中 slate 的信號。

即時編碼器可以設定成在某些情況下切換成 slate 映像,並且遮罩連入的視訊信號 – 例如在廣告插播期間。 如果未設定此 slate,就不會在廣告插播期間遮罩處理輸入視訊。

ChannelInput ComplexType

名稱 類型 Description
KeyFrameInterval Edm.Time 如果 EncoderType 設為 Standard,則會忽略此值。

使用內部部署即時編碼器來產生多位元率資料流程時,主要畫面格間隔會指定 GOP 持續時間 (,如該外部編碼器) 使用。 一旦通道收到此內送串流時,然後您可以再將即時串流傳遞至下列任一形式的用戶端播放應用程式:Smooth Streaming、DASH 及 HLS。 在執行即時資料流時,會一律動態封裝 HLS。 根據預設,媒體服務會根據主要畫面格間距 (也稱為圖片群組 (GOP) – 從即時編碼器接收而來),自動計算 HLS 區段封裝比率 (每個區段的片段)。
StreamingProtocol

唯讀。
Edm.String 設定編碼器類型之後,您可以設定內嵌通訊協定。

Encoder Type如果 設定 None 為 ,則有效的選項為:

- 多位元率片段 MP4 (Smooth Streaming)
- 多位元率 RTMP

當 設定 Encoder TypeNone 為 時,對於要傳送的單一位元速率 RTMP 或 Smooth Streaming 即時串流而言,這是有效的,但不想要。 通道不會利用串流執行任何處理,因此它會通過通道,但是用戶端應用程式會取得單一位元速率串流。

Encoder Type如果 設定 Standard 為 ,則有效的選項為:

1.單一位元速率片段 MP4 (Smooth Streaming)
2. 單一位元速率 RTMP
3.RTP (MPEG-TS) :透過 RTP 的 MPEG-2 傳輸資料流程。
AccessControl ChannelInputAccessControl ComplexType 通道輸入存取控制設定。
Endpoints

唯讀。
ChannelEndpoint ComplexType 通道輸入端點。

通道會提供您稍後會用來內嵌即時串流的輸入端點 (內嵌 URL)。 通道會接收即時輸入串流,並且讓輸出串流可透過一或多個串流端點供串流處理之用。

ChannelPreview ComplexType

如需此類型及其屬性的詳細資訊,請參閱 啟用即時編碼的通道概觀

名稱 類型 Description
AccessControl ChannelPreviewAccessControl ComplexType 通道預覽存取控制設定。
Endpoints

唯讀。
ChannelEndpoint ComplexType 通道預覽端點。

ChannelInputAccessControl ComplexType

名稱 類型 Description
IP IPAccessControl 可連接到通道輸入端點的 IP 位址。
IP 位址必須採用下列其中一種格式:具有 4 個數字的 IpV4 位址、CIDR 位址範圍。

ChannelPreviewAccessControl ComplexType

如需此類型及其屬性的詳細資訊,請參閱 啟用即時編碼的通道概觀

名稱 類型 Description
IP IPAccessControl 可連接到通道輸入端點的 IP 位址。
IP 位址必須採用下列其中一種格式:具有 4 個數字的 IpV4 位址、CIDR 位址範圍

IPAccessControl

如需此類型及其屬性的詳細資訊,請參閱 啟用即時編碼的通道概觀

名稱 類型 Description
Allow IPRange ComplexType 可連接到通道輸入端點的 IP 位址。 注意: 將此值設定為 null 可讓所有 IP 來源位址連線。 將其設定為空字串 (“”) 將不允許任何連線。

IPRange ComplexType

如需此類型及其屬性的詳細資訊,請參閱 啟用即時編碼的通道概觀

名稱 類型 描述
Name Edm.String 此 IP 範圍的易記名稱。
Address Edm.String 子網路的基底 IP 位址表示法 (例如:192.168.0.1)。
SubnetPrefixLength Edm.Int32 子網路遮罩的有效位元數目 (以 IP 位址 192.168.0.1/24 為例,24 代表有效位元數目)。

ChannelEndpoint ComplexType

名稱 類型 描述
Protocol Edm.String 通道串流端點通訊協定。
Url Edm.String 通道串流端點 URL。

ChannelOutput ComplexType

如需此類型及其屬性的詳細資訊,請參閱 啟用即時編碼的通道概觀

名稱 類型 Description
Hls ChannelOutputHls ComplexType HLS 特定設定。

ChannelOutputHls ComplexType

如需此類型及其屬性的詳細資訊,請參閱 啟用即時編碼的通道概觀

名稱 類型 Description
FragmentsPerSegment Edm.Int16 每個 HTTP 即時串流 (HLS) 區段的片段數量。

Encoding ComplexType

如需此類型及其屬性的詳細資訊,請參閱 啟用即時編碼的通道概觀

名稱 類型 描述
AdMarkerSource Edm.String 您可以指定 ad 標記信號的來源。 預設值為 Api ,表示通道內的即時編碼器應該接聽非同步 Ad Marker API 。只有當內嵌串流通訊協定設定 RTP (MPEG-TS). 為 [指定時 Scte35 ] 時,編碼器才會 SCTE-35 從輸入 RTP (MPEG-TS) 資料流程剖析訊號時,才允許使用另一個有效 (選項 Scte35
IgnoreCea708ClosedCaptions Edm.bool Optional. 選擇性旗標會通知即時編碼器略過任何內嵌於連入視訊的 CEA 708 字幕資料。 當旗標設為 false (預設值) 時,編碼器會偵測 CEA 708 資料並將其重新插入至輸出視訊串流。
VideoStream VideoStream Optional. 描述輸入視訊串流。 如果未指定此欄位,則會使用預設值。 輸入串流通訊協定設為 RTP (MPEG-TS) 時,才允許這項設定。
AudioStreams AudioStreams Optional. 描述輸入音訊串流。 如果未指定此欄位,則會套用預設值。 輸入串流通訊協定設為 RTP (MPEG-TS) 時,才允許這項設定。
SystemPreset Edm.String 指定預設用於這個通道的編碼器。 目前唯一支援的值為 Default720p (預設值)。

如需詳細資訊,請參閱 SystemPreset

SystemPreset

Default720p 指定將視訊編碼為下列 6 層。

位元速率 寬度 高度 MaxFPS 設定檔 輸出串流名稱
3500 1280 720 30 Video_1280x720_3500kbps
2200 960 540 30 Video_960x540_2200kbps
1350 704 396 30 Video_704x396_1350kbps
850 512 288 30 Video_512x288_850kbps
550 384 216 30 Video_384x216_550kbps
200 340 192 30 Video_340x192_200kbps

音訊編碼為 64 kbps 的立體聲 AAC-LC,取樣率為 44.1 kHz。

如需此類型及其屬性的詳細資訊,請參閱 啟用即時編碼的通道概觀

VideoStream

描述輸入視訊串流。 如果未指定此欄位,則會使用預設值。 輸入串流通訊協定設為 RTP (MPEG-TS) 時,才允許這項設定。

名稱 類型 Description
Index Edm.Int1 以零起始的索引,會指定通道內的即時編碼器應處理哪一個輸入視訊串流。 只有當內嵌串流通訊協定是 RTP (MPEG-TS) 時才適用此設定。

預設值為零。 建議您傳送單一程式傳輸串流 (SPTS)。 如果輸入串流包含多個程式,即時編碼器會剖析輸入中的程式對應資料表 (PMT)、識別具有串流類型名稱 MPEG-2 視訊或 H.264 的輸入,並以 PMT 中指定的順序加以排列。 接著會使用以零起始的索引,在排列中挑選第 n 個項目。
Name Edm.String Optional. 此輸入視訊資料流程的描述性標記。

如需此類型及其屬性的詳細資訊,請參閱 啟用即時編碼的通道概觀

AudioStreams

描述輸入音訊串流。 如果未指定此欄位,則會套用預設值。 輸入串流通訊協定設為 RTP (MPEG-TS) 時,才允許這項設定。

名稱 類型 Description
Index Edm.Int16 建議您傳送單一程式傳輸串流 (SPTS)。 如果輸入串流包含多個程式,通道內的即時編碼器會剖析輸入中的程式對應資料表 (PMT)、識別具有串流類型名稱 MPEG-2 AAC ADTS 或 AC-3 System-A 或 AC-3 System-B 或 MPEG-2 Private PES 或 MPEG-1 音訊或 MPEG-2 音訊的輸入,並以 PMT 中指定的順序加以排列。 接著會使用以零起始的索引,在排列中挑選第 n 個項目。
Name Edm.String Optional. 這個輸入音訊資料流程的描述性標記。
Language Edm.String Optional. 音訊串流的語言識別碼,符合 ISO 639-2,例如 ENG。 如果不存在,則預設為 UND (未定義)。

如果通道的輸入是透過 RTP 的 MPEG-2,則可指定高達 8 個音訊串流集。 不過,不會有具備相同索引值的兩個項目。

如果編碼器的輸入是透過 RTP 的 MPEG-2 TS,則可以指定多達 8 個 {索引、名稱、語言} 集。 不過,不會有具備相同索引值的兩個項目。 如果編碼器的輸入是 RTMP 或 HTTP (Smooth Streaming),則輸入中只能有一個音訊串流。

平板

只有在通道 的 設定為 StandardEncoding Type ,才支援此設定。

通道內的即時編碼器會收到切換至 slate 映像的信號。 它也會收到結束進行中 slate 的信號。

即時編碼器可以設定成在某些情況下切換成 slate 映像,並且遮罩連入的視訊信號 – 例如在廣告插播期間。 如果未設定此 slate,就不會在廣告插播期間遮罩處理輸入視訊。

名稱 類型 Description
InsertSlateOnAdMarker Edm.Bool 設為 True 時,此設定可將即時編碼器設定為在廣告插播期間插入 slate 映像。 預設值為 true。
DefaultSlateAssetId Edm.String Optional. 指定包含平板影像之媒體服務資產的資產識別碼。 預設為 Null。

建立通道之前,應該上傳 slate 映像 (最大解析度 1920 x 1080、JPEG 格式、大小上限 3 Mb) 做為專用的資產 (此資產中應該沒有其他檔案)。 檔案名稱應該具有 *.jpg 副檔名,而且此 AssetFile 應該標示為資產的主要檔案。 此資產無法加密儲存體。

如果未指定預設的平板資產識別碼,且在廣告標記上插入 slate 設定為 true,則會使用預設的 Azure 媒體服務影像來遮罩輸入資料流程。

如需此類型及其屬性的詳細資訊,請參閱 啟用即時編碼的通道概觀

建立通道

通道可以使用 POST HTTP 要求及指定屬性值來建立。

方法 要求 URI HTTP 版本
POST HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/Channels > HTTP/1.1

範例要求

您可以在 Fiddler的 [編輯器] 索引標籤中試用下列範例。

若要取得最新的 x-ms-version: ,請參閱 媒體服務 REST

要求標頭:

POST https://testrest.cloudapp.net/api/Channels 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":"testchannel001",     
   "Description":"",  
   "EncoderType":"Standard",  
   "Created":"0001-01-01T00:00:00",  
   "LastModified":"0001-01-01T00:00:00",  
   "State":null,  
   "Input":  
   {  
      "StreamingProtocol":"RTPMPEG2TS",  
      "AccessControl":  
      {  
         "IP":  
         {  
         "Allow":  
            [  
               {  
                  "Name":"testName1",  
                  "Address":"1.1.1.1",  
                  "SubnetPrefixLength":24  
               }  
            ]  
         }  
      },  
      "Endpoints":[]  
   },  
   "Encoding":  
   {  
      "SystemPreset":"Default720p",  
      "IgnoreCea708ClosedCaptions": false,  
      "AdMarkerSource": "Api",
      "VideoStream":  
      {  
         "Index":1,  
         "Name":"Video stream"  
      },  
      "AudioStreams":  
      [  
         {  
            "Index":0,  
            "Name":"English audio stream",  
            "Language":"ENG"  
         },  
         {  
            "Index":1,  
            "Name":"Spanish audio stream",  
            "Language":"SPA"  
         }  
      ]  
   },  
   "EncodingType": "Standard",  
   "Slate":  
   {  
      "InsertOnAdMarker":true,  
      "DefaultSlateAssetId": "nb:cid:UUID:01234567-0123-0123-0123-01234567"  
   },  
   "Preview":  
   {  
      "AccessControl":  
      {  
         "IP":  
         {  
            "Allow":  
            [  
               {  
                  "Name":"testName1",  
                  "Address":"1.1.1.1",  
                  "SubnetPrefixLength":24  
               }  
            ]  
         }  
      },  
      "Endpoints":[]  
   }  
}  
  

下列要求本文示範如何在未啟用即時編碼的帳戶中建立通道。

{  
"Id":null,  
"Name":"testchannel001",  
"Description":"",  
"Created":"0001-01-01T00:00:00",  
"LastModified":"0001-01-01T00:00:00",  
"State":null,  
"Input":  
   {  
   "KeyFrameInterval":null,  
   "StreamingProtocol":"FragmentedMP4",  
   "AccessControl":  
      {  
         "IP":  
         {  
            "Allow":[{"Name":"testName1","Address":"1.1.1.1","SubnetPrefixLength":24}]  
         }  
      },  
   "Endpoints":[]  
   },  
"Preview":  
   {  
   "AccessControl":  
      {  
         "IP":  
         {  
            "Allow":[{"Name":"testName1","Address":"1.1.1.1","SubnetPrefixLength":24}]  
         }  
      },  
      "Endpoints":[]  
   },  
"Output":  
   {  
   "Hls":  
      {  
         "FragmentsPerSegment":1  
      }  
   },  
"CrossSiteAccessPolicies":  
   {  
      "ClientAccessPolicy":null,  
      "CrossDomainPolicy":null  
   }  
}  

如果成功,會在回應本文中傳回 202 已接受狀態代碼以及已建立實體的表示式。

202 已接受狀態代碼表示非同步作業,其中作業識別碼標頭值也會提供以用做輪詢及追蹤長時間執行作業的狀態,例如啟動或停止通道。 將作業 ID 標頭值傳至作業實體以擷取狀態。 如需詳細資訊,請參閱 手動輪詢 Long-Running 作業

啟動通道

方法 要求 URI HTTP 版本
POST HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/Channels ('channelid > ') /Start HTTP/1.1

範例要求

您可以在 Fiddler的 [編輯器] 索引標籤中試用下列範例。

若要取得最新的 x-ms-version: ,請參閱 媒體服務 REST

要求標頭:

POST https://testrest.cloudapp.net/api/Channels('nb:chid:UUID:2c30f424-ab90-40c6-ba41-52a993e9d393')/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 標頭值傳至作業實體以擷取狀態。 如需詳細資訊,請參閱 手動輪詢 Long-Running 作業

停止通道

只有在通道處於 [執行中] 狀態下,且通道上的所有程式皆停止後,才能停止通道。

方法 要求 URI HTTP 版本
POST HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/Channels ('channelid > ') /Stop HTTP/1.1

範例要求

您可以在 Fiddler的 [編輯器] 索引標籤中試用下列範例。

若要取得最新的 x-ms-version: ,請參閱 媒體服務 REST

要求標頭:

POST https://testrest.cloudapp.net/api/Channels('nb:chid:UUID:2c30f424-ab90-40c6-ba41-52a993e9d393')/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 標頭值傳至作業實體以擷取狀態。 如需詳細資訊,請參閱 手動輪詢 Long-Running 作業

列出通道

通道可以使用 GET HTTP 要求來擷取。

方法 要求 URI HTTP 版本
GET 取得所有通道:

HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/Channels >

取得指定的通道。

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

範例要求

您可以在 Fiddler的 [編輯器] 索引標籤中試用下列範例。

若要取得最新的 x-ms-version: ,請參閱 媒體服務 REST

要求標頭:

GET https://testrest.cloudapp.net/api/Channels 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 狀態碼,以及媒體服務帳戶中建立的所有通道清單。

重設通道

重設在串流即時展示檔期間維持的執行階段通道狀態,並允許在展示檔重設或編碼程式重新設定時重複使用通道。 在呼叫「重設」之前停止所有程式。 您可以在處於執行中狀態的通道上呼叫「重設」。

方法 要求 URI HTTP 版本
POST HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/Channels ('channelid > ') /Reset HTTP/1.1

範例要求

您可以在 Fiddler的 [編輯器] 索引標籤中試用下列範例。

若要取得最新的 x-ms-version: ,請參閱 媒體服務 REST

要求標頭:

POST https://testrest.cloudapp.net/api/Channels('nb:chid:UUID:2c30f424-ab90-40c6-ba41-52a993e9d393')/Reset 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 標頭值傳至作業實體以擷取狀態。 如需詳細資訊,請參閱 手動輪詢 Long-Running 作業

更新通道

更新現有通道的屬性。 通道必須處於 [已停止] 狀態。

方法 要求 URI HTTP 版本
PATCH/PUT/MERGE

如需這些作業的詳細資訊,請參閱 PATCH/PUT/MERGE
HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/Channels ('channelid > ') HTTP/1.1

範例要求

您可以在 Fiddler的 [編輯器] 索引標籤中試用下列範例。

若要取得最新的 x-ms-version: ,請參閱 媒體服務 REST

要求標頭:

PATCH https://testrest.cloudapp.net/api/Channels('nb:chid:UUID:2c30f424-ab90-40c6-ba41-52a993e9d393') 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>  
  

要求本文:

"Encoding":{"IgnoreCea708ClosedCaptions": true}  

如果更新同步完成,會傳回 204 無內容狀態碼,否則會傳回 202 已接受狀態碼。 202 已接受狀態代碼表示非同步作業,其中作業識別碼標頭值也會提供以用做輪詢及追蹤長時間執行作業的狀態,例如啟動或停止通道。 將作業 ID 標頭值傳至作業實體以擷取狀態。 如需詳細資訊,請參閱 手動輪詢 Long-Running 作業

開始公告

即時編碼器可以使用 POST HTTP 要求來啟動廣告或商業中斷,並在要求主體的 StartAdvertisement Entity 實體 中指定 的 屬性值。

方法 要求 URI HTTP 版本
POST HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/Channels ('channeled > ') /StartAdvertisement HTTP/1.1

如需詳細資訊,請參閱 啟用即時編碼的通道概觀

StartAdvertisement 實體

此實體代表廣告 API 的開始 – 它是對即時編碼器的非同步呼叫,可在輸出串流中插入廣告或廣告插播。

如需詳細資訊,請參閱 啟用即時編碼的通道概觀

名稱 類型 Description
duration Edm.Duration 廣告插播的持續時間,以秒為單位。 必須為非零的正整數值才能開始廣告插播。 當廣告插播正在進行中,持續時間設為零,且 CueId 符合正在進行的廣告插播,則會取消插播。
cueId Edm.Int 廣告插播的唯一識別碼,可供下游應用程式用來採取適當動作。 必須是正整數。
showSlate Edm.Bool Optional. 表示通道內的即時編碼器必須在廣告插播期間切換到預設的 slate 映像 (並遮罩連入的視訊摘要)。 預設值為 false。

使用的映射將會是通道建立時,透過預設的平板資產識別碼屬性所指定的映射。

範例要求

您可以在 Fiddler的 [編輯器] 索引標籤中試用下列範例。

若要取得最新的 x-ms-version: ,請參閱 媒體服務 REST

要求標頭:

POST https://testrest.cloudapp.net/api/Channels('nb:chid:UUID:2c30f424-ab90-40c6-ba41-52a993e9d393')/StartAdvertisement 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>  
  

主體

{  
   "duration":"PT45S",  
   "cueId":"67520935",  
   "showSlate":"true"  
}  
  

如果成功,會傳回 202 已接受狀態代碼。

結束廣告

即時編碼器可以接收信號,以使用 POST HTTP 要求結束進行中的廣告或廣告插播。

方法 要求 URI HTTP 版本
POST HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/Channels ('channeled > ') /EndAdvertisement HTTP/1.1

只有在廣告進行中時,才會叫用此呼叫。

如需詳細資訊,請參閱 啟用即時編碼的通道概觀

範例要求

您可以在 Fiddler的 [編輯器] 索引標籤中試用下列範例。

若要取得最新的 x-ms-version: ,請參閱 媒體服務 REST

要求標頭:

POST https://testrest.cloudapp.net/api/Channels('nb:chid:UUID:2c30f424-ab90-40c6-ba41-52a993e9d393')/EndAdvertisement 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 已接受狀態代碼。

顯示 Slate

表示通道內的即時編碼器必須在廣告插播期間切換到預設的 slate 映像 (並遮罩連入的視訊摘要)。 預設值為 false。 使用的映射將會是通道建立時,透過預設的平板資產識別碼屬性所指定的映射。

在 HTTP 要求主體中使用 ShowSlate 實體 的屬性。

方法 要求 URI HTTP 版本
POST HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/Channels ('channeled > ') /ShowSlate HTTP/1.1

如需詳細資訊,請參閱 啟用即時編碼的通道概觀

ShowSlate 實體

如需詳細資訊,請參閱 啟用即時編碼的通道概觀

名稱 類型 Description
duration Edm.Duration slate 的持續時間,以秒為單位。 必須為非零的正整數值才能開始 slate。 如果有進行中的 slate,且已指定持續時間為零時,將會終止該進行中的 slate。
assetId Edm.String 指定包含平板影像之媒體服務資產的資產識別碼。

建立通道之前,應該上傳 slate 映像 (解析度 1920 x 1080、JPEG 格式、大小上限 3 Mb) 做為專用的資產 (此資產中應該沒有其他檔案)。

編碼器可以接收信號,以切換到任意 slate 映像 (而不只是在建立通道時透過 DefaultSlateAssetId 屬性所指定的映像)。

如果已指定 DefaultSlateAssetId 屬性,且未指定 AssetId,則 DefaultSlateAssetId 映像將用來遮罩輸入串流。 如需詳細資訊,請參閱 Slate

範例要求

您可以在 Fiddler的 [編輯器] 索引標籤中試用下列範例。

若要取得最新的 x-ms-version: ,請參閱 媒體服務 REST

要求標頭:

POST https://testrest.cloudapp.net/api/Channels('nb:chid:UUID:2c30f424-ab90-40c6-ba41-52a993e9d393')/ShowSlate 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>  
  

主體

{  
   "duration":"PT45S",  
   "assetId":"nb:cid:UUID:01234567-ABCD-ABCD-EFEF-01234567"  
}  
  

如果成功,會傳回 202 已接受狀態代碼。

隱藏 Slate

即時編碼器可以接收信號,以使用 POST HTTP 要求結束進行中的 slate。

方法 要求 URI HTTP 版本
POST HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/Channels ('channelid > ') /HideSlate HTTP/1.1

只有在 slate 進行中時,才會叫用此呼叫。

如需詳細資訊,請參閱 啟用即時編碼的通道概觀

範例要求

您可以在 Fiddler的 [編輯器] 索引標籤中試用下列範例。

若要取得最新的 x-ms-version: ,請參閱 媒體服務 REST

要求標頭:

POST https://testrest.cloudapp.net/api/Channels('nb:chid:UUID:2c30f424-ab90-40c6-ba41-52a993e9d393')/HideSlate 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 標頭值傳至作業實體以擷取狀態。 如需詳細資訊,請參閱 手動輪詢 Long-Running 作業

刪除通道

刪除通道。

方法 要求 URI HTTP 版本
刪除 HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/Channels ('channelid > ') HTTP/1.1

範例要求

您可以在 Fiddler的 [編輯器] 索引標籤中試用下列範例。

若要取得最新的 x-ms-version: ,請參閱 媒體服務 REST

要求標頭:

DELETE https://testrest.cloudapp.net/api/Channels('nb:chid:UUID:2c30f424-ab90-40c6-ba41-52a993e9d393') 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 標頭值傳至作業實體以擷取狀態。 如需詳細資訊,請參閱 手動輪詢 Long-Running 作業

另請參閱

利用 Azure 媒體服務提供即時資料流
程式