Electron播放 RTMP流 实现 (mac版本)

在打包mac版本的时候,发现在windows下可以播放RTMP流,不能播放,分析原因,有三个:
1、widnows下flash插件是DLL文件,在mac不能用,mac下是后缀为plugin的插件,这个需要替换
2、另外,vue-video-player`videojs-flash`这两个插件需要卸载之后,在重装,原因参照https://segmentfault.com/a/11... 这篇文章里面有说

MAC下安装adobe文件之后,会在对应目录下生成文件PepperFlashPlayer.plugin,需要把这个文件放到项目里面resources里面,当然打包的时候也要把该文件带上一起打包,所以修改vue.config.js的部分代码如下:

 mac: {
      target: 'dmg',
      icon: './public/app.png',
      extraResources: [
            {
              "from": "resources/",
              "to": "./",
            }
      ]
    }

在background.js主进程代码中加入mac的判断如下:

if (process.platform =='darwin'){

console.log('当前是mac 系统')
if( process.arch == 'x64' ){
  plugins =process.env.WEBPACK_DEV_SERVER_URL? path.join(__dirname,`../resources/PepperFlashPlayer.plugin`) :path.join(__dirname,`../PepperFlashPlayer.plugin`)
}else{
  plugins =app.getPath('pepperFlashSystemPlugin') 
}}else{
console.log('当前是windows系统')
if( process.arch == 'x64' ){
  plugins =process.env.WEBPACK_DEV_SERVER_URL? path.join(__dirname,`../resources/pepflashplayer64_32_0_0_238.dll`) :path.join(__dirname,`../pepflashplayer64_32_0_0_238.dll`)
}else{
  plugins =app.getPath('pepperFlashSystemPlugin') 
} }

以上基本完成第一条;
在我npm 卸载和安装 vue-video-player videojs-flash的时候,会出现在某一步卡死的状态,百度一番,说是网络问题,我换了有线也无解,这里我用了个麒麟技巧,把windows下node_modules里面的这两个包直接copy到MAC下的node_modules文件夹下,亲测可用!
以上就是MAC播放RTMP流遇到的和windows不一样需要处理的点

你可能感兴趣的:(Electron播放 RTMP流 实现 (mac版本))