# Hi3519DV500_SDK_V2.0.2.0_MPP_Sample **Repository Path**: e-hi3519dv500/Hi3519DV500_SDK_V2.0.2.0_MPP_Sample ## Basic Information - **Project Name**: Hi3519DV500_SDK_V2.0.2.0_MPP_Sample - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2026-01-04 - **Last Updated**: 2026-04-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Hi3519DV500_SDK_V2.0.2.0_MPP_Sample ### 背景: ​ 为降低代码维护复杂度,将Hi3519DV500 SDK中的MPP Sample代码提取出来,单独进行维护,既方便及时更新相关代码,也方便集成代码到客户工程。 ​ 如果使用过程中遇到问题,欢迎到易百纳技术社区(https://www.ebaina.com/)发帖提问,并将帖子链接提交到Issue中,我们会尽快安排技术人员处理。 ### 1.为减少代码仓大小,已将相关测试源文件删除,可从SDK中获取。 SDK目录: ``` SDK对应目录Hi3519DV500_SDK_V2.0.2.0/smp/a55_linux/source/mpp/sample ``` 涉及删除的文件和目录: ``` src/ad_vio/1920_1080_192_400.bin文件 src/aiisp/ai3dnr/model目录 src/aiisp/aibnr/model目录 src/aiisp/aidrc/model目录 src/gfbg/res目录 src/heif/data目录 src/mcf/data目录 src/optee/svp_npu/host/data目录 src/region/res目录 src/stitch/lut目录 src/stitch/*.bin文件 src/scene_auto/param目录 src/svc_rate_auto/param目录 src/svp/dpu/data目录 src/svp/ive/data目录 src/svp/svp_npu/data目录 src/tde/res目录 src/thermo/model目录 src/thermo/raw目录 src/thermo_sceneauto/param目录 src/vdec/source_file目录 src/vgs/res目录 src/vio/UsePic_3840x2160_sp420.yuv文件 ``` ### 2. Sample 说明 ​ 使用本仓库中与Sensor和40Pin IO转接板有关sample前,请务必先阅读硬件接口说明文档: > [Hi3519DV500 硬件接口说明](./docs/Hi3519DV500硬件接口说明.md) **Sensor0 I2C 差异说明** ​ 由于不同板型的硬件设计差异,**Sensor0 所连接的 I2C 总线在各板型上并不一致**。在使用涉及 Sensor0 的 sample 前,请根据实际板型确认并正确配置对应的 I2C 总线号。 | 板卡类型 | Sensor0 I2C 总线 | | ------------ | ---------------- | | HongouPI_38C | i2c3 | | Board_38E | i2c5 | | Board_45E | i2c3 | **Sensor0 I2C 配置修改说明** ​ Sensor0 的 I2C 总线号默认配置为 **i2c3**,如与当前板型不一致,请修改以下文件中的对应配置:src/common/sample_comm_vi.c ![默认i2c号](./README.assets/默认i2c号修改.png) #### 1). 编译Sample ##### ①. 编译所有Sample ​ 进入`src`目录下直接`make`,编译所有的`sample`。也可以进入具体的`sample`目录,编译单独的`sample`。 ##### ②. 编译带sensor的sample 对于需要使用到Sensor的例程,需要修改src/Makefile.param。 ![sensor type](./README.assets/带sensor的sample编译选择.png) #### 2). audio 说明 ##### ①. 编译说明 ```shell src/audio下执行make, 生成sample_audio。 ``` ##### ②. 使用说明 ```shell 1. 拷贝sample_audio至板端。 2. 插入符合CTIA标准的3.5mm 四段耳机(带麦克风)。 3. 运行./sample_audio 1, 录制语音,录音结果保存为 audio_chn0.aac 文件。其中,耳机麦克风作为左声道输入,板载 MIC 作为右声道输入。 4. 运行./sample_audio 2, 播放audio_chn0.aac文件。 ``` a.音频输入 ![audio 音频输入](./README.assets/audio音频输入.png) b.音频输出 ![audio 音频输出](./README.assets/audio音频输出.png) #### 3). vio 说明 ##### ①. 编译说明 ```shell 1.编译Sample前,可根据实际使用的Sensor类型修改src/Makefile.param中的相关配置。若不修改,则默认使用src/Makefile.param中配置的Sensor类型;程序运行时也支持通过参数动态指定Sensor类型。 2.src/vio下执行make, 生成sample_vio。 ``` ##### ②. 使用说明 ![sample_vio运行信息](./README.assets/sample_vio运行信息.png) #### 4). vo 说明 ##### ①. 编译说明 ```shell 1.编译Sample前,可根据实际使用的Sensor类型修改src/Makefile.param中的相关配置。若不修改,则默认使用src/Makefile.param中配置的Sensor类型;程序运行时也支持通过参数动态指定Sensor类型。 2.src/vo下执行make, 生成sample_vo。 ``` ##### ②. 使用说明 a.DSI_TO_HDMI测试 ```shell ./sample_vo 3 5 #3840x2160@25 ./sample_vo 4 5 #3840x2160@30 ``` ![sample_vo_dsi运行信息](./README.assets/sample_vo_dsi运行信息.png) b.BT1120_TO_HDMI测试 ```shell ./sample_vo 5 5 #1080P@60 ``` ![sample_vo_bt1120运行信息](./README.assets/sample_vo_bt1120运行信息.png) c.MIPI屏幕测试 ![sample_vo_mipi屏幕运行信息](./README.assets/sample_vo_mipi屏幕运行信息.png) #### 5). vdec 说明 ##### ①. 编译说明 ```shell 1.编译Sample前,可根据实际使用的Sensor类型修改src/Makefile.param中的相关配置。若不修改,则默认使用src/Makefile.param中配置的Sensor类型;程序运行时也支持通过参数动态指定Sensor类型。 2.src/vdec下执行make, 生成sample_vdec。 ``` ##### ②. 使用说明 ```shell SDK中获取mpp/sample/vdec/source_file/3840x2160_8bit.h265。 ./sample_vdec 0 0 #DSI_TO_HDMI ./sample_vdec 0 1 #BT1120_TO_HDMI ``` ![sample_vdec运行信息](./README.assets/sample_vdec运行信息.png) #### 6). uvc 说明 ##### ①. 编译说明 ```shell 1.编译Sample前,可根据实际使用的Sensor类型修改src/Makefile.param中的相关配置。若不修改,则默认使用src/Makefile.param中配置的Sensor类型;程序运行时也支持通过参数动态指定Sensor类型。 2.src/uvc下执行make, 生成sample_uvc。 ``` ##### ②. 使用说明 ```shell 1.uvc_app支持sample_uvc、sample_uvc_v412(通过v4l2框架);支持1路/2路sensor; 2.鸿欧派硬件为USB2.0 不支持3840x2160P。 ``` ![sample_uvc提示信息](./README.assets/sample_uvc提示信息.png) ```shell ./start_uvc.sh 0 1 5 #单路UVC ./start_uvc.sh 1 1 5 #单路UVC(v4l2框架) ./start_uvc.sh 0 2 5 #双路UVC ./start_uvc.sh 1 2 5 #双路UVC(v4l2框架) ``` ![sample_uvc运行信息](./README.assets/sample_uvc运行信息.png) #### 7). rtspserver 说明 ​ 此目录代码基于 [PHZ76/RtspServer 项目]([PHZ76/RtspServer: RTSP Server , RTSP Pusher](https://github.com/PHZ76/RtspServer)) ##### ①. 编译说明 ```shell 1.src/rtspserver下执行make, 生成libxoprtsp.a。 ``` ##### ②. 使用说明 ```shell 1.拷贝api调用头文件至include/3rdparty下。 2.拷贝libxoprtsp.a库至lib/3rdparty。 ``` #### 8). venc 说明 ##### ①. 编译说明 ```shell 1.编译Sample前,可根据实际使用的Sensor类型修改src/Makefile.param中的相关配置。若不修改,则默认使用src/Makefile.param中配置的Sensor类型;程序运行时也支持通过参数动态指定Sensor类型。 2.src/venc下执行make, 生成sample_venc。 ``` ##### ②. 使用说明 a.录像测试 ```shell 1.拷贝sample_venc至板端。 2.运行sample_venc 0 0 0 5后,等待2~4秒,连按两次回车退出程序,查看当前目录是否生成 stream_chn0.h265、stream_chn1.h264 文件。 ``` ![sample_venc录像运行信息](./README.assets/sample_venc录像运行信息.png) b.rtsp拉流测试 ```shell 1.拷贝sample_venc至板端。 2.运行sample_venc 0 1 0 5后,使用VLC/PotPlayer等拉流软件进行拉流(拉流地址:rtsp://<板卡IP>:554/live0)。 ``` ![sample_venc rtsp拉流信息](./README.assets/sample_venc_rtsp拉流信息.png) #### 9). aiisp 说明 ##### ①. 编译说明 ```shell 1.编译Sample前,可根据实际使用的Sensor类型修改src/Makefile.param中的相关配置。若不修改,则默认使用src/Makefile.param中配置的Sensor类型;程序运行时也支持通过参数动态指定Sensor类型。 2.src/aiisp下执行make, 生成sample_aiisp。 ``` ##### ②. 使用说明 a.录像测试 ```shell 1.拷贝sample_aiisp至板端。 2.SDK中获取mpp/sample/aiisp下的ai3dnr、aibnr、aidrc对应的模型文件。 3.运行sample_aiisp 0 0 0 5后,等待2~4秒,连按两次回车退出程序,查看当前目录是否生成 stream_chn0.h265文件。 ``` ![sample_aiisp运行信息](./README.assets/sample_aiisp运行信息.png) b.rtsp拉流测试 ```shell 1.拷贝sample_aiisp至板端。 2.SDK中获取mpp/sample/aiisp下的ai3dnr、aibnr、aidrc对应的模型文件。 3.运行sample_aiisp 0 1 0 5后,使用VLC/PotPlayer等拉流软件进行拉流(拉流地址:rtsp://<板卡IP>:554/live0)。 ``` ![sample_aiisp rtsp拉流](./README.assets/sample_aiisp_rtsp拉流.png) #### 10). svp 说明 ##### ①. 编译说明 ```shell 1.编译Sample前,可根据实际使用的Sensor类型修改src/Makefile.param中的相关配置。若不修改,则默认使用src/Makefile.param中配置的Sensor类型;程序运行时也支持通过参数动态指定Sensor类型。 2.src/svp/svp_npu下执行make, 生成sample_svp_npu_main。 ``` ##### ②. 使用说明 ```shell 1.拷贝生成sample_svp_npu_main至板端。 2.SDK中获取mpp/sample/svp/svp_npu/data下依赖文件。 3.运行sample_aiisp 0 1 0 5后,使用VLC/PotPlayer等拉流软件进行拉流(拉流地址:rtsp://<板卡IP>:554/live0)。 ``` ![sample_svp_npu_main运行信息](./README.assets/sample_svp_npu_main运行信息.png)