CDN 통합을 사용하여 콘텐츠 스트리밍
경고
Azure Media Services는 2024년 6월 30일에 사용 중지됩니다. 자세한 내용은 AMS 사용 중지 가이드참조하세요.
중요하다
Azure Media Services는 2024년 6월 30일부터 사용 중지되고 Azure CDN은 2023년 10월 31일에 Akamai에서 Azure CDN Standard를 사용 중지할 Azure Media Services에 사용할 새 CDN을 만들지 않는 것이 가장 좋습니다. Azure Media Services 사용 중지 가이드참조하세요.
Azure CDN(Content Delivery Network)은 전 세계에 전략적으로 배치된 물리적 노드에서 콘텐츠를 캐싱하여 사용자에게 높은 대역폭 콘텐츠를 신속하게 제공하기 위한 글로벌 솔루션을 개발자에게 제공합니다.
CDN은 Media Services 스트리밍 엔드포인트(원본), 스트리밍 프로토콜당, 비트 전송률당, 컨테이너 형식 및 암호화/DRM당 스트리밍 콘텐츠를 캐시합니다. 코덱 스트리밍 프로토콜-컨테이너 형식 비트 전송률 암호화의 각 조합에 대해 별도의 CDN 캐시가 있습니다.
인기 있는 콘텐츠는 비디오 조각이 캐시되는 한 CDN 캐시에서 직접 제공됩니다. 일반적으로 많은 사람들이 똑같은 것을 보고 있기 때문에 라이브 콘텐츠가 캐시될 가능성이 높습니다. 인기 있는 콘텐츠와 그렇지 않은 콘텐츠가 있을 수 있기 때문에 주문형 콘텐츠는 다소 까다로울 수 있습니다. 인기가 없는 수백만 개의 비디오 자산이 있지만(일주일에 한두 명의 시청자만) 다른 모든 비디오를 시청하는 수천 명의 사람들이 있는 경우 CDN은 훨씬 덜 효과적입니다.
적응 스트리밍의 작동 방식도 고려해야 합니다. 각 개별 비디오 조각은 자체 엔터티로 캐시됩니다. 예를 들어 특정 비디오를 처음 시청하는 경우를 상상해 보세요. 뷰어가 여기 저기 몇 초만 시청하는 것을 건너뛰면 시청한 내용과 관련된 비디오 조각만 CDN에 캐시됩니다. 적응 스트리밍을 사용하면 일반적으로 비디오의 비트 전송률이 5~7개입니다. 한 사람이 비트 전송률을 보고 있고 다른 사람이 다른 비트 전송률을 보고 있는 경우 각 비트 전송률은 CDN에 개별적으로 캐시됩니다. 두 사람이 동일한 비트 전송률을 보고 있더라도 서로 다른 프로토콜을 통해 스트리밍할 수 있습니다. 각 프로토콜(HLS, MPEG-DASH, 부드러운 스트리밍)은 별도로 캐시됩니다. 따라서 각 비트 전송률과 프로토콜은 별도로 캐시되고 요청된 비디오 조각만 캐시됩니다.
테스트 환경을 제외하고 표준 및 프리미엄 스트리밍 엔드포인트 모두에 대해 CDN을 사용하도록 설정하는 것이 좋습니다. 각 스트리밍 엔드포인트 유형에는 지원되는 처리량 제한이 다릅니다.
고려해야 할 다양한 요소가 있으므로 스트리밍 엔드포인트에서 지원하는 최대 동시 스트림 수를 정확하게 계산하기는 어렵습니다. 여기에는 다음이 포함되었습니다.
- 스트리밍에 사용되는 최대 비트 전송률
- 플레이어 사전 버퍼링 및 전환 동작. 플레이어는 원점에서 세그먼트를 버스트하고 부하 속도를 사용하여 적응 비트 전송률 전환을 계산하려고 합니다. 스트리밍 엔드포인트가 채도에 가까워지면 응답 시간이 달라질 수 있으며 플레이어는 낮은 품질로 전환하기 시작합니다. 이렇게 하면 스트리밍 엔드포인트 플레이어의 부하가 줄어들기 때문에 더 높은 품질로 다시 확장하여 원치 않는 전환 트리거를 만듭니다.
전반적으로 최대 스트리밍 엔드포인트 처리량을 가져와서 최대 동시 스트림을 예측하고 이를 최대 비트 전송률로 나누는 것이 안전합니다(모든 플레이어가 가장 높은 비트 전송률을 사용함). 예를 들어 600Mbps로 제한되고 가장 높은 비트 전송률이 3Mbp인 표준 스트리밍 엔드포인트가 있을 수 있습니다. 이 경우 상위 비트 전송률에서 약 200개의 동시 스트림이 지원됩니다. 오디오 대역폭 요구 사항도 고려해야 합니다. 오디오 스트림은 128kps로만 스트리밍될 수 있지만 동시 스트림 수를 곱하면 총 스트리밍이 빠르게 추가됩니다.
이 항목에서는 CDN 통합사용하도록 설정하는 것에 대해 설명합니다. 또한 프리페치(활성 캐싱) 및 Origin-Assist CDN-프리페치 개념을 설명합니다.
고려 사항
-
스트리밍 엔드포인트
hostname
및 스트리밍 URL은 CDN을 사용하도록 설정했는지 여부에 관계없이 동일하게 유지됩니다. - CDN을 사용하거나 사용하지 않고 콘텐츠를 테스트하는 기능이 필요한 경우 CDN을 사용하도록 설정되지 않은 다른 스트리밍 엔드포인트를 만듭니다.
Azure CDN 통합 사용
중요하다
평가판 또는 학생 Azure 계정에 CDN을 사용하도록 설정할 수 없습니다.
CDN 통합은 연방 정부 및 중국 지역을 제외한 모든 Azure 데이터 센터에서 사용하도록 설정됩니다.
CDN을 사용하도록 설정된 스트리밍 엔드포인트를 프로비전한 후에는 스트리밍 엔드포인트를 CDN 엔드포인트에 매핑하기 위해 DNS 업데이트가 수행되기 전에 Media Services에 정의된 대기 시간이 있습니다.
나중에 CDN을 사용하지 않도록 설정/사용하도록 설정하려면 스트리밍 엔드포인트가 중지된 상태여야 합니다. 스트리밍 엔드포인트가 시작되면 Azure CDN 통합을 사용하도록 설정하고 모든 CDN POP에서 변경 내용을 활성화하는 데 최대 4시간이 걸릴 수 있습니다. 그러나 스트리밍 엔드포인트에서 중단 없이 스트리밍 엔드포인트 및 스트림을 시작할 수 있습니다. 통합이 완료되면 스트림이 CDN에서 전달됩니다. 프로비저닝 기간 동안 스트리밍 엔드포인트는 시작 상태이며 성능이 저하될 수 있습니다.
표준 스트리밍 엔드포인트가 만들어지면 기본적으로 Standard Verizon으로 구성됩니다. REST API를 사용하여 프리미엄 Verizon 또는 표준 Akamai 공급자를 구성할 수 있습니다.
Azure CDN과의 Azure Media Services 통합은 표준 스트리밍 엔드포인트에 대해 Verizon Azure CDN을
메모
Azure CDN에 대한 자세한 내용은 CDN 개요참조하세요.
DNS 변경이 이루어졌는지 확인
https://www.digwebinterface.com사용하여 스트리밍 엔드포인트(트래픽이 Azure CDN으로 전달됨)에서 DNS 변경이 이루어졌는지 확인할 수 있습니다. 결과에 azureedge.net
도메인 이름이 표시되면 트래픽이 이제 CDN을 가리키고 있습니다.
Origin-Assist CDN-Prefetch
CDN 캐싱은 반응형 프로세스입니다. CDN이 요청될 다음 개체를 예측할 수 있는 경우 CDN은 사전에 다음 개체를 요청하고 캐시할 수 있습니다. 이 프로세스를 사용하면 모든 개체(또는 대부분의 개체)에 대한 캐시 적중을 달성하여 성능을 향상시킬 수 있습니다.
프리페치는 개체를 "인터넷의 가장자리"에 배치하여 플레이어가 개체를 곧 요청할 것으로 예상하여 해당 개체를 플레이어에게 전달하는 시간을 줄입니다.
이 목표를 달성하려면 스트리밍 엔드포인트(원본) 및 CDN이 다음과 같은 몇 가지 방법으로 직접 작동해야 합니다.
- Media Services 원본에는 CDN에 다음에 프리페치할 개체를 알리기 위해 "인텔리전스"(Origin-Assist)가 있어야 합니다.
- CDN은 프리페치 및 캐싱(CDN 프리페치 부분)을 수행합니다. 또한 CDN에는 다음을 위한 "인텔리전스"가 있어야 합니다.
- 프리페치인지 일반 인출인지 여부를 원본에 알릴 수 있습니다.
- 404 응답 처리
- 무한 프리페치 루프를 방지하는 방법
혜택
Origin-Assist CDN 프리페치 기능의 이점은 다음과 같습니다.
- 프리페치는 재생 중에 예상되는 비디오 세그먼트를 에지에 미리 배치하고, 뷰어에 대한 대기 시간을 줄이고, 비디오 세그먼트 다운로드 시간을 개선하여 비디오 재생 품질을 향상시킵니다. 이로 인해 비디오 시작 시간이 빨라지고 거부 발생 시간이 줄어듭니다.
- 이 개념은 일반적인 CDN 원본 시나리오에 적용할 수 있으며 미디어에만 국한되지 않습니다.
- Akamai는 ACE(Akamai Cloud Embed)
이 기능을 추가했습니다.
메모
이 기능은 Media Services 스트리밍 엔드포인트와 통합된 Akamai CDN에는 아직 적용되지 않습니다. 그러나 기존 Akamai 계약이 있고 Akamai CDN과 Media Services 원본 간의 사용자 지정 통합이 필요한 Media Services 고객은 사용할 수 있습니다.
작동 방식
Akamai CDN과 직접 계약을 맺은 고객은 Origin-Assist CDN-Prefetch
헤더(라이브 및 비디오 주문형 스트리밍 모두)에 대한 CDN 지원을 사용할 수 있습니다. 이 기능에는 Akamai CDN과 Media Services 원본 간의 다음 HTTP 헤더 교환이 포함됩니다.
HTTP 헤더 | 값 | 발송인 | 수화기 | 목적 |
---|---|---|---|---|
CDN-Origin-Assist-Prefetch-Enabled |
1(기본값) 또는 0 | CDN | 기원 | CDN이 프리페치를 사용하도록 설정되어 있음을 나타냅니다. |
CDN-Origin-Assist-Prefetch-Path |
본보기: Fragments(video=1400000000,format=mpd-time-cmaf) |
기원 | CDN | CDN에 대한 프리페치 경로를 제공합니다. |
CDN-Origin-Assist-Prefetch-Request |
1(프리페치 요청) 또는 0(일반 요청) | CDN | 기원 | CDN의 요청이 프리페치임을 나타냅니다. |
헤더 교환의 작동 부분을 보려면 다음 단계를 시도해 볼 수 있습니다.
- cURL을 사용하여 오디오 또는 비디오 세그먼트 또는 조각에 대한 Media Services 원본에 대한 요청을 실행합니다. 요청에 헤더
CDN-Origin-Assist-Prefetch-Enabled: 1
추가해야 합니다. - 응답에서 상대 경로가 값으로 포함된 헤더
CDN-Origin-Assist-Prefetch-Path
표시됩니다.
지원되는 스트리밍 프로토콜
Origin-Assist CDN-Prefetch
기능은 라이브 및 주문형 스트리밍에 대해 다음 스트리밍 프로토콜을 지원합니다.
- HLS v3
- HLS v4
- HLS CMAF
- DASH(CSF)
- DASH(CMAF)
- 부드러운 스트리밍
FAQ
CDN 프리페치가 404를 가져오도록 프리페치 경로 URL이 유효하지 않으면 어떻게 되나요?
CDN은 10초 동안(또는 기타 구성된 값) 동안만 404 응답을 캐시합니다.
주문형 비디오가 있다고 가정해 보겠습니다. CDN 프리페치를 사용하는 경우 이 기능은 클라이언트가 첫 번째 비디오 세그먼트를 요청하면 프리페치가 루프를 시작하여 모든 후속 비디오 세그먼트를 동일한 비트 전송률로 프리페치한다는 것을 의미하나요?
아니요, CDN 프리페치는 클라이언트가 시작한 요청/응답 후에만 수행됩니다. 프리페치 루프를 방지하기 위해 CDN 프리페치는 프리페치에 의해 트리거되지 않습니다.
Origin-Assist CDN-Prefetch 기능이 항상 켜지나요? 어떻게 켜거나 끌 수 있나요?
이 기능은 기본적으로 꺼져 있습니다. 고객은 Akamai API를 통해 켜야 합니다.
라이브 스트리밍의 경우 다음 세그먼트 또는 조각을 아직 사용할 수 없는 경우 Origin-Assist 어떻게 될까요?
이 경우 Media Services 원본은
CDN-Origin-Assist-Prefetch-Path
헤더를 제공하지 않으며 CDN 프리페치가 발생하지 않습니다.동적 매니페스트 필터는
Origin-Assist CDN-Prefetch
어떻게 작동하나요?이 기능은 매니페스트 필터와 독립적으로 작동합니다. 다음 조각이 필터 창에서 벗어나면 해당 URL은 원시 클라이언트 매니페스트를 조사한 다음 CDN 프리페치 응답 헤더로 반환됩니다. 따라서 CDN은 DASH/HLS/부드러운 매니페스트에서 필터링된 조각의 URL을 가져옵니다. 그러나 플레이어가 보유한 DASH/HLS/부드러운 매니페스트에 해당 조각이 포함되지 않기 때문에 플레이어는 CDN에 해당 조각을 가져오도록 GET 요청을 하지 않습니다(플레이어는 해당 조각의 존재를 알지 못함).
DASH MPD/HLS 재생 목록/부드러운 매니페스트를 프리페치할 수 있나요?
아니요, DASH MPD, HLS 마스터 재생 목록, HLS 변형 재생 목록 또는 부드러운 매니페스트 URL은 프리페치 헤더에 추가되지 않습니다.
프리페치 URL이 상대적이거나 절대적인가요?
Akamai CDN은 둘 다 허용하지만 Media Services 원본은 절대 URL을 사용하는 데 명백한 이점이 없기 때문에 프리페치 경로에 대한 상대 URL만 제공합니다.
이 기능은 DRM으로 보호되는 콘텐츠에서 작동하나요?
예, 이 기능은 HTTP 수준에서 작동하므로 세그먼트/조각을 디코딩하거나 구문 분석하지 않습니다. 콘텐츠가 암호화되었는지 여부는 중요하지 않습니다.
이 기능은 SSAI(서버 쪽 광고 삽입)에서 작동하나요?
SSAI는 Media Services 원본에서 원본 콘텐츠의 타임스탬프를 변경하지 않으므로 원본/기본 콘텐츠(광고 삽입 전의 원본 비디오 콘텐츠)가 작동합니다. 이 기능이 광고 콘텐츠와 함께 작동하는지 여부는 광고 원본이 Origin-Assist를 지원하는지 여부에 따라 달라집니다. 예를 들어 광고 콘텐츠가 Azure Media Services(동일하거나 별도의 원본)에서 호스트되는 경우 광고 콘텐츠도 프리페치됩니다.
이 기능은 UHD/HEVC 콘텐츠에서 작동하나요?
예.
방법, 자습서 및 샘플
- CDN 최적화를 사용하도록 설정하는 방법 -Origin Shield 사용하도록 설정하는 방법
도움말 및 지원 받기
다음 방법 중 하나로 Media Services에 질문하거나 업데이트를 따를 수 있습니다.
- Q & A
- 스택 오버플로
. azure-media-services
질문에 태그를 추가합니다. - @MSFTAzureMedia 또는 @AzureSupport 사용하여 지원을 요청합니다.
- Azure Portal을 통해 지원 티켓을 엽니다.