auto-dash-hls

Automated toolchain for generating DASH/ HLS compatible files from all videos inside a root folder


Docker Image CI | Docker Stars Docker Pulls

Auto Dash HLS

Automated toolchain for generating DASH/ HLS compatible files from all videos inside a root folder.

Recommended usage via Docker Docker Desktop & Docker Hub.

Usage

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.

Features

  • 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

Demo

https://majamee.de/demos