3.16. Sunrise camera 用户使用说明

3.16.1. 功能说明

Sunrise camera 是官方开发的应用程序,方便用户对 Camera、 VIO、 Codec、 BPU 等模块的快速评测。用户通过 PC 上的 Web 浏览器,可以方便的对程序进行参数配置,并实时预览视频流、算法渲染结果等信息。程序主要功能如下:

  • 支持智能摄像头功能模式

    • 最大支持接入 4 路 Camera Sensor

    • 支持在浏览器中,通过图形界面的方式控制 ISP 的参数

  • 支持智能多路解码分析盒功能模式

    • 编解码能力:最大支持 8 路 1080p@30 视频码流的编码或解码

    • 盒子模式是先解码视频文件再编码后传输的,所以盒子模式最大支持 4 路 1080p@30

  • 支持通过 PC 浏览器对程序进行参数配置,例如 Camera sensor、编码码率、算法模型、视频源等参数

  • 支持通过 PC 浏览器、 VLC 拉流、 HDMI 输出等多种方式预览图像效果

  • 算法多种模型切换,例如 mobilenet_v2 、 yolov5s、 fcos 等

3.16.2. 硬件环境准备

  • 运行 Sunrise camera 前,需要准备如下配件:

    • 开发板配套摄像头,如 SC230AI、 SC132GS、 F37 等

    • 网线一条,保证 PC 和开发板能够 ping 通

    • Micro USB 线一条 ( 无网口时 ),开发板可通过 USB 虚拟网口跟 PC 通讯

整体连接方式见下图:

image-20220328223942514

开发板上连接 Camera sensor 的方法请查阅 摄像头 (MIPI CSI) 接口 章节。

3.16.2.1. 网络连接要求

为保证 4K 编码推流时的稳定性,建议开发板与 PC 机使用千兆网口直连。

3.16.3. 部署 Sunrise camera

Sunrise camera 软件部署包命名为 sunrise_camera_vxxx.tar.gz(生成部署包的方式见:编译方法),预编译好的部署包存放在 sample 目录下。建议解压到 /app 目录下:

tar -xvf sunrise_camera_v3.1.0.tar.gz  -C /app/

解压生成的文件包括: sunrise_camera 主程序目录、 WebServer 目录( httpd 服务程序和网页目录)、 start_app.sh 启动脚本,详细目录结构说明如下:

.
├── start_app.sh 		    # 启动脚本,按顺序启动 web 服务、主程序
├── sunrise_camera
│   ├── bin				    # 主程序
│   ├── include			    # 通用头文件(备用)
│   ├── lib				    # 编译生成的静态库(备用)
│   ├── model_zoom			# 应用中用到的算法模型
│   └── test_data			# 应用默认配置文件和测试文件
└── WebServer
    ├── fcgi				# fcgi 程序(备用)
    ├── sc_lighttpd			# httpd 和 web 页面
    ├── pcre				# lighttpd 依赖
    ├── README.txt			# fcgi、 lighttpd、 pcre 编译部署说明
└── start_lighttpd.sh		# web 服务启动脚本

3.16.3.1. 程序启动方式

手动启动:

部署 Sunrise camera 后(以部署在 /app 目录下为例),登录开发板后,进入 /app 目录,执行 sh ./start_app.sh 启动。

上电自启动:

部署 Sunrise camera 后(以部署在 /app 目录下为例),登录开发板后,进入 /app 目录,修改 start_app.sh 为 startup.sh, 即完成了自动启动配置,可以重启设备检查结果。

cd /app
cp start_app.sh startup.sh
sync
reboot

3.16.4. Web 客户端使用说明

3.16.4.1. 主界面

Sunrise camera 正常启动后,通过 chrome 浏览器在地址栏输入 IP 地址(开发板默认 IP 为 192.168.1.10 )可以登录用户控制主界面, 例如: http://192.168.1.10

image-20220307220148037

登录成功后的界面显示如下:

image-20220307220153876

界面菜单详细说明如下:

功能编号 说明
1 配置应用方案,点击后打开应用方案选择和参数配置页面
2 显示当前运行的场景信息
3 显示当前应用方案的主要信息,例如使用的 sensor 型号,编解码参数,算法模型
4 应用方案框图,了解当前应用方案的数据流,点击后放大查看大图
5 视频显示主画面,根据应用方案运行的视频通路数自动调整显示画面数量
6 预览视频的实时帧率
7 算法运算的实时帧率

3.16.4.2. 参数配置方式

  1. Sunrise camera 支持两种应用方案:智能摄像机 和 智能分析盒( 默认应用方案为 单路视频分析盒)

  2. Sunrise camera 支持通过 Web 端在线修改应用方案、选择 camera sensor 型号、设置解码、编码参数及选择算法模型等

智能摄像机配置方式

image-20220328224841611

具体修改步骤如下:

  1. 启动 sunrise_camera 程序,打开 chrome 浏览器输入设备的 IP 地址,例如: http://192.168.1.10

  2. 点击 配置应用方案 按钮,上图 1 标号

  3. 可以查看到当前的设备信息,包括芯片类型,软件版本, rtsp 码流链接(该链接支持在 vlc 软件上拉 rtsp 视频码流,可以支持录像、截图等操作),上图 2 标号

  4. 选中应用方案,上图 3 标号,每种应用方案的参数设置和注意事项,请点击 问号 按钮了解。

  5. 点击 提交 按钮,立刻实现应用方案的切换。(注:仅点击提交不会修改开发板的配置文件,可以用来临时修改参数进行调试)

  6. 点击 保存当前配置 按钮会把设置好的配置写入开发板上的配置文件,下次重新启动 sunrise_camera 时会按照当前配置启动。

  7. 点击 恢复默认配置,会重新用户配置,还原为 单路视频分析盒 的配置。

注意:

  1. Camera 接口与电路板中的 CSI 接口一一对应,只有实际接入到硬件电路并且适配过的 Camera 时才会在使能 Camera 接口中显示

  2. 如果点击了 保存当前配置 按钮,但是再次上电时更换了新的摄像头,那么新插入的摄像头默认是非使能状态

智能分析盒配置方式

image-20220307220126767

具体修改步骤如下:

  1. 启动 sunrise_camera 程序,打开 chrome 浏览器输入设备的 IP 地址,例如: http://192.168.1.10

  2. 点击 配置应用方案 按钮,上图 1 标号

  3. 可以查看到当前的设备信息,包括芯片类型,软件版本, rtsp 码流链接(该链接支持在 vlc 软件上拉 rtsp 视频码流,可以支持录像、截图等操作),上图 2 标号

  4. 选中应用方案,上图 3 标号,每种应用方案的参数设置和注意事项,请点击 问号 按钮了解。

  5. 点击 提交 按钮,立刻实现应用方案的切换。(注:仅点击提交不会修改开发板的配置文件,可以用来临时修改参数进行调试)

  6. 点击 保存当前配置 按钮会把设置好的配置写入开发板上的配置文件,下次重新启动 sunrise_camera 时会按照当前配置启动。

  7. 点击 恢复默认配置,会重新用户配置,还原为 单路视频分析盒 的配置。

3.16.5. 智能摄像机配置

智能摄像机方案实现了 Camera sensor 图像的采集、处理、编码、 rtsp 推流及智能计算等功能,可以帮助用户快速体验多媒体图像和算法效果,方案功能框图如下:

image-20220328224841610

智能摄像机方案提供了以下功能:

  • 实时视频监控

  • 运行指定的算法

  • 当有多颗 Camera Sensor 接入时,支持开启多路视频预览

  • 支持通过浏览器动态调节 ISP 参数

3.16.5.1. 参数说明

智能摄像机方案具有以下可调参数:

  • 使能 Camera 接口:显示已经实际接入了摄像头的 CSI 接口的列表,并且可以根据需要使能不同的接口

  • Sensor 型号:程序会探测接入到设备上的可以使用的 Camera Sensor 型号,根据需要进行配置

  • 编码类型:控制视频编码格式,支持 H264\H265\Mjpeg, 根据硬件能力、软件支持情况会有所不同

  • 编码码率:控制视频编码的码率,以下是不同分辨率视频的参考码率

    • 标清视频 (480p): 256, 512, 768, 1024, 1536, 2048

    • 高清视频 (720p): 512, 1024, 2048, 3072, 4096, 6144

    • 全高清视频 (1080p): 1024, 2048, 4096, 6144, 8192, 12288

    • 2K 视频 : 2048, 4096, 8192, 12288, 16384, 24576

    • 4K 视频 : 4096, 8192, 16384, 24576, 32768, 49152

  • 算法模型:选择运行算法模型

3.16.5.2. ISP 参数动态调节

功能描述

ISP 参数动态调节功能,可以动态控制图像质量,支持两种模式

  • 自动模式

    • 自动模式下,ISP 内部会自动调整图像质量,此时不可以拖拽滑动条控制 ISP 参数

    • 浏览器页面会间隔 1 秒实时刷新各个的参数当前值

  • 手动模式

    • 手动模式,ISP 内部不再自动调整图像质量,此时可以拖拽滑动条控制 ISP 参数

使用方法

  • 左侧:进入 ISP 参数动态调整页面

  • 右侧:ISP参数调节方法,图中标注的解释如下:

    • 标注1:当前模式是自动模式,可以切换为手动模式

    • 标注2:当前模式是手动模式,并且可以通过滑动条配置参数

    • 标注3:当前参数值

    • 标注4:返回到主页面

image_quality_control

在使用智能摄像机方案时,请注意以下事项:

  • 确保 Camera Sensor 与开发板连接稳定

  • 根据需要调整编码码率以平衡视频质量和网络带宽

3.16.6. 智能分析盒配置

智能盒子方案实现了单路、四路 1080p 视频解码、拼接、编码、 rtsp 推流及智能计算等功能,用户可通过 Web 端、 HDMI 或者拉流方式预览效果。方案功能框图如下:

image-20220328225226472

智能分析盒方案提供了以下功能:

  • 解码码流后运行算法并重新编码推流

    • 支持读取开发板上的本地视频码流文件

    • 支持使用 RTSP 码流

    • 支持对解码的视频文件进行缩放后再编码

    • 支持控制码率和帧率

  • 运行指定的算法

3.16.6.1. 参数说明

智能分析盒方案具有以下可调参数:

  • 视频通道数:选择启用多少路视频分析通道

    • 启用的通道数的能力解码和编码合计不能超过 4K@60fps (硬件限制)

    • 设备默认分配给编解码、算法的 ION 内存为 1408MB ,如果启用路数过多,有可能会出现内存不足的问题,请参考 ION 系统调试指南 调整 ION 内存大小

  • 视频数据流( stream ): 支持读取开发板上的本地视频码流文件和 RTSP 码流

  • 解码类型( decode_type ):控制视频解码格式,支持 H264\H265\Mjpeg

  • 解码宽度( decode_width ):控制视频解码的宽度

  • 解码高度( decode_height ):控制视频解码的高度

  • 解码帧率( decode_frame_rate ):控制视频解码的帧率

  • 编码类型( encode_type ):控制视频编码格式,支持 H264\H265\Mjpeg

  • 编码宽度( encode_width ):控制视频编码的宽度

  • 编码高度( encode_height ):控制视频编码的高度

  • 编码帧率( encode_frame_rate ):控制视频编码的帧率

  • 编码码率( encode_bitrate ):控制视频编码的码率,以下是不同分辨率视频的参考码率

    • 标清视频( 480p ): 256, 512, 768, 1024, 1536, 2048

    • 高清视频( 720p ): 512, 1024, 2048, 3072, 4096, 6144

    • 全高清视频( 1080p ): 1024, 2048, 4096, 6144, 8192, 12288

    • 2K 视频 : 2048, 4096, 8192, 12288, 16384, 24576

    • 4K 视频 : 4096, 8192, 16384, 24576, 32768, 49152

  • 算法模型( model ):选择运行算法模型

3.16.6.2. 注意事项

在使用智能分析盒方案时,请注意以下事项:

  • 确保网络连接稳定,网络带宽满足数据传输量的要求

  • 根据需要调整分析通道数和分析算法以满足应用需求

  • 启用的通道数的能力解码和编码合计不能超过 4K@60fps (硬件限制)

  • 设备默认分配给编解码、算法的 ION 内存为 1GB,如果启用路数过多,有可能会出现内存不足的问题,需要调大 ION

3.16.7. 使用 VLC 播放器播放 RTSP 码流

Sunrise camera 程序运行时会同步推送 rtsp 视频码流,用户可以通过 vlc 播放器播放 RTSP 码流,实现画面预览、录像、截图等功能。

3.16.7.1. 播放方法

打开 vlc 播放器,选择 媒体 菜单,然后选择 打开网络串流 选项。

在 打开媒体 对话框中填入 url 地址,点击 播放 按钮即可开始播放,如下图:

image-20220328225311750

rtsp 的码流网络 URL 链接,可以在 web 的设备信息上查看,默认支持的码流链接为: rtsp://192.168.1.10/stream_chn0.h264

3.16.7.2. 4K@30fps 拉流配置说明

1 、 4K@30fps 并且配置高码率( 8192Kbps 以上)的情况下,为了保证视频播放流畅不丢帧,建议使用千兆网络,否则很容易出现视频马赛克和花屏等情况。

2 、 vlc buffer_size 设置, vlc 接收 buffer 修改:默认是 250000 ,建议改到 1200000 。

image-20220328225330413

3 、使用 http 模式,可以有效解决播放丢帧导致的花屏。

image-20220328225347010

4 、高级设置里面禁用时钟同步

image-20220328225402005