Skip to content

Release history

8mb.local releases

a free local self hosted video compressor webui designed for performance and ease of use. inspired by 8mb.video

All releases

4 shown

v137 Mixed
Notable features
  • Backend responsiveness improvements: async-safe cleanup, hw-info caching, non-blocking Celery calls from API routes
  • Structured request logging with real 404s for API-like paths and worker task hooks
  • UI improvements: clearer encoder preset vs NVENC tuning distinction and Extra Quality (CQ) mode explanations
Full changelog

Highlights

  • SVT-AV1 in the unified FFmpeg image; preferred fast CPU AV1 path vs libaom.
  • Backend responsiveness: async-safe cleanup, hw-info caching, non-blocking Celery calls from API routes.
  • Worker: fix compress_video sys scoping (NameError in nested FFmpeg helpers).
  • UI: clearer encoder preset vs NVENC tuning; Extra Quality (CQ) explained; version badge aligned with v137.
  • Routing / logging: real 404s for API-like paths; structured request logging and worker task hooks.
  • Docker / ops: .env bind footgun fix, .env.example, BUILD_VERSION 137.

Docker

docker pull jms1717/8mblocal:v137
# or
docker pull jms1717/8mblocal:latest

See CHANGELOG.md for the full v137 section.

v136 Breaking risk
⚠ Upgrade required
  • CPU-only hosts must use `docker-compose.cpu.yml` instead of default docker-compose.yml
Breaking changes
  • Default docker-compose.yml requires `gpus: all` (NVIDIA GPU support)
Notable features
  • Optional `target_video_bitrate_kbps` parameter for fixed bitrate compression (API, batch, UI)
  • Max frame rate cap extended through 120 fps: 24, 25, 30, 50, 60, 72, 90, 100, 120
  • Portrait orientation detection improved: full ffprobe Display Matrix captured; CUDA decode avoided when rotation present for correct output dimensions
Full changelog

### Portrait / display orientation

  • ffprobe now uses -show_format + -show_streams (full stream JSON) so Display Matrix rotation is present for phone HEVC/MP4 files where a narrow -show_entries query omitted it.
  • Rotation parsing treats rotation on any side_data_list entry as authoritative (not only when side_data_type contains "display matrix").
  • When rotation is non-zero, the worker avoids CUDA/NVDEC decode for H.264/HEVC/AV1 paths so decoder autorotation runs; output dimensions match display size (e.g. 1080×1920) instead of coded 1920×1080 for portrait clips stored with a −90° matrix.

Target video bitrate

  • Optional target_video_bitrate_kbps: compress to a fixed video bitrate (API, batch upload, and UI) instead of deriving rate only from target file size.

Max frame rate (UI)

  • Max frame rate cap control moved to Advanced Options on the main encode page (no longer beside Resolution).
  • Cap choices extended through 120 fps (24, 25, 30, 50, 60, 72, 90, 100, 120), with the same list on Batch, Settings (preset defaults), and shared $lib/fpsCap parsing for localStorage.

Docker

  • Default docker-compose.yml requests gpus: all (NVIDIA). Hosts without GPU passthrough can use docker-compose.cpu.yml (docker compose -f docker-compose.cpu.yml up -d --build).
  • Docker Hub: jms1717/8mblocal:latest and jms1717/8mblocal:v136 published for this release (BUILD_VERSION 136). Pull: docker pull jms1717/8mblocal:v136 (or :latest).
v135 Breaking risk
Breaking changes
  • Intel QSV, VAAPI, and AMD AMF hardware encoders removed from worker, API, UI, and Docker image
Notable features
  • AV1 CUVID hardware decode with libdav1d fallback prevents batch job failures when CUVID unavailable
v134 New feature
Notable features
  • batch processing
  • real-time progress tracking
  • bulk ZIP download

Beta — feedback welcome: [email protected]