算能 BM1688 低延迟推流:Qt+WebSocket 直出 H5/HDMI

目录

一、项目核心背景与痛点

二、明确技术需求

三、环境搭建步骤

[3.1 卸载与重装cmake3.14](#3.1 卸载与重装cmake3.14)

[3.2 websocket网络推流](#3.2 websocket网络推流)

[3.3 安装sdk](#3.3 安装sdk)

[3.4 交叉编译环境搭建](#3.4 交叉编译环境搭建)

[3.5 打包](#3.5 打包)

[3.6 编译](#3.6 编译)

四、参考文章


一、项目核心背景与痛点

  1. 开发基础 :使用 Qt 开发低延迟视频流 Demo
  2. 当前问题
    • RTSP 流需要封装 + 经过 RTSP 流媒体服务器转发
    • 导致延迟高、卡顿、掉帧
    • 确认:掉帧 / 延迟不是 Qt Demo 本身问题 ,是推流链路 / 网络架构问题
  1. 展示需求
    • 本地:直接推送到 HDMI 显示器不走网络,无延迟
    • 后期:必须走网络推流,但传统方案依然会延迟卡顿

二、明确技术需求

  1. 需要现成可直接测试的 Web 低延迟推流方案
  2. 基于 Qt 编译
  3. 优先替代 RTSP,解决延迟问题

三、环境搭建步骤

3.1 卸载与重装cmake3.14

ubuntu中安装cmake_ubuntu安装cmake-CSDN博客

如果电脑有cmake3.10,先操作上面博客后在卸载3.10

1.卸载旧版本的cmake

sudo apt-get remove cmake

2.删除旧版本的CMake 3.10的配置文件

sudo rm -rf /usr/local/share/cmake-3.10

3.更新系统的缓存

hash -r

4.cmake --version

5.如果你仍然没看到自己新安装的版本,可以尝试手动指定CMake 3.14的路径

/home/vboxuser/homework/cmake-3.14.0/build/cmake --version

3.2 websocket网络推流

环境准备:ubuntu20.04(lsb_release -a查看ubuntu版本信息)

3.3 安装sdk

安装SDK --- BM1688_CV186AH_SOPHONSDK (HEAD detached at 6ec0158) 文档 (sophgo.com)

3.4 交叉编译环境搭建

复制代码
sudo apt-get install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu

验证交叉编译工具链是否成功

复制代码
which aarch64-linux-gnu-g++
2# 终端输出内容
3# /usr/bin/aarch64-linux-gnu-g++

3.5 打包

将程序所依赖的头文件和库文件打包至sophon_sdk_soc目录中

这里使用官网直接给配置好的,我的是1688的Soc模式,需要交叉编译

sophon-stream/docs/HowToMake.md at master · sophgo/sophon-stream · GitHub

3.6 编译

复制代码
mkdir build
cd build
cmake ../ -DTARGET_ARCH=soc -DSOPHON_SDK_SOC=/home/vboxuser/homework/suan_neng/sophon-stream-master/sophon_sdk_soc -DQTPATH=/path/to/qt -DOPENSSL_PATH=/path/to/openssl
make -j4

四、参考文章

Python读视频流发送给前端H5呈现-websocket实现方法_h5 websocket python-CSDN博客

相关推荐
LDR0065 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术5 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园5 天前
C++20 Modules 模块详解
java·开发语言·spring
swordbob5 天前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
源分享5 天前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm
Luminous.5 天前
C语言--day30
c语言·开发语言
何以解忧,唯有..5 天前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
网络研究院5 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展
酣大智5 天前
ARP代理--工作原理
运维·网络·arp·arp代理
謓泽5 天前
C语言不是语法,是通往机器的地图。
c语言·开发语言