HTTP 라이브 스트리밍
HTTP Live Streaming| 파일 확장자 | .m3u8 |
|---|---|
| 인터넷 미디어 유형 | 응용프로그램/vnd.apple.mpegurl 또는 오디오/mpegurl[1] |
| 입력코드 | .m3u8 |
| 개발자 | 주식회사 애플 |
| 최초출시 | 2009년5월 |
| 에서 확장됨 | 확장 M3U |
| 다음으로 확장됨 | .m3u8 |
| 표준. | RFC 8216 |
HLS(HTTP Live Streaming)는 2009년 출시된 애플사가 개발한 HTTP 기반의 적응형 비트레이트 스트리밍 통신 프로토콜입니다. 프로토콜에 대한 지원은 미디어 플레이어, 웹 브라우저, 모바일 장치 및 스트리밍 미디어 서버에서 널리 사용됩니다. 2022년 현재 연간 비디오 산업 조사에 따르면 가장 인기 있는 스트리밍 형식으로 지속적으로 확인되었습니다.[2]
HLS는 전체 스트림을 작은 HTTP 기반 파일 다운로드 시퀀스로 분할하여 작동한다는 점에서 MPEG-DASH와 유사하며, 각각은 잠재적으로 제한되지 않은 전체 전송 스트림의 짧은 청크를 다운로드합니다. 서로 다른 비트 레이트로 인코딩된 사용 가능한 스트림 목록은 확장된 M3U 재생 목록을 사용하여 클라이언트로 전송됩니다.[3]
표준 HTTP 트랜잭션을 기반으로 하는 HTTP 라이브 스트리밍은 RTP와 같은 UDP 기반 프로토콜과 달리 표준 HTTP 트래픽을 통과하는 모든 방화벽 또는 프록시 서버를 통과할 수 있습니다. 이를 통해 기존 HTTP 서버에서 콘텐츠를 제공하고 널리 사용 가능한 HTTP 기반 콘텐츠 전송 네트워크를 통해 전송할 수도 있습니다.[4][5][6] 또한 표준에는 표준[7] 암호화 메커니즘과 HTTPS를 사용한 보안 키 배포가 포함되어 있으며, 이는 간단한 DRM 시스템을 함께 제공합니다. 이후 버전의 프로토콜은 또한 트릭 모드 빠른 순방향 및 되감기와 자막 통합을 제공합니다.
애플은 HTTP 라이브 스트리밍을 RFC(Request for Comments)로 게시하는 과정의 첫 단계인 인터넷 초안(Individual Submission)으로 문서화했습니다. 2015년 12월 현재, 해당 문서의 작성자는 RFC 독립 스트림 편집기(ISE)에 IETF 합의 프로세스 외부의 정보(비표준) RFC로 문서를 게시할 것을 요청했습니다.[8] 2017년 8월, RFC 8216은 프로토콜 버전 7을 설명하기 위해 공개되었습니다.[9]
건축
HTTP 라이브 스트리밍은 시청각 콘텐츠를 배포하기 위해 HLS(HTTP Live Streaming)에 대한 지원을 구현하는 기존의 웹 서버를 사용하며, 네트워크를 통해 실시간으로 전송하기 위해 콘텐츠를 적절한 형식(코덱)에 맞도록 OBS와 같은 특정 소프트웨어를 필요로 합니다. 서비스 아키텍처는 다음과 같이 구성됩니다.
- 서버
- 입력 비디오 흐름을 전달에 적합한 형식으로 코드화하고 캡슐화합니다. 그런 다음 다른 파일로 분할하여 배포할 수 있도록 준비합니다. 섭취하는 과정에서 영상을 인코딩하고 세분화하여 영상 조각과 인덱스 파일을 생성합니다.
- 인코더: 비디오 파일을 H.264 형식으로, 오디오를 AAC, MP3, AC-3 또는 EC-3 형식으로 코드화합니다.[10] 이것은 MPEG-2 Transport Stream 또는 MPEG-4_Part_14에 의해 캡슐화되어 운반됩니다.
- 세그먼트: 스트림을 동일한 길이의 조각으로 나눕니다. 또한 .m3u8로 저장된 조각난 파일의 참조를 포함하는 인덱스 파일을 만듭니다.
- 디스트리뷰터
- 표준 웹 서버로 구성된 는 클라이언트의 요청을 수락하고 스트리밍에 필요한 모든 리소스(.m3u8 재생 목록 파일 및 .ts 세그먼트 파일)를 전달합니다.
- 고객
- 모든 파일과 리소스를 요청하고 다운로드하여 사용자에게 연속 흐름 비디오로 제공할 수 있도록 조립합니다. 클라이언트 소프트웨어는 먼저 URL을 통해 인덱스 파일을 다운로드한 다음 사용 가능한 여러 미디어 파일을 다운로드합니다. 재생 소프트웨어는 사용자에게 계속 표시할 수 있도록 시퀀스를 조립합니다.
특징들
HTTP 라이브 스트리밍은 플레이어가 사용자가 볼 수 있는 재생 지연을 일으키지 않고 신뢰할 수 없는 네트워크 상황에 적응할 수 있는 메커니즘을 제공합니다. 예를 들어, 신뢰할 수 없는 무선 네트워크에서 HLS를 사용하면 플레이어가 더 낮은 화질의 비디오를 사용할 수 있으므로 대역폭 사용이 줄어듭니다. HLS 비디오는 동일한 비디오에 여러 서버를 제공하여 서버 중 하나에 장애가 발생할 경우 플레이어가 원활하게 스왑할 수 있도록 함으로써 고가용성을 구현할 수 있습니다.
적응성
플레이어가 네트워크의 대역폭에 적응할 수 있도록 원본 비디오는 몇 가지 다른 품질 수준으로 인코딩됩니다. 서버는 "Master Playlist"라고 불리는 이러한 인코딩 중 "Variant Streams"라고 불리는 인덱스를 제공합니다. 그런 다음 플레이어는 재생 중에 변형 스트림 중 하나를 선택하여 네트워크 조건이 변경됨에 따라 원활하게 앞뒤로 변경할 수 있습니다.
조각난 MP4 사용
2016년 WWDC에서 애플은 단편화된 MP4 파일, 즉 fMP4에 대한 바이트 범위 어드레싱을 포함하여 콘텐츠를[11] MPEG-2 Transport Stream으로 다중화할 필요 없이 HLS를 통해 재생할 수 있다고 발표했습니다. 업계에서는 이를 HLS와 MPEG-DASH의 호환성을 위한 단계로 간주했습니다.[12][13]
저지연 HLS
"Low Latency" 이름과 대응하는 두 개의 관련 없는 HLS 확장자가 존재합니다.
이 섹션의 나머지 부분에서는 Apple의 ALHLS에 대해 설명합니다. 라이브 스트리밍 이벤트 중에 라이브 스트리밍 재생을 시작하고 해당 시간을 유지하는 시간을 줄여 HLS를 통해 스트리밍할 때 유리에서 유리까지의 지연을 줄입니다. MPEG-CMAF의 fMP4와 마찬가지로 부분 미디어 세그먼트 파일을 믹스에 추가하여 작동합니다. CMAF와 달리 ALHLS는 부분 MPEG-2 TS 전송 파일도 지원합니다. 부분 미디어 세그먼트(partial media segment)는 표준 세그먼트(예: 6초)를 1초 미만의 동일한 세그먼트(예: 200밀리초)로 분할한 것입니다. 표준 첫 번째 세그먼트는 일련의 부분 세그먼트로 대체됩니다. 후속 세그먼트는 표준 크기입니다.[16] HTTP/2는 재생 목록과 함께 세그먼트를 밀어 넣어야 하므로 반복되는 HTTP/TCP 연결의 오버헤드가 줄어듭니다.
기타 기능은 다음과 같습니다.
- 재생 목록 델타 업데이트: 일반적으로 단일 MTU에 맞게 변경된 재생 목록만 전송하므로 DVR 창이 큰 재생 목록을 더 효율적으로 로드할 수 있습니다.
- 재생 목록 다시 로드 차단: 라이브 미디어 재생 목록을 요청할 때 첫 번째 세그먼트도 준비될 때까지 기다렸다가 두 개를 동시에 반환합니다(추가 HTTP/TCP 요청 저장).
- Rendition Reports: 다른 미디어 Rendion에 메타데이터를 추가하여 ABR 간의 전환 속도를 높임
- 새로 추가된 태그: EXT-X-SERVER-CONTROL / EXT-X-PART / EXT-X-SKIP / EXT-X-RENDITION-REPORT
- URL 쿼리_STRING ?_HLS 콜백 추가
또한 애플은 새로운 도구를 추가했습니다: "tsrecompressor"는 지속적으로 낮은 대기 시간의 오디오 및 비디오 스트림을 생성하고 인코딩합니다. 이제 "미디어 스트림 세그먼트" 도구를 저지연 버전으로 사용할 수 있습니다. 이것은 tsrecompressor에서 UDP/MPEG-TS 스트림을 가져와 위의 새로운 태그를 포함한 미디어 재생 목록을 생성하는 HLS 세그먼트입니다.
저지연 HLS 지원은 tvOS 13 베타 및 iOS & iPad에서 제공됩니다.OS 14.[17] 2020년 4월 30일, 애플은 메인 HLS 사양의 두 번째 판에 저지연 사양을 추가했습니다.[18]
동적 광고 삽입
SCTE-35 사양에 기반한 스플라이스 정보를 사용하여 HLS에서 동적 광고 삽입을 지원합니다. STEE-35 스플라이스 메시지는 EXT-X-DATERANGE 태그를 사용하여 미디어 재생 목록 파일에 삽입됩니다. 각 SCTE-35 splice_info_section()은 SCTE35-CMD 속성을 가진 EXT-X-DATERANGE 태그로 표시됩니다. splice_insert() 명령에 의해 시그널링되는 SCTE-35 splice out/inpair는 동일한 ID 속성을 운반하는 하나 이상의 EXT-X-DATERANGE 태그로 표현됩니다. SCTE-35 splice out 명령에는 SCTE35-OUT 속성이 있어야 하며, splice in 명령에는 SCTE35-IN 속성이 있어야 합니다.
각각 SCTE35-OUT 및 SCTE35-IN 속성을 포함하는 두 개의 EXT-X-DATERANGE 태그 사이에는 미디어 세그먼트 URI의 시퀀스가 있을 수 있습니다. 이러한 미디어 세그먼트는 일반적으로 로컬 또는 사용자 지정 광고로 대체할 수 있는 광고 프로그램을 나타냅니다. 광고 교체는 미디어 파일을 교체할 필요가 없으며 재생 목록의 URI만 다른 광고 프로그램을 가리키도록 변경하면 됩니다. 광고 교체는 오리진 서버 또는 클라이언트의 미디어 재생 장치에서 수행할 수 있습니다.
서버 구현
HTTP 라이브 스트리밍을 지원하는 주목할 만한 서버 구현 예는 다음과 같습니다.
- Adobe Media Server는 iOS 장치(HLS) 및 보호된 HTTP 라이브 스트리밍(PHLS)을 위한 HLS를 지원합니다.
- Akamai는 라이브 및 주문형 스트림을 위한 HLS를 지원합니다.
- AT&T는 라이브 또는 주문형 모든 형식의 HLS를 지원합니다.
- Axis Communication IP 카메라는 CamStreamer App ACAP를 통해 HLS를 지원합니다.
- Instart는 주문형 스트림에 대한 HLS를 지원합니다.
- Amazon Cloud Front는 주문형 스트림에 대한 HLS를 지원합니다.
- 비트모빈은 주문형 및 라이브 스트리밍을 위한 HLS를 지원합니다.
- CD 네트워크는 실시간 및 주문형 스트림을 위한 HLS를 지원합니다.
- Cisco 시스템: Live/TSTV/VOD/HLS 및 Cloud DVR 서비스에 대한 전체 엔드 투 엔드 제공을 지원합니다.
- 클라우드 플레어는 라이브 및 주문형 스트림을 위한 HLS를 지원합니다.
- EdgeCast Networks는 HLS를 사용하여 디바이스 간 스트리밍을 지원합니다.
- 라이브 및 주문형 스트림을 위한 HLS를 신속하게 지원합니다.[19]
- RealNetworks의 Helix Universal Server는 iPhone OS 3.0 이상을 지원하여 H.264 및 AAC 콘텐츠를 iPhone, iPad 및 iPod로 실시간 및 주문형 HTTP Live 또는 On-Demand 스트리밍할 수 있습니다.
- Microsoft의 IIS Media Services는 실시간 및 주문형 스무스 스트리밍과 HTTP 라이브 스트리밍을 지원합니다.
- 레벨 3은 HLS 라이브 및 주문형 스트림을 지원합니다.
- Limight Networks는 일부 계정에 대해 HLS를 지원합니다.[20]
- nginx-rtmp-모듈이 있는 nginx는 라이브 모드에서 HLS를 지원합니다. ngx_http_hls_module 모듈이 포함된 상용 버전 Nginx Plus도 HLS/HDS VOD를 지원합니다.[21]
- 님블 스트리머는 라이브 및 VOD 모드에서 HLS를 지원하며, 애플 저지연 HLS 사양도 지원합니다.
- hls-server 패키지가 포함된 Node.js는 hls를 라이브 모드로 인코딩하고 로컬 파일 변환을 지원합니다.[22]
- Storm Streaming Server는 Media Source Extensions 플레이어의[23] 백업 모드로 HLS를 지원합니다.
- Tata Communications CDN은 실시간 및 주문형 스트림을 위한 HLS를 지원합니다.
- 티버시티는 iOS 기기에서 비디오 콘텐츠를 재생하기 위해 즉시 트랜스코딩과 함께 HLS를 지원합니다.
- Unreal Media Server는 버전 9.5를 기준으로 저지연 HLS를 지원합니다.[24]
- Ustream은 라이브 방송의 HLS 전달을 지원합니다. 원래 오디오 및 비디오 코덱이 HLS 요구 사항을 벗어나는 경우 수집된 스트림이 다시 변환됩니다.
- VLC Media Player는 버전 2.0을 기준으로 라이브 및 주문형 스트림 서비스를 위한 HLS를 지원합니다.
- Wowza Media Systems의 Wowza Streaming Engine은 라이브(DVR 포함), 온디맨드 스트리밍 및 Apple Low Latency HLS 사양을 위한 HLS 및 암호화된 HLS를 지원합니다.
사용.
- 구글은 안드로이드 3.0(Honeycomb)에서 HTTP Live Streaming 지원을 추가했습니다.[25]
- HP는 webOS 3.0.5에서 HTTP Live Streaming 지원을 추가했습니다.[26]
- 엣지에서 HTTP Live Streaming 지원 추가2015년 윈도우 10의 HTML 렌더링 엔진.[27]
- 마이크로소프트는 IIS Media Services 4.0에서 HTTP Live Streaming 지원을 추가했습니다.[28]
- Yospace는 Yospace HLS Player에서 HTTP Live Streaming을 지원하고 플래시 버전 1.0용 SDK를 추가했습니다.[citation needed]
- 슬링 미디어는 슬링박스와 슬링플레이어 앱에 HTTP 라이브 스트리밍 지원을 추가했습니다.[29]
- 2014/15년 BBC는 라이브 인터넷 라디오 및 주문형 오디오 서비스를 위해 HLS-AAC 스트림을 도입했으며, 아이플레이어 라디오 클라이언트와 함께 해당 스트림을 지원합니다.[30]
- 트위치는 HTTP 라이브 스트리밍(HLS)을 사용하여 다수의 동시 시청자에게 라이브 스트리밍을 전송하고 확장하며, 또한 여러 변형(예: 1080p, 720p 등)을 지원합니다.[31]
지원되는 플레이어 및 서버
HTTP Live Streaming은 기본적으로 다음 운영 체제에서 지원됩니다.
- Windows 10 버전 1507 ~ 2004(Microsoft Edge 레거시)(더 이상 지원되지 않음)
- 윈도우 11 미디어 플레이어
- macOS 10.6+ (Safari and QuickTime)
- iOS 3.0+ (Safari)
- Android 4.1+[32] (Google Chrome)
Windows 10은 Edge에서 HTTP Live Streaming을 기본적으로 지원했습니다.크롬 기반의 Blink 브라우저 엔진으로 전환하기 전에 Microsoft Edge(현재 Edge Legacy라고 함)에서 사용되었던 독점 브라우저 엔진인 HTML. 엣지 레거시는 2004년 버전까지 윈도우 10에 포함되었습니다. 버전 20H2에서는 엣지 크롬으로 대체되었습니다. 윈도우 11과 함께, 마이크로소프트는 HLS를 기본적으로 지원하는 업데이트된 미디어 플레이어를 공개했습니다.
클라이언트
| 고객 | 플랫폼 | 라이브 스트리밍 | DRM | 버전 기준 | 편집기 |
|---|---|---|---|---|---|
| 사파리(웹 브라우저) | macOS, iOS | 네. | 네. | 6.0+ HLS를 완벽하게 지원합니다. | 사과 |
| Microsoft Edge(웹 브라우저) | 윈도우 10 | Edge 레거시의 기본 지원. 에지 크롬에서 미디어 소스 확장을 통해 지원합니다. | 네. | Edge 레거시의 엔진 Edge에서 기본적으로 지원됨HTML 버전 12부터 18까지입니다. 버전 79부터 현재까지 엣지 크롬에 기본 지원이 없습니다.[33] | 마이크로소프트 |
| 구글 크롬(웹브라우저) / 크롬 | Windows, macOS, Linux, Android, iOS | 안드로이드/iOS에서 OS에 의존하는 지원. 다른 OS에서 Media Source Extensions를 통해 지원합니다. | 네. | 30+ 안드로이드와 iOS는 OS에 의존하는 기본 지원을 제공합니다. 다른 플랫폼에는 미디어 소스 확장이 필요합니다. | 구글 |
| 파이어폭스(웹 브라우저) | Windows, macOS, Linux, Android, iOS | 안드로이드/iOS에서 OS에 의존하는 지원. 다른 OS에서 Media Source Extensions를 통해 지원합니다. | 네. | Android의[34] 경우 50.0 이상, 기타의 경우 57.0 이상,[35] Android에[36] 대한 지원이 강화된 59.0 다른 플랫폼에는 미디어 소스 확장이 필요합니다. | 모질라 |
| 퀵타임 플레이어(미디어 플레이어) | macOS | 네. | 네. | 10.0+ HLS를 완벽하게 지원합니다. | 사과 |
| 아이튠즈 (음악 연주자) | 윈도우, macOS | 네. | 네. | 10.1+[37] HLS를 완벽하게 지원합니다. HLS 스트림을 재생하려면 File > Open Stream으로 이동하여 스트림 URL에서 "http://"를 "itls://"(비디오 스트림의 경우) 또는 "itals://"(오디오 스트림의 경우)로 대체합니다. | 사과 |
| Windows Media Player (2022) (미디어 플레이어) | 윈도우 10, 윈도우 11 | 네. | 네. | Windows Media Player(윈도우 미디어 플레이어)의 원본 Win32 버전은 포함되어 있지 않습니다. | 마이크로소프트 |
| StreamS HiFi 라디오(라디오 플레이어) | iOS, tvOS 아이폰, 아이패드, 애플TV | 네. | 네. | 7.3+ 인터넷 라디오 스트림 재생 HLS 오디오 - 100% 준수 | 스트림S/변조지수 LLC |
| VLC 미디어 플레이어(미디어 플레이어) | Windows, macOS, Linux, Android, iOS, Windows Phone | 네. | 알 수 없는 | VLC 2.x는[38] HLS 버전 3까지 부분적으로 지원합니다. 그렇지 않으면 M3U 플레이리스트, 개별 청크 시퀀스로 로드됩니다.[39] VLC 3.0은 HLS를 완벽하게 지원합니다. | 비디오랜 |
| Media Player Classic Home Cinema(미디어 플레이어) | 창문들 | 네. | 네. | Gabest, Doom9 포럼 사용자 | |
| 포트 플레이어(미디어 플레이어) | 창문들 | 네. | 네. | 다음커뮤니케이션 | |
| MPlayer / SMPlayer / mpv (미디어 플레이어) | Windows, macOS, Linux, BSD | 네. | 네. | 리카르도 비얄바 | |
| GOM 플레이어(미디어 플레이어) | 창문들 | 네. | 네. | 그레테크 | |
| Camelleon(라이브 비디오 스트리밍 소프트웨어) | 윈도우, macOS | 네. | 알 수 없는 | 야트코 | |
| 대담한 (소프트웨어) (음악 플레이어) | 윈도우, 리눅스 | 네. | 네. | 대담한 | |
| 라디오 트레이(라디오 플레이어) | 리눅스 | 네. | 네. | 카를로스 리베이로 | |
| Kodi (소프트웨어) (홈 엔터테인먼트 어플리케이션) | Windows, macOS, Linux, Android, iOS | 네. | 부분적 | 12.0 Alpha 5 이상 DRM 지원을 위해서는 매월/야간 빌드가 필요합니다. | XBMC 재단 |
| MythTV(홈 엔터테인먼트 애플리케이션) | Windows, macOS, Linux, FreeBSD | 네. | 네. | 0.26 | 신화TV |
| JR리버 미디어 센터(홈 엔터테인먼트 애플리케이션) | 윈도우, macOS | 네. | 네. | 제이리버 | |
| Xia Live (라디오 플레이어) | 안드로이드, iOS | 네. | 네. | 3.0+ 인터넷 라디오 스트림을 재생합니다(오디오 전용). | 비주얼 블래스터즈 |
| 라디오 조정(라디오 플레이어) | 안드로이드, iOS | 네. | 네. | 3.3+ 인터넷 라디오 스트림을 재생합니다(오디오 전용). | 튠인 |
| 마이튜너 라디오(라디오 플레이어) | 안드로이드, iOS, Windows Phone, Windows 8, macOS | 네. | 네. | 인터넷 라디오 스트림을 재생합니다(오디오 전용). | 앱 생성 소프트웨어 |
| 인터넷 라디오 플레이어(라디오 플레이어) | 안드로이드 | 네. | 네. | 인터넷 라디오 스트림을 재생합니다(오디오 전용). | 머저테크 |
| 구구라디오(라디오 플레이어) | iOS | 네. | 네. | 인터넷 라디오 스트림을 재생합니다(오디오 전용). | 레온 판 |
| AIMP(미디어 플레이어) | Windows, Android | 네. | 알 수 없는 | 4.10+(빌드 1827) 인터넷 라디오 스트림을 재생합니다(오디오 전용). | 아르템 이즈마일로프 |
| 미니 스트림 플레이어(미디어 플레이어) | 안드로이드 | 네. | 네. | 조기앱 | |
| MX 플레이어(미디어 플레이어) | 안드로이드 | 네. | 네. | J2 인터랙티브 | |
| TV 스트림(미디어 플레이어) | macOS, iOS, tvOS | 네. | 네. | v7.1 | 티아고 마르틴호 |
| HP 터치패드 | 웹OS | 네. | 네. | 3.0.5 | HP |
| Amino x4x STB | 아미노 셋톱박스 | 네. | 네. | 2.5.2 Aminet | Aminocom.com |
| 듄 HD TV | Dune HD 셋톱박스 | 네. | 네. | TV시리즈 | dunehd.com |
| CTU 시스템즈 | CTU Systems Ltd Eludo Playout System | 네. | 네. | TV시리즈 | ctusystems.com |
| nangu.TV | 모토로라 셋톱박스 | 네. | 네. | 2.0 | nangu.TV |
| 로쿠 디지털 비디오 플레이어 | 로쿠 셋톱박스 | 네. | 네. | Roku OS / SDK 2.6 | 로쿠 |
| 텔레브리즈 플레이어 | HTML, Android, iOS, Windows, MacOS, Roku, MAG Infomir, Samsung Tizen, LG WebOS, Google Chromecast, tvOS, Amazon Fire TV, AndroidTV | 네. | 네. | 텔레브리즈 | |
| bitdash (SDK) | HTML5 또는 플래시, 웹 및 모바일 | 네. | 네. | 버전 3.0+ | 비트모빈 |
| 3ivx(SDK) | 윈도우 8, 윈도우 폰[40] 8 & 엑스박스[41] 원 | 네. | 네. | 2.0 | 3ivx |
| TheO player[42] | HTML5, SDK (Android, iOS, Android TV, tvOS, Chromecast, WebOS, FireTV, Tizen) | 네. | 네. | TheO Technologies | |
| 비블라스트 플레이어(SDK) | HTML5, iOS, 안드로이드 | 네. | 부분적 | 비블라스트 | |
| 플로우 플레이어(SDK) | Adobe Flash, iOS, Android, HTML5(hlsjs 플러그인) | 네. | 네. | Flash HLS 플러그인은 GitHub에서 사용할 수 있습니다. | 플로우플레이어 |
| JW 플레이어(SDK) | 어도비 플래시, iOS, 안드로이드, HTML5 | 네. | 네. | HLS는 JW8(최신) 기준으로 모든 JW Player 버전에서 제공됩니다. | JW플레이어 |
| SDK(Radiant Media Player) | 어도비 플래시, HTML5 | 네. | 네. | 1.5.0[43] | 래디언트 미디어 플레이어 |
| 요스페이스(SDK) | 어도비 플래시 | 네. | 네. | 2.1 | 요스페이스 |
| Onlinelib (SDK) | 어도비 플래시 | 네. | 네. | 2.0 | Onlinelib.de |
| VODOBOX HLS 플레이어 (온라인 서비스) | 어도비 플래시, HTML5, iOS, 안드로이드 | 네. | 네. | 보도박스 | |
| 넥스플레이어(SDK) | HTML5(MSE 브라우저), 안드로이드(모바일, TV, STB), iOS, 크롬캐스트, 윈도우, 맥, 리눅스, 타이젠, 웹OS | 네. | 네. | 넥스트스트리밍 | |
| fffplay/avplay(multimedia 프레임워크) | 네. | 부분적 | FFmpeg/Libav | ||
| GPAC (멀티미디어 프레임워크) | 네. | 아니요. | 0.5.0 | 텔레콤 파리 테크 주식회사 | |
| 퀵 플레이어(SDK) | 안드로이드, iOS, Windows 7, 8, 8, 1, 10 | 네. | 네. | 스쿼드오 | |
| hls.js(MSE) | MSE 브라우저 | 네. | 알 수 없는 | 일일 모션 오픈 소스[44][45] | |
| hasplayer.js(MSE) | MSE 브라우저 | 네. | 알 수 없는 | 오픈 소스[46] | |
| Hola Player (비디오 플레이어) | HTML5, Adobe Flash, iOS, Android | 네. | 네. | 모든 버전 | Hola Ltd 오픈소스[47] |
| 샤카 플레이어(SDK) | HTML5 (MSE 브라우저) | 커밍순 | 부분적 | 2.1 | 오픈소스[48][49] |
| Fluid Player(비디오 플레이어) | HTML5 (MSE 브라우저) | 네. | 네. | 2.2.0+ | 플루이드 플레이어 OSS[50][51][52] |
| Video.js | MSE 브라우저. 플래시와 함께 플래시 소스 핸들러 폴백. | 네. | 네. | 오픈소스 | |
| 푸바2000 (audio플레이어) | 창문들 | 네. | 알 수 없는 | 1.6.1 | 피터 포워스키 |
| QMPlay2 (미디어 플레이어) | 윈도우, macOS, 리눅스 | 네. | 알 수 없는 | VU 미터와 스펙트럼 분석기가 있습니다. | 오픈소스[53] |
서버들
| 제품. | 기술 | 버전 기준 | 편집기 | 공짜 | 메모들 |
|---|---|---|---|---|---|
| 애니비아 제노바 라이브 | H.264 & HEVC로 트랜스코딩하고 HLS, MPEG-DASH, MS Smooth Streaming으로 패키징하기 위한 번들 소프트웨어 | 아니비아 | 아니요. | ||
| AvProxy | 라이브 스트리밍을 위한 라이트 소프트웨어 입력 및 출력 스트림: HTTP(S), HLS(S)/AES-128, UDP, RTP, MPTS 디먹스 | 2.19[54] | 네. | 독점적이지만 무료로 사용할 수 있습니다. | |
| 비트코딘 | SaaS | 비트모빈 | 아니요. | [55] | |
| VLC | 1.2 | 네. | |||
| 비디오 클라우드 | SaaS | 브라이트코브 | 아니요. | [56] | |
| IIS 미디어 서비스 | 4.0[28] | 마이크로소프트 | 아니요. | ||
| 앤틱 미디어 스트리머 | Ingest Module(UDP/HTTP 전송 스트림, 자동 전환 기능이 있는 백업 스트림, 스트림 상태 모니터링 및 로깅), 스트림 복제 UDP/HTTP, HLS 스트리밍, 스냅샷이 포함된 비디오 아카이브, 서버측 Timeshift, 여러 시간대를 사용한 시간대 이동, AES를 사용한 스트림 암호화 및 키 회전(Antik Key Server 포함) | 3.0 | 안티크 기술 | 아니요. | |
| 어도비 미디어 서버 | 오리진 및 에지 서버로서의 라이브 및 VOD 스트리밍 | 5.0 | 어도비 | 아니요. | |
| 이보스트림 미디어 서버 | 인코더, IP 카메라, DVR 등과 같은 임베디드 시스템을 포함한 크로스 플랫폼. 지원: Adobe Flash RTMP, RTMPS, LiveFLV, 낮은 비트레이트 스트림 생성을 위한 전체 트랜스코더, iPhone, iPad 및 Android로의 스트리밍을 위한 HTTP Live Streaming(HLS), Adobe Air를 위한 HTTP Dynamic Streaming(HDS), Microsoft 장치를 위한 Microsoft Smooth Streaming(MSS), RTP 또는 MPEG-TS를 포함한 RTSP, MPEG-TS(유니캐스트/멀티캐스트), 호환 라이브 인코딩, 컨텐츠에 대한 강력한 보안(Verimatrix DRM, HLS AES 암호화, 스트림 앨리어싱, 워터마크링), 내장 클러스터링 메커니즘 등입니다. | 1.6.5 | 에보스트림 | 아니요. | |
| 신화TV | 0.25 | 신화TV | 네. | ||
| MACNETIX VOD-서버 | 3.0 | 맥네틱스 | 아니요. | ||
| Anevia NEA Live Servers | 트랜스캡슐레이션: 하나의 입력에서 여러 개의 출력 (HLS, MS Smooth Streaming, ADS Flash, MPEG DASH) | 아니비아 | 아니요. | ||
| 패킷 발송 개요:오리진 서버 | AES 암호화를 통해 멀티 대역폭 라이브 스트림을 위해 IPTV 멀티캐스트 및 청킹에서 HLS로 캡처 | 2.1 | 패킷선 | 아니요. | |
| nangu.TV 스트리머 | On-the-fly 적응: 여러 출력을 활성화하면 콘텐츠가 저장됩니다. (HLS, MS Smooth Streaming, ADS Flash, MPEG DASH) | nangu.TV | 아니요. | ||
| 티버시티 미디어 서버 | 1.9 | 티버시티 | 아니요. | 프로 에디션만 | |
| 헬릭스 유니버설 서버 | Verimatrix DRM 통합, ABR, 다중 해상도, AES 암호화 기능을 갖춘 Live + VOD HLS | 15.0+ | 리얼 네트워크 | 아니요. | 고성능 HLS(12,000개 이상의 동시 장치) |
| 와우자 스트리밍 엔진 | 적응형 제공을 위한 DVR, DRM 통합 및 트랜스코딩을 통해 오리진 및 에지 서버로서의 라이브 및 VOD 스트리밍. MPEG-DASH, HLS, HDS, Smooth Streaming, RTMP 및 RTSP로 출력됩니다. Apple Low Latency HLS를 지원합니다. | 2.0+ | 와우자 미디어 시스템즈 | 아니요. | |
| 통합 스트리밍 플랫폼 | 단일 통합 소스의 미디어 콘텐츠를 여러 출력으로 먹스(Smooth Streaming, HDS, HLS 및 MPEG DASH) | 통합 스트리밍 | 아니요. | ||
| VODOBOX 라이브 서버 | 적응형 비트레이트 스트리밍(최대 6개 동시 품질)으로 HTTP 라이브 스트리밍을 출력합니다. 비디오 코덱 : AVC H.264 / HEVC H.265 오디오 코덱 : MP3 / AAC 전송 계층: HTTP / FTP / Amazon AWS S3 / Microsoft Azure Web Storage / 디스크에 쓰기(NetBios / Samba) 호스팅: 내부 HTTP 웹 서버 및/또는 외부 웹 서버(ex: Apache HTTP 서버, Microsoft IIS, Nginx 등) | 1.0 | 보도박스 | 네. | DVB-T 장치, 위성 수신기(드림박스), IP 스트림(RTSP, RTMP, MMS, HTTP), Microsoft DirectShow 드라이버(비디오 캡처 카드, 라이브 프로덕션 소프트웨어, 카메라)의 입력 라이브 스트림을 지원합니다. 인코더는 Intel Quick Sync Video 및 Nvidia NVENC 하드웨어 가속 기능을 준수합니다. |
| Flexwagon 플랫폼 비디오 서버 | 플릭스왜건 | 아니요. | |||
| StreamCoder Live 인코더 | 실시간 비디오 인코더(입력: DVB/IP 스트림 또는 비디오 신호). 다중 비트레이트 및 다중 언어 지원 | 엑타콤 | 아니요. | ||
| 아파치 HTTP 서버 | 아파치 소프트웨어 재단 | 네. | |||
| 언리얼 미디어 서버 | 9.5 | 언리얼 스트리밍 기술 | 아니요. | 인터넷을 통해 라이브 스트림의 지연 시간이 2.5초 이내로 짧을 수 있습니다. | |
| 님블 스트리머 | RTMP / RTSP / Icecast / MPEG-TS to ABR HLS. MP4 / MP3 to VOD HLS. Apple Low Latency HLS 사양이 지원됩니다. | 1.0.0-x | WMS 패널 | 아니요. | |
| Nginx-rtmp-module | HLS 라이브 스트리밍을 지원하는 nginx 서버용 무료 모듈입니다. iOS 및 안드로이드와 호환됩니다. | 0.9.x | 로만 아루티우니안 | 네. | |
| 응익스 플러스 | VOD HLS를 원점으로 설정 | 주식회사 NGINX | 아니요. | ||
| 플루소닉 미디어 서버 | HTTP, RTSP, RTMP, DASH, Time Shifting, 무제한 되감기 기능을 갖춘 DVR 기능을 위한 다중 플랫폼 지원, iOS 플랫폼 지원에 특화된 HLS 스트리밍. | 3.0+ | 플루소닉, LLC. | 아니요. | HTTP를 완벽하게 지원하여 다양한 기능을 지원합니다. |
| VBrick 분산 미디어 엔진("DME") | 2.0 | 브이브릭 시스템즈 | 아니요. | 라이브 및 저장 HLS. H.264 인코딩을 사용하여 RTP, RTMP 및 MPEG-TS를 포함한 여러 입력 먹스에서 라이브를 전송할 수 있습니다. | |
| 텔레브리즈 코더 / 미디어 서버 | 입력 스트림/인터페이스: UDP, TCP, RTP, HLS, HTTP, RTMP(MPEG-TS) 출력 스트림: HLS, HTTP, UDP 전처리: 크기 조정, 디인터레이스, 프레임 레이트 변환, 오디오 리샘플링, 로고 렌더링 | 텔레브리즈 | 아니요. | ||
| 리드툴즈 미디어 스트리밍 서버 SDK | 즉시 파일을 Adobe HDS, Apple HLS, MPEG-DASH, Microsoft Smooth Streaming, RTSP로 변환합니다. | 19.0 | LED 기술 | 아니요. | |
| MC-ROUTE | 라이브스트림 라우팅 및 프로토콜 변환을 위한 다기능 소프트웨어 | 4.4 | 테라큐 | 아니요. | 지원되는 프로토콜: TS over UDP, RTP, TCP, HLS, HTTP, RTSP/RTP |
| 다이렉트 라우터 | SDI, NDI 출력 및 트랜스코딩 기능이 있는 실시간 하드웨어 디코더 | 4.1 | 인티노르 | 아니요. | 지원되는 프로토콜: TS over UDP, RTP, TCP, HLS, HTTP, RTMP out: UDP, RTP, TCP, RTMP |
| Elecard Codec Works | HLS 및 MPEG-DASH 프로토콜을 통한 적응적 비트레이트 스트리밍을 지원하는 HEVC/H.265, AVC/H.264 및 MPEG-2 비디오로의 실시간 인코딩 및 트랜스코딩을 위한 전문 플랫폼. | 4.6 | 엘레카드 | 아니요. | 지원되는 프로토콜: TS over UDP/RTP/SRT, RTMP 출력, HLS, MPEG-DASH 출력, UDP/RTP/SRT, NDI |
| TAC - Teracue 애플리케이션 클라우드 | 다양한 오디오 및 비디오 코딩 및 스트리밍 프로토콜을 지원하는 전문적인 스트림 라우팅 및 실시간 인코딩/트랜스코딩 플랫폼 | 1.0 | 테라큐 | 아니요. | 지원되는 프로토콜 IN/OUT: UDP, RTP, RTSP, RTMP, TCP(클라이언트/서버), HLS, HTTP, FEC, SRT 지원되는 prptpcols IN만: SDVoE 및 NDI |
라이브 인코더
| 제품. | 기술 | 버전 기준 | 편집기 | 공짜 | 메모들 |
|---|---|---|---|---|---|
| ENC-400 시리즈 | SDI 또는 HDMI를 지원하는 라이브 하드웨어 인코더 | 1.0 | 테라큐 | 아니요. | 지원되는 프로토콜: TS over UDP, RTP, TCP, RTP/RTSP, RTMP 푸시, HLS |
| WELLAV NB100 | SDI 또는 HDMI, CVBS를 통한 라이브 스트림캐스트 | 1.0 | 웰라브 테크놀로지스 | 아니요. | 지원되는 프로토콜: TS UDP,RTP, RTP/RTSP, RTMP, HLS; |
| ZyPerMX4 | 4개의 HDMI 입력이 가능한 라이브 하드웨어 인코더 | 2.14 | 지비 | 아니요. | 지원되는 프로토콜: TS over UDP,RTP, H.264/MPEG-4 AVC, HLS, RTMP, RTSP |
| ZyPerMX2 | HDMI 입력 2개로 구성된 라이브 하드웨어 인코더 | 2.14 | 지비 | 아니요. | 지원되는 프로토콜: TS over UDP,RTP, H.264/MPEG-4 AVC, HLS, RTMP, RTSP |
| Elecard Codec Works | 최대 8개의 SDI/HDMI 또는 NDI 입력이 가능한 라이브 소프트웨어 인코더 | 4.6 | 엘레카드 | 아니요. | 지원되는 프로토콜: TS UDP, RTP, SRT, RTMP 푸시, HLS, Mpeg-DASH |
| StreamS 라이브 인코더 | 전문가용 인터페이스 옵션을 갖춘 라이브 소프트웨어/하드웨어 오디오 인코더 | 3.0 | 스트림S | 아니요. | 지원 프로토콜: HLS/DASH ES, fMP4, FTP, FTPS, HTTP, HTTPS, DAV, DAVS, Akamai, Amazon S3, Microsoft BLOB, Google Cloud AAC-LC/HE-AAC/xHE-AAC - 동기식 실시간 재생 및 제어 메타데이터 및 그래픽 |
VOD 인코더
| 제품. | 기술 | 버전 기준 | 편집기 | 공짜 | 메모들 |
|---|---|---|---|---|---|
| VODOBOX HLS 인코더 | 비디오 파일을 사전 인코딩된 HLS Adaptive 비트레이트 스트리밍으로 변환하여 Apache HTTP 서버 / Microsoft IIS / Nginx Web 서버를 통해 호스팅 및 방송할 수 있습니다. AVC H.264 / HEVC H.265 / MPEG-TS / 단편 MP4 / 대체 오디오 / 대체 자막을 지원합니다. | 1.0 | 보도박스 | 네. | 클래식 비디오 파일(avi, mp4, m2ts, mkv, ...)을 VOD 또는 재생 사용을 위한 다중 품질을 갖춘 HLS 스트림으로 변환합니다. 하드웨어 인코딩은 Intel Quick Sync Video와 Nvidia NVENC 기술을 통해 가속화할 수 있습니다. |
| 미디어고움 HLS 패키지[57] | 멀티비트로 인코딩된 mp4 파일을 HLS 청크로 변환합니다. | 0.1 | 메디아고움 | 네. | Linux와 Windows를 모두 지원합니다. |
참고 항목
참고문헌
- ^ Pantos, R.; May, W. (2017). "Playlists". HTTP Live Streaming. IETF. p. 9. sec. 4. doi:10.17487/RFC8216. ISSN 2070-1721. RFC 8216. Retrieved Jan 15, 2020.
- ^ Lederer, Stefan. "2022 Video Developer Report" (PDF). Bitmovin. Retrieved 25 October 2023.
- ^ Jordan, Larry (10 June 2013). "The Basics of HTTP Live Streaming". Larry's Blog. Larry Jordan & Associates. Retrieved 18 June 2013.
- ^ "MPEG-DASH vs. Apple HLS vs. Smooth Streaming vs. Adobe HDS". Bitmovin. March 29, 2015.
- ^ Chen, Songqing; Shen, Bo; Tan, Wai-tian; Wee, Susie; Zhang, Xiaodong (2006-07-09). "A Case for Internet Streaming via Web Servers". 2006 IEEE International Conference on Multimedia and Expo. pp. 2145–2148. doi:10.1109/ICME.2006.262660. eISSN 1945-788X. ISBN 9781424403677. ISSN 1945-7871. S2CID 9202042.
- ^ Songqing Chen; Bo Shen; Wee, S.; Xiaodong Zhang (2007-07-23). "SProxy: A Caching Infrastructure to Support Internet Streaming". IEEE Transactions on Multimedia. 9 (5): 1062–1072. CiteSeerX 10.1.1.74.4838. doi:10.1109/TMM.2007.898943. ISSN 1520-9210. S2CID 870854.
- ^ Pantos, R. (30 September 2011). "HTTP Live Streaming". Internet Engineering Task Force. Retrieved 18 June 2013.
- ^ "History for draft-pantos-http-live-streaming". Retrieved 2017-04-17.
Stream changed to ISE from None
- ^ Pantos, Roger; May, William (August 2017). HTTP Live Streaming. doi:10.17487/RFC8216. RFC 8216. Retrieved 2017-09-05.
- ^ Roger, Pantos; William, May. "HTTP Live Streaming". tools.ietf.org. Retrieved 2017-01-23.
- ^ What's New in HTTP Live Streaming. Apple Developer.
- ^ Siglin, Tim (16 June 2016). "HLS Now Supports Fragmented MP4, Making it Compatible With DASH". StreamingMedia.com.
- ^ Grandl, Reinhard (15 June 2016). "WWDC16: HLS supports Fragmented MP4 – and gets MPEG-DASH compatible!". Bitmovin.com.
- ^ Low-Latency HLS. Apple Developer.
- ^ "The community gave us low-latency live streaming. Then Apple took it away". 2019-06-14. Retrieved 2019-06-17.
- ^ "Apple Developer Documentation". developer.apple.com. Retrieved 2022-08-10.
- ^ Speelmans, Pieter-Jan (2020-12-09). "Low-Latency Everywhere: How to implement LL-HLS across platforms". Theo. Retrieved 2021-03-11.
- ^ Pantos, Roger (2020-04-30). "HTTP Live Streaming 2nd Edition". IETF. Retrieved 2020-04-30.
- ^ "Video CDN Video Streaming Stream Delivery Fastly". www.fastly.com. Retrieved 2020-10-01.
- ^ "Encoding Guide". Limelight Orchestrate Video Support. Limelight Networks. Archived from the original on 2013-08-01. Retrieved 14 November 2013.
- ^ "Module ngx_http_hls_module". nginx.org.
- ^ "hls-server". npm. 12 February 2018.
- ^ "Storm Streaming". Storm Streaming. Retrieved 2021-07-30.
Output devices: HLS, MPEG-DASH, WebSocket, RTMP
- ^ "Unreal Media Server". umediaserver.net. Retrieved 2021-07-30.
Unreal Media Server supports ingesting live streams from wide range of live software and hardware encoders that send streams over WebRTC, RTMP, RTSP, MPEG2-TS, HLS,
- ^ "Android 3.0 Platform Highlights". Android Developers. Archived from the original on 2011-01-28.
- ^ "webOS 3.0.5 Updates". Archived from the original on 2012-01-22.
- ^ "Simplified Adaptive Video Streaming: Announcing support for HLS and DASH in Windows 10". Internet Explorer Team Blog. 29 January 2015.
- ^ a b Siglin, Tim (1 November 2010). "First Look: Microsoft IIS Media Services 4". StreamingMedia.com. Retrieved 30 July 2011.
- ^ Chan, David (November 26, 2010). "iPad App Review: SlingPlayer". Blogcritics. Archived from the original on April 15, 2014. Retrieved April 14, 2014.
- ^ Scott, Andrew (27 Feb 2015). "Audio Factory: an overview". Internet Blog. BBC.
the only on-demand assets will be AAC HLS. ... We are still talking to manufacturers and many are confident that they will be able to provide their users with access to all 57 of our HLS AAC streams at 320kb/s within a few weeks or months.
- ^ Shen, Yueshi (2017). "Live video transmuxing/transcoding: FFmpeg vs TwitchTranscoder, Part 1".
- ^ "Supported media formats". Android Developers.
- ^ "HTTP Live Streaming (HLS) Can I use... Support tables for HTML5, CSS3, etc". caniuse.com.
- ^ "Firefox for Android 50.0, See All New Features, Updates and Fixes". Mozilla.
- ^ Giles, Ralph; Smole, Martin (28 November 2017). "DASH playback of AV1 video in Firefox". Mozilla Hacks – the Web developer blog.
- ^ "Firefox for Android Beta 59.0beta, See All New Features, Updates and Fixes". Mozilla.
- ^ Slivka, Eric (15 November 2010). "Hints of 'iTunes Live Stream' Service Found in iTunes 10.1". MacRumors.
- ^ "#2943 (Support for HTTP Live Streaming as a client)". VLC bug tracker. 9 July 2009.
- ^ "Playing HLS streaming video with VLC player - The VideoLAN Forums". forum.videolan.org.
- ^ "Windows 8 - HTTP Live Streaming". www.3ivx.com.
- ^ "3ivx - Xbox Live Developer Partner Program - Component Provider". www.3ivx.com.
- ^ NV, THEO Technologies. "HTML5 Video Player – THEOplayer". www.theoplayer.com.
- ^ Player, Radiant Media. "Version History - Radiant Media Player". www.radiantmediaplayer.com.
- ^ "dailymotion – Medium". Medium.
- ^ "hls.js demo page". Archived from the original on November 20, 2015.
- ^ "Orange-OpenSource/hasplayer.js". GitHub.
- ^ "Spark". Spark.
- ^ "google/shaka-player". GitHub.
- ^ "Shaka Player Demo". shaka-player-demo.appspot.com.
- ^ "Fluid Player - HTML5 video player". www.fluidplayer.com.
- ^ "Fluid Player Documentation". docs.fluidplayer.com.
- ^ "fluid-player/fluid-player". GitHub.
- ^ "QMPlay2 - Qt Media Player 2". October 22, 2023 – via GitHub.
- ^ "marakew/AvProxy". GitHub.
- ^ Ozer, Jan (2015). "Review: Bitcodin, a Cloud Video Encoding Service From Bitmovin". www.StreamingMediaGlobal.com.
- ^ "Delivering HLS Video - Brightcove Learning". support.brightcove.com.
- ^ "MediaGoom. Essential Web Streaming".