Журнал «Компьютерра» № 38 от 17 октября 2006 года - Компьютерра. Страница 20
Итак, теоретически все готово для начала кодирования. Нажмите кнопку Enqueue, в результате чего в закладке Queue главного окна MeGUI в очередь встанут два прохода кодирования видео. Во время первого прохода кодек «присматривается» ко входному материалу и «размышляет», как бы лучше размазать по нему доступные мегабайты. Результаты «размышлений» записываются во временный файл статистики. Во время второго прохода происходит непосредственно кодирование материала.
Для запуска обоих проходов служит, как нетрудно догадаться, кнопка Start, после нажатия которой ваш компьютер призадумается подобно двоечнику на экзамене (см. таблицу производительности).
Звук, в принципе, можно пережать в той же MeGUI, но мне, честно говоря, не нравятся ее возможности по настройке командной строки neroAacEnc.exe, так что для этих целей я использую foobar2000. Единственное, кроме дистрибутива, что вам понадобится для сжатия в mp4 AAC, — это сам кодировщик neroAacEnc.exe да плагины для декодирования ac3 и DTS (разумеется, они нужны только для ac3— и DTS-файлов при пережатии DVD; поддержка WAV, mp3 и многих других форматов обеспечивается без всяких расширений), которые следует положить в папку foobar2000\components. При первом запуске конвертирования Foobar2000 спросит вас, где, собственно, ему взять neroAacEnc.exe, так передайте любопытному, что MeGUI уже автоматически скачала и положила его к себе в папку.
Откройте ваши звуковые файлы в Foobar’e и по правому клику мыши выберите опцию Convert. Настройте кодек Nero, выбрав двухпроходное кодирование (ABR, two-pass, slow to encode) и указав расчетный битрейт. Нажимайте ОК, процесс пошел. Не правда ли, проще, чем с видео?
В результате размышлений компьютера у вас теоретически должно получиться два mp4-файла — один со звуком, другой с видео. Это уже почти финал, остался последний шаг. «Замуксить», то есть свести воедино звук и видео, можно из той же MeGUI, для чего в разделе Tools -> Muxer имеется утилита mp4 muxer. Если вы успешно проделали все предыдущие действия, то с этой утилитой легко разберетесь самостоятельно. Кстати, обратите внимание, что в микшере есть возможность добавить в итоговый файл чаптеры и субтитры. Чаптеры можно задать в MeGUI (Tools -> Chapter Creator), а для субтитров существует пара замечательных бесплатных программ. Subtitle Workshop позволяет удобно оттитровать свой ролик, а SubRip — признанный авторитет в «сдирании» субтитров с DVD-дисков.
Итак, кажется, вы добрались до самого трепетного момента — просмотра результатов ваших трудов. Уймите дрожь в коленках — прежде потребуется еще одно, последнее усилие, чтобы научить вашу систему открывать mp4-файлы. Для этого необходимы декодеры h264— и AAC-потоков, а также mp4-сплиттер. Haali Media Splitter нужен потому, что по умолчанию Windows знать не знает о существовании mp4-файлов и при попытке их открыть впадает в оцепенение. В бесплатном виде декодеры имеются в составе ffdshow — известного комплексного видеодекодера.
В рамках стилистики этой статьи было бы несуразно предложить читателю такой простой выход — взять и скачать пару файлов. Тем более что установка «тяжелой» ffdshow, подхватывающей декодирование почти всех видеофайлов системы, часто бывает нежелательна. Лучше я расскажу, как декодируют mp4 настоящие «правильные пацаны». Некоторое время назад компания CoreCodec выпускала бесплатный декодер h264 под названием CoreAVC Beta. Декодер просто замечательный — и по сей день скорость его работы на 15—30% выше, чем у конкурентов (ffdshow в их числе), при идентичном качестве. Но вот незадача: жажда наживы затмила разработчикам разум, и в какой-то момент бесплатная CoreAVC Beta превратилась в платную CoreAVC 1.1. В Сети, разумеется, осела последняя бесплатная бета-версия, которую не составит труда найти. В отличие от CoreAVC 1.1, насколько я заметил, в ней нет поддержки анаморфного видео (то есть прямоугольные пикселы отображаются квадратными), а в инсталляционном пакете не прилагается упомянутый выше Haali Media Splitter для файлов mp4. Версию 1.1 найти гораздо труднее, но если вы законопослушны, то всегда можете купить ее на сайте разработчика. Пропал и отличный декодер звука Core AAC — на официальном сайте разработчика перед публикацией статьи я вообще не нашел упоминания о нем.
После того как декодеры и сплиттер будут установлены, mp4-файлы начнут открываться в любом DirectShow-проигрывателе, хоть в Windows Media Player 10. Чаптеры, переключение аудиоканалов и субтитры, правда, заработают только в каком-нибудь более приличном плейере, вроде Classic Media Player.
Довольно почешите живот — вы создали ролик с помощью самых прогрессивных на сегодняшний день технологий и получили оптимальное соотношение качество/размер. На вашем месте я бы ни за что не поверил предыдущему высказыванию, а потому специально положил на свою домашнюю страничку несколько видеофрагментов, закодированных по вышеизложенной методике: www.finar.ru/video/previews.
Если вы заинтересовались процессом и чувствуете, что информации этого краткого обзора недостаточно, зайдите сюда:
• www.doom9.org — основной международный сайт, посвященный обработке видео. Многие авторы описанных сегодня программ и утилит собираются и обсуждают свои разработки именно тут (на английском языке);
• forum.mediatory.ru — основной русскоязычный форум, посвященный обработке видео;
• forum.ixbt.com/topic.cgi?id= 29:25719 — тема на форуме iXBT, посвященная авторскому сборнику утилит для создания AVC-видео, основанного на MeGUI. Сборник удобен при отсутствии широкополосного доступа к Сети, так как почти все необходимое находится внутри одного архива;
• mewiki.project357.com/Main_Page — детальное описание настроек MeGUI на английском языке.
Для продуктивной работы с MeGUI желательно понять базовые приемы языка AviSynth. Задача не простая, но приложенные усилия компенсируются полной прозрачностью процесса кодирования и широчайшими возможностями по преподготовке видео. Вы сможете создавать любые скрипты с использованием любых встроенных и внешних фильтров обработки изображения, подавая на вход любое видео, — вне зависимости от выполненных действий x264 получит на вход стандартный поток. Для AVISynth написано и свободно распространяется в Сети невероятное количество плагинов для обработки изображения и декодирования всех популярных видеоформатов. Следует, однако, помнить, что для совместимости с x264.exe нужно соблюдать несколько условий:
• разрешение сгенерированного видео должно быть кратно минимум шестнадцати, как по горизонтали, так и по вертикали;
• картинка должна быть прогрессивной (в рамках «совместимости» с этой статьей, по крайней мере);
• х264 понимает на входе видео в «родном» для MPEG цветовом пространстве YUV 4:2:0 (для перевода в это пространство в скриптах AVISynth используется команда ConvertToYV12).
Дополнительную информацию по созданию AVS-скриптов можно найти в прилагающейся к AVISynth документации и тут: forum.ixbt.com/topic.cgi?id=29:9331.