本帖最后由 蒲公英哭泣三毛 于 2017-8-2 09:12 编辑
WebSocket的实战应用案例-WSS连接打造专属的视频录制软件 哈哈哈!题目起的比较牛逼,技术含量一般,不过下面我会想详细的把自己学习和实现过程告诉大家,促进大家共同进步。 一、前言 首先,和大家说一下我到底要干什么哈。大家在论坛里或者日常生活中可能会经常用到视频录制软件(做教程的应该会经常用到),我也是前些天实验室总是验收各种仪器,然后仪器公司的工程师会过来培训,所以就想着找个录屏软件把工程师的整个操作过程和讲述的过程录下来,以后可以让新来的看看,就省了自己讲了。所以就想弄一款录频软件,以前自己也用过录屏软件,但是感觉不太好用,机缘巧合在网上找到了Apowersoft 录屏软件,这个录屏软件试了一下很好用。它分为两个版本,一个是桌面版,一个是在线版。桌面版的话需要激活才能用,并且在网上找了一下没有破解的,使用的话有水印和时间限制。而在线版的挺好用的,相当好用,没有水印没有时间限制,很方便,有的人可能用过。但是不过有个地方太不方便了,每次启动都需要联网,有点麻烦啊,所以就想着有什么办法把这个东西搞成离线的不就行了。好,废话有点多了,下面进入正题。 二、分析与方法 首先,打开在线视频录制软件的地址https://www.apowersoft.cn/free-online-screen-recorder。如下图所示。 然后,点击开始录制,第一次点击开始录制的时候会提醒你,下载启动器,这个正常下载就行,然后正确安装。OK,l灵感来了,既然这个在线的软件有本地版的启动器,那我为什么不直接打开启动器直接录屏呢,但是心想事情不可能这么简单,那样的话在线岂不是没有意义了,不过接下来先找到了安装的路径,看看有什么东西,于是通过搜索Apowersoft,在C:\Users\zhaowei\AppData\Local\Apowersoft目录下找到了安装的启动器。如下图所示。 这里面的内容有两个exe,,如下图,试了一下打开都没什么反应。哈哈,这个肯定不能直接打开,要不然就没意义了。 其实过程中是发现一个现象的,就是打开网页之后,点击开始录制,等一会就会弹出录制视频的界面,如下图所示的录制框框。 点击右下角的×,就可以关掉。这时候再去C:\Users\zhaowei\AppData\Local\Apowersoft\Apowersoft Online Launcher\目录下 双击Apowersoft Online Launcher.exe,居然可以打开了,试了几下,原来是只要https://www.apowersoft.cn/free-online-screen-recorder这个网页打开着,运行过一次开始录制,就可以通过那个exe打开这个在线软件了,只要网页一关上,就打不开了。并且注意到网页打开的时候,进程里有Apowersoft Online Launcher.exe的进程,网页关闭之后会消失,如下图所示。 录屏软件打开之后,又多了一个进程,如下图所示。 到了这里其实已经很清楚了,其实很简单,网页应该就是发送了什么消息给本地的启动器而已。 这时候打开开发者工具抓一下包看一下,刷新一下网页,如下图所示,前几个一看就是WebSocket协议通信,wss的。但是前几是个没有握手通信的,所以继续往下看。 然后,就找到了在最下面有一个是握手成功并且发送数据的,好了就是这个了,那么接下来看看发送了什么数据呢。如下图所示。 点一下Frames,看一看有什么数据,这张图的数据,是我没有点开始录制,所显示的发送的和接受到的数据(绿色的发送的,白色的是接收的),可以看到,都是HeartBeat,如下图所示。 然后,点击开始录制,如下图所示,有用的东西来了哈,快看红色框 {"K":"Launch","V":{"Geo":"cn","Name":"Online Screen Recorder","Lang":"zh"}} 这就是发送的让本地录制视频的启动器起作用的消息哈。看到了这里就基本上弄清了所有啦,可以实现以下了。 下面就用易语言实现一下,步骤很简单,我大致说一下,源码在附件大家自行查看(源码和用到的模块,以及视频启动软件都在里面)。首先就是启动Apowersoft Online Launcher.exe,然后连接wss://launcher.apowersoft.com:18610/, 发送消息 {"K":"Launch","V":{"Geo":"cn","Name":"Online Screen Recorder","Lang":"zh"}} 就可以,这个时候在线视频软就变成本地的了哈,是不是很简单。 通过简单的编写效果图如下: 三、总结 其实,写这个是因为有点累,休息一下写着玩的,看了一下论坛里相关的比较少,所以和大家分享一下。自己一开始没有接触过WebSocket,然后当时看到抓包那个wss就在论坛里搜索了一下,出来几篇比较好的文章,就看了一下,果然和自己想的差不多,所以把自己当时整个思考的过程都写了出来,希望对大家平时接触新的事物的时候有所帮助。下面是自己当时看的论坛里的4个帖子,大家可以看一下挺好的,我的WebSocket模块就是用的@黑猫よ__大神的,很好用。还有@单身汪大神转载的那个帖子也相当好,简单易懂。 所有材料链接(内容如下图,回复可见网盘地址): 链接:http://pan.baidu.com/s/1hrG2wxm 密码:jyw5 注:本帖子直供大家学习使用,如有侵权请联系删除。 1.《Heimao - IWebSocket》Web访问库,迷你版,支持WS/WSS连接。 https://bbs.125.la/forum.php?mod=viewthread&tid=14034828&highlight=wss 2.websocket系列小教程 第一课 判断websocket + 握手 https://bbs.125.la/forum.php?mod=viewthread&tid=13931840&highlight=websocket 3.【转自CSDN】看完让你彻底搞懂Websocket原理 https://bbs.125.la/forum.php?mod=viewthread&tid=14030071&highlight=websocket 4.[分享源码] 【开发者开源大赛】WebSocket协yi通信 https://bbs.125.la/forum.php?mod=viewthread&tid=13966464
|