栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Ruby开发

用PPAPI插件技术在Web上显示会议视频、桌面、PPT等

Ruby开发 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用PPAPI插件技术在Web上显示会议视频、桌面、PPT等

Widows下桌面程序C++界面开发一直是个痛苦的事情,无论是Qt,DirectUI,electron,CEF都面临着分发困难问题,而且面临着运行环境千变万化,总有些机器上跑起来有问题,因此大多数能用web做的东西都已经转向web实现,但是web实现还是有很多限制,很多系统原生API无法使用。

比方说现在要开发一套视频上课软件,课件用的是H5开发的互动课件,老师学生要互相看到视频,传统的做法可能是QT做一个框架,课件部分用QT的Webengine加载显示,视频显示部分用原生C++开发显示,这就导致系统很不灵活,视频和课件割裂,比如想在课件里一个画框里显示老师的视频,让课件更有趣,用这个技术就没法做到了。

为解决这个问题,此外抛弃QT庞大的框架,让老师直接打开浏览就能上课,我们采用了PPAPI插件内嵌到Web页面的方式实现,下面是结构图:


PPAPI模块关系图

自定义插件要被chome加载,必须在启动chrome时用命令行参数传入,这样就可以开发一个无界面的程序,界面全部用Web实现,减少C++程序员的大量工作,可以建立一个桌面快捷方式,启动后台程序,后台程序可以检查系统有没有安装chrome,若没有下载安装,若存在,启动chrome并将插件传入到chrome。

启动chrome样例:

"C:Program Files (x86)GoogleChromeApplicationchrome.exe" --register-pepper-plugins="E:SvnWorkPPApiPlugindemomedia_stream_video.dll#ppexample##1.0.0;application/x-ppapi-kkvideo-preview"  file:///E:SvnWorkPPApiPlugindemomedia_stream_video.html

下面代码是在ppapi插件样例VarArrayBuffer基础上的关键修改:

共享内存读取


刷帧过程



作者:睏哥Quain
链接:https://www.jianshu.com/p/0def29b5c2d5


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/226236.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号