Журнал «Компьютерра» № 38 от 17 октября 2006 года - Компьютерра
Шрифт:
Интервал:
Закладка:
Ура! Теперь вы можете посчитать битрейт видео (запомните его и выбранный аудиобитрейт!), а стало быть, и первое приближение Quality Index’a с максимально возможным разрешением картинки. x264 обеспечивает практически неотличимое от оригинала качество при QI в пределах от 1200 до 2000 в зависимости от исходного фильма. Если получившееся у вас значение QI меньше 1200, чуть уменьшите разрешение в MeGUI и пересчитайте QI заново.
Закладка Filters• Deinterlacing: перевод чересстрочной картинки в прогрессивную, или, по-простому, ликвидация эффекта «расчески».
После нажатия магической кнопки Analyse MeGUI возьмется определить тип вашего видео. В большинстве случаев, когда источник чисто прогрессивный или чересстрочный, MeGUI не ошибается. А вот когда я сжимал документальный фильм с вкраплениями кадров старой кинохроники (естественно, прогрессивных) на фоне общей чересстрочности материала MeGUI схалтурила и предложила страшный алгоритм деинтерлейсинга, который путал полукадры на границе смены планов. Мало того что алгоритм работал крайне медленно, так в итоге все пришлось пережимать заново. Поэтому обязательно проверьте, правильно ли MeGUI выбрала метод deinterlace (это можно сделать перед началом непосредственно кодирования), и в случае чего исправьте скрипт вручную, установив стандартный деинтерлейс командой Field Deinterlace(blend=false).
• Noise Filter: шумодав. Следует отключить, только если вы сжимаете очень качественный материал (например, фильм на оригинальном двухслойном DVD или HDTV-рип). В остальных случаях выбирайте ту или иную степень шумоподавления экспериментально, руководствуясь простым правилом — работа шумодава не должна быть заметна глазу. Ведь шумодав (этот, по крайней мере) нужен вовсе не ради улучшения визуального качества картинки, а ради ее адаптации для компрессора, который может болезненно воспринимать те микрошумы, кои человеческий глаз оставит без внимания.
Все остальные настройки AviSynth Script Creator’a предлагаю оставить по умолчанию, а при желании изучить самостоятельно. Теперь сохраните скрипт. В результате получится avs-файл, который нужно открыть в Classic Media Player [Если скрипт не проиграется, скачайте и установите YuvCodecs, а также проверьте через текстовый редактор, правильно ли в скрипте указаны пути к плагинам и файлам источников. В случае ошибки, кстати, вместо видео AVISynth покажет описание ошибки и номер строчки в скрипте, где она возникла]. Перед вами окажется именно то изображение (только пикселы у avs-скрипта при просмотре будут квадратными), которое впоследствии получит и сожмет x264.exe. Можете поэкспериментировать с шумодавом и другими настройками скрипта — после сохранения изменений достаточно переоткрыть avs-файл, чтобы сразу увидеть результат. Все нормально? Длительность, разрешение, deinterlace? Тогда приступайте к кодированию.
Кодирование видеоДальше никаких особых сложностей нет. Закройте Script Creator и отправляйтесь в основное окно MeGUI, в закладку Input. Укажите путь к avs-файлу, выставьте кодек x264 и контейнер mp4, выберите профайл HQ-Slowest для получения максимально качественного результата (свежие профайлы были автоматически скачаны при первичной настройке MeGUI), нажмите кнопочку Config напротив выбора кодека и в открывшемся окне укажите битрейт, который вы рассчитали, выбирая разрешение изображения. Все остальные настройки кодека можно оставить по умолчанию, доверившись авторам профайла, но если жажда исследования в вас до сих пор не угасла, можете почитать о них подробнее тут: mewiki.project357.com/X264_Configu-ration (на английском языке, правда).
Итак, теоретически все готово для начала кодирования. Нажмите кнопку Enqueue, в результате чего в закладке Queue главного окна MeGUI в очередь встанут два прохода кодирования видео. Во время первого прохода кодек «присматривается» ко входному материалу и «размышляет», как бы лучше размазать по нему доступные мегабайты. Результаты «размышлений» записываются во временный файл статистики. Во время второго прохода происходит непосредственно кодирование материала.
Для запуска обоих проходов служит, как нетрудно догадаться, кнопка Start, после нажатия которой ваш компьютер призадумается подобно двоечнику на экзамене (см. таблицу производительности).
Кодирование аудиоЗвук, в принципе, можно пережать в той же MeGUI, но мне, честно говоря, не нравятся ее возможности по настройке командной строки neroAacEnc.exe, так что для этих целей я использую foobar2000. Единственное, кроме дистрибутива, что вам понадобится для сжатия в mp4 AAC, — это сам кодировщик neroAacEnc.exe да плагины для декодирования ac3 и DTS (разумеется, они нужны только для ac3— и DTS-файлов при пережатии DVD; поддержка WAV, mp3 и многих других форматов обеспечивается без всяких расширений), которые следует положить в папку foobar2000components. При первом запуске конвертирования 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. Сборник удобен при отсутствии широкополосного доступа к Сети, так как почти все необходимое находится внутри одного архива;