Handbrake

Материал из ALT Linux Wiki
Перейти к: навигация, поиск

Журнал ALT-review

HandBrake - мультиплатформенный, многопоточный видеотранскодер
ALT-review logo.png
Перекодирование видео на ALT при помощи HandBrake

Автор: Drool   Раздел: soft   Выпуск: 01   Тег: мультимедиа


Введение[править]

Среди всего разнообразия программ для создания видеорипов в ОС GNU/Linux, наиболее эффективной, развитой и мощной в плане использования возможностей энкодера x264 является HandBrake. Официальную документацию можно почитать здесь, однако давайте попробуем рассмотреть пошагово на практике создание рипа для планшетного компьютера.

Если Вы используете ALT Linux версии 6 и выше - HandBrake уже есть в официальных репозиториях и его можно легко установить штатными средствами. В случае использования другого семейства GNU/Linux - Вам самим лучше знать есть ли эта программа в репозиториях, и если нет - как ее ставить с официального сайта. Итак, будем считать, что HandBrake у Вас уже установлен.

Основы работы с программой[править]

Главное окно Handbrake:

Handbrake mainkxk.png

Рассмотрим панель управления:

Handbrake mainmenu.png

Меню:

File - в этом меню можно выбрать источник, с которого будем кодировать (поддерживаются как одиночные файлы, так и папки дисков DVD и BluRay), папку назначения, в которую программа будет сохранять откодированный файл, меню настроек и отображаются имеющиеся устройства CD/DVD/ BluRay, если нужно кодировать прямо с них;

Queue - здесь находятся кнопки добавления задач в очередь и запуск/пауза кодирования;

View - здесь находится чекбокс отображения пресетов, показ очереди заданий, настройки изображения (на этом мы остановимся более подробно чуть ниже) и лог процесса кодирования;

Help - стандартный пункт для большинства ПО, в котором Вы можете просмотреть информацию о программе и Guide, которое перенаправит Вас в браузер и откроет официальную страницу документации.

Под главным меню содержатся основные кнопки панели управления, которые дублируют наиболее часто используемые функции из главного меню:

1 - открыть источник; 2 - старт кодирования; 3 - пауза кодирования; 4 - добавить задачу в очередь; 5 - показать очередь; 6 - настройка картинки результирующего видеофайла; 7 - лог процесса кодирования.

Ниже находится блок управления файлом:

Handbrake fileoptions.png

Как видно на скриншоте, здесь есть часть, которая соответствует источнику - имя файла-источника или DVD/BluRay-диска, а также выбор отображения продолжительности в главах, секундах или фреймах, где можно указать нужный промежуток для кодирования, например, обрезать ненужные титры в конце.

Далее можно указать имя выходного файла, папку назначения, выбрать контейнер - mp4 или mkv и несколько чекбоксов - оптимизация Web, поддержка iPod 5G и файлов более 4 Гб. Должен сказать, что первые два чекбокса я никогда не использовал из-за отсутствия потребности.

Следующий блок - блок управления непосредственно параметрами кодирования:

Handbrake codingpanel.png

Здесь расположены закладки, сгруппированные по назначению кодинга:

Summary - закладка, где отображается общая информация - размер картинки источники, результирующего файла, параметры кропа и анаморфа, предварительный просмотр кадра;

Video - закладка для выбора параметров кодирования видеоряда - частота кадров, битрейт, чекбоксы двухпроходного кодирования, ползунок выбора пресетов x264 от ultrafast до placebo, "тюнинг" под кодирование фильма, анимации и т.д., выбор профиля от baseline до high, уровень от 1.0 до 5.2, чекбокс быстрого кодирования, использование которого уменьшает нагрузку на процессор и время кодирования, но отрицательно влияет на качество кодирования, поле ввода дополнительных опций, например, чтобы указать количество потоков кодирования, как "threads=6", в котором параметры отделяются друг от друга символом двоеточия, и чекбокс использования расширенных параметров "Use Advanced Options", который деактивирует вышеуказанные опции и активирует специальную закладку Advanced;

Audio - закладка для определения параметров кодирования звуковых дорожек - их кодек, битрейт и частота, можно указать усиление и уровень компрессии звуковых потоков, но не советовал бы злоупотреблять этими двумя показателями, если Вы четко не понимаете результат их работы, для звуковых дорожек можно выбрать режим "Passthru" соответствующего кодека, что означает прямое копирование дорожки без какого-либо ее перекодирования;

Subtitles - закладка для управления субтитрами, можно импортировать из внешнего файла;

Advanced - закладка, которая активируется чекбоксом "Use Advanced Options" на закладке Video, предназначена только для специалистов по созданию рипов и тех, кто себя считает таковым, позволяет вручную осуществить выбор тонких настроек кодирования видеоряда начиная с выбора параметров мышкой и заканчивая ручным вбиванием параметров в нижнее поле; Chapters - закладка управления главами, если кто-то желает сохранить навигацию по главам как в оригинальном видео;

Tags - закладка для ввода глобальных тегов, где можно указать название фильма, его год, режиссера, жанр, актеров, описание и т.д.

Вертикальный правый фрейм главного окна отведен для управления готовыми пресетами (изображение кликабельное):

Handbrake presetsrjr.png

Здесь можно выбрать уже готовые пресеты под основные типы мобильных видеорипов или сохранить свой собственный пресет, выбранный в закладках Video или Advanced. Возможны импорт и экспорт пресетов из файла и в файл соответственно.

Все это поверхностный осмотр, который предназначен только для общего ознакомления с основами интерфейса HandBrake. Теперь давайте на практике рассмотрим более подробно процесс создания рипа. Как уже было отмечено, например создадим рип для планшетного компьютера бюджетного класса.

Практика[править]

В качестве источника возьмем BDRip 720p фильма "Железный человек 2" весом в 4.36 Гб. Брать полноценный блюрей или его ремукс для создания такого рипа можно, и полученное качество теоретически будет лучше, однако лично для меня это сомнительное решение, поскольку размер экрана бюджетного планшетника в 7-9 дюймов не даст визуально различить разницу между рипом с блюрея или с достаточно качественного BDRip 720p, а тем более с 1080p. Для дорогих же планшетников с большим экраном очень мало смысла делать такие рипы, так как его монитор, производительность и разрешение в состоянии выдать нагора все качество полноценного AVC/720p/1080p рипа.

Итак, делаем рип. Через кнопку №1 панели управления (см. скриншот выше) выбираем нужный нам файл (изображение кликабельное):

Handbrake openfile.png

После выбора файла программа проанализирует его, после чего на закладке Summary отобразится текущая инфромация, а в верхнем блоке управления файлом будет присутствовать информация о файле-источнике, его продолжительность и т.п.:

Handbrake stage11.png

Оставляем контейнер mp4 (хотя современные планшеты и поддерживают контейнер MKV, однако я склонен придерживаться традиции), Меняем название исходного файла на, допустим, "Iron Man 2 2010 HDRip-AVC (Tablet PC).m4v", отмечаем чекбокс поддержки iPod 5G, если нужно, и переходим к редактированию размера изображения. Попасть в это меню можно через кнопку №6 панели управления.

Перед нами будет оригинальная картинка и настройки или по умолчанию, или соответствующего профиля, если Вы себе такой создадите или выберете из существующих. Сразу же выключаем анаморфирование и меняем ширину картинки блока Storage на 720 пикселей. Высоту будет подобрано автоматически. В результате получим вот такие настройки:

Handbrake stage13.png

В этом же меню находится еще закладка Filters, на которой доступны фильтры уменьшения шума, деблокинга, деинтейрейсинга и т.п.:

Handbrake stage131.png

Однако, в нашем примере "услуги" этой закладки нам не понадобятся, и оставляем там все по умолчанию. Закрываем это меню и переходим на вкладку Video нижнего фрейма.

Здесь нам необходимо выбрать кодек h.264, частоту кадров я выбираю такую же, как в файле-источнике, и выставляю для нее показатель Variable framrate (здесь я преследую цель немного уменьшить размер полученного файла на несколько процентов), меняю чекбокс качества с Constant на Bitrate, отмечаю нужный мне битрейт (для 7-дюймового планшета обычно достаточно 1000 kbps), перетаскиваю ползунок пресетов x264 на пресет slow, выбираю "тюнинг" x264 на film, указываю профиль high и уровень 4.1, в поле дополнительных опций я добавляю параметр количества потоков кодирования, если позволяет процессор, или наоборот - ограничить количество потоков для снижения нагрузки на процессор для его использования другими приложениями. После указанных манипуляций закладка выглядит так:

Handbrake stage21.png

Теперь переходим на закладку Audio.

Если Вас устраивают выставленные параметры - можно все оставить как есть, я лично меняю битрейт звука на 160 килобит и частоту дискретизации меняю на 44100 килогерц и контролирую, чтобы был кодек AAC:

Handbrake stage31.png

Если в файле-источнике несколько звуковых дорожек - можно или оставить одну, или все нужные. Также не советую делать для андроидных планшетов звук в AC3, поскольку это лицензированный кодек и большинство системных проигрывателей его не поддерживают всвязи с лицензионными ограничениями. Например, в проигрывателе MX Player в таком случае придется переключить обработку звуковой дорожки из аппаратной на программную, звук появится, но это увеличит нагрузку на процессор.

После завершения манипуляций со звуком переходим, если нужно, на закладку Subtitles.

В данном рипе присутствуют форсированные украинские субтитры (надписи и т.п.), поэтому я также из перечня имеющихся треков субтитров выбираю украинские субтитры, нажимаю на кнопку с символом "плюс", нужный трек субтитров добавляется в список ниже, выставляю пометку, что эта дорожка является по умолчанию (Default), и на этом заканчиваю работу с этой закладкой:

Handbrake stage41.png

После определения желаемых субтитров, наступает очередь закладки Advanced, где будут отражены выбранные настройки в детальном разрезе каждого параметра:

Handbrake stage5.png

Напоминаю, что изменения параметров в этой закладке будут работать только в том случае, если активировать чекбокс "Use Advanced Options" на закладке Video. Поэтому, если параметры кодирования Вас по каким-то характеристикам не устраивают - достаточно включить "Use Advanced Options", подправить на этой закладке нужные параметры или даже добавить вручную в нижнее поле, разделяя их символом двоеточия, и переходить к следующей закладке. Chapters - закладка проста и лаконична:

Handbrake stage6.png

Если бы мы кодировали видео из источника, в котором присутствует навигация по главам - здесь можно было бы их выбрать. Tags - последняя закладка. Она никоим образом не играет роли для качества кодирования Это больше закладка взаимной вежливости между рипером и пользователями - как было уже отмечено, здесь можно указать название фильма, режиссера, актеров и т.п. Я лично заполняю основные поля, и в нашем случае после заполнения эта закладка будет иметь примерно такой вид:

Handbrake stage7.png

К сожалению, поле Actors разработчики сделали довольно ограниченным в длину, поэтому приходится указывать основных актеров и добавлять "и другие." Итак, после всех этих манипуляций и выбора всех желаемых параметров, программа готова к кодированию, и нажав кнопку №2 главной панели мы запускаем непосредственно процесс кодинга. Программа на всякий случай спросит, действительно ли Вы собираетесь кодировать и после подтверждения приступит к работе. При этом на верхней панели кнопка запуска кодирования превращается в кнопку отмены и становится активной кнопка приостановки (паузы) кодирования:

Handbrake coding1.png

а в самом низу главного окна программы будет отображаться статусбар процентов кодирования и расчетное время продолжительности этого процесса:

Handbrake coding2.png

В основном - это все. В таком простом случае остается только ждать когда закончится кодирование и наслаждаться результатом. Можно поглядывать в окно логирования, куда выводится информация о ходе работы:

Handbrake logwindow.png

Там же после завершения кодирования отображается и "x264 Info", которая иногда необходима. Кстати, если присмотреться к заголовку этого окна - виден путь и имя файла лога, который можно просмотреть с помощью любого текстового редактора или просмотрщика.

Пресеты[править]

HandBrake не поддерживает напрямую пресеты энкодера x264, их нужно адаптировать для него.

Итак, адаптированные пресеты для HandBrake-0.9.6 с официального форума разработчиков программы:

Наименование
Пресет
ultrafast ref=1:bframes=0:cabac=0:8x8dct=0:weightp=0:me=dia:subq=0:rc-lookahead=0:mbtree=0:analyse=none:trellis=0:aq-mode=0:scenecut=0:no-deblock=1
superfast ref=1:weightp=1:me=dia:subq=1:rc-lookahead=0:mbtree=0:analyse=i4x4,i8x8:trellis=0
veryfast ref=1:weightp=1:subq=2:rc-lookahead=10:trellis=0
faster ref=2:mixed-refs=0:weightp=1:subq=4:rc-lookahead=20
fast ref=2:weightp=1:subq=6:rc-lookahead=30
medium default x264 settings apply (empty advanced options string).
slow ref=5:b-adapt=2:direct=auto:me=umh:subq=8:rc-lookahead=50
slower ref=8:b-adapt=2:direct=auto:me=umh:subq=9:rc-lookahead=60:analyse=all:trellis=2
veryslow ref=16:bframes=8:b-adapt=2:direct=auto:me=umh:merange=24:subq=10:rc-lookahead=60:analyse=all:trellis=2
placebo ref=16:bframes=16:b-adapt=2:direct=auto:me=tesa:merange=24:subq=11:rc-lookahead=60:analyse=all:trellis=2:no-fast-pskip=1

Ссылка на соответствующий топик форума