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)

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

я Хромом обычно не пользуюсь, он ужасно неудобный (например если открыть много вкладок то они станут микроскопически узкими) и в его настройках, выведенных сплошным текстом очень сложно что-либо найти. и вообще нафига 2 галочки? должна быть одна.

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

Вот ещё. Иногда падает, немного собрал debuginfo:
gdb
Пример видео
Для воспроизведения нажать на «код для сайта» и попробовать выделить и скопировать оттуда url.
Ну иногда падает при перемотке видео. Если этот плеер всавлен в станицу на том же ЯП то контролов нету, и в оконном режиме воспроизводит в виде полосок. На полном экране норм.

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

Если что завтра вечером ещё гляну. Корку пока оставлю.

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

А я хз. Просто в настройках Хрома есть галка «Использовать хардварное ускорение» и в самом флеше можно ткнуть правой кнопкой мышки. Ну чтоб наверняка :)

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

А я хз. Просто в настройках Хрома есть галка «Использовать хардварное ускорение» и в самом флеше можно ткнуть правой кнопкой мышки. Ну чтоб наверняка :)

Да. Та вторая галка решает проблему. Но искать неудобно в этих настройках что-либо, у Firefox настройки удобнее.

mvitamin
()

Добавил вывод звука через JACK.

JACK оказался простым по сути, но с очень жёсткими правилами. Семплы всегда float32. Никакого ресемплинга со стороны звуковой системы, хочешь вывести звук с другой частотой дискретизации или другим форматом — занимайся ресемплингом сам. Очень короткие периоды и, соответственно, жёсткие требования ко времени на заполнение буферов.

С ALSA или PulseAudio хотя бы договориться можно.

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

написал аддон для Firefox: https://addons.mozilla.org/en-US/firefox/addon/force-html5-video-player-at-vk/ . аддон позволяет принудительно автоматически вызывать HTML5-версию плеера ВКонтакте. работает не очень, но работает. может пригодиться тем, кто не хочет отключать enable_3d .

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

суровый intel

я писал ранее уже.

флеш плеер ВКонтакте у меня подвисает (и картинка рывками) вместе с браузером при включенном enable_3d . это касается вероятно только встроенных допотопных видеокарт intel, например:

00:02.0 VGA compatible controller: Intel Corporation 82G33/G31 Express Integrated Graphics Controller (rev 10)

mvitamin
()
Ответ на: суровый intel от mvitamin

00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)

Тоже рывками, если не ждать. Но это из-за инета думаю. Если подождать, то всё норм.

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

нет, у меня рывки не из-за интернета а из-за 3D шейдеров неподдерживаемых видеокартой. вырки (точнее покадровость) видео, звук идет нормальный. плюс зависания браузера. плюс зажирание процессора.

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

Canonical всё-таки договорились с Adobe и теперь выкладывают libpepflashplayer.so отдельно от Chrome

там в пакете и NPAPI-плагин флэш libflashplayer.so для Firefox/Seamonkey . вот только какой версии я не посмотрел еще.

mvitamin
()

белые квадратики Youtube

белые квадратики вместо Youtube flash плеера, например на такой странице: http://hram-rgpu.ru/video .

в контекстном меню надпись «ролик не загружен» и версия flash плеера.

flash: 17.0.0.134

fresh: 0.2.3+git20150420~webupd8~trusty0

mvitamin
()
Ответ на: белые квадратики Youtube от mvitamin

Wild guess: а ничего типа HTTPS Everywhere не установлено? У меня версия из git'а вроде нормально открывает.

Ещё где-то проявляется?

i-rinat ★★★★★
() автор топика
Ответ на: белые квадратики Youtube от mvitamin

Ещё стоит собрать трейс (cmake -DTRACE_ALL=1 .. && make) и поискать в нём строки reason=. Интересуют строки, в которых reason не равна нулю:

$ firefox > log
$ grep reason= log | grep -v reason=0

Не забудь потом выключить трейс (cmake -DTRACE_ALL=0 .. && make), а то он весь сислог зафлудит.

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

опять бага не воспроизводится?

http://www.chiark.greenend.org.uk/~sgtatham/bugs-ru.html

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

:-)

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

Ну для просмотра видео пока нормально. По-этому и врубил.

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

починился coub

Кстати, странно. Для реализации windowed режима были две причины: поддержка скролла колёсиком мыши и поддержка методов ввода (IME). Coub вроде ни под то, ни под другое не попадает. Да и у меня они нормально воспроизводились.

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

Если куб куда всторен, например на yaplakal, то изчезали элементы управления. Странно, но в windowed глюки эти пропали.

BeerSeller ★★★★
()

Поставил тег v0.2.4.

Изменения с предыдущей версии:

  • графика теперь выводится через XRender, а 3d включено по умолчанию;
  • добавлен код для подавления запуска внутреннего скринсейвера иксов и cinnamon-screensaver;
  • реализован windowed режим, в котором плагин сам слушает события на своём окне;
  • добавлена поддержка ввода через IME;
  • события от колёсика мыши теперь работают в windowed режиме;
  • базовый вывод звука через JACK;
  • можно выбирать, с какой версией GTK+ собирать, со второй или третьей;
  • можно указывать масштаб для корректного отображения на High-DPI дисплеях.
i-rinat ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

Отлично! Спасибо. Полет нормальный :)

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

vivaldi

Ты наркоман? vivaldi только Pepper API и поддерживает. Для него сабж абсолютно не нужен.

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

А на маргинальных браузерах оно работает?

Если браузер поддерживает NPAPI плагины, то есть если Flash 11.2 работает, то и freshwrapper тоже должен работать.

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

Нашел еще одно место из того же тест кейса.

[fresh  5676] [PPB] {full} ppb_url_response_info_get_property response=40, property=PP_URLRESPONSEPROPERTY_URL
[fresh  5676] [PPB] {full} ppb_var_var_to_utf8 var={STRING:1:0x7fa3d44145c0:file:/home/user/timezero/servers.xml}

в файле src/ppb_url_response_info.c:60(ppb_url_response_info_get_property) сделал небольшой фикс

switch (property) {
    case PP_URLRESPONSEPROPERTY_URL:
+        if (!strncmp(ul->url, "file:", 5))
+           var = ppb_var_var_from_utf8_z(ul->url+5);
+        else
           var = ppb_var_var_from_utf8_z(ul->url);
        break;
иначе без него не проходит авторизация.

Но может есть лучшее решение.

vitalikp
()

события от колёсика мыши теперь работают в windowed режиме;

Вот это вообще шикарно! Сразу и не заметил в твоем сообщении.

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

сейчас работает

Отлично. Значит, так и оставлю.

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

У меня стоит аж release: v0.2.1. На проблемы не жалуюсь.

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

Оппа.Осталось только прикрутить видеозахват и можно болнать через соцсети.

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