이미지 출처
https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40008332-CH1-SW1
HLS은 애플디바이스에서 사용하는 표준 HTTP 기반 스트리밍 프로토콜이다. 공식문서에서 HLS을 이용하는 이유는 아래와 같다.
iPhone, iPod touch, iPad 또는 Apple TV로 오디오 또는 비디오 스트리밍
특별한 서버 소프트웨어없이 라이브 이벤트 스트리밍
암호화 및 인증을 사용하여 주문형 비디오 전송
HLS은 비디오와 오디오를 실시간으로 인코딩해 많은 사용자에게 동시에 보내야하는 라이브 방송과 촬영과 편집을 거쳐 동영상 파일을 제작한 다음 사용자의 요구가 있을 때 동영상을 재생하는 사전 녹화된 콘텐츠를 모두 지원한다.
HLS는 기존 라이브 스트리밍 방식과 차이는 크게 두가지이다. 하나는 동영상 정보를 전달하는 방식이고, 다른 하나는 HLS에서 만든 스트림 세그먼트(stream segment)이다. HLS에서 서버는 HTTP로 요청을 받아서 플레이어에 응답을 주는 역할만 한다. 요청받은 파일을 어떠한 변형도 하지 않고 응답으로 보내기만 한다. 스트림 세그먼터(Stream Segmenter)는 일정한 시간 간격마다 입력받은 미디어 데이터를 분할해 파일을 만들고, 그 분할한 파일에 접근할 수 있는 메타데이터(m3u8)를 생성하는 일을 한다.
HLS을 사용하는 이유는 대규모 서비스를 위해 부하 분산을 고려할 때 기존 하이브 그트리밀 방식은 매우 복잡한 구조를 사용했지만 HLS는 일반 웹 서비스의 구조와 같은 방식을 사용하기 때문에 전체적으로 단순해졌다.
HLS의 특징 중에 하나는 사용자의 네트워크 속도에 따라 적합한 콘텐츠를 선택하여 재생할 수 있는 ABS를 지원하는 것이다.
ABS을 적용하면 사용자의 네트워크 환경이 변화해도 끊기지 않고 동영상을 볼 수 있다. 사용자가 wi-fi를 이용하다가 휴대전화망 환경으로 이동하면 사용가능한 네트워크 대역폭이 감소되어 버퍼링이 발생하더나 화면이 제대로 표시되지 않는 문제가 발생한다. 하지만 ABS이 적용되어 있다면 화면의 품질이나 해상도 등은 나빠지지만 끊어지지 않는다.
이미지출처
https://d2.naver.com/helloworld/7122
Wowza Streaming Engine은 어디서나 고품질의 비디오와 오디오를 어떤 기기로든지 안정적으로 스트리밍하게 해 주는 강력한 맞춤형 미디어 서버 소프트웨어이다.
HLS (HTTP Live Streaming) 과 ABS (Adaptive Bitrate Streaming)
가변 비트레이트 스트리밍 (ABS), HTTP 라이브 스트리밍 (HLS)
Wowza Streaming Engine 4.x & JW Player 7.x 을 이용한 가변 비트레이트 구축 환경 테스트