HTTP Live Streaming Overview
https://developer.apple.com/documentation/http-live-streaming
목차
- 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
- HLS(HTTP Live Straming)은 애플 디바이스에서 멀티미디어를 재생하기 위해 웹서버에서 HTTP 오디오와 비디오를 전송.
- HLS는 유선 및 무선 연결의 사용 가능한 네트워크 속도에 맞게 재생을 최적화함으로써 네트워크 상황에 동적으로 적응하도록 설계됨.
- HLS supports the following
- 라이브 방송 및 VOD
- 각기 다른 속도로 여러 대체 스트림
- 네트워크 대역폭 변화에 대응하는 지능적인 스트림 전환
- 사용자 인증 및 미디어 암호화
Media encryption and user authentication
- HLS의 세가지 구성요소
- 일반적으로 하드웨어 인코더는 오디오 및 비디오 입력을 받아 HEVC 비디오와 AC-3 오디오로 인코딩하여 MPEG 형태로 스트림 출력
- 소프트웨어 스트림 세그먼터는 스트림을 짧은 미디어 파일로 분해하고, 이는 웹 서버에 저장.
- 세그먼트는 미디어 파일의 목록을 포함하여 인덱스 파일을 만들고 유지 관리
Access media through client software
- 클라이언트 입장에서는 요청할 적절한 미디어를 결정하고, 해당 리소스를 다운받아, 사용자에게 연속적으로 보여줄 수 있도록 재조립.
- HLS 플레이어와 서버간 통신하는 규칙은 HTTP Live Streaming 2nd Edition을 참조할 것.
- 애플은 AVKit, AVFoundation, WebKit 등을 통해 HLS를 지원하는 여러 프레임워크가 존재.
iOS 3.0 +
,Safari 4.0+
부터 지원하여 클라이언트 소프트웨어를 직접 개발할 필요는 없음.
- 하지만 소프트웨어를 직접 개발한 경우에는 URL을 통해서 인덱스 파일을 가져오는 것부터 처리
- 인덱스 파일을 순서대로 지정
- 사용 할 미디어 파일
- 디코딩
- 대체 가능한 스트림 위치
- 충분히 다운로드 되면, 스트림을 재조립하여 사용자에게 재생
- 인덱스 파일을 순서대로 지정
Important
- 클라이언트는 디코딩 키를 가져오고, 필요한 미디어 파일을 해독하는 역할 수행.
- 클라이언트가 인덱스 파일에서
EXT-X-ENDLIST
태그를 발견할 때까지 프로세스를 계속 진행 EXT-X-ENDLIST
태그가 없다면 인덱스 파일은 계속 진행 중인 영상의 일부- 진행 중인 상태에서는 주기적으로 인덱스 파일의 새 버전을 로드
- 업데이트 된 인덱스에서 새 미디어 파일과 함호화 키를 찾아 이 URL을 재생 버퍼에 추가
- 클라이언트가 인덱스 파일에서
- 클라이언트는 디코딩 키를 가져오고, 필요한 미디어 파일을 해독하는 역할 수행.
'apple > HLS' 카테고리의 다른 글
[HLS] Creating a Multivariant Playlist (0) | 2024.12.05 |
---|---|
[HLS] Live Playlist (sliding window) construction (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 |