A self-hosted fitness tracking service for syncing and analyzing activities from Strava, Garmin Connect, and GPX/TCX/FIT files, with data kept on your own server.
JMS1717/8mb.local
A self-hosted video compressor with a web UI that shrinks clips to a target file size using GPU or CPU encoding via FFmpeg.
Open-source alternative to:HandBrake
- Stars
- 920
- Forks
- 49
- Open issues
- 0
- Last commit
- 20 days ago
What is it?
8mb.local is a self-hosted video compressor. You drop in a file, pick a target size such as 8 MB, 25 MB or 50 MB, and the app encodes the video to fit, with AV1, HEVC or H.264 output in MP4 or MKV containers.
Hardware encoding covers NVIDIA NVENC, Intel Quick Sync, AMD AMF, Apple VideoToolbox, Linux VAAPI and Android MediaCodec, with automatic CPU fallback when a GPU or driver cannot encode. Encoders are verified at startup by running real encodes. Jobs stream progress and FFmpeg logs to a SvelteKit web UI, and the queue supports batch uploads, cancellation and trimming by time range.
The project ships as a Docker image with NVIDIA and VAAPI compose profiles, as a native Windows installer built on WebView2, as a macOS arm64 build, and as a standalone Android app. Its backend is FastAPI with a Celery worker and Redis.
Key features
- 01Targets a chosen file size and re-encodes if the output exceeds it by more than 2%
- 02Hardware encoding via NVENC, Quick Sync, AMF, VideoToolbox, VAAPI and MediaCodec with CPU fallback
- 03AV1, HEVC and H.264 output in MP4 or MKV containers
- 04Real-time progress, bitrate and FFmpeg logs in the web UI
- 05Batch upload, live queue management and time-based trimming
- 06Resolution limits, audio bitrate and codec visibility settings
Use cases
- Shrinking clips to fit email or chat attachment limits
- Running a private compressor on a home server or NAS with Docker
- Compressing phone videos on Android without uploading them to a server
- Batch-compressing recordings on a Windows or Apple Silicon machine
Quick start
- 1
Pull and run the Docker image with NVIDIA GPU support
docker run -d --name 8mblocal --gpus all -e NVIDIA_DRIVER_CAPABILITIES=compute,video,utility -p 8001:8001 -v ./uploads:/app/uploads -v ./outputs:/app/outputs jms1717/8mblocal:latest - 2
Or run the CPU-only Docker image instead
docker run -d --name 8mblocal -p 8001:8001 -v ./uploads:/app/uploads -v ./outputs:/app/outputs jms1717/8mblocal:latest - 3
Open the web UI in your browser
Things to know
- The README's GPU setup requires the NVIDIA Container Toolkit and a compatible NVIDIA driver for hardware encoding.
- The README lists no explicit open-source license; the license field is unspecified (NOASSERTION).
Topics
FAQ
- What is 8mb.local?
- A self-hosted video compressor with a web UI that shrinks clips to a target file size using GPU or CPU encoding via FFmpeg. 8mb.local is a self-hosted video compressor. You drop in a file, pick a target size such as 8 MB, 25 MB or 50 MB, and the app encodes the video to fit, with AV1, HEVC or H.264 output in MP4 or MKV containers.
- Is 8mb.local free to use? What license does it have?
- 8mb.local is open source under the Other license. Check the license terms before using it in commercial products.
- Is 8mb.local still maintained?
- Actively maintained. The last commit to 8mb.local was on Sep 30, 2026.
- What can I use 8mb.local for?
- Shrinking clips to fit email or chat attachment limits Running a private compressor on a home server or NAS with Docker Compressing phone videos on Android without uploading them to a server Batch-compressing recordings on a Windows or Apple Silicon machine
- How do I install 8mb.local?
- Pull and run the Docker image with NVIDIA GPU support: docker run -d --name 8mblocal --gpus all -e NVIDIA_DRIVER_CAPABILITIES=compute,video,utility -p 8001:8001 -v ./uploads:/app/uploads -v ./outputs:/app/outputs jms1717/8mblocal:latest Or run the CPU-only Docker image instead: docker run -d --name 8mblocal -p 8001:8001 -v ./uploads:/app/uploads -v ./outputs:/app/outputs jms1717/8mblocal:latest Open the web UI in your browser
- Where can I get 8mb.local?
- The source code and installation instructions are on GitHub: https://github.com/JMS1717/8mb.local
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Self-hosted AI stock monitor for A-shares, Hong Kong and US stocks, with portfolio tracking, price alerts, TradingAgents-based analysis and automated reports.
Self-hosted wardrobe manager where you photograph clothes, AI tags them, and it suggests daily outfits by weather and occasion.
Self-hosted, Docker-based video surveillance (NVR) for IP cameras with local recording, motion detection, AI object detection and an event timeline.
Self-hosted web GUI for ImageMagick with one-click AI background removal, batch processing, and a live editor, deployed via Docker.
Self-hostable, open source service for sharing self-destructing encrypted notes and files, inspired by PrivNote, with a Rust backend and Svelte frontend.