[Cloud] Azure Media Service를 이용한 실시간 스트리밍 구현

김관응·2023년 3월 30일
0

Infra

목록 보기
5/9

1. Media service 계정 생성

Azure Portal 에서 Media service 계정을 생성합니다.

Account Name : Media service 계정의 이름. 공백 없이 모두 소문자로 이루어 져야 하며 3-24자의 숫자 혹은 문자여야 합니다.
Subscription : Azure 구독을 선택합니다.
Resource Group : 새 리소스 그룹 혹은 기존의 리소스 그룹중 선택합니다.
Location: Media service 계정에 대한 메타데이터 레코드 및 미디어 저장 위치를 선택합니다.
Storage Account : 미디어 컨텐츠가 포함될 Blob Storage 입니다.

2. Endpoint 및 CDN 생성

Media service 의 블레이드에서 Streaming endpoints를 선택합니다.

기본으로 default 가 생성이 됩니다. 새로 만들기 위해서는 +Endpoint 를 클릭합니다.

Name : endpoint 의 이름.
Type : Standard는 일반적인 대부분의 스트리밍 시나리오에 권장됩니다. 최대 600Mbps의 대역폭
Premium은 전문 용도입니다. Streaming Unit을 1-10으로 정할 수 있으며 한개의 SU당 200Mbps의 대역폭.

CDN을 추가하고 싶으면 endpoint를 멈춘 뒤 추가하면 됩니다.

3. Channel 생성

블레이드에서 Live streaming을 선택하고 채널을 만듭니다.

Quick create를 누르면 빠르게 채널을 만들 수 있습니다.

이 경우 Enconding type은 Pass Through 방식으로 만들어집니다.

Custom Create 를 누르면 채널을 상세 설정 할 수 있습니다.

Encoding type : Pass Through 와 Live Encoding 중 선택합니다.
Pass Through : 다중 비트 전송률 스트림을 출력할 온-프레미스 라이브 인코더를 사용 할 계획인 경우 사용합니다. 들어오는 스트림을 인코딩 없이 출력으로 전달 됩니다. 최대 해상도는 4K 60프레임 입니다.
Live Encoding : Media service를 이용하여 단일 비트 전송률 라이브 스트림을 다중 비트 전송률 스트림으로 라이브 인코딩 할 계획인 경우 사용합니다. 채널을 실행상태로 두면 시간당 청구요금이 발생하기 때문에 스트리밍 이벤트가 완료되면 직후 채널을 중지하는 것이 좋습니다. 최대 해상도는 720p 30프레임 입니다.

다음은 Streaming protocol을 RTMP와 Fragmented MP4 중 선택합니다.

IP restriction on the ingest 는 ingest IP를 특정하기 위해 사용됩니다.

IP restriction on the preview 는 송출받을 IP를 특정하기 위해 사용됩니다.

1번 Setting에서 Live Encoding 을 선택 시 4번 Encoding 항목이 생성됩니다.

인코딩 프리셋을 설정한 뒤 채널 생성을 합니다.

4. 프로그램 생성 및 암호화

채널에 들어가 프로그램을 클릭해 프로그램을 생성합니다.


Name : 프로그램의 이름
Description : 프로그램의 설명(어떤 인크립션을 썼는지 써놓으면 추후 유용하다.)
Asset name : 저장될 Asset 의 이름
Archive window : 최소 5분 최대 25시간. 해당 윈도우보다 오래되면 지속적으로 오래된 영상을 폐기합니다.
Encryption type : 암호화 방식. AES의 경우 HLS, DASH, Smooth 다 지원하지만 키가 암호화 되어있지 않아 DRM이 더 강력합니다.

프로그램을 종료하면 송출한 영상이 VOD로 저장됩니다.

5. 송출 및 확인

송출은 OBS 방송 프로그램을 통해 송출했고 확인은 AMP 사이트에서 확인합니다.

profile
엔지니어였던 개발자

0개의 댓글