Anyka 安凯芯片固件工具清单分类解析字典

概述

本文对经典的音视频边缘计算芯片,Anyka安凯芯片的工具进行系统化分类解析,核心分为安凯自研媒体SDK工具、Linux基础系统命令及配套调试小工具三大类。自研工具以ak_xxx_sample系列为主,覆盖音视频编解码、图像预处理、智能分析、外设驱动、系统安全等核心功能,是摄像头设备图像采集、编码录像、画质调试、外设控制的核心调试工具。系统命令支撑设备文件管理、进程监控、网络测试、数据校验等基础运维工作,适配固件开发、设备调试、性能优化等场景。整套工具适配AV130等主流安凯平台,可满足IPC设备开发、功能调试、参数适配、问题排查等开发运维需求。

一、安凯媒体 SDK 示例程序 : ak_xxx_sample,核心音视频开发工具

1. 音频模块

|--------------------------|------------------------|
| 工具名 | 功能说明 |
| ak_adec_sample | 音频解码示例(aac/g711 等解码播放) |
| ak_aenc_sample | 音频编码示例(麦克风录音编码) |
| ak_ai_sample | AI 音频输入采集 |
| ak_ai_resample_sample | 音频重采样(8k/16k/48k 互转) |
| ak_ao_sample | AI 音频输出播放 |
| ak_vad_sample | 人声静音检测 VAD |
| ak_vqe_sample | 语音降噪 / 回声消除算法 |
| ak_pitch_sample | 变声、音调处理 |
| ak_baby_screaming_sample | 哭声检测算法 Demo |

2. 视频采集 & 编码

|-----------------------|------------------------------------|
| 工具名 | 功能说明 |
| ak_vi_sample | VI 图像传感器采集基础示例 |
| ak_vi_draw_box_sample | VI 通道叠加矩形框(OSD 预览框) |
| ak_venc_sample | 视频编码主程序(H264/H265/JPEG),前文参数工具 |
| ak_multi_CISs_sample | 多摄像头多路 Sensor 采集 |

3. VPSS 图像预处理 : 3DNR、美颜、掩码、畸变校正

|---------------------------|------------------|
| 工具名 | 功能说明 |
| ak_vpss_3dnr_buf_sample | 3D 降噪 VPSS 处理 |
| ak_vpss_effect_sample | 图像特效(对比度、饱和度、锐化) |
| ak_vpss_mask_sample | 画面隐私遮挡掩码 |
| ak_vpss_md_sample | VPSS 移动侦测 MD |
| ak_vpss_qr_sample | VPSS 内置二维码识别 |
| ak_vpss_sps_sample / sps2 | 图像畸变校正、镜头校正 |
| ak_fast_aov_sample | 快速广角畸变校正 |

4. 码流封装 / 解封装 / 流媒体

|-----------------------|------------------------|
| 工具名 | 功能说明 |
| ak_mux_sample | 音视频码流封装(mp4/avi) |
| ak_demux_sample | 媒体文件解封装 |
| ak_rtsp_server_sample | RTSP 流媒体推流服务(IPC 预览核心) |

5. OSD 叠加

|------------------|------------------|
| 工具名 | 功能说明 |
| ak_osd_sample | 基础 OSD 文字 / 图片叠加 |
| ak_osd_ex_sample | 增强 OSD,多图层、透明度 |

6. 外设驱动示例(GPIO/PWM/ADC/WDT/ 电机 / 红外等)

|--------------------------------|---------------------|
| 工具名 | 功能说明 |
| ak_drv_gpio_sample | GPIO 输入输出控制 |
| ak_drv_key_sample | 按键驱动读取 |
| ak_drv_led_sample | LED 灯控 PWM |
| ak_drv_pwm_sample | PWM 波形输出 |
| ak_drv_saradc_sample | ADC 电压采集(电池、NTC 温度) |
| ak_drv_rtc_sample | 实时时钟读写时间 |
| ak_drv_wdt_sample | 硬件看门狗喂狗测试 |
| ak_drv_motor_sample | 云台电机(PTZ)控制 |
| ak_ir_sample / ak_ps_ir_sample | 红外人体感应检测 |
| ak_vibe_sample | 震动传感器采集 |

7. 安全 / 唯一标识

|-------------------------------------|------------------|
| 工具名 | 功能说明 |
| ak_drv_crypto_sample | 硬件加解密(AES/SHA) |
| ak_drv_efuse_sample | 读取芯片 efuse 唯一序列号 |
| ak_uuid_sample / ak_uuid_ext_sample | 生成设备唯一 UUID |

8. 智能分析

|----------------|-------------------------|
| 工具名 | 功能说明 |
| ak_svp2_sample | SVP2 智能 NPU 推理(人形、人脸识别) |

二、Linux 系统基础命令

文件操作

ls、diff、dirname、du、find、hexdump、hexedit、split、cmp、cksum、cut、paste、sort、wc、which、tree、mkdir(mkfifo)、unlink

进程管理

top、killall、pkill、pgrep、pstree、pscan、pmap、lsof、free、setsid、renice、chrt

网络工具

ipcs、ipcrm、iperf/iperf3、nc、ftpget/ftpput、rz/sz、lrz、telnet、tftp、tcpsvd、udpsvd、nslookup、traceroute

哈希校验(固件校验、CRC 辅助)

md5sum、sha1sum、sha256sum、sha3sum、sha512sum

日志与文本处理

less、head、tail、logger、script、expand、fold、expr、seq、xargs

系统信息 / 账号

id、groups、logname、whoami、passwd、uptime、time、hostname(hostid)

压缩工具

lzcat、xzcat、bzcat

三、配套脚本与小工具

  • vclk.sh:视频时钟配置脚本
  • volname:磁盘分区名称读取
  • beep:蜂鸣器发声
  • showkey:键盘按键调试
  • smemcap:内存快照抓取

补充使用建议

  1. 编码录像直接执行:./ak_venc_sample -h 查看你之前的编码参数;
  1. RTSP 预览调试:./ak_rtsp_server_sample 启动流媒体,电脑 VLC 拉流;
  1. 图像画质调试:ak_vpss_3dnr_buf_sample 调节降噪;
  1. 外设调试:GPIO/ADC/ 电机对应 ak_drv_xxx_sample;
  1. 网络带宽测试:iperf3 测试设备网口吞吐,搭配 venc 调整码率。

四 、示例: 1080P H265 录像 ak_venc_sample 命令

1、准备环境:执行 sc2337运行环境

sc2337p_dual.sh

2、启动采集

ak_venc_sample -n 1000 -o h264 -b 1 -t 1024 -r 20 -m 4 -s 1 -p /tmp -a 0 -v 2 -c /etc/isp_sc2337p_mipi_2lane_av130_dual.conf

|------------------|-------------|------------------|--------------------------------------------------------|
| ak_venc_sample 命令行参数说明 ||||
| 参数全称 | 短参数 | 参数说明 | 取值范围/备注 |
| --help | -h | 打印帮助信息 | 无 |
| --frame-num | -n | 从vi获取的帧的数量 | 大于0的整数 |
| --data-output | -o | 编码输出数据格式 | 可选值:h264、h265、jpeg;37e仅支持jpeg,300L不支持h264 |
| --br_mode | -b | 编码模式 | 0:cbr,1:vbr,2:CONST_QP,4:AVBR;2、4仅av100支持 |
| --target_kbps | -t | 目标码率 | 单位:kbps,取值大于0 |
| --frame-rate | -r | 帧率 | 大于0,且小于sensor实际帧率 |
| --main_res | -m | 主通道分辨率 | 取值范围0,10;37e支持0,1,300L支持0,4 |
| --sub_res | -s | 次通道分辨率 | 取值范围0,3;需小于主通道分辨率 |
| --save-path | -p | 编码数据保存目录 | 本地文件系统目录路径 |
| --channel | -a | vi通道选择 | 0-main,1-sub |
| --input-mode | -i | 编码源文件来源 | 0:vi,1:sdcard |
| --input-path | -c | isp配置文件或YUV源文件目录 | dev_cnt:1 对应isp_xxx.conf;dev_cnt:2 对应isp_xxx_dual.conf |
| --dev_cnt | -v | 设备数量 | 取值范围1,2,默认值1 |
| --cycle | -C | 循环次数 | 默认值1 |
| --save_file_flag | -f | 保存文件标志 | 0不保存,其他值保存,默认值1 |

|---------------|--------------|--------------|
| 分辨率编号与分辨率值映射表 |||
| 分辨率编号 | 分辨率值 | 支持说明 |
| 0 | 640*360 | 37e、300L均支持 |
| 1 | 640*480 | 37e、300L均支持 |
| 2 | 1280*720 | 仅300L支持 |
| 3 | 960*1080 | 仅300L支持 |
| 4 | 1920*1080 | 仅300L支持 |
| 5 | 2304*1296 | 全平台支持 |
| 6 | 2560*1440 | 全平台支持 |
| 7 | 2560*1920 | 全平台支持 |
| 8 | 2688*1520 | 全平台支持 |
| 9 | 2880*1620 | 全平台支持 |
| 10 | 2880*2160 | 全平台支持 |

|------------|--------------------------|---------------|------------------------------------|
| 示例命令拆解 ||||
| 示例命令:ak_venc_sample -n 1000 -o h264 -b 1 -t 1024 -r 20 -m 4 -s 1 -p /mnt/video -a 0 -c /etc/config/isp_xx.conf ||||
| 参数 | 参数值 | 对应全称 | 参数含义 |
| -n | 1000 | --frame-num | 从vi获取1000帧图像 |
| -o | h264 | --data-output | 编码输出格式为h264 |
| -b | 1 | --br_mode | 编码模式为vbr(可变码率) |
| -t | 1024 | --target_kbps | 目标码率为1024kbps |
| -r | 20ak_venc_sample | --frame-rate | 帧率为20fps |
| -m | 4 | --main_res | 主通道分辨率为1920*1080 |
| -s | 1 | --sub_res | 次通道分辨率为640*480 |
| -p | /mnt/video | --save-path | 编码数据保存到/mnt/video目录 |
| -a | 0 | --channel | 选择主通道(main) |
| -c | /etc/config/isp_xx.conf | --input-path | 使用/etc/config/isp_xx.conf作为isp配置文件 |