ppapi-host npapi-plugin适配器。
如您所知,Adobe已暂停为GNU/Linux的Flash Player插件的进一步开发。最新作为NPAPI插件11.2版将获得五年的安全更新(自2012年5月4日发布以来),但已停止了进一步的开发。不管幸运的是,还是不是,Linux仍然可作为Chrome浏览器的一部分,以PPAPI插件的形式捆绑在一起。 PPAPI或胡椒插件API是由Chromium/Chrome Team推广的浏览器插件的接口。它具有NPAPI启发但显着不同的API,它具有每个可能的功能插件。二维图形,OpenGL ES,字体渲染,网络访问,音频等。它很大,有111组功能,称为界面,这些界面为铬浏览器提供给插件。尽管规格还不是最终的,并且出现了新的界面版本,其中一些较旧的界面被删除了。变化率显着减慢。
由于各种原因,Firefox开发人员现在对在Firefox中实施PPAPI不感兴趣。但是,这并不意味着它不能做到。
该项目的主要目标是让PPAPI(Pepper)Flash Player在Firefox工作。这可以通过两种方式完成。首先是在Firefox本身中实现完整的PPAPI接口。另一个是实现包装器,某种适配器看起来像PPAPI插件的浏览器,看起来像浏览器的NPAPI插件。
第一种方法需要强大的Firefox内部知识,此外,将代码纳入主流。保持一组补丁看起来并不是一个好主意。第二种方法只能集中于两个API。是的,其中一个很大,但仍然可以抓握。第二种方法将用于项目。它也将使其他浏览器受益,而不仅仅是Firefox。
大多有效。看起来所有必需的API都已实现。
在这里描述。
所有可用的胡椒插件API文档通常都伴随着由于有效的沙箱用法而提高安全性的主张。值得注意的是,API本身并没有进行任何沙盒,而是允许沙盒实现。此特定的实现不会实现任何沙箱。这意味着,如果任何恶意代码在插件安全性中破裂,则没有其他障碍。这是与NPAPI Flash相同的安全级别。
项目使用CMAKE(> = 2.8.8)构建系统。
Debian/Ubuntu:
$ sudo apt-get install cmake gcc g++ pkg-config ragel libasound2-dev
libssl-dev libglib2.0-dev libpango1.0-dev libgl1-mesa-dev
libevent-dev libgtk2.0-dev libxrandr-dev libxrender-dev
libxcursor-dev libv4l-dev libgles2-mesa-dev libavcodec-dev
libva-dev libvdpau-dev libdrm-dev libicu-dev
Fedora:
$ sudo dnf install cmake gcc gcc-c++ pkgconfig ragel alsa-lib-devel openssl-devel
glib2-devel pango-devel mesa-libGL-devel libevent-devel gtk2-devel
libXrandr-devel libXrender-devel libXcursor-devel libv4l-devel
mesa-libGLES-devel ffmpeg-devel libva-devel libvdpau-devel libdrm-devel
pulseaudio-libs-devel libicu-devel
(可选)为了启用脉冲支持,请安装libpulse-dev 。
(可选)启用杰克支持,安装libjack-jackd2-dev和libsoxr-dev
在根目录中创建build子目录,从该文件夹调用
$ cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
$ make
libfreshwrapper-flashplayer.so放入浏览器插件目录( ~/.mozilla/plugins )或通过调用范围内安装系统的浏览器插件: # make install
默认情况下, make install会将插件(s)放在${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/mozilla/plugins 。可以通过更改cmake参数CMAKE_INSTALL_PREFIX或设置MOZPLUGIN_INSTALL_DIR来更改路径。
当浏览器加载时,它将在一个目录中搜索libpepflashplayer.so Chrome(稳定/beta/unclable)目录,在/usr/lib/pepperflashplugin-nonfree/ (pepperflashplugin-nonfree/(pepperflashplugin-nonfree puts it it it it it it it it it it it it it it it it it it it it it its it its it its it its it its its its its上有很大)很高)它应该足以使其运行,但是如果不运行,请在~/.config/freshwrapper.conf中指定完整路径。您可以在/data中找到示例配置文件。最好与libpepflashplayer.so一起享用manifest.json 。
硬件加速视频解码代码需要相对较新的LibavCodec版本(2013年1月,版本54.39.0)。如果您还没有它,则代码不会编译,除非您通过WITH_HWDEC=0禁用HWDEC。为此,将配置步骤命令更改为:
$ cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWITH_HWDEC=0 ..
请注意,即使构建,硬件加速视频解码仍然默认情况下仍然是禁用的。您需要在配置文件中明确启用它。
尽管最好使用OpenGL | ES 2的系统实现,但仍可以通过在配置时间添加WITH_GLES2=0来利用Angle GLES2仿真( -DWITH_GLES2=0 )。请注意,这需要C ++ 11强的编译器。
麻省理工学院许可证。有关全文,请参见LICENSE文件。
目录3rdparty/包含来自第三方的源代码,这些源代码可以根据其他许可条款分发。有关详细信息,请参见源代码。