Проведенный в прошлом году на сайте iXBT.com конкурс NVIDIA CUDA выявил степень интереса потенциальных разработчиков к архитектуре неграфических вычислений на графическом процессоре. Действительно, редкий программист откажется от возможности испытать новый инструмент, особенно, если использование свежей технологии обещает значительный прирост качества и скорости работы.
Программы для работы с видео здесь особенно интересны по одной простой причине: именно обработка видео всегда требовала и требует немалых вычислительных мощностей. Именно поэтому на нас как из рога изобилия сыпятся все эти новшества: Adobe CS4 с поддержкой NVIDIA Quadro CX, работающий на CUDA vReveal, и, наконец, герой сегодняшнего обзора: программа SuperLoiLoScope MARS.
Воспользуемся наличием мощной видеокарты XFX GeForce GTX 285, и рассмотрим очередного номинанта на скоростную обработку видео (в процессе работы мы привлечём также и "старушку" NVIDIA GeForce 8600 GTS).
Обычно чем длиннее название программы — тем подозрительнее изделие. Только взгляните на количество системных компонентов, которые придётся скачать из Сети и установить для того, чтобы программа всё-таки заработала. Но дело не только в количестве этих компонентов, а также и в их объёме. Один лишь .NET Framework 3.5 SP1 "весит" 230 МБ.

Похоже, данная программа подойдёт лишь тому пользователю, который тщательно следит за всеми обновлениями и имеет в своей операционной системе самые последние версии всех библиотек и системных компонентов (честь и хвала таким заботливым хозяевам, ведь постоянные обновления никогда не приносят вреда).
Но и после установки всех, казалось бы, компонентов, и последующей перезагрузки, программе всё мало. Почему? Обратим внимание на подозрительно небольшой размер дистрибутива LoiLoScope: 600 килобайт (!). Ну конечно, такие фокусы нам давно знакомы — мизерная величина дистрибутива может означать лишь одно. А именно — новое обращение к родному серверу и скачивание необходимых файлов непосредственно в процессе установки.

Хорошо, хоть здесь установщик честно отобразил объём информации, подлежащий закачиванию.
Но вот программа и установлена. Обождите выдыхать: одной лишь установкой системных компонентов и даже самой программы наши сетевые похождения не оканчиваются. Оказывается, для того, чтобы программа смогла работать со всеми форматами видео, ей жизненно необходимы ещё парочка компонентов: QuickTime и CCCP (The Combined Community Codec Pack). Ссылки на их загрузку разработчик LoiLo предусмотрительно разместил непосредственно на странице программы.
Проверено (на "чистой", не замусоренной кодек-паками системе) — без установки этого CCCP программа не "понимает" видео, закодированное AVC. Импортировать — импортирует, но вместо видеокадра отображается лишь чёрный экран без звука.
Здесь мы прервёмся для короткого лирического отступления (впрочем, автору было не до лирики). Несмотря на то, что после установки кодек-пака CCCP программа заработала так, как нужно, автор в пылу вечного поиска ответа на своё "почему" решил не следовать заклинаниям разработчиков, и попробовать другой, более привычный набор кодеков: ffdshow. Ура! LoiLoScope работает, файлы AVC проигрываются! Следовательно, рекомендуемый разработчиками кодек-пак CCCP вовсе необязателен тем, кто по привычке ставит только ffdshow!
Не тут-то было... Видео, проигрываемое в окне программы, оказалось испещрено множеством мельтешащих "кирпичиков", хаотично отплясывавших камаринскую. Ай, незадача! Что-ж, удалим ffdshow, и вернём "правильный" CCCP — что тут сложного, казалось бы?
Но кирпичики по прежнему лихо прыгают в кадре. Ни тщательная чистка реестра на предмет оставшихся от ffdshow огрызков, ни даже восстановление (откат) системы до даты, предшествующей знакомству с LoiLoScope, не помогли. Положение спасла только переустановка операционной системы "начисто" с последующей установкой LoiLoScope + те самые перечисленные выше системные библиотеки и компоненты.
Но ведь парадокс-то здесь в том, что кодек-пак CCCP содержит... ffdshow, за счёт которого и ведется работа с AVC! По всей видимости, всё объясняется глубоко скрытыми настройками декодеров в разных версиях сборок ffdshow. Зачастую количество настроек прямо пропорционально количеству возможных неполадок. В особенности, если кто-то (даже сами разработчики ffdshow) активировал или деактивировал один из бесчисленных параметров в очередной сборке.
Вывод: почаще слушать и следовать советам разработчика.
Иной скорый пользователь давно бы уже плюнул на все эти прихоти, недоумённо покрутив головой, и забыл о существовании такой капризной и требовательной программы. Но наш исследовательский раж только ещё разгорается — дойдём до конца, каким бы он ни оказался!
При первом запуске программы перед нами предстаёт странного вида окно, чем-то напоминающее флэш-игру. Впрочем, и это мы уже проходили — похожим образом организован интерфейс в простеньком бесплатном видеоредакторе VideoThang. С той лишь разницей, что в LoiLoScope используются не флэш-технологии, а те самые компоненты .NET Framework, которые мы так долго и старательно скачивали и устанавливали. Впрочем, на этом различия и заканчиваются. LoiLoScope ведёт себя точно так же, как и любая грамотная флэш-разработка: плавающие интерактивные окна, выскакивающие анимированные инструменты.

Справочная система, вызываемая клавишей F1 либо нажатием пиктограммы с вопросительным знаком, полностью сетевая — то есть, вся отображаемая информация скачивается из Интернета, с сервера программы. Здесь даже присутствуют короткие видеоуроки, для их проигрывания в справочной системе используется плеер YouTube.
Сказать, что работа в программе необычна — это не сказать ничего. Игра, да и только. Просто находка для домашнего пользователя, мало представляющего себе работу в программах видеомонтажа (а желательно вовсе не видевшего этих программ). Автору,изучившему немалое количество различных видеоредакторов, понадобилось довольно много времени, чтобы понять структуру LoiLoScope — что и куда здесь нужно сдвинуть или нажать, чтобы, в конце концов, поместить объект на таймлинию. Да и где же здесь таймлиния, собственно? Где копилка проекта? Как организуются файлы, в каком порядке вести работу? Всё это можно было бы показать одним лишь простым видеороликом, захватив процесс работы непосредственно с экрана. Но таким образом не получится выстроить строгую цепочку, последовательность действий (да-да, в LoiLoScope присутствует логика!).
Итак, первое, что требуется — это импортировать в программу материал, подлежащий обработке. Видеоклипы, фотографии, звуковые файлы... Здесь отсутствует модуль импорта или захвата — готовые к обработке файлы попросту перетаскиваются мышью из проводника в окно LoiLoScope.

После этого программе понадобится некоторое время, чтобы проиндексировать каждый файл и отобразить миниатюры кадров. Миниатюры эти располагаются в том месте программного пространства, в которое вы их "бросили". По большому счёту, в LoiLoScope отсутствует ограничение такого пространства, окно программы можно растянуть хоть на несколько мониторов, а программные элементы, иконки файлов, корзину можно поместить в любое место этой площади, при этом они никоим образом не закрепляются и не имеют постоянного жестко зафиксированного положения.

Если вы вдруг потеряли какой-то объект — не отчаивайтесь, он на месте, просто вышел за границы отображаемой рабочей зоны. Не зря интерфейс LoiLoScope выполнен в виде космического пространства — тут всё на месте, нужно лишь найти (мы ничего не теряем, мы просто долго ищем). Покрутите колёсико мышки, сдвиньте "космос" в сторону (вверх, вниз, влево, вправо) — и вы обязательно увидите затерявшийся объект.

Следующим после импорта объектов шагом будет перенесение их на таймлинию. Сделать это можно как вручную, так и нажав правую кнопку мыши на иконке файла и двинув курсор в сторону появившейся пиктограммы с наименованием текущего проекта.

Таким образом можно раскидать весь материал по таймлинии в нужной последовательности, здесь же существует возможность провести подрезку файлов с начала или конца. Что характерно — если один ролик накладывается на другой, то программа автоматически создаёт в этом месте переход типа "растворение".

Рассмотрим, какими инструментами располагает эта таймлиния. Двойной щелчок по одному из клипов приводит его в боевую готовность: в окне просмотра клип обрамляется редактируемой рамкой, позволяющей изменить размеры кадра или повернуть его на произвольный угол.

К сожалению, работа с ключевыми точками здесь невозможна, такой инструмент в программе не предусмотрен.
Обрезка клипов производится как по отдельности, так и непосредственно на таймлинии. Для этого служат специальные метки, возникающие по краям выделенного клипа. Здесь же существует возможность и разделить клип на несколько частей, просто щёлкнув интерактивными ножницами на таймлинии.

Что касается эффектов и фильтров — их в программе совсем немного. Blur, добавляющий размытие; Brightness, позволяющий отрегулировать яркость и контраст кадра; ColorChange, с помощью которого изменяются цветовая насыщенность и тон; Deinterlace, устраняющий "эффект расчёски"; Edge, предназначенный для оконтуривания объектов, и, наконец, Threshold, задающий предел (порог) цветовой контрастности.
Ну а где же тут титры, столь необходимые для обозначения в фильме места, даты съемки или другого обозначения события? Эти инструменты скрыты в меню под кнопкой Art. Небогато — их всего два: обыкновенный текст и текст в рамке.

Щелчок по одной из кнопок создаст новый объект, который расположится где-то на рабочем пространстве. Найдите его (он где-то тут, в космосе) и дважды щёлкните по нему. В левой части открывшегося модуля настройки объекта присутствуют инструменты для изменения внешнего вида рисунка путём выбора нужного шаблона, инструменты для настройки шрифта и тени.
После того, как объект отредактирован, его тем же образом — перетаскиванием — следует добавить на таймлинию, поместив в нужное место. При этом следует помнить о взаимном расположении объектов на таймлинии: титры должны всегда находиться над видео, но никак не наоборот.

Ну хорошо, основные инструменты мы рассмотрели, так при чём же здесь CUDA, с которой мы начинали разговор? А секрет прост: программа в своей работе активно задействует именно графический процессор вашей видеокарты посредством технологии CUDA.
Как оправдать наличие остросовременной и многообещающей технологии в программке явно любительского уровня? Для чего она тут нужна? Ответ — в настройках программы.

Как видим, процессор видеокарты работает здесь в качестве ускорителя, облегчащего просмотр во время работы. Программа ещё и предупреждает о возможных сбоях, напоминая о необходимости обновить драйвер видеокарты.
Кстати, приглядитесь к этому сообщению. Что за оговорку мы видим? Среди поддерживаемых версий драйверов вдруг — ни с того, ни с сего — появляется AMD RadeonHD! Позвольте, но ведь графические чипы AMD не работают с CUDA! Разгадку можно прочесть на сайте программы, она кроется в минимальных рекомендуемых требованиях для установки LoiLoScope:
- GPU : Video card that supports PixelShader2.0 and above. /GeForce 6~ /Radeon 9600~ /Intel 945~.
Попытаемся резюмировать: в качестве минимальных системных требований данной программе требуется видеокарта, поддерживающая PixelShader2.0. Однако, если вы хотите иметь ускорение процессов кодирования и декодирования, здесь потребуется поддержка технологии CUDA, которая реализована только в графике NVIDIA.
Одним только разработчикам известны хитрости, к которым они прибегли. В любом случае работа в программе напоминает игру не только благодаря занимательному живому интерфейсу, но и отсутствием извечных проблем с нехваткой ресурсов, хорошо знакомых каждому, имевшему дело с редактированием "тяжелого" AVCHD. Посмотрим, как лихо LoiLoScope справляется с плавным проигрыванием таймлинии, на которой расположен AVCHD клип, добавлены титры, а ко всему прочему во время проигрывания к клипу применяются некоторые эффекты. Заметьте — всё это происходит на лету, без какого-то бы ни было предварительного просчёта.
Здесь можно заметить, как LoiLoScope в некоторые моменты чуть притормаживает проигрывание — это объясняется тем, что центральный процессор и видеосистема во время работы были заняты ещё и захватом данного клипа.
Теперь расскажем о завершающей стадии работы: выводе готового проекта. В программе существует три варианта: Save Movie to file (создание видеофайла), Upload on YouTube (просчёт и загрузка на известный видеосервис), и Export movie for devices (создание видеофайлов для загрузки их на мобильные устройства).

Рассмотрим каждый из пунктов по отдельности. Вывод в файл предполагает создание нескольких типов видеофайлов. Похоже, наше предположение о том, что CUDA в программе работает во время просчёта, начинает сбываться — видите, в списке присутствуют два варианта вывода в .MP4.
Первый вариант с пометкой CPU подойдёт тем, у кого в наличии не имеется подходящей видеокарты, поддерживающей CUDA. Альтернативой ему служит способ просчёта силами графического процессора — а это уже для владельцев видеокарт NVIDIA GeForce 8-й серии и выше.
Кодирование для закачки видео на YuoTube выполняется с помощью CUDA, о чем предупреждает соответствующий логотип.
Просчёт видео в форматы, поддерживаемые различными мобильными устройствами, также выполняется силами графического процессора NVIDIA.
Настала пора испытаний. По традиции — никакой "синтетики"! Мы проведём сравнительные замеры скорости кодирования с помощью двух разных видеокарт NVIDIA, упоминавшихся выше. Довольно любопытно будет сравнить, насколько новая и мощная XFX GeForce GTX 285 обгонит "древнюю" GeForce 8600 GTS.
Для этого создадим в программе несложный четырехминутный проект, состоящий из нескольких AVCHD-файлов. К некоторым файлам применены фильтры — просто для того, чтобы занять графический процессор чем-то ещё, кроме собственно кодирования.
Итак, видим, что видеокарта GeForce 8600 GTS занималась просчётом и выводом файла 11 минут и 40 секунд. Намного более мощная видеокарта GeForce GTX 285 потратила на эту же работу гораздо меньше времени — 4 минуты и 10 секунд. Почти в три раза быстрее, что немаловажно для заваленных работой видеомонтажёров.
Стоимость программы составляет $69 — признаться, довольно высокая цена за такой откровенно любительский софт. Но ещё злее и кусачее выглядят ограничения, накладываемые на trial-версию LoiLoScope:
- максимальный размер кадра .mp4 при экспорте — 320x240;
- максимальный размер кадра для .mp4, закачиваемого на YouTube — 640x360;
- отсутствие звука при экспорте с использованием CUDA.
Трудно не согласиться: любая новинка всегда обходится дороже. Особенно, если новинка эта ещё и пользу приносит. Ощутимую, а не для галочки.