打印
[STM32N6]

【STM32N6570-DK测评】3、VENC RTSP视频流服务

[复制链接]
308|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 sujingliang 于 2025-4-22 11:36 编辑

STM32N6570-DK集成了视频编码器(VENC)提供视频编码硬件加速,可以用于编码1080p 30视频、H264格式的流、3亿像素/秒的静止图像(JPEG)。VENC具有128K字节的视频RAM(VENCRAM),当未使用VENC时,VENCRAM也可以用于系统连续扩展访问。
上游外围设备(如摄像头)直接连接到VENC,无需写入完整帧缓冲区,不需要外部带宽。

本文以例程STM32N6570-DK\Applications\VENC\VENC_JPEG_Encoding为例,演示N6如何搭建RTSP视频流服务,。

该应用程序旨在传输格式H264格式编码的视频流。将H264帧通过以太网外设发送,使用RTP协议(实时传输协议)连接到远程PC客户端如VLC媒体播放器进行播放。


1、例程编译
打开STM32N6570-DK\Applications\VENC\VENC_RTSP_Server\STM32CubeIDE下的.preject工程。在STM32CubeIDE可以看到导入了2个子工程

分别对FSBL、和Appli工程进行编译

2、烧录

1)BOOT1设置为1。
2)使用以下命令调用CubeProgrammer,向生成的Appli二进制Project.bin添加一个签名标头
STM32_SigningTool_CLI.exe -bin Project.bin -nk -of 0x80000000 -t fsbl -o Project-trusted.bin -hv 2.3 -dump Project-trusted.bin
生成的二进制文件是Project-trasted.bin。


使用CubeProgramer时,将Appli 二进制文件及其标头(Project-trusted.bin)加载到DK板外部Flash的地址0x7010'0000处。


3)使用以下命令调用CubeProgrammer,向生成的FSBL二进制FSBL.bin添加一个签名标头。
  • STM32_SigningTool_CLI.exe -bin FSBL.bin -nk -of 0x80000000 -t fsbl -o FSBL-trusted.bin -hv 2.3 -dump FSBL-trusted.bin


生成的二进制文件是FSBL-trasted.bin。
4)再次使用CubeProgramer时,将FSBL二进制文件及其标头(FSBL-rested.bin)加载到DK板外部Flash的地址0x70000000处。

5)将启动模式设置为从外部闪存启动(BOOT0开关位置为0,BOOT1开关位置为0).按下重置按钮。然后,代码在从外部Flash模式启动时执行。


3、运行

开发板需要连接上网线后再上电,UART输出:

说明RTSP服务已经建立,等待连接,连接地址rtsp://192.168.31.253:554

PC机上需安装


打开VLC,媒体->打开网络串流,做如下配置:

URL:rtsp://192.168.31.253:554
缓存:200ms
按下播放

显示摄像头拍摄信息:





例程成度较高,要求不高可以直接使用。
例程使用了NetXDuo、STM32_ISP、ThreadX、VideoEncoder等技术,如果个人从头搭建难度不小。


使用特权

评论回复
沙发
xhackerustc| | 2025-4-23 12:39 | 只看该作者
因为它用了ThreadX,NetX,基本是个调度+协议栈吧,换个SoC又要重新搞。这正说明zephyr之类的有完整生态和OS抽象的RTOS优势所在,一旦应用写好就可以在所有本RTOS支持的平台上跑,现在很多厂商在往zephyr迁移,包括ST在内的是直接参与zephry开发的,有linux那味了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

58

主题

116

帖子

0

粉丝