算能 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博客

相关推荐
2501_944521596 小时前
Ramda 跨端三方库仓颉适配全流程
开发语言·javascript·flutter·php
行思理6 小时前
go语言学习难度及适合学习的人群
开发语言·学习·golang
青瓦梦滋7 小时前
WebSocket协议
linux·服务器·网络·c++·websocket·网络协议·http
zhang133830890757 小时前
传统机械三杯式风速传感器易磨损冻堵?CG-88金属超声波风速风向传感器给出免运维方案
运维·服务器·网络·人工智能·自动化
知已难寻8 小时前
第 2 篇 · 云的地基:服务器、存储、网络三大基础设施
运维·服务器·网络·云原生·云计算·负载均衡·1024程序员节
糖糖单片机设计8 小时前
基于 STM32 与中移 OneNet 的智慧电梯监控平台系统
stm32·单片机·嵌入式硬件·51单片机·语音识别
wangchunyu1148 小时前
JAVA CompletableFuture异步编程实战
java·开发语言·python
程序 代码狂人9 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
IpdataCloud9 小时前
批量查IP的API接口怎么选?免费API配额瓶颈与离线库本地批量方案实测
网络·网络协议·tcp/ip
meiying883810 小时前
快递单号批量查询Python脚本:从手动到自动化的完整实现
开发语言·python·自动化