HTTP 실시간 스트리밍(HLS)은 동영상 콘텐츠의 고화질 스트리밍을 지원하는 적응형 비트 전송률 실시간 스트리밍 동영상 프로토콜입니다. Ad Manager용 DAI는 HLS 버전 3을 지원합니다. 이 통합 가이드에서는 HLS 사용을 위한 요구사항 및 권장사항을 자세히 설명합니다.
실시간 및 VOD가 지원되는 기능 보기기능 | 실시간 선형 | VOD |
---|---|---|
EXTINF |
||
EXT-X-DATERANGE > SCTE35-IN |
— | |
EXT-X-DATERANGE > SCTE35-OUT |
— | |
EXT-X-DISCONTINUITY |
||
EXT-X-DISCONTINUITY-SEQUENCE |
— | |
EXT-X-ENDLIST |
* | |
EXT-X-I-FRAME-STREAM-INF |
||
EXT-X-I-FRAMES-ONLY |
||
EXT-X-INDEPENDENT-SEGMENTS |
||
EXT-X-KEY |
||
EXT-X-MEDIA (렌디션 그룹) |
||
EXT-X-MEDIA-SEQUENCE |
— | |
EXT-X-PLAYLIST-TYPE |
||
EXT-X-PROGRAM-DATE-TIME |
||
EXT-X-STREAM-INF > AUDIO |
||
EXT-X-STREAM-INF > AVERAGE-BANDWIDTH |
||
EXT-X-STREAM-INF > BANDWIDTH |
||
EXT-X-STREAM-INF > CLOSED CAPTIONS |
||
EXT-X-STREAM-INF > CODECS |
||
EXT-X-STREAM-INF > FRAMERATE |
||
EXT-X-STREAM-INF > RESOLUTION |
||
EXT-X-STREAM-INF > SUBTITLES |
||
EXT-X-STREAM-INF > VIDEO |
||
EXT-X-TARGETDURATION |
||
EXT-X-VERSION |
* 이벤트 유형 재생목록의 실시간 스트림에서만 지원됩니다.
특정 섹션으로 이동하기
재생목록 및 렌디션 그룹
GZIP 콘텐츠 인코딩을 사용하여 재생목록을 게재하세요(권장). 마스터 재생목록 및 세그먼트의 변형은 절대 URL 또는 상대 URL을 사용할 수 있습니다.
모든 광고 애셋은 슬레이트를 비롯한 I-FRAME 재생목록을 포함하도록 트랜스코딩됩니다. Ad Manager DAI는 콘텐츠에서 I-FRAME 재생목록을 생성하거나 동영상/오디오 조합을 기반으로 새로운 렌디션 그룹을 생성하지 않습니다.
- 선형 실시간 방송의 경우: 필요한 경우 I-FRAME 재생목록은 인코더/패키지 프로그램에 의해 생성되고 컨디셔닝되어야 합니다. 렌디션 그룹은 실시간 인코더에서 생성되는 대로 게재됩니다.
- VOD: 필요한 경우 내부 데이터화할 때 I-FRAME 재생목록을 마스터 매니페스트에 제공해야 합니다. Ad Manager에서는 제공된 I-FRAME 재생목록 파일에 액세스할 수 없거나 이러한 파일을 파싱할 수 없는 경우에만 오류가 발생합니다. 렌디션 그룹은 마스터 매니페스트에서 제공될 때 게재됩니다.
코덱 및 해상도
실시간 스트림 및 VOD 애셋의 HLS 마스터 재생목록에는 선택적 CODECS
및 RESOLUTION
속성이 포함되어 있어야 합니다. 이러한 속성은 인코딩 설정에 대응하는 적합한 광고를 찾는 데 사용됩니다. 이 값이 제공되지 않는 경우 대역폭만을 기준으로 광고를 일치시키게 되며 이로 인해 광고와 콘텐츠 사이에 해상도 및 코텍 불일치가 발생할 수 있습니다. 이로 인해 다양한 기기에서 사용자 경험을 해치거나 재생 문제를 유발할 수 있습니다.
CODECS
속성에는 오디오 코덱과 동영상 코덱이 모두 포함되어 있어야 합니다. 인코더는 언제든지 마스터 재생목록 URL에 변형을 추가하거나 삭제할 수 있습니다.
오디오 코덱
DAI는 AAC 오디오 코덱을 지원하며, AC-3 및 E-AC-3 코덱도 지원합니다.
CODECS
및 RESOLUTION
조합에 대해 일관되게 유지하세요.사용자에게 재생 문제가 발생하지 않도록 하려면 인코더가 각 변형 URL에 대해 일관된 URL을 유지하도록 구성되었는지 확인해야 합니다.
예
CODECS 및 RESOLUTION이 포함된 마스터 재생목록
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=694272,CODECS="avc1.77.41,mp4a.40.2",RESOLUTION=768x432
chunklist_b694272.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=202752,CODECS="avc1.66.31,mp4a.40.2",RESOLUTION=480x270
Chunklist_b202752.m3u8
세그먼트 길이
HLS 미디어 재생목록에는 십진 부동 소수점으로 표시된 숫자로 선언된 미디어 세그먼트 길이가 있어야 합니다. 길이에 부동 소수점 수준의 정확도가 있어야 광고가 시작하고 끝나는 정확한 시간을 정할 수 있습니다. 길이값의 정확도가 낮을수록 시스템에서 광고 시간이 결과 스트림에서 발생하는 시간을 정하는 정확도가 떨어질 수 있습니다.
예
#EXTINF
가 포함된 미디어 재생목록
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:26
#EXTINF:9.901,
http://media.example.com/wifi/segment26.ts
#EXTINF:9.901,
http://media.example.com/wifi/segment27.ts
#EXTINF:9.501,
http://media.example.com/wifi/segment28.ts
타임스탬프 정렬
변형 미디어 재생목록에 있는 모든 세그먼트의 프레젠테이션 타임스탬프(PTS)는 정렬되어야 합니다. P-프레임과 B-프레임은 다른 프레임을 참조하여 프레임을 디코딩합니다. 또한 H.264 코덱은 인접하지 않은 프레임을 참조하여 더 효과적으로 압축합니다. 이러한 프레임은 디코딩과 프레젠테이션을 위해 다른 프레임에 의존하므로 디코드 타임스탬프(DTS)가 프레임이 디코딩되는 순서를 제공하고 PTS가 프레임이 제시되는 순서를 제공합니다. 광고 애셋이 재생될 때 다양한 비트 전송률에 맞게 조정하는 경우 PTS를 정렬하는 것이 중요합니다. 광고 삽입은 PTS를 사용하여 광고 삽입 위치를 찾습니다.
불연속
미디어 재생목록의 모든 EXT-X-DISCONTINUITY
에는 EXT-X-DISCONTINUITY-SEQUENCE
가 있어야 합니다. EXT‑X‑DISCONTINUITY‑SEQUENCE
태그는 동일한 변형 스트림 또는 여러 변형 스트림의 다양한 변환 간의 동기화를 허용합니다.
미디어 암호화
미디어 콘텐츠를 암호화하려면 다음으로 암호화해야 합니다.
- AES-128(전체 세그먼트 암호화)
- SAMPLE-AES(오디오 또는 동영상과 같은 개별 미디어 암호화)
- SAMPLE-AES-CTR
Ad Manager DAI는 FairPlay를 사용하는 HLS 스트림을 위한 DRM 기술에 대한 지원과 CMAF/프래그먼트 MP4가 포함된 기타 DRM에 대한 지원을 제공합니다.
예
#EXT-X-KEY
가 포함된 미디어 재생목록
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:26
#EXT-X-KEY:METHOD=AES-128,URI="https://media.example.com/asset/key1.php?id=<signature>",IV=<initialization vector>
#EXTINF:9.901,
http://media.example.com/wifi/segment26.ts
#EXTINF:9.901,
http://media.example.com/wifi/segment27.ts
#EXT-X-KEY:METHOD=AES-128,URI="https://media.example.com/asset/key2.php?id=<signature>"
#EXTINF:9.501,
http://media.example.com/wifi/segment28.ts