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

做网站总结体会新蔡县城乡建设局网站

做网站总结体会,新蔡县城乡建设局网站,备案网查询化妆品,wordpress 简单会员通过代码的方式同时获取SMARTP模式的VENC码流数据和普通GOP模式的VENC码流数据,并进行对比画质。 一.RV1126 VI采集摄像头数据并同时编码SMARTP模式和普通GOP模式的编码码流流程 RV1126利用多线程同时获取普通GOP的VENC码流数据和SMARTP的码流数据一般如上图&#…

通过代码的方式同时获取SMARTP模式的VENC码流数据和普通GOP模式的VENC码流数据,并进行对比画质。

一.RV1126 VI采集摄像头数据并同时编码SMARTP模式和普通GOP模式的编码码流流程

RV1126利用多线程同时获取普通GOP的VENC码流数据和SMARTP的码流数据一般如上图,分为8个步骤:分别是VI模块初始化、普通GOP的VENC模块初始化、智能SMARTP_GOP的VENC模块初始化、VI绑定普通GOP的VENC编码器节点、设置GOP属性为SMARTP属性、VI绑定SMARTP_GOP的VENC编码器节点、创建多线程获取普通GOP的VENC码流数据并保存、创建多线程获取SMART_GOP的VENC码流数据并保存。

1.初始化VI模块:

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

VI_CHN_ATTR_S  vi_chn_attr;

。。。。。。。。。。。。。。。(这里是设置VI的属性)

ret = RK_MPI_VI_SetChnAttr(CAMERA_ID, 0, &vi_chn_attr);

ret |= RK_MPI_VI_EnableChn(CAMERA_ID, 0);

2.两种GOP模式VENC模块初始化:

VENC_CHN_ATTR_S  common_gop_venc_chn_attr;

..................................

RK_MPI_VENC_CreateChn(COMMON_GOP_VENC_CHN, &common_gop_venc_chn_attr);

VENC_CHN_ATTR_S  smartp_gop_venc_chn_attr;

..................................

RK_MPI_VENC_CreateChn(SMARTP_VENC_CHN, &smartp_gop_venc_chn_attr);

注意:这里需要创建两个编码器层,分别是普通GOP模式编码器和SMART的GOP模式编码器。

​​​​​​​3.设置SMARTPVENC模块GOP参数调节

VENC_GOP_ATTR_S venc_gop_attr;

venc_gop_attr.enGopMode = VENC_GOPMODE_SMARTP; //设置GOP模式为SMARTP模式

venc_gop_attr.u32GopSize = 25; //设置短参考帧间隔是25

venc_gop_attr.s32IPQpDelta = 6; //设置I帧和P帧的差值是6

venc_gop_attr.s32ViQpDelta = 6;//设置虚拟I帧和P帧的差值是6

venc_gop_attr.u32BgInterval = 25 * 5; //设置长参考帧的长度是短参考帧的5倍

ret = RK_MPI_VENC_SetGopMode(SMARTP_GOP_VENC_CHN, &venc_gop_attr);

上面是SMARTPGOP模式一些参数的设置,设置完成调用RK_MPI_VENC_SetGopMode去调用

4.​​​​​​​​​​​​​​VI模块绑定普通GOPVENC模块和SMARTP_GOPVENC模块,下面是伪代码:

//VI模块节点

MPP_CHN_S vi_chn_s;

vi_chn_s.enModId = RK_ID_VI;

vi_chn_s.s32ChnId = VI_CHN_ID;

//普通GOPVENC模块节点

MPP_CHN_S common_gop_venc_chn_s;

common_gop_venc_chn_s.enModId = RK_ID_VENC;

common_gop_venc_chn_s.s32ChnId = COMMON_GOP_VENC_CHN;

ret = RK_MPI_SYS_Bind(&vi_chn_s, &common_gop_venc_chn_s);

//SMARTP_GOPVENC模块

MPP_CHN_S smartp_gop_venc_chn_s;

smartp_gop_venc_chn_s_s.enModId = RK_ID_VENC;

smartp_gop_venc_chn_s.s32ChnId = SMARTP_GOP_VENC_CHN;

ret = RK_MPI_SYS_Bind(&vi_chn_s, &smartp_gop_venc_chn_s);

​​​​​​​5.创建多线程获取普通GOP的VENC码流数据并保存

开启一个线程去采集每一帧普通GOP的VENC模块数据,使用的API是RK_MPI_SYS_GetMediaBuffer 模块ID是RK_ID_VENC,通道号ID是普通GOP的 VENC创建ID号这个API伪代码如下

while(1)

{

  .........................

  mb = RK_MPI_SYS_GetMediaBuffer(RK_ID_VENC, COMMON_GOP_VENC_CHN, -1);

  fwrite(RK_MPI_MB_GetPtr(mb), RK_MPI_MB_GetSize(mb), 1, common_gop_h264_file);

.......................

}

​​​​​​​6.多线程获取SMARTP_GOPVENC模块数据:

开启一个线程去采集每一帧SMARTP_GOP的VENC模块数据,使用的API是RK_MPI_SYS_GetMediaBuffer 模块ID是RK_ID_VENC,通道号ID是SMARTP_GOP的VENC层。这个API伪代码如下

while(1)

{

  .........................

  mb = RK_MPI_SYS_GetMediaBuffer(RK_ID_VENC, SMARTP_GOP_VENC_CHN, -1);

  fwrite(RK_MPI_MB_GetPtr(mb), RK_MPI_MB_GetSize(mb), 1, smartp_gop_h264_file);

.......................

}

二.代码实战

1.VI模块初始化

​​​​​​​2.两种GOP模式VENC模块初始化:

​​​​​​​3.设置SMARTPVENC模块GOP参数调节

4.​​​​​​​​​​​​​​VI模块绑定普通GOPVENC模块和SMARTP_GOPVENC模块

​​​​​​​5.创建多线程获取普通GOP的VENC码流数据并保存与

​​​​​​​6.多线程获取SMARTP_GOPVENC模块数据:


文章转载自:

http://8rRT9GdJ.cnxpm.cn
http://DIXyscut.cnxpm.cn
http://dc0IgBXr.cnxpm.cn
http://0Bhw820f.cnxpm.cn
http://GEzjF9lB.cnxpm.cn
http://9WoYpEYl.cnxpm.cn
http://9E3UbUe0.cnxpm.cn
http://MMGxTUmC.cnxpm.cn
http://I59A1Beo.cnxpm.cn
http://48wrLtJo.cnxpm.cn
http://XiJj0ZUK.cnxpm.cn
http://GM0zzaRY.cnxpm.cn
http://wJwe6i4f.cnxpm.cn
http://0EGK2L87.cnxpm.cn
http://JvsNqfnh.cnxpm.cn
http://CiKSKGRk.cnxpm.cn
http://xilD6EUV.cnxpm.cn
http://KrcSJfQC.cnxpm.cn
http://q1Z25gJ8.cnxpm.cn
http://SdAC5WKS.cnxpm.cn
http://v91IUnyo.cnxpm.cn
http://hljycu7U.cnxpm.cn
http://v11O2cGo.cnxpm.cn
http://tzRb3PgA.cnxpm.cn
http://jSixxk1E.cnxpm.cn
http://e7nGCd2f.cnxpm.cn
http://mQ19R00J.cnxpm.cn
http://elsFymLG.cnxpm.cn
http://U4d9pCio.cnxpm.cn
http://Fr0aLfZA.cnxpm.cn
http://www.dtcms.com/wzjs/766382.html

相关文章:

  • 一站式网站开发网站推广规划
  • 网站百度收录批量查询社区团购平台排名
  • 公司宣传网站制作服务器和电脑主机的区别
  • 湖州集团网站建设wordpress播放下载
  • 岳阳网站制作网站前台界面模板下载
  • 在社保网站做调动个人网页设计
  • 怎样快速提升网站权重wordpress主页 摘要
  • 手机网站建设商场wordpress购物车会员
  • 网站建设方案ppt上海圣品科技 做网站
  • 电子商务网站建设与实验广州比较好的广告公司有哪些
  • 个人网站不备案可以吗2008vps做网站
  • 兼职做网站访问量和数据大秦建设集团有限责任公司官方网站
  • 广州出名的网站关于网站建设的工作总结
  • 网站没制作好可以备案吗电子商务网站技术
  • 制作php网站用什么软件成都网站优化多少钱
  • 百度如何给网站做评价wordpress主机模板
  • 上海达安做的无创dna网站盐城网站平台建设
  • 河北网站建设推广vps centos wordpress
  • 做淘宝美工和网站设计那个好做网站的费用属于什么费用
  • 备案需要网站建设方案书wordpress社交链接图标
  • html5手机网站模板贵阳建设银行网站
  • 在网站后台备案号怎么改程序ui设计
  • 湖北网站定制开发多少钱新乡市建设路小学网站
  • 杭州公司官方网站制作子域名查询工具
  • 地方网站怎样做朝阳区互联网公司排名
  • 北京网站建设主页网络营销成功案例有哪些
  • 关于手机网站设计的若干想法怎么做纪念网站
  • 西安网站建设外包服务网站 配色表
  • 广东网站建设报价官网nodejs 做视频网站
  • 如何查看网站蜘蛛pc网站自动生成app