Automated toolchain for generating DASH/ HLS compatible files from all videos inside a root folder.
Recommended usage via Docker Docker Desktop & Docker Hub.
Prerequisite: Docker needs to be installed and running.
docker pull majamee/auto-dash-hls
docker run -v /absolute/path/to/video/:/video majamee/auto-dash-hls
Please just replace in the command above the absolute path to your video file folder and all videos inside (recursive) will be converted to web-optimized DASH/ HLS compatible files (protected against up-scaling). You can also use tags like majamee/auto-dash-hls:edge
(e.g. uses alpine's edge version as base).
Folders can not be named output
within the transcoding folder as folders named output
are skipped to prevent re-encoding already encoded videos.
- Creates DASH (VOD) compatible files (including Safari on Mac)
- Creates HLS files for compatibility with Safari on iOS
- Optimizes video files for web playback (
moov
atom) - Compresses videos using H.264@CRF22 (for best compatibility)
- Compresses audio using AAC@128k (for DASH as separate track to save data)
- Creates automatically 3 quality levels (Full HD/ HD/ DVD quality)
- Fragments video files in 2 second windows to allow dynamic quality switching based on available bandwidth
- Creates master MPD-Playlist which connects everything (MPEG-DASH)
- Creates master M3U8-Playlist for HLS
- Automatically scans the folder recursively for supported video files for transcoding
- Creates
.auto-hls-dash
file in provided root directory for file skipping in sub-sequent calls - Creates all output files neatly stored in a sub-folder matching the video file name in the folder
output
next to the transcoded video file - Adds also HTML and
.htaccess
file including code ready for inclusion into the own website for playback next to all other created files - Included fallback player (
plyr.html
) is based on the great work of the guys at Plyr - Included second fallback player (
fluid-player.html
) is based on the great work of the guys at Fluid Player - Included player (
index.html
) is based on the great work of the guys at Video.js