Три способа кодирования видео для Android

В статье рассмотрим три способа конвертирования видео для смартфонов на базе операционной системы Android. В первую очередь, статья рассчитана на пользователей операционной системы Linux. Но материал может быть полезен и пользователям других ОС, так как представленные в статье программы являются кроссплатформенными.


Задачи конвертации

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

Для проигрывания видео в смартфонах Android используется аппаратное ускорение видеоформата MPEG-4/ASP и его улучшенного варианта H.264/AVC. В дальнейшем в гуглофонах намечается использование формата WebM, но на текущий момент это пока неактуально.

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


aEncoder

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

Создатели aEncoder заявляют в своей программе следующие возможности: конвертирование видеофайлов, DVD-дисков, а также наложение субтитров hurdsub в форматах ass, srt.

Сам по себе aEncoder - просто графическая оболочка (фронтенд) для консольного конвертора Mencoder, входящего в свободный мощный видеоплеер Mplayer. В эту оболочку уже "зашиты" все необходимые опции для правильного конвертирования видео, а пользователю остаётся в два клика выбрать файл и разрешение экрана для своего гуглофона.

Официально проект находится на сайте https://github.com/goletsa/aEncoder.

Здесь можно скачать сам архив фронтенда для Linux размером 18 килобайт. Текущая версия 0.99.5.

Но для пользователей Windows существуют уже готовые сборки aEncoder, которые можно найти на сайте 4PDA.ru и в которые уже всё необходимое положено. Нужно только такой архив скачать, распаковать и кликнуть на зелёный значок "Андроида". Весит архив для Windows со всеми нужными дополнениями около восьми мегабайт.

А вот для работы aEncoder в Linux придётся немножко повозиться. Во-первых, в системе должен быть установлен mencoder с поддержкой libfaac. Но нужно иметь в виду, что версия mencoder в официальном репозитории дистрибутива может быть урезанной. Поэтому следует установить мультимедиа-программы и кодеки из специальных репозиториев. Например, для Ubuntu и Debian это medibuntu.org или debian-multimedia.org. Также должны быть установлены библиотеки tk8.5, tcl8.5, gpac >= 0.4. Доустановить их в систему на основе Debian можно командой:

aptitude install tcl8.5 tk8.5 gpac mencoder

Также линуксоидам нужно не забыть, чтобы в папке ./mplayer лежал шрифт для субтитров subfont.ttf.

После чего в Linux следует разархивировать скачанный архив и запустить в нём файл install.sh. Если всё, что нужно программе, уже имеется в системе, то прямо здесь появится исполняемый файл aEncoder для старта программы. Дальше из папки src этого архива нужно взять файл aencoder_lin.tcl, переименовать его в aEncoder.tcl и положить рядом с созданным файлом aEncoder. Программа для работы в Linux готова.

Интерфейс программы очень простой, на русском языке. И процесс кодирования тоже не сложный.

  • Сначала кнопкой "добавить файл" добавляем в программу нужный видеоролик. Можно поставить сразу несколько видеороликов подряд в очередь. При кодировании видео DVD нужно выбрать в каталоге VIDEO_TS на DVD-диске файл с расширением IFO, обычно это VIDEO_TS.IFO.
  • Далее вбираем папку для выходного файла.
  • Настройки видео сводятся к выбору профиля кодирования "низкий - высокий" и выбору разрешения экрана смартфона 480х320, 800x480. Те, у кого гуглофон с нестандартным разрешением, например, 320х240, могут выставить собственные параметры видео и разрешения через опцию "своё".
  • При кодировании файла, когда мы имеем отдельные субтитры, проверяем, что они лежат в той же папке, где и исходный файл, и имеют то же название файла, что и исходный видеофайл. Отмечаем галочки и проверяем кодировку.
  • Жмем кнопку "Начать".

Кодирование aEncoder рассчитано на качественную картинку. Кодируется видео в два прохода. На выходе получается контейнер mp4 (H.264, AAC). Двойное кодирование обеспечивает неплохое качество полученных роликов, но платой за это становится большая длительность кодирования и относительно большой по размеру файл на выходе. Для примера, кодирование полноформатного DVD-фильма "Союз Зверей" в "низкий профиль" 480х320 заняло на машине Core Duo 2,5 ГГц один час и десять минут. Размер файла получился 390 Мб.

И всё было бы хорошо, но текущая версия пока не без недостатков. Например, в некоторых дистрибутивах Linux не подключатся субтитры. Это связано с тем, что в этих дистрибутивах fontconfig по-разному собран. Также при выборе аудиодорожки при кодировании DVD кодируется только первый аудиотрек.


Avidemux

Следующая программа называется Avidemux. Этот мультиформатный конвертор и простой редактор видеофайлов стал практически стандартным в дистрибутивах Linux. Он имеется в основных репозитриях. Пользователи Windows могут взять программу по адресу fixounet.free.fr/avidemux. Вес программы для Windows около 10 Мб. Текущая версия программы 2.5.4. Интерфейс, как и во многих оупенсорсных программах, локализован не до конца.

Функционально Avidemux может конвертировать только видеофайлы. Работа с DVD не поддерживается. Также в качестве видеоформата в стандартной версии для Linux используется MPEG-4/ASP. Поддерживается наложение внешних субтитров в форматах srt и ass.

Процесс настройки конвертирования происходит в несколько шагов.

  • Выбираем в меню "Файл - Открыть" нужный файл.
  • В выпадающем списке "Видео" выбираем формат MPEG - 4 ASP (lavc).
  • Настраиваем видео сначала через "Настройки > Encoding Mode >Single Pass-Bitrate". Вводим значение 500 (для маломощных гуглофонов этого достаточно) и нажимаем "OK".
  • Переходим "Фильтры > MPlayer Resize", устанавливаем разрешение видеоролика в зависимости от разрешения экрана вашего смартфона.
  • Если нужно наложить субтитры, то здесь же, в "Фильтрах", идём в "Субтитры" и подключаем файл в нужном формате.
  • После чего настраиваем параметры аудио. В выпадающем списке "Звук" выбираем формат "AAC (FAAC)".
  • Дальше жмём ниже кнопку "Настройка" и выставляем битрейт аудио в районе 96 kbit/s (тоже вполне достаточно для каких-нибудь "хуавеев").
  • И не забываем в выпадающем списке "Контейнер" обязательно выбрать MP4.
  • Нажимаем "CTRL + S" и сохраняем наше видео в нужную папку.


HandBrake

И, наконец, третья программа, наверное, самая специализированная из представленных. Это конвертор HandBrake, о котором мы уже писали обзорную статью ("КВ" №9'2010). Кратко напомню, что этот специализированный конвертор создан для перегонки видео в устройствах Apple, что не мешает использовать его и для устройств Android.

HandBrake решает практически все задачи - это и кодирование видеофайлов, и кодирование DVD. Но что касается добавления внешних субтитров, то программа работает только с простым форматом srt. Причём hardsub не поддерживается, используется только режим softsub. То есть субтитры добавляются как текстовой поток внутрь конечного видеофайла.

Программа находится на сайте handbrake.fr, здесь же есть ссылка и на ppa-репозиторий для Ubuntu. Версия для Windows весит около шести мегабайт, но требует установленного Microsoft .NET Framework 3.5. Текущая версия 0.9.5. Интерфейс английский.

Порядок действий в HandBrake для конвертации видео для "Андроид" следующий:

  • Через кнопку "Source" добавляем видеофайл или DVD-диск.
  • В поле "Destination" выбираем название конечного файла и выходную папку.
  • В правом списке "Presets" выбираем "Apple > iPhone & iPod Touch".
  • Нажимаем на тулбаре кнопку "Picture Settings" и здесь устанавливаем размеры ширины и высоты выходного видеоролика, соответствующего параметрам вашего гуглофона.
  • Переходим на вкладку "Video" окна предпросмотра, устанавливаем переключатель на "Bitrate" и вписываем нужное значение. Повторюсь, для маломощных гуглофонов это в районе 500.
  • Потом переходим на вкладку "Audio" и устанавливаем в списке "Codec" значение "AAC (FAAC)". Если кодируем DVD, то нужно выбрать нужную аудиодорожку. В выпадающем списке "Bitrate" выставляем нужный битрейт аудио.
  • Если в видеофайл требуется добавить текстовые субтитры, то их подключаем во вкладке "Subtitles" через кнопку "Import SRT". Файлы субтитров должны быть в кодировке UTF-8.
  • Нажимаем на тулбаре кнопку "Start".


Итог

По правде говоря, ни одна из представленных программ не обеспечивает решение всех мыслимых задач при конвертации видео для смартфонов на базе Android. В некоторых случаях aEncoder выглядит предпочтительнее, чаще лучшим будет HandBrake, а иногда не стоит забывать и про Avidemux.

Михаил АСТАПЧИК

Версия для печатиВерсия для печати

Номер: 

05 за 2011 год

Рубрика: 

На заметку
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!