Звук, в принципе, можно пережать в той же 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. Сборник удобен при отсутствии широкополосного доступа к Сети, так как почти все необходимое находится внутри одного архива;
• mewiki.project357.com/Main_Page - детальное описание настроек MeGUI на английском языке.
Для продуктивной работы с MeGUI желательно понять базовые приемы языка AviSynth. Задача не простая, но приложенные усилия компенсируются полной прозрачностью процесса кодирования и широчайшими возможностями по преподготовке видео. Вы сможете создавать любые скрипты с использованием любых встроенных и внешних фильтров обработки изображения, подавая на вход любое видео, - вне зависимости от выполненных действий x264 получит на вход стандартный поток. Для AVISynth написано и свободно распространяется в Сети невероятное количество плагинов для обработки изображения и декодирования всех популярных видеоформатов. Следует, однако, помнить, что для совместимости с x264.exe нужно соблюдать несколько условий:
• разрешение сгенерированного видео должно быть кратно минимум шестнадцати, как по горизонтали, так и по вертикали;
• картинка должна быть прогрессивной (в рамках «совместимости» с этой статьей, по крайней мере);
• х264 понимает на входе видео в «родном» для MPEG цветовом пространстве YUV 4:2:0 (для перевода в это пространство в скриптах AVISynth используется команда ConvertToYV12).
Дополнительную информацию по созданию AVS-скриптов можно найти в прилагающейся к AVISynth документации и тут: 1