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/包含來自第三方的源代碼,這些源代碼可以根據其他許可條款分發。有關詳細信息,請參見源代碼。