![](https://velog.velcdn.com/images/choisooyoung-dev/post/c2d5241c-5909-468f-be44-00d5729d394e/image.png)
최종 프로젝트 기능 중 하나인 실시간 스트리밍을 알아보던 중 WebRTC의 역할은 한계가 있다는 정보를 듣고 나서 알게 된 여러 정보들 중 하나인 HLS
HLS?
- HTTP 라이브 스트리밍 또는 인터넷을 통해 소비자에게 미디어 콘텐츠를 제공하는 데 사용되는 스트리밍 프로토콜
- 하나의 영상 파일을 일정하게 구간별로 잘라서 ts 파일로 만든 다음 전송해준다.
- 클라이언트는 m3u8 파일 참조해서 전달 받은 ts 파일을 순서대로 재생 시킨다.
동작 원리
![](https://velog.velcdn.com/images/choisooyoung-dev/post/de5f33f1-ddbe-4ee5-ac7e-eee0bb1f7630/image.png)
-
미디어 인코더(OBS Studio 등)는 원시적인 영상, 오디오 등을 가져와 미디어 전송 및 저장에 사용되는 압축된 스트림을 생성한다.
-
스트리밍 서버는 이 스트림을 일련의 작은 미디어 파일로 나누어 웹 서버에 배치합니다.
- 이 스트리밍 서버는 또한 M3U8 재생 목록으로 설명되는 미디어 파일 목록이 있는 인덱스 파일을 생성하고 유지한다.
- M3U8 재생 목록의 URL은 웹 서버에 게시된다.
- 클라이언트가 HLS를 통해 스트림을 얻고자 할 때 플레이어는 M3U8 인덱스를 읽고 나열된 미디어 파일을 올바른 순서로 요청하고 하나의 일관된 파일로 표시한다.
적응형 비트 전송률 스트리밍(ABR)
- HLS의 기능 중 하나
- 스트리밍 도중에도 네트워크 상태에 따라 비디오 품질을 조정할 수 있는 기능
- 사용자의 네트워크 연결이 변동하더라도 비디오는 계속 재생되는데, 연결이 느려지면 낮은 품질로, 연결이 다시 높아지면 최대 품질로 재생된다.
HLS 장점
- 호환성
- HLS는 스마트폰, 태블릿, 노트북 등 다양한 장치에서 스트리밍된 콘텐츠의 소비를 지원한다.
- 부드러운 재생
- ABR 기능은 HLS를 비디오 스트리밍, 특히 중단할 수 없는 방송 중에 품질을 저하시키더라도 재생되게끔 해준다.
- 비용 효율성
- HLS는 HTTP를 기반으로 하며 어떤 장치에서도 확장할 필요 없이 콘텐츠 전송 네트워크를 통해 전달할 수 있으므로 비용 효율적이다.
- 보안
- HLS는 또한 Flash와 같은 솔루션에 비해 더 안전한 프로토콜이다.
- 확장성
- HLS는 스트리밍을 확장하여 품질 저하 없이 동시에 전 세계 수백만 명의 시청자를 지원할 수 있다.
HLS 단점
- 높은 대기 시간
- 다른 스트리밍 프로토콜에 비해 HLS는 대기 시간이 더 깁니다
- 최대 30초 이상의 지연이 생길 수 있음
- 느린 인터넷 속도
- HLS 스트리밍은 지연 시간이 상대적으로 높기 때문에 비디오 게임이나 스포츠 방송과 같이 빠른 라이브 스트리밍이 필요한 사용 사례에는 적합하지 않을 수 있다.