Журнал «Компьютерра» № 38 от 17 октября 2006 года - Компьютерра (книги хорошем качестве бесплатно без регистрации .txt) 📗
• Input DAR: соотношение сторон входного видео. В большинстве случаев пикселы входного видео квадратные, и DAR равно отношению горизонтального разрешения картинки к вертикальному. Однако на анаморфных DVD, к примеру, пиксел прямоугольный. Если ваш источник именно такой, укажите нужное соотношение.
• Clever anamorphic encoding: умное кодирование анаморфа. Галочку следует ставить, если вы собираетесь сохранить оригинальное соотношение сторон пиксела анаморфного источника, то есть сунуть x264.exe-прямоугольники как есть. Этот вариант предпочтителен в плане создания «точных копий» DVD-дисков с заделом на будущее. Resize to mod16 предлагает автоматически изменить разрешение, сделав его кратными шестнадцати; Overcrop to achieve mod16 делает то же самое, обрезая края кадра; и последний вариант Encode non-mod16 позволяет кодировать анаморфные источники с «кривым», не кратным шестнадцати разрешением.
Более практичен другой вариант: добиться «квадратности» пикселов, уменьшив разрешение по одной из координат. В этом случае разрешение картинки уменьшается, за счет чего увеличивается плотность информации на каждый кодируемый пиксел, а всеобщая квадратность улучшает совместимость выходного потока с разными декодерами h264.
• Crop: обрезка краев кадра. Нужна только в том случае, если в исходном видео присутствуют черные полосы или некачественные области у краев экрана (которые возникают при оцифровке VHS, например).
• Resize: изменение разрешения картинки. Этот неприметный пункт требует огромного числа мышедвижений. Сразу поставьте галочку suggest resolution (она обеспечит правильное соотношение сторон и кратность вертикального и горизонтального разрешений шестнадцати) и установите максимально возможное разрешение. Хотя очевидно, что выходное разрешение должно быть не больше входного, распространено заблуждение, что оно должно быть максимально возможным. Это не совсем так — ведь чем больше разрешение, тем больше пикселов требуется закодировать компрессору, тем меньше информации приходится на каждый из них и тем больше артефактов возникает при их сжатии. Но и слишком маленькое разрешение тоже не сахар — низкая степень квантования, или, проще говоря, здоровые квадраты на экране, не особенно радует глаз. Истина лежит где-то посередине, а чтобы ее отыскать, воспользуемся старым знакомым Wabc bitrate calculator’ом (в MeGUI есть встроенный bitrate calculator, но на момент написания статьи самой нужной возможности в нем не было). Принцип его работы я уже описывал в давнишней статье о захвате, так что для экономии места позволю себе ограничиться общими словами. Задача — выбрать минимально допустимый для качественного сжатия Quality Index (QI, то есть индекс количества информации, приходящейся на каждый пиксел картинки) вашего будущего ролика так, чтобы сохранить максимальное разрешение. Чтобы определить этот самый индекс, нужно заполнить все остальные пустующие информационные поля калькулятора.
Сразу вы можете указать Disk Space — желаемый объем ролика в килобайтах, его длительность и частоту кадров (она равна частоте кадров входного материала), а также разрешение, значение которого вы только что выставили в MeGUI. Битрейт, то есть количество информации, которое придется на секунду закодированного видео, считается как частное от деления желаемого объема ролика в килобитах на его длительность в секундах. Все бы хорошо, но вы наверняка обратили внимание, что битрейтов в калькуляторе не один, а два (рис. 2). И правда — звук кодируется независимо от видео, но в финальном-то файле он свое место займет! Выходит, чтобы определиться с битрейтом видео, нужно сначала определиться с аудио. Смело ставьте значение в пределах 64—192 кбит/с для каждой дорожки на свое усмотрение. Мое усмотрение по данному вопросу зависит от целей сжатия: если ролик планируется размещать в Сети, где важен каждый мегабайт, — обойдутся юзеры и 64 кбит/с. Если же пережимается какой-нибудь DVD для себя любимого — тогда, конечно, не стоит экономить. Nero AAC по сравнению с mp3 сделал огромный шаг вперед, и таких скромных битрейтов оказывается достаточно для вполне приличного кодирования даже шестиканального звука.
Ура! Теперь вы можете посчитать битрейт видео (запомните его и выбранный аудиобитрейт!), а стало быть, и первое приближение Quality Index’a с максимально возможным разрешением картинки. x264 обеспечивает практически неотличимое от оригинала качество при QI в пределах от 1200 до 2000 в зависимости от исходного фильма. Если получившееся у вас значение QI меньше 1200, чуть уменьшите разрешение в MeGUI и пересчитайте QI заново.
• 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 (на английском языке, правда).