HTTP 라이브 스트리밍(HLS)은 기존 웹 서버를 사용하여 시청각 콘텐츠를 배포하는 기술로, OBS Studio와 같은 소프트웨어를 통해 실시간으로 전송할 수 있도록 코덱으로 변환해야 한다. 서버는 비디오를 코딩하고 조각내어 배포하고, 배포자는 웹 서버 역할을 하며, 클라이언트는 파일을 요청하고 조립하여 시청한다. HLS는 네트워크 대역폭 변화에 맞춰 영상 품질을 조절하는 적응형 스트리밍, 조각난 MP4 파일 사용, 저지연 HLS 등의 기능을 제공한다. 2016년 애플은 조각난 MP4 파일에 대한 바이트 범위 지정을 지원하여 HLS와 MPEG-DASH 간의 호환성을 높였다. 다양한 서버 구현과 클라이언트, 그리고 윈도우, macOS, iOS, 안드로이드 등 여러 운영체제에서 지원된다. 또한 동적 광고 삽입 기능도 제공한다.
더 읽어볼만한 페이지
퀵타임 - 애플 ProRes 애플 ProRes는 애플이 개발한 전문 비디오 코덱으로, 고화질 영상 편집 워크플로우에 널리 사용되며, 실시간 편집과 색 보정 작업에 뛰어난 성능을 제공하고, ProRes 422, ProRes 4444, ProRes RAW 등 여러 종류가 있다.
퀵타임 - 애플 무손실 애플에서 개발한 무손실 오디오 코덱인 애플 무손실(ALAC)은 .m4a 확장자를 가진 MP4 컨테이너 포맷으로 저장되며 최대 8채널 오디오와 384kHz의 샘플 속도를 지원하고 2011년 오픈 소스화되어 2021년 애플 뮤직의 무손실 음원 서비스에 사용되며 주목받았다.
멀티미디어 - 인터넷 텔레비전 인터넷 텔레비전은 인터넷 프로토콜을 이용하여 텔레비전 콘텐츠를 제공하는 서비스로, 기술 발전에 따라 스트리밍 방식과 접근성이 발전해왔으며, 온라인 비디오 플랫폼의 성장과 함께 빠르게 성장하여 현재는 다양한 기기를 통해 시청이 가능하다.
멀티미디어 - 미디어 플레이어 미디어 플레이어는 컴퓨터에서 오디오나 비디오와 같은 미디어 파일을 재생하는 소프트웨어나 하드웨어로, 디지털 기술 발전에 따라 다양한 형태로 발전해 왔으며 운영 체제, 지원 파일 형식 등으로 분류되고, 대한민국에서는 팟플레이어, 곰플레이어 등의 국산 미디어 플레이어가 널리 쓰인다.
HTTP - HTTPS HTTPS는 HTTP에 보안 기능이 더해진 통신 규약으로, 웹 브라우저와 서버 간 통신을 암호화하여 보안을 강화하지만, 인증서 비용, 서버 부하, 혼합 콘텐츠 문제 등의 단점도 존재한다.
HTTP - HTTP 쿠키 HTTP 쿠키는 웹 서버가 사용자 브라우저에 저장하는 작은 텍스트 파일로, 웹 사이트가 방문 기록, 로그인 정보 등을 기억하여 HTTP의 상태 비저장성을 보완하고 세션 관리, 개인 설정, 사용자 추적 등에 활용되지만 개인 정보 보호 및 보안 문제에 대한 논란이 있다.
HTTP 라이브 스트리밍 - [IT 관련 정보]에 관한 문서
개요
종류
스트리밍 통신 프로토콜
개발
애플
최초 배포
2009년 5월
파일 확장자
.m3u8
MIME 형식
application/vnd.apple.mpegurl 또는 audio/mpegurl
확장
확장 M3U
상세 정보
설명
HTTP 라이브 스트리밍(HLS)은 애플이 만든 HTTP 기반의 스트리밍 통신 프로토콜이다.
특징
플레이리스트 파일을 사용 적응형 비트레이트 스트리밍 지원
기술 정보
표준
IETF RFC 8216
2. 아키텍처
HTTP 라이브 스트리밍(HLS)은 OBS와 같은 소프트웨어를 사용하여 콘텐츠를 네트워크를 통해 실시간으로 전송하기 위한 적절한 형식(코덱)으로 변환하고, HLS를 지원하는 기존의 웹 서버를 사용하여 시청각 콘텐츠를 배포하는 기술이다.
HLS 서비스 아키텍처는 크게 서버, 배포자, 클라이언트로 구성된다. 서버는 입력 비디오 흐름을 배포에 적합한 형식으로 코딩하고 캡슐화하여 비디오 조각과 색인 파일을 생성한다. 배포자는 표준 웹 서버로 구성되어 클라이언트의 요청을 받아 스트리밍에 필요한 리소스를 제공한다. 클라이언트는 이러한 리소스를 요청하고 다운로드하여 사용자에게 연속적인 스트리밍 비디오를 제공한다.
2. 1. 서버
입력 비디오 흐름을 배포에 적합한 형식으로 코딩하고 캡슐화한다. 그런 다음 서로 다른 파일로 분할하여 배포할 준비를 한다. 수집 과정에서 비디오는 인코딩 및 세분화되어 비디오 조각과 색인 파일을 생성한다.
인코더: 비디오 파일을 H.264 형식으로, 오디오를 AAC, MP3, AC-3 또는 EC-3 형식으로 코딩한다.[10] 이는 MPEG-2 전송 스트림 또는 MPEG-4_Part_14에 의해 캡슐화되어 전송된다.
세분화기: 스트림을 동일한 길이의 조각으로 나눈다. 또한 조각화된 파일의 참조를 포함하는 인덱스 파일을 생성하며, .m3u8로 저장된다.
2. 2. 배포자
표준 웹 서버로 구성되며, 클라이언트의 요청에 따라 스트리밍에 필요한 모든 리소스(.m3u8 재생 목록 파일 및 .ts 세그먼트 파일)를 제공한다.[10]
2. 3. 클라이언트
클라이언트는 모든 파일과 리소스를 요청하고 다운로드하여 사용자가 연속적인 흐름 비디오로 볼 수 있도록 조립한다. 클라이언트 소프트웨어는 먼저 URL을 통해 인덱스 파일을 다운로드한 다음 사용 가능한 여러 미디어 파일을 다운로드한다. 재생 소프트웨어는 시퀀스를 조립하여 사용자에게 지속적인 디스플레이를 제공한다.
3. 기능
HTTP 라이브 스트리밍(HLS)은 불안정한 네트워크 환경에서도 재생 중단을 최소화하는 기능을 제공한다.[1] 예를 들어, 불안정한 무선 네트워크에서 HLS를 사용하면 낮은 화질의 비디오를 선택하여 대역폭 사용량을 줄일 수 있다. 또한 HLS는 동일한 비디오에 대해 여러 서버를 제공하여 가용성을 높이고, 서버 장애 발생 시 다른 서버로 원활하게 전환할 수 있도록 한다.
3. 1. 적응성 (Adaptability)
HTTP 라이브 스트리밍은 사용자가 재생 중단을 느끼지 않도록 불안정한 네트워크 환경에 적응하는 기능을 제공한다. 예를 들어, 불안정한 무선 네트워크에서 HLS를 사용하면 플레이어는 낮은 화질의 비디오를 선택하여 대역폭 사용량을 줄일 수 있다. HLS 비디오는 동일한 비디오에 대해 여러 서버를 제공하여 가용성을 높이고, 서버에 장애가 발생하면 플레이어가 다른 서버로 원활하게 전환할 수 있도록 한다.
플레이어가 네트워크 대역폭에 맞게 비디오 품질을 조절할 수 있도록, 원본 비디오는 여러 비디오 품질로 인코딩된다. 서버는 이러한 비디오 인코딩들의 목록인 '마스터 플레이리스트'(변형 스트림)를 제공한다. 플레이어는 재생 중에 변형 스트림 중에서 선택하고, 네트워크 상태가 바뀌면 다른 스트림으로 자연스럽게 전환할 수 있다.
3. 2. 조각난 MP4 사용 (Using fragmented MP4)
2016년 WWDC에서 애플은[11] 조각난 MP4(fMP4)에 대한 바이트 범위 주소 지정을 포함한다고 발표했다. 이는 콘텐츠를 MPEG-2 전송 스트림으로 다중화할 필요 없이 HLS를 통해 재생할 수 있게 한 것이다. 업계는 이를 HLS와 MPEG-DASH 간의 호환성을 위한 단계로 여겼다.[12][13]
3. 3. 저지연 HLS (Low Latency HLS)
저지연 HLS (Low Latency HLS)에는 관련이 없는 두 가지 이름과 약어가 존재한다.
이 섹션의 나머지는 애플의 ALHLS에 대해 설명한다. ALHLS는 HLS를 통해 스트리밍할 때 라이브 스트림 재생을 시작하는 시간을 줄이고 라이브 스트리밍 이벤트 동안 해당 시간을 유지함으로써 글래스 투 글래스 지연 시간을 줄인다.
이는 MPEG-CMAF의 fMP4와 마찬가지로 부분 미디어 세그먼트 파일을 혼합하여 작동한다. CMAF와 달리 ALHLS는 부분 MPEG-2 TS 전송 파일도 지원한다. 부분 미디어 세그먼트는 1초 미만의 동일한 세그먼트(예: 200밀리초)로 분할된 표준 세그먼트(예: 6초)이다. 표준 첫 번째 세그먼트는 부분 세그먼트 시리즈로 대체된다. 후속 세그먼트는 표준 크기이다.[16] 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에서 사용할 수 있다.[17] 2020년 4월 30일, 애플은 저지연 사양을 HLS 사양의 두 번째 에디션에 추가했다.[18]
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를 지원한다.[19]
Axis Communication IP 카메라
[https://www.camstreamer.com CamStreamer] 앱 ACAP를 통해 HLS를 지원한다.
윈도우 10은 한때 Chromium 기반 Blink 브라우저 엔진으로 전환하기 전, Microsoft Edge(현재 Edge 레거시)에서 사용되었던 독점 브라우저 엔진인 EdgeHTML에서 HTTP 라이브 스트리밍을 기본적으로 지원했다. Edge 레거시는 윈도우 10 버전 2004까지 포함되었으며, 20H2 버전에서 Edge Chromium으로 대체되었다. 윈도우 11에는 HLS를 기본적으로 지원하는 업데이트된 미디어 플레이어가 탑재되었다.
입력 및 출력 스트림: HTTP(S), HLS(S)/AES-128, UDP, RTP, MPTS 디멀티플렉스
2.19[55]
예 | 독점적이지만 사용은 무료
bitcodin
| SaaS | 비트무빈
[56]
VLC
| 1.2 | | 예 |
비디오 클라우드
| SaaS | 브라이트코브 | 아니오 |[57]
IIS 미디어 서비스
| 4.0[29] | 마이크로소프트 | 아니오 |
Antik 미디어 스트리머
입력 모듈 (UDP/HTTP 전송 스트림, 자동 전환 백업 스트림, 스트림 상태 모니터링 및 로깅), 스트림 복제 UDP/HTTP, HLS 스트리밍, 스냅샷 포함 비디오 아카이브, 서버 측 타임 시프트, 여러 시간대에서의 시간대 이동, AES 및 키 회전 이용 스트림 암호화 (Antik 키 서버 포함)
Antik 기술 | 아니오 |
어도비 미디어 서버
원본 및 에지 서버로서의 라이브 및 VOD 스트리밍
어도비 | 아니오 |
앤트 미디어 서버
독립형 및 클러스터 모드에서 HLS 및 낮은 지연 시간 HLS 지원. WebRTC, RTMP, RTSP 수집, HLS 및 낮은 지연 시간 HLS 재생 엔드포인트 생성.
[58]>앤트 미디어 | 아니오 | 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 암호화, 스트림 별칭, 워터마킹), 내장 클러스터링 메커니즘 등.
트랜스캡슐화: 하나의 입력에서 여러 출력 (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 스트림 또는 비디오 신호). 다중 비트 전송률 및 다중 언어 지원.
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 기술로 가속될 수 있다.
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.