Gnash — свободный Flash-плеер в Linux

15 февраля 2012 года вышла новая версия Gnash — 0.8.10. Gnash — это мультимедийный плеер SWF-файлов, а говоря попросту — свободная альтернатива проприетарному Adobe Flash Player. Несмотря на наличие некоторых интересных изменений в changelog, последний релиз не представлял бы особого интереса, если бы не одно обстоятельство. Это обстоятельство не связано с Open Source-проектом напрямую: его источником служит непосредственный автор Flash — компания Adobe.

Напомню, что 22 февраля Adobe объявила (http://adobe.ly/xnBMM6) о фактическом прекращении поддержки своего «традиционного» Flash-плеера на платформе GNU/Linux. После выпуска Flash версии 11.2, единственной возможностью для Linux-пользователей продолжать работать с новыми релизами официального, «родного» Flash-плеера станет переход на веббраузер Chrome. В нём, благодаря активному содействию Google, Flash-плеер продолжит своё развитие в рамках реализации PPAPI («Pepper»).

Будучи постоянным пользователем Firefox уже на протяжении многих лет, я логично заинтересовался поддержкой Pepper-реализации Flash-плеера в любимом веб-браузере. Выяснилось, что официальная позиция Mozilla по этому вопросу однозначна: планов по поддержке Pepper нет и в ближайшее время не предвидится (https://bugzilla.mozilla.org/show bug.cgi?id=729481).

Если отбросить споры о нужности технологии Flash как таковой, то Gnash представляется главным претендентом на восполнение возникающего пробела…

Кратко о Gnash

Итак, несмотря на заметное повышение актуальности Gnash именно сейчас, этот проект справедливее отнести к ветеранам. Он берёт своё начало в gameswf, который разрабатывался с начала 21 века. Проект gameswf появился как библиотека для создания пользовательского интерфейса в компьютерных играх,но перестал обновляться с 2007 года. Сам Gnash был официально представлен в 2005 году и вплоть до 2010 года его развитие спонсировала компания Lulu.com.
Можно сказать, что этот проект был вроде спутника Флеша — его тенью: как чехол для телефона. Но потом он вышел из его тени и зажил своей мобильной и автономной жизнью.

Что важно и показательно в смысле востребованности проекта, даже после того, как его коммерческий спонсор ушёл, сообщество откликнулось на призыв о финансовой поддержке. И вот релизы Gnash исправно появляются до настоящего времени — причём «формальными» или незначительными эти релизы не назовёшь: проект продолжает качественно совершенствоваться. Кроме того, за время своего существования Gnash снискал поддержку «главной» организации в мире свободного программного обеспечения — FSF (Free Software Foundation).

Технически, Gnash написан на языке C++. Для рендеринга видео Gnash может использовать библиотеки OpenGL, Cairo или AGG (Anti-Grain Geometry). Среди доступных пользовательских интерфейсов выделяются версии для SDL, GTK+, KDE, а также framebuffer (только для AGG) и FLTK (поддержка объявлена устаревшей).

Проект Gnash — это не только плеер, а набор из следующих разработок:

> Gnash — Flash-плеер и и плагин для веб-браузеров;

> Cygnal — сервер мультимедийного (аудио и видео) вещания, совместимый с Flash Media Server;

> MusicML — XML-спецификация для хранения метаданных мультимедийного контента. Официально Gnash на сегодняшний день полностью поддерживает SWF v7, а взаимодействие с более современными форматами (v8, v9, v10) находится в процессе постоянного усовершенствования. В контексте поддержки языка программирования ActionScript официально заявляется о 80-процентной совместимости с версией 2.0 и «начальной» поддержке 3.0.

И наконец, Gnash является кроссплатформенным: он работает в таких операционных системах, как GNU/Linux, *BSD, Windows, Darwin (Mac OS X) и Haiku, а также некоторых других.

Установка

В моём случае инсталляция Gnash осуществлялась в Linux-дистрибутиве Ubuntu 11.10 как плагина для последней доступной версией Firefox (10.0.2).

«Традиционная» установка альтернативного Flash-плеера в этой операционной системе выглядит следующим образом:

$ sudo apt-get install browser-plugin-gnash

Интересно заметить, что в моей системе инсталляция Gnash привела к необходимости скачать и поставить 28 пакетов. Среди них можно увидеть и не совсем ожидаемые библиотеки вроде libmusicbrainz. Хотя неожиданными они выглядят лишь на первый взгляд — достаточно вспомнить про пресловутый MusicML.

Но вернёмся к Gnash: на самом деле, пакет browser-plugin-gnash на типовой Ubuntu имеет версию 0.8.10~git20110618-3ubuntu1, т.е. сборка 0.8.10 от лета прошлого года. Единственный на момент написания статьи репозиторий Ubuntu, имеющий в своём составе сборку стабильной версии Gnash 0.8.10 (https://launchpad.net/~dns/+archive/gnu), к сожалению, не помог: Firefox попросту «отказался» воспринимать устанавливаемую из него версию плеера. Поэтому далее в статье рассматривается уже упомянутый Gnash 0.8.10~git20110618-3ubuntu1 из стандартного репозитория Ubuntu 11.10.

Поскольку скорее всего вы до сих пор использовали «родной» Flash от Adobe, после установки пакета browser-plugin-gnash потребуется разобраться с Flash-плеерами в Firefox. Для этого зайдите в «Инструменты ^ Дополнения (или на клавиатуре: + + ) ^ Плагины». Здесь будет два Shockwave Flash: привычный от Adobe и появившийся Gnash. Выберите Flash 11.1 (тот, у которого нет приписки, что это на самом деле Gnash) и нажмите на «Отключить». Изменения вступают в силу даже без необходимости перезагрузить веб-браузер -возможно, понадобится только обновить страницу с Flash-содержимым.

Естественно, Gnash доступен и в стандартных репозиториях других популярных дистрибутивов — вы можете легко убедиться в этом. Архивы с исходниками проекта для самостоятельной сборки можно скачать с ftp://ftp.anu.ora/pub/anu/anash.

Тестирование

Gnash установлен — что же дальше? Самое время опробовать его в действии. Сразу оговорюсь, что под «тестированием» я здесь подразумеваю обывательское значение этого слова и соответствующий подход, а не профессиональное исследование функционирования программного обеспечения. В рамках проводимого тестирования Gnash применялся для воспроизведения Flash-файлов на популярных веб-ресурсах, посещаемых некими абстрактными «усреднёнными» пользователями.

В качестве первой «остановки» была выбрана официальная страница Adobe для тестирования Flash-плеера (http://www.adobe.com/shockwave/welcome).
Она оказалась не очень приветливой для альтернативной Flash-реализации и сообщила, что «для отображения этого содержимого требуется плагин». Впрочем, сложно сказать, что это удивило.

Если бегло оценить интернет в целом, то «Flash-ресурсом №1» по-прежнему можно считать YouTube (даже несмотря на его переход на HTML5). Просмотр десятка случайных роликов в разном качестве не вызвал никаких нареканий к процессу воспроизведения видео и аудио. Возник лишь один нюанс: некоторые ролики по умолчанию открывались не на всю выделенную под видео область страницы.

Какой-либо закономерности в проявлении этого бага я не заметил, но всё равно назвать его существенным не могу — тем более, что он легко «лечился», например, переключением в полноэкранный режим и возвращением обратно.

Следующей площадкой для тестирования стали Flash-игры в каталоге Яндекса (http://yaca. yandex.ru/yca/cat/Entertainment/Games/aame-play/Flashaames).

Результаты по запуску первого десятка игр таковы:

> 2 игры вообще не запустилась;
> у 1 игры загрузилась только заставка;

> у 1 игры наблюдались заметные баги.

Подводя итог по играм, можно сказать, что Gnash справился примерно на 65%.

Что дальше? Список из десяти лучших веб-сайтов, сделанных с использованием Flash, за нынешний (2012) год: http://www.ebizmba.com/articles/best-flash-sites. Пусть он и составлен далеко не самым авторитетным ресурсом, всё равно вполне подойдет, потому что меня интересует не объективность рейтинга, а сами сайты, активно использующие возможности современного Flash. Каковы результаты?

Всего 3 сайта из 9 (один из десяти был недоступен на момент проведения тестирования) оказались работоспособными. При этом один из них («Dave Werner’s Portfolio») — с заметными проблемами (задержки в работе и некорректное наложение разных аудиопотоков), а полноценное функционирование ещё одного («Moodstream» от Getty Images) осталось под вопросом (непонятно, по чьей вине всякое движение прекращалось на этапе «Contacting the server»). В общем, итоговый уровень можно оценить в 20%.

Прочие моменты:

> Популярнейшие Flash-игры в социальной сети «В Контакте» в Gnash запускаются очень плохо (чаще — вообще никак).

> С разнообразными Flash-баннерами на различных сайтах проблем замечено не было.

> Похоже, что известная проблема ввода кириллических символов в формы, реализованные на Flash, не решена в Gnash.

> Тестирование осуществлялось на мощном ноутбуке (Intel i7 2,7 ГГц, 8 Гб RAM), и особых жалоб на производительность Flash нет. Однако субъективная неприязнь к Flash в Linux из-за неожиданно возникающей огромной нагрузки на процессор, столь знакомая и по использованию «родного» плеера Adobe, никуда не пропала и с Gnash.

Альтернативы

У проекта Gnash есть альтернативы — тоже с открытым исходным кодом. Впрочем, единственная актуальная альтернатива на сегодня — это, пожалуй, Lightspark (http://liahtspark.aithub. com). Проект получил широкую огласку в прошлом году и снискал определённую популярность. Он тоже написан на C++, доступен для разных платформ (GNU/Linux, FreeBSD, Windows), имеет плагин для Firefox.
В Ubuntu его можно установить командой:

$ sudo apt-get install browser-plugin-lightspark

В сети есть очень разные отзывы о Lightspark: где-то говорят, что он лучше Gnash, а кто-то утверждает, что он не годится и в подмётки своему более популярному «коллеге» из мира Open Source. Лично моё знакомство с ним закончилось быстро — на неудачной попытке воспроизвести видеоролик на YouTube.

Другая популярная свободная реализация Flash-плеера — Swfdec (http://swfdec.freedesktop. ora) — не развивается и не поддерживается уже несколько лет. Её последний релиз (0.8.4) датируется далёким 21 декабря 2008 года.

Итоги

Gnash хорошо справляется с фундаментальной поддержкой Flash, но слишком часто пасует при столкновении с разработками, активно использующими современные возможности Flash. Если не считать энтузиастов, ратующих за полный переход на свободное ПО, то этот продукт можно рекомендовать нетребовательным пользователям, причем желательно с предварительной проверкой работоспособности необходимых Flash-приложений.

Послесловие

Несмотря на категоричность Mozilla в вопросах поддержки Flash-плеера в Firefox после выпуска «роковой» версии 11.2 от Adobe, уже появился поддерживаемый этой организацией проект Shumway (https://github.com/mozilla/shumway) — «основанный на HTML5 эксперимент по созданию эффективного рендерера SWF-файлов без потребности в помощи со стороны родного кода».

Остаётся открытым и вопрос о перспективности Flash в целом. Конечно, Adobe прикладывает максимум усилий для актуализации своей технологии, а поддержка Flash-плеера в Chrome означает его доступность на мобильной платформе Android, но лично мне кажется, что нынешние тенденции скорее говорят в пользу того, что Flash уйдёт на специализированную периферию. Впрочем, все иногда ошибаются. |eof

автор Дмитрий Шурупов


http://blog.wel.org.ua

работаю админом, прогером сеошнегом :)

Leave a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Загрузка...
Menu Title