RK1126视频输入
2023-02-16 17:40:09 14 举报
AI智能生成
RK1126视频输入大致流程
作者其他创作
大纲/内容
1、初始化系统
RK_MPI_SYS_Init()
2、VI(视频输入) 初始化
VI_CHN_ATTR_S
pcVideoNode 设备节点
u32BufCnt VI捕获视频缓冲区计数
u32Width 视频宽度
u32Height 视频高度
enPixFmt video格式
enBufType VI捕获视频缓冲区类型
enWorkMode VI通道工作模式
RK_MPI_VI_SetChnAttr 设置VI通道属性
ret = RK_MPI_VI_SetChnAttr(s32CamId, 0, &vi_chn_attr);
RK_MPI_VI_EnableChn 启用VI通道
ret |= RK_MPI_VI_EnableChn(s32CamId, 0);
3、VENC(编码) 初始化
VENC_CHN_ATTR_S
stVencAttr 编码器属性
enType 编码协议类型
imageType 定义图像格式
u32PicHeight 编码图像高度
u32PicWidth 编码图像宽度
u32Profile 编码的等级
stRcAttr 码率控制器属性
enRcMode 编码通道码率控制器模式
stH264Cbr 码率控制器属性
u32Gop 帧率
u32BitRate 码率
u32SrcFrameRateNum 数据源帧率分子
u32SrcFrameRateDen 数据源帧率分母
fr32DstFrameRateNum 目标帧率分子
fr32DstFrameRateDen 目标帧率分母
RK_MPI_VENC_CreateChn 创建编码通道
ret = RK_MPI_VENC_CreateChn(0, &venc_chn_attr);
4、设置数据回调
MPP_CHN_S
enModId 模块号
s32DevId 设备号
s32ChnId 通道号
RK_MPI_SYS_RegisterOutCb 注册数据输出回调
ret = RK_MPI_SYS_RegisterOutCb(&stEncChn, video_packet_cb);
void video_packet_cb(MEDIA_BUFFER mb) 设备回调函数
RK_MPI_MB_GetFlag(mb) 标记该Buffer的特殊属性,比如帧类型:I帧、P帧等
RK_MPI_MB_GetPtr(mb) 获取数据
RK_MPI_MB_GetSize(mb) 获取数据大小
RK_MPI_MB_TsNodeDump(mb); 节点转储
RK_MPI_MB_ReleaseBuffer(mb) 释放缓冲区
5、数据绑定
RK_MPI_SYS_Bind 数据源到数据接收者绑定接口
MPP_CHN_S stSrcChn;
stSrcChn.enModId = RK_ID_VI;
stSrcChn.s32DevId = 0;
stSrcChn.s32ChnId = 0;
stSrcChn.enModId = RK_ID_VI;
stSrcChn.s32DevId = 0;
stSrcChn.s32ChnId = 0;
MPP_CHN_S stDestChn;
stDestChn.enModId = RK_ID_VENC;
stDestChn.s32DevId = 0;
stDestChn.s32ChnId = 0;
stDestChn.enModId = RK_ID_VENC;
stDestChn.s32DevId = 0;
stDestChn.s32ChnId = 0;
/* VI ----> VENC */
ret = RK_MPI_SYS_Bind(&stSrcChn, &stDestChn);
ret = RK_MPI_SYS_Bind(&stSrcChn, &stDestChn);
6、添加程序死循环以及退出信号
signal(SIGINT, sigterm_handler); ctrl + c 退出程序信号
while (!quit) //程序死循环
{
usleep(500000);
}
{
usleep(500000);
}
7、释放相关变量
fclose 关闭文件
RK_MPI_SYS_UnBind 解除数据绑定 VI -----> VENC
ret = RK_MPI_SYS_UnBind(&stSrcChn, &stDestChn);
RK_MPI_VENC_DestroyChn 销毁 VENC , 在销毁VI之前
ret = RK_MPI_VI_DisableChn(s32CamId, 0);
RK_MPI_VI_DisableChn 销毁 vi
RK_MPI_VI_DisableChn(s32CamId, 0);
收藏
收藏
0 条评论
下一页