Automated toolchain for generating DASH/ HLS compatible files from all videos inside a root folder.
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 (
- 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
.auto-hls-dashfile 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
outputnext to the transcoded video file
- Adds also HTML and
.htaccessfile 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