HLS Converter is a lightweight, cross-platform desktop application for converting video files into HLS format (.m3u8) using FFmpeg.
It supports:
- Drag-and-drop multiple video files
- Batch parallel conversions
- CRF quality control
- Automatic folder output
- Real-time progress and estimated time remaining
- Built-in FFmpeg binaries (no manual install required)
- Converts videos to HLS with H.264 video codec and AAC audio codec for maximum compatibility.
- Detect if remuxing can be used instead of re-encoding.
- ✅ Convert
.mp4,.m4v,.mkv,.avi,.mov,.wmv,.flvto HLS (.m3u8). - ✅ Encodes output to H.264 (video) and AAC (audio) formats.
- ✅ GPU-accelerated encoding capability.
- ✅ Parallel batch processing (2 files simultaneously).
- ✅ Drag & drop or browse file selection.
- ✅ Adjustable video quality (CRF slider).
- ✅ Standalone
.app(Mac Intel & Apple Silicon) or.exe(Windows) – no Python or FFmpeg installation needed. - ✅ Custom application icon.
- ✅ Generates a thumbnail automatically at 25% of the video’s duration.
- Download the latest release.
HLSConverter-MacOS_ARM.app.zip→ for Apple Silicon (M1/M2/M3/M4).HLSConverter-MacOS_Intel.app.zip→ for Intel-based Macs.
- Extract the
.zipfile and moveHLSConverter.appto yourApplicationsfolder. - On first launch, macOS may block the app because it's unsigned:
- Go to System Preferences → Security & Privacy → General.
- Click Allow Anyway, then reopen the app.
- Download the latest release (
HLSConverter-Windows.exe). - Double-click the
.exeto start converting videos.- No Python or FFmpeg installation is required; everything is bundled.
If you prefer to build the application manually:
(Python is needed for the build application)
-
Clone the repository:
git clone https://github.com/yourusername/HLS-Converter.git cd HLS-Converter -
Install Python dependencies:
pip install -r requirements.txt
-
Download FFmpeg binaries for all platforms:
- From the realese page download the latest
bin.zipand extract thebinfolder. - From the
binfolder getffmpegandffprobefiles for your platform. - Place the
ffmpegandffprobefor your platform at the root of thebinfolder:bin/ ├─ ffmpeg (or .exe on Windows) ├─ ffprobe (or .exe on Windows)
Each folder bin should contain both
ffmpegandffprobe(or.exeon Windows). - From the realese page download the latest
-
Build standalone apps:
- macOS:
pyinstaller --onefile --windowed --icon=icon.icns --add-binary "bin/ffmpeg:bin" --add-binary "bin/ffprobe:bin" --hidden-import=tkinterdnd2 HLSconverter.py
- Windows:
pyinstaller --onefile --windowed --noconsole --icon=icon.ico --add-binary "bin/ffmpeg.exe;bin" --add-binary "bin/ffprobe.exe;bin" --hidden-import=tkinterdnd2 --add-data "icon.ico;." HLSconverter.py
- macOS:
After the build process the portable application should be in the dist folder
- Each converted video gets its own folder inside the chosen output directory.
- Contains:
output.m3u8.tsvideo segments for HLS streaming.thumbnail.jpgpreview image.
MIT License – feel free to use and modify.