본문으로 건너뛰기
Previous
Next
HLS 뜻과 의미 | 기술 용어 사전 | pkglog
멀티미디어

HLS

다른 이름: HTTP Live Streaming , HLS.js

정의

HTTP Live Streaming. Apple이 2009년 개발한 HTTP 기반 적응형 스트리밍 프로토콜. M3U8 플레이리스트 + TS/fMP4 세그먼트 구조. ABR(Adaptive Bitrate) 지원으로 네트워크 상태에 따라 화질 자동 조절. IETF RFC 8216 표준. 가장 널리 사용되는 스트리밍 프로토콜

상세 설명

📋 기술 스펙

  • 플레이리스트: M3U8 (UTF-8 인코딩 M3U, .m3u8 확장자)
  • 마스터 플레이리스트: #EXT-X-STREAM-INF로 다중 비트레이트 변형 정의
  • 미디어 플레이리스트: #EXTINF로 세그먼트 목록, #EXT-X-TARGETDURATION (목표 세그먼트 길이)
  • 세그먼트: MPEG-TS(.ts) 또는 fMP4(.m4s) 컨테이너
  • 세그먼트 길이: 권장 6초 (2~10초), 저지연(LL-HLS)은 1초 이하
  • LL-HLS(Low-Latency): #EXT-X-PART, Partial Segments로 0.2초 단위 전송 (지연 2~3초)
  • DRM: FairPlay Streaming (Apple), AES-128 암호화 (#EXT-X-KEY)
  • Byte-Range: 단일 파일을 범위로 분할 (#EXT-X-BYTERANGE)

💡 실무 활용

  • Apple 생태계: Safari, iOS, tvOS, macOS 네이티브 지원
  • YouTube, Netflix, Twitch: HLS 또는 DASH 병행 (Apple 기기는 HLS)
  • Facebook Live, Instagram Live: 모바일 라이브 스트리밍
  • Cloudflare Stream, AWS Elemental: CDN HLS 딜리버리

장점

  • HTTP 기반: CDN 캐싱, 방화벽/NAT 투과, 기존 웹 인프라 활용
  • ABR: 네트워크 대역폭에 따라 화질 자동 전환
  • Apple 네이티브: iOS/Safari에서 <video> 태그 직접 재생
  • 표준화: IETF RFC 8216 (2017)
  • LL-HLS: 저지연 개선 (2~3초)

⚠️ 단점 및 제약

  • 높은 지연: 일반 HLS 10~30초 (세그먼트 3~4개 버퍼링)
  • TS 오버헤드: fMP4 대비 5~10% 더 큼 (레거시 호환)
  • LL-HLS 복잡도: 인코더/서버 구현 복잡, CDN 지원 제한
  • Android 파편화: ExoPlayer 필요 (네이티브 MediaPlayer는 4.1~4.4만 지원)

🔧 호환성

iOS, Safari, Edge, Chrome (MSE+HLS.js), Android (ExoPlayer), VLC, FFmpeg, Video.js, Shaka Player

📚 표준 정보

표준화 기구: IETF RFC 8216 (2017), Apple (오리지널)

출시 연도: 2009년