Media Services 라이브 스트리밍 모범 사례 가이드

고객이 라이브 스트림의 대기 시간을 줄일 수 있는 방법을 묻는 경우가 많습니다. 이 문서에서는 라이브 이벤트 인코딩 외에도 대기 시간이 짧은 라이브 스트림을 달성하기 위한 모범 사례를 설명합니다.

참고

이 문서를 계속 읽기 전에 LL-HLS(짧은 대기 시간 HLS) 문서를 읽어 라이브 이벤트 인코딩으로 짧은 대기 시간을 이해합니다. 그런 다음 이 가이드로 돌아와 스트리밍 대기 시간에 영향을 줄 수 있는 다른 사항을 이해합니다.

미디어를 인코딩하는 방법 외에 스트림의 엔드 투 엔드 대기 시간을 결정하는 여러 요소가 있습니다. 다음은 고려해야 하는 몇 가지 사항입니다.

  1. 기여 인코더 쪽의 지연. 고객이 OBS Studio, Wirecast 등의 인코딩 소프트웨어를 사용하여 RTMP 라이브 스트림을 Media Services로 전송하는 경우입니다. 이 소프트웨어의 설정은 라이브 스트림의 엔드투엔드 대기 시간에 영향을 미칩니다.

  2. Azure Media Services 내 라이브 스트리밍 파이프라인의 지연

  3. CDN 성능

  4. 클라이언트 쪽 네트워크 상태 및 비디오 플레이어의 버퍼링 알고리즘

  5. 프로비저닝 타이밍

기여 인코더

RTMP 스트림이 Media Services에 도달하기 전에 원본 인코더 설정을 제어할 수 있습니다. 다음은 가능한 가장 짧은 대기 시간을 제공하는 설정에 대한 몇 가지 권장 사항입니다.

  1. Media Services 계정의 기여 인코더에 가장 가까운 물리적 지역을 선택합니다. 그러면 Media Services 계정에 대한 우수한 네트워크 연결이 보장됩니다.

  2. 일관된 조각 크기를 사용합니다. GOP 크기를 2초로 지정하는 것이 좋습니다. OBS와 같은 일부 인코더의 기본값은 8초입니다. 이 설정을 변경해야 합니다.

  3. 인코딩 소프트웨어에서 허용하는 경우 GPU 인코더를 사용합니다. 이렇게 하면 CPU 작업을 GPU로 오프로드할 수 있습니다.

  4. 짧은 대기 시간에 최적화된 인코딩 프로필을 사용합니다. 예를 들어 OBS Studio에서 Nvidia H.264 인코더를 사용하는 경우 “대기 시간 0” 사전 설정이 표시될 수 있습니다.

  5. 스트리밍하려는 콘텐츠보다 해상도가 높지 않은 콘텐츠를 전송합니다. 예를 들어 720p 표준 인코딩 라이브 이벤트를 사용하는 경우 이미 720p인 스트림을 전송합니다.

  6. 통과 라이브 이벤트를 사용하지 않는 한, 프레임 속도를 30fps 이하로 유지합니다. 라이브 이벤트의 경우 60fps 입력이 지원되지만 인코딩 라이브 이벤트 출력은 여전히 30fps를 초과하지 않습니다. 짧은 대기 시간 HLS의 경우 고정 프레임 속도를 권장하며 최상의 환경을 위해 최대 프레임 지속 시간은 0.5초를 초과하지 않아야 합니다.

Azure Media Services 라이브 이벤트 구성

다음은 파이프라인의 대기 시간을 줄이는 데 도움이 되는 몇 가지 구성입니다.

  1. 라이브 이벤트에 짧은 대기 시간 스트림 옵션을 사용합니다. 표준 인코딩(최대 720p) 및 프리미엄 인코딩(최대 1080p) 스트림 옵션의 경우 6시간보다 긴 DVR 창 또는 부드러운 스트리밍 출력이 필요하지 않은 경우 짧은 대기 시간 스트림 대기 시간 설정을 사용합니다.

  2. 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)
  3. TS 출력을 선택해야 하는 경우 HLS 압축 비율 1을 사용합니다. 이렇게 하면 하나의 조각만 하나의 HLS 세그먼트로 압축할 수 있습니다. 네이티브 Apple 플레이어에서는 LL-HLS를 완전히 활용할 수 없습니다.

플레이어 최적화

비디오 플레이어를 선택하고 구성할 때 짧은 대기 시간에 최적화된 설정을 사용해야 합니다.

Media Services는 DASH, TS 출력을 사용한 HLS, CMAF 조각을 사용한 HLS 등 다양한 스트리밍 프로토콜 출력을 지원합니다. LowLatencyV2 스트림 옵션을 사용하는 경우 LL-HLS(짧은 대기 시간 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보다 많이 요청할 수 있습니다.

필요한 프리미엄 스트리밍 단위 결정

필요한 스트리밍 엔드포인트 및 스트리밍 단위 수를 결정하는 두 가지 단계는 다음과 같습니다.

  1. 필요한 총 송신을 결정합니다.

  2. 각 스트리밍 단위가 스트리밍할 수 있는 최대 Mbps인 200으로 총 송신을 나눕니다.

필요한 총 송신 결정

다음 수식을 사용하여 필요한 총 송신을 결정합니다.

필요한 총 송신 = 평균 대역폭 x 동시 시청자 수 x 스트리밍 엔드포인트에서 처리되는 백분율

각 승수를 차례로 살펴봅시다.

평균 대역폭. 스트리밍하려는 평균 비트 전송률은 무엇인가요? 즉, 여러 비트 전송률을 사용할 수 있게 하려는 경우 계획 중인 모든 비트 전송률의 평균 비트 전송률은 무엇인가요? 다음 방법 중 하나를 사용하여 이 값을 예측할 수 있습니다.

인코딩이 포함된 라이브 이벤트의 경우:

  • 예상 평균 대역폭을 알 수 없는 경우 최고 비트 전송률을 추정치로 사용할 수 있습니다. 1080p로 인코드된 라이브 이벤트의 경우 최고 비트 전송률은 5.5Mbps이므로 평균 비트 전송률은 약 3.5Mbps가 됩니다.

  • 라이브 이벤트를 인코드하는 데 사용되는 인코딩 사전 설정(예: AdaptiveStreaming(H.264) 사전 설정)을 확인합니다. 출력 예제를 참조하세요.

단순히 통과를 사용하고 인코드하지 않는 라이브 이벤트의 경우:

  • 로컬 인코더에서 사용하는 인코딩 비트 전송률 래더를 확인합니다.

동시 시청자 수. 예상되는 동시 시청자는 몇 명인가요? 예측하기 어려울 수 있지만 고객 데이터를 기준으로 최선을 다합니다. 글로벌 대상 그룹에 회의를 스트리밍하고 있나요? 고객에게 제품 집합을 판매하기 위해 라이브 스트림을 계획하고 있나요?

스트리밍 엔드포인트에서 처리되는 트래픽의 백분율. 실제로 수식에 대입되는 숫자인 “CDN에서 처리되지 않는 트래픽의 백분율”로 표현될 수도 있습니다. 이 점에 유의해서, 예상하는 CDN 오프로드는 무엇인가요? CDN이 라이브 트래픽의 90%를 처리할 것으로 예상되는 경우 스트리밍 엔드포인트에서 예상되는 것은 트래픽의 10%뿐입니다. 수식에 사용되는 숫자는 스트리밍 엔드포인트에서 예상되는 트래픽의 백분율인 .10입니다.

필요한 프리미엄 스트리밍 단위 수 결정

필요한 프리미엄 스트리밍 단위 = 평균 대역폭 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 스트리밍 엔드포인트에서 처리되는 백분율

필요한 총 송신 = 3.5 x 1,000 x 0.1

필요한 총 송신 = 350Mbps

총 송신을 200으로 나누어 1.75개의 프리미엄 스트리밍 단위가 필요하다고 결정합니다.

필요한 프리미엄 스트리밍 단위 = 필요한 총 송신/200Mpbs

필요한 프리미엄 스트리밍 단위 = 1.75

이 숫자를 2로 반올림하면 2개 단위가 필요합니다.

포털을 사용하여 요구 사항 예측

Azure Portal을 사용하면 계산을 간소화할 수 있습니다. 스트리밍 페이지에서 제공된 계산기를 사용하여 평균 대역폭, CDN 적중률, 스트리밍 단위 수를 변경할 때 예상 대상 그룹의 도달률을 확인할 수 있습니다.

  1. Media Services 계정 페이지의 메뉴에서 스트리밍 엔드포인트를 선택합니다.

  2. 스트리밍 엔드포인트 추가를 선택하여 새 스트리밍 엔드포인트를 추가합니다.

  3. 스트리밍 엔드포인트에 이름을 지정합니다.

  4. 스트리밍 엔드포인트 유형에서 프리미엄 스트리밍 엔드포인트를 선택합니다.

  5. 이 시점에는 추정치만 가져오기 때문에 스트리밍 엔드포인트를 만든 후에 시작하지 않습니다. 아니오를 선택합니다.

  6. CDN 가격 책정 계층에서 표준 Verizon 또는 프리미엄 Verizon을 선택합니다. 프로필 이름이 적절하게 변경됩니다. 이 연습에서는 이름을 그대로 둡니다.

  7. CDN 프로필에서 새로 만들기를 선택합니다.

  8. 만들기를 선택합니다. 엔드포인트가 배포되면 스트리밍 엔드포인트 화면이 나타납니다.

  9. 방금 만든 스트리밍 엔드포인트를 선택합니다. 대상 그룹 도달률 추정치가 포함된 스트리밍 엔드포인트 화면이 나타납니다.

  10. 스트리밍 단위가 1개인 스트리밍 엔드포인트의 기본 설정에서는 CDN 90%와 스트리밍 엔드포인트 10%를 사용하여 3.5Mbps에서 동시 시청자 571명에게 스트리밍할 것으로 예상됩니다.

  11. 송신 원본의 백분율을 CDN 캐시 90%에서 0%로 변경합니다. 계산기가 3.5Mbps(CDN이 없을 경우 200Mbps)에서 동시 시청자 57명에게 스트리밍할 수 있을 것으로 예측합니다.

  12. 이제 송신 원본을 다시 90%로 변경합니다.

  13. 그런 다음, 스트리밍 단위를 2로 변경합니다. 계산기가 3.5Mbps(CDN에서 트래픽의 90%를 처리할 경우 4000Mpbs)에서 동시 시청자 1143명에게 스트리밍할 수 있을 것으로 예측합니다.

  14. 저장을 선택합니다.

  15. 스트리밍 엔드포인트를 시작하고 트래픽 전송을 시도할 수 있습니다. 화면 맨 아래에 있는 메트릭은 실제 트래픽을 추적합니다.

타이밍

스트리밍 단위가 준비되도록 예상 최대 사용량보다 1시간 앞서 스트리밍 단위를 프로비저닝할 수 있습니다.

도움말 및 지원 보기

다음 방법 중 하나로 Media Services에 문의하거나 업데이트를 따를 수 있습니다.