Вышел свободный видеотранскодер HandBrake 1.0.0

823667877a65bb6cac81e65d5cf5909e.jpg

После почти 13 лет группа разработчиков выпустила первую версию open source видеотранскодера HandBrake 1.0.0. HandBrake — популярная бесплатная программа для конвертирования и сжатия видео. Кроссплатформенное приложение работает под Linux, macOS и Windows с графическим интерфейсом или из командной строки. Пожалуй, это лучшая программа в своём классе. Сложно найти хотя бы один видеотранскодер близкого качества, функциональности и с открытым кодом. Можно сказать, что это идеальная графическая оболочка для ffmpeg (кстати, команды ffmpeg можно изучать по логам HandBrake, это лучше мануала).
Программа была доступна все эти годы, но только спустя 13 лет разработчики HandBrake решили, что она доросла до версии 1.0.0. Наверное, для них было чем-то вроде особенной гордости сохранять статус «бета» настолько долго, подчёркивая свой перфекционизм, несмотря на абсолютную стабильность и функциональность программы. Такое свойственно многим некоммерческим проектам. Кажется, почта Gmail тоже долгие годы по непонятной причине сохраняла статус бета-версии. Возможно, это делается также для удобства общения с пользователями и снятия с разработчиков некоей ответственности. При выявлении любого бага можно ответить: «Ну это же бета-версия».

Есть некоторая ирония в том, что программы вышла из беты после того, как закончилось повсеместное использование DVD-дисков — носителей, для обработки которых в первую очередь и создавался этот видеотранскодер. Сейчас мало кто покупает видео на DVD, но программа HandBrake по-прежнему востребована, пусть и не так, как раньше. Кстати, её можно использовать даже для тестирования оперативной памяти в компьютере: она эффективно выявляет дефективные модули RAM. Если программа во время кодирования зависает в одном и том же месте — это означает проблему с дефективным модулем памяти. Даже если проблема с единственным битом.

Ранние номера билдов вовсе не означают, что прежние версии программы были нестабильными. Они отлично работали и тогда (если память не сбоит). Но в версии 1.0.0 сделано несколько важных изменений.

* Полное изменение дизайна предварительных профилей (пресетов) для транскодирования и сжатия видео, в том числе подготовленные опции для самых распространённых устройств. Профили старых версий HandBrake 0.10.x сохранены в самой нижней части списка профилей в разделе Legacy.

202480a16aa343f3bceba7501ab2145d.jpg
HandBrake 1.0.0 для Mac

* Поддержка свободных видеоформата VP9 и аудиформата Opus.

* Поддержка аппаратного ускорения Intel QuickSync Video (QSV) для кодирования H.265/HEVC на процессорах Skylake, как в коммерческих видеотранскодерах. Аппаратное ускорение кодирования и декодирования значительно сокращает нагрузку на CPU и энергопотребление. Для поддержки аппаратного ускорения в графическом ядре на маленьком участке кристалла Intel размещаются специализированные интегральные схемы, которые занимаются только видео. Аппаратное ускорение декодирования видео доступно графическому драйверу через интерфейсы Direct3D Video API (DXVA2), Direct3d11 Video API или Intel Media SDK, а также через фильтры MFT (Media Foundation Transform). Аппаратное ускорение кодирования — только только через интерфейсы Intel Media SDK или фильтры MFT (Media Foundation Transform).

При аппаратной поддержке на порядок возрастает скорость кодирования и декодирования, по сравнению с чисто программным. Например, в спецификациях последней версии QSV 5.0 с микроархитектурой ядра шестого поколения Skylake указана расчётная производительность декодирования видео при аппаратном ускорении более 16 одновременных потоков видео 1080p.

Разработчики HandBrake подчёркивают, что никогда не получали ни цента от компании Intel. Эта фирма добровольно пожертвовала QSV-совместимый кодек для HandBrake, а исходный код HandBrake опубликован в открытом доступе. Если компания AMD изъявит желание поставить кодек для поддержки аппаратного ускорения в своих процессорах, то он тоже будет внедрён в свободный транскодер HandBrake (сначала AMD присылали патчи, но потом сменили курс). Разработчики HandBrake очень щепетильно относятся к таким этическим вопросам, в соответствии с идеологией Open Source.

Из других улучшений:

* Ассемблерная оптимизация кода позволила увеличить скорость фильтров до 10% и скорость кодировщика x264 на 10%, что реализовано в «быстрых» профилях.

* В версии под Windows теперь можно поставить процесс кодирования на паузу, а затем продолжить. Размер инсталлятора и объём занимаемого места на диске в версии под Windows стали меньше.

* Удалена поддержка аппаратного ускорения декодирования DirectX Video Acceleration (DVXA), потому что она вызывала много проблем.

* Обновлены сторонние библиотеки, которые использует HandBrake.

* Улучшенный рендеринг субтитров для некоторых языков.

* Новая документация и менее технические руководства для новичков (пока в бете и на английском). Руководства для новичков содержат пошаговые инструкции для самых распространённых сценариев транскодирования, понятные даже тем, кто никогда не использовал подобное программное обеспечение.

Скачать HandBrake 1.0.0 (репозиторий на Github). Старые версии HandBrake тоже сохранились на официальном сайте для тех, кто привык к старому интерфейсу и кому не нужна аппаратная поддержка на последних CPU.

© Geektimes