香蕉派/BPI刷了bananian系统,也就是debian arm了,我是把它作为服务器用的,所以一直没有在意浏览器以及flash视频播放的问题。当然,我也早就发现了flash插件的问题。就拖沓着,一直没解决,直到我在debian的维基上看到了“Use Pepper Flash with Iceweasel using Freshplayerplugin”这句话,我才有了新的思路。

缘由

我利用apt-get并没能成功安装chromium。感觉是官方源里面并没有完整的chromium组件。到树莓派源中下载了chromium相关的包过来安装,却因为其他软件的依赖问题又失败了。于是,只能选择安装其他浏览器。

尝试

火狐firefox是个不错的选择,但是debian中不叫这个名字,而是冰鼬iceweasel。安装好后,打开视频网站。不出所料的,提示没有安装flash插件,也没有html5播放的选项。点击浏览器的安装插件按钮,却找不到下载项。这样就只能手动下载安装了。

首先想到的是到adobe官方碰碰运气,看能不能找到arm平台的flash插件。然并卵,官方只有linux i386的插件。而且是闭源,没有源代码可以编译。

我又灵光一闪,安卓不也是arm平台么,而且有flash插件!于是,我下载了安卓的flash插件,并提取出当中的所有后缀为.so的文件,并放入/usr/lib/mozilla/plugins中,设置好相关权限,启动浏览器,然而还是找不到插件。

另外还有一种可行性就是pepperflashplayer了。维基上说,这个插件只能用在chromium上。我偏不信这个邪,于是下载了arm版本的pepperflashplayer,并把对应的文件放入/usr/lib/mozilla/plugins中。重新启动iceweasel,好吧,我信了,pepperflashplayer不能直接用作iceweasel插件

解决思路

直到昨天,我异想天开的搜索关键词iceweasel pepperflash,结果找到了debian上关于pepperflashplayer的维基内容。这个页面,我实际上也看过几次,但都忽略了最后一行Use Pepper Flash with Iceweasel using Freshplayerplugin。我找到了救命药草。大概看了一下freshplayerplugin的维基内容,发现它是开源的项目,也就是可以直接编译安装。另外,arm版本的pepperflashplayer也已经下载了。因此,这个方案还是可行的。试了一下,果真解决了问题。

详细步骤

维基中是直接运行包管理器安装browser-plugin-freshplayer-pepperflash。然而arm的软件仓库中并没有这个包,于是我只能直接下载源码编译了。

  1. 首先要配置好软件源,安装好编译组件(这个在github上有详细的说明ubuntu/fedora)

    1
    2
    3
    4
    5
    
    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
    

    我是参照debian wiki上的内容来编译的,比这上面多两个包libpulse-devlibconfig-dev。要是直接按照上面的包来编译,不能通过,或者不能加载插件,可以试试加上这两个包。

  2. 下载源码并编译

    1
    2
    3
    4
    5
    6
    7
    
    cd
    git clone https://github.com/i-rinat/freshplayerplugin.git
    cd freshplayerplugin
    mkdir build
    cd build
    cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
    make
    

    这里要注意这个语句cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ..后面有两个点,一开始我误以为是省略号,是作者让我们自己添加编译参数的。实际上..是指上级目录,也就是源码的根目录。所以这里要特别注意,编译命令要在新建的build目录内执行。

  3. 安装freshplayer 不出意外的话应该能编译成功了,把build目录下的libfreshwrapper-pepperflash.so复制到~/.mozilla/plugins目录

    1
    
    cp libfreshwrapper-pepperflash.so ~/.mozilla/plugins
    

    当然也可以把libfreshwrapper-pepperflash.so复制到/usr/lib/mozilla/plugins/目录,手动复制需要注意设置好权限。

    1
    
    sudo cp libfreshwrapper-pepperflash.so /usr/lib/mozilla/plugins/
    

    或者执行

    1
    
    sudo make install
    
  4. 安装pepperflashplayer 解压chromium-pepper-flash-12-12.0.0.77-1-armv7h.pkg.tar.xz,并把PepperFlash目录复制到/usr/lib/下,并设置好权限。

    1
    2
    3
    4
    5
    
    xz -d chromium-pepper-flash-12-12.0.0.77-1-armv7h.pkg.tar.xz
    tar -xf chromium-pepper-flash-12-12.0.0.77-1-armv7h.pkg.tar
    sudo cp usr/lib/PepperFlash /usr/lib/ -R
    sudo chown root:root /usr/lib/PepperFlash -R
    sudo chmod +x /usr/lib/PepperFlash/*
    

    至此,应该能使用iceweasel愉快的观看优酷等网站咯。

文件下载

参考文章