728x90
반응형
HLS
HTTP Live Streaming은 가장 널리 사용되는 비디오 스트리밍 프로토콜입니다.
HLS는 비디오 파일을 다운로드할 수 있는 HTTP 파일 조각으로 나누고 HTTP 프로토콜을 이용하여 전송합니다.
Apple이 자사 제품에 사용하기 위해 개발했지만, 현재는 다양한 장치에서 사용되고 있습니다.
HLS는 스트리밍을 통해 미디어 파일을 한 번에 모두 보내지 않고 지속적으로 조금씩 사용자 장치에 보냅니다. 따라서 사용자의 장치가 모든 파일을 다운로드하지 않고 비디오 또는 오디오를 재생할 수 있습니다.
장점
- 모든 인터넷 장치가 HTTP를 지원하기 때문에 간단하게 실행 가능
- 재생에 지장을 주지 않고 네트워크 상태에 따라 비디오 품질 조절 가능 (다양한 품질로 스트리밍 세그먼트를 여러개 복사하기 때문에 가능)
작동 방식
1. 미디어 파일이 저장된 서버 또는 스트리밍이 제작된 서버에서 시작
2. 비디오 데이터 포맷을 다시 설정하여 모든 장치가 데이터를 인식하고 해석할 수 있도록 인코딩
3. 몇 초 길이 분량의 세그먼트로 조각화
4. 세그먼트의 인덱스 파일을 생성하여 세그먼트 순서 기록 및 다양한 품질로 여러 세트의 세그먼트 복제
5. 클라이언트가 스트리밍 요청 시 HLS 전송
m3u8
m3u8은 HLS 파일 형식이다. 이는 아래와 같다.
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-STREAM-INF:BANDWIDTH=940300,AVERAGE-BANDWIDTH=849459,CODECS="avc1.4d4028,mp4a.40.2",RESOLUTION=1920x1080,FRAME-RATE=30.000
file_example_MP4_1920_18MGprivate.m3u8
728x90
반응형
'CS > 그 외' 카테고리의 다른 글
OAuth 인증 과정 (0) | 2024.01.24 |
---|---|
인증과 인가 (0) | 2024.01.23 |
프론트엔드 입장에서 바라본 Socket과 WebSocket (0) | 2024.01.12 |
[⭐️⭐️⭐️⭐️⭐️] 브라우저의 렌더링 원리 (0) | 2023.03.10 |
댓글