Журнал «Компьютерра» N 38 от 17 октября 2006 года
Шрифт:
Производительность, надежность, быстрый сервис, доступная цена - все это замечательно, однако человеческая симпатия важна не меньше. И если вы станете чаще замечать продукты Samsung в банках, на стойках заказа билетов, в государственных учреждениях… Что ж, значит, симпатия возникла не только у меня.
Автор благодарит российское представительство Samsung и лично Антона Щербакова и Леонида Перминова за очень познавательное и поучительное путешествие.
ТЕХНОЛОГИИ: h264. Год спустя: Технология кодирования видео в MPEG-4 AVC. Часть вторая
Автор:
Надеюсь, в конце прошлого номера я вас достаточно заинтриговал. Итак, вы открыли исходный файл с видео в AviSynth Script Creator’e и - ничего нового там еще не появилось, так что можете его смело свернуть. Теперь пробежимся по основным настройкам Script Creator’a (рис. 1).
(Окончание. Начало см. в #657.)
• 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, то есть индекс количества информации, приходящейся на каждый пиксел картинки) вашего будущего ролика так, чтобы сохранить максимальное разрешение. Чтобы определить этот самый индекс, нужно заполнить все остальные пустующие информационные поля калькулятора.
Сразу
Ура! Теперь вы можете посчитать битрейт видео (запомните его и выбранный аудиобитрейт!), а стало быть, и первое приближение 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? Тогда приступайте к кодированию.