HTTP 동적 적응 스트리밍

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

HTTP 동적 적응 스트리밍(DASH)은 MPEG에서 개발된 적응 비트 전송률 스트리밍 기술의 표준이다. 이 기술은 멀티미디어 파일을 여러 세그먼트로 분할하여 HTTP를 통해 클라이언트에 전달하며, 네트워크 조건, 장치 기능 및 사용자 기본 설정에 따라 비트 전송률을 조정하여 사용자 경험 품질을 향상시킨다. DASH는 MPEG-DASH 산업 포럼을 통해 채택이 장려되고 있으며, 다양한 서버, 서비스, 콘텐츠 생성 도구 및 클라이언트에서 구현되고 있다.

HTTP 동적 적응 스트리밍 - [IT 관련 정보]에 관한 문서
개요
종류HTTP 기반 적응 비트레이트 스트리밍 기술
개발Moving Picture Experts Group
발표2012년 4월
표준ISO/IEC 23009-1:2022
파일 확장자.mpd
MIME 형식application/dash+xml
상세 정보
특징HTTP를 통해 적응형 비트레이트 스트리밍을 제공하는 기술
📚 더 읽어볼만한 페이지
  • 멀티미디어 - 인터넷 텔레비전
    인터넷 텔레비전은 인터넷 프로토콜을 이용하여 텔레비전 콘텐츠를 제공하는 서비스로, 기술 발전에 따라 스트리밍 방식과 접근성이 발전해왔으며, 온라인 비디오 플랫폼의 성장과 함께 빠르게 성장하여 현재는 다양한 기기를 통해 시청이 가능하다.
  • 멀티미디어 - 미디어 플레이어
    미디어 플레이어는 컴퓨터에서 오디오나 비디오와 같은 미디어 파일을 재생하는 소프트웨어나 하드웨어로, 디지털 기술 발전에 따라 다양한 형태로 발전해 왔으며 운영 체제, 지원 파일 형식 등으로 분류되고, 대한민국에서는 팟플레이어, 곰플레이어 등의 국산 미디어 플레이어가 널리 쓰인다.
  • 네트워크 프로토콜 - UUCP
    UUCP는 유닉스 시스템 간 파일 복사, 원격 명령 실행, 이메일 및 유즈넷 뉴스 전송을 위한 프로토콜 및 프로그램 모음으로, 초기 인터넷 확장에 중요한 역할을 했으나 TCP/IP 기반 서비스 보편화로 사용이 감소했다.
  • 네트워크 프로토콜 - 프레임 릴레이
    프레임 릴레이는 LAN 간 또는 WAN 종단점 간 데이터 전송을 위한 고속 패킷 교환 방식 통신 프로토콜로, X.25 프로토콜을 간소화하여 속도를 높이고, 영구 가상 회선을 통해 안정적인 연결을 제공하며, 서비스 품질 설정을 통해 프레임 우선순위를 지정할 수 있었으나, 현재는 다른 기술에 밀려 사용이 감소하고 있다.
  • HTTP - HTTPS
    HTTPS는 HTTP에 보안 기능이 더해진 통신 규약으로, 웹 브라우저와 서버 간 통신을 암호화하여 보안을 강화하지만, 인증서 비용, 서버 부하, 혼합 콘텐츠 문제 등의 단점도 존재한다.
  • HTTP - HTTP 쿠키
    HTTP 쿠키는 웹 서버가 사용자 브라우저에 저장하는 작은 텍스트 파일로, 웹 사이트가 방문 기록, 로그인 정보 등을 기억하여 HTTP의 상태 비저장성을 보완하고 세션 관리, 개인 설정, 사용자 추적 등에 활용되지만 개인 정보 보호 및 보안 문제에 대한 논란이 있다.

2. 표준화

MPEG-DASH 기술은 MPEG에서 개발되었다. DASH 작업은 2010년에 시작되었으며, 2011년 1월에 초안 국제 표준이 되었고, 2011년 11월에 국제 표준이 되었다. MPEG-DASH 표준은 2012년 4월에 출판되었으나 2019년에 [https://standards.iso.org/ittf/PubliclyAvailableStandards/c075485_ISO_IEC_23009-1_2019.zip MPEG-DASH ISO/IEC 23009-1:2019]으로 개정되었다.

DASH는 어도비 시스템즈의 HTTP 동적 스트리밍, 애플의 HTTP 라이브 스트리밍, 마이크로소프트의 스무스 스트리밍과 관련된 기술이다. DASH는 3GPP 릴리스 9의 적응형 HTTP 스트리밍(AHS)과 오픈 IPTV 포럼 릴리스 2의 HTTP 적응형 스트리밍(HAS)을 기반으로 한다. MPEG와의 협력의 일환으로, 3GPP 릴리스 10은 무선 네트워크에서 사용하기 위해 DASH(특정 코덱 및 작동 모드 포함)를 채택했다.

DASH 산업 포럼(DASH-IF)는 MPEG-DASH의 채택을 더욱 장려하고 촉진하며, 이를 사양에서 실제 비즈니스로 전환하는 데 도움을 준다. 여기에는 마이크로소프트, 넷플릭스, 구글, 에릭슨, 삼성, 어도비 등을 포함한 주요 스트리밍 및 미디어 회사가 포함되어 있으며, 실제 다양한 사용 사례에 대한 DASH 사용 지침을 만든다.

MPEG-DASH는 다른 표준에 통합되어 있으며, 예를 들어 MPEG-DASH는 HbbTV에서 지원된다(버전 1.5부터).

3. 기술 개요

DASH는 적응 비트 전송률 스트리밍 기술로, 멀티미디어 파일이 하나 이상의 세그먼트로 분할되어 HTTP를 사용하여 클라이언트에 전달된다. 미디어 프레젠테이션 설명(MPD)은 세그먼트 정보(타이밍, URL, 비디오 해상도 및 비트율과 같은 미디어 특성)를 설명하며, 사용 사례에 따라 SegmentList, SegmentTemplate, SegmentBase 및 SegmentTimeline과 같은 다양한 방식으로 구성될 수 있다. 세그먼트는 모든 미디어 데이터를 포함할 수 있지만, 이 사양은 ISO 기본 미디어 파일 형식(예: MP4 파일 형식) 또는 MPEG-2 전송 스트림과 함께 사용할 수 있는 특정 지침과 형식을 제공한다.

DASH는 오디오/비디오 코덱에 구애받지 않는다. 일반적으로 멀티미디어 파일의 하나 이상의 표현(즉, 다양한 해상도 또는 비트율 버전)을 사용할 수 있으며, 컴퓨터 네트워크 조건, 장치 기능 및 사용자 기본 설정을 기반으로 선택하여 적응 비트 전송률 스트리밍 및 QoE(사용자 경험 품질) 공정성을 가능하게 한다. DASH 표준은 적응 비트 전송률 스트리밍(ABR) 로직을 지정하지 않는다. DASH는 기본 애플리케이션 계층 프로토콜에도 구애받지 않으므로, CCN을 통한 DASH와 같은 모든 프로토콜과 함께 사용할 수 있다.

2015년 7월 27일, MPEG LA는 이 기술에 대한 단일 특허 풀을 만들기 위해 MPEG-DASH 관련 특허를 요청한다고 발표했다. MPEG LA는 MPEG-DASH 특허 포트폴리오 라이선스를 발표했으며, 포함된 특허가 HTTP를 통한 MPEG 동적 적응 스트리밍 표준에 필수적이라고 주장한다.

4. 구현

MPEG-DASH는 엑소플레이어(ExoPlayer)를 통해 안드로이드에서 기본적으로 사용 가능하다. 삼성 스마트 TV 2012+, LG 스마트 TV 2012+, 소니 TV 2012+, 필립스 넷TV 4.1+, 파나소닉 비에라 2013+, 크롬캐스트에서도 사용할 수 있다. 유튜브넷플릭스는 이미 MPEG-DASH를 지원하며, 다양한 MPEG-DASH 플레이어가 있다.

MPEG-DASH는 HTML5에서 직접적으로 지원되지 않지만, HTML5 미디어 소스 확장(MSE)을 사용하여 웹 브라우저에서 MPEG-DASH를 사용할 수 있도록 하는 자바스크립트 구현이 있다. 또한, HTML5 암호화된 미디어 확장을 사용하여 MPEG-DASH에 대한 디지털 권한 관리(DRM)을 지원하는 bitdash 플레이어와 같은 자바스크립트 구현도 있다. WebGL과 결합하여, HTML5 기반의 MPEG-DASH 적응 비트 전송률 스트리밍은 라이브 및 주문형 사용 사례에 대한 360° 비디오의 효율적인 스트리밍도 가능하게 한다.

4.1. 클라이언트 및 라이브러리

샤카 플레이어(Shaka Player)는 저대역폭 연결을 위한 구글의 오픈 소스 DASH HTML5 비디오 플레이어이다. VLC 미디어 플레이어 3.0은 MP4/MPEG 및 라이브 스트림을 위한 새로운 클라이언트 플러그인을 탑재했다. 크로스 플랫폼 FOSS 멀티미디어 프레임워크인 GStreamer는 v1.4 이후부터 MPEG-DASH 및 WebM DASH를 지원해왔다. 오픈 소스 라이브러리 libdash는 플랫폼 독립적이며, 안드로이드, iOS, 윈도우 폰과 같은 모바일 플랫폼에서 실행된다. bitmovin은 HTML5 및 플래시용 bitdash MPEG-DASH 플레이어를 제공한다. VideoJS는 오픈 소스 HTML5 비디오 플레이어로, 라이브 및 VOD 스트리밍을 위해 HLS, DASH, WebM 및 프로그레시브 MP4를 지원한다. Clappr는 오픈 소스 HTML5 비디오 플레이어로, HTMLVideoElement를 사용하며, DASH, HLS, 프로그레시브, 광고 삽입, 동적 오버레이, PIP(picture-in-picture)를 지원한다.

윈도우 10은 크롬 기반의 Blink 브라우저 엔진으로 전환하기 전 Microsoft Edge (현재 Edge Legacy라고 함)에서 사용된 독점 브라우저 엔진인 EdgeHTML에서 DASH 스트리밍을 기본적으로 지원했다. Edge Legacy는 윈도우 10 버전 2004까지 포함되었으며, 20H2 버전에서는 Edge Chromium으로 대체되었다. 다른 브라우저 및 운영 체제에서 DASH 지원은 미디어 소스 확장을 통해 제공된다.

👆
좌우로 밀어서 보기
제품제품 유형플랫폼라이브 스트리밍DRM 프리버전 기준개발사
Microsoft Edge웹 브라우저윈도우 10아니오버전 12부터 18까지 Edge Legacy의 엔진 EdgeHTML에서 네이티브 지원.

버전 79부터 현재까지 Edge Chromium에서 미디어 소스 확장을 통한 지원.

마이크로소프트
VLC 미디어 플레이어미디어 플레이어윈도우, macOS, 리눅스, 안드로이드, iOS, 윈도우 폰v3.0VideoLAN
미디어 플레이어 클래식 - 홈 시네마 (MPC-HC)

미디어 플레이어 클래식 - 블랙 에디션 (MPC-BE)

미디어 플레이어윈도우v2.0.0 (MPC-HC)
v1.5.0 (MPC-BE)

DASH 스트림 재생 지원은 불안정할 수 있습니다.

MPC-HC 커뮤니티 포럼, Alexander Vodiannikov
MX 플레이어미디어 플레이어안드로이드아니오v1.9.18
DASH 스트림 재생 지원은 현재 불안정합니다.
J2 Interactive
넥스플레이어SDKHTML5 (MSE 브라우저), 안드로이드 (모바일, TV, STB), iOS, 크롬캐스트, 윈도우, 맥, 리눅스, 타이젠, WebOS아니오해당사항 없음NexStreaming
Dash.jsSDKHTML5 (MSE 브라우저)아니오해당사항 없음Dash Industry Forum
Shaka PlayerSDKHTML5 (MSE 브라우저)아니오해당사항 없음구글
Rx-PlayerSDKHTML5 (MSE 브라우저)아니오해당사항 없음Canal+
비트대시SDKHTML5 (MSE 브라우저), 안드로이드, LG TV, 삼성 TV, Xbox One, 유니버설 윈도우 플랫폼아니오해당사항 없음Bitmovin
PRESTOplaySDKHTML5 (MSE 브라우저), 안드로이드, iOS, 윈도우, 맥아니오해당사항 없음castLabs
THEOplayerSDKHTML5 (MSE 브라우저), 안드로이드 (모바일, TV, STB), iOS, 크롬캐스트, 윈도우, 맥, 리눅스, 타이젠, WebOS아니오해당사항 없음THEO Technologies NV
바이브러스트 플레이어SDKHTML5 (MSE 브라우저), 안드로이드, iOS아니오해당사항 없음Viblast Team
Radiant Media PlayerSDKHTML5 (MSE 브라우저), 안드로이드, iOS, 윈도우, 맥, 리눅스아니오해당사항 없음Radiant Media Player
비디오글러SDKHTML5 (MSE 브라우저)아니오해당사항 없음
플루이드 플레이어SDKHTML5 (MSE 브라우저)아니오해당사항 없음ExoClick
GStreamer멀티미디어 프레임워크해당사항 없음아니오1.4GStreamer 팀
Libdash멀티미디어 프레임워크해당사항 없음아니오해당사항 없음bitmovin, ITEC 팀
GPAC멀티미디어 프레임워크해당사항 없음아니오해당사항 없음Telecom ParisTech inc.

4.2. 서버

DASH는 라이브 스트리밍을 제외하고 서버에서 특별한 지원이 필요하지 않다.

다음은 DASH를 지원하는 서버 목록이다.

👆
좌우로 밀어서 보기
서버 이름지원 내용
와우자 스트리밍 엔진DVR을 사용한 MPEG-DASH 재생을 지원하며, 아카마이(Akamai)로의 DASH 스트림 대상 게시를 제공한다.
브라이트코브 ZencoderMPEG-DASH 트랜스뮤싱/트랜스코딩을 지원한다.
엘리멘탈 테크놀로지스 비디오 처리 솔루션DASH를 지원한다.
헬릭스 유니버설 서버다양한 모드에서 DASH를 지원한다.
님블 스트리머라이브 및 VOD MPEG-DASH를 지원한다. VOD의 경우 H.265 및 H.264 코덱을 모두 지원한다.
Unified OriginMPEG-DASH를 지원한다.

4.3. 서비스

* 아카마이 CDN은 DASH를 지원한다.
* 아마존 클라우드프론트 CDN은 DASH를 지원한다.
* 아마존 웹 서비스 Elastic Transcoder는 MPEG-DASH를 지원한다.
* 애저 미디어 서비스 플랫폼은 MPEG-DASH를 지원한다.
* 비트무빈은 MPEG-DASH를 지원하는 클라우드 기반 트랜스코딩 서비스 bitcodin.com을 제공한다.
* 클라우드플레어 Stream은 최종 사용자에게 서비스를 제공하기 전에 VP9로 DASH로 트랜스코딩을 지원한다.
* 클라우디너리는 MPEG-DASH를 지원하는 자동 트랜스코딩을 제공한다.
* 루멘 CDN은 DASH를 지원한다.
* 라이트멜트 네트워크 CDN은 DASH를 지원한다.
* 프로젝트 쉴드 CDN은 DASH를 지원한다.
* 타타 커뮤니케이션 CDN은 DASH를 지원한다.
* 도갈제카 MS2 알람 모니터링, 트랜스코딩 및 녹화는 DASH 입/출력을 지원한다.
* Resi 라이브 스트림 플랫폼은 MPEG-DASH의 수집, 트랜스코딩 및 CDN 전송을 지원한다.

4.4. 콘텐츠 생성 도구

* ITEC의 DASHEncoder.
* MP4Box와 Télécom Paris의 GPAC에서 제공하는 멀티미디어 프레임워크
* Télécom Paris의 dashcast는 MPEG-DASH 라이브 스트리밍을 지원한다.
* MediaGoom MPEG-DASH 패키저
* Bento4 오픈 소스 도구 및 SDK

5. 특허 관련 정보

HTTP 동적 적응 스트리밍(DASH) 기술과 관련된 특허는 맥셀, 응용 과학 연구를 위한 네덜란드 기구(TNO), 일본 전신 전화(NTT) 등 여러 조직에서 보유하고 있다.

5.1. 특허 보유 조직

👆
좌우로 밀어서 보기
조직특허
맥셀 (Maxell)15
응용 과학 연구를 위한 네덜란드 기구 (TNO)8
일본 전신 전화 (NTT)5
프라운호퍼 (Fraunhofer)4
컬럼비아 대학교 (Columbia University)4
아모텍 주식회사2
AVerMedia Technologies, Inc.2
케이블 텔레비전 연구소 (Cable Television Laboratories, Inc.)2
Helios Streaming, LLC2
JVC 켄우드 (JVC Kenwood)1
Lough Corrib Intellectual Property Limited1