
Веб в движении
Графика на сайте — это, конечно, хорошо, но иногда любой графики, даже с интерактивными элементами, бывает недостаточно. В каких именно случаях? Тогда, когда объекты, требующие представления, существуют не в статическом состоянии, а в движении.
Разумеется, любой движущийся объект можно представить в виде серии статических иллюстраций. При традиционных «бумажных» публикациях именно так и приходится делать. Но ведь не от хорошей же жизни... Так что в Интернет ни к чему копировать недостатки бумажных книг и статей, тем более, что существует достаточно широкий спектр инструментария для представления движения в Сети — как в форме реального видео, так и в виде анимации.
Анимация представляет собой частный случай компьютерной графики и создается зачастую теми же методами, тогда как видео — вещь достаточно специфическая.
Представление видеоматериалов как способ документации геологических объектов интересовало меня давно, с тех пор, как в моду вошел показ слайдов на докладах и защитах, от которого любого зрителя, как правило, неудержимо клонит в сон. Всякий раз думалось: лучше бы кино показали...
С появлением видеокамер и компьютеров это стало объективной реальностью. Конечно, геология — наука статичная и не является самым подходящим объектом для приложения кинематографического гения. Хотя, допустим, в тектонофизике видеозапись эксперимента с подобными материалами наверняка будет более информативной, чем серия неподвижных фотографий. А главное, видеозапись дает возможность продемонстрировать некий геологический объект с разных сторон и под разными углами.
Потому в данной главе я и решил написать о своих представлениях, касающихся обработки видеозаписей и их представления в Сети. Оговорюсь, что речь не идет о создании высокохудожественных (и даже высокодокументальных) произведений, а лишь о небольших клипах, демонстрирующих некие объекты или иллюстрирующих какие-либо процессы. Впрочем, все сказанное ниже применимо и к созданию семейного видеоархива, на чем, честно говоря, я и тренировался.
Все описанные далее программы работают под Windows (кроме специально оговоренных случаев). Некоторый видеоинструментарий для Linux также существует, но беден количественно и ограничен функционально.
Оцифровка
Итак, что же нужно для обработки и представления видеозаписей? Ну, во-первых, сама видеозапись. Это немаловажно, поскольку от мастерства оператора и качества аппаратуры зависит все остальное, но данного вопроса я касаться не буду. Таким образом, полагаем, что курица для супа (то бишь видеозапись) у нас уже есть. Требуется ввести ее в компьютер, иными словами — оцифровать, поскольку изначально запись на видеокассету производится в аналоговом режиме, (не рассматривая случай использования цифровых видеокамер).
Для этого применяются специальные устройства, именуемые платами видеозахвата изображения. Несколько лет назад это были либо профессиональные устройства стоимостью от 1000 долларов, либо низкокачественные изделия для любительских целей, которые, тем не менее, стоили не менее сотни долларов. О первых мы говорить не будем, ведь создание профессионального видеорепортажа или рекламного ролика, как было оговорено ранее, не наша задача. Любительские же устройства вскоре после их появления исчезли напрочь — видимо, за отсутствием достаточного спроса. Ведь компьютерное видео — спорт не только сильных, смелых и богатых, как прочие компьютерные технологии, но в первую очередь предназначено для людей, располагающих свободным временем.
Лишь год—полтора назад снова и в изобилии появились разнообразные устройства ввода видепоследовательностей по цене от 100 до 200 долларов. Они существуют в двух вариантах: как автономные платы расширения (обычно подключаемые к слоту PCI), так и комбинированные с видеокартами и (или) телетюнерами. Что выбрать?
Если собирается или покупается новый компьютер, то видеокарта с возможностью ввода (и, как правило, вывода) видеоизображения представляется более удачным решением, ведь последнюю функцию вы получаете как бы бесплатно. Так, видеокарты производства компании ASUS с TV In/Out, основанные на чипах Riva различных поколений, дороже своих собратьев без TV-компонентов долларов на 10—15. Сами по себе, как видеокарты, они изготовлены на достаточно высоком уровне и обладают вполне достаточным"для ваших целей качеством видеозахвата.
Если же компьютер и видеокарта уже имеются в вашем распоряжении, лучше выбрать автономное устройство, либо его комбинацию с телетюнером.
Лично я пользуюсь устройством под названием FlyVideo EZ. Это PCI-плата удивительно маленького размера, стоимостью (согласно данным годичной давности) около 100 долларов. Имеется вариант этой же платы с интегрированным телетюнером по цене вдвое дороже, а также в комплекте с камерой для видеоконференций. Кроме стандартного композитного входа она имеет разъем для подключения опциональной камеры, а также вход S-VHS. Оба последних, впрочем, я не использую. В комплекте с камерой поставляются две дискеты — с драйвером под Win95 и специальной программой видеозахвата. Карта соответствует стандарту Plug'n'Play, благодаря чему ее установка сложностей не вызывает.
О
программе расскажу чуть подробнее. В
целом она представляет собой не самое
удачное изобретение, но свои функции
при этом выполняет. При запуске данного
приложения в одном углу экрана
открывается синее окно без всяких
признаков управляющих элементов, а в
другом — панель управления. Что со всем
этим делать —. не вполне понятно. К
счастью, щелчок на окне правой клавишей
мыши позволяет придать ему более
привычный вид (рис. 17).
Программа позволяет:
• выбрать источник видеосигнала (1-й или 2-й композитный вход или вход S-VHS);
• определить тип источника (PAL, SECAM, NTSC);
• установить частоту кадров (по умолчанию — 15), цветность (вплоть до 32-битной) и размер видеоизображения (от 80x60 до 640x480);
• выбрать тип компрессии (или обойтись без оной);
• просмотреть полученную последовательность;
• и, наконец, записать ее в файл формата *.avi.
Перед записью проследите за наличием в вашем распоряжении достаточного количества дискового пространства, поскольку полноцветная видеозапись размером 320x240 точек и продолжительностью 10 секунд занимает около 4 Мбайт при компрессии по методу Cinepak, а объем некомпрессированного AVI-файла — больше во много раз. При недостаточной мощности процессора (ниже Р-Н или Celeron) дальнейшая работа с компрессированным видео превращается в сущее мучение. До последнего времени считалось, что для видеозаписи подходят только SCSI-диски; однако ныне IDE-диски обеспечивают запись с минимальным (визуально незаметным) выпадением кадров.
Обработка
Записав видеоданные на диск, можно приступить к их обработке. Тот, кто видел любительские видеозаписи, представляет, что это такое: длинное киноповествование с многочисленными повторами, полезной информации в котором — от силы пять процентов. Следовательно, необходим монтаж записи, то есть вырезание наиболее информативных фрагментов и склеивание их в единую последовательность.
Для этой цели предназначен ряд профессиональных программ видеомонтажа, наиболее известная из которых носит название Adobe Premiere (текущая версия — 5). Однако для наших целей все они представляются избыточными. Да и в освоении такие редакторы не очень просты, поэтому давайте попытаемся подобрать что-нибудь более пригодное для несложного монтажа видеозаписи.
До недавнего времени я пользовался программой Microsoft Video for Windows (версия первая и последняя), поставлявшейся в комплекте с одним из древних устройств видеозахвата. Программа проста в освоении и использовании, к тому же удовлетворяла все мои нехитрые потребности. Однако ныне она выглядит архаичной, поскольку написана еще под Windows 3.1. Более того, любителям законности следует помнить, что в принципе она — платная (по сию пору иногда продается по цене аж около 100 долларов).
В комплекте с платами видеозахвата иногда можно получить необходимое для работы программное обеспечение, позволяющее выполнить простенький монтаж. Однако плата Fly Video, о которой я говорил, к таковым не относится, ибо не позволяет даже считать уже записанный AVI-файл. Поэтому, приобретя данное устройство, я озаботился поисками в Сети чего-нибудь современного и, желательно, бесплатного.
К
ак
ни странно, такого почти не оказалось.
В длинном ряду MPEG-плееров
и кодеров, CD-проигрывателей
и т. п. мне удалось отыскать единственную
устроившую меня программу — Fast
Movie
Processor
версии 1.41 (рис. 18), изготовленную
некими Робертом Тиблиасом (Robert
Tibljas
— http://
www.bigfoot.com/~rapidi)
и Зелико НиколИком (Zeljko
Nikolic
— http://members.xoom.com/rapidi).
Это условно-бесплатная программа (бесплатная для некоммерческого использования, о чем нам напоминают при каждом запуске). Она позволяет, загрузив AVI-файл (или группу файлов), вырезать из него фрагменты и сшивать их в единую последовательность в произвольном порядке, вернее, определяемом списком входных файлов. Выделять можно как визуально, так и указывая номера начального и конечного кадров. Можно изменить размер целевого файла как выбором из фиксированных значений, так и произвольно, глубину цвета, тип компрессии и частоту кадров. После этого достаточно нажать кнопку Start — не проходит и нескольких минут, как новый файл видеопоследовательности готов. Скорость генерации, по сравнению с Video for Windows, почти на порядок выше, даже с применением компрессии. В общем, на мой взгляд, данное приложение — это именно то, что нужно для несложного монтажа.
Трансформация
Получив смонтированную видеопоследовательность (или последовательности), пора подумать, что делать с ними дальше. Если мы собираемся просматривать их с винчестера или записать на CD, можно не делать больше ничего. Однако вспомним, что видео мы готовили для демонстрации в Интернете, а AVI-файл с его огромными размерами — не самый подходящий, мягко говоря, стандарт для этих целей. Поэтому получившийся видеоряд необходимо трансформировать в какой-либо более соответствующий нашим задачам формат.
Таковых на сегодня насчитывается два: традиционный анимированный GIF, либо какой-либо специфический сетевой видеоформат. Из последних я практически имел дело только с RealVideo, о чем и расскажу чуть позже. Пока же — несколько слов о том, что именуется
GIF-анимация
Достоинства анимированного GIF заключаются, прежде всего, в его стандартности. Он поддерживается, не требуя установки дополнительных plug-in, практически любым броузером, а также не требует специфической серверной поддержки. К тому же подобный файл прост в изготовлении и редактировании, для чего служит ряд приложений, в том числе бесплатных и условно-бесплатных.
Примером такой программы является GIF Construction Set (GCS, рис. 19). Это условно-бесплатная программа (по завершении работы она настойчиво напоминает о необходимости заплатить разработчикам 20 долларов), которую можно скачать с сайта производителя (http://www. mindworkshop.com). В принципе, этот инструмент предназначен для создания анимированных последовательностей GIF-файлов, для чего в нем предусмотрен весьма удобный Wizard, позволяющий практически полностью автоматизировать данный процесс. Однако эти его функции лежат за пределами нашей темы. Интересно, что указанная программа имеет опцию Movie to GIF — специально для преобразования AVI-файлов в анимированную GIF-последовательность.
Для этого нужно только выбрать исходный AVI-файл, указать цветовую палитру целевого файла (стандартные 256 цветов Windows или универсальные 216 цветов), отметить, должна ли анимация быть непрерывной или нет, и нажать кнопку ОК. Несколько минут спустя мы получаем анимированный GIF-файл, каждый кадр которого (как и всю последовательность) можно редактировать обычными средствами: изменять цветность, применять суперкомпрессию, вырезать, удваивать или перетасовывать отдельные кадры.
Следует сказать, что GCS дописывает в файл некоторые комментарии; в частности, незарегистрированная версия — то, что данный файл изготовлен при помощи Unregistered Сору. Впрочем, от этой записи (как и от прочих ненужных комментариев) легко избавиться посредством специально предназначенной для этого программки — GifClean, которую можно найти на СофтЛист95 или на Freeware.ru. В чем же недостаток анимированного GIF? Во-первых, он принципиально ограничен 256 цветами, чего в некоторых случаях может оказаться недостаточно. Но самое главное - огромный размер получающихся файлов (что можно видеть из таблицы 4).
Таблица 4. Сравнение форматов представления видео в сети Интернет
Файл |
Последовательность из 80 кадров |
Последовательность из 82 кадров |
Исходный AVI |
11,8 Мбайт |
12,0 Мбайт |
Анимированный GIF |
2,6 Мбайт |
2,8 Мбайт |
RealVideo |
45 Кбайт |
43 Кбайт |
Поэтому для демонстрации видео в Сети, особенно при модемном доступе, лучше поискать что-нибудь другое. Например
RealVideo
В отличие от анимированного GIF, RealVideo — потоковый формат, то есть воспроизведение файла начинается до того момента, как он будет полностью передан на клиентский компьютер. Уже это делает его более выгодным в сетевых условиях. Кроме того, в RealVideo применяется весьма эффективный механизм компрессии, уменьшающий объем видеопоследовательности на многие порядки.
Единственный известный мне инструмент для работы с форматом RealVideo — это RealProducer фирмы Real Networks. На сайте упомянутой компании (http://www.real.com) эта программа представлена в нескольких вариантах, различающихся ценой и, вероятно, возможностями. В том числе один из вариантов — полностью бесплатный RealProducer G2.
Для его скачивания нужно пройти довольно нудную процедуру регистрации, после чего пользователю будет предложено полдюжины ftp-серверов на выбор (по опыту могу сказать, что лучше выбирать американские). Не все из этих серверов поддерживают докачку в случае разрыва соединения, а поскольку объем дистрибутива (самораспаковывающийся архив) составляет 3,2 Мбайт, при загрузке по модему могут возникнуть серьезные трудности.
Программа достаточно проста в обращении (рис. 20). Она позволяет считывать видеопоследовательности в форматах AVI и QuickTime (*.mov, *.qt), а также непосредственно оцифровывать видеозаписи с внешнего источника — платы видеозахвата или видеокамеры, подсоединенной через какой-либо внешний порт (вероятно, подразумеваются камеры с USB-интерфейсом, хотя специально это не оговорено).
Работа с существующим видеофайлом (как, впрочем, и захват видеопоследовательности) осуществляется посредством опционально отключаемого Wizard. Сначала программа предлагает выбрать файл для обработки (скажем, *.avi), затем можно ввести заголовок создаваемого файла и указание на его авторство. После этого предлагается выбрать, создаем ли мы видеоряд для специального сервера RealServer или веб-сервера общего назначения; далее следует указать скорость соединения (от модемного 28,8 кбит/с до корпоративной локальной сети) — она определяет качество целевой видеопоследовательности. Этому моменту следует уде лить некоторое внимание. Если мы устанавливаем скорость 28,8 Кбит/с, то качество целевой видеозаписи получается, мягко говоря, омерзительным. В то же время просмотр видео при скорости ниже 33 К — удовольствие сомнительное. При установке скорости соединения 56 К качество резко улучшается, вернее, становится существенно менее плохим. К тому же практика показывает, что при наличии модема 56 К и телефонной линии, поддерживающей протоколы Х2 или V.90, просмотр RealVideo вполне реален. Так что не следует ориентироваться на минимальную скорость соединения — пользователи в этом случае все равно вряд ли что-нибудь увидят.
Далее предлагается выбрать качество видео с точки зрения оптимизации именно видеопоследовательности или баланса между видео и аудио (программа позволяет работать также и со звуком). Затем определяется имя целевого файла — и готово: предлагается нажать кнопку Start для запуска процесса генерации RealVideo. Для клипа размером в сотню кадров это занимает считанные мгновения.
Получившийся rm-файл, однако, можно просмотреть только посредством RealPlayer G2 (рис. 21): более ранние его версии (включая 5) для этих целей не годятся. И включить его в html-файл обычными средствами тоже нельзя, требуется прибегнуть к встроенному средству RealProducer. Для чего вызывается соответствующий Wizard, предлагающий сначала определиться с именем rm-файла, затем — с методом воспроизведения (в окне броузера или посредством вызываемого в качестве всплывающего окна RealPlayer), указать набор управляющих элементов (только кнопки Stop и Play, стандартная панель управления, информационная панель и т. д.), здесь же необходимо отметить, требуется ли автостарт, и, наконец, дать заглавие html-страницы. После этого html-документу присваивается имя — и можно посмотреть preview. Все. Процедура закончена.
В html-файл в ходе данной процедуры встраивается код довольно устрашающего вида. Кроме того, вводятся многочисленные метаполя и комментарии, а также теги, соответствующие перечисленным вами элементам управления.
Однако разместить на вашем веб-сайте такой файл с помощью обычного ftp-клиента, возможно, не удастся. По крайней мере у меня это получалось далеко не всегда. То есть разместиться-то он, разумеется, размещался, но при вызове странички вместо проигрывания видео следовало сообщение об ошибочном адресе — что-нибудь вроде с://имя_директории/имя_rm-файла, то есть где-то в документе был указан полный путь к rm-файлу на локальном диске. Где — мне обнаружить так и не удалось. Впрочем, упомянутый эффект имеет место не на всех серверах. Вероятно, это какая-то сервернозависимая аномалия.
А посему, если размещение rm-файла у вас прошло неудачно, не отчаивайтесь: всегда можно воспользоваться опцией Publish Web Page самого RealProducer. Для этого необходимо выбрать размещаемый файл на локальном диске, затем указать тип сервера (например, Generic ► No Defaults или ► Any Standart Web Server), после чего заполнить параметры своего ftp-сервера и абсолютный путь до целевого файла на нем, включая всю структуру директорий и поддиректорий. Передача проходит безболезненно, но долго: ведь каждый файл приходится размещать отдельно; хорошо хоть введенные пользователем ftp-параметры сохраняются по завершении сессии... Все сказанное относилось к версии RealProducer для Windows. Справедливости ради следует сказать, что имеется Linux-реализация как инструментария, так и plug-in, имеющих статус бета-версии (с довольно часто меняющимися номерами редакций) и доступных бесплатно. Однако если некоторые из редакций RealPlayer и работоспособны, то RealProducer мне ни разу не удалось запустить, хотя устанавливался он из rpm-архива вроде бы корректно. Надеюсь, со временем положение исправится.