LINUX.ORG.RU

Не работает flashplayer в firefox

 , ,


2

2

У меня нету звука в firefox, даже при установленном flashplugin. Установил google-chrome, звук появился. Погуглил, суть такова: adobe прекратила разработку flash под linux, а google взял это дело в свои руки и назвал это pepper flash. Можно ли как-нибудь подключить pepper flash в firefox, или это только для google chrome? Дистрибутив debian 7.4

★★

это уже давно, увы свежий флеш только в хроме.

в соседней теме товарищь пилит плагин совместимости fresh player, результаты уже есть.

irton ★★★★★ ()

УМВР

Debian 7.4 + iceweasel + flash + pulseaudio = звук

Что-то ты не так делаешь.

anonymous ()

На 28 всё работает (с пульсой).

adobe прекратила разработку flash под linux, а google взял это дело в свои руки и назвал это pepper flash.

Не совсем так. Они просто принудили разработчиков использовать pepper api. Мозилла отказалась.

Можно ли как-нибудь подключить pepper flash в firefox, или это только для google chrome?

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

ck114 ()

УМВР

Debian 7.4 + iceweasel + flash + pulseaudio = звук

Что-то ты не так делаешь.

cinyflo ★★★★★ ()

суть такова: adobe прекратила разработку flash под linux

лютое 4.2

yum info flash-plugin firefox
Загружены модули: langpacks
Установленные пакеты
Название: firefox
Архитектура: i686
Версия: 28.0
Выпуск: 2.fc19
Объем: 86 M
Источник: installed
Из источника: updates
Аннотация: Mozilla Firefox Web browser
Ссылка: http://www.mozilla.org/projects/firefox/
Лицензия: MPLv1.1 or GPLv2+ or LGPLv2+
Описание: Mozilla Firefox is an open-source web browser, designed for standards
        : compliance, performance and portability.

Название: flash-plugin
Архитектура: i386
Версия: 11.2.202.346
Выпуск: release
Объем: 18 M
Источник: installed
Из источника: adobe-linux-i386
Аннотация: Adobe Flash Player 11.2
Ссылка: http://www.adobe.com/downloads/
Лицензия: Commercial
Описание: Adobe Flash Plugin 11.2.202.346
        : Fully Supported: Mozilla SeaMonkey 1.0+, Firefox 1.5+, Mozilla 1.7.13+

Доступные пакеты
Название: flash-plugin
Архитектура: i386
Версия: 11.2.202.350
Выпуск: release
Объем: 6.6 M
Источник: adobe-linux-i386
Аннотация: Adobe Flash Player 11.2
Ссылка: http://www.adobe.com/downloads/
Лицензия: Commercial
Описание: Adobe Flash Plugin 11.2.202.350
        : Fully Supported: Mozilla SeaMonkey 1.0+, Firefox 1.5+, Mozilla 1.7.13+

novitchok ★★★★★ ()

Не знаю, как там в дебиане, но у меня вот есть www-plugins/chrome-binary-plugins:

* www-plugins/chrome-binary-plugins
     Available versions:  
     (stable) (~)34.0.1847.116_p1^msd
     (beta) (~)35.0.1916.47_beta1^msd
     (unstable) [M](~)36.0.1941.0_alpha1^msd [M]**9999^msd
       {+flash +pdf}
     Homepage:            http://www.google.com/chrome
     Description:         Binary plugins — native API Flash and PDF — from Google Chrome for use in Chromium.

Думаю, оттуда сферический libpepperflash.so вполне можно достать.

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

И где ты здесь видишь 4.2? Разработка прекращена, больше новых версий не будет, только исправления уязвимостей.

Версия: 11.2.202.350

А на винде уже 13 доступна. Правда, я пока ещё не встречал, чтобы где-то требовалась 12-13 версия, пока 11 справляется везде.

P.S. Firefox aurora, linux x86 & amd64, flash 11.2.202.341, pulseaudio — звук везде есть, всё работает.

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

Я же говорил, что он стоит. Но не работает.

zorg ★★ ()

flash-player-plugin в Debian - это два пакета: flashplugin-nonfree и flashplugin-nonfree-extra-sound. Первый - это собственно флеш-плеер, второй - это библиотека для вывода звука через OSS и Esound.

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

Они просто принудили разработчиков использовать pepper api. Мозилла отказалась.

Кто принудил?

Нет, (пока что) нельзя

Что нам стоит дом построить, нарисуем — будем жить. https://i.imgur.com/r3SDpop.png

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

Адобовцы жеж, разве нет?

И при помощи какой тёмной магии можно такое сварить? o:

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

Адобовцы жеж, разве нет?

Я читал, что Adobe просто бросила разработку, ибо слишком дорого в пересчёте на долю OS. А работа Google по впиливанию PPAPI в Flash плеер просто дала возможность продолжить выпускать Flash под GNU/Linux без особых напрягов. PPAPI — это платформа, наравне с Windows, Mac OS X и GNU/Linux. В этом API есть вообще всё.

Так что никто никого не принуждал. Просто так звёзды сложились; без них мы бы вообще без Flash остались. А так свежий Flash есть даже под ARM.

И при помощи какой тёмной магии можно такое сварить?

1. Ставишь Chrome, чтобы получить libpepflashplayer.so
2. Делаешь адаптер PPAPI <-> NPAPI
3. Запускаешь Firefox
...
?. PROFIT!

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

Так что никто никого не принуждал. Просто так звёзды сложились; без них мы бы вообще без Flash остались. А так свежий Flash есть даже под ARM.

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

2. Делаешь адаптер PPAPI <-> NPAPI

Что-то мне подсказывает, что это нетривиальная задача (если делать == писать).

Да и пока ждал ответа, обнаружил Shumway. Буду надеяться, что его допилят, когда 11 флеш перестанет быть пригодным и/или поддерживаться.

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

Как это сделать?

Гуглишь документацию к обоим API, читаешь всё, что есть. Потом скачиваешь исходники firefox'а и chromium'а для примера. Потом открываешь текстовый редактор и начинаешь писать. А дальше повторяешь цикл проверил-исправил-скомпилировал до тех пор, пока результат не будет удовлетворять.

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

Я читал, что Adobe просто бросила разработку, ибо слишком дорого в пересчёте на долю OS.

А почему адоба бросила разработку флэша под андроид ты не в курсе? Тоже дорого?

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

ты не в курсе

Про причины — это мои спекуляции. У меня нет достоверных сведений, только догадки, основанные на обрывочных сведениях почерпнутых в интернете. Так что про Android я даже предполагать не стану.

Кстати, из PepperFlash под ARM вполне можно сделать плагин для Android'а. Только там ещё сложнее, чем под GNU.

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

там не так все просто.

я смотрел тех доку по API.

проблем больше с таким велосипедом, проще хром поставить.

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

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

Да и пока ждал ответа, обнаружил Shumway. Буду надеяться, что его допилят, когда 11 флеш перестанет быть пригодным и/или поддерживаться.

надеюсь недопилят, так как эта затея мне кажется очень сомнительной. ставил плагин, пока очень не юзабельно.

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

там не так все просто.

Да что ты говоришь?! :-)

я смотрел тех доку по API.

Кстати, скинь ссылку, тех доки по API я не нашёл.

i-rinat ★★★★★ ()

На данный момент ситуация такова: через файрфокс звук не идёт вообще. Через гугл хром - с пульсой не идёт, с альзой - идёт.

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

Ну зачем же так? Пусть идея сомнительная, но если результатом будет успех, то почему бы и да. А пока что да, оно почти нигде не работает.

ck114 ()

надеюсь флеш умрёт в интернете полностью и навсегда. всё больше встречаются ресурсов с HTML5

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

Кстати, скинь ссылку, тех доки по API я не нашёл.

А что ее там искать:) https://developers.google.com/native-client/dev/pepperc/

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

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

А что ее там искать:) https://developers.google.com/native-client/dev/pepperc/

А, эта штука из комментариев в исходниках doxygen'ом генерируется, её видел.

но что бы стырить бинарную библиотеку плагина, придется тащить хром или выковыривать из установочного пакета

То же мне, нашёл сложность. Поставил Chrome — и плагин уже в файловой системе. Нужно всего пару путей проверить.

Насколько я помню в Pepper API надо делать вызовы, которые в NPAPI делать проблематично в силу архитектурного решения.

А вот тут ты прав, есть проблемы сопряжения. Правда я не уверен, что их можно увидеть, просто рассматривая документацию. Я пока что только два таких места встретил, и оба были неожиданными.

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

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

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

objdump -T /pathto/libpepflashplayer.so | grep PPP

можно увидеть что юзается из Pepper API. Сейчас не вспомню что там выдает. Это может помочь.

Информации достаточно, что бы понять как работает Pepper и NPAPI. Мне лень сейчас идти и смотреть, но там по разному работает иницилизация плагина и принцип взаимодействия. Когда разбирался, то тоже подумал о том, что бы сделать обвертку вокруг Pepper API для NPAPI. Почитав документацию и посмотрев исходники хрома и фаерфокса, понял, что это не стоит усилий.

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

могу посоветовать следующее.

1. запретить фаерфоксу запускать plugin-container. 2. запустить фаерфокс через отладчик /usr/bin/gdb firefox, предварительно закрыв все процессы фаерфокса. 3. открыть в браузере место где возникают сложности со звуком. 4. далее смотреть стектрейс если фаерфокс упадет.

хотя может в процессе работы показать что не так.

если там все чисто, то надо искать проблему в системе.

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

grep PPP

PPP_* — это функции или интерфейсы, которые реализует плагин. Интерфейсы браузера начинаются на PPB_. По аналогии с префиксами NPP_ и NPN_ в NPAPI. А если хочется узнать, что использует Flapper, достаточно посмотреть в manifest.json, который рядом с плагином лежит. Там перечислены требуемые интерфейсы и их версии.

но там по разному работает иницилизация плагина и принцип взаимодействия

Достаточно схоже, как мне кажется. Ты что, думаешь я картинку https://i.imgur.com/r3SDpop.png в гимпе рисовал?

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

PPP_* — это функции или интерфейсы, которые реализует плагин. Интерфейсы браузера начинаются на PPB_. По аналогии с префиксами NPP_ и NPN_ в NPAPI.

ну я ответ на быструю руку накидал, там уже комбинируешь что надо.

А если хочется узнать, что использует Flapper, достаточно посмотреть в manifest.json, который рядом с плагином лежит. Там перечислены требуемые интерфейсы и их версии.

не доверяю манифестам))

Ты что, думаешь я картинку https://i.imgur.com/r3SDpop.png в гимпе рисовал?

верю)

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

скачал хром и выковырял либу.

libpepflashplayer.so (objdump -T libpepflashplayer.so | grep PP)

00000000001df020 g    DF .text	0000000000000070  Base        PPP_InitializeModule
00000000001deff0 g    DF .text	000000000000002b  Base        PPP_GetInterface
00000000001df0a0 g    DF .text	000000000000002a  Base        PPP_ShutdownBroker
00000000001df0d0 g    DF .text	00000000000000f6  Base        PPP_InitializeBroker

libflashplayer.so (objdump -T libflashplayer.so | grep NP)

00000000005ce200 g    DF .text	0000000000000010  Base        NP_Shutdown
00000000005ce590 g    DF .text	0000000000000005  Base        NP_GetValue
00000000005ce5b0 g    DF .text	0000000000000005  Base        NP_GetPluginVersion
00000000005ce5c0 g    DF .text	0000000000000005  Base        NP_GetMIMEDescription
00000000005ce210 g    DF .text	0000000000000376  Base        NP_Initialize

Вот что лежит в самих либах. и заявленых PPB_ там нету, так как это реализация хрома. В фаерфоксе они могут иметь свое название, если они есть вообще. Осталось посмотреть для чего используется каждая из функций и понять как это можно сопрягать.

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

Вот что лежит в самих либах. и заявленых PPB_ там нету, так как это реализация хрома.

Естественно в таблице символов их нет, их надлежит получать динамически через функцию, которую браузер передаёт при вызове PPP_InitializeModule. А браузер получает интерфейсы от плагина, вызывая PPP_GetInterface. Иначе плагины пришлось бы компилировать под каждый браузер отдельно. В NPAPI сделано аналогично, только там всё скомбинировано в NP_Initialize и интерфейсов по сути только два, по одному с каждой стороны. Учитывая то, что PPAPI разрабатывали люди, привыкшие к NPAPI, это неудивительно. Похоже, не очень-то внимательно ты читал описание API.

Попробуй глянуть на вывод strings libpepflashplayer.so | grep PPB_.

Осталось посмотреть для чего используется каждая из функций и понять как это можно сопрягать.

FreshPlayerPlugin — PepperFlash в Firefox

Очень похоже на экстремальный такой айсберг. Смотришь на функции PPP_* и NP_*, думаешь, — «ох, какие они разные, сложно их сопрягать». А реальных проблем там на один-два порядка больше. Решение проблемы, о которой ты говоришь, без напряга укладывается в сотню строк на Си; смотри np_entry.c.

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

Стоп. Еще раз перечитал сообщение, я не правильно понял немного твое сообщение. Я говорил именно про плагин флеша. Flapper проглядел. Я думал ты говоришь, что именно плагин реализует функции PPB_.

на досуге гляну твой код на гитхабе. в принципе не против посодействовать хотя бы в качестве тестера данной прослойки.

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

Я говорил именно про плагин флеша. Flapper проглядел.

Flapper — это кодовое имя Flash плеера, совместимого с PPAPI интерфейсом.

Я думал ты говоришь, что именно плагин реализует функции PPB_.

Мой плагин как раз и реализует интерфейсы PPB_*. В этом его суть. :) Для PepperFlash он выглядит как браузер.

i-rinat ★★★★★ ()

pipelight ещё не предлагали? Предложу.

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