This repository contains production-ready, statically-linked Docker images for media processing tools. All images are built from scratch with no base OS, ensuring minimal size, maximum security, and no runtime dependencies.
Full-featured video transcoding powerhouse
A complete FFmpeg build (16.84 MB) with modern codecs including AV1, VP9, H.264, H.265, Opus, and MP3. Perfect for high-quality video transcoding, multi-codec conversion, and adaptive bitrate streaming preparation.
docker pull ghcr.io/veloxpack/ffmpeg:8.0-liteKey Features:
- Modern codecs: SVT-AV1, VP8/VP9, H.264 (x264), H.265 (x265)
- Audio codecs: MP3 (LAME), Opus, AAC
- Multi-architecture support (amd64/arm64)
- Production-ready for professional video processing
Ultra-lightweight thumbnail & sprite generation
An ultra-optimized FFmpeg build (2.39 MB) specifically for thumbnail and storyboard generation. Stripped down to only essential video decoders and image encoders.
docker pull ghcr.io/veloxpack/ffmpeg:8.0-thumbnailKey Features:
- Ultra-minimal size (2.39 MB)
- Perfect for thumbnail/sprite generation
- PNG and JPEG output support
- H.264, VP8, VP9 video decoders
Video splitting & scene detection
Specialized FFmpeg build for splitting videos with scene detection support. Includes x264 encoder for re-encoding and stream copying for fast, lossless splits.
docker pull ghcr.io/veloxpack/ffmpeg:8.0-splitKey Features:
- Ultra-lightweight (3.92 MB)
- Scene detection with metadata export
- Fast stream copying
- H.264 encoding support
Video concatenation & merging
Specialized FFmpeg build for concatenating multiple videos. Outputs MP4 and WebM formats only. Supports advanced file list formats including duration metadata, trimming, and stream selection.
docker pull ghcr.io/veloxpack/ffmpeg:8.0-concatKey Features:
- Ultra-lightweight (914 KB)
- MP4 and WebM output support
- Multiple concat methods (demuxer, protocol, filter)
- Advanced file list formats with trimming
Media metadata extraction
A standalone FFprobe image for fast and efficient media file analysis, metadata extraction, and format detection. Ideal for automated media validation and programmatic analysis.
docker pull ghcr.io/veloxpack/ffmpeg:8.0-probeKey Features:
- Ultra-lightweight (1.21 MB)
- JSON output support
- Fast metadata extraction
- Stream analysis and codec detection
Adaptive streaming packaging
Google's industry-standard tool (14.39 MB) for DASH/HLS manifest generation, DRM encryption, and adaptive streaming preparation. Supports Widevine, PlayReady, and FairPlay encryption.
docker pull ghcr.io/veloxpack/shaka-packager:latestKey Features:
- DASH & HLS packaging
- DRM support (Widevine, PlayReady, FairPlay)
- Multi-bitrate preparation
- Live and VOD streaming support
- Static binaries - No runtime dependencies or library conflicts
- Built from scratch - Minimal image size with maximum performance
- Optimized builds - Latest versions compiled with optimal flags
- No base OS - Reduced attack surface with scratch-based images
- Minimal footprint - Only essential binaries included
- Static linking - No external library vulnerabilities
- AMD64 - Intel/AMD processors
- ARM64 - Apple Silicon, AWS Graviton, and ARM servers
- Unified images - Same image works across platforms
- Industry standards - Based on widely-used open-source tools
- Tested workflows - Proven in production environments
- Regular updates - Maintained with latest stable versions
# 1. Analyze source video
docker run --rm -v $(pwd):/workspace \
ghcr.io/veloxpack/ffmpeg:8.0-probe \
-v quiet -print_format json -show_format -show_streams \
/workspace/source.mp4
# 2. Generate thumbnail
docker run --rm -v $(pwd):/workspace \
ghcr.io/veloxpack/ffmpeg:8.0-thumbnail \
-i /workspace/source.mp4 \
-ss 00:00:10 -vframes 1 \
/workspace/thumbnail.jpg
# 3. Transcode to multiple bitrates
docker run --rm -v $(pwd):/workspace \
ghcr.io/veloxpack/ffmpeg:8.0-lite \
-i /workspace/source.mp4 \
-map 0:v -s 1920x1080 -b:v 5000k -c:v libx264 -preset medium /workspace/video_1080p.mp4 \
-map 0:v -s 1280x720 -b:v 2800k -c:v libx264 -preset medium /workspace/video_720p.mp4 \
-map 0:v -s 640x480 -b:v 1400k -c:v libx264 -preset medium /workspace/video_480p.mp4 \
-map 0:a -c:a aac -b:a 128k /workspace/audio.m4a
# 4. Package for adaptive streaming
docker run --rm -v $(pwd):/workspace \
ghcr.io/veloxpack/shaka-packager \
in=/workspace/video_1080p.mp4,stream=video,output=/workspace/1080p.mp4 \
in=/workspace/video_720p.mp4,stream=video,output=/workspace/720p.mp4 \
in=/workspace/video_480p.mp4,stream=video,output=/workspace/480p.mp4 \
in=/workspace/audio.m4a,stream=audio,output=/workspace/audio_packaged.m4a \
--mpd_output /workspace/manifest.mpd \
--hls_master_playlist_output /workspace/master.m3u8- Transcode user uploads to multiple formats
- Generate adaptive streaming manifests
- Create thumbnails and previews
- Extract metadata for cataloging
- Process video uploads efficiently
- Generate mobile-optimized versions
- Extract video information for UI display
- Create preview thumbnails
- Convert lecture recordings to web formats
- Create multi-quality streaming options
- Generate video metadata for search
- Optimize for bandwidth-constrained environments
- Professional video transcoding workflows
- DRM-protected content distribution
- Live streaming preparation
- Archive format conversion
Each tool can be built independently:
# Build FFmpeg Lite (full-featured)
docker build -t ghcr.io/veloxpack/ffmpeg:8.0-lite ./ffmpeg-lite
# Build FFmpeg Thumbnail variant
docker build -t ghcr.io/veloxpack/ffmpeg:8.0-thumbnail ./ffmpeg-thumbnail
# Build FFmpeg Split variant
docker build -t ghcr.io/veloxpack/ffmpeg:8.0-split ./ffmpeg-split
# Build FFmpeg Concat variant
docker build -t ghcr.io/veloxpack/ffmpeg:8.0-concat ./ffmpeg-concat
# Build FFprobe
docker build -t ghcr.io/veloxpack/ffmpeg:8.0-probe ./ffprobe
# Build Shaka Packager
docker build -t shaka-packager ./shaka-packager- Go 1.21+ installed
- Docker running locally
- Internet connection (for downloading test containers)
# 1. Setup test environment (downloads sample video)
make test-setup
# 2. Install Go dependencies
go mod download
# 3. Run all tests
make test-allFor detailed documentation on each tool, see the individual README files:
- FFmpeg Lite Documentation
- FFmpeg Thumbnail Documentation
- FFmpeg Split Documentation
- FFmpeg Concat Documentation
- FFprobe Documentation
- Shaka Packager Documentation
- Website: veloxpack.io
- GitHub Organization: github.com/veloxpack
- Docker Registry:
ghcr.io/veloxpack/*
Licensed under the Apache License, Version 2.0
See LICENSE for full license text.