영상 스트리밍
HLS
HLS는 긴 영상을 작은 조각으로 나누고, 재생 목록을 따라 순서대로 받아 보게 하는 스트리밍 방식입니다.
쉬운 설명
HLS는 긴 영상을 작은 조각으로 나누고, 재생 목록을 따라 순서대로 받아 보게 하는 스트리밍 방식입니다.
배경과 쓰임까지 이해하기
조금 더 자세히
HLS는 HTTP Live Streaming의 줄임말로, 영상을 짧은 구간으로 나눠 웹 서버와 CDN을 통해 전달하는 스트리밍 기술입니다.
라이브 방송과 VOD를 다양한 네트워크 환경에서 안정적으로 보여줄 때 널리 사용하며, ABR을 이용해 화질을 자동으로 바꿀 수 있습니다.
HLS라고 모두 실시간 지연이 짧은 것은 아닙니다. 영상 조각의 길이와 플레이어 설정에 따라 실제 방송보다 수초 이상 늦을 수 있습니다.
실제로는 이렇게 만나요
플레이어가 `master.m3u8`을 읽고 현재 속도에 맞는 화질을 고른 뒤, 목록에 적힌 영상 조각을 차례로 내려받아 재생합니다.
- 이런 거 할 때 나와요 라이브 방송과 VOD를 다양한 네트워크 환경에서 안정적으로 보여줄 때 널리 사용하며, ABR을 이용해 화질을 자동으로 바꿀 수 있습니다.
- 이렇게 생겼어요 `.m3u8` 재생 목록과 `.ts` 또는 `.m4s` 영상 조각 여러 개가 함께 있는 형태로 자주 보입니다.
- 나오는 화면 예시 브라우저 개발자 도구의 Network 탭에서 M3U8과 미디어 조각 요청이 이어지는 화면
HLS는 영상 파일 형식인가요?
하나의 영상 파일 형식이라기보다 재생 목록과 여러 영상 조각을 HTTP로 전달하는 스트리밍 방식입니다. 재생 목록에는 보통 `.m3u8` 확장자가 사용됩니다.
헷갈리기 쉬운 점
HLS라고 모두 실시간 지연이 짧은 것은 아닙니다. 영상 조각의 길이와 플레이어 설정에 따라 실제 방송보다 수초 이상 늦을 수 있습니다.
왜 알아두면 좋을까요?
라이브 방송과 VOD를 다양한 네트워크 환경에서 안정적으로 보여줄 때 널리 사용하며, ABR을 이용해 화질을 자동으로 바꿀 수 있습니다.
Checklist
실제로 볼 때 확인할 것
- 01
M3U8 주소가 정상적으로 열리는지 확인한다
- 02
여러 화질이 준비되어 있는지 본다
- 03
재생 지연과 끊김을 실제 네트워크에서 측정한다