VDEC视频流刷新到网页的流程框图
上图是HTML页面显示VDEC解码数据的过程,RV1126后台程序把每一帧的VDEC解码数据发到shareMemory_Video共享内存里面。CGI程序从共享内存里面获取每一帧VDEC数据,这里需要注意的是获取共享内存数据的时候要用到P/V操作保证数据的安全性,这里同样也是用semop进行处理,同时把VDEC数据拷贝到OPENCV里面同时刷新到HTTP服务器里面,最后把HTTP的数据发送到HTML界面。
第一步,第二步:我们先要获取到共享内存和信号量,因为所有的数据都是从信号量里面拿的。
第三部:获取共享内存每一帧VDEC视频流刷新到http
分4小步;
3.1 获取到共享内存数据拷贝到OpenCV
3.2 把灰度图像变成彩色图像
3.3把视频流压缩成字节流
3.4把数据刷新到http里
具体流程
第四步:使用HTML来显示CGI的视频流
CGI的视频流实时响应到HTTP服务器里面,但是真正显示还是需要用到HTML脚本语言
在HTML里面使用img标签进行图像视频的显示,具体的我们来介绍一下:<img src="/cgi-bin/sharemeomory_vdec_cgi.cgi" width="500" height="500" />
src:视频数据的来源,这里的数据来源是我这个cgi程序生成了,cgi的程序可执行程序,所以直接填写cgi的绝对路径,/cgi-bin/sharemeomory_vdec_cgi.cgi ,width: 视频的宽度,width = 500,height: 视频的高度,height= 500