Автор: Сергей Голубицкий
«Я почти ничего не понял. А главное – не понял, при чем тут компьютеры. Думаю, если бы этой статьи не было – мир бы не много потерял». Юзер «Рамзес» на форуме «Компьютерры» в адрес «ЗаДом»
Помните Ленина, который, типа, «поставил с головы на ноги» великого немецкого философа? Поди ж ты: оказывается, наша колонка тоже завязана на законах диалектики, вот только переход количества в качество в ней осуществляется своеобразно – не вследствие накопления опыта и поумнения, а в контексте сезонных перемещений! В смысле, что в результате регулярного летнего анабасиса в направлении Понта Евксинского и связанного с ним перехода от молниеподобного «Стрима» к улиточному жэпэрэсу полноводный поток софтверных поступлений пересыхает, заставляя предаваться глубокомысленному ковырянию в накопленных за год сусеках. Вот и получается, что новое качество возникает на дефиците количества.
Наблюдение, конечно, пустяковое, однако ж согласитесь: приятно ощутить себя – пусть даже с боку припека! – приобщенным к дхарме в европейском смысле слова (надеюсь, в этом месте «Рамзес» окончательно потечет головой, зато закаленные культур-повидлианцы лишь крякнут от удовольствия, играючи расколов орех очередного коана!).
Короче, я предупредил, а теперь перейдем, как было обещано на прошлой неделе, к чудо-кодеку AVC/H.264 и его бесплатной разновидности х264. Думаю, будет справедливо, если мы откажемся от порочной идеи потрафлять гоблинам и заливаться соловьем о спецификациях ITU-T Video Coding Experts Group и его аналогах ISO/IEC Moving Picture Experts Group (MPEG), на которых строится AVC/H.264. Нам, честным ламерам, подобное фанфаронство, уж простите, не к лицу. В нашем палисадике мы занимаемся суровой прагматикой жизни, посему озадачимся простыми вопросами: во-первых, зачем нужен очередной видеокодек, во-вторых – как его использовать?
Больше всего в истории с AVC/H.264 меня поразил факт его уже как четырехлетнего существования в суровом отрыве от потребительского мэйнстрима. Вернее – не в отрыве, а в непроявленности: втихаря AVC/H.264 давно и вовсю используется Министерством обороны США в качестве основного стандарта сжатия видеоданных, в спутниковом цифровом вещании, в трансляциях телевидения высокого разрешения, а также для кодирования видеороликов в культовом iPod’e, а вот преимущества AVC/H.264 для получения видеопотока максимально высокого качества на низких битрейтах мало известны широким народным массам, которые пребывают в наивной уверенности, что лучше DivX и XviD ничего на свете не существует.
Меж тем – еще как существует, причем на мобильных устройствах вроде КПК или Sony PSP преимущества AVC/H.264 над традиционным дуумвиратом (DivX и XviD) заметны невооруженным глазом. Там, где на динамически изменяемой картинке (мчится угнанный автомобиль, суровые люди отчаянно лепят друг другу моваши в ушные раковины) при потоке 750—800 кбит/с кодеки, основанные на компрессии MPEG4 Part 2 (DivX и XviD), рассыпаются мозаикой на цифровые квадратики, AVC/H.264, задействующий алгоритмы следующего поколения MPEG4 Part 10, выдает плавно переливающийся из кадра в кадр видеоряд.
Читателей, не доверяющих восторженному голубятнику, что говорится, «на глазок», отсылаю к результатам тестирования солидной «конторы в законе» Doom9.org: если начиная с 2003 года каждая новая версия кодека с открытым кодом XviD превосходит качеством коммерческий DivX, то уже с 2005 года AVC/H.264 обходит на вираже обоих.
Показательно, что размер видеофайла, сжатого AVC/H.264, нисколько не превышает размера DivX/ XviD, а единственной платой за улучшенное качество видеоряда служит значительное снижение скорости кодирования: в зависимости от сложности изображения – в два-три раза. Учитывая, впрочем, что кодированием честные люди занимаются безмятежными ночами, а не конвульсивными днями, овчинка выделки стоит.
После внесения ясности в «зачем», можно приступать к раскрытию «как». Здесь начинается самое интересное, поскольку кодировщиков много и приходится выбирать, а выбор, как известно, враг молодежи. Из пышного букета реализаций кодека AVC/H.264 можно выделить пятерку продвинутых и насущных (насущных, поскольку многие кодировщики сильно устарели, однако продолжают энергично проталкиваться на рынке). Это:
• некоммерческая версия x264;
• коммерческая NeroDigital AVC, встроенная в утилиту Nero Recode 2.5.2, доступную как отдельно, так и в пакете Nero Premium 7;
• не менее коммерческий «яблочный» QuickTime 7;
• Moonlight из OneCLick Compressor;
• Elecard, задействованный в Elecard Mobile Converter и MainConcept v2 Encoder.
Не забивая баки лишней информацией, можно сказать, что первых двух кодировщиков всем нам, честным ламерам, хватит за глаза, поскольку оба они поддерживают самые продвинутые фичи спецификации MPEG4 Part 10, а именно: компрессию CABAC, без потери качества снижающую битрейт на дополнительные 10–15 %, двухпроходную кодировку, фильтры разблокировки (так называемые Loop/Deblocking Filter), устраняющие артефакты на низких битрейтах, и прочую гоблинскую требуху, до которой, по гамбургскому счету, честным пацанам не должно быть дела. Главное, что на выходе мы получаем замечательного качества видео, которое непременно понравится всем, кроме разве что Антонелло, вынужденного компенсировать неполучение Нобелевской премии по литературе просмотром исключительно фильмов High Definition и музыки SACD.
Кодек x264, как и полагается бесплатным оборванцам, управляется через командную строку – обстоятельство, способное порадовать разве что теоретиков большого секса – из тех, кто вместо поездок в Крым годами ковыряется в гараже, растачивая кожуха и шмакодявя патрубки своим стальным коням. Не удивительно, что честным пацанам приходится применять GUI, внешнюю графическую оболочку. «Гуй» для x264 называется MeGUI, однако, похоже, и он заточен под адептов малакии: обилие настроек таково, что впору опрокинуться. Кто не верит, может полюбоваться скриншотами [1] и даже освоить программу в свободное от жизни время, вот только меня – увольте.
Единственно гуманный вариант кодирования видеофайлов в AVC/H.264 – NeroDigital AVC – утилита, дружественная ламерам и при этом нисколько не уступающая связке x264 + MeGUI по качеству продукта на выходе. Вот как это делается:
• В первом окне задаете фронт работ – перекодировка DVD и видео в Nero Digital (проприетарное название AVC/H.264), которая позволяет использовать в качестве исходника практически любой видеоматериал, либо перекодировка главного фильма в Nero Digital, при которой за бортом остается меню DVD-диска и шелуха пугательно-запретительных роликов. Обратите внимание на то, что первые три опции стартового окна программы (перекодировать весь DVD в DVD, перекодировать главный фильм в DVD и создать DVD) нас не должны интересовать – это простенькие операции авторинга, аналогичные тому, чем занимаются наши старые знакомцы DVDFab и CloneDVD [2].
• В основном окне программы вы нажимаете на кнопку «Импортировать файлы» и добавляете любое количество исходников (NeroDigital AVC самостоятельно анализирует структуру DVD-диска и выдает готовый список видеофрагментов). Затем определяете желаемый размер файла на выходе. Это можно делать либо по выпадающему списку «Размер носителя» (галочка установлена), либо вручную меняя положения движка на линейке (движок включается при отключенной галочке на «Размере носителя») [3].
• Настройку «Категория Nero Digital» оставляете без изменения по умолчанию – «Nero Digital AVC» (что соответствует кодеку AVC/H.264), профиль Nero Digital установите на «Standard – AVC», поскольку профили «Cinema AVC» (разрешение 1280х720) и «HDTV AVC» (1920х1080), как вы догадываетесь, надлежит использовать не для перекодирования DVD-диска, а для первичного кодирования непережатых исходников видеокамеры HDV.
• Нажимаете кнопку «Далее» и выбираете в левой панели «Установки Nero Digital». Единственное изменение в настройках по умолчанию, какое я рискнул бы рекомендовать, – переключите «Управление скоростью» с «Быстрого кодирования (1-проходное)" на «Высококачественное кодирование (2-проходное)" (опция «Управление скоростью»). Существенное увеличение времени кодирования будет компенсировано не менее существенным улучшением качества конечного результата. Все прочие настройки – «Максимальный диапазон векторов», «Свойства GOP», «Максимальные B-Frames», «CABAC», двунаправленный и взвешенный прогноз, разделы макроблока (по умолчанию – все включены), психовизуальные улучшения – бога ради! – оставьте без изменения.
• Жмете на «Запись» и записываете результаты кодирования в файл либо сразу прожигаете болванку.
Как говорят поганые работники рекламного бизнеса: «Вы будете приятно удивлены качеством нашей продукции». Фильмы, кодированные AVC/H.264, и в самом деле много лучше DivX и XviD.
Заключительный мазок – просмотр. AVC/H.264 замечательно играет и VLC Media Player, и «Гомик» (с предварительной доустановкой аудиокодека AAC), и, разумеется, «родной» Nero ShowTime из того же пакета Nero Premium 7. На КПК AVC/H.264 любит и уважает легендарный Core Player (TCPMP), на Sony PSP – разжеванный неделей раньше PMP MOD AVC 1.02. Короче, кодируйте и балдейте!