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_SVI_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

  • 用于在视频上叠加文字/图像;

  • APINI_MDK_OSD_CreateNI_MDK_OSD_PaintToChn

  • 在安防监控项目中常用于水印、时间戳显示。


🎧 七、音频处理模块

章节 11

  • 音频采集(AI)、播放(AO)、编码(AENC);

  • API 示例

    • NI_MDK_AI_SetPubAttr

    • NI_MDK_AENC_CreateChn

    • NI_MDK_AENC_Start

  • 重点:了解音频采样率、PCM/I2S 接口、AAC/G711 编码。

相关推荐
remaindertime3 小时前
RocketMQ 集群部署实战:为什么我选择自己搭建,而不是现成方案
linux·docker·rocketmq
报错小能手3 小时前
linux学习笔记(26)计算机网络基础
linux·笔记·学习
盛满暮色 风止何安4 小时前
防火墙的类别和登录Web的方法
linux·运维·服务器·网络·网络协议·tcp/ip·网络安全
铭哥的编程日记4 小时前
【Linux】库制作与原理
android·linux·运维
shan~~5 小时前
linux安装海量数据库和操作
linux·数据库·oracle
qq_203183575 小时前
flink的Standalone-HA模式安装
linux
乌萨奇也要立志学C++5 小时前
【Linux】进程控制(二) 深入理解进程程序替换与 exec 系列函数
linux·运维·服务器
ShareBeHappy_Qin5 小时前
Linux 命令 —— 常用命令总结
linux·运维·服务器
Ronin3055 小时前
【Linux网络】Socket编程:TCP网络编程
linux·网络·网络编程·tcp