shutter-encoder
📌 Overview
Shutter Encoder is a free and open-source media transcoding, conversion, and processing application built on top of FFmpeg.
It is designed for video editors, post-production professionals, and advanced users who require reliable, reproducible, and transparent media workflows through a graphical interface.
The application supports batch processing, presets, and lossless operations, making it suitable for both quick conversions and complex production pipelines.
✨ Features
🎞️ Media Encoding and Conversion
- Video, audio, and image transcoding using FFmpeg
- Support for common and professional codecs (H.264, H.265, ProRes, DNxHR, AV1, VP9, etc.)
- Container remuxing without re-encoding
- Image sequence generation and conversion
♾️ Lossless Operations
- Lossless cut and trim
- Audio track replacement and removal
- Stream extraction and remuxing
- Subtitle extraction and multiplexing
🛠️ Editing and Processing Tools
- Subtitle embedding, burn-in, and editing (.srt, .vtt, .ass)
- Loudness analysis and normalization
- Black frame and Media offline detection
- Cropping, scaling, padding, and aspect-ratio control
- LUT support and color adjustments
- Watermark and overlay insertion
🔄 Workflow and Automation
- Batch queue processing
- Preset creation and reuse
- File renaming rules
- Media information and metadata inspection
- Optional FTP upload on completion
- EDL export for detected cuts
🧩 Additional Utilities
- Web video download (via yt-dlp)
- RAW image processing (LibRaw)
- MediaInfo integration
- EXIF metadata handling
📦 Prebuilt Binaries
Installers and portable versions for Windows, macOS, and Linux are available from the official website:
🔗 https://www.shutterencoder.com/#downloads
📝 Changelog
🔗 https://www.shutterencoder.com/changelog/
🧱 Build from Source
- Required third-party dependencies must be downloaded into the
Libraryfolder. - Fonts are bundled directly within the custom Java Runtime Environment (JRE).
Shutter Encoder uses a custom Java runtime built with jlink, based on Java 25, using the following configuration:
--compress 0 --strip-debug --no-header-files --no-man-pages --add-modules java.base,java.datatransfer,java.desktop,java.logging,java.security.sasl,java.xml,jdk.crypto.ec --output JRE
📚 Open-Source Code Used
- Real-ESRGAN-ncnn-vulkan — High-performance neural network inference framework (used internally for AI-based upscaling)
- Whisper-Ctranslate2 — High-Performance Speech-to-Text (used for audio transcription)
- BackgroundRemover — AI-Powered Image/Video Matting (used for background removal)
- Demucs — Music Source Separation (used for audio separation)
- DeOldify — Image and Video Restoration (used of colorization)
- FFmpeg — Audio/video encoding, decoding, filtering, muxing and transcoding (core processing engine of Shutter Encoder)
- 7-Zip — Archive extraction and compression
- yt-dlp — Web video downloading engine
- LibRaw - RAW image decoding (used to import and convert digital camera RAW files)
- ExifTool - Metadata reading and writing (used for extracting, editing and preserving metadata)
- tsMuxeR - Transport stream muxing (used for Blu-ray and AVCHD structure creation)
- MediaInfo - Media file technical analysis (used to display detailed file information)
- dvdauthor — DVD structure authoring (used for creating DVD-Video structures)
- bmxtranswrap - MXF rewrapping and OP-Atom/OP1a handling (used for broadcast MXF workflows)
