RTMP으로 Video Streaming 구현하기 (DASH, HLS) - 2
먼저 알아야 될 사실 기존에는 브라우저 비디오 라이브러리 video.js 를 사용했으나, 화질 선택 기능 구현에 어려움이 있었다. 이에 따라 JavaScript로 화질 선택 버튼을 직접 구현하였다. 그러나 브라우저 창 크기에 따라 화질 선택 버튼의 위치가 비정상적으로 표시되는 문제가 발생하였다. 이후 video.js 라이브러리의 기본 화질 선택 기능을 활용하려고 하였으나, HLS의 manifest.m3u8 정보를 읽고 화질에 대한 정보를 브라우저에 나타내도록 시도했지만 실패하였다. 그래서 JavaScript로 manifest 정보를 직접 파싱하여 화면에 출력하는 방식으로 방향을 변경하였다. 다만 이 과정에서 JavaScript 코드가 과도하게 비대해졌고 유지보수가 어려운 스파게티 코드 형태로 작성되는 문제가 생겼다. 결론 : Shaka Player 로 교체함. 추가된 기능 및 변경된 기능 DASH와 HLS분기 처리 기능 추가. (MPEG-DASH 추가) 화질 선택 기능 추가. Live 버튼 기능 추가. video.js 라이브러리에서 Shaka Player 라이브러리로 교체 업데이트 될 기능 광고기능 추가. 채팅기능 추가. Stream Key 동적 기능 추가. index.html <! doctype html > < html lang = "ko" > < head > < meta charset = "utf-8" /> < meta name = "viewport" content = "width=device-width, initial-scale=1" /> < title >Shaka Live Check</ title > < link rel = "stylesheet" href = "https://cdn.jsdelivr.net/npm/shaka-playe...