LMS Video Streaming PHP 8, MySQL, FFmpeg, HLS.js workflow for LMS lessons

Admin Upload

Queue a lesson video for adaptive HLS streaming.

1080p / 720p / 480p Creates rendition folders plus a single master.m3u8 for the lesson page.
Queue-Based Uploads finish quickly while FFmpeg runs later through cron or a worker server.
Allowed Files MP4, MOV, MKV, and AVI with server-side size and MIME validation.

New Lesson Upload

Existing course titles are shown below, but you can type a new one and the app will create the course automatically.

View Lesson Library

Worker Reminder

Shared hosting usually should not run FFmpeg inside the upload request. Schedule the CLI worker with cron, or point this app at a VPS that has ffmpeg, ffprobe, and exec() enabled.