Skip to content

8mb.local

Media Servers

Self‑hosted GPU video compressor that lets you drop a file, pick a target size (e.g., 8 MB), and get an AV1/HEVC/H.264 output with NVENC hardware acceleration or CPU fallback.

Python Latest v137 · 1mo ago Security brief →

Features

  • NVIDIA NVENC hardware encoding with automatic CPU fallback
  • Supports AV1, HEVC (H.265) and H.264 via GPU or software encoders
  • Real‑time progress tracking, FFmpeg logs, queue management and job history

Recent releases

View all 4 releases →
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

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

About

Stars
866
Forks
43
Languages
Python Svelte TypeScript

Install & Platforms

Install via
docker

Beta — feedback welcome: [email protected]