Как закодировать видео
Лучшие бесплатные программы для перекодирования видео (кодирования)
Перекодирование видео (кодирование)
Существует определенная баталия в том, как правильно называть процесс преобразования файла из одного метода кодирования в другой, перекодирование или транскодирование. Чтобы не вдаваться в дебаты и предоставить читателям информацию в более простом, понятном и удобном виде, в статье будет вестись речь о том, как уменьшить размер файла видео, сохраняя при этом максимальное качество.
Процесс преобразования форматов особенно полезен при копировании DVD/BluRay на ваш компьютер, отправке в компактном виде ваших личных видео через интернет и просто освобождении места на диске, за счет сжатия, раздутых в размерах, файлов. И некоторые из этих задач можно легко решить с помощью видео конвертеров.
Класс программ перекодирования/транскодирования/конвертеров видео потребует от вас понимания некоторых технических аспектов конвертации оригинального видео в желаемый формат. Даже при использовании автоматизированных средств обнаружения и подбора параметров, незнание некоторых базовых принципов может привести к «странным» результатам. Например, если вы не проводили деинтерлейсинг видео с чересстрочной разверткой (так же именуемой интерлейсинг), то на выходе вы можете получить дефекты на кадрах видео, как показано ниже:
Прежде, чем приступать к обсуждению, вот те основные моменты, которые необходимо знать:
- Какой кодек и формат вы собираетесь использовать? В настоящее время, H264, AAC и mp4 являются одной из лучших комбинаций (лучшая совместимость с устройствами воспроизведения, лучшее соотношение качество/сжатие)
- Какое качество, размер файла и скорость кодирования вы выберите? Каждый из этих параметров будет влиять на соседние. Поэтому вам необходимо будет определиться с 2-мя параметрами, которые будут наиболее важны для вас.
- Что делать с источником? В большинстве случаев оригинальный файл с видео не оптимизирован для просмотра на компьютере: видео может включать чересстрочные полосы, иметь черные края (сверху и снизу). Другими словами, вам нужно знать, что такое интерлейсинг, качество изображения, соотношение сторон (развертка, например, 4:3 и 16:9), обрезка, битрейт, а так же другие связанные с видео понятия.
- Зашифрован ли источник? Большинство программ данного класса не расшифровывают DVD/BluRay сами по себе. Поэтому вам могут понадобиться декодировщики, такие как DVDFab HD, DVD Shrink или DVD43. При использовании некоторых инструментов, стоит создавать копии оригинальных файлов. Да и в общем случае, практика резервного копирования будет не лишней.
- Процесс преобразования кодировки ресурсоемкий, поэтому вы должны понимать, что в зависимости от характеристик вашего компьютера, процесс конвертации может занимать очень много времени.
Обзор бесплатных программ для перекодирования видео (кодирования)
В этом обзоре собраны наиболее известные программы, которые относительно легко использовать и которые имеют хорошую производительность. Существует много других хороших перекодировщиков/транскодеров/конвертеров, которые могут так же пригодится. И если вы будете выбирать один из них, то советуем вам выбирать те программы, которые, минимально, поддерживают H264 и деинтерлейсинг. Несмотря на существование коммерческих продуктов, все же лучшие программы конвертации в основном бесплатные.
Далее будут рассмотрены пять бесплатных продуктов: StaxRip, MeGUI, HandBrake, XviD4PSP и RipBot264. Все они имеют графически интерфейс, так что вам не придется мучится с набором консольных параметров.
Программа для перекодирования видео StaxRip отличная функциональность с хорошей скоростью
StaxRip, пожалуй, одна из лучших программ для преобразования видео. StaxRip позволяет с хорошей скоростью получить на выходе файл с наилучшим качеством и минимальным размером. Несмотря на то, что у программы нет инструментов для анализа оригинального видео, в большинстве случаев будет достаточно использовать настройки по умолчанию. Кроме того, средство предварительного просмотра качества выходного видео позволит достаточно легко подобрать оптимальные настройки.
Подборка настроек качество/размер/скорость кодирования выходного файла, обрезка видео и остальные действия можно выполнять прямо из интерфейса программы. Такая возможность особенно важна, когда вы вручную пытаетесь определить качество оригинального файла и наличие дефектов. Хотя, StaxRip поддерживает конвертирование непосредственно с DVD, все же рекомендуется вначале скопировать видео на жесткий диск.
Программа MeGUI кодирование видео для опытных
MeGUI будет отличным выбором для опытных пользователей, хотя для начинающих пользователей так же имеется возможность «перекодирования в один щелчок». MeGUI предоставляет пользователю наиболее полный набор инструментов, наиболее гибкие возможности настройки выходного видео, а так же ряд мощных инструментов, таких как автоматическое определение чересстрочной развертки и прочие. Настройки по умолчанию выставлены достаточно хорошо, так что, как и с StaxRip, в большинстве случаев их будет вполне достаточно. Кроме того, программа постоянно развивается, что вы всегда можете рассчитывать на поддержку последних методов кодирования.
Одну вещь необходимо отдельно выделить. Несмотря на то, что программа, как уже говорилось, имеет функциональность «в один щелчок», в программе существует настолько большой набор настроек, что любопытный и неопытный пользователей (чем часто отличаются начинающие пользователи) легко может сделать что-то не так, и тем самым испортить качество выходного файла. Так что в большей степени MeGUI, все же рассчитан на опытных пользователей.
Программа HandBrake перекодирование видео под Mac и Windows
HandBrake будет лучшим выбором для пользователей операционной системы Mac, версия для Windows не так хороша. Тем не менее, HandBrake все равно остается очень хорошим перекодировщиком/транскодировщиком/конвертером.
Изначально, Windows версия не имеет средства для предварительно просмотра, так что, при ручной настройке, ряд моментов и настроек придется подбирать на основе опыта. Тем не менее, пользователи Windows могут использовать VidCoder, основанный на HandBrake и позволяющий предварительно просматривать видео.
HandBrake не имеет автоматических средств обнаружения, но настройки по умолчанию неплохо подобраны. Программа позволяет легко конвертировать непосредственно с DVD диска (хотя вам могут потребовать программы для расшифровки, такие как DVD43 или DVDFab passkey), но скорость будет меньше, чем у StaxRip.
Программа кодирования видео XviD4PSP с запоминающимся интерфейсом и неплохой автонастройкой
XviD4PSP представляет собой интересную программу, но разница в нумерации между последней стабильной версией и бетой может несколько отпугивать. В настоящее время, последняя стабильная версия 5.x. Последняя же бета версия 7.x, но разработчик постоянно развивает продукт, поэтому, возможно, в относительном будущем появится более свежая стабильная версия. Обе версии включают в себя средство анализа, достаточно полный список настроек по умолчанию для множества устройств и имеют удобный интерфейс настройки фильтров и коррекции цветов.
В целом, XviD4PSP очень хорошо запоминается своим отличающимся внешним видом и очень неплохим инструментом автоматического обнаружения. Однако, разница в нумерации между последней стабильной версии и последней бета может несколько настораживать. Хотя, нет сомнений, что разработчик постоянно развивает инструмент и что когда выйдет стабильная версия, то это будет одна из отличных программ. К недостаткам можно отнести то, что настройки по умолчанию подобраны несколько хуже, по сравнению с аналогами. Выходной файл будет либо дольше конвертироваться, либо размер будет больше.
Программа RipBot264 простой и эффективный перекодировщик видео
RipBot264 является простым и эффективным инструментом, который обеспечивает вас всеми необходимыми функциями (деинтерлейсинг, обрезка, ITVC, фильтры цвета, удаление шумов, субтитры, изменение размера и прочие) в удобном и компактном интерфейсе. Как заявляет автор программы: «Это небольшое приложение написано на языке Delphi специально для тех людей, которые ищут что-то простое, без экзотических фильтров и обилия ненужных настроек».
Средства анализа RipBot264 будут достаточно полезны, однако, многие из них не в состоянии обнаружить чересстрочную развертку в статичных сценах, например, в мультфильмах. Все же в большинстве случаев, ручное определение будет всегда лучшей идеей. Единственный случай, когда автоматическое определение позволит добиться лучших результатов это когда оригинальное видео собрано из видео-отрывков различного качества (часть — интерлейсинг, часть — Telecine [качество записи прямо с профессиональной камеры], часть — прогрессивная развертка).
Что-то в обзоре было указано не правильно или пропущен ваш любимый бесплатный продукт? Оставьте комментарий!
Кодирование видео в H264 (часть 1)
Писать буду про x264, это как показывают разные сравнения наиболее сейчас выигрышная реализация (вообще то их очень много уже, но многие специализированные), код под GPL, поэтому бесплатная, и выдаёт наиболее качественный результат. В этом году будет очередное сравнение лабораторией МГУ (compression.ru это их сайт), посмотрим какие результаты будут на этот раз.
Ну так вот про x264. По слухам его пишут бывшие авторы Xvid, которые, написав отличный, ставший де-факто стандартом пиратства, кодек MPEG4 смогли очень быстро создать лидирующую версию для H264. Вполне верю, очень похоже что опыт там был накоплен очень серьёзный. Поскольку я сам занимаюсь разработкой H264 кодека на работе, то код GPL x264 я смотреть не имею права, так что все остальные сведения о внутреннем устройстве, которые я тут может буду про него писать, являются только домыслами, правда неплохо подтверждаемыми данными реального анализа (в видео много можно сказать если есть хорошие программы, a la дизассемблер закодированного видео стрима).
Сам кодек может работать отдельно, и доступен со своего домашнего сайта. Но, выдаёт он чистый битовый стрим видео, что не вполне удобно для нормальных людей (не знаю, может он и умеет заворачивать в какой-то контейнер, не пробовал), да и звук надо тоже добавлять обычно. Плюс врядли умеет читать многие разнообразные варианты входного потока, которые могут повстречаться если что-то там надо куда-то перекодировать. Но зато x264 присутствует как одна из компонент mplayer/mencoder в виде библиотеки, плюс все его опции там есть, так что можно сочетать удобство mplayer/mencoder, который читает что угодно, ну и закодировать может тоже как угодно, в том числе и используя x264 для видео.
Про mplayer стоит сказать пару слов для пользователей windows. У тех у кого линукс, он наверняка есть. А вот бинарники для windows весьма устарели, последняя версия была 2007 года. только я это написал, заглянул на сайт, и блин уже есть наконец официальные билды для windows созданные совсем недавно. Так что этот абзац можно бы было удалить если бы не ещё одно. Mplayer, как и mencoder в оригинале чисто command line утилиты, что для многих очень сложно и не привычно. Ну ничем в этом не могу помочь кроме как дать линк на различные неофициальные фронтенды для mencoder. Ни одного ни разу не пробовал, и вероятно не буду. Я использую командную строку, привык уже. Так что дальше я буду писать про именно параметры командной строки, а есть они или нет в фронтендах я не знаю.
Так вот про создание роликов или перекодирования фильмов. Этот вариант использования требует как правило максимального качества при том что время кодирования в принципе не важно. Это не видео-конференция где надо всё кодировать на лету, можно подождать, может даже на ночь оставить. Главное чтобы результат был качественным. Для достижения максимального качества обычно используют многопроходное кодирование, обычно 2-х проходное, но 3-4 тоже можно попробовать если никак не получается вместить то что требуется в нужный размер.
Многопроходное кодирование обеспечивает необходимое перераспределение количества битов на каждый кадр для достижения максимального качества (оценка качества программными средствами это отдельная очень большая проблема) как правило используя метрику PSNR. Во всяком случае многопроходное кодирования должно давать результат лучше чем однопроходное, так как кодек на проходе после первого будет заранее иметь информацию о всех типах фреймов на всём протижении ролика, и их сложности для кодирования.
Что-то я уже устал сегодня. Зато как-бы введение написал. Продолжение будет позже.
Три способа кодирования видео для Android
В статье рассмотрим три способа конвертирования видео для смартфонов на базе операционной системы Android. В первую очередь, статья рассчитана на пользователей операционной системы Linux. Но материал может быть полезен и пользователям других ОС, так как представленные в статье программы являются кроссплатформенными.
Не откроем Америку, если скажем, что после звонков и коммуникации основным предназначением смартфонов для большинства их владельцев является прослушивание музыки или просмотр видеороликов. Поэтому вопросы конвертирования медиафайлов для гуглофонов, особенно маломощных, интересуют многих.
Для проигрывания видео в смартфонах Android используется аппаратное ускорение видеоформата MPEG-4/ASP и его улучшенного варианта H.264/AVC. В дальнейшем в гуглофонах намечается использование формата WebM, но на текущий момент это пока неактуально.
Конвертацию можно разделить на несколько задач: конвертация видефайлов, конвертация DVD-дисков и, что важно для поклонников аниме, наложение внешних субтитров. И ко всему этому хотелось бы, чтобы программы для конвертации были простыми и с графическим интерфейсом настроек.
Для начала рассмотрим программу aEncoder. Эта программа относится к разряду конверторов «в два клика». В отличие от конверторов, дающих возможность перегонять видео во всевозможные форматы для очень большого количества устройств, aEncoder предназначен только для гуглофонов. В нём нет огромного количества параметров и настроек. Здесь не нужно знать, чем все эти видеоформаты друг от друга отличаются. Такая простота во многих случаях, особенно для неискушённых пользователей, может быть более удобной.
Создатели aEncoder заявляют в своей программе следующие возможности: конвертирование видеофайлов, DVD-дисков, а также наложение субтитров hurdsub в форматах ass, srt.
Сам по себе aEncoder — просто графическая оболочка (фронтенд) для консольного конвертора Mencoder, входящего в свободный мощный видеоплеер Mplayer. В эту оболочку уже «зашиты» все необходимые опции для правильного конвертирования видео, а пользователю остаётся в два клика выбрать файл и разрешение экрана для своего гуглофона.
Здесь можно скачать сам архив фронтенда для 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 можно командой:
Также линуксоидам нужно не забыть, чтобы в папке ./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, 800×480. Те, у кого гуглофон с нестандартным разрешением, например, 320х240, могут выставить собственные параметры видео и разрешения через опцию «своё».
- При кодировании файла, когда мы имеем отдельные субтитры, проверяем, что они лежат в той же папке, где и исходный файл, и имеют то же название файла, что и исходный видеофайл. Отмечаем галочки и проверяем кодировку.
- Жмем кнопку «Начать».
Кодирование aEncoder рассчитано на качественную картинку. Кодируется видео в два прохода. На выходе получается контейнер mp4 (H.264, AAC). Двойное кодирование обеспечивает неплохое качество полученных роликов, но платой за это становится большая длительность кодирования и относительно большой по размеру файл на выходе. Для примера, кодирование полноформатного DVD-фильма «Союз Зверей» в «низкий профиль» 480х320 заняло на машине Core Duo 2,5 ГГц один час и десять минут. Размер файла получился 390 Мб.
И всё было бы хорошо, но текущая версия пока не без недостатков. Например, в некоторых дистрибутивах Linux не подключатся субтитры. Это связано с тем, что в этих дистрибутивах fontconfig по-разному собран. Также при выборе аудиодорожки при кодировании DVD кодируется только первый аудиотрек.
Следующая программа называется 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, о котором мы уже писали обзорную статью («КВ» №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.