ИД "Мой компьютер"   "Игроград"   "Реальность фантастики"   Ассамблея "Портал"
Сделать стартовой   

 
Домашняя страница
Расширенный поиск
E-mail

 

N 16 (447)




МОЙ КОМПЬЮТЕР




  Новости:

 
МК
Украина
Игры
Интернет
Железо
Софт
Пресс-релизы

  Статьи:

 
Уголок читателя
Прочее
Имеющий уши
Программирование
Интернет
Железо
Софт
Игры


 
КОНКУРСЫ



Правила конкурсов

Конкурс "АВЧ"

Рейтинг победителей


ОПРОС

Вы посещаете нас:
первый раз
1-2 раза в месяц
1-2 раза в неделю
1-2 раза в день
более 2-х раз в день Что привело Вас к нам?
поиск информации
интерес к статьям
интерес к новостям
любопытство
реклама
другое








боулинг

ads.mycomputer.ua

ads.mycomputer.ua

ads.mycomputer.ua

ads.mycomputer.ua

ads.mycomputer.ua




Интернет-магазин мебели Украина
Аудио-видео техника - интернет-магазин электроники Техника Быта.
продажа квартир в новостройках



Argumentum ad ignorantiam!

 

статьи
Софт

ads.mycomputer.ua

 

На правах рекламы  
Прочее  
Свободная ВаRя  
Не windows  
Windows  
Графика  
Развлечения  
Интернет  
Утилиты  
Офис  




    Не windows


Мультимедия без Макромедии?

Сергей ЯРЕМЧУК
N 50 (429) 08.12.2006


Технологии интерактивной web-анимации, основанной на Flash, появившись, быстро завоевали популярность у дизайнеров. Разработка компании Macromedia объединила в себе множество различных решений в области мультимедийного представления информации. При сравнительно небольшом размере Flash позволяет использовать звуковые и графические эффекты, а также различные средства диннамизации сайтов. Наиболее популярным инструментом разработки является Macromedia Flash, но при всех его достоинствах у него есть один существенный недостаток — цена. Впрочем, на сегодняшний день в операционной системе Linux доступно множество инструментов, позволяющих работать с Flash и при этом не слишком отягощающих бюджет. Сегодня мы познакомимся с самым популярным из них.

В пакет SWFTools (www.swftools.org) входит несколько утилит, с помощью которых можно создавать и изменять готовые Flash-файлы. Доступны версии для нескольких операционных систем: Solaris, Linux, FreeBSD, OpenBSD, HP–UX, MacOS X и Windows 98/ME/2000/XP. Распространяется под лицензией GNU GPL.

Установка обычно происходит без проблем. Например, пользователи дистрибутива ALTLinux могут установить swftools из Сизифа, используя apt-get.

К сожалению, в репозитарии Ubuntu этого пакета нет. Поэтому возможны два варианта: взять пакеты с родственного Debian — www.mediasitomo.com/swft-dev/, либо же установить программу самому, используя исходные тексты.

Мы пойдем вторым, наиболее верным путем. Чтобы получить максимум возможностей, желательно первоначально установить следующие библиотеки:

freetype — www.freetype.org;

t1lib — ftp://sunsite.unc.edu/pub/linux/libs/graphics/;

jpeglib — www.ijg.org/files/jpegsrc.v6b.tar.gz;

avifile — avifile.sourceforge.net.

В дистрибутиве Kubuntu, которым я пользуюсь, эти библиотеки по умолчанию не устанавливаются. Самый простой способ узнать, есть ли у вас все это — распаковать архив с swftools, зайти внутрь каталога и дать команду на конфигурирование. В конце скрипт выдаст информацию о недостающих библиотеках:

Этот вывод показывает, что будут скомпилированы не все утилиты. Но это легко исправить, благо в репозитарии Kubuntu все эти библиотеки есть. Чтобы их установить, даем следующую команду.

И снова проведите конфигурацию swftools. После установки в системе появится 13 новых утилит. Познакомимся с ними.

Конвертеры форматов

Это наиболее многочисленная категория утилит, входящая в комплект swftools. При помощи любой из этих семи утилит можно преобразовать файлы определенных форматов в SWF (small web format). Рассмотрим их по порядку. Начнем, пожалуй, с преобразования графических файлов.

Например, получим SWF из PNG-файлов, находящихся в текущем каталоге; в результирующем файле каждый фрейм будет соответствовать одному исходному файлу.

В качестве дополнительных параметров можно использовать сжатие (--zlib), уменьшив размер результирующего файла до 10%, также можно определить размеры окна (-X и -Y), а при помощи –rate — количество кадров в секунду (цифра в диапазоне от 1 до 256). При этом цифры должны подбираться с учетом формулы 1/значение, т.е. чем меньше указанное число, тем больше будет выставлен интервал времени, либо размер кадра.

Аналогичные опции имеет утилита gif2swf, позволяющая проделать то же самое и с GIF-файлами.

Утилита для работы с JPEG-файлами jpeg2swf имеет еще две дополнительные опции: --mx — для использования Flash-MX-H.263 компрессию, и --quality, определяющую качество в диапазоне от 1 (хуже) до 100 (лучше). В остальном все так же.

Идем далее. Например, у нас есть PDF-документ, необходимо получить Flash-файл для представления в Интернет. Без проблем.

В итоге получится SWF-файл, при просмотре которого в web-браузере будут показаны периодически сменяющие друг друга страницы документа. Если не указать имя выходного файла, результат будет выведен в stdout, в случае использования swftools для генерирования графики на web-сервере может быть полезна опция -C или –cgi, генерирующая дополнительный http-заголовок.

В большинстве случаев весь документ не нужен, поэтому, использовав опцию --pages, можно указать необходимые страницы документа. Например, конвертируем только 1, 2 и страницы с 5 по 10:

А вот так можно получить SWF-файл из файла шрифтов:

Поддерживаются все распространенные форматы шрифтов: TTF, AFM, PFA, PFB и другие. К сожалению, невозможно указать кодировку, поэтому в результирующем файле локализованные шрифты выводятся неправильно ( рис. 1).

Рисунок 1.

Переходим к следующей утилите wav2swf; как понятно из названия, ее назначение — получение SWF из звукового файла в формате WAV. Для кодирования используется кодек LAME. В общем случае вызов утилиты прост:

В результате в текущем каталоге появится файл output.swf, при запуске которого будет воспроизводиться звук. При помощи дополнительных опций можно изменить битрейт (--bitrate), который по умолчанию составляет 32, частоту дискретизации (--samplerate), определить временные рамки повторяющегося фрагмента (--loop) и т.п.

И наконец, последний конвертер — avi2swf, позволяющий преобразовать AVI-файл в SWF, для кодирования будет использован кодек h.263.

Вызывается утилита аналогично предыдущим:

Теперь, чтобы уменьшить размер конечного файла, изменим коэффициент качества с 80 (это значение используется по умолчанию) до 40, а также размер — 40% от оригинального, при этом кодируем только первые 50 фреймов вместо всего файла.

Все просто. Но мы идем дальше.

Извлекаем информацию из Flash-файла.

Самой простой из утилит является swfstrings, назначение которой — извлечение текста из SWF-файла. Вызов предельно лаконичен:

В результате на экран будет выведен текст, содержащийся в файле; вероятно, вывод лучше всего перенаправить в другой файл:

Другая утилита — swfexstract — умеет куда больше: извлекать все объекты, содержащиеся в SWF-файле, клипы, отдельные фреймы, шрифты и звук. Если вызвать ее без параметров, пользователь получит список объектов, содержащихся в файле:

Обратите внимание на буквы в квадратных скобках, выводящиеся в начале каждой строки. Это опции, с помощью которых можно извлечь указанный объект. Например, нам нужен звук:

Как видите, все просто. Возможен вывод и в WAV-файл, но это условие необходимо обязательно оговаривать — опция -о. Теперь изображения, исключая пустые фреймы:

В результате в текущем каталоге появятся файлы вида pic17.png, pic23.png и т.п. А вот так можно извлечь отдельный видеофрейм:

Либо так:

Теперь следующая утилита — swfdump, назначение которой — вывод информации о SWF-файле. Для вывода всей служебной информации воспользуемся следующей командой:

Утилита swfdump имеет еще одну ценную опцию, позволяющую генерировать готовый HTML-код:

Кроме того, используя параметр --text утилиты swfdump, можно извлечь текстовые поля Flash-файла (в этом она подобна swfstrings):

Манипулирование данными

ВУ этой рубрике всего одна утилита — swfbbox, при помощи которой можно пересчитать параметры SWF-файла и в результате сделать его меньшим по размеру. Параметры файла можно получить, запустив утилиту без параметра:

Теперь попробуем оптимизировать его при помощи опции –О:

Хотя, признаться, мне редко удавалось оптимизировать файл больше, чем на 1%.

Результат оптимизации можно получить, использовав параметр –S:

Объединение Flash-файлов

Итак, с помощью утилит, о которых было рассказано выше, можно перекодировать файлы в SFW из разных форматов, оптимизировать, извлечь служебную информацию. Теперь осталось только объединить результат. Как раз для этого и предназначена утилита swfcombine, которая позволяет соединить два или более SWF-файла в один. Один из файлов обязательно должен быть определен как «master», остальные подключаются по мере необходимости как «slaves». Кроме того, с помощью swfcombine можно сжимать либо разжимать SWF-файлы, если же используется один файл, необходима опция –d (--dummy), подразумевающая, что slave-файл не требуется. Сжимаем:

Разжимаем:

Теперь соединяем два файла вместе. Например, у нас есть файл с изображениями, теперь наложим еще звук, и файл готов:

Если количество slave-файлов велико, то их можно объединить:

С помощью дополнительных опций можно определить масштабирование (--scale) результирующего файла, количество кадров в секунду (--rate).

И наконец, последняя утилита — swfc, при помощи которой можно скомпилировать SC-скрипт в готовый Flash-файл. Здесь все просто: берем подготовленный файл и вводим следующую команду (в подкаталоге doc лежит готовый пример скрипта):

* * *

Итак, инструменты, входящие в состав пакета SWFTools, позволяют выполнить большую часть операций по работе с файлами формата Flash. Большая часть опций унифицирована, а значит, пара-тройка экспериментов — и вы уже полностью освоите работу с любой из этих утилит.

Viva OpenSource!

ads.mycomputer.ua






Расширенный поиск 
 

О проекте  Рекламодателям  Карта сайта  Контакт  Обратная связь 

© ИД "Мой компьютер"®, 1998-2004