Media Services 라이브 스트리밍 모범 사례 가이드
고객은 라이브 스트림의 대기 시간을 줄일 수 있는 방법을 자주 묻습니다. 이 문서에서는 라이브 이벤트 인코딩 외에도 대기 시간이 짧은 라이브 스트림을 달성하기 위한 모범 사례를 설명합니다.
메모
이 문서를 계속 읽기 전에 짧은 대기 시간 HLS(LL-HLS) 문서를 읽어 라이브 이벤트 인코딩으로 짧은 대기 시간을 이해하세요. 그런 다음 이 가이드로 돌아와 스트리밍 대기 시간에 영향을 줄 수 있는 다른 항목을 이해합니다.
미디어를 인코딩하는 방법 외에 스트림의 엔드 투 엔드 대기 시간을 결정하는 많은 요소가 있습니다. 고려해야 할 사항은 다음과 같습니다.
기여 인코더 쪽에서 지연됩니다. 고객이 OBS Studio, Wirecast 등의 인코딩 소프트웨어를 사용하여 RTMP 라이브 스트림을 Media Services로 보내는 경우 이 소프트웨어의 설정은 라이브 스트림의 엔드 투 엔드 대기 시간에 영향을 미칩니다.
Azure Media Services 내에서 라이브 스트리밍 파이프라인의 지연
CDN 성능
클라이언트 쪽에서 비디오 플레이어 및 네트워크 조건의 버퍼링 알고리즘
프로비전 타이밍
기여 인코더
RTMP 스트림이 Media Services에 도달하기 전에 원본 인코더 설정의 설정을 제어할 수 있습니다. 가능한 가장 낮은 대기 시간을 제공하는 설정에 대한 몇 가지 권장 사항은 다음과 같습니다.
Media Services 계정대한 기여 인코더에 가장 가까운 물리적 지역을 선택합니다. 이렇게 하면 Media Services 계정에 대한 훌륭한 네트워크 연결이 보장됩니다.
일관된 조각 크기를 사용합니다. GOP 크기는 2초로 권장됩니다. OBS와 같은 일부 인코더의 기본값은 8초입니다. 이 설정을 변경해야 합니다.
인코딩 소프트웨어에서 허용하는 경우 GPU 인코더를 사용합니다. 이렇게 하면 CPU 작업을 GPU로 오프로드할 수 있습니다.
짧은 대기 시간에 최적화된 인코딩 프로필을 사용합니다. 예를 들어 OBS Studio에서 Nvidia H.264 인코더를 사용하는 경우 "대기 시간 0" 사전 설정이 표시 될 수 있습니다.
스트리밍하려는 콘텐츠보다 해상도가 높지 않은 콘텐츠를 보냅니다. 예를 들어 720p 표준 인코딩 라이브 이벤트를 사용하는 경우 이미 720p에 있는 스트림을 보냅니다.
통과 라이브 이벤트를 사용하지 않는 한 프레임 속도를 30fps 이하로 유지합니다. 라이브 이벤트에 대해 60fps 입력을 지원하지만 인코딩 라이브 이벤트 출력은 여전히 30fps를 초과하지 않습니다. 짧은 대기 시간 HLS
경우 고정 프레임 속도를 권장하며 최상의 환경을 위해 최대 프레임 지속 시간은 0.5초를 초과하지 않아야 합니다.
Azure Media Services 라이브 이벤트 구성
파이프라인의 대기 시간을 줄이는 데 도움이 되는 몇 가지 구성은 다음과 같습니다.
라이브 이벤트에 짧은 대기 시간 스트림 옵션을 사용합니다. 표준 인코딩(최대 720p) 및 프리미엄 인코딩(최대 1080p) 스트림 옵션의 경우 6시간보다 긴 DVR 창 또는 부드러운 스트리밍 출력이 필요하지 않은 경우 짧은 대기 시간 스트림 대기 시간 설정을 사용합니다.
HLS 및 DASH 재생 모두에 대해 CMAF 출력을 선택하는 것이 좋습니다. 이렇게 하면 두 형식에 대해 동일한 조각을 공유할 수 있습니다. CDN을 사용할 때 캐시 적중률이 증가합니다. 예를 들어:
형 판 URL 예제 HLS CMAF format=m3u8-cmaf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=m3u8-cmaf)
MPEG-DASH CMAF format=mpd-time-cmaf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=mpd-time-cmaf)
TS 출력을 선택해야 하는 경우 HLS 압축 비율 1을 사용합니다. 이렇게 하면 하나의 HLS 세그먼트에 하나의 조각만 압축할 수 있습니다. 당신은 네이티브 애플 플레이어에서 LL-HLS 전체 혜택을 얻을 수 없습니다.
플레이어 최적화
비디오 플레이어를 선택하고 구성할 때 짧은 대기 시간에 최적화된 설정을 사용해야 합니다.
Media Services는 DASH, TS 출력이 있는 HLS, CMAF 조각이 있는 HLS 등 다양한 스트리밍 프로토콜 출력을 지원합니다.
LowLatencyV2
스트림 옵션을 사용하는 경우 짧은 대기 시간 HLS(LL-HLS)를 지원하는 플레이어를 찾아야 합니다. 플레이어의 구현에 따라 버퍼링 결정은 뷰어가 관찰하는 대기 시간에 영향을 줍니다. 재생의 품질과 안정성을 선호하는 네트워크 조건 또는 기본 알고리즘이 부족하면 플레이어가 재생 중에 중단을 방지하기 위해 더 많은 콘텐츠를 미리 버퍼링하기로 결정할 수 있습니다. 이러한 버퍼는 재생 세션 전후에 엔드 투 엔드 대기 시간에 추가됩니다.
Azure Media Player를 사용하는 경우 짧은 대기 시간 추론 프로필은 플레이어 쪽에서 가능한 가장 낮은 대기 시간을 갖도록 플레이어를 최적화합니다. 이 플레이어는 Apple 디바이스의 Safari에서 사용되지 않는 한 DASH만 지원합니다.
CDN 선택 및 최적화
스트리밍 엔드포인트는 라이브 및 VOD 스트리밍 콘텐츠를 CDN 또는 고객에게 직접 전달하는 원본 서버입니다. 보호된 원본이 있는 CDN(Content Delivery Network)을 사용하여 미디어 콘텐츠에 대한 트래픽이 효율적으로 전달되도록 하는 것이 가장 좋습니다.
Verizon(표준 또는 프리미엄)에서 제공하는 Azure CDN을 사용하는 것이 좋습니다. 고객이 Azure Portal에서 단일 선택으로 이 CDN을 구성할 수 있도록 통합 환경을 최적화했습니다. 스트리밍 엔드포인트를 시작할 때마다 CDN 엔드포인트에 대한 Origin Shield 및 스트리밍 최적화를 켜야 합니다.
또한 고객은 자신의 CDN을 가져오는 좋은 경험을 가지고 있습니다. 과도한 트래픽으로부터 원본을 보호하기 위해 CDN에서 조치를 취해야 합니다.
CDN 프로필에 대한 규칙을 구성하여 성능을 향상시킬 수도 있습니다. CDN 최적화를 사용하도록 설정하는 방법에
스트리밍 엔드포인트 크기 조정
메모
표준 스트리밍 엔드포인트/원본 낮은 트래픽 볼륨을 가진 고객이 더 저렴한 비용으로 콘텐츠를 스트리밍할 수 있는 공유 리소스입니다. 많은 트래픽 볼륨이 예상되거나 CDN을 사용하려는 경우 표준 스트리밍 엔드포인트를 사용하여 스트리밍 단위 크기를 조정할
프리미엄 스트리밍 엔드포인트/원본전용 스트리밍 단위를 추가하거나 제거하여 고객이 확장할 수 있는 유연성과 격리를 제공합니다. 스트리밍 단위 스트리밍 엔드포인트에 할당된 컴퓨팅 리소스입니다. 각 스트리밍 단위는 약 200Mbps의 트래픽을 스트리밍할 수 있습니다.
동일한 스트리밍 엔드포인트를 사용하여 동시에 많은 라이브 이벤트를 스트리밍할 수 있지만 하나의 스트리밍 엔드포인트에 필요한 최대 기본 스트리밍 단위는 10입니다. 지원 티켓을 열어 기본 10보다 많은 것을 요청할 수 있습니다.
필요한 프리미엄 스트리밍 단위 확인
필요한 스트리밍 엔드포인트 및 스트리밍 단위 수를 결정하는 두 가지 단계가 있습니다.
필요한 총 송신을 확인합니다.
각 스트리밍 단위가 스트리밍할 수 있는 최대 Mbps인 총 송신을 200으로 나눕니다.
필요한 총 송신 확인
다음 수식을 사용하여 필요한 총 송신을 확인합니다.
필요한 총 송신 = 평균 대역폭 x 동시 뷰어 수 x 스트리밍 엔드포인트에서 처리하는백분율입니다.
각 승수를 차례로 살펴보겠습니다.
평균 대역폭입니다. 스트리밍하려는 평균 비트 전송률은 무엇인가요? 즉, 여러 비트 전송률을 사용할 수 있게 하려는 경우 계획 중인 모든 비트 전송률의 평균 비트 전송률은 어느 것인가요? 다음 방법 중 하나를 사용하여 이를 예측할 수 있습니다.
인코딩포함하는 라이브 이벤트의 경우:
평균 대역폭이 어떻게 될지 모르는 경우 상위 비트 전송률을 예상으로 사용할 수 있습니다. 상위 비트 전송률은 1080p로 인코딩된 라이브 이벤트의 경우 5.5Mbps이므로 평균 비트 전송률은 약 3.5Mbps입니다.
라이브 이벤트를 인코딩하는 데 사용되는 인코딩 사전 설정(예: AdaptiveStreaming(H.264) 사전 설정을 확인합니다. 이 출력 예제참조하세요.
단순히 통과를 사용하고 인코딩하지 않는 라이브 이벤트의 경우:
- 로컬 인코더에서 사용하는 인코딩 비트 전송률 사다리를 확인합니다.
동시 뷰어 수입니다. 예상되는 동시 뷰어는 몇 명입니까? 이는 예측하기 어려울 수 있지만 고객 데이터에 따라 최선을 다합니다. 전 세계 청중에게 컨퍼런스를 스트리밍하고 있나요? 고객에게 제품 세트를 판매하기 위해 라이브 스트림을 계획하고 있나요?
필요한 프리미엄 스트리밍 단위 수 확인
프리미엄 스트리밍 단위 필요 = 평균 대역폭 x # 뷰어 x CDN에서 처리되지 않는 트래픽 비율 / 200Mbps
본보기
최근에 새 제품을 출시했으며 기존 고객에게 제공하려고 합니다. 이미 사용 중인 대상 그룹을 좌절시키지 않기 때문에 대기 시간이 짧아지므로 프리미엄 스트리밍 엔드포인트와 CDN을 사용합니다.
약 100,000명의 고객이 있지만 모두 라이브 이벤트를 시청하지는 않을 것입니다. 가장 좋은 경우에는 1명의% 참석하여 예상 동시 시청자 수를 1,000명까지 끌어올릴 수 있습니다.
동시 사용자 수 =1,000명의
Media Services를 사용하여 라이브 스트림을 인코딩하고 통과를 사용하지 않기로 결정했습니다. 평균 대역폭이 어떻게 될지는 알 수 없지만 1080p(상위 비트 전송률 5.5Mbps)로 제공되므로 평균 대역폭은 계산에 대해 3.5Mbps로 추정됩니다.
평균 대역폭 =3.5
대상 그룹은 전 세계에 분산되어 있으므로 CDN이 라이브 트래픽의 대부분(90%)을 처리할 것으로 예상합니다. 따라서 프리미엄 스트리밍 엔드포인트는 트래픽의% 10개만 처리합니다.
스트리밍 엔드포인트에서 처리하는 백분율 =10% = 0.1
위에 제공된 수식 사용:
필요한 총 송신 = 평균 대역폭 x 동시 뷰어 수 x 스트리밍 엔드포인트에서 처리된 백분율입니다.
필요한 총 송신
필요한 총 송신
총 송신을 200으로 나누면 1.75개의 프리미엄 스트리밍 단위가 필요하다고 결정합니다.
/200Mpbs에 필요한 총 송신을
프리미엄 스트리밍 단위 필요 = 1.75
이 숫자를 2로 반올림하여 필요한 2단위를 제공합니다.
포털을 사용하여 요구 사항 예측
Azure Portal을 사용하면 계산을 간소화할 수 있습니다. 스트리밍 페이지에서 제공된 계산기를 사용하여 평균 대역폭, CDN 적중률 및 스트리밍 단위 수를 변경할 때 예상 대상 그룹 도달률을 확인할 수 있습니다.
미디어 서비스 계정 페이지의 메뉴에서
Steaming 엔드포인트를 선택합니다. 스트리밍 엔드포인트 추가
선택하여 새 스트리밍 엔드포인트를 추가합니다. 스트리밍 엔드포인트에 이름을 지정합니다.
스트리밍 엔드포인트 유형에 대한 프리미엄 스트리밍 엔드포인트 선택합니다.
이 시점에서 예상을 가져오므로 만든 후에 스트리밍 엔드포인트를 시작하지 마세요. 없음을 선택합니다.
CDN 가격 책정 계층에 Standard Verizon 또는 Premium Verizon 선택합니다. 프로필 이름은 그에 따라 변경됩니다. 이 연습의 이름을 그대로 둡니다.
CDN 프로필의 경우 새로 만들기선택합니다.
만들기
선택합니다. 엔드포인트가 배포되면 스트리밍 엔드포인트 화면이 표시됩니다. 방금 만든 스트리밍 엔드포인트를 선택합니다. 스트리밍 엔드포인트 화면은 대상 그룹 도달률 추정치와 함께 표시됩니다.
스트리밍 엔드포인트가 1개인 스트리밍 엔드포인트의 기본 설정은 CDN의 90개% 스트리밍 엔드포인트의 10개% 사용하여 3.5Mbps에서 571명의 동시 뷰어로 스트리밍할 것으로 예상됨을 보여줍니다.
송신 원본 백분율을 CDN 캐시에서 90개%%변경합니다. 계산기는 CDN을 않고도 200Mbps
3.5Mbps에서 57명의 동시 뷰어로 스트리밍할 수 있을 것으로 예상합니다. 이제 송신 원본 다시 90개%변경합니다.
그런 다음
스트리밍 단위를 2로 변경합니다. 계산기는 CDN이 트래픽의 90개% 처리하는 4000Mpbs를 사용하여 3.5Mbps에서 1143명의 동시 뷰어로 스트리밍할 수 있을 것으로 예상합니다. 저장을 선택합니다.
스트리밍 엔드포인트를 시작하고 트래픽을 전송해 볼 수 있습니다. 화면 맨 아래에 있는 메트릭은 실제 트래픽을 추적합니다.
타이밍
스트리밍 단위가 준비되었는지 확인하기 위해 예상 최대 사용량보다 1시간 앞서 스트리밍 단위를 프로비전할 수 있습니다.
도움말 및 지원 받기
다음 방법 중 하나로 Media Services에 질문하거나 업데이트를 따를 수 있습니다.
- Q & A
- 스택 오버플로
. azure-media-services
질문에 태그를 추가합니다. - @MSFTAzureMedia 또는 @AzureSupport 사용하여 지원을 요청합니다.
- Azure Portal을 통해 지원 티켓을 엽니다.