LINUX.ORG.RU

FreshPlayerPlugin — PepperFlash в Firefox

 , , , , ppapi


55

41

Flash плеер всё заменяют и заменяют, но никак не заменят полностью. Новые и сверхновые фичи браузеров это замечательно, но Flash бывает всё ещё нужен. К сожалению, доступная NPAPI браузерам версия застыла на 11.2, а новые версии выходят только в составе Chrome. Поэтому я делаю адаптер, который сможет быть посредником между PPAPI плагином и NPAPI браузером. Это такая штука, которая позволит использовать свежий Flash в Firefox, Opera и других браузерах, в которых работают плагины.

https://github.com/i-rinat/freshplayerplugin

★★★★★

Последнее исправление: i-rinat (всего исправлений: 6)

Ответ на: комментарий от Deleted

Собирал по инструкции с гитхаба: cmake, потом make.

Попробуй почистить директорию build (или ту, в которой собирал). libconfig добавился недавно, и есть шанс, что ты конфигурировал до этого. У CMake есть трудности с переконфигурированием, могут проявляться глюки. Лучше его запускать в чистой директории.

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

Да, об этих.

Но у меня нет панели управления, черная полоса :(
Может, надо поудалять папки от адобовского флеша: .adobe и .macromedia, не знаю.
Завтра уже гляну, глаза слипаются.

Gonzo ★★★★★
()

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

З.Ы. Когда первый раз пробовал плагин - панель управления была, точно помню. И Settings были, помню, еще тут отписался, что галочка не убирается с «хардварного ускорения».

Gonzo ★★★★★
()
Последнее исправление: Gonzo (всего исправлений: 3)
Ответ на: комментарий от i-rinat

Возможно. Желательно его отключать как-то. Поигрался с конфигом и параметрами flash_command_line, не помогло.

Gonzo ★★★★★
()

Извиняюсь за вопрос, оно через пульс работает?
Тред зело здоровый.
И вообще работает? Судя по последним сообщениям что-то уже да.

hbars ★★★★★
()
Ответ на: комментарий от hbars

оно через пульс работает?

Оно работает через ALSA, но без низкоуровневого доступа. PulseAudio подхватывает звук через соответствующий плагин. Если звук будет заикаться, попробуй в ~/.config/freshwrapper.conf увеличить минимальный размер буфера звука. Пример файла есть в репозитории в /data.

И вообще работает?

Зависит от определения понятия «работает». Например, видео с youtube'а играет, в некоторые флеш-игрушки я успешно поиграл, а вот copy-paste не работает.

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

Тиринг это такая неуловимая штука,

То да.

Возьми из git'а версию посвежее, там должно появиться «accelerated rendering»

Да, появился.
А accelerated decoding в принципе возможен ?

Myp3ik ★★
()
Ответ на: комментарий от i-rinat

Но еще не реализован, как я понял.
Ну удачи тебе и терпения, чо ;) Пили и не забрасывай.

Myp3ik ★★
()
Последнее исправление: Myp3ik (всего исправлений: 1)
Ответ на: комментарий от i-rinat

Зависит от определения понятия «работает». Например, видео с youtube'а играет, в некоторые флеш-игрушки я успешно поиграл, а вот copy-paste не работает.

Понято. Гуд. copy-paste никогда не пользовался и было не нужно.

hbars ★★★★★
()

Собрал из aur. Всё отлично, только вот в полноэкранном режиме на ютубе изображние иногда чернеет или мерцает. А так всё супер, спасибо за наводку!

DevilStar
()

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

Gonzo ★★★★★
()
Ответ на: комментарий от hbars

там все настроено как надо ) может еще крутить транзистор на колонке? это не есть гуд, панель управления была, она просто куда-то пропала в новых версиях...

Gonzo ★★★★★
()
Ответ на: комментарий от Gonzo

В адобе всегда успеваю прикрутить громкость еще до загрузки самого ролика.

Так ты имел в виду полосу снизу, где регуляторы громкости, прокрутка и кнопки перехода в полноэкранный режим? Она что, вся чёрная?

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

ну дык да!) панель управления. Я думал, ты понял )

З.Ы. если чем-то могу помочь, стрейсами там хз, то без проблем, только скажи, что именно делать и как, я нуб в этом.

З.Ы.Ы. дело в том, что она была, когда я первый раз скомпилил твой плагин.

Gonzo ★★★★★
()
Последнее исправление: Gonzo (всего исправлений: 3)
Ответ на: комментарий от Gonzo

Мда, значит с 3d всё печально. Хотя у меня работает. Но там всё равно нужно под EGL переделывать, так что сейчас что-то пробовать смысла нет.

i-rinat ★★★★★
() автор топика
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от i-rinat

Дык вот и странно, что у тебя все работает. Вероятно, у меня в системе чего-то не хватает. Ну ок, тебе виднее, надо его пилить или нет.

Gonzo ★★★★★
()
Ответ на: комментарий от i-rinat

Спасибо, исправил. Дошли руки, потому что экзамены наконец все сдал.

Кстати спасибо, вот эти 5 дней здорово прошли для плагина. Ютуб теперь показывает 14-ый флеш. Единственное что бывает, ютуб просто тупо виснет или крашится, и то редко. :)

a1batross ★★★★★
()
Последнее исправление: a1batross (всего исправлений: 2)
Ответ на: комментарий от Gonzo

может еще крутить транзистор на колонке?

Я транзистор на наушниках кручу...
Или в трее громкость...

Никогда, честно говоря, не пользовался регуляторами громкости внутри приложений, кроме как если их несколько (чтобы можно было, например, установить соотношение громкости фоновой музыки к громкости эффектов).

proud_anon ★★★★★
()

Ура, вернулась панель управления! :)
А в зависимостях новый пакетик: libevent-dev.

Итого, для Дебиана выходит: pkg-config libasound2-dev libglib2.0-dev libx11-dev libgl1-mesa-dev libglu1-mesa-dev liburiparser-dev libcairo2-dev libpango1.0-dev libfreetype6-dev libgtk2.0-dev libconfig-dev libevent-dev

Gonzo ★★★★★
()

Кстати, на рабочей машине с предыдущим стабильным Debian Squeeze в адобовском флеше тоже подвисает картинка при ПКМ на видео.
На домашней с текущим стабильным Debian Wheezy такого не было.

Просто для инфо.

Gonzo ★★★★★
()
Последнее исправление: Gonzo (всего исправлений: 1)
Ответ на: комментарий от Gonzo

Ура, вернулась панель управления!

Я отключил 3d.

i-rinat ★★★★★
() автор топика

У меня с последним обновлением вообще всё перестало работать, постоянные перезапуски plugin-container, куда можно посмотреть для логов?

dinn ★★★★★
()

я, наверное, чего-то не понимаю, но зачем это всё? старый флэш преспокойно продолжает работать на свежевыходящих версиях FF

anonymous
()
Ответ на: комментарий от anonymous

старый флэш преспокойно продолжает работать на свежевыходящих версиях FF

Вот только долго ли сайты будут поддерживать эту старую версию? Некоторые ее уже дропнули

kravich ★★★★
()
Ответ на: комментарий от dinn

куда можно посмотреть для логов?

Если собирать Debug версию, то логи сыпятся в stdout. А так было бы неплохо посмотреть backtrace в gdb. Проще всего будет выполнить ulimit -c unlimited, а потом запустить из той же консоли браузер. Корка образуется прямо в текущей директории.

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от anonymous

но зачем это всё?

Не знаю, я для себя делаю, давно хотел попробовать. Когда бы я ещё попробовал Xlib, ALSA, EGL, GLX, GLESv2, libevent, cairo, pango, freetype2, GTK+ и GLib? :)

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Прохожу онлайн курсы по веб-программированию, так на обоих используемых площадках для вебинаров требуется флеш >12

Qwentor ★★★★★
()
Ответ на: комментарий от i-rinat

Так, если с debug, то вроде от freshplayer ничего особого нет, а вот firefox сыпет таким:

[29293] ###!!! ABORT: X_GLXVendorPrivateWithReply: BadLength (poly request too large or internal Xlib length error): file /home/abuild/rpmbuild/BUILD/mozilla/toolkit/xre/nsX11ErrorHandler.cpp, line 157
[29293] ###!!! ABORT: X_GLXVendorPrivateWithReply: BadLength (poly request too large or internal Xlib length error): file /home/abuild/rpmbuild/BUILD/mozilla/toolkit/xre/nsX11ErrorHandler.cpp, line 157

###!!! [Parent][MessageChannel::InterruptCall] Error: Channel error: cannot send/recv

dinn ★★★★★
()
Ответ на: комментарий от dinn

Тут либо какие-то неотловленные баги с сериализацией X вызовов, либо браузер хочет свой GL контекст. Какая версия браузера?

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от anonymous

я, наверное, чего-то не понимаю, но зачем это всё? старый флэш преспокойно продолжает работать на свежевыходящих версиях FF

У меня на домашней машине перестал работать (флеш с офсайта еси чо). Тупо вместо контента - окно с Adobe Flash plugin has crashed. Дома последний стабильный Debian Wheezy, ставил минимальную систему, потом накатывал MATE, то бишь гнома нет. Может, из-за этого, но такого быть не должно в принципе. На рабочей машине еще пашет адобовский флеш, но там Debian Squeeze и еще второй гном. Такие дела.

Gonzo ★★★★★
()
Ответ на: комментарий от i-rinat

Но там всё равно нужно под EGL переделывать

Переделал я под EGL и GLESv2; 3d теперь включается опцией exp_enable_3d = 1 в freshwrapper.conf. На Intel'е работает [1]. Ещё добавились TCP сокеты.

С GLESv2 и EGL в проприетарных драйверах всё оказалось как-то не очень весело. Хотя GLESv2 есть и на nVidia и на AMD, оба не могут скомпилировать шейдеры. У меня на руках есть AMD, на нём при более детальных тестах выяснилось, что glGetShaderInfoLog, glGetShaderiv и даже glGetShaderSource выдают какой-то мусор. Странно, что у двух разных производителей одинаковый глюк. Может я что-то забываю инициализировать?

[1] http://www.barbacube.com/demos/demo.php?id=lightstorm

i-rinat ★★★★★
() автор топика

с LTO не работает

firefox: symbol lookup error: /usr/lib/mozilla/plugins/libfreshwrapper.so: undefined symbol: json_parse_file

Что-то с -fvisibility или __attribute__((visibility()))?

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 3)
Ответ на: с LTO не работает от intelfx

А в самой библиотеке json_parse_file присутствует?

objdump -T libfreshwrapper.so | grep json_parse_file

vitalikp
()
Ответ на: с LTO не работает от intelfx

с LTO не работает

Воспроизвёл. Проблема в том, что я параметры компилятора для всего проекта разом устанавливаю. Раньше всё было нормально, так как стороннего кода не было, а теперь сломалось из-за добавления библиотеки для разбора JSON. В ближайшее время поправлю сборочные скрипты.

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от carasin

В Opera, кстати, уже есть нативная поддержка PepperFlash.

Им деваться некуда, кроме как «тырить» плагин у Chrome. В Chromium под Linux уже убрали поддержку NPAPI Flash'а, а под Windows уберут в района августа. Делать браузер, который не поддерживает игры из фейсбука, по крайней мере странно.

i-rinat ★★★★★
() автор топика
Ответ на: с LTO не работает от intelfx

с LTO не работает

LTO в GCC для статически связанных библиотек требует плясок с плагинами к компоновщику. Починил отказом от статически связанной библиотеки.

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

Я именно так и подумал, т.к. до версии 24 поддержки PepperFlash не было. Да и 24-ая версия пока ещё только в разработке.

carasin ★★★★★
()
Ответ на: комментарий от intelfx

разве просто -fuse-linker-plugin не спасает?

У меня не сработало (gcc 4.9)

i-rinat ★★★★★
() автор топика
-- checking for modules 'alsa;glib-2.0;x11;xinerama;egl;glesv2;liburiparser;libconfig;libevent;libevent_pthreads;cairo;pango;pangocairo;pangoft2;freetype2;gtk+-2.0'
--   package 'glesv2' not found


это что нужно доставить?

TheAnonymous ★★★★★
()
Последнее исправление: TheAnonymous (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.