# ss928_app **Repository Path**: shumjj/ss928_app ## Basic Information - **Project Name**: ss928_app - **Description**: ipc demo for ss928 - **Primary Language**: C/C++ - **License**: Not specified - **Default Branch**: develop - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 14 - **Created**: 2024-01-12 - **Last Updated**: 2026-04-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ss928_app #### 介绍 海思3403(SS928) demo(基于SS928V100_SDK_V2.0.2.3),可以在官方开发板上运行,演示如下功能: - H264/H265 rtsp服务 - H264/H265 rtmp服务(H265使用ID=0xC方案) - OSD(时间)功能 - HNR - 图像自适应(scene_auto) - yolov5 rtsp视频 - HDMI输出 当前支持的sensor为: - OS08A20 #### 编译方法 1. 按照/SS928V100_SDK_V2.0.2.3/osdrv/readme_cn.txt文档编译SDK(如果是官方开发板,存储介质是spi nand:MX35UF1G14AC,需要自行参考022 sdk,将spi nand驱动添加到uboot和kernel) 2. 编译open_source/iniparser(scene_auto功能需要) ``` cd SS928V100_SDK_V2.0.2.3/open_source/iniparser make ``` 3. 按照如下命令,编译app ``` cd SS928V100_SDK_V2.0.2.3/smp/a55_linux/mpp/sample git clone https://gitee.com/shumjj/ss928_app.git cd ss928_app make ``` #### 运行 1. 烧写默认rootfs,挂载nfs,假设nfs已经挂载,nfs目录为/mnt ``` // opt见版本库rootfs下 cp /mnt/opt / -Rdp //确保下面调用没有报错,且vi.json中的sensor名字和板子匹配,venc.json中的编码参数正确 cat /opt/ceanic/etc/vi.json cat /opt/ceanic/etc/venc.json cd /opt/ceanic/ko ./load_ss928v100 -i ``` 2. 复制编译的程序到板子,并手动运行 ``` ./ss928_app ``` #### RTSP ##### RTSP URL url为: rtsp://192.168.10.98/stream1 rtsp://192.168.10.98/stream2 rtsp://192.168.10.98/stream3 其中192.168.10.98需要修改为实际的板端地址,stream1为主编码(高清)码流,stream2为子编码(标清)码流,stream3为yolov5 视频(需要开启yolov5,修改/opt/ceanic/yolov5/yolov5.json,设置enable=1) ##### VLC连接RTSP vlc连接方法:媒体->打开网络串流->输入RTSP URL ![avatar](doc/rtsp_open.jpg) #### RTMP ##### RTMP测试流程 1. 确保/opt/ceanic/etc/net_service.json中enable为1,且main_url和sub_url值设置正确 2. 查看/opt/ceanic/etc/venc.json中编码类型是h264还是h265 3. 启动rtmp推流测试服务器,例如:https://github.com/illuspas/nginx-rtmp-win32 (该nginx支持h264/h265,h265使用ID=0xC方案) 4. 运行设备程序ceanic_app,运行成功的话,设备会connect到服务器,并发布视频(发布视频的url见第一步中的main_url和sub_url) 5. 运行rtmp拉流播放器,如果编码类型为h264(第二步中可以看到),可以使用vlc或potplayer播放,如果编码类型为h265,需要第三方播放器(使用ID=0xC方案),例如:https://gitee.com/icze1i0n/RtmpPlayer (此播放器播放4K异常,可以用1080p h265来验证) ##### VLC连接RTMP(只支持H264) vlc连接方法:媒体->打开网络串流->输入RTMP URL ![avatar](doc/rtmp_open.jpg) #### YOLOV5相关 1. demo中的yolov5使用svp_npu 2. 使用yolov5,需要关闭aiisp(/opt/ceanic/aiisp/aiisp.json中enable设置为0),并且修改load_ss928v100脚本,修改内容如下: ``` #insmod ot_pqp.ko insmod svp_npu/ot_svp_npu.ko svp_npu_save_power=1 svp_npu_max_task_node_num=512 ``` 3. 修改/opt/ceanic/yolov5/yolov5.json,设置enable为1,model_file设置为实际的模型路径 ``` { "yolov5" : { "enable" : 1, "model_file" : "/mnt/ss928/yolov5.om" } } ``` 4. 板端运行ss928_app,pc端运行vlc并输入地址rtsp://192.168.10.98/stream3(192.168.10.98为板端ip地址)观看yolov5视频 #### 配置文件说明 [配置文件说明](doc/set.md) #### 合作交流 联系方式: 深圳思尼克技术有限公司 jiajun.ma@ceanic.com 马佳君