Udostępnij za pośrednictwem


Kanał

W usłudze Azure Media Services (AMS) jednostka Kanał reprezentuje potok przetwarzania zawartości transmisji strumieniowej na żywo. Kanał odbiera strumienie wejściowe na żywo na jeden z dwóch sposobów:

  • Lokalny koder na żywo wysyła do kanału wiele bitów RTMP lub Smooth Streaming (fragmentowany plik MP4). Można użyć następujących koderów na żywo, które wysyłają pliki Smooth Streaming o różnych szybkościach transmisji bitów: MediaExcel, Imagine Communications, Ateme, Envivio, Cisco i Elemental. Następujące kodery na żywo wysyłają pliki RTMP: Adobe Flash Live Encoder, Haivision, Telestream Wirecast, Teradek i Tricaster. Pozyskane strumienie przechodzą przez kanały bez dalszego przetwarzania. Po odebraniu żądania usługa Media Services dostarcza strumień do klientów.

  • Do usługi Media Services jest wysyłany Channel pojedynczy strumień o szybkości transmisji bitów (w jednym z następujących formatów: RTP MPEG-TS), RTMPlub Smooth Streaming (fragmentowany MP4)). Następnie Channel wykonuje kodowanie na żywo przychodzącego strumienia o pojedynczej szybkości transmisji bitów do strumienia wideo o wielu szybkościach transmisji bitów (adaptacyjnej). Po odebraniu żądania usługa Media Services dostarcza strumień do klientów.

Począwszy od wersji Media Services 2.10, podczas tworzenia kanału możesz określić, w jaki sposób chcesz, aby kanał odbierał strumień wejściowy i czy chcesz, aby kanał wykonywał kodowanie na żywo strumienia. Dostępne są dwie opcje:

  • None — Określ tę wartość, jeśli planujesz użyć lokalnego kodera na żywo, który będzie wyprowadzać strumień o wielu szybkościach transmisji bitów. W takim przypadku strumień przychodzący przekazywany do danych wyjściowych bez kodowania. Jest to zachowanie kanału przed wydaniem wersji 2.10. Aby uzyskać bardziej szczegółowe informacje na temat pracy z kanałami tego typu, zobacz Praca z kanałami, które odbierają strumień na żywo o wielu szybkościach transmisji bitów z koderów lokalnych.

  • Standard — Jeśli planujesz zakodować strumień na żywo o pojedynczej szybkości transmisji bitów za pomocą usługi Media Services, wybierz tę wartość.

    Uwaga

    Należy pamiętać, że istnieje wpływ rozliczeń na kodowanie na żywo i należy pamiętać, że pozostawienie kanału kodowania na żywo w stanie "Uruchomione" spowoduje naliczanie opłat za rozliczenia. Zaleca się natychmiastowe zatrzymanie uruchomionych kanałów po zakończeniu wydarzenia transmisji strumieniowej na żywo, aby uniknąć dodatkowych opłat godzinowych. Aby uzyskać więcej informacji, zobacz temat Praca z kanałami obsługującymi funkcję Live Encoding w usłudze Azure Media Services.

Aby uzyskać więcej informacji na temat transmisji strumieniowej na żywo i zarządzania kanałami, zobacz Dostarczanie transmisji strumieniowej na żywo za pomocą usługi Azure Media Services.

Ważne

Podczas uzyskiwania dostępu do jednostek w usłudze Media Services należy ustawić określone pola nagłówka i wartości w żądaniach HTTP.
Aby uzyskać więcej informacji, zobacz Konfigurowanie tworzenia interfejsu API REST usługi Media Services i nawiązywanie połączenia z usługą Media Services przy użyciu interfejsu API REST usługi Media Services.

Ten temat zawiera omówienie Channel jednostki, a także pokazuje, jak wykonywać różne operacje za pomocą interfejsu API REST usługi Media Services.

Jednostka kanału

Jednostka Channel zawiera następujące właściwości.

Właściwość Typ Opis
Id

Tylko do odczytu. Ustaw przez usługę Media Services.
Edm.String Identyfikator kanału przypisany podczas tworzenia. Format to:

nb:chid:UUID:<GUID>.
Name Edm.String Nazwa kanału.

1. Musi być unikatowa na koncie usługi Media Services.
2. Maksymalna długość = 32 znaki.
3. Nie można zawierać spacji.
4. Łączniki i znaki alfanumeryczne.
5. Nie można rozpocząć ani zakończyć łącznikiem.
Created

Tylko do odczytu. Ustaw przez usługę Media Services.
Edm.DateTime Wartość daty/godziny UTC wskazująca godzinę utworzenia.
Description Edm.String Opis podany przez użytkownika. Maksymalna długość to 256 znaków.
LastModified

Tylko do odczytu. Ustaw przez usługę Media Services.
Edm.DateTime Data i godzina ostatniej aktualizacji kanału.
State

Tylko do odczytu. Ustaw przez usługę Media Services.
Edm.String Bieżący stan kanału. Możliwe wartości to:

-Zatrzymany. Jest to początkowy stan kanału po jego utworzeniu. W tym stanie właściwości kanału można zaktualizować, ale przesyłanie strumieniowe nie jest dozwolone.
-Zaczynając. Kanał jest uruchamiany. W tym stanie nie są dozwolone żadne aktualizacje ani przesyłanie strumieniowe. Jeśli wystąpi błąd, kanał powróci do stanu Zatrzymany .
-Uruchomiona. Kanał może przetwarzać strumienie na żywo.
-Zatrzymanie. Kanał jest zatrzymywany. W tym stanie nie są dozwolone żadne aktualizacje ani przesyłanie strumieniowe.
-Usuwanie. Kanał jest usuwany. W tym stanie nie są dozwolone żadne aktualizacje ani przesyłanie strumieniowe.
Input ChannelInput ComplexType Ustawienia danych wejściowych (pozyskiwania) kanału.
Output ChannelOutput ComplexType Ustawienia danych wyjściowych kanału.
Preview Typ złożony channelPreview Ustawienia podglądu kanału.
CrossSiteAccessPolicies CrossSiteAccessPolicies Zasady dostępu między witrynami.
Programs

Tylko do odczytu. Ustaw przez usługę Media Services.
Kolekcja programóws. Odwołanie do kolekcji programów skojarzonych z kanałem.
EncodingType Edm.String Optional. Opisuje konfigurację kanału. Dozwolone wartości to:

- None — Jest to wartość domyślna. Po wybraniu tej wartości strumień przychodzący przekazywany do danych wyjściowych bez żadnego kodowania (jest to zachowanie kanału przed wydaniem wersji 2.10).
- Standard — Przychodzący strumień o pojedynczej szybkości transmisji bitów jest wysyłany do kanału i transkodowany do strumienia o wielu szybkościach transmisji bitów przy użyciu ustawień wstępnych systemu
Encoding Kodowanie typu złożonego Ustawienia kodera na żywo platformy Azure.
Slate Łupek To ustawienie jest obsługiwane tylko wtedy, gdy Encoding Type dla kanału ustawiono wartość Standard.

Koder na żywo w kanale można zasygnalizować, aby przełączyć się na obraz łupka. Można również zasygnalizować zakończenie trwającego łupka.

Koder na żywo można skonfigurować tak, aby przełączyć się na obraz łupkowy i zamaskować przychodzący sygnał wideo w pewnych sytuacjach — na przykład podczas przerwy reklamowej. Jeśli taki łupek nie jest skonfigurowany, wejściowe wideo nie jest maskowane podczas tej przerwy reklamowej.

ChannelInput ComplexType

Nazwa Typ Opis
KeyFrameInterval Edm.Time Ta wartość jest ignorowana, jeśli EncoderType jest ustawiona na Standardwartość .

W przypadku używania lokalnego kodera na żywo do generowania strumienia o wielu szybkościach transmisji bitów interwał ramki klucza określa czas trwania protokołu GOP (używany przez ten koder zewnętrzny). Po odebraniu tego strumienia przychodzącego przez kanał możesz dostarczyć strumień na żywo do aplikacji odtwarzania klientów w dowolnym z następujących formatów: Smooth Streaming, DASH i HLS. Podczas transmisji strumieniowej na żywo usługa HLS jest zawsze pakowana dynamicznie. Domyślnie usługa Media Services automatycznie oblicza współczynnik pakowania segmentu HLS (fragmenty na segment) na podstawie interwału klatek kluczowych, nazywanych również grupą obrazów — GOP odbieraną z kodera na żywo.
StreamingProtocol

Tylko do odczytu.
Edm.String Po ustawieniu typu kodera można ustawić protokół pozyskiwania.

Jeśli ustawiono Encoder TypeNonewartość , prawidłowe opcje to:

- Pofragmentowana szybkość transmisji bitów MP4 (Smooth Streaming)
- RtMP o wielu szybkościach transmisji bitów

Encoder Type Jeśli ustawiono wartość None, jest ona prawidłowa, ale niepożądane, dla pojedynczej szybkości transmisji bitów RTMP lub Smooth Streaming transmisji strumieniowej na żywo do wysłania. Kanał nie wykonuje żadnego przetwarzania za pomocą strumienia, więc będzie przekazywany, ale aplikacje klienckie otrzymają strumień o pojedynczej szybkości transmisji bitów.

Jeśli ustawiono Encoder TypeStandardwartość , prawidłowe opcje to:

1. Pojedyncza szybkość transmisji bitów pofragmentowana MP4 (Smooth Streaming)
2. Pojedyncza szybkość transmisji bitów RTMP
3. RTP (MPEG-TS): MPEG-2 Transport Stream over RTP.3.
AccessControl ChannelInputAccessControl ComplexType Ustawienia kontroli dostępu wejściowego kanału.
Endpoints

Tylko do odczytu.
Typ złożony punktu końcowego kanału Punkty końcowe danych wejściowych kanału.

Kanał udostępnia wejściowe punkty końcowe (adresy URL pozyskiwania), których następnie używasz do pozyskiwania strumienia na żywo. Kanał odbiera strumienie wejściowe na żywo i udostępnia strumienie wyjściowe do przesyłania strumieniowego za pośrednictwem co najmniej jednego punktu końcowego przesyłania strumieniowego.

Typ złożony channelPreview

Aby uzyskać bardziej szczegółowe informacje o tym typie i jego właściwościach, zobacz Omówienie kanałów, które są włączone dla kodowania na żywo.

Nazwa Typ Opis
AccessControl ChannelPreviewAccessControl ComplexType Ustawienia kontroli dostępu w wersji zapoznawczej kanału.
Endpoints

Tylko do odczytu.
Typ złożony punktu końcowego kanału Punkty końcowe podglądu kanału.

ChannelInputAccessControl ComplexType

Nazwa Typ Opis
IP IPAccessControl Adresy IP, które mogą łączyć się z punktami końcowymi wejściowymi kanału.
Adresy IP muszą być w jednym z następujących formatów: Adres IPV4 z 4 liczbami, zakres adresów CIDR.

ChannelPreviewAccessControl ComplexType

Aby uzyskać bardziej szczegółowe informacje o tym typie i jego właściwościach, zobacz Omówienie kanałów, które są włączone dla kodowania na żywo.

Nazwa Typ Opis
IP IPAccessControl Adresy IP, które mogą łączyć się z punktami końcowymi wejściowymi kanału.
Adresy IP muszą być w jednym z następujących formatów: Adres IPV4 z 4 liczbami, zakres adresów CIDR

IPAccessControl

Aby uzyskać bardziej szczegółowe informacje o tym typie i jego właściwościach, zobacz Omówienie kanałów, które są włączone dla kodowania na żywo.

Nazwa Typ Opis
Zezwalaj IPRange ComplexType Adresy IP, które mogą łączyć się z punktami końcowymi wejściowymi kanału. Uwaga: Ustawienie tej wartości na wartość null umożliwia nawiązywanie połączenia ze wszystkimi adresami źródłowymi IP. Ustawienie go na pusty ciąg ("") nie pozwala nikomu nawiązać połączenia.

IPRange ComplexType

Aby uzyskać bardziej szczegółowe informacje o tym typie i jego właściwościach, zobacz Omówienie kanałów, które są włączone dla kodowania na żywo.

Nazwa Typ Opis
Name Edm.String Przyjazna nazwa tego zakresu adresów IP.
Address Edm.String Podstawowy adres IP reprezentacji podsieci (na przykład:192.168.0.1).
SubnetPrefixLength Edm.Int32 Liczba znaczących bitów maski podsieci (na przykład w następującym adresie IP 192.168.0.1/24, 24 reprezentuje liczbę znaczących bitów).

Typ złożony punktu końcowego kanału

Nazwa Typ Opis
Protocol Edm.String Protokół punktu końcowego przesyłania strumieniowego kanału.
Url Edm.String Adres URL punktu końcowego przesyłania strumieniowego kanału.

ChannelOutput ComplexType

Aby uzyskać bardziej szczegółowe informacje o tym typie i jego właściwościach, zobacz Omówienie kanałów, które są włączone dla kodowania na żywo

Nazwa Typ Opis
Hls ChannelOutputHls ComplexType Ustawienia specyficzne dla protokołu HLS.

ChannelOutputHls ComplexType

Aby uzyskać bardziej szczegółowe informacje o tym typie i jego właściwościach, zobacz Omówienie kanałów, które są włączone na potrzeby kodowania na żywo.

Nazwa Typ Opis
FragmentsPerSegment Edm.Int16 Ilość fragmentów na segment HTTP Live Streaming (HLS).

Kodowanie typu złożonego

Aby uzyskać bardziej szczegółowe informacje o tym typie i jego właściwościach, zobacz Omówienie kanałów, które są włączone na potrzeby kodowania na żywo.

Nazwa Typ Opis
AdMarkerSource Edm.String Możesz określić źródło sygnałów znaczników reklamy. Wartość domyślna to Api, która wskazuje, że koder na żywo w kanale powinien nasłuchiwać asynchronicznego Ad Marker API. Inną prawidłową opcją jest Scte35 (dozwolona tylko wtedy, gdy protokół przesyłania strumieniowego pozyskiwania jest ustawiony na RTP (MPEG-TS).Scte35 Wartość Po określeniu, koder przeanalizuje SCTE-35 sygnały z wejściowego strumienia RTP (MPEG-TS).
IgnoreCea708ClosedCaptions Edm.bool Optional. Opcjonalna flaga, która nakazuje koderowi na żywo ignorowanie wszystkich danych podpisów CEA 708 osadzonych w przychodzącym filmie wideo. Gdy flaga ma wartość false (wartość domyślna), koder wykryje i ponownie wstawi dane CEA 708 do wyjściowych strumieni wideo.
VideoStream VideoStream Optional. Opisuje wejściowy strumień wideo. Jeśli to pole nie zostanie określone, zostanie użyta wartość domyślna. To ustawienie jest dozwolone tylko wtedy, gdy dla protokołu przesyłania strumieniowego danych wejściowych ustawiono protokół RTP (MPEG-TS).
AudioStreams Strumienie audio Optional. Opisuje wejściowe strumienie audio. Jeśli to pole nie zostanie określone, zostaną zastosowane określone wartości domyślne. To ustawienie jest dozwolone tylko wtedy, gdy dla protokołu przesyłania strumieniowego danych wejściowych ustawiono protokół RTP (MPEG-TS).
SystemPreset Edm.String Określa ustawienie wstępne kodera, które ma być używane dla tego kanału. Obecnie jedyną dozwoloną wartością jest Default720p (wartość domyślna).

Aby uzyskać więcej informacji, zobacz SystemPreset

SystemPreset

Default720p określa kodowanie wideo do następujących 6 warstw.

Bitrate Width Height MaxFPS Profil Nazwa strumienia wyjściowego
3500 1280 720 30 Wys. Video_1280x720_3500kbps
2200 960 540 30 Wys. Video_960x540_2200kbps
1350 704 396 30 Wys. Video_704x396_1350kbps
850 512 288 30 Wys. Video_512x288_850kbps
550 384 216 30 Wys. Video_384x216_550kbps
200 340 192 30 Wys. Video_340x192_200kbps

Dźwięk jest zakodowany w stereo AAC-LC z szybkością próbkowania wynoszącą 44,1 kHz.

Aby uzyskać bardziej szczegółowe informacje o tym typie i jego właściwościach, zobacz Omówienie kanałów, które są włączone na potrzeby kodowania na żywo.

VideoStream

Opisuje wejściowy strumień wideo. Jeśli to pole nie zostanie określone, zostanie użyta wartość domyślna. To ustawienie jest dozwolone tylko wtedy, gdy dla protokołu przesyłania strumieniowego danych wejściowych ustawiono protokół RTP (MPEG-TS).

Nazwa Typ Opis
Index Edm.Int1 Indeks oparty na zerze określający, który wejściowy strumień wideo powinien być przetwarzany przez koder na żywo w kanale. To ustawienie ma zastosowanie tylko wtedy, gdy protokół przesyłania strumieniowego pozyskiwania to RTP (MPEG-TS).

Wartość domyślna to zero. Zaleca się wysyłanie w jednym programie strumienia transportu (SPTS). Jeśli strumień wejściowy zawiera wiele programów, koder na żywo analizuje tabelę mapy programu (PMT) w danych wejściowych, identyfikuje dane wejściowe, które mają nazwę typu strumienia MPEG-2 Video lub H.264 i rozmieszcza je w kolejności określonej w PMT. Indeks oparty na zerze jest następnie używany do pobrania n-ty wpisu w tym układzie.
Name Edm.String Optional. Tag opisowy dla tego wejściowego strumienia wideo.

Aby uzyskać bardziej szczegółowe informacje o tym typie i jego właściwościach, zobacz Omówienie kanałów, które są włączone na potrzeby kodowania na żywo.

Strumienie audio

Opisuje wejściowe strumienie audio. Jeśli to pole nie zostanie określone, zostaną zastosowane wartości domyślne. To ustawienie jest dozwolone tylko wtedy, gdy protokół przesyłania strumieniowego danych wejściowych ma wartość RTP (MPEG-TS).

Nazwa Typ Opis
Index Edm.Int16 Zaleca się wysyłanie w jednym programie strumienia transportu (SPTS). Jeśli strumień wejściowy zawiera wiele programów, koder na żywo w kanale analizuje tabelę mapowania programu (PMT) w danych wejściowych, identyfikuje dane wejściowe, które mają nazwę typu strumienia MPEG-2 AAC ADTS lub AC-3 System-A lub AC-3 System-B lub MPEG-2 Private PES lub MPEG-1 Audio lub MPEG-2 Audio, i rozmieszcza je w kolejności określonej w PMT. Indeks oparty na zerach jest następnie używany do odbioru n-th wpisu w tym układzie.
Name Edm.String Optional. Opisowy tag dla tego wejściowego strumienia audio.
Language Edm.String Optional. Identyfikator języka strumienia audio zgodny z normą ISO 639-2, taką jak ENG. Jeśli nie istnieje, wartość domyślna to UND (niezdefiniowana).

Jeśli wejście do kanału to MPEG-2 TS za pośrednictwem protokołu RTP, może istnieć maksymalnie 8 zestawów strumieni audio. Nie ma jednak dwóch wpisów o tej samej wartości indeksu.

Może istnieć maksymalnie 8 zestawów {Index, Name, Language} określonych, jeśli dane wejściowe do kodera to MPEG-2 TS over RTP. Nie ma jednak dwóch wpisów o tej samej wartości indeksu. Jeśli dane wejściowe do kodera to RTMP lub HTTP (Smooth Streaming), w danych wejściowych może znajdować się tylko jeden strumień audio.

Łupek

To ustawienie jest obsługiwane tylko wtedy, gdy Encoding Type dla kanału ustawiono wartość Standard.

Koder na żywo w kanale można zasygnalizować, aby przełączyć się na obraz łupka. Można również zasygnalizować zakończenie trwającego łupka.

Koder na żywo można skonfigurować tak, aby przełączyć się na obraz łupkowy i zamaskować przychodzący sygnał wideo w pewnych sytuacjach — na przykład podczas przerwy reklamowej. Jeśli taki łupek nie jest skonfigurowany, wejściowe wideo nie jest maskowane podczas tej przerwy reklamowej.

Nazwa Typ Opis
InsertSlateOnAdMarker Edm.Bool Po ustawieniu wartości True to ustawienie konfiguruje koder na żywo, aby wstawić obraz łupka podczas przerwy w reklamie. Wartością domyślną jest true.
DefaultSlateAssetId Edm.String Optional. Określa identyfikator zasobu usługi Media Services, który zawiera obraz łupka. Wartość domyślna to null.

Przed utworzeniem kanału obraz łupkowy o maksymalnej rozdzielczości 1920x1080 w formacie JPEG i rozmiarze co najwyżej 3 Mb/s należy przekazać jako dedykowany zasób (żadne inne pliki nie powinny znajdować się w tym zasobie). Nazwa pliku powinna mieć rozszerzenie *.jpg, a ten plik AssetFile powinien być oznaczony jako plik podstawowy dla tego zasobu. Nie można zaszyfrować tego zasobu.

Jeśli nie określono domyślnego identyfikatora zasobu łupka, a wstawianie łupka na znaczniku reklamy ma wartość true, domyślny obraz usługi Azure Media Services będzie używany do maskowania strumienia wejściowego.

Aby uzyskać bardziej szczegółowe informacje o tym typie i jego właściwościach, zobacz Omówienie kanałów, które są włączone dla kodowania na żywo.

Tworzenie kanałów

Kanały można tworzyć przy użyciu żądania HTTP POST i określania wartości właściwości.

Metoda Identyfikator URI żądania Wersja protokołu HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels> HTTP/1.1

Przykładowe żądanie

Możesz wypróbować poniższy przykład na karcie Kompozytor programu Fiddler.

Aby uzyskać najnowszą wersję x-ms-version:, zobacz Media Services REST.

Nagłówki żądań:

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>  
  

W poniższej treści żądania pokazano, jak utworzyć kanał, który jest włączony do kodowania na żywo.

{  
   "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":[]  
   }  
}  
  

W poniższej treści żądania pokazano, jak utworzyć kanał na koncie, który nie jest włączony do kodowania na żywo.

{  
"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  
   }  
}  

W przypadku powodzenia kod stanu 202 Zaakceptowane jest zwracany wraz z reprezentacją utworzonej jednostki w treści odpowiedzi.

Kod stanu zaakceptowany w 202 r. wskazuje operację asynchroniczną, w takim przypadku wartość nagłówka operation-id jest również udostępniana do sondowania i śledzenia stanu długotrwałych operacji, takich jak uruchamianie lub zatrzymywanie kanału. Przekaż wartość nagłówka operation-id do jednostki operacji, aby pobrać stan. Aby uzyskać więcej informacji, zobacz Ręczne sondowanie Long-Running Operacje.

Kanały początkowe

Metoda Identyfikator URI żądania Wersja protokołu HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid')/Start HTTP/1.1

Przykładowe żądanie

Możesz wypróbować poniższy przykład na karcie Kompozytor programu Fiddler.

Aby uzyskać najnowszą wersję x-ms-version:, zobacz Media Services REST.

Nagłówki żądań:

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>  
  

W przypadku powodzenia zwracany jest kod stanu Zaakceptowane 202 . Kod stanu zaakceptowany w 202 r. wskazuje operację asynchroniczną, w takim przypadku wartość nagłówka operation-id jest również udostępniana do sondowania i śledzenia stanu długotrwałych operacji, takich jak uruchamianie lub zatrzymywanie kanału. Przekaż wartość nagłówka operation-id do jednostki operacji, aby pobrać stan. Aby uzyskać więcej informacji, zobacz Ręczne sondowanie Long-Running Operacje.

Zatrzymywanie kanałów

Kanał można zatrzymać tylko wtedy, gdy znajduje się w stanie Uruchomiono , a wszystkie programy w kanale zostały zatrzymane.

Metoda Identyfikator URI żądania Wersja protokołu HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid')/Stop HTTP/1.1

Przykładowe żądanie

Możesz wypróbować poniższy przykład na karcie Kompozytor programu Fiddler.

Aby uzyskać najnowszą wersję x-ms-version:, zobacz Media Services REST.

Nagłówki żądań:

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>  
  

W przypadku powodzenia zwracany jest kod stanu Zaakceptowane 202 . Kod stanu zaakceptowany w 202 r. wskazuje operację asynchroniczną, w takim przypadku wartość nagłówka operation-id jest również udostępniana do sondowania i śledzenia stanu długotrwałych operacji, takich jak uruchamianie lub zatrzymywanie kanału. Przekaż wartość nagłówka operation-id do jednostki operacji, aby pobrać stan. Aby uzyskać więcej informacji, zobacz Ręczne sondowanie Long-Running Operacje.

Listy kanałów

Kanały można pobrać przy użyciu żądania HTTP GET.

Metoda Identyfikator URI żądania Wersja protokołu HTTP
GET Pobierz wszystkie kanały:

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

Pobierz określony kanał.

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

Przykładowe żądanie

Możesz wypróbować poniższy przykład na karcie Kompozytor programu Fiddler.

Aby uzyskać najnowszą wersję x-ms-version:, zobacz Media Services REST.

Nagłówki żądań:

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>  
  

W przypadku powodzenia ta operacja zwraca kod stanu OK 200 OK i listę wszystkich kanałów utworzonych na koncie usługi Media Services.

Resetowanie kanałów

Resetuje stan kanału uruchomieniowego utrzymywany podczas przesyłania strumieniowego prezentacji na żywo i umożliwia ponowne użycie kanału w przypadku resetowania prezentacji lub ponownej konfiguracji kodera. Zatrzymaj wszystkie programy przed wywołaniem polecenia Reset. Resetowanie można wywołać w kanale, który jest w stanie uruchomienia.

Metoda Identyfikator URI żądania Wersja protokołu HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid')/Reset HTTP/1.1

Przykładowe żądanie

Możesz wypróbować poniższy przykład na karcie Kompozytor programu Fiddler.

Aby uzyskać najnowszą wersję x-ms-version:, zobacz Media Services REST.

Nagłówki żądań:

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>  
  

W przypadku powodzenia zwracany jest kod stanu Zaakceptowane 202 . Kod stanu zaakceptowany w 202 r. wskazuje operację asynchroniczną, w takim przypadku wartość nagłówka operation-id jest również udostępniana do sondowania i śledzenia stanu długotrwałych operacji, takich jak uruchamianie lub zatrzymywanie kanału. Przekaż wartość nagłówka operation-id do jednostki operacji, aby pobrać stan. Aby uzyskać więcej informacji, zobacz Ręczne sondowanie Long-Running Operacje.

Aktualizowanie kanałów

Aktualizacje właściwości w istniejącym kanale. Kanał musi być w stanie Zatrzymany .

Metoda Identyfikator URI żądania Wersja protokołu HTTP
PATCH/PUT/MERGE

Aby uzyskać więcej informacji na temat tych operacji, zobacz PATCH/PUT/MERGE.
<https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid') HTTP/1.1

Przykładowe żądanie

Możesz wypróbować poniższy przykład na karcie Kompozytor programu Fiddler.

Aby uzyskać najnowszą wersję x-ms-version:, zobacz Media Services REST.

Nagłówki żądań:

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>  
  

Treść żądania:

"Encoding":{"IgnoreCea708ClosedCaptions": true}  

Jeśli aktualizacja zostanie ukończona synchronicznie, zwraca kod stanu 204 Bez zawartości ; w przeciwnym razie zwraca kod stanu 202 Zaakceptowane . Kod stanu zaakceptowany w 202 r. wskazuje operację asynchroniczną, w takim przypadku wartość nagłówka operation-id jest również udostępniana do sondowania i śledzenia stanu długotrwałych operacji, takich jak uruchamianie lub zatrzymywanie kanału. Przekaż wartość nagłówka operation-id do jednostki operacji, aby pobrać stan. Aby uzyskać więcej informacji, zobacz Ręczne sondowanie Long-Running Operacje.

Rozpocznij anonsowanie

Koder na żywo może być sygnalizowany, aby rozpocząć anonsowanie lub przerwę komercyjną przy użyciu żądania HTTP POST i określić wartości właściwości w jednostce jednostki StartAdvertisement w treści żądania.

Metoda Identyfikator URI żądania Wersja protokołu HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channeled')/StartAdvertisement HTTP/1.1

Aby uzyskać więcej informacji, zobacz Omówienie kanałów, które są włączone na potrzeby kodowania na żywo.

Jednostka StartAdvertisement

Ta jednostka reprezentuje interfejs API rozpoczęcia reklamy — jest to asynchroniczne wywołanie kodera na żywo w celu wstawienia anonsu lub przerw komercyjnych w strumieniu wyjściowym.

Aby uzyskać więcej informacji, zobacz Omówienie kanałów, które są włączone na potrzeby kodowania na żywo.

Nazwa Typ Opis
duration Edm.Duration Czas trwania przerwy handlowej w sekundach. Musi to być wartość niezerowa dodatnia, aby rozpocząć przerwę handlową. Gdy przerwa komercyjna jest w toku, a czas trwania jest ustawiony na zero z CueId pasującym do trwającej przerwy komercyjnej, to przerwa zostanie anulowana.
cueId Edm.Int Unikatowy identyfikator przerwania komercyjnego, który ma być używany przez aplikację podrzędną do podejmowania odpowiednich działań. Musi być dodatnią liczbą całkowitą.
showSlate Edm.Bool Optional. Wskazuje koder na żywo w kanale, który musi przełączyć się do domyślnego obrazu łupka podczas przerwy komercyjnej (i maskować przychodzące źródło wideo). Wartość domyślna to false.

Użyty obraz będzie określony za pośrednictwem domyślnej właściwości identyfikatora zasobu łupka podczas tworzenia kanału.

Przykładowe żądanie

Możesz wypróbować poniższy przykład na karcie Kompozytor programu Fiddler.

Aby uzyskać najnowszą wersję x-ms-version:, zobacz Media Services REST.

Nagłówki żądań:

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>  
  

Treść

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

W przypadku powodzenia zwracany jest kod stanu Zaakceptowane 202 .

Anons końcowy

Koder na żywo może być sygnalizowany, aby zakończyć trwaną anons lub przerwę komercyjną przy użyciu żądania HTTP POST.

Metoda Identyfikator URI żądania Wersja protokołu HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channeled')/EndAdvertisement HTTP/1.1

To wywołanie powinno być wywoływane tylko wtedy, gdy istnieje trwa anons.

Aby uzyskać więcej informacji, zobacz Omówienie kanałów, które są włączone na potrzeby kodowania na żywo.

Przykładowe żądanie

Możesz wypróbować poniższy przykład na karcie Kompozytor programu Fiddler.

Aby uzyskać najnowszą wersję x-ms-version:, zobacz Media Services REST.

Nagłówki żądań:

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>  
  

W przypadku powodzenia zwracany jest kod stanu Zaakceptowane 202 .

Pokaż łupek

Wskazuje koder na żywo w kanale, który musi przełączyć się do domyślnego obrazu łupka podczas przerwy komercyjnej (i maskować przychodzące źródło wideo). Wartość domyślna to false. Użyty obraz będzie określony za pośrednictwem domyślnej właściwości identyfikatora zasobu łupka podczas tworzenia kanału.

Użyj właściwości jednostki ShowSlate w treści żądania HTTP.

Metoda Identyfikator URI żądania Wersja protokołu HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channeled')/ShowSlate HTTP/1.1

Aby uzyskać więcej informacji, zobacz Omówienie kanałów, które są włączone na potrzeby kodowania na żywo.

ShowSlate, jednostka

Aby uzyskać więcej informacji, zobacz Omówienie kanałów, które są włączone na potrzeby kodowania na żywo.

Nazwa Typ Opis
duration Edm.Duration Czas trwania łupka w sekundach. Musi to być wartość niezerowa dodatnia, aby rozpocząć łupek. Jeśli istnieje łupek on-going, a czas trwania zera jest określony, to będzie on-going łupek zostanie zakończony.
assetId Edm.String Określa identyfikator zasobu usługi Media Services, który zawiera obraz łupka.

Przed utworzeniem kanału obraz łupkowy o rozdzielczości 1920x1080 w formacie JPEG i rozmiarze co najwyżej 3 Mb/s należy przekazać jako dedykowany zasób (żadne inne pliki nie powinny znajdować się w tym zasobie).

Koder można zasygnalizować, aby przełączyć się do dowolnego obrazu łupka (a nie tylko określonego za pomocą właściwości DefaultSlateAssetId w momencie tworzenia kanału).

DefaultSlateAssetId Jeśli właściwość jest określona i AssetId nie zostanie określona, DefaultSlateAssetId obraz zostanie użyty do maskowania strumienia wejściowego. Aby uzyskać więcej informacji, zobacz Slate.

Przykładowe żądanie

Możesz wypróbować poniższy przykład na karcie Kompozytor programu Fiddler.

Aby uzyskać najnowszą wersję x-ms-version:, zobacz Media Services REST.

Nagłówki żądań:

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>  
  

Treść

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

W przypadku powodzenia zwracany jest kod stanu Zaakceptowane 202 .

Ukryj łupek

Koder na żywo może być zasygnalizowany, aby zakończyć działanie łupka przy użyciu żądania HTTP POST.

Metoda Identyfikator URI żądania Wersja protokołu HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid')/HideSlate HTTP/1.1

To wywołanie powinno być wywoływane tylko wtedy, gdy występuje łupek.

Aby uzyskać więcej informacji, zobacz Omówienie kanałów, które są włączone na potrzeby kodowania na żywo.

Przykładowe żądanie

Możesz wypróbować poniższy przykład na karcie Kompozytor programu Fiddler.

Aby uzyskać najnowszą wersję x-ms-version:, zobacz Media Services REST.

Nagłówki żądań:

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>  
  

W przypadku powodzenia zwracany jest kod stanu Zaakceptowane 202 . Kod stanu zaakceptowany w 202 r. wskazuje operację asynchroniczną, w takim przypadku wartość nagłówka operation-id jest również udostępniana do sondowania i śledzenia stanu długotrwałych operacji, takich jak uruchamianie lub zatrzymywanie kanału. Przekaż wartość nagłówka operation-id do jednostki operacji, aby pobrać stan. Aby uzyskać więcej informacji, zobacz Ręczne sondowanie Long-Running Operacje.

Usuwanie kanałów

Usuń kanał.

Metoda Identyfikator URI żądania Wersja protokołu HTTP
DELETE <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid') HTTP/1.1

Przykładowe żądanie

Możesz wypróbować poniższy przykład na karcie Kompozytor programu Fiddler.

Aby uzyskać najnowszą wersję x-ms-version:, zobacz Media Services REST.

Nagłówki żądań:

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>  
  

W przypadku powodzenia zwracany jest kod stanu Zaakceptowane 202 . Kod stanu zaakceptowany w 202 r. wskazuje operację asynchroniczną, w takim przypadku wartość nagłówka operation-id jest również udostępniana do sondowania i śledzenia stanu długotrwałych operacji, takich jak uruchamianie lub zatrzymywanie kanału. Przekaż wartość nagłówka operation-id do jednostki operacji, aby pobrać stan. Aby uzyskać więcej informacji, zobacz Ręczne sondowanie Long-Running Operacje.

Zobacz też

Dostarczanie transmisji strumieniowej na żywo za pomocą usługi Azure Media Services
Program