HandBrake — это мощный видеоконвертер с графическим интерфейсом (и командной строкой) для транскодирования видео из одного формата в другой (например, MKV → MP4, добавление субтитров, сжатие, изменение разрешения). Он использует FFmpeg под капотом, но предоставляет удобный интерфейс и готовые пресеты.
В этом руководстве я покажу три способа установки HandBrake на Debian:
- APT — из официальных репозиториев (просто, но версия зависит от релиза)
- Flatpak — актуальная версия из Flathub (рекомендуется для десктопа)
- Сборка из исходников — для опытных пользователей
| Метод | Версия | Обновления | Для кого |
|---|---|---|---|
| APT | Debian 13: 1.9.2; Debian 12: 1.6.1; Debian 11: 1.3.1 | Через apt upgrade | Те, кому нужна стабильная версия из репозитория |
| Flatpak (рекомендуемый) | Последняя (1.11.x+) | Через flatpak update | Большинство десктопных пользователей |
| Сборка из исходников | Последняя (1.11.x+) | Вручную (скрипт-помощник) | Опытные пользователи, которым нужна самая свежая версия |
Предварительные требования
Перед установкой убедитесь, что:
- У вас есть графическая среда (GNOME, KDE, Xfce) — для GUI-версии
- Вы имеете права
sudo(администратора)
⚠️ ВАЖНО: Проверьте права sudo перед установкой
Если вы не уверены, есть ли у вашего пользователя права администратора, выполните в терминале:
sudo whoami
Что делает: sudo — выполняет команду от имени суперпользователя; whoami — показывает имя текущего пользователя.
✅ Ожидаемый вывод в терминале:
root
❌ Если выводит is not in the sudoers file — сначала пройдите наше руководство по настройке sudo.
Способ 1: Установка HandBrake через APT
Этот способ наиболее прост, но версия зависит от вашего релиза Debian.
Шаг 1: Обновите систему
sudo apt update && sudo apt upgrade -y
Шаг 2: Установите HandBrake GUI и CLI
sudo apt install -y handbrake handbrake-cli
Что делает: Устанавливает графическую версию (handbrake) и утилиту командной строки (handbrake-cli).
Шаг 3: Проверьте установку
dpkg-query -W -f='${db:Status-Abbrev} ${binary:Package} ${Version}\n' handbrake handbrake-cli
✅ Ожидаемый вывод: ii handbrake 1.x.x и ii handbrake-cli 1.x.x
command -v ghb
command -v HandBrakeCLI
✅ Ожидаемый вывод: /usr/bin/ghb и /usr/bin/HandBrakeCLI
Способ 2: Установка HandBrake через Flatpak (рекомендуемый)
Flatpak даёт самую свежую версию HandBrake на любой версии Debian.
Шаг 1: Установите Flatpak (если ещё не установлен)
Если Flatpak не установлен, сначала пройдите наше руководство по установке Flatpak на Debian.
Шаг 2: Добавьте репозиторий Flathub (если ещё не добавлен)
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
Шаг 3: Установите HandBrake
sudo flatpak install flathub fr.handbrake.ghb
Шаг 4: Проверьте установку
flatpak info fr.handbrake.ghb
✅ Ожидаемый вывод: ID: fr.handbrake.ghb, Version: 1.x.x, Origin: flathub
Проверьте разрешения (для доступа к файлам вне домашней директории):
flatpak info --show-permissions fr.handbrake.ghb
Способ 3: Сборка HandBrake из исходников (актуальная версия)
Этот способ для опытных пользователей, которым нужна самая свежая версия.
Шаг 1: Создайте скрипт установки
nano ~/install-handbrake-source.sh
Содержимое скрипта:
#!/usr/bin/env bash
set -euo pipefail
api_url="https://api.github.com/repos/HandBrake/HandBrake/releases/latest"
work_root="${HANDBRAKE_WORK_ROOT:-$HOME/handbrake-source-build}"
build_gui="${HANDBRAKE_BUILD_GUI:-auto}"
require_pgp="${HANDBRAKE_REQUIRE_PGP:-0}"
jobs="${HANDBRAKE_BUILD_JOBS:-$(nproc)}"
release_key="1629C061B3DDE7EB4AE34B81021DB8B44E4A8645"
if [ "$(id -u)" -eq 0 ]; then
printf 'Run this script as your regular user, not as root.\n' >&2
exit 1
fi
for tool in sudo apt apt-cache awk nproc sha256sum tar; do
if ! command -v "$tool" >/dev/null 2>&1; then
printf 'Missing required command: %s\n' "$tool" >&2
exit 1
fi
done
base_deps=(
curl jq gpg bzip2 autoconf automake build-essential cmake git
libass-dev libbz2-dev libfontconfig-dev libfreetype6-dev libfribidi-dev
libharfbuzz-dev libjansson-dev liblzma-dev libmp3lame-dev libnuma-dev
libogg-dev libopus-dev libsamplerate0-dev libspeex-dev libtheora-dev
libtool libtool-bin libturbojpeg0-dev libvorbis-dev libx264-dev libxml2-dev
libvpx-dev m4 make meson nasm ninja-build patch python3 pkg-config tar zlib1g-dev
)
gui_deps=(
appstream desktop-file-utils gettext gstreamer1.0-libav
gstreamer1.0-plugins-good libgstreamer-plugins-base1.0-dev libgtk-4-dev
)
printf 'Refreshing APT metadata...\n'
sudo apt update
case "$build_gui" in
auto)
gui_candidate="$(apt-cache policy libgtk-4-dev | awk '/Candidate:/ {print $2; exit}')"
if [ -n "$gui_candidate" ] && [ "$gui_candidate" != "(none)" ]; then
enable_gui=1
else
enable_gui=0
printf 'libgtk-4-dev is unavailable in this APT source set; building HandBrakeCLI only.\n'
fi
;;
0|false|no|cli)
enable_gui=0
;;
1|true|yes|gui)
enable_gui=1
;;
*)
printf 'Invalid HANDBRAKE_BUILD_GUI value: %s\n' "$build_gui" >&2
exit 1
;;
esac
printf 'Installing HandBrake build dependencies...\n'
sudo apt install "${base_deps[@]}"
if [ "$enable_gui" -eq 1 ]; then
printf 'Installing GTK GUI build dependencies...\n'
sudo apt install "${gui_deps[@]}"
fi
mkdir -p "$work_root"
printf 'Resolving latest HandBrake release from GitHub...\n'
release_json="$(curl -fsSL "$api_url")"
tag="$(jq -r '.tag_name // empty' <<<"$release_json")"
version="${tag#v}"
source_name="$(jq -r 'first(.assets[] | select(.name | test("^HandBrake-[0-9][0-9.]*-source\\.tar\\.bz2$")) | .name) // empty' <<<"$release_json")"
source_url="$(jq -r --arg name "$source_name" '.assets[] | select(.name == $name) | .browser_download_url' <<<"$release_json")"
source_digest="$(jq -r --arg name "$source_name" '.assets[] | select(.name == $name) | .digest // empty' <<<"$release_json")"
sig_name="${source_name}.sig"
sig_url="$(jq -r --arg name "$sig_name" '.assets[] | select(.name == $name) | .browser_download_url' <<<"$release_json")"
if [ -z "$tag" ] || [ -z "$source_name" ] || [ -z "$source_url" ] || [ -z "$sig_url" ]; then
printf 'Could not resolve the latest HandBrake source release assets.\n' >&2
exit 1
fi
if [[ "$source_digest" != sha256:* ]]; then
printf 'GitHub release metadata did not include a SHA-256 digest for %s.\n' "$source_name" >&2
exit 1
fi
source_dir="$work_root/HandBrake-$version"
if command -v HandBrakeCLI >/dev/null 2>&1 && [ -d "$source_dir/build" ]; then
current_version="$(HandBrakeCLI --version 2>/dev/null | awk 'NR == 1 {print $2}')"
if [ "$current_version" = "$version" ]; then
printf 'HandBrakeCLI already reports version %s.\n' "$version"
printf 'Build tree: %s\n' "$source_dir"
exit 0
fi
fi
printf 'Resolved HandBrake release: %s\n' "$tag"
cd "$work_root"
printf 'Downloading %s...\n' "$source_name"
curl -fL -o "$source_name" "$source_url"
curl -fL -o "$sig_name" "$sig_url"
printf 'Verifying SHA-256 digest from GitHub release metadata...\n'
printf '%s %s\n' "${source_digest#sha256:}" "$source_name" | sha256sum -c -
if gpg --list-keys "$release_key" >/dev/null 2>&1; then
printf 'Verifying OpenPGP signature with the local HandBrake release key...\n'
gpg --verify "$sig_name" "$source_name"
elif [ "$require_pgp" = "1" ]; then
printf 'HandBrake release key %s is not in your GPG keyring.\n' "$release_key" >&2
exit 1
else
printf 'OpenPGP signature saved as %s. Import the HandBrake release key to verify it.\n' "$work_root/$sig_name"
fi
printf 'Extracting source archive...\n'
rm -rf "$source_dir"
tar -xjf "$source_name" -C "$work_root"
cd "$source_dir"
configure_args=(--launch-jobs="$jobs" --launch)
if [ "$enable_gui" -eq 0 ]; then
configure_args+=(--disable-gtk)
fi
printf 'Configuring and building HandBrake...\n'
./configure "${configure_args[@]}"
printf 'Installing HandBrake into /usr/local...\n'
sudo make --directory=build install
hash -r
printf '\nInstalled HandBrake from source release %s.\n' "$tag"
printf 'Version check:\n'
command -v HandBrakeCLI
HandBrakeCLI --version
if [ "$enable_gui" -eq 1 ]; then
command -v ghb
fi
printf 'Build tree kept at %s for future updates or removal.\n' "$source_dir"
Шаг 2: Сделайте скрипт исполняемым и запустите
chmod +x ~/install-handbrake-source.sh
mkdir -p ~/.local/bin
mv ~/install-handbrake-source.sh ~/.local/bin/install-handbrake-source
~/.local/bin/install-handbrake-source
Запуск HandBrake
Запуск графической версии
Для APT и source-сборки:
ghb
Для Flatpak:
flatpak run fr.handbrake.ghb
Запуск CLI-версии
Для APT и source-сборки:
HandBrakeCLI --help
Пример конвертации:
HandBrakeCLI -i input.mkv -o output.mp4 --preset="Fast 1080p30"
Для Flatpak:
flatpak run --command=HandBrakeCLI fr.handbrake.ghb --help
Обновление HandBrake
Обновление APT-версии
sudo apt update && sudo apt install --only-upgrade handbrake handbrake-cli -y
Обновление Flatpak-версии
sudo flatpak update fr.handbrake.ghb
Обновление source-сборки
~/.local/bin/install-handbrake-source
Скрипт сам определит новую версию и пересоберёт HandBrake.
Удаление HandBrake
Удаление APT-версии
sudo apt remove handbrake handbrake-cli
sudo apt autoremove
Удаление Flatpak-версии
sudo flatpak uninstall fr.handbrake.ghb
Удаление source-сборки
# Если у вас есть директория сборки
sudo make --directory="$HOME/handbrake-source-build/HandBrake-*/build" uninstall
rm -rf ~/handbrake-source-build
rm -f ~/.local/bin/install-handbrake-source
hash -r
Удаление пользовательских настроек (опционально)
rm -rf ~/.config/ghb
Решение типичных проблем
8.1 Ошибка: APT не может найти пакет
Симптом: sudo apt install handbrake → Unable to locate package
Причина: Устаревшие списки пакетов или неправильное имя пакета.
Пошаговое решение:
Шаг 1: Обновите списки:
sudo apt update
Шаг 2: Проверьте, что пакет существует:
apt-cache policy handbrake
Шаг 3: Убедитесь, что вы не пытаетесь установить handbrake-gtk (в Debian пакет называется handbrake).
8.2 Ошибка: Flatpak не может найти fr.handbrake.ghb
Симптом: flatpak install fr.handbrake.ghb → не найден.
Причина: Не добавлен репозиторий Flathub.
Пошаговое решение:
Добавьте Flathub:
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
8.3 Ошибка: Сборка из исходников на Debian 11 (Bullseye) не собирает GUI
Симптом: На Debian 11 собирается только HandBrakeCLI, без GUI.
Причина: В Debian 11 нет пакета libgtk-4-dev.
Пошаговое решение:
Это нормально. Скрипт автоматически переключается в CLI-режим на Debian 11. Если вам нужен GUI на Debian 11, используйте Flatpak.
8.4 Ошибка: The wrong HandBrakeCLI runs
Симптом: HandBrakeCLI --version показывает не ту версию, которую вы ожидаете.
Причина: Установлены несколько версий (APT + source).
Пошаговое решение:
Посмотрите, какая версия вызывается:
command -v HandBrakeCLI
Если вы видите /usr/local/bin/HandBrakeCLI — это source-сборка. Если /usr/bin/HandBrakeCLI — APT-версия.
Удалите ненужную версию или используйте полный путь к нужной.
8.5 GUI не открывается
Симптом: ghb не запускается, ошибка cannot open display.
Причина: Вы пытаетесь запустить графическое приложение через SSH или в сессии без графики.
Пошаговое решение:
Запускайте HandBrake только из графической сессии (GNOME, KDE, Xfce). Если вы подключаетесь по SSH, используйте HandBrakeCLI вместо GUI.
Чек-лист: что проверить после установки
- [ ] HandBrake установлен:
HandBrakeCLI --versionпоказывает версию - [ ] GUI запускается (если нужен):
ghbилиflatpak run fr.handbrake.ghbоткрывает окно - [ ] Для APT:
dpkg-query -W handbrake→ii - [ ] Для Flatpak:
flatpak info fr.handbrake.ghb→Version: ... - [ ] Для source-сборки:
command -v HandBrakeCLI→/usr/local/bin/HandBrakeCLI
Часто задаваемые вопросы (FAQ)
Вопрос: HandBrake бесплатен?
Ответ: Да, HandBrake — это open-source проект под лицензией GPL.
Вопрос: Какой способ установки выбрать для десктопа?
Ответ: Flatpak — самая свежая версия с автоматическими обновлениями. APT — стабильная, но устаревшая.
Вопрос: HandBrake умеет конвертировать DVD/Blu-ray?
Ответ: HandBrake не декриптует защищённые диски. Используйте MakeMKV для рипа.
Вопрос: Где HandBrake хранит пресеты?
Ответ: В ~/.config/ghb/ (пользовательские настройки).
Вопрос: Как использовать аппаратное ускорение (NVENC, Intel QSV)?
Ответ: В зависимости от сборки и драйверов. В Flatpak-версии обычно включено.
Заключение
Теперь HandBrake установлен на вашем Debian. Вы можете конвертировать видео в различные форматы с помощью удобного графического интерфейса или командной строки.
Что дальше?
- Изучите официальную документацию HandBrake
- Установите FFmpeg для более тонкой настройки
- Установите MakeMKV для рипа DVD/Blu-ray