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

相关推荐
Bony-1 小时前
Go语言完全学习指南 - 从基础到精通------语言基础篇
服务器·开发语言·golang
阿巴~阿巴~2 小时前
线程安全单例模式与懒汉线程池的实现与优化
linux·服务器·单例模式·线程池·饿汉模式·懒汉模式·静态方法
大隐隐于野2 小时前
tcp 丢包分析
linux·服务器·网络
梦昼初DawnDream2 小时前
linux安全基线
linux·运维·安全
Broken Arrows2 小时前
在Linux系统中,top命令的显示参数详解
linux·运维·服务器
APIshop3 小时前
PHP:一种强大的服务器端脚本语言
服务器·php
qq_401700414 小时前
I.MX6U 启动方式详解
linux
code-vibe5 小时前
物理机 kali 改造笔记 (一)
linux·运维·服务器
老黄编程5 小时前
03-gpg(证书管理 )详细范例
linux·运维·ubuntu·数字证书
莱茶荼菜6 小时前
Ubuntu 20.04 系统库管理详细教程
linux·运维·ubuntu