Skip to content

Latest commit

 

History

History
22 lines (17 loc) · 1.33 KB

Readme.md

File metadata and controls

22 lines (17 loc) · 1.33 KB

HLS Converter API

HLS Converter is a small API to easily convert any MP4 video to a HLS stream. The stream is made of a master .m3u8 file, linking to different playlists stream_**.m3u8 of different quality streams. The video segments are in stream_**/ directories, as data_****.ts files.

HLS is a protocol for a video streaming, compatible with any HTML5 players, on desktop and mobile browsers. When streaming video, live or on-demand, it is not recommended to serve MP4 video files. Instead, streaming protocols, like HLS, allows your users to efficiently watch your content on every platform, while reducing delays. To achieve that, HLS will divide your video or stream in multiple smaller videos files of a 2-6 seconds, which will be progressively downloaded by the HTML5 player.

This project is made of a React front-end, in the app/ directory and a Node/Express back-end in api/. The back-end is made of two modules, an API and an encoder, while should be launched separately. The entire system is handled in production with Docker and a NGINX server, with a configuration file in nginx/. Finally, to monetize and handle authentication on the API, we use RapidAPI service.