AX520CE-- 音视频mdk的初识
数据来源:AX520C 媒体处理软件开发参考_V26
🧩 一、系统基础部分
章节 2–3:系统控制
内容:系统初始化、缓存池、内存分配、模块绑定(Bind/UnBind)、内存映射等;
关键 API:
NI_MDK_SYS_Init
/NI_MDK_SYS_Exit
NI_MDK_SYS_Bind
/NI_MDK_SYS_UnBind
NI_MDK_SYS_MmzAlloc
/NI_MDK_SYS_MmzFree
作用:掌握这些接口后,你能搭建最基本的媒体系统运行环境。
📷 二、视频输入 VI 模块(Video Input)
章节 4
负责从 Sensor/MIPI 接口获取视频数据;
包含设备配置、工作模式切换、帧抓取、Crop 裁剪等;
关键 API:
NI_MDK_VI_SetDevAttr
NI_MDK_VI_EnableDev
NI_MDK_VI_GetFrame
/NI_MDK_VI_ReleaseFrame
建议熟悉视频采集流程与结构体(如
VI_DEV_ATTR_S
、VI_GET_FRM_PARAM_S
)。
🧠 三、ISP 模块(图像信号处理,PISP-V1)
章节 5
包括白平衡、Gamma、降噪、HDR、锐化等;
作用:图像质量调优;
了解即可,实际项目中常由算法团队或驱动层设置。
⚙️ 四、视频处理 VPS 模块
章节 6
对采集到的视频做裁剪、缩放、旋转、拼接、通道复用;
核心接口:
NI_MDK_VPS_SetGrpAttr
NI_MDK_VPS_GetFrame
NI_MDK_VPS_SetChnAttr
重要性:在多码流或分辨率转换项目中非常关键。
🎞️ 五、视频编码 VENC 模块
章节 7
核心:将 YUV 帧编码为 H.264/H.265/JPEG;
支持 CBR/VBR/QVBR 等多种码控;
关键 API:
NI_MDK_VENC_CreateChn
NI_MDK_VENC_StartRecvPic
NI_MDK_VENC_GetStream
/NI_MDK_VENC_ReleaseStream
推荐重点:掌握编码参数配置(
VENC_CHN_ATTR_S
)和码流抓取流程。
🖼️ 六、图形叠加 OSD 模块
章节 8
用于在视频上叠加文字/图像;
API:
NI_MDK_OSD_Create
、NI_MDK_OSD_PaintToChn
;在安防监控项目中常用于水印、时间戳显示。
🎧 七、音频处理模块
章节 11
音频采集(AI)、播放(AO)、编码(AENC);
API 示例:
NI_MDK_AI_SetPubAttr
NI_MDK_AENC_CreateChn
NI_MDK_AENC_Start
重点:了解音频采样率、PCM/I2S 接口、AAC/G711 编码。