Live Playlist (sliding window) construction
- 라이브 세션 플레이리스트를 위한 기본 구성에 대한 이해
목차
- Adding alternate media to a playlist
- Incorporating Ads into a Playlist
- Video on Demand playlist construction
- Event playlist construction
- Live Playlist (sliding window) construction
- HTTP Live Streaming Overview
- Creating a Multivariant Playlist
Overview
- 라이브 세션에서는 새로운 미디어 파일이 생성되고 사용가능 할 때, 기존 파일의 URI를 제거하는 방식으로 인덱스 파일을 업데이트.
EXT-T-ENDLIST
태그를 플레이리스트에 나타나지 않았기에, 샤로운 미디어 파일이 사용 가능해질 때 인덱스 파일에 추가됨을 가리킴.
Example
- 아래 코드는 세션 시작시, Live Playlist의 예제
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:4
#EXT-X-MEDIA-SEQUENCE:1
#EXTINF:10.0,
fileSequence1.ts
#EXTINF:10.0,
fileSequence2.ts
#EXTINF:10.0,
fileSequence3.ts
#EXTINF:10.0,
fileSequence4.ts
#EXTINF:10.0,
fileSequence5.ts
EXTM3U
- 해당 파일이 확장된 M3U 파일임을 가르킴. 파일의 이 타입은 첫줄이 MXU3U로 기본 M3U 파일과 구분됨.
- 모든 HLS 파일은 이 태그로 시작해야함.
EXT-X-TARGETDURATION
- 미디어 파일 duration의 최댓값 명시.
EXT-X-VERSION
- 플레이리스트 파일의 호환 가능한 버전을 가르킴.
- HTTP Live Streaming 규격의 최신 버전 IETF Internet-Draft에서 정의하는 프로토콜 규정을 준수해야 함.
EXT-X-MEDIA-SEQUENCE
- 플레이리스트에 나타나는 첫번째 URL의 스퀀스 번호를 가르킴.
- 각 미디어 파일 URL은 고유한 정수 번호이며, URL의 시퀀스 번호는 이전 URL의 시퀀스 번호보다 1 크다.
- 시퀀스 번호는 파일의 이름과는 무관.
- Important.
- 플레이리스트에서 제거되는 모든 미디어 URI의 EXST-X-MEDIA-SEQUE 태그 값을 1 증가시켜야 함.
- 미디어 URI는 플레이리스트에 표시되는 시퀀스 순서대로 플레이리스트에서 파일에서 제거되어야 함.
- 갱신 된 인덱스 파일은 연속적인 스트림으로 이동 가능한 창을 제공하며, 이러한 유형의 세션은 연속적인 방송에 적함.
EXTINF
- 뒤에 있는 URL로 식별된 미디어 파일을 나타내는 레코드 마커. 각 미디어 파일의 URL 앞에는 EXTINF 태그가 존재해야 함.
- 해당 태그에선 미디어 세그먼트의 지속 시간을 . 초단위로 지정하는 십진법으로 정수 혹은 실수로 duration이 포함되어 있음.
- 이 값은 총 duration보다 같거나 작아야 함.
- Important.
- 프로토콜 버전 3부터는 이 값은 항상 실수형(float)를 사용.
- 반올림 오차를 줄일 . 수있음.
- 아래 예저는 새 미디어 URI로 갱신 후 동일한 플레이리스트.
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:4
#EXT-X-MEDIA-SEQUENCE:2
#EXTINF:10.0,
fileSequence2.ts
#EXTINF:10.0,
fileSequence3.ts
#EXTINF:10.00,
fileSequence4.ts
#EXTINF:10.00,
fileSequence5.ts
#EXTINF:10.0,
fileSequence6.ts
- 새 미디어 URI가 추가되면 플레이리스트가 계속 업데이트 됨.
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:4
#EXT-X-MEDIA-SEQUENCE:4
#EXTINF:10.00,
fileSequence4.ts
#EXTINF:10.00,
fileSequence5.ts
#EXTINF:10.0,
fileSequence6.ts,
#EXTINF:10.0,
fileSequence7.ts,
#EXTINF:10.0,
fileSequence8.ts,
#EXTINF:10.0,
fileSequence9.ts
'apple > HLS' 카테고리의 다른 글
[HLS] Creating a Multivariant Playlist (0) | 2024.12.05 |
---|---|
[HLS] HTTP Live Streaming Overview (0) | 2024.12.05 |
[HLS] Event playlist construction (0) | 2024.12.05 |
[HLS] Video on Demand playlist construction (0) | 2024.12.05 |
[HLS] Incorporating Ads into a Playlist (0) | 2024.12.05 |