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

相关推荐
何中应1 小时前
vmware的linux虚拟机如何设置以命令行方式启动
linux·运维·服务器
野犬寒鸦1 小时前
从零起步学习并发编程 || 第一章:初步认识进程与线程
java·服务器·后端·学习
江畔何人初2 小时前
kubernet与docker的关系
linux·运维·云原生
百炼成神 LV@菜哥2 小时前
Kylin Linux V10 aarch64 安装启动 TigerVNC-Server
linux·服务器·kylin
m0_737302582 小时前
百度智能云边缘云服务器,端云协同赋能全域智能场景
服务器
Anastasiozzzz2 小时前
LeetCode Hot100 295. 数据流的中位数 MedianFinder
java·服务器·前端
佑白雪乐3 小时前
<Linux基础11集>电流+二极管+晶体管+存储器
linux
嵌入式郑工3 小时前
RK3566 LubanCat 开发板 USB Gadget 配置完整复盘
linux·驱动开发·ubuntu
Exquisite.3 小时前
Nginx
服务器·前端·nginx
one____dream3 小时前
【网安】Reverse-非常规题目
linux·python·安全·网络安全·ctf