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 编码。

相关推荐
学好statistics和DS2 分钟前
命令替换(Command Substitution)详解
linux
zimoyin2 分钟前
浅浅了解下0拷贝技术
java·linux·开发语言
ba_pi17 分钟前
每天写点什么2026-01-09-linux基础
linux·运维·服务器
少云清28 分钟前
【性能测试】3_性能测试基础 _指标
运维·服务器·数据库·性能测试·性能测试指标
wdfk_prog41 分钟前
[Linux]学习笔记系列 -- 底层CPU与体系结构宏
linux·笔记·学习
行走的bug...1 小时前
cmake总结
linux·运维·服务器
zfxwasaboy1 小时前
DRM KMS 子系统(3)CRTC
linux·c语言
凌波粒1 小时前
Linux 面试题篇
linux·运维·服务器
Joren的学习记录1 小时前
【Linux运维疑难杂症】k8s集群创建calico网络失败
linux·运维·kubernetes
虾..1 小时前
Linux 线程控制
linux·运维·服务器