HLS(HTTP Live Streaming)와 MPEG-DASH는 영상을 짧은 구간으로 나누어 HTTP로 전송하는 스트리밍 기술입니다. 둘 다 실시간 방송과 주문형 영상(VOD)을 지원하며 네트워크 상황에 따라 화질을 조정할 수 있습니다. 가장 눈에 띄는 차이는 매니페스트입니다. HLS는 보통 .m3u8 재생목록을, MPEG-DASH는 XML 형식의 .mpd(Media Presentation Description)를 사용합니다.

어느 쪽이 무조건 더 선명하거나 빠른 것은 아닙니다. 실제 재생 품질은 인코딩, 비트레이트, 플레이어, 네트워크와 서비스 설정에 달려 있습니다.

HLS vs MPEG-DASH 비교표

항목 HLS MPEG-DASH
정식 명칭 HTTP Live Streaming Dynamic Adaptive Streaming over HTTP
매니페스트 텍스트 .m3u8 XML .mpd
화질 선택 다중 변형(마스터) 재생목록 AdaptationSet의 Representation
일반적인 세그먼트 MPEG-TS(.ts), fMP4/CMAF(.m4s) 주로 fMP4/CMAF, 프로파일에 따라 다름
라이브·VOD 모두 지원 모두 지원
적응형 비트레이트 지원 지원
저지연 방식 LL-HLS 저지연 DASH 구현
브라우저 재생 지원되는 Apple 환경의 기본 재생, 그 밖에는 hls.js 등 dash.js 같은 호환 플레이어를 주로 사용
DRM 암호화 및 DRM 적용 가능 암호화 및 DRM 적용 가능

매니페스트는 완성된 동영상 파일이 아니라 재생에 필요한 안내 정보입니다. master.m3u8나 manifest.mpd만 저장하면 대개 영상 조각은 포함되지 않습니다.

HLS 작동 원리: M3U8 재생목록

Apple이 보급한 HLS에서는 다중 변형 재생목록(마스터 재생목록이라고도 함)이 여러 비트레이트와 해상도를 나열합니다. 각 미디어 재생목록에는 실제로 불러올 세그먼트가 재생 순서대로 들어 있습니다.

단순화한 예시입니다.

#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=1200000,RESOLUTION=854x480
480p/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=3500000,RESOLUTION=1920x1080
1080p/index.m3u8

플레이어는 전송 속도와 버퍼 상황을 살펴 화질을 선택하고 해당 세그먼트를 순서대로 요청합니다. 연결 상태가 달라지면 다른 화질로 전환할 수 있습니다. 라이브 방송에서는 새 세그먼트가 재생목록에 추가됩니다. HLS가 반드시 .ts만 사용하는 것은 아닙니다. fMP4도 지원합니다. 자세한 내용은 M3U8 파일이란?에서 확인하세요.

MPEG-DASH 작동 원리: MPD 매니페스트

DASH는 영상 구성을 XML 형식의 MPD로 나타냅니다. 여기에 Period(구간), AdaptationSet(영상·오디오·자막 등), Representation(서로 다른 화질)이 들어갈 수 있습니다. 세그먼트 URL은 직접 나열하거나 템플릿을 통해 계산할 수 있습니다.

아래 코드는 구조만 보여주는 예시로, 단독 재생 가능한 완전한 MPD는 아닙니다.

<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" type="static">
  <Period>
    <AdaptationSet mimeType="video/mp4" contentType="video">
      <Representation id="480p" bandwidth="1200000" width="854" height="480" />
      <Representation id="1080p" bandwidth="3500000" width="1920" height="1080" />
    </AdaptationSet>
  </Period>
</MPD>

DASH 플레이어는 MPD를 분석해 지원되는 트랙과 화질을 선택한 다음 해당 세그먼트를 불러옵니다. MPEG-DASH는 ISO/IEC 23009 표준으로 규정되며 Part 1은 2026년에 개정됐습니다. 실제 저장 과정은 Windows에서 MPD 스트림 다운로드하기를 참고하세요.

M3U8·MPD·TS·MP4는 서로 다른 개념

.m3u8과 .mpd는 매니페스트, .ts와 .m4s는 일반적인 세그먼트 형식, H.264·HEVC·AV1은 동영상 코덱, MP4는 컨테이너 형식입니다.

  • 매니페스트: 어떤 트랙과 세그먼트가 어디에 있는지 안내합니다.
  • 컨테이너/세그먼트: 압축된 영상·오디오 데이터를 포장합니다.
  • 코덱: 영상을 어떤 방식으로 압축했는지 나타냅니다.

동일한 H.264 영상도 HLS 또는 DASH로 제공될 수 있습니다. 매니페스트 확장자만으로 실제 해상도, 비트레이트, DRM 유무를 판단할 수 없습니다.

CMAF는 어떤 역할을 할까요?

**CMAF(Common Media Application Format)**는 분할 미디어의 공통 패키징 규격입니다. 인코딩, 시간 정보, 암호화 조건이 맞으면 HLS와 DASH가 같은 CMAF 미디어 조각을 서로 다른 매니페스트에서 참조할 수 있습니다. 그래도 올바른 .m3u8과 .mpd가 각각 필요합니다. 파일명만 바꿔서는 변환되지 않으며, 모든 코덱과 DRM이 호환되는 것도 아닙니다.

브라우저와 기기 호환성

HLS는 Apple 생태계에서 기본 재생 지원이 강합니다. 다른 브라우저에서는 필요한 미디어 API가 제공될 때 hls.js 등의 플레이어 라이브러리를 사용할 수 있습니다. 브라우저 기반 DASH 재생에는 dash.js가 널리 사용됩니다.

'Chrome은 HLS를 재생하지 못한다'거나 'Safari는 HLS만 재생한다'고 단정하면 부정확합니다. OS와 브라우저 버전, 플레이어, 코덱, DRM 조건이 모두 중요하므로 실제 대상 기기에서 시험해 보세요.

화질과 지연 시간은 어느 쪽이 더 좋을까요?

화질: 프로토콜 자체가 원본 화질을 높이지는 않습니다. 같은 코덱, 해상도, 비트레이트와 재생 조건에서 비교해야 합니다.

시작 시간과 버퍼링: 세그먼트 길이, CDN, 네트워크 안정성, 버퍼 정책이 파일 확장자보다 더 큰 영향을 줍니다.

실시간 지연: LL-HLS와 저지연 DASH 구현이 모두 존재합니다. 최종 지연은 인코딩부터 화면 출력까지의 전체 설정에 달려 있습니다. DASH가 항상 더 빠르지는 않습니다.

DRM: 두 방식 모두 라이선스 기반 보호 콘텐츠를 전송할 수 있습니다. 정식 재생 권한과 자유로운 다운로드 가능 여부는 별개입니다.

HLS와 DASH 중 무엇을 선택해야 할까요?

영상 제공자: 시청자가 사용하는 기기와 플레이어를 우선 확인하세요. Apple 중심 서비스에는 HLS가 실용적이고, DASH 플레이어를 사용하는 플랫폼에는 DASH가 맞을 수 있습니다. 적절한 CMAF 미디어에 두 매니페스트를 함께 제공할 수도 있습니다.

시청자: 일반적으로 웹사이트의 플레이어가 지원 형식을 고릅니다. 오류가 있다면 매니페스트 지원, 세그먼트 접근 권한과 URL 상태를 확인하세요.

허가받은 오프라인 저장: 텍스트 매니페스트뿐 아니라 실제 미디어 세그먼트가 필요합니다.

Windows에서 HLS·DASH를 재생하고 저장하는 방법

매니페스트와 코덱을 지원하는 플레이어를 사용하세요. 브라우저에서 .m3u8 또는 .mpd 링크를 직접 열어도 항상 재생되는 것은 아닙니다. 다운로드가 허용되고 DRM이 없는 스트림이라면 FFmpeg를 시험할 수 있습니다.

ffmpeg -i "https://example.com/path/playlist.m3u8" -c copy output.mp4
ffmpeg -i "https://example.com/path/manifest.mpd" -c copy output.mp4

위 명령은 예시이며 모든 주소에서 작동하는 것은 아닙니다. 세그먼트에 접근할 수 있어야 하고, -c copy를 사용하려면 입력 코덱이 MP4와 호환되어야 합니다. 분리된 오디오 트랙, 만료된 URL, 서버 제약으로 실패할 수도 있습니다.

Windows용 Direct Link Downloader는 지원되는 M3U8/HLS 및 MPD/DASH 소스를 처리할 수 있습니다.

  1. 저장이 허용된 M3U8/MPD 주소 또는 지원되는 웹페이지 링크를 복사합니다.
  2. Direct Link Downloader에 붙여넣어 사용 가능한 트랙과 화질을 분석합니다.
  3. 제공되는 화질과 폴더를 선택해 저장한 뒤 결과 파일을 재생해 확인합니다.

Microsoft Store에서 Direct Link Downloader 보기

자주 발생하는 문제와 한계

  • 작은 .m3u8 또는 .mpd만 저장됨: 영상이 아니라 매니페스트만 받은 것입니다.
  • 사이트에서는 되는데 다른 곳에서는 안 됨: 쿠키, 로그인, 서명된 URL, 헤더, CORS가 필요할 수 있고 링크가 만료될 수 있습니다.
  • 화면만 나오고 소리가 없음: 오디오가 별도 트랙이거나 코덱이 지원되지 않을 수 있습니다.
  • 원하는 화질이 없음: 원본에서 제공하지 않는 화질을 새로 만들 수는 없습니다.
  • DRM 보호 스트림: 일반 다운로드 도구로 라이선스 요구사항을 해제할 수 없습니다.

HLS는 무료 M3U8 Inspector에서 재생목록에 명시된 정보를 확인할 수 있습니다. 이 도구는 DRM이나 만료된 접근 권한을 해제하지 않습니다.

자주 묻는 질문

HLS와 MPEG-DASH는 같은 기술인가요?

아닙니다. 둘 다 HTTP 적응형 스트리밍이지만 매니페스트 구조와 플레이어 통합 방식이 다릅니다. 조건이 맞으면 CMAF 세그먼트를 공유할 수 있습니다.

MPD 파일은 동영상인가요?

아닙니다. MPD는 트랙과 세그먼트 설명이며 완성된 MP4 파일이 아닙니다.

M3U8 파일 이름을 MPD로 바꾸면 변환되나요?

아닙니다. 유효한 DASH 매니페스트와 호환되는 세그먼트 구성이 필요합니다.

DASH는 HLS보다 항상 지연이 낮나요?

아닙니다. 둘 다 저지연 방식이 있으므로 비슷한 조건에서 실제 종단 간 지연을 측정해야 합니다.

두 방식 모두 4K를 지원하나요?

네. 다만 원본에 4K 버전이 있고 기기, 플레이어, 코덱이 지원해야 합니다. 낮은 해상도의 원본이 자동으로 고화질로 바뀌지는 않습니다.

핵심 정리

HLS와 DASH는 동일한 스트리밍 문제를 서로 다른 매니페스트와 재생 환경으로 해결합니다. .m3u8은 HLS, .mpd는 DASH를 구별하는 단서입니다. 실제 재생과 저장 가능 여부는 세그먼트, 코덱, 권한과 기기 호환성을 확인해야 합니다. CMAF로 미디어를 공유하더라도 이 과정은 필요합니다.

Windows에서 저장 권한이 있는 호환 스트림을 자주 다룬다면 Direct Link Downloader를 통해 지원되는 HLS와 DASH 소스를 처리할 수 있습니다.

본인이 소유하거나 다운로드 허가를 받은 콘텐츠만 저장하세요. DRM 및 접근 통제 우회는 지원하지 않습니다.

참고 자료

이어서 읽기