다음을 통해 공유


채널

AMS(Azure 미디어 서비스)에서 채널 엔터티는 라이브 스트리밍 콘텐츠를 처리하는 파이프라인을 나타냅니다. 채널은 다음 두 가지 방법 중 하나로 라이브 입력 스트림을 받습니다.

  • 온-프레미스 라이브 인코더는 다중 비트 전송률 RTMP 또는 Smooth Streaming (조각화된 MP4)를 채널로 보냅니다. 다중 비트 전송률 부드러운 스트리밍을 출력하는 라이브 인코더인 MediaExcel, Imagine Communications, Ateme, Envivio, Cisco 및 Elemental을 사용할 수 있습니다. RTMP를 출력하는 라이브 인코더는 Adobe Flash Live Encoder, Haivision, Telestream Wirecast, Teradek 및 Tricaster 인코더입니다. 어떠한 추가적인 처리 없이 채널을 통해 수집된 스트림이 통과합니다. 요청된 경우 Media Services는 고객에게 스트림을 배달합니다.

  • 단일 비트 전송률 스트림((MPEG-TS), RTMP또는 Smooth Streaming (조각화된 MP4) 형식 RTP 중 하나)는 Media Services를 사용하여 라이브 인코딩을 수행할 수 있는 로 전송 Channel 됩니다. 그러면 Channel에서 들어오는 단일 비트 전송률 스트림을 다중 비트 전송률(적응) 비디오 스트림으로 라이브 인코딩합니다. 요청된 경우 Media Services는 고객에게 스트림을 배달합니다.

Media Services 2.10 릴리스부터, 채널을 만들 때 채널이 입력 스트림을 받는 방법과 채널이 스트림의 라이브 인코딩을 수행할지 여부를 지정할 수 있습니다. 다음 두 가지 옵션을 사용할 수 있습니다.

  • None – 다중 비트 전송률 스트림을 출력하는 온-프레미스 라이브 인코더를 사용하려면 이 값을 지정합니다. 이 경우 들어오는 스트림이 인코딩 없이 출력으로 전달됩니다. 이것이 2.10 릴리스 이전의 채널 동작입니다. 이 유형의 채널 작업에 대한 자세한 내용은 온-프레미스 인코더에서 다중 비트 전송률 라이브 스트림을 수신하는 채널 작업을 참조하세요.

  • Standard – Media Services를 사용하여 단일 비트 전송률 라이브 스트림을 다중 비트 전송률 스트림으로 인코딩하려는 경우 이 값을 선택합니다.

    참고

    라이브 인코딩의 청구 영향이 있고 라이브 인코딩 채널을 "실행 중" 상태로 두면 요금이 청구됨을 기억해야 합니다. 시간당 추가 요금 청구를 방지하려면 라이브 스트리밍 이벤트가 완료된 직후 실행 중인 채널을 중지하는 것이 좋습니다. 자세한 내용은 Azure Media Services를 사용하여 Live Encoding을 수행할 수 있는 채널 작업을 참조하세요.

라이브 스트리밍 및 채널 관리에 대한 자세한 내용은 Azure Media Services를 사용하여 라이브 스트리밍 제공을 참조하세요.

중요

Media Services에서 엔터티에 액세스할 때는 HTTP 요청에서 구체적인 헤더 필드와 값을 설정해야 합니다.
자세한 내용은 Media Services REST API 개발 설정 및 Media Services REST API를 사용하여 Media Services에 연결을 참조하세요.

이 항목에서는 Channel 엔터티에 대해 간략하게 설명하는 동시에 미디어 서비스 REST API를 사용하여 다양한 작업을 실행하는 방법도 보여 줍니다.

채널 엔터티

Channel 엔터티에 포함된 속성은 다음과 같습니다.

속성 형식 설명
Id

읽기 전용입니다. 미디어 서비스에 의해 설정됩니다.
Edm.String 만들 때 할당되는 채널 ID입니다. 형식:

nb:chid:UUID:<GUID>.
Name Edm.String 채널 이름입니다.

1. Media Services 계정 내에서 고유해야 합니다.
2. 최대 길이 = 32자.
3. 공백을 포함할 수 없습니다.
4. 하이픈 및 영숫자 문자만
5. 하이픈으로 시작하거나 끝낼 수 없습니다.
Created

읽기 전용입니다. 미디어 서비스에 의해 설정됩니다.
Edm.DateTime 만든 시간을 나타내는 UTC 날짜/시간 값입니다.
Description Edm.String 사용자가 제공한 설명입니다. 최대 길이는 256자입니다.
LastModified

읽기 전용입니다. 미디어 서비스에 의해 설정됩니다.
Edm.DateTime 채널의 마지막 업데이트 날짜 및 시간입니다.
State

읽기 전용입니다. 미디어 서비스에 의해 설정됩니다.
Edm.String 채널의 현재 상태입니다. 가능한 값은 다음과 같습니다.

- Stopped. 만들어진 후 채널의 초기 상태입니다. 이 상태에서 채널 속성을 업데이트할 수 있지만 스트리밍은 허용되지 않습니다.
- Starting. 채널이 시작되고 있습니다. 이 상태에서는 업데이트 또는 스트리밍이 허용되지 않습니다. 오류가 발생할 경우 채널이 중지됨 상태로 돌아갑니다.
- Running. 라이브 스트림 처리에 채널을 사용할 수 있습니다.
- Stopping. 채널이 중지되고 있습니다. 이 상태에서는 업데이트 또는 스트리밍이 허용되지 않습니다.
- Deleting. 채널이 삭제 중입니다. 이 상태에서는 업데이트 또는 스트리밍이 허용되지 않습니다.
Input ChannelInput ComplexType 채널 입력(수집) 설정입니다.
Output ChannelOutput ComplexType 채널 출력 설정입니다.
Preview ChannelPreview ComplexType 채널 미리 보기 설정입니다.
CrossSiteAccessPolicies CrossSiteAccessPolicies 사이트 간 액세스 정책입니다.
Programs

읽기 전용입니다. 미디어 서비스에 의해 설정됩니다.
Program의 컬렉션입니다. 채널과 연결된 프로그램 컬렉션에 대한 참조입니다.
EncodingType Edm.String Optional. 채널의 구성에 대해 설명합니다. 허용된 값은

- None – 기본값입니다. 이 값을 선택하면 들어오는 스트림이 인코딩되지 않고 출력으로 전달됩니다. 2.10 릴리스 이전의 채널은 이와 같이 동작합니다.
- Standard– 들어오는 단일 비트 전송률 스트림이 채널로 전송되고 시스템 사전 설정을 사용하여 다중 비트 전송률 스트림으로 변환됩니다.
Encoding ComplexType 인코딩 Azure 라이브 인코더 설정입니다.
Slate 슬레이트 이 설정은 채널의 가 Encoding Type 로 설정된 Standard경우에만 지원됩니다.

슬레이트 이미지로 전환하도록 채널 내의 라이브 인코더에 신호를 보낼 수 있습니다. 진행 중인 슬레이트를 종료하도록 신호를 보낼 수도 있습니다.

라이브 인코더가 슬레이트 이미지로 전환된 다음 광고 재생 중과 같은 특정 상황에서 들어오는 비디오 신호를 마스킹하도록 구성할 수 있습니다. 이러한 슬레이트를 구성하지 않는 경우 입력 비디오가 해당 중간 광고 중에 마스킹되지 않습니다.

ChannelInput ComplexType

속성 형식 Description
KeyFrameInterval Edm.Time EncoderTypeStandard로 설정되어 있으면 이 값은 무시됩니다.

온-프레미스 라이브 인코더를 사용하여 다중 비트 전송률 스트림을 생성하는 경우 키 프레임 간격은 GOP 기간을 지정합니다(해당 외부 인코더에서 사용됨). 이 들어오는 스트림을 채널이 받으면 부드러운 스트리밍, DASH 및 HLS 형식 중 하나로 클라이언트 재생 애플리케이션에 라이브 스트림을 제공할 수 있습니다. 라이브 스트리밍을 수행할 때 HLS는 항상 동적으로 패키지됩니다. 기본적으로 미디어 서비스는 라이브 인코더에서 받은 키 프레임 간격을 기준으로 HLS 세그먼트 패키징 비율(세그먼트당 조각)을 자동으로 계산합니다. 이 간격을 GOP(Group of Pictures)라고도 합니다.
StreamingProtocol

읽기 전용입니다.
Edm.String 인코더 유형을 설정한 후에는 수집 프로토콜을 설정할 수 있습니다.

Encoder TypeNone로 설정되어 있을 때 사용 가능한 옵션은 다음과 같습니다.

- 다중 비트 전송률 조각화된 MP4(부드러운 스트리밍)
- 다중 비트 전송률 RTMP

Encoder TypeNone설정된 경우 단일 비트 전송률 RTMP 또는 부드러운 스트리밍 라이브 스트림을 보낼 수 있는 것은 유효하지만 바람직하지 않습니다. 채널에서는 해당 스트림을 처리하지 않으므로 스트림은 단순히 채널을 통과하기만 하며 클라이언트 응용 프로그램은 단일 비트 전송률 스트림을 받게 됩니다.

Encoder TypeStandard로 설정되어 있을 때 사용 가능한 옵션은 다음과 같습니다.

1. 단일 비트 전송률 조각화된 MP4(부드러운 스트리밍)
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
허용 IPRange ComplexType 채널 입력 엔드포인트에 연결할 수 있도록 허용된 IP 주소입니다. 참고: 이 값을 null로 설정하면 모든 IP 원본 주소를 연결할 수 있습니다. Setting it to an empty string (“”) allows no one to connect.

IPRange ComplexType

이 형식 및 해당 속성에 대한 자세한 내용은 라이브 인코딩에 사용하도록 설정된 채널 개요를 참조하세요.

속성 형식 Description
Name Edm.String 이 IP 범위에 대한 이름입니다.
Address Edm.String 서브넷 표현의 기본 IP 주소(예: 192.168.0.1)입니다.
SubnetPrefixLength Edm.Int32 서브넷 마스크의 최상위 비트 수입니다. 예를 들어 다음 IP 주소 192.168.0.1/24에서 24는 최상위 비트 수를 나타냅니다.

ChannelEndpoint ComplexType

속성 형식 Description
Protocol Edm.String 채널 스트리밍 엔드포인트 프로토콜입니다.
Url Edm.String 채널 스트리밍 엔드포인트 URL입니다.

ChannelOutput ComplexType

이 형식 및 해당 속성에 대한 자세한 내용은 라이브 인코딩에 사용하도록 설정된 채널 개요를 참조하세요.

속성 형식 Description
Hls ChannelOutputHls ComplexType HLS 관련 설정입니다.

ChannelOutputHls ComplexType

이 형식 및 해당 속성에 대한 자세한 내용은 라이브 인코딩에 사용하도록 설정된 채널 개요를 참조하세요.

속성 형식 Description
FragmentsPerSegment Edm.Int16 HLS(HTTP 라이브 스트리밍) 세그먼트당 조각의 양입니다.

ComplexType 인코딩

이 형식 및 해당 속성에 대한 자세한 내용은 라이브 인코딩에 사용하도록 설정된 채널 개요를 참조하세요.

속성 형식 Description
AdMarkerSource Edm.String 광고 표식 신호의 원본을 지정할 수 있습니다. 기본값은 채널 내의 라이브 인코더가 비동Ad Marker API기 를 수신 대기해야 했음을 나타내는 입니다Api. 다른 유효한 옵션은 Scte35 (수집 스트리밍 프로토콜이 지정된 경우 로 설정된 RTP (MPEG-TS).Scte35 경우에만 허용됩니다. 인코더는 입력 RTP(MPEG-TS) 스트림의 신호를 구문 분석 SCTE-35 합니다.
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

오디오가 64kbps, 샘플링 속도 44.1kHz로 스테레오 AAC-LC로 인코딩됩니다.

이 형식 및 해당 속성에 대한 자세한 내용은 라이브 인코딩에 사용하도록 설정된 채널 개요를 참조하세요.

VideoStream

입력 비디오 스트림에 대해 설명합니다. 이 필드를 지정하지 않으면 기본값이 사용됩니다. 이 설정은 입력 스트리밍 프로토콜이 RTP(MPEG-TS)로 설정된 경우에만 허용됩니다.

속성 형식 Description
Index Edm.Int1 채널 내의 라이브 인코더가 처리해야 하는 입력 비디오 스트림을 지정하는 0부터 시작하는 인덱스입니다. 이 설정은 수집 스트리밍 프로토콜이 RTP(MPEG-TS)인 경우에만 적용됩니다.

기본값은 0입니다. SPTS(단일 프로그램 전송 스트림)로 보내는 것이 좋습니다. 입력 스트림에 여러 프로그램이 포함된 경우 라이브 인코더는 입력의 PMT(프로그램 맵 테이블)를 구문 분석하고 스트림 형식 이름이 MPEG-2 비디오 또는 H.264인 입력을 식별하여 PMT에 지정된 순서로 정렬합니다. 해당 정렬의 n번째 항목을 선택하기 위해 0부터 시작하는 인덱스가 사용됩니다.
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번째 항목을 선택하기 위해 0부터 시작하는 인덱스가 사용됩니다.
Name Edm.String Optional. 이 입력 오디오 스트림에 대한 설명 태그입니다.
Language Edm.String Optional. ENG와 같은 ISO 639-2를 따르는 오디오 스트림의 언어 식별자입니다. 없는 경우 기본값은 UND(정의되지 않음)입니다.

채널에 대한 입력이 RTP를 통한 MPEG-2 TS인 경우 오디오 스트림 집합을 최대 8개까지 지정할 수 있습니다. 그러나 인덱스 값이 동일한 항목이 두 개 있을 수는 없습니다.

인코더에 대한 입력이 RTP를 통한 MPEG-2 TS인 경우에는 {인덱스, 이름, 언어} 집합을 8개까지 지정할 수 있습니다. 그러나 인덱스 값이 동일한 항목이 두 개 있을 수는 없습니다. 인코더에 대한 입력이 RTMP 또는 HTTP(부드러운 스트리밍)인 경우에는 입력에 오디오 스트림이 하나만 포함되어야 합니다.

슬레이트

이 설정은 채널의 가 Encoding Type 로 설정된 Standard경우에만 지원됩니다.

슬레이트 이미지로 전환하도록 채널 내의 라이브 인코더에 신호를 보낼 수 있습니다. 진행 중인 슬레이트를 종료하도록 신호를 보낼 수도 있습니다.

라이브 인코더가 슬레이트 이미지로 전환된 다음 광고 재생 중과 같은 특정 상황에서 들어오는 비디오 신호를 마스킹하도록 구성할 수 있습니다. 이러한 슬레이트를 구성하지 않는 경우 입력 비디오가 해당 중간 광고 중에 마스킹되지 않습니다.

속성 형식 Description
InsertSlateOnAdMarker Edm.Bool 이 설정을 True로 설정하면 라이브 인코더가 광고 재생 중에 슬레이트 이미지를 삽입하도록 구성됩니다. 기본값은 true입니다.
DefaultSlateAssetId Edm.String Optional. 슬레이트 이미지를 포함하는 Media Services 자산의 자산 ID를 지정합니다. 기본값은 null입니다.

채널을 만들기 전에 최대 해상도가 1920x1080이고 JPEG 형식이며 크기가 최대 3MB인 슬레이트 이미지를 전용 자산으로 업로드해야 합니다. 즉, 이 자산에 다른 파일이 포함되어서는 안 됩니다. 파일 이름의 확장명은 *.jpg여야 하며 이 AssetFile은 해당 자산의 기본 파일로 표시해야 합니다. 이 자산은 스토리지를 암호화할 수 없습니다.

기본 슬레이트 자산 ID를 지정하지 않고 광고 표식에 슬레이트 삽입을 true로 설정하면 기본 Azure Media Services 이미지가 입력 스트림을 마스킹하는 데 사용됩니다.

이 형식 및 해당 속성에 대한 자세한 내용은 라이브 인코딩에 사용하도록 설정된 채널 개요를 참조하세요.

채널 만들기

채널은 POST HTTP 요청을 통해 속성 값을 지정하여 만들 수 있습니다.

메서드 요청 URI HTTP 버전
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels> HTTP/1.1

샘플 요청

Fiddler의 Composer 탭에서 다음 예제를 사용해 볼 수 있습니다.

최신 x-ms-version:을 얻으려면 Media Services 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 수락됨 상태 코드는 비동기 작업을 나타냅니다. 이 경우 채널 시작 중 또는 중지 중 같은 장기 실행 작업의 상태를 폴링하고 추적하는 데 사용할 수 있도록 operation-id 헤더 값도 제공됩니다. Operation 엔터티에 operation-id 헤더 값을 전달하여 상태를 검색합니다. 자세한 내용은 수동으로 폴링 Long-Running 작업을 참조하세요.

채널 시작

메서드 요청 URI HTTP 버전
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid')/Start HTTP/1.1

샘플 요청

Fiddler의 Composer 탭에서 다음 예제를 사용해 볼 수 있습니다.

최신 x-ms-version:을 얻으려면 Media Services 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 수락됨 상태 코드는 비동기 작업을 나타냅니다. 이 경우 채널 시작 중 또는 중지 중 같은 장기 실행 작업의 상태를 폴링하고 추적하는 데 사용할 수 있도록 operation-id 헤더 값도 제공됩니다. Operation 엔터티에 operation-id 헤더 값을 전달하여 상태를 검색합니다. 자세한 내용은 수동으로 폴링 Long-Running 작업을 참조하세요.

채널 중지

채널은 실행 중 상태이고 채널의 모든 프로그램이 중지된 경우에만 중지할 수 있습니다.

메서드 요청 URI HTTP 버전
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid')/Stop HTTP/1.1

샘플 요청

Fiddler의 Composer 탭에서 다음 예제를 사용해 볼 수 있습니다.

최신 x-ms-version:을 얻으려면 Media Services 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 수락됨 상태 코드는 비동기 작업을 나타냅니다. 이 경우 채널 시작 중 또는 중지 중 같은 장기 실행 작업의 상태를 폴링하고 추적하는 데 사용할 수 있도록 operation-id 헤더 값도 제공됩니다. Operation 엔터티에 operation-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의 Composer 탭에서 다음 예제를 사용해 볼 수 있습니다.

최신 x-ms-version:을 얻으려면 Media Services 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 상태 코드와 Media Services 계정에서 만든 모든 채널 목록을 반환합니다.

채널 다시 설정

라이브 프레젠테이션의 스트리밍 전체에서 유지 관리된 런타임 채널 상태를 다시 설정하고 프레젠테이션 다시 설정 또는 인코더 다시 구성 시 채널을 다시 사용하도록 허용합니다. Reset을 호출하기 전에 모든 프로그램을 중지합니다. Reset은 실행 중 상태인 채널에서만 호출할 수 있습니다.

메서드 요청 URI HTTP 버전
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid')/Reset HTTP/1.1

샘플 요청

Fiddler의 Composer 탭에서 다음 예제를 사용해 볼 수 있습니다.

최신 x-ms-version:을 얻으려면 Media Services 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 수락됨 상태 코드는 비동기 작업을 나타냅니다. 이 경우 채널 시작 중 또는 중지 중 같은 장기 실행 작업의 상태를 폴링하고 추적하는 데 사용할 수 있도록 operation-id 헤더 값도 제공됩니다. Operation 엔터티에 operation-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의 Composer 탭에서 다음 예제를 사용해 볼 수 있습니다.

최신 x-ms-version:을 얻으려면 Media Services 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 수락됨 상태 코드는 비동기 작업을 나타냅니다. 이 경우 채널 시작 중 또는 중지 중 같은 장기 실행 작업의 상태를 폴링하고 추적하는 데 사용할 수 있도록 operation-id 헤더 값도 제공됩니다. Operation 엔터티에 operation-id 헤더 값을 전달하여 상태를 검색합니다. 자세한 내용은 수동으로 폴링 Long-Running 작업을 참조하세요.

광고 시작

라이브 인코더는 POST HTTP 요청을 사용하여 광고 또는 상업적 중단을 시작하라는 신호를 받고 요청 본문의 StartAdvertisement 엔터티 엔터티 에서 의 속성 값을 지정할 수 있습니다.

메서드 요청 URI HTTP 버전
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channeled')/StartAdvertisement HTTP/1.1

자세한 내용은 라이브 인코딩을 사용하도록 설정된 채널 개요를 참조하세요.

StartAdvertisement 엔터티

이 엔터티는 광고 시작 API를 나타내며, 출력 스트림에 광고 재생 시간을 삽입하도록 하는 라이브 인코더에 대한 비동기 호출입니다.

자세한 내용은 라이브 인코딩을 사용하도록 설정된 채널 개요를 참조하세요.

속성 형식 Description
duration Edm.Duration 중간 광고의 기간(초)입니다. 중간 광고를 시작하려면 이 값이 0이 아닌 양수여야 합니다. 중간 광고가 진행 중인 경우 기간이 0으로 설정되어 있고 CueId가 진행 중인 중간 광고와 일치하면 해당 중간 광고가 취소됩니다.
cueId Edm.Int 다운스트림 응용 프로그램에서 적절한 작업을 수행하는 데 사용하는 광고 재생 시간의 고유 ID입입니다. 양의 정수여야 합니다.
showSlate Edm.Bool Optional. 채널 내의 라이브 인코더가 광고 재생 중에 기본 슬레이트 이미지로 전환하여 들어오는 비디오 피드를 마스킹해야 함을 나타냅니다. 기본값은 false입니다.

사용된 이미지는 채널을 만들 때 기본 슬레이트 자산 ID 속성을 통해 지정된 이미지입니다.

샘플 요청

Fiddler의 Composer 탭에서 다음 예제를 사용해 볼 수 있습니다.

최신 x-ms-version:을 얻으려면 Media Services 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의 Composer 탭에서 다음 예제를 사용해 볼 수 있습니다.

최신 x-ms-version:을 얻으려면 Media Services 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 수락됨 상태 코드가 반환됩니다.

슬레이트 표시

채널 내의 라이브 인코더가 광고 재생 중에 기본 슬레이트 이미지로 전환하여 들어오는 비디오 피드를 마스킹해야 함을 나타냅니다. 기본값은 false입니다. 사용된 이미지는 채널을 만들 때 기본 슬레이트 자산 ID 속성을 통해 지정된 이미지입니다.

HTTP 요청 본문에 ShowSlate 엔터티 의 속성을 사용합니다.

메서드 요청 URI HTTP 버전
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channeled')/ShowSlate HTTP/1.1

자세한 내용은 라이브 인코딩을 사용하도록 설정된 채널 개요를 참조하세요.

ShowSlate 엔터티

자세한 내용은 라이브 인코딩을 사용하도록 설정된 채널 개요를 참조하세요.

속성 형식 Description
duration Edm.Duration 슬레이트의 기간(초)입니다. 슬레이트를 시작하려면 이 값이 0이 아닌 양수여야 합니다. 슬레이트가 표시되고 있는데 기간으로 0을 지정하면 표시되고 있는 슬레이트가 종료됩니다.
assetId Edm.String 슬레이트 이미지를 포함하는 Media Services 자산의 자산 ID를 지정합니다.

채널을 만들기 전에 해상도가 1920x1080이고 JPEG 형식이며 크기가 최대 3MB인 슬레이트 이미지를 전용 자산으로 업로드해야 합니다. 즉, 이 자산에 다른 파일이 포함되어서는 안 됩니다.

채널을 만들 때 DefaultSlateAssetId 속성을 통해 지정한 이미지뿐이 아닌 모든 임의 슬레이트 이미지로 전환하도록 인코더에 신호를 보낼 수 있습니다.

DefaultSlateAssetId 속성을 지정했으나 AssetId는 지정하지 않았다면 DefaultSlateAssetId 이미지를 사용하여 입력 스트림이 마스킹됩니다. 자세한 내용은 슬레이트를 참조 하세요.

샘플 요청

Fiddler의 작성기 탭에서 다음 예제를 사용해 볼 수 있습니다.

최신 x-ms-version:을 얻으려면 Media Services 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 수락됨 상태 코드가 반환됩니다.

슬레이트 숨기기

POST HTTP 요청을 사용하여 표시되고 있는 슬레이트를 종료하도록 라이브 인코더에 신호를 보낼 수 있습니다.

메서드 요청 URI HTTP 버전
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid')/HideSlate HTTP/1.1

슬레이트가 표시되고 있을 때만 이 요청을 호출해야 합니다.

자세한 내용은 라이브 인코딩을 사용하도록 설정된 채널 개요를 참조하세요.

샘플 요청

Fiddler의 작성기 탭에서 다음 예제를 사용해 볼 수 있습니다.

최신 x-ms-version:을 얻으려면 Media Services 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 수락됨 상태 코드는 비동기 작업을 나타냅니다. 이 경우 채널 시작 중 또는 중지 중 같은 장기 실행 작업의 상태를 폴링하고 추적하는 데 사용할 수 있도록 operation-id 헤더 값도 제공됩니다. Operation 엔터티에 operation-id 헤더 값을 전달하여 상태를 검색합니다. 자세한 내용은 수동으로 폴링 Long-Running 작업을 참조하세요.

채널 삭제

채널을 삭제합니다.

메서드 요청 URI HTTP 버전
DELETE <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid') HTTP/1.1

샘플 요청

Fiddler의 작성기 탭에서 다음 예제를 사용해 볼 수 있습니다.

최신 x-ms-version:을 얻으려면 Media Services 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 수락됨 상태 코드는 비동기 작업을 나타냅니다. 이 경우 채널 시작 중 또는 중지 중 같은 장기 실행 작업의 상태를 폴링하고 추적하는 데 사용할 수 있도록 operation-id 헤더 값도 제공됩니다. Operation 엔터티에 operation-id 헤더 값을 전달하여 상태를 검색합니다. 자세한 내용은 수동으로 폴링 Long-Running 작업을 참조하세요.

참고 항목

Azure Media Services를 사용하여 라이브 스트리밍 제공
Program