HTTP 라이브 스트리밍
1. 개요
HTTP 라이브 스트리밍(HLS)은 기존 웹 서버를 사용하여 시청각 콘텐츠를 배포하는 기술로, OBS Studio와 같은 소프트웨어를 통해 실시간으로 전송할 수 있도록 코덱으로 변환해야 한다. 서버는 비디오를 코딩하고 조각내어 배포하고, 배포자는 웹 서버 역할을 하며, 클라이언트는 파일을 요청하고 조립하여 시청한다. HLS는 네트워크 대역폭 변화에 맞춰 영상 품질을 조절하는 적응형 스트리밍, 조각난 MP4 파일 사용, 저지연 HLS 등의 기능을 제공한다. 2016년 애플은 조각난 MP4 파일에 대한 바이트 범위 지정을 지원하여 HLS와 MPEG-DASH 간의 호환성을 높였다. 다양한 서버 구현과 클라이언트, 그리고 윈도우, macOS, iOS, 안드로이드 등 여러 운영체제에서 지원된다. 또한 동적 광고 삽입 기능도 제공한다.
| 종류 | 스트리밍 통신 프로토콜 |
|---|---|
| 개발 | 애플 |
| 최초 배포 | 2009년 5월 |
| 파일 확장자 | .m3u8 |
| MIME 형식 | application/vnd.apple.mpegurl 또는 audio/mpegurl |
| 확장 | 확장 M3U |
| 설명 | HTTP 라이브 스트리밍(HLS)은 애플이 만든 HTTP 기반의 스트리밍 통신 프로토콜이다. |
|---|---|
| 특징 | 플레이리스트 파일을 사용 적응형 비트레이트 스트리밍 지원 |
| 표준 | IETF RFC 8216 |
|---|
-
퀵타임 -
애플 ProRes
애플 ProRes는 애플이 개발한 전문 비디오 코덱으로, 고화질 영상 편집 워크플로우에 널리 사용되며, 실시간 편집과 색 보정 작업에 뛰어난 성능을 제공하고, ProRes 422, ProRes 4444, ProRes RAW 등 여러 종류가 있다. -
퀵타임 -
애플 무손실
애플에서 개발한 무손실 오디오 코덱인 애플 무손실(ALAC)은 .m4a 확장자를 가진 MP4 컨테이너 포맷으로 저장되며 최대 8채널 오디오와 384kHz의 샘플 속도를 지원하고 2011년 오픈 소스화되어 2021년 애플 뮤직의 무손실 음원 서비스에 사용되며 주목받았다. -
멀티미디어 -
인터넷 텔레비전
인터넷 텔레비전은 인터넷 프로토콜을 이용하여 텔레비전 콘텐츠를 제공하는 서비스로, 기술 발전에 따라 스트리밍 방식과 접근성이 발전해왔으며, 온라인 비디오 플랫폼의 성장과 함께 빠르게 성장하여 현재는 다양한 기기를 통해 시청이 가능하다. -
멀티미디어 -
미디어 플레이어
미디어 플레이어는 컴퓨터에서 오디오나 비디오와 같은 미디어 파일을 재생하는 소프트웨어나 하드웨어로, 디지털 기술 발전에 따라 다양한 형태로 발전해 왔으며 운영 체제, 지원 파일 형식 등으로 분류되고, 대한민국에서는 팟플레이어, 곰플레이어 등의 국산 미디어 플레이어가 널리 쓰인다. -
HTTP -
HTTPS
HTTPS는 HTTP에 보안 기능이 더해진 통신 규약으로, 웹 브라우저와 서버 간 통신을 암호화하여 보안을 강화하지만, 인증서 비용, 서버 부하, 혼합 콘텐츠 문제 등의 단점도 존재한다. -
HTTP -
HTTP 쿠키
HTTP 쿠키는 웹 서버가 사용자 브라우저에 저장하는 작은 텍스트 파일로, 웹 사이트가 방문 기록, 로그인 정보 등을 기억하여 HTTP의 상태 비저장성을 보완하고 세션 관리, 개인 설정, 사용자 추적 등에 활용되지만 개인 정보 보호 및 보안 문제에 대한 논란이 있다.
2. 아키텍처
HTTP 라이브 스트리밍(HLS)은 OBS와 같은 소프트웨어를 사용하여 콘텐츠를 네트워크를 통해 실시간으로 전송하기 위한 적절한 형식(코덱)으로 변환하고, HLS를 지원하는 기존의 웹 서버를 사용하여 시청각 콘텐츠를 배포하는 기술이다.
HLS 서비스 아키텍처는 크게 서버, 배포자, 클라이언트로 구성된다. 서버는 입력 비디오 흐름을 배포에 적합한 형식으로 코딩하고 캡슐화하여 비디오 조각과 색인 파일을 생성한다. 배포자는 표준 웹 서버로 구성되어 클라이언트의 요청을 받아 스트리밍에 필요한 리소스를 제공한다. 클라이언트는 이러한 리소스를 요청하고 다운로드하여 사용자에게 연속적인 스트리밍 비디오를 제공한다.
2.1. 서버
입력 비디오 흐름을 배포에 적합한 형식으로 코딩하고 캡슐화한다. 그런 다음 서로 다른 파일로 분할하여 배포할 준비를 한다. 수집 과정에서 비디오는 인코딩 및 세분화되어 비디오 조각과 색인 파일을 생성한다.
* 인코더: 비디오 파일을 H.264 형식으로, 오디오를 AAC, MP3, AC-3 또는 EC-3 형식으로 코딩한다. 이는 MPEG-2 전송 스트림 또는 MPEG-4_Part_14에 의해 캡슐화되어 전송된다.
* 세분화기: 스트림을 동일한 길이의 조각으로 나눈다. 또한 조각화된 파일의 참조를 포함하는 인덱스 파일을 생성하며, .m3u8로 저장된다.
2.3. 클라이언트
클라이언트는 모든 파일과 리소스를 요청하고 다운로드하여 사용자가 연속적인 흐름 비디오로 볼 수 있도록 조립한다. 클라이언트 소프트웨어는 먼저 URL을 통해 인덱스 파일을 다운로드한 다음 사용 가능한 여러 미디어 파일을 다운로드한다. 재생 소프트웨어는 시퀀스를 조립하여 사용자에게 지속적인 디스플레이를 제공한다.
3. 기능
HTTP 라이브 스트리밍(HLS)은 불안정한 네트워크 환경에서도 재생 중단을 최소화하는 기능을 제공한다. 예를 들어, 불안정한 무선 네트워크에서 HLS를 사용하면 낮은 화질의 비디오를 선택하여 대역폭 사용량을 줄일 수 있다. 또한 HLS는 동일한 비디오에 대해 여러 서버를 제공하여 가용성을 높이고, 서버 장애 발생 시 다른 서버로 원활하게 전환할 수 있도록 한다.
3.1. 적응성 (Adaptability)
HTTP 라이브 스트리밍은 사용자가 재생 중단을 느끼지 않도록 불안정한 네트워크 환경에 적응하는 기능을 제공한다. 예를 들어, 불안정한 무선 네트워크에서 HLS를 사용하면 플레이어는 낮은 화질의 비디오를 선택하여 대역폭 사용량을 줄일 수 있다. HLS 비디오는 동일한 비디오에 대해 여러 서버를 제공하여 가용성을 높이고, 서버에 장애가 발생하면 플레이어가 다른 서버로 원활하게 전환할 수 있도록 한다.
플레이어가 네트워크 대역폭에 맞게 비디오 품질을 조절할 수 있도록, 원본 비디오는 여러 비디오 품질로 인코딩된다. 서버는 이러한 비디오 인코딩들의 목록인 '마스터 플레이리스트'(변형 스트림)를 제공한다. 플레이어는 재생 중에 변형 스트림 중에서 선택하고, 네트워크 상태가 바뀌면 다른 스트림으로 자연스럽게 전환할 수 있다.
3.2. 조각난 MP4 사용 (Using fragmented MP4)
2016년 WWDC에서 애플은 조각난 MP4(fMP4)에 대한 바이트 범위 주소 지정을 포함한다고 발표했다. 이는 콘텐츠를 MPEG-2 전송 스트림으로 다중화할 필요 없이 HLS를 통해 재생할 수 있게 한 것이다. 업계는 이를 HLS와 MPEG-DASH 간의 호환성을 위한 단계로 여겼다.
3.3. 저지연 HLS (Low Latency HLS)
저지연 HLS (Low Latency HLS)에는 관련이 없는 두 가지 이름과 약어가 존재한다.
* 애플 저지연 HLS(ALHLS)는 애플이 2019년 WWDC에서 발표했다.
* 커뮤니티 LHLS(LHLS)는 애플의 발표보다 먼저 나왔으며 더 간단하다고 한다.
이 섹션의 나머지는 애플의 ALHLS에 대해 설명한다. ALHLS는 HLS를 통해 스트리밍할 때 라이브 스트림 재생을 시작하는 시간을 줄이고 라이브 스트리밍 이벤트 동안 해당 시간을 유지함으로써 글래스 투 글래스 지연 시간을 줄인다.
이는 MPEG-CMAF의 fMP4와 마찬가지로 부분 미디어 세그먼트 파일을 혼합하여 작동한다. CMAF와 달리 ALHLS는 부분 MPEG-2 TS 전송 파일도 지원한다. 부분 미디어 세그먼트는 1초 미만의 동일한 세그먼트(예: 200밀리초)로 분할된 표준 세그먼트(예: 6초)이다. 표준 첫 번째 세그먼트는 부분 세그먼트 시리즈로 대체된다. 후속 세그먼트는 표준 크기이다. HTTP/2는 플레이리스트와 함께 세그먼트를 푸시하여 반복적인 HTTP/TCP 연결을 설정하는 오버헤드를 줄이는 데 필요하다.
ALHLS의 다른 기능은 다음과 같다.
* 플레이리스트 델타 업데이트: 플레이리스트 간에 변경된 내용만 전송하며, 일반적으로 단일 MTU에 적합하여 DVR 창이 클 경우 매우 클 수 있는 플레이리스트를 더 효율적으로 로드할 수 있다.
* 플레이리스트 재로드 차단: 라이브 미디어 플레이리스트를 요청할 때 첫 번째 세그먼트도 준비될 때까지 기다린 후 둘 다 동시에 반환한다(추가 HTTP/TCP 요청 절약).
* 렌디션 보고서: ABR 간 전환을 더 빠르게 하기 위해 다른 미디어 렌디션에 메타데이터를 추가한다.
* 새로 추가된 태그: EXT-X-SERVER-CONTROL, EXT-X-PART, EXT-X-SKIP, EXT-X-RENDITION-REPORT
* URL QUERY_STRING ?_HLS 콜백 추가됨
애플은 또한 새로운 도구를 추가했다. tsrecompressor는 오디오와 비디오의 연속적인 저지연 스트림을 생성하고 인코딩한다. mediastreamsegmenter 도구는 이제 저지연 버전으로 사용할 수 있다. 이는 tsrecompressor에서 UDP/MPEG-TS 스트림을 가져와 위의 새로운 태그를 포함한 미디어 플레이리스트를 생성하는 HLS 세그먼터이다.
저지연 HLS에 대한 지원은 tvOS 13 베타 및 iOS & iPadOS 14에서 사용할 수 있다. 2020년 4월 30일, 애플은 저지연 사양을 HLS 사양의 두 번째 에디션에 추가했다.
3.4. 동적 광고 삽입 (Dynamic ad insertion)
SCTE-35 사양을 기반으로 HLS에서 동적 광고 삽입을 지원한다. SCTE-35 스플라이스 메시지는 EXT-X-DATERANGE 태그를 사용하여 미디어 재생 목록 파일에 삽입된다. 각 SCTE-35 splice_info_section()은 SCTE35-CMD 속성을 가진 EXT-X-DATERANGE 태그로 표시된다. splice_insert() 명령으로 신호되는 SCTE-35 스플라이스 아웃/인 쌍은 동일한 ID 속성을 가진 하나 이상의 EXT-X-DATERANGE 태그로 표시된다. SCTE-35 스플라이스 아웃 명령에는 SCTE35-OUT 속성이 있어야 하고, 스플라이스 인 명령에는 SCTE35-IN 속성이 있어야 한다.
SCTE35-OUT 및 SCTE35-IN 속성을 각각 포함하는 두 개의 EXT-X-DATERANGE 태그 사이에는 미디어 세그먼트 URI 시퀀스가 있을 수 있다. 이러한 미디어 세그먼트는 일반적으로 로컬 또는 사용자 정의 광고로 대체될 수 있는 광고 프로그램을 나타낸다. 광고 교체는 미디어 파일을 교체할 필요가 없으며, 재생 목록의 URI만 다른 광고 프로그램을 가리키도록 변경하면 된다. 광고 교체는 원본 서버 또는 클라이언트의 미디어 재생 장치에서 수행할 수 있다.
4. 서버 구현
HTTP 라이브 스트리밍(HLS)을 지원하는 주요 서버 구현은 다음과 같다.
| 서버 이름 | 설명 |
|---|---|
| 어도비 미디어 서버 | iOS 기기를 위한 HLS 및 보호된 HTTP 라이브 스트리밍(PHLS)을 지원한다. |
| 아카마이 | 라이브 및 주문형 스트림에 대한 HLS를 지원한다. |
| AT&T | 모든 형식의 라이브 또는 주문형 HLS를 지원한다. |
| 앤트 미디어 서버 | 라이브 및 주문형 스트림에 대한 HLS 및 저지연 HLS를 지원한다. |
| Axis Communication IP 카메라 | [https://www.camstreamer.com CamStreamer] 앱 ACAP를 통해 HLS를 지원한다. |
| 인스타트 | 주문형 스트림에 대한 HLS를 지원한다. |
| 아마존 클라우드프론트 | 주문형 스트림에 대한 HLS를 지원한다. |
| 비트무빈 | 주문형 및 라이브 스트리밍에 대한 HLS를 지원한다. |
| CD네트웍스 | 라이브 및 주문형 스트림에 대한 HLS를 지원한다. |
| 시스코 시스템즈 | 라이브/TSTV/VOD/HLS 및 클라우드 DVR 서비스에 대한 완벽한 엔드 투 엔드 전송을 지원한다. |
| 클라우드플레어 | 라이브 및 주문형 스트림에 대한 HLS를 지원한다. |
| 에지캐스트 네트워크 | HLS를 사용하여 교차 장치 스트리밍을 지원한다. |
| 패스틀리 | 라이브 및 주문형 스트림에 대한 HLS를 지원한다. |
| 리얼네트웍스의 헬릭스 유니버설 서버 | H.264 및 AAC 콘텐츠의 라이브 및 주문형 HTTP 라이브 또는 주문형 스트리밍을 위해 iPhone OS 3.0 이상을 지원하며 iPhone, iPad 및 iPod을 지원한다. |
| 마이크로소프트의 IIS 미디어 서비스 | 라이브 및 주문형 스무스 스트리밍 및 HTTP 라이브 스트리밍을 지원한다. |
| 레벨 3 커뮤니케이션즈 | HLS 라이브 및 주문형 스트림을 지원한다. |
| 라이트이미지 네트웍스 | 일부 계정에 대한 HLS를 지원한다. |
| nginx-rtmp-module을 사용하는 Nginx | 라이브 모드에서 HLS를 지원한다. ngx_http_hls_module 모듈을 포함하는 상용 버전인 Nginx Plus는 HLS/HDS VOD도 지원한다. |
| 님블 스트리머 | 라이브 및 VOD 모드에서 HLS를 지원하며, 애플 저지연 HLS 사양도 지원한다. |
| hls-server 패키지를 사용하는 Node.js | 라이브 모드로의 HLS 인코딩 및 로컬 파일 변환을 지원한다. |
| OvenMediaEngine | 라이브 스트리밍을 위해 저지연 HLS(LL-HLS) 및 HLS를 지원하는 오픈 소스 소프트웨어 프로젝트이다. |
| 피어튜브 | HLS를 지원한다. |
| 스톰 스트리밍 서버 | 미디어 소스 확장 플레이어에 대한 백업 모드로 HLS를 지원한다. |
| 타타 커뮤니케이션즈 CDN | 라이브 및 주문형 스트림에 대한 HLS를 지원한다. |
| T버시티 | iOS 장치에서 모든 비디오 콘텐츠를 재생하기 위해 즉석 트랜스코딩과 함께 HLS를 지원한다. |
| 언리얼 미디어 서버 | 버전 9.5부터 저지연 HLS를 지원한다. |
| 유스트림 | 라이브 방송의 HLS 전송을 지원한다. 원본 오디오 및 비디오 코덱이 HLS 요구 사항을 벗어나는 경우, 수집된 스트림은 재 트랜스코딩된다. |
| VLC 미디어 플레이어 | 버전 2.0부터 라이브 및 주문형 스트림을 제공하기 위해 HLS를 지원한다. |
| Wowza Media Systems의 와우자 스트리밍 엔진 | 라이브(DVR 포함), 주문형 스트리밍 및 애플 저지연 HLS 사양에 대한 HLS 및 암호화된 HLS를 지원한다. |
5. 사용 사례 (Usage)
* 구글은 안드로이드 3.0 (Honeycomb)에 HTTP 라이브 스트리밍 지원을 추가했다.
* HP는 webOS 3.0.5에 HTTP 라이브 스트리밍 지원을 추가했다.
* 마이크로소프트는 2015년 윈도우 10의 EdgeHTML 렌더링 엔진에 HTTP 라이브 스트리밍 지원을 추가했다.
* 마이크로소프트는 IIS Media Services 4.0에 HTTP 라이브 스트리밍 지원을 추가했다.
* 슬링 미디어는 자사의 슬링박스 및 슬링플레이어 앱에 HTTP 라이브 스트리밍 지원을 추가했다.
* 2014/15년에 BBC는 라이브 인터넷 라디오 및 주문형 오디오 서비스에 HLS-AAC 스트림을 도입했으며, 아이플레이어 라디오 클라이언트로 해당 스트림을 지원한다.
* 트위치는 HTTP 라이브 스트리밍(HLS)을 사용하여 실시간 스트리밍을 전송하고 많은 동시 시청자에게 확장하며, 여러 변형(예: 1080p, 720p 등)을 지원한다.
6. 지원 플레이어 및 서버
HTTP 라이브 스트리밍은 다음 운영 체제에서 기본적으로 지원된다.
* 윈도우 10 버전 1507부터 2004까지(Microsoft Edge 레거시) (더 이상 지원되지 않음)
* 윈도우 11 미디어 플레이어
* macOS 10.6 이상 (사파리 및 퀵타임)
* iOS 3.0 이상 (사파리)
* 안드로이드 4.1 이상 (구글 크롬)
윈도우 10은 한때 Chromium 기반 Blink 브라우저 엔진으로 전환하기 전, Microsoft Edge(현재 Edge 레거시)에서 사용되었던 독점 브라우저 엔진인 EdgeHTML에서 HTTP 라이브 스트리밍을 기본적으로 지원했다. Edge 레거시는 윈도우 10 버전 2004까지 포함되었으며, 20H2 버전에서 Edge Chromium으로 대체되었다. 윈도우 11에는 HLS를 기본적으로 지원하는 업데이트된 미디어 플레이어가 탑재되었다.
6.1. 클라이언트
| 클라이언트 | 플랫폼 | 라이브 스트리밍 | DRM | 버전 | 편집자 |
|---|---|---|---|---|---|
| 사파리 | macOS, iOS | 예 | 예 | 6.0+ | 애플 |
| Microsoft Edge (웹 브라우저) | 윈도우 10 | 부분 지원 | 예 | 12 버전부터 18 버전까지 Edge Legacy의 엔진 EdgeHTML에서 네이티브 지원. 79 버전부터 현재까지 Edge Chromium에서는 네이티브 지원하지 않음. | 마이크로소프트 |
| 구글 크롬 (웹 브라우저) / 크로미움 | 윈도우, macOS, 리눅스, 안드로이드, iOS | 부분 지원 | 예 | 30+ | 구글 |
| 파이어폭스 (웹 브라우저) | 윈도우, macOS, 리눅스, 안드로이드, iOS | 부분 지원 | 예 | 안드로이드의 경우 50.0+, 그 외는 57.0, 안드로이드의 경우 59.0에서 향상된 지원 | 모질라 |
| 퀵타임 플레이어 (미디어 플레이어) | macOS | 예 | 예 | 10.0+ | 애플 |
| 아이튠즈 (음악 플레이어) | 윈도우, macOS | 예 | 예 | 10.1+ | 애플 |
| 윈도우 미디어 플레이어 (2022) (미디어 플레이어) | 윈도우 10, 윈도우 11 | 예 | 예 | 마이크로소프트 | |
| StreamS HiFi Radio (라디오 플레이어) | iOS, tvOS | 예 | 예 | 7.3+ | StreamS/Modulation Index LLC |
| VLC 미디어 플레이어 (미디어 플레이어) | 윈도우, macOS, 리눅스, 안드로이드, iOS, 윈도우 폰 | 예 | 알 수 없음 | VLC 2.x는 HLS 버전 3까지 부분적으로 지원.VLC 3.0은 HLS를 완벽하게 지원. | VideoLAN |
| 미디어 플레이어 클래식 홈 시네마 (미디어 플레이어) | 윈도우 | 예 | 예 | Gabest, Doom9 포럼 사용자 | |
| 팟플레이어 (미디어 플레이어) | 윈도우 | 예 | 예 | 다음 커뮤니케이션 | |
| MPlayer / SMPlayer / mpv (미디어 플레이어) | 윈도우, macOS, 리눅스, BSD | 예 | 예 | 리카르도 빌라바 | |
| 곰플레이어 (미디어 플레이어) | 윈도우 | 예 | 예 | Gretech | |
| 카멜레온 (라이브 비디오 스트리밍 소프트웨어) | 윈도우, macOS | 예 | 알 수 없음 | Yatko | |
| Audacious (소프트웨어) (음악 플레이어) | 윈도우, 리눅스 | 예 | 예 | Audacious | |
| Radio Tray (라디오 플레이어) | 리눅스 | 예 | 예 | 카를로스 리베이로 | |
| Kodi (소프트웨어) (홈 엔터테인먼트 애플리케이션) | 윈도우, macOS, 리눅스, 안드로이드, iOS | 예 | 부분 지원 | 12.0 Alpha 5 이상 DRM 지원에는 월간/야간 빌드가 필요 | XBMC 재단 |
| MythTV (홈 엔터테인먼트 애플리케이션) | 윈도우, macOS, 리눅스, FreeBSD | 예 | 예 | 0.26 | MythTV |
| JRiver 미디어 센터 (홈 엔터테인먼트 애플리케이션) | 윈도우, macOS | 예 | 예 | JRiver | |
| XiiaLive (라디오 플레이어) | 안드로이드, iOS | 예 | 예 | 3.0+ | Visual Blasters LLC |
| Tunein 라디오 (라디오 플레이어) | 안드로이드, iOS | 예 | 예 | 3.3+ | TuneIn |
| myTuner 라디오 (라디오 플레이어) | 안드로이드, iOS, 윈도우 폰, 윈도우 8, macOS | 예 | 예 | AppGeneration Software | |
| Internet Radio Player (라디오 플레이어) | 안드로이드 | 예 | 예 | MuserTech | |
| GuguRadio (라디오 플레이어) | iOS | 예 | 예 | Leon Fan | |
| AIMP (미디어 플레이어) | 윈도우, 안드로이드 | 예 | 알 수 없음 | 4.10+ (빌드 1827) | Artem Izmaylov |
| Mini Stream Player (미디어 플레이어) | 안드로이드 | 예 | 예 | JogiApp | |
| MX Player (미디어 플레이어) | 안드로이드 | 예 | 예 | J2 Interactive | |
| TV Streams (미디어 플레이어) | macOS, iOS, tvOS | 예 | 예 | v7.1 | Tiago Martinho |
| HP 터치패드 | WebOS | 예 | 예 | 3.0.5 | HP |
| Amino x4x STB | Amino 셋톱 박스 | 예 | 예 | 2.5.2 Aminet | Aminocom.com |
| Dune HD TV | Dune HD 셋톱 박스 | 예 | 예 | TV 시리즈 | dunehd.com |
| CTU Systems Ltd | CTU Systems Ltd Eludo Play Out System | 예 | 예 | TV 시리즈 | ctusystems.com |
| nangu.TV | Motorola 셋톱 박스 | 예 | 예 | 2.0 | nangu.TV |
| Roku 디지털 비디오 플레이어 | Roku 셋톱 박스 | 예 | 예 | Roku OS / SDK 2.6 | Roku |
| Telebreeze Player | HTML, 안드로이드, iOS, 윈도우, MacOS, Roku, MAG Infomir, 삼성 타이젠, LG WebOS, 구글 크롬캐스트, tvOS, 아마존 파이어 TV, 안드로이드TV | 예 | 예 | Telebreeze | |
| bitdash (SDK) | HTML5 또는 플래시, 웹 및 모바일 | 예 | 예 | 버전 3.0+ | bitmovin |
| 3ivx (SDK) | 윈도우 8, 윈도우 폰 8 & Xbox One | 예 | 예 | 2.0 | 3ivx |
| THEOplayer | HTML5, SDK (안드로이드, iOS, 안드로이드 TV, tvOS, 크롬캐스트, WebOS, FireTV, Tizen) | 예 | 예 | THEO Technologies | |
| OvenPlayer | HTML5 | 예 | 예 | 0.10.0+ | AirenSoft |
| Viblast Player (SDK) | HTML5, iOS, 안드로이드 | 예 | 부분 지원 | Viblast Ltd | |
| Flowplayer (SDK) | Adobe Flash, iOS, 안드로이드, HTML5 (hlsjs 플러그인) | 예 | 예 | Flowplayer Ltd | |
| JW 플레이어 (SDK) | Adobe Flash, iOS, 안드로이드, HTML5 | 예 | 예 | HLS는 JW8(최신)부터 모든 JW 플레이어 버전에서 제공. | JW Player |
| Radiant Media Player (SDK) | Adobe Flash, HTML5 | 예 | 예 | 1.5.0 | Radiant Media Player |
| Yospace (SDK) | Adobe Flash | 예 | 예 | 2.1 | Yospace |
| Onlinelib (SDK) | Adobe Flash | 예 | 예 | 2.0 | Onlinelib.de |
| VODOBOX HLS 플레이어 (온라인 서비스) | Adobe Flash, HTML5, iOS, 안드로이드 | 예 | 예 | Vodobox | |
| NexPlayer (SDK) | HTML5 (MSE 브라우저), 안드로이드 (모바일, TV, STB), iOS, 크롬캐스트, 윈도우, Mac, 리눅스, 타이젠, WebOS | 예 | 예 | NexStreaming | |
| ffplay/avplay (멀티미디어 프레임워크) | 예 | 부분 지원 | FFmpeg/Libav | ||
| GPAC (멀티미디어 프레임워크) | 예 | 아니요 | 0.5.0 | Telecom ParisTech inc. | |
| QuickPlayer (SDK) | 안드로이드, iOS, 윈도우 7, 8, 8.1 및 10 | 예 | 예 | Squadeo | |
| hls.js (MSE) | MSE 브라우저 | 예 | 알 수 없음 | Dailymotion 오픈 소스 | |
| hasplayer.js (MSE) | MSE 브라우저 | 예 | 알 수 없음 | 오픈 소스 | |
| Hola Player (비디오 플레이어) | HTML5, Adobe Flash, iOS, 안드로이드 | 예 | 예 | 모든 버전 | Hola Ltd 오픈 소스 |
| Shaka Player (SDK) | HTML5 (MSE 브라우저) | 부분 지원 | 2.1 | 오픈 소스 | |
| Fluid Player (비디오 플레이어) | HTML5 (MSE 브라우저) | 예 | 예 | 2.2.0+ | Fluid Player OSS |
| Video.js | MSE 브라우저. flashls 소스 핸들러 폴백이 있는 플래시. | 예 | 예 | 오픈 소스 | |
| foobar2000 (오디오 플레이어) | 윈도우 | 예 | 알 수 없음 | 1.6.1 | Peter Pawłowski |
| QMPlay2 (미디어 플레이어) | 윈도우, macOS, 리눅스 | 예 | 알 수 없음 | 오픈 소스 |
6.2. 서버
| 제품 | 기술 | 버전 | 편집자 | 무료 | 참고 |
|---|---|---|---|---|---|
| ANEVIA 제노바 라이브 | H.264 및 HEVC 트랜스코딩, HLS, MPEG-DASH, MS 스무스 스트리밍 패키징 번들 소프트웨어 | Anevia | |||
| AvProxy | 라이브 스트리밍용 경량 소프트웨어 입력 및 출력 스트림: HTTP(S), HLS(S)/AES-128, UDP, RTP, MPTS 디멀티플렉스 | 2.19 | 예 | 독점적이지만 사용은 무료 | ||
| bitcodin | | SaaS | 비트무빈 | ||||
| VLC | | 1.2 | | 예 | | ||||
| 비디오 클라우드 | | SaaS | 브라이트코브 | 아니오 | | ||||
| IIS 미디어 서비스 | | 4.0 | 마이크로소프트 | 아니오 | | ||||
| Antik 미디어 스트리머 | 입력 모듈 (UDP/HTTP 전송 스트림, 자동 전환 백업 스트림, 스트림 상태 모니터링 및 로깅), 스트림 복제 UDP/HTTP, HLS 스트리밍, 스냅샷 포함 비디오 아카이브, 서버 측 타임 시프트, 여러 시간대에서의 시간대 이동, AES 및 키 회전 이용 스트림 암호화 (Antik 키 서버 포함) | Antik 기술 | 아니오 | | |||
| 어도비 미디어 서버 | 원본 및 에지 서버로서의 라이브 및 VOD 스트리밍 | 어도비 | 아니오 | | |||
| 앤트 미디어 서버 | 독립형 및 클러스터 모드에서 HLS 및 낮은 지연 시간 HLS 지원. WebRTC, RTMP, RTSP 수집, HLS 및 낮은 지연 시간 HLS 재생 엔드포인트 생성. | >앤트 미디어 | 아니오 | HLS는 커뮤니티 및 엔터프라이즈 에디션의 즉시 사용 가능한 기능. 낮은 지연 시간 HLS는 커뮤니티 및 엔터프라이즈 에디션에서 호환되는 플러그인. | |||
| Evostream 미디어 서버 | 인코더, IP 카메라, DVR 등 임베디드 시스템 포함 크로스 플랫폼. 지원: Adobe Flash RTMP, RTMPS, LiveFLV, 낮은 비트 전송률 스트림 생성을 위한 전체 트랜스코더, 아이폰, 아이패드 및 안드로이드용 스트리밍을 위한 HTTP 라이브 스트리밍(HLS), Adobe Air용 HTTP 동적 스트리밍(HDS), Microsoft 기기용 Microsoft 스무스 스트리밍(MSS), RTP 또는 MPEG-TS를 사용한 RTSP, MPEG-TS (유니캐스트/멀티캐스트), 호환 가능한 라이브 인코딩, 콘텐츠에 대한 강력한 보안(Verimatrix DRM, HLS AES 암호화, 스트림 별칭, 워터마킹), 내장 클러스터링 메커니즘 등. | EvoStream | 아니오 | | |||
| MythTV | | 0.25 | MythTV | 예 | | ||||
| MACNETIX VOD-서버 | | 3.0 | MACNETIX | 아니오 | | ||||
| Anevia NEA 라이브 서버 | 트랜스캡슐화: 하나의 입력에서 여러 출력 (HLS, MS 스무스 스트리밍, ADS 플래시, MPEG DASH) | Anevia | 아니오 | | |||
| 패킷 Ship 오버뷰:원본 서버 | IPTV 멀티캐스트에서 캡처하여 AES 암호화로 다중 대역폭 라이브 스트림에 대한 HLS로 청크화 | 패킷 Ship | 아니오 | | |||
| nangu.TV 스트리머 | 즉석 적응: 콘텐츠는 여러 출력을 활성화하는 방식으로 한 번 저장됨. (HLS, MS 스무스 스트리밍, ADS 플래시, MPEG DASH) | nangu.TV | 아니오 | | |||
| TVersity 미디어 서버 | | 1.9 | TVersity | 아니오 | Pro 에디션만 | ||||
| 헬릭스 유니버설 서버 | Verimatrix DRM 통합, ABR, 다중 해상도, AES 암호화 기능의 라이브 + VOD HLS | RealNetworks | 아니오 | 고성능 HLS (12,000개 이상의 동시 기기) | |||
| 와우자 스트리밍 엔진 | 적응형 전송을 위한 DVR, DRM 통합 및 트랜스코딩을 갖춘 원본 및 에지 서버로서의 라이브 및 VOD 스트리밍. MPEG-DASH, HLS, HDS, 스무스 스트리밍, RTMP 및 RTSP로 출력. Apple 낮은 지연 시간 HLS 지원. | 와우자 미디어 시스템 | 아니오 | | |||
| 통합 스트리밍 플랫폼 | 하나의 통합 소스에서 여러 출력 (스무스 스트리밍, HDS, HLS 및 MPEG DASH)으로 미디어 콘텐츠 멀티플렉싱. | 통합 스트리밍 | 아니오 | | |||
| VODOBOX 라이브 서버 | 적응 비트 전송률 스트리밍 사용 HTTP 라이브 스트리밍 출력(최대 6개 동시 품질). 비디오 코덱: AVC H.264 / HEVC H.265 오디오 코덱: MP3 / AAC 전송 계층: HTTP / FTP / Amazon AWS S3 / Microsoft Azure 웹 스토리지 / 디스크에 쓰기 (NetBios / Samba) 호스팅: 내부 HTTP 웹 서버 및/또는 외부 웹 서버(예: 아파치 HTTP 서버, 마이크로소프트 IIS, Nginx, 등) | Vodobox | 예 | DVB-T 장치, 위성 수신기(Dreambox), IP 스트림(RTSP, RTMP, MMS, HTTP), 마이크로소프트 DirectShow 드라이버(비디오 캡처 카드, 라이브 프로덕션 소프트웨어, 카메라)로부터 입력 라이브 스트림 지원. 인코더는 인텔 퀵 싱크 비디오 및 엔비디아 NVENC 하드웨어 가속 준수. | |||
| Flixwagon 플랫폼 비디오 서버 | | | Flixwagon | 아니오 | | ||||
| StreamCoder 라이브 인코더 | 실시간 비디오 인코더 (입력: DVB/IP 스트림 또는 비디오 신호). 다중 비트 전송률 및 다중 언어 지원. | Ektacom | 아니오 | | |||
| 아파치 HTTP 서버 | | | 아파치 소프트웨어 재단 | 예 | | ||||
| 언리얼 미디어 서버 | | 9.5 | 언리얼 스트리밍 기술 | 아니오 | 인터넷을 통해 라이브 스트림 지연 시간 2.5초 | ||||
| 님블 스트리머 | ABR HLS로의 RTMP / RTSP / Icecast / MPEG-TS. VOD HLS로의 MP4 / MP3. Apple 낮은 지연 시간 HLS 사양 지원. | WMSPanel | 아니오 | | |||
| Nginx-rtmp-module | HLS 라이브 스트리밍 지원 nginx 서버용 무료 모듈. iOS 및 Android 호환. | 로만 아루튄얀 | 예 | | |||
| Nginx Plus | 원본으로서의 VOD HLS | NGINX, Inc. | 아니오 | | |||
| OvenMediaEngine | 낮은 지연 시간 HLS(HLSv7+), HLS(HLSv3+), ABR LL-HLS 및 라이브 스트리밍 위한 ABR HLS 지원. | AirenSoft | 예 | GNU Affero General Public License | |||
| Flussonic 미디어 서버 | HTTP, RTSP, RTMP, DASH, 타임 시프팅, DVR 기능 다중 플랫폼 지원, iOS 플랫폼 지원 특화 HLS 스트리밍. | Flussonic, LLC. | 아니오 | 모든 HTTP 지원과 함께 다양한 기능 지원. | |||
| VBrick 분산 미디어 엔진("DME") | | 2.0 | VBrick Systems, Inc. | 아니오 | 라이브 및 저장된 HLS. 라이브는 H.264 인코딩 사용 RTP, RTMP 및 MPEG-TS 포함 여러 입력 믹스에서 트랜스믹싱 가능. | ||||
| Telebreeze 코더 / 미디어 서버 | 입력 스트림 및 인터페이스: UDP, TCP, RTP, HLS, HTTP, RTMP (MPEG-TS) 출력 스트림: HLS, HTTP, UDP 전처리: 크기 조정, 디인터레이스, 프레임 속도 변환, 오디오 리샘플링, 로고 렌더링 | Telebreeze | 아니오 | | |||
| LEADTOOLS 미디어 스트리밍 서버 SDK | 파일 Adobe HDS, Apple HLS, MPEG-DASH, Microsoft 스무스 스트리밍, RTSP 즉시 변환. | LEAD Technologies | 아니오 | | |||
| MC-ROUTE | 라이브 스트림 라우팅 및 프로토콜 변환 위한 다기능 소프트웨어 | Teracue | 아니오 | 지원 프로토콜: UDP, RTP, TCP, HLS, HTTP, RTSP/RTP 통한 TS | |||
| Direkt 라우터 | SDI, NDI 아웃 및 트랜스코딩 갖춘 라이브 하드웨어 디코더 | Intinor | 아니오 | 지원 프로토콜: UDP, RTP, TCP, HLS, HTTP 통한 TS, RTMP 아웃: UDP, RTP, TCP, RTMP | |||
| Elecard CodecWorks | HEVC/H.265, AVC/H.264 및 MPEG-2 비디오 실시간 인코딩 및 트랜스코딩 위한 전문 플랫폼, HLS 및 MPEG-DASH 프로토콜 통해 적응형 비트 전송률 스트리밍 지원. | Elecard | 아니오 | 지원 프로토콜: UDP/RTP/SRT 통한 TS, RTMP 출력, HLS, MPEG-DASH 출력, UDP/RTP/SRT, NDI | |||
| TAC - Teracue 애플리케이션 클라우드 | 다양한 오디오 및 비디오 코덱 및 스트리밍 프로토콜 지원 전문 스트림 라우팅 및 실시간 인코딩/트랜스코딩 플랫폼 | Teracue | 아니오 | 지원 프로토콜 IN 및 OUT: UDP, RTP, RTSP, RTMP, TCP(클라이언트/서버), HLS, HTTP, FEC, SRT 지원 프로토콜 IN 전용: SDVoE 및 NDI | |||
| 피어튜브 | HLS 피어 투 피어 기술 사용 비디오 시청 시 개별 서버 부하 감소 위해 분산된 ActivityPub 연동 비디오 플랫폼 무료 사용 가능 오픈 소스. | | 예 | 비디오는 HTTP 통해 다운로드 가능, 재생은 HLS 및 WebTorrent 사용 피어 투 피어 재생 선호. |
6.3. 라이브 인코더
| 제품 | 기술 | 버전 기준 | 편집자 | 비고 |
|---|---|---|---|---|
| ENC-400 시리즈 | SDI 또는 HDMI를 지원하는 라이브 하드웨어 인코더 | 1.0 | 테라큐(Teracue) | 지원 프로토콜: TS over UDP, RTP, TCP, RTP/RTSP, RTMP 푸시, HLS |
| WELLAV NB100 | SDI 또는 HDMI, CVBS를 지원하는 라이브 스트림캐스트 | 1.0 | 웰라브 테크놀로지스(Wellav Technologies) | 지원 프로토콜: TS UDP, RTP, RTP/RTSP, RTMP, HLS |
| ZyPerMX4 | 4개의 HDMI 입력을 갖춘 라이브 하드웨어 인코더 | 2.14 | 지비(ZeeVee) | 지원 프로토콜: TS over UDP, RTP, H.264/MPEG-4 AVC, HLS, RTMP, RTSP |
| ZyPerMX2 | 2개의 HDMI 입력을 갖춘 라이브 하드웨어 인코더 | 2.14 | 지비(ZeeVee) | 지원 프로토콜: TS over UDP, RTP, H.264/MPEG-4 AVC, HLS, RTMP, RTSP |
| Elecard CodecWorks | 최대 8개의 SDI/HDMI 또는 NDI 입력을 지원하는 라이브 소프트웨어 인코더 | 4.6 | 엘레카드(Elecard) | 지원 프로토콜: TS UDP, RTP, SRT, RTMP 푸시, HLS, Mpeg-DASH |
| StreamS 라이브 인코더 | 전문 인터페이스 옵션을 갖춘 라이브 소프트웨어/하드웨어 오디오 인코더 | 3.0 | 스트림스(StreamS) | 지원 프로토콜: HLS/DASH ES, fMP4, FTP, FTPS, HTTP, HTTPS, DAV, DAVS, 아카마이(Akamai), 아마존 S3(Amazon S3), 마이크로소프트 BLOB, 구글 클라우드(Google Cloud) AAC-LC/HE-AAC/xHE-AAC - 동기식 실시간 현재 재생 및 제어 메타데이터 및 그래픽 |
6.4. VOD 인코더
| 제품 | 기술 | 버전 기준 | 편집자 | 무료 | 비고 |
|---|---|---|---|---|---|
| VODOBOX HLS 인코더 | 비디오 파일을 미리 인코딩된 HLS 적응 비트 전송률 스트리밍으로 변환하여 Apache HTTP 서버 / Microsoft IIS / Nginx 웹 서버를 통해 호스팅 및 방송할 준비를 한다. AVC H.264 / HEVC H.265 / MPEG-TS / 조각화된 MP4 / 대체 오디오 / 대체 자막을 지원한다. | 1.0 | Vodobox | 예 | 클래식 비디오 파일(avi, mp4, m2ts, mkv 등)을 VOD 또는 재생 사용을 위한 다중 품질의 HLS 스트림으로 트랜스코딩한다. 하드웨어 인코딩은 인텔 퀵 싱크 비디오 및 Nvidia NVENC 기술로 가속될 수 있다. |
| MediaGoom HLS 패키저 | 멀티비트레이트로 인코딩된 mp4 파일을 HLS 청크로 변환한다. | 0.1 | Mediagoom | 예 | 리눅스와 윈도우를 모두 지원한다. |