A web application that converts uploaded videos into HLS and DASH formats for adaptive streaming, built with Express.js.
- Video upload with drag-and-drop support
- Automatic conversion to HLS and DASH streaming formats
- Video player supporting both HLS and DASH playback
- Progress tracking for uploads
- Responsive web interface using Tailwind CSS
- Video listing and management
- Node.js (v14 or higher)
- FFmpeg installed on the system
- npm or yarn package manager
- Fork and Clone the repository:
git clone https://github.com/yourusername/express-streamer.git
cd express-streamer- Install dependencies:
npm install- Create required directories:
mkdir uploads streams- Start the server:
npm start-
Open your browser and navigate to
http://localhost:5000 -
Upload videos using the web interface
-
Access converted streams through the video player or direct stream URLs
PORT- Server port (default: 5000)
- Video formats supported: mp4, avi, mov, mkv, wmv, flv, webm
- Maximum upload size: 100MB
- Streaming formats: HLS (.m3u8) and DASH (.mpd)
- Frontend: HTML, Tailwind CSS, Alpine.js
- Backend: Express.js, FFmpeg
This project is licensed under the MIT License - see the LICENSE file for details.