LINUX.ORG.RU

FreshPlayerPlugin — PepperFlash в Firefox

 , , , ,


56

41

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

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

★★★★★

Ух ты! Полезная вещь. Продолжай!

a1batross ★★★★★ ()

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

Первые три секунды.

А потом что?

Kiborg ★★★ ()

а где искать «OpenGLES/ES2/gl.h», например?

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

а где искать «OpenGLES/ES2/gl.h», например?

У меня оно в пакете libgles2-mesa-dev.

i-rinat ★★★★★ ()

Круто! Добавил тему в отслеживаемые

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

А потом что?

А потом ничего не происходит. Пока что очень малая часть API реализована, вместо большинства функций заглушки.

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

таки и 3-х сек видео нет.
лиса просто виснет.
mesa-10.1.0
ppapi-flash из 34.0.1847.45
firefox-27.0.1

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

таки и 3-х сек видео нет.

Ну так я ж на flowplayer'е тестирую. Скорее всего на других swf будет падать. Там много мест, где было специально сделано так, чтобы падало, для облегчения отладки.

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

на тытрубе на некоторых падает, на каких-то сек 5-10 показывает, потом падает...
короче, пили - а то лисоводы скоро вообще без флеша останутся.

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

короче, пили

Спасибо, что разрешаешь продолжать :-D

i-rinat ★★★★★ ()

лучше выдирай библиотеку из хрома и напиши интерфейс к ppapi для ff. без конвертации в вызовы npapi, просто как отдельный интерфейс наравне с нетскейповским

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

и напиши интерфейс к ppapi для ff <...> просто как отдельный интерфейс

Вероятно, это замечательная идея, однако мне так не кажется. Думаю, кому-нибудь, например тебе, стоит реализовать эту идею до стадии Proof-of-Concept, после чего мы сравним плюсы и минусы каждого подхода и решим, какой стоит из них развивать дальше. Может быть, даже оставим оба.

i-rinat ★★★★★ ()

Круто! Удачи в начинании!

anonymous ()

Спасибо, нужно! Опера подохла, а хромиум просто вымораживает... Ждем релизных ебилдов.

NeverLoved ★★★★★ ()
Последнее исправление: NeverLoved (всего исправлений: 1)

Появился звук, и видео стало играть больше пяти секунд. Видимо, у плеера буфер звука на пять секунд.

i-rinat ★★★★★ ()

Памятью больше не течёт, система больше не уходит в своп через пару минут видео.

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

Оно уже пару минут работает? Круто! Надо будет посмотреть.

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

Оно уже пару минут работает?

Как раз пару минут и работает, а потом всё равно начинает память жрать. И на input events пока не реагирует.

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

И на input events пока не реагирует

Добавил обработку событий от мыши.

i-rinat ★★★★★ ()

Подписался на тред. Нужно.

O02eg ★★★★★ ()

Пробовал запускать NaCl?

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

Нет, только флеш. Но если NaCl через PPAPI реализован, то может и заработает.

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

Мне бы на Linux доделать, а уж потом о других думать. ALSA придётся заменять, наверное.

Хотя попробовать собрать и потестить и сейчас можно. На youtube пару минут уже работает. Дальше надо успеть выключить, а то всю память сожрёт.

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

фряху умеет?

Под вендой всё работает без этого.

anonymous ()

мож пора в MF на работу устраиваться, благо у них припиздент поменялся

// по теме: респект, восхищаюсь

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

мож пора в MF на работу устраиваться

И с чего бы это им мне платить, если я и бесплатно это делаю? :-)

i-rinat ★★★★★ ()

можешь в двух предложениях описать объём работы, и сколько из этого сделано?

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

PPAPI целиком велик, но его размер зависит от точки применения, ведь не все используют всё. Всего в PPAPI 124 «класса»; Flash декларирует использование 40. И эти 40 должны быть, иначе где-то он может споткнуться. На текущий момент хоть что-то сделано для 21, а в них где-то треть. Я думаю, Flash не использует более половины из запрошенного API, так что прогресс можно поставить примерно на 30%.

Если задаться целью сделать реализацию совместимой с песочницей, как в chromium, объём работ нужно ещё увеличить на 50-100%.

i-rinat ★★★★★ ()

Починил кривое 2d рисование, от которого элементы рисовались не там где надо и мерцали, добавил второй буфер для картинки. Несколько экземпляров теперь не падают, когда завершается первый экземпляр.

Неуловимая утечка памяти разрешилась чудесным образом вместе с реализацией буфера — свёрнутое окно не получало событий рисования и картинки всё копились и копились в очереди. А когда я выключал браузер, сначала вкладку, потом сам браузер, они успевали отрисоваться и освободить память.

i-rinat ★★★★★ ()

Случилось чудо. Встроенные в страницы видео с youtubе'а стали жрать меньше CPU, чем со старым флешем. Причём CPU ел не flash, а Xorg. Подозреваю, что flash ради экономии трафика до Xorg рисовал маленькими кусочками, тогда как на локальной машине лучше рисовать сразу весь кадр, что теперь и происходит.

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

а в какой браузер это прикрутить можно? в Оперу например получится?

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

а в какой браузер это прикрутить можно?

По идее, в любой с поддержкой NPAPI плагинов.

в Оперу например получится?

Я пробовал, Opera опрашивает плагин, получает ответ, но потом почему-то отказывается его использовать. Пока не знаю, почему. Может ей ответ не нравится.

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

скачать без регистрации

На github'е для скачивания кода регистрация не требуется. А так вот, чтобы готовым продуктом, это не скоро.

i-rinat ★★★★★ ()
-- checking for modules 'alsa;glib-2.0;mozilla-plugin;x11;liburiparser;cairo;pango;pangocairo;pangoft2;freetype2'
--   package 'mozilla-plugin' not found

Где оно в генточке?

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

Никогда не пользовался gentoo, в инете нашёл. Заголовочные файлы к NPAPI идут в составе firefox. Может это поможет.

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

Заголовочные файлы к NPAPI идут в составе firefox.

За это отвечает флаг minimal, при его выставлении хидеры не устанавливаются и он был включен по умолчанию. Выключил, хидеры появились, но cmake все равно просит mozilla-plugin.

Lavos ★★★★★ ()

В чем может быть проблема? uriparser установлен.

[ 41%] Building C object CMakeFiles/freshwrapper.dir/src/ppb_flash_file_modulelocal.c.o
[ 43%] Building C object CMakeFiles/freshwrapper.dir/src/ppb_flash_font_file.c.o
Building C object CMakeFiles/freshwrapper.dir/src/ppb_flash_fullscreen.c.o
/home/behem0th/AUR/Net/freshplayerplugin/src/freshplayerplugin/src/ppb_flash_file_modulelocal.c:32:17: фатальная ошибка: Uri.h: Нет такого файла или каталога
 #include <Uri.h>
                 ^
компиляция прервана.
CMakeFiles/freshwrapper.dir/build.make:563: ошибка выполнения рецепта для цели «CMakeFiles/freshwrapper.dir/src/ppb_flash_file_modulelocal.c.o»
make[2]: *** [CMakeFiles/freshwrapper.dir/src/ppb_flash_file_modulelocal.c.o] Ошибка 1
make[2]: *** Ожидание завершения заданий…
CMakeFiles/Makefile2:63: ошибка выполнения рецепта для цели «CMakeFiles/freshwrapper.dir/all»
make[1]: *** [CMakeFiles/freshwrapper.dir/all] Ошибка 2
Makefile:75: ошибка выполнения рецепта для цели «all»
make: *** [all] Ошибка 2
Собираю так:
  cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr
  make

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

Хм, в debian версия 0.7.5, в ней в liburiparser.pc написано: Cflags: -I${includedir}/uriparser, а в 0.8.0, которая в Arch: Cflags: -I${includedir}.

Должно помочь заменить <Uri.h> на <uriparser/Uri.h>.

i-rinat ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.