当前位置: 首页 > news >正文

西宁市网站建设公司推荐莱州相亲网站

西宁市网站建设公司推荐,莱州相亲网站,seo自助建站平台,全网营销公司排名前十一.RV1126 VI模块采集摄像头YUV数据的流程 step1:VI模块初始化 step2:启动VI模块工作 step3:开启多线程采集VI数据并保存 1.1初始化VI模块: VI模块的初始化实际上就是对VI_CHN_ATTR_S的参数进行设置、然后调用RK_MPI_VI_SetC…

一.RV1126 VI模块采集摄像头YUV数据的流程

step1:VI模块初始化

step2:启动VI模块工作

step3:开启多线程采集VI数据并保存

1.1初始化VI模块:

VI模块的初始化实际上就是对VI_CHN_ATTR_S的参数进行设置、然后调用RK_MPI_VI_SetChnAttr设置VI模块并使能RK_MPI_VI_EnableChn

RK_MPI_VI_SetChnAttr

设置VI通道属性

RK_MPI_VI_SetChnAttr(VI_PIPE ViPipe, VI_CHN ViChn, const VI_CHN_ATTR_S *pstChnAttr);

参数名称                                描述                                                                                输入/输出
ViPipe                                 VI 管道号。                                                                            输入
ViChn                                 VI 通道号。取值范围:[0, VI_MAX_CHN_NUM)。                输入
pstChnAttr                          VI 通道属性结构体指针。                                                       输入

 返回值描述
0 成功。非0 失败,其值参见错误码。
【需求】
头文件:rkmedia_api.h
库文件:libeasymedia.so

【注意】
若被设置的通道已通过RK_MPI_SYS_Bind与其他通道绑定,则需在使用该函数设置前通过
RK_MPI_SYS_UnBind进行解绑。
若被设置的通道已使用RK_MPI_VI_EnableChn使能,则需在使用该函数设置前通过
RK_MPI_VI_DisableChn 关闭该通道。

1.2启动VI模块:

设置完上面的VI模块后,就要开启VI模块的工作,使用的API是RK_MPI_VI_StartStream

RK_MPI_VI_StartStream

启动视频流。

RK_S32 RK_MPI_VI_StartStream(VI_PIPE ViPipe, VI_CHN ViChn);

参数名称            描述                                                                                            输入/输出
ViPipe               VI 管道号。                                                                                     输入
ViChn               VI 通道号。取值范围:[0, VI_MAX_CHN_NUM)。                         输入

返回值描述
0 成功。
非0 失败,其值参见错误码。

【需求】
头文件:rkmedia_api.h
库文件:libeasymedia.so

1.3使用多线程的方式去采集:

开启一个线程去采集每一帧VI模块的数据,使用的API是RK_MPI_SYS_GetMediaBuffer这个API的具体作用是获取指定通道中的数据,具体的定义如下:

enModID:模块号ID,模块号指的是目前使用的是哪个模块如:VI模块(RK_ID_VI)、VENC模块(RK_ID_VENC)

s32ChnID:通道号ID,这里的通道号跟初始化通道的ID号一致。

S32MilliSec:默认是-1,阻塞状态。

注意:RK_MPI_SYS_GetMediaBuffer获取的数据是一个整体的数据,换言之这个数据包含了缓冲区指针和缓冲区大小。如下图:

拿到整体数据后,我们就要对整体数据进行分割操作。所谓的分割操作,就是要获取整体数据里面的缓冲区指针缓冲区大小。那具体的我们来看看下面的API是怎么获取到它的具体数据。

缓冲区指针的获取:

RK_MPI_MB_GetPtr就是获取每一帧的具体指针,也就是我们每一帧数据。

缓冲区长度的获取

RK_MPI_MB_GetSize就是获取每一帧数据的长度。

获取完具体的缓冲区数据和缓冲区大小之后,就开始写入文件。写入文件的操作就是fwrite就可以写入。

二.代码的实战

初始VI模块

设置使能

启动VI模块

开启多线程处理

http://www.dtcms.com/a/402650.html

相关文章:

  • 检测网站死链wordpress虚拟主机如何安装
  • 公众号做成网站那样怎么做谎称在网站网站做维护
  • 装饰公司网站建设流程做响应式网站的
  • wap网站建设课程要写代码吗五莲县财源建设网站
  • 重庆建设注册执业中心网站网站上的qq咨询怎么做
  • 宁波企业网站seo做外贸怎么推广
  • 网站后门清除深圳工商注册核名查询系统
  • 网站备案完了怎么做韩国网站设计风格
  • 公司网站设计好网站开发的目的实习报告
  • 中文网站模板下载免费网站平台怎么做的
  • 网站类型的销售软件技术培训机构
  • 佛山网站营销推广大连网站建设哪个公司好
  • 深圳网站建设推进Godaddy如何建设网站
  • dedecms做网站教程开发一平方赔多少钱
  • 网站内容建设的原则dedecms 5.7 关闭网站
  • 网站的推广方式有哪些免费网站空间 国外
  • 搭建网站什么意思网站建设的规划
  • 网站开发还找到工作吗爱吧
  • 中国建设银行大学助学贷款网站哈尔滨雕塑制作厂家
  • 游戏网站开发过程青岛网页搜索排名提升
  • 外贸电商怎么做百度荤seo公司
  • 商城的网站建设云南酒店网站建设
  • 做网站每个月可以赚多少钱如何提高网站的访问速度
  • 正规的网站制作服务电话河南今天发生的重大新闻
  • 可以做动图的视频网站重庆设计网站
  • 删除网站备案厦门电子网站建设
  • 阿里巴巴免费做网站吗nginx wordpress php7
  • 做网站只有域名龙华建站公司
  • 电商运营方案计划书windows优化大师是电脑自带的吗
  • 网站积分解决方案网站后台修改