Библиотека сайта rus-linux.net
Gnash: заслужено ли такое название?
Англ. "gnash" - "скрежетать зубами"
Оригинал: Making Gnash: a well-deserved name?
Автор: Mitch Meyran
Дата: 2 июля 2007
Перевод А.Тарасова, дата перевода: 28 июля 2007
Gnash - это альтернатива Adobe Flash Player от Free Software Foundation. Версия 0.8 является третьим альфа-релизом, но уже сейчас выглядит впечатляюще. Также это один из первых проектов, выпущенных под лицензией GPLv3.
О программе Gnash
Немного истории
Gnash основана на GameSWF, реализации Macromedia/Adobe Flash версии 7, с некоторыми функциями из 8 и 9 версий. На данный момент это самая продвинутая из свободных реализаций Flash. Другой важной деталью является то, что программа действительно работает.Недавно вышел GNASH 0.8. Официально - это третий альфа-релиз проигрывателя GNU Flash. Чем он примечателен:
- поддержка x86-систем (как 32- так и 64-битных), PowerPC и других.
- имеются расширения для Mozilla и Konqueror (они согласуются со спецификацией расширений Netscape, поэтому эти расширения должны работать и с другими совместимыми браузерами)
- в этой версии появился встроенный отладчик, вы можете видеть его вывод, используя ключ
-v
при автономном запуске - OpenGL предпочитаем для отрисовки, имеется поддержка аппаратного ускорения
- полная поддержка функций Flash от 1 до 7, и многое из Flash 8.5 (фактически Flash 9)
Обзор версии Gnash 0.8 (альфа 3)
Что нового было добавлено после версии Gnash 0.7.2 (альфа 2):- может быть скомпилирован с поддержкой ffmpeg+SDL
- лучшая совместимость с методами Flash 8.5 (или Flash 9)
- Cygnal: медиа-сервер, работающий с Flash-потоками
Кроме шуток, на сегодня Gnash - лучший проигрыватель Flash не от Adobe. Этот факт в паре с предварительным открытием Adobe Flash (Adobe уже сделали свободной виртуальную машину ActiveScript Virtual Machine 2.0, теперь она находится под покровительством Mozilla, и будет реализацией стандарта ECMAScript; финальная версия системы планируется в Firefox 4.0) явно пойдет на пользу технологии Flash, так как Microsoft серьезно нацелена на захват рынка векторной Web-графики с помощью своего Silverlight.
Рисунок 1. Просмотр Mozinor 007 в YouTube на 64-битном Firefox, мультфильм Sambakza Cake Dance на автономном проигрывателе, информация о версии в окне терминала. Gnash скомпилирован с поддержкой OpenGL и Gtk
Что требуется для установки
Достать исходники
Вы можете загрузить свежие исходники Gnash здесь, либо, если вам нужны самые последние изменения, извлечь их из CVS:# export CVS_RSH="ssh" # cvs -z3 -d:pserver:anonymous@cvs.sv.gnu.org:/sources/gnash # co gnashВ этом случае вам придется самому создавать
./configure
. В этой статье это рассмотрено не будет.
Удовлетворить зависимости
Для сборки требуются следующие библиотеки и заголовочные файлы (может потребоваться больше, это лишь те, которых я недосчитался на своей машине при установке); для полной уверенности, запустите./configure
и посмотрите на вывод, отсутствующие или неправильные зависимости будут явно отображены.
Самые важные зависимости:
- boost 1.32+ - существенно, так как Gnash основан на Boost
- файлы разработки медиа-декодеров: ffmpeg + SDL 1.2 либо libMAD
- файлы разработки отрисовщика: OpenGL, AGG (2.4+) или Cairo
- связка ffmpeg+SDL может декодировать как звук (mp3), так и видео (flv, On2) в Flash-ролике
- libMAD декодирует лишь звук (в формате MP3 и других форматах), и поэтому легче
- OpenGL - отрисовщик по умолчанию, включена поддержка аппаратного ускорения (при этом процессор мало нагружается) - требует SDL
- AGG сугубо программный, но более правильный (идеален для авторинга и тестов, но больше грузит процессор) - может использовать SDL или FLTK
- Cairo может быть как программным, так и аппаратным. Однако его поддержка еще слаба. Полезно при интеграции Gnash в Cairo-приложения
- Gtk - если вы используете Cairo, это лучший выбор.
- GtkGlExt - если вы хотите использовать OpenGL с Gtk. Если вы собираете Gnash с поддержкой AGG или Cairo, это не нужно.
- SDL - рекомендуется для лучшей поддержки звука (хотя не является лучшим выбором)
- FLTK - Fast Light ToolKit для отрисовщиков Cairo и AGG
- KDE - может быть использован вместо Gtk, требуется для расширения Konqueror
- libxml wxGtkwidgets
- atk
- JPEG
- Glib
- curl
- pango
- libcurl
- dejagnu (для отладки)
- Ming (для набора тестов)
- MTASC (для набора тестов)
- swfmill (для набора тестов)
# ./configure --disable-debugger --enable-media=ffmpegИз-за того, что моя система Mandriva 64-битная, при компиляции появилась ошибка, касающаяся двойной установки 32/64-битной OpenGL. Поэтому сначала я попробовал указать скрипту на
/usr/lib64
:
--with-opengl-lib=/usr/lib64но безуспешно. Затем я попробовал
LDFLAGS="-L/usr/lib64"что явно указывает линковщику ld искать библиотеки в /usr/lib. Это тоже не сработало.
Поэтому я переместил эти мешающиеся файлы и перезапустил скрипт, он продолжился с того места, где произошла ошибка.
После завершения конфигурирования следующий шаг - сборка Gnash. Просто командуем make
. Сборка занимает некоторое время и зависит от мощности компьютера. Если вы хотите также собрать тестовый набор, командуйте make test
. Рекомендуется включить отладчик. После завершения компиляции введите make install
от имени root.
Скорее всего установка поместит расширение для Firefox в неверное место (например, каталог Firefox пользователя root); возможно, вам потребуется переместить его в другое место, чтобы все пользователи системы могли использовать это расширение. Лично я поместил его в /usr/lib64/mozilla/plugins
.
Заключение
Радуйтесь, владельцы AMD64 и PPC! Если от перехода на GNU/Linux вас удерживала необходимость ежедневного просмотра YouTube, теперь препятствия нет.Ссылки