Introduction
HandBrake is a video transcoder that converts video from nearly any format to a selection of widely supported codecs. It is used by content creators, archivists, and anyone who needs to re-encode video for different devices or platforms. The project has been actively maintained since 2003 and provides both a graphical interface and a command-line tool.
What HandBrake Does
- Transcodes video files from virtually any input format to MP4, MKV, and WebM containers
- Encodes using H.264, H.265, VP9, and AV1 codecs with software or hardware acceleration
- Provides built-in presets optimized for specific devices and platforms
- Supports batch scanning and queue-based encoding for processing multiple files
- Includes filters for deinterlacing, denoising, cropping, scaling, and subtitle burn-in
Architecture Overview
HandBrake is written in C with a GUI layer using GTK on Linux and native frameworks on Windows and macOS. The scanning and encoding pipeline wraps FFmpeg/libav for demuxing and decoding, with encoding handled by x264, x265, SVT-AV1, and hardware encoders (NVENC, QSV, VideoToolbox, VCE). The CLI (HandBrakeCLI) exposes the full pipeline for scripted workflows. Presets are stored as JSON and can be imported/exported.
Self-Hosting & Configuration
- Download from handbrake.fr or install via your platform package manager
- Choose a preset from the Presets panel or customize encoding settings manually
- Enable hardware encoding (if supported) in the Video tab under Video Encoder
- Configure the output queue for batch processing multiple source files
- Use HandBrakeCLI for headless or automated transcoding pipelines
Key Features
- Hardware-accelerated encoding via NVENC, Intel QSV, Apple VideoToolbox, and AMD VCE
- Built-in AV1 encoding support through SVT-AV1 for next-generation video compression
- Comprehensive subtitle support including SRT, SSA, VobSub, and PGS with burn-in option
- Chapter markers, audio track selection, and multiple audio passthrough options
- JSON-based preset system for consistent encoding across projects
Comparison with Similar Tools
- FFmpeg — more flexible command-line tool, but requires manual parameter tuning and has no GUI
- Shutter Encoder — GUI wrapper for FFmpeg with more output formats, but less polished presets
- VLC — can transcode video, but limited encoding options and not optimized for batch work
- Adobe Media Encoder — professional tool with tight Adobe integration, but proprietary and subscription-based
- DaVinci Resolve — full NLE with encoding, but heavier and more complex for simple transcoding tasks
FAQ
Q: What input formats does HandBrake support? A: HandBrake can read almost any video format that FFmpeg/libav supports, including MKV, AVI, MOV, WMV, and DVD/Blu-ray disc structures.
Q: Does HandBrake support hardware encoding? A: Yes. HandBrake supports NVENC (NVIDIA), QSV (Intel), VideoToolbox (Apple), and VCE (AMD) for GPU-accelerated encoding.
Q: Can I use HandBrake from the command line? A: Yes. HandBrakeCLI provides the full feature set for scripted and headless workflows.
Q: Does HandBrake support AV1? A: Yes. HandBrake includes SVT-AV1 for software AV1 encoding and supports hardware AV1 on compatible GPUs.