HandBrake.

JagdCrab
iOS Support Видео
HandBrake.





Итак для начала немного о том что такое HandBrake. HandBrake - это изначально консольный (не пугаемся) видео конвертер с открытым кодом, а стало быть поддержкой гигантского количества платформ среди которых есть версии для 32 и 64 битных Mac OS X (включая и специальную сборку для Хакинтоша), Windows, Linux Ubuntu и Linux Fedora. Хоть я и сказал что это изначально CLI (Comand Line Interface) но для него офицально создан разработчиками и GUI интерфейс, т.е. вид стандартной программы. Его мы и будем использовать.Сразу скажу, что инструкция рассчитана не на "нажмите сюда сюда и сюда", а на такое неплохое комплексное обучение как использовать HandBrake.



Теория.




Итак, для начала где же его взять? Ответ прост: на сайте создателей, ибо распространяется он по лицензии FreeWare.

Включили, давайте для начала разберемся в том что где находиться.


1. Выбор исходного фаила, это может быть или видео фаил, или DVD диск (как физический так и в виде папки Video_TS).
2. Панель управления заданиями, слева-направо, Запуск текущего задания, добавить в очередь заданий, открыть менеджер заданий.
3. Путь к конечному фаилу.
4. Настройки контейнера.
5. Закладки для детальной настройка кодирования.  
6. Собственно панель настроек кодирования.
7. Менеджер пресетов (шаблонов установок).

Теперь по порядку и более подробно что и зачем:

1.Выбор источника.


Как я уже говорил мы можем использовать три типа исходников:

Видео файл (Video File) - HandBrake поддерживает большинство основных видео контейнеров, но набор видео кодеков он использует внешний, т.е. в большинстве случаев вам понадобиться установленный  K-Lite Codec Pack на компьютере.  
DVD папка (DVD/Video_TS Folder) - Таким образом можно выбирать как DVD диски вставленные в привод, так и сохраненные в виде папок на жестком диске.
DVD диск - программа автоматически сканирует приводы на наличие дисков в формате DVD, и предлагает взять их за исходник. Этим методом вы можете использовать как исходник образ DVD диска, т.е. фаил в формате iso.

2.Менеджер задач


Итак, у нас есть кнопки: Начать текущие задание, добавить в очередь, или показать окно очереди.
Ну в первых двух кнопках думаю сложно запутаться, если кодируете только один фаил то вам нужен Start если несколько то Add to Queue, по этому давайте разберемся с менеджером заданий:


1. Сдвинуть задание по списку вверх.
2. Сдвинуть задание по списку вниз.
3. Удалить задание из списка.
4. Создать Batch-script. (подробнее далее)
5. Загрузить очередь. (Импорт)
6. Сохранить очередь. (Экспорт)
7. Добавить текущее задание еще раз.

Сразу объясню - задание в очереди сохраняться с индивидуальными настройками, т.е. вы должны каждому фаилу задавать настройки в основном экране программы, после чего сохранять, на случай изменений и существует кнопка "Re-Add current job" которая добавит задание в список еще раз но уже с новыми настройками (внимание: при некоторых условиях программа не убирает старое задание, чтобы не кодировать лишнее, при изменении настроек убеждайтесь что добавили новое и удалили старое.)
Теперь словце о Batch скриптах, грубо говоря это формат сохранения последовательности команд для консольной версии.

3. Путь сохранения для конечного файла


Замете, путь должен быть указан полностью!!! (см. пример)



Особенно тут вроде говорить не о чем, но я вам расскажу как сделать жизнь проще, чтобы каждый раз не указывать путь к тому или иному файлу зададим настройки автоматизации. Для этого открываем  Tools --> Options , и на вкладке General редактируем поле Output files под себя.



Automatically name output files - включено - Автоматически давать название итоговым файлам, экономит время в виду того что нет надобности писать имя для каждого файла.
Default Path - выбираем путь по умолчанию, для итоговых файлов. Используя вместе с предыдущей опцией, надобность настраивать путь для конечных файлов отпадает вовсе.
Format - {source}-{title} - Опция для настройки автоматического названия файла, в данном случае {исходник}-{заголовок}, возможно использования так же {chapters} - опции для DVD указывающей какие главы содержаться в этом файле.
Always use friendly file extension (.m4v) for MP4 - включено - эта функция будет автоматически менять контейнер MP4 на его аналог - M4V, для файлов с поддержкой мультипотоков, и софтсаба.

4.Настройки контейнера.



HandBrake поддерживает два типа контейнеров: MP4 (M4V) и MKV. Собственно iPhone как и iPod поддерживает только MP4 (M4V).

Large file size - управление размером файла, лучше выключать.
Web Optimtzad - оптимизация для сети, только если вы собираетесь выложить его на одном из видеосервисов, хотя и без этой настройки в наше время все будет отлично.
iPod 5G Support - Поддержка iPod пятого поколения, включать если кодируете для него.

7. Менеджер пресетов.


Сверху-вниз.
Для устройств Apple.
-Универсальный.
-iPod
-iPhone/iTouch
-AppleTV
Для общего кодирования видео.
-Стандартный
-Качественный.
Последний используемый.
-Классик.
-Последний Apple TV
-Последний iPhone
-Последний iPod

Если вы вносите дополнительные изменения то профиль автоматически будет изменен на Custom. В дальнейшем вы можете сохранить его нажав на кнопку Add и задав имя. Он будет сохранен в группу User.

6. Детальные настройки


№1 Изображение.



Source - Размер кадра исходного файла.
Aspect Ratio - Отношение, заметте указано в десятичной дроби а не стандартно, переводим сами (например 1.76 это 16\9)
Width - ширина кардра.
Height - высота кадра. (Программа задает автоматически)
Keep Aspect ratio - выдерживать размер кадра согласно аспекту, эта функция должна быть всегда включена!!!, иначе кадр будет растянутым\ сплющенным.
Anamorphic - Анаморфирование изображения т.е. преднамеренное изменение. Используется редко, например когда необходимо добиться определенного эффекта с пейзажем.
Cropping - урезка кадра, советую использовать только Автоматическую.

Насчет размеров кадра (Ширина\высота), всего существует три общепризнанных стандарта для iPhone:

480х*** - фиксированная ширина, по экрану девайса.
***х320 - фиксированная высота, по экрану девайса.
640х480 - видео высокого качества, не должно идти в ущерб Aspect Ratio

Теперь о одной очень приятной штучке Must Know - Anamorphic Coding, хоть это абсолютно бесполезная функция для iPhone или iTouch, но то сколько удовольствия и пользы приносит на Apple TV и вобще, обязывает прочитать о ней.  Эта функция сделана для кодирования видео из аспекта DVD (1.5), например для широкоформатных TV (16:9). Да, да современные DVD проигрыватели обычно сами используют Crop, т.е. урезку кадра тем самым позволяя воспроизводить его без искажения, НО Apple TV вам не DVD'юк, и таким не занимаеться, по этому фильмы для него желательно пропускать через Anamorphic. Есть несколько методов такого-го кодирования, но я о них умолчу и расскажу лишь о кодировании Strict т.к. сам считаю его самым качественным и удобным. Этот метод не требует настроек и происходит автоматом, подписывая другой аспект дл видео, нежели существующий. Таким образом мы получаем другое по формату видео без потерь, т.к. воспроизводя аспект контейнера (например 720*480) плеер будет воспроизводить реальный 854*480

№2 Фильтры



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

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

Deinterlacer - средство фильтрования зон пикселей, используется для затирания самых разных проблем, от битых пикселей, до повышенной резкости и как следствие "угловатости изображения". Этот фильтр использует пиксили по столбцам тем самым немного смазывая изображение.
Пример

Denoise - Фильтр шумов, те кто хоть когда нибудь работал с медиа меня поймут, это то же самое что и в аудио и в изображениях, это помехи, или рябь.
Пример

Deblock- Фильтр рассчитанный на ликвидацию швов, в видео ряде кодированного блоками.
Пример

Grayscale -Дословно серая шкала, а на факте - изображение в градации серого. Особого смысла как фикс в себе не несет (разве что мелкие ошибки цветовой гаммы, и насыщенности) но стилистику придает однозначно.
Пример


№3 Видео



Итак на этой вкладке у нас непосредственно содержаться настройки видео RAW.

Video Codec - видео кодек. HandBrake поддерживает: MPEG-4 (библеотека FFmpeg) - дешево и сердито, старый кодек а стало быть поддерживается всеми устройствами, и H.264 (библиотека x264) - практически нанотехнологии, инновационный и самый перспективный кодек на сегодняшний день.
FrameRate - частота кадров в секунду. Стандартно Same as source, менять только при наличии очень продуманного и хитрого плана.

Quality - качество, возможны три варианта - Ориентированный на размер файла, Ориентированный на средний битрейд, Процентное соотношение с эталоном качества.

Оптимальные настройки для iPhone:
  • Размер файла - 150Мб или 325Мб для HD (на каждые 30 минут видео)
  • Средний битрейд - 512 кбит\с или 1200 для HD
  • Процентное соотношение - 55%

Оптимальные настройки для Apple TV:
  • Размер файла - 250Мб или 500Мб для HD (на каждые 30 минут видео)
  • Средний битрейд - 785 кбит\с или 1550 для HD
  • Процентное соотношение - 70%

2-Pass Encoding - свойственная для x264 технология кодирования в два прохода. Суть которой в том что во время первого прохода определяется сложность сцен, освещение, четкость и.т.п. распределяется битрейд, и кодируются простые сцены, а уже во время второго прохода видео кодируется целиком. Позволяет выжимать из Видео шикарное качество,  без заметного увеличения размера. Работает не со всеми режимами качества, и наилучшим образом сочетается с режимом среднего битрейда.
Turbo First Pass - значительно ускоряет первый проход, благодаря тому что только анализирует и разбивает видео, а не кодирует по частям. Свойственно, небольшая потеря качества на переходах, и быстро меняющихся типах сцен.

№4 Аудио




Итак, аудио. Аудио это одна из самых больших и вкусных плюшек HandBrake. Ибо у нас есть необъятные возможности, и сейчас мы с вами в них разберемся.

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

В панели редактирования у нас есть две основные кнопки, и настройки для отдельных треков.  
Source - трек исходник. Увы, но там могут быть только те треки которые присутствуют в контейнере исходника, и добавить внеiy.. дорожку никак не получиться. None - тек отсутствует, Automatic - автоматический подбор трека (т.е. по умолчанию первого, или альтернативного).
Audio Codec - аудио кодек, присутствуют два кодека: AAC - Advanced Audio Codec приемник mp3 формата. Сохраняющий при тех же размерах гораздо лучшее качество. AC3 - Dolby Digital, один из самых распространенных аудио форматов для DVD, iPhone и iPod его не воспринимает, отсюда делаем выводы...
Mixdown - Микширование на аудио потоки. Заммете, эти опции доступны лишь для AAC. Mono - дин аудио поток, Stereo - два. Dolby Pro Logic II - Стерео но уже с системой Pro Logic для создания доп низкочастотных сигналов. 6 Channel Discreate - разложение шести потоков для нормального воспроизведения как стерео.
Samplerate - частота оцифровки. Программа автоматически все делает в автоматическом режиме, или оптимальным был бы 44.1
Bitrate - Битрейт - кол-во информации на каждую секунду. Прямой показатель качества.
DRC - коэффициент компрессора аудио сигнала. Лудше оставлять на нуле.

№5 Субтитры




Итак, сразу скажу, что HandBrake поддерживает три типа субтитров: ASTC Closed Captions (только один трек на исходник, отображаеться как sbtl трек), Bitmap (VOBSUB, только MKV. Может быть Хардсабом, но только один.), SRT - SubRip распространенный формат внишних субтитров, но с ним HandBrake делает не Хардсаб (т.е. вшитый в картинку на уровне видеоряда), а Софтсаб (т.е. содержащийся внутри контейнера).

Среди выбора функций у нас есть:
Forced Only - особые субтитры которые показывают только отдельные технические моменты или надписи на языке оригинала. Могут воспроизводиться одновременно с другими.
Burned In - Хардсаб.
Default - трек субтитров, по умолчанию.
Srt Language - Язык субтитров.
Char Code - текстовая кодировка. iPhone распознает только UTF-8.
Offset - смещение в миллисекундах. Положительные значения - вперед, отрицательные - назад.

Для того чтобы добавить субтитры у нас есть замечательная кнопка Import SRT файл. После импорта и редактирования его параметорв, можно добавить его в контейнер нажав Add.

№6 Главы




Итак, тут много говорить не придется. Если вы используете видео-файл как исходник, и после сканирования HandBrake найдет файл глав, то автоматически его добавит в контейнер, и даже не даст ничего поправить.
Если его нет, то вы можете нажать на Create Chapter Markers или Import чтобы создать их.
Для импорта пригодны файлы ttxt, inf.

№7 Детальные настройки




В любом кодеке есть свои тонкости и настройки, и H.264 в этом всем нос утер, давайте посмотрим что они из себя есть:

Reference Frames - аналог проходов, значение задаеться от 1 до 6, чем больше - тем лучше качество, но медленнее кодирование.  Оптималь - 2 для iPhone, и 5 для HD (Apple TV). Но учтите, что QuickTime на некоторых машинах будет медленно воспроизводить таковые, ато вовсе откажется запускать.
Mixed References - дает возможность использовать разные Frames ля отдельных блоков файла. Существенно улучшает качество, советую держать включенным.
B-Frames - мини версия стандартных Frames, позволяет повышать качество при сохранении битрейта, в среднем используется так же 1-6 bFrames но для анимации советую ставить значение от 9 до 15.
Adaptive B-Frames - механизм распределения BFrames, выбор опять же между Fast для iPhone и Optimal для HD.
Direct Prediction - алгоритм распознавания материала для кодека, с его помощью определяется где B-Frames лучше использовать. Лудше включить автоматически режим, хоть это и приведет к небольшой потере времени на доп. анализ, но видео будет выглядеть гораздо лучше.
Weighted B-Frames - Обычно B-Frames вливаются в видео привязываясь к кадру до и после. При включении этой функции, кардовка будет сохраняться как и в исходнике. На качественных исходниках разница мало заметна и не всегда в худшую или лучшую сторону, по этому лично предпочитаю ее не включать чтобы не замедлять кодирование.  
Pyramidal B-Frames - исключительно True HD настройка, это усложненная вариация прошлого метода, но сложнее, из за того что каждый следующий B-Frame использует предыдущий как связующее звено, это позволяет уменьшить размер файла без потерь качества. Видео с данной настройкой не будет воспроизводиться не в QuickTime (только насчет QT X не уверен) не на iPhone. Повторюсь: Только HD.
Motion Estimation Method - система определяющая движение в кадре, и обрабатывающая пиксели отдельно. Существенно понижает скорость кодирования, но так же позволяет улучшить качество.
Motion Estimation Range - расширение выше указаной системы, указывает как много пикселей вокруг исходного будут подвергаться трансформированию. Используется только с Uneven Multi-Hexagonal или  Exhaustive. Значения указываются на глаз, по оценке интенсивности фильма, но обычно шаблонны: 24, 32, и 64.
Subpixel Motion Estimation - система аналогичная предыдущим во всем кроме одного, она использует 4 основных пикселя и идет от них. Стандартное значение 6, при нем включается система шумовой оптимизации для B-Frames.
Analysis - схема анализа видео для деления на блоки. Обычно это 16х16 пикселей, но технология позволяет использовать даже блоки 4х4.
8x8 DCT Blocks - Система больше всего сочитаемая с настройкой All для Анализа. Повышает качество - уменьшает совместимость с тсарыми устройствами. HD настройка.
Trellis - архи-вкусная плюшка. Позволяет определить изначальный Реальный битрейд видео, и благодаря этому не допускает OverCoding'а - явления когда видео с небольшим битрейдом кодируется на высоком уровне, без улучшения качества, во вред размеру файла.
Deblocking - см. Раздел фильтров.
No Fast P-Skip - позволяет сохранить цветовую гамму при первом проходе, но замедляет кодирование.
Custom Quantization Matrix - Инновационная HD матрица. Не поддерживается КвикТаймом.
No DCT Decimate - Настройка для экономии места. При ее включении кодек будет стирать то что не доступно для зрителя. Предпочитаю не включать, кто знает что она затрет.




Ну вот и все, теперь вы сможете творить чудеса с видео для iPhone, и создавать настоящие HD Video для Apple TV. Ну я думаю те кто дочитал теперь ничуть не боится кол-ва функций в HandBrake, ведь по правде говоря 15% из них не используются, еще 40% относятся к HD Video, а все остальное настраиваться лишь однажды :) Но и конечно основная теория любого видео конвертера: Открыл исходник - назначил битрейд - назначил размер кадра - вписал аудио дорожки, субтитры, задал имя и нажал вперед, никто пока не отменял. :)
Раздел: iOS Support Автор:
11 января 2010, 15:35

Ответы