This project is a proof of concept for an on-demand video streaming platform that supports adaptive bitrate streaming via the HLS (HTTP Live Streaming) protocol. It converts uploaded video files into HLS format using FFmpeg and makes them available for playback using the Video.js HTML video player.
Note: Support to MPEG-DASH is still not available.
- On-demand video streaming.
- Adaptive bitrate streaming using HLS.
To run this project locally, follow these steps:
- Docker
- Docker Compose
- Clone this repository to your local machine.
git clone https://github.com/julianolorenzato/abs.git
- Navigate to the project directory and start the containers using Docker Compose
cd abs && docker compose up --build
On the homepage, use the provided form to upload new videos.
- Select a video file.
- Enter a title for the video.
- Submit the form.
- After uploading, you can watch the video in the player by appending ?v=[YOUR-VIDEO-TITLE] to the URL.
Example: http://localhost:8080?v=your-video-title
The video will be played using adaptive bitrate streaming.