当前位置: 首页 > news >正文

【技术分享】RK356X Ubuntu 推流USB摄像头

本文适用与触觉智能所有RK356X ubuntu系统的主板。

IDO-SBC3566基于瑞芯微RK3566研发的一款高性能低功耗的智能主板,采用四核A55,主频高达1.8GHz,专为个人移动互联网设备和AIOT设备而设计,内置了多种功能强大的嵌入式硬件引擎,为高端应用提供了优异的性能,支持几乎全格式的4K编解码,内置3DGPU,能够完全兼容OpenGL ES1.1/2.0/3.2、OpenCL2.0和Vulkan1.0.特殊的MMU2D硬件引擎,此外,凭借其强大的兼容性,可以轻松地转换基于TensorFlow/MXNet/PyTorch/Caffe等一系列框架的网络模型。

支持Android,Linux,OpenHarmony,麒麟OS等多种操作系统,可广泛应用于平板、教育平板、带屏音箱、词典笔、云终端、视频会议系统等安卓/Linux类应用方案,以及其他带屏消费类、或轻量级AI应用场景。

产品规格书查看深圳触觉智能官网-产品中心

01 确认USB摄像头设备节点

主板接上USB摄像头后,使用以下命令查看USB摄像头的设备节点:

root@ido:~# v4l2-ctl --list-devices
rkisp-statistics (platform: rkisp):/dev/video7/dev/video8rkisp_mainpath (platform:rkisp-vir0):/dev/video0/dev/video1/dev/video2/dev/video3/dev/video4/dev/video5/dev/video6/dev/media0AC_2019053011080005: ZH-0305 (usb-xhci-hcd.4.auto-1):/dev/video9/dev/video10/dev/media1

video9即为USB摄像头的设备节点。

02 查看USB摄像头支持的图像格式

root@ido:~# v4l2-ctl -d /dev/video9 --list-formats-ext --all
...
...
...
ioctl: VIDIOC_ENUM_FMTType: Video Capture[0]: 'MJPG' (Motion-JPEG, compressed)Size: Discrete 1024x576Interval: Discrete 0.033s (30.000 fps)Size: Discrete 1280x720Interval: Discrete 0.033s (30.000 fps)Size: Discrete 896x504Interval: Discrete 0.033s (30.000 fps)Size: Discrete 800x600Interval: Discrete 0.033s (30.000 fps)Size: Discrete 640x480Interval: Discrete 0.033s (30.000 fps)[1]: 'YUYV' (YUYV 4:2:2)Size: Discrete 1280x720Interval: Discrete 0.100s (10.000 fps)Size: Discrete 1024x576Interval: Discrete 0.067s (15.000 fps)Size: Discrete 896x504Interval: Discrete 0.100s (10.000 fps)Size: Discrete 800x600Interval: Discrete 0.067s (15.000 fps)Size: Discrete 640x480Interval: Discrete 0.033s (30.000 fps)

可以看到,该USB摄像头支持MPEG格式最高1280x720@30FPS输出。

03推流到电脑上

RK356X主板将USB摄像头图像推流到电脑上显示。

3.1 主板安装gst-rtsp插件
 

apt install gstreamer1.0-rtsp
apt install gstreamer1.0-rtsp

3.2 主板安装mediamtx

mediamtx是一个rtsp server程序

root@ido:/home/ido# tar -xvf mediamtx_v1.1.1_linux_arm64v8.tar.gz
mediamtx
mediamtx.yml
LICENSE
root@ido:/home/ido# ./mediamtx &
[1] 1315
root@ido:/home/ido# 2023/10/20 02:56:04 INF MediaMTX v1.1.1
2023/10/20 02:56:04 INF [RTSP] listener opened on :8554 (TCP), :8000 (UDP/RTP), :8001 (UDP/RTCP)
2023/10/20 02:56:04 INF [RTMP] listener opened on :1935
2023/10/20 02:56:04 INF [HLS] listener opened on :8888
2023/10/20 02:56:04 INF [WebRTC] listener opened on :8889 (HTTP)
2023/10/20 02:56:04 INF [SRT] listener opened on :8890 (UDP)

mediamtx安装包可到以下链接下载:
链接:https://pan.baidu.com/s/1CXrk7eJIkUJKD4tK1SkFAA?pwd=1234

提取码:1234

3.3 主板开始RTSP推流

查看主板的IP地址:

root@ido:/home/ido# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.1.196  netmask 255.255.255.0  broadcast 192.168.1.255inet6 fe80::d079:b6fc:c367:fea6 prefixlen 64  scopeid 0x20<link>ether 86:41:8a:06:1d:7c txqueuelen 1000  (Ethernet)RX packets 52836  bytes 38891607 (38.8 MB)RX errors 0  dropped 1  overruns 0  frame 0TX packets 885065  bytes 1255645741 (1.2 GB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0device interrupt 40lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1  netmask 255.0.0.0inet6 ::1  prefixlen 128  scopeid 0x10<host>loop txqueuelen 1000  (Local Loopback)RX packets 284667  bytes 313713612 (313.7 MB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 284667  bytes 313713612 (313.7 MB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

使用gst-launch-1.0工具进行RTSP推流:

gst-launch-1.0 v4l2src device=/dev/video9 \! image/jpeg ! avdec_mjpeg ! videoconvert \! video/x-raw,height=720,width=1280,frame=30/1,format=NV12 ! mpph264enc \! rtspclientsink location=rtsp://127.0.0.1:8554/stream

3.4 电脑播放

电脑打开VLC软件,点击【媒体】->【打开网络串流】->【网络】,并输入主板的RTSP推流地址和端口,然后点击播放:


点击播放按钮后,即可看到USB摄像头的图像了:

04推流到RK356X主板

RK356X主板A将USB摄像头推流到RK356X主板B上播放。

4.1 主板A安装gst-rtsp插件

sudo apt install gstreamer1.0-rtsp

4.2 主板A安装mediamtx

sudo apt install gstreamer1.0-rtsp

4.2 主板A安装mediamtx

mediamtx是一个rtsp server程序

sudo apt install gstreamer1.0-rtsp
root@ido:/home/ido# tar -xvf mediamtx_v1.1.1_linux_arm64v8.tar.gz
mediamtx
mediamtx.yml
LICENSE
root@ido:/home/ido# ./mediamtx &
[1] 1315
root@ido:/home/ido# 2023/10/20 02:56:04 INF MediaMTX v1.1.1
2023/10/20 02:56:04 INF [RTSP] listener opened on :8554 (TCP), :8000 (UDP/RTP), :8001 (UDP/RTCP)
2023/10/20 02:56:04 INF [RTMP] listener opened on :1935
2023/10/20 02:56:04 INF [HLS] listener opened on :8888
2023/10/20 02:56:04 INF [WebRTC] listener opened on :8889 (HTTP)
2023/10/20 02:56:04 INF [SRT] listener opened on :8890 (UDP)

mediamtx安装包可到以下链接下载:
链接:https://pan.baidu.com/s/1CXrk7eJIkUJKD4tK1SkFAA?pwd=1234

提取码:1234

4.3 主板A开始RTSP推流

查看主板A的IP地址:

root@ido:/home/ido# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.1.196  netmask 255.255.255.0  broadcast 192.168.1.255inet6 fe80::d079:b6fc:c367:fea6 prefixlen 64  scopeid 0x20<link>ether 86:41:8a:06:1d:7c txqueuelen 1000  (Ethernet)RX packets 52836  bytes 38891607 (38.8 MB)RX errors 0  dropped 1  overruns 0  frame 0TX packets 885065  bytes 1255645741 (1.2 GB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0device interrupt 40lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1  netmask 255.0.0.0inet6 ::1  prefixlen 128  scopeid 0x10<host>loop txqueuelen 1000  (Local Loopback)RX packets 284667  bytes 313713612 (313.7 MB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 284667  bytes 313713612 (313.7 MB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

使用gst-launch-1.0工具进行RTSP推流:

gst-launch-1.0 v4l2src device=/dev/video9 \! image/jpeg ! avdec_mjpeg ! videoconvert \! video/x-raw,height=720,width=1280,frame=30/1,format=NV12 ! mpph264enc \! rtspclientsink location=rtsp://127.0.0.1:8554/stream

4.4 主板B拉流并播放

root@ido:~# gst-launch-1.0 playbin uri=rtsp://192.168.1.196:8554/stream
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Progress: (open) Opening Stream
Progress: (connect) Connecting to rtsp://192.168.1.196:8554/stream
Progress: (open) Retrieving server options
Progress: (open) Retrieving media info
Progress: (request) SETUP stream 0
Progress: (open) Opened Stream
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Progress: (request) Sending PLAY request
Progress: (request) Sending PLAY request
Progress: (request) Sent PLAY request
mpp[1359]: mpp_rt: NOT found ion allocator
mpp[1359]: mpp_rt: found drm allocator
mpp[1359]: mpp_info: mpp version: 49f29006 author: Jeffy Chen 2021-08-04 [drm]: Add mmap flag detection
mpp[1359]: hal_h264d_vdpu34x: control info: fmt 7, w 1280, h 720
mpp[1359]: mpp_buf_slot: set frame info: w 1280 h 720 hor 1280 ver 720
mpp[1359]: mpp_dec: setting default w 1280 h 720 h_str 1280 v_str 720
mpp[1359]: h264d_api: is_avcC=1

相关文章:

【技术分享】RK356X Ubuntu 推流USB摄像头

本文适用与触觉智能所有RK356X ubuntu系统的主板。 IDO-SBC3566基于瑞芯微RK3566研发的一款高性能低功耗的智能主板&#xff0c;采用四核A55,主频高达1.8GHz&#xff0c;专为个人移动互联网设备和AIOT设备而设计&#xff0c;内置了多种功能强大的嵌入式硬件引擎&#xff0c;为…...

介绍一下rabbitMq应用场景

任务队列&#xff1a;RabbitMQ可以将待处理的任务放入队列中&#xff0c;再由多个工作进程异步地执行这些任务。 日志处理&#xff1a;RabbitMQ可以通过发布-订阅模式将日志消息分发到多个消费者&#xff0c;并可以灵活地控制消息的优先级和过滤条件。 实时消息处理&#xff…...

IoT 物联网共享充电桩场景中设备资产定位和地理围栏开发实践

基于经纬度的设备资产定位和地理围栏在物联网场景中应用广泛 01 物联网 GEO 场景架构方案 首先&#xff0c;IoT 终端设备通过卫星定位模块获取当前经纬度&#xff1b;然后&#xff0c;将坐标信息实时上报到物联网平台&#xff1b;最后&#xff0c;存储到 Redis GEO 数据库中。 …...

【Qt进阶之自定义控件】使用QListWidget实现自定义Item效果

目的 Q&#xff1a;如何在Qt库的基础上&#xff0c;实现自定义控件呢&#xff1f; A&#xff1a;根据官方文档回答&#xff0c;就是继承需实现的控件&#xff0c;然后实现自定义功能。 以下是实现QListWidget控件的自定义item。 先看下最终效果是如何&#xff1a; listItem 主…...

【iOS】UITableView总结(Cell的复用原理、自定义Cell、UITableViewCell协议方法)

UITableView 列表的特点&#xff1a; 数据量大样式较为统一通常需要分组垂直滚动通常可视区只有一个 -> 视图的复用 UITableViewDataSource UITableView作为视图&#xff0c;只负责展示&#xff0c;协助管理&#xff0c;不管理数据 需要开发者为UITableView提供展示所需…...

shell之常见网络命令介绍

shell之常见网络命令介绍 1&#xff09;ifconfig 用于配置网络接口。可以用于开启、关闭和设置网络接口的参数&#xff0c;如IP地址、子网掩码、MAC地址等。 ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up上述命令将设置eth0网络接口的IP地址为192.168.1.1&#xff0c;子…...

Android屏幕刷新机制

基础知识 CPU运行在Android设备上的中央处理器&#xff08;Central Processing Unit&#xff09;是Android设备的核心组件之一&#xff0c;负责执行计算和控制设备的各种操作。 Android设备上的CPU通常采用ARM架构&#xff0c;如ARM Cortex-A系列处理器。这些处理器具有高性能…...

Python学习第3天-第一个Python程序

文章目录 前言一、创建项目二、创建程序总结 前言 下面给大家展示下经典的Hello World! 一、创建项目 二、创建程序 print("Hello World!")总结 回到顶部 学习网站 欢迎来到Python的世界&#xff01;...

Golang网络

golang游戏服务器框架 在Go语言中,有许多优秀的游戏服务器框架,以下是一些比较流行的框架: Leaf:一个轻量级的游戏服务器框架,支持多进程、分布式、热更新等特性。它提供了一些常用的组件,如网络层、定时器、数据库等等,可以帮助开发者快速构建游戏服务器。go-ethereum…...

[swift刷题模板] 树状数组(BIT/FenwickTree)

[TOC]([swift刷题模板] 树状数组(BIT/FenwickTree) ) 一、 算法&数据结构 1. 描述 [python刷题模板] 树状数组 二、 模板代码 1. 单点赋值(增加)&#xff0c;区间求和(PURQ) 例题: 307. 区域和检索 - 数组可修改 class BIT {var c: [Int]var n: Int init(_ n: Int){c…...

​CUDA学习笔记(三)CUDA简介

本篇博文转载于https://www.cnblogs.com/1024incn/tag/CUDA/&#xff0c;仅用于学习。 前言 线程的组织形式对程序的性能影响是至关重要的&#xff0c;本篇博文主要以下面一种情况来介绍线程组织形式&#xff1a; 2D grid 2D block 线程索引 矩阵在memory中是row-major线性…...

RK3568笔记三:基于ResNet18的Cifar-10分类识别训练部署

若该文为原创文章&#xff0c;转载请注明原文出处。 本篇文章参考的是野火-lubancat的rk3568教程&#xff0c;本篇记录了在正点原子的ATK-DLK3568部署。 一、介绍 ResNet18 是一种卷积神经网络&#xff0c;它有 18 层深度&#xff0c;其中包括带有权重的卷积层和全连接层。它…...

块状数据结构学习笔记

分块 分块的思想和珂朵莉树很类似&#xff0c;就是把原序列分成若干个块&#xff0c;对块进行操作的奇妙思想。复杂度通常带根号。分块的块长也有讲究&#xff0c;通常对于大小为 n n n 的数组&#xff0c;取距离 n \sqrt n n ​ 最近的 2 2 2 的幂数或直接取 n \sqrt n n…...

DOM4J解析.XML文件

<?xml version"1.0" encoding"utf-8" ?> <books><book id"SN123123413241"><name>java编程思想</name><author>华仔</author><price>9.9</price></book><book id"SN1234…...

黑豹程序员-架构师学习路线图-百科:MVC的演变终点SpringMVC

MVC发展史 在我们开发小型项目时&#xff0c;我们代码是混杂在一起的&#xff0c;术语称为紧耦合。 如最终写ASP、PHP。里面既包括服务器端代码&#xff0c;数据库操作的代码&#xff0c;又包括前端页面代码、HTML展现的代码、CSS美化的代码、JS交互的代码。可以看到早期编程就…...

二、BurpSuite Intruder暴力破解

一、介绍 解释&#xff1a; Burp Suite Intruder是一款功能强大的网络安全测试工具&#xff0c;它用于执行暴力破解攻击。它是Burp Suite套件的一部分&#xff0c;具有高度可定制的功能&#xff0c;能够自动化和批量化执行各种攻击&#xff0c;如密码破解、参数枚举和身份验证…...

solidworks 2024新功能之-让您的工作更加高效

您可以创建杰出的设计&#xff0c;并将这些杰出的设计将融入产品体验中。为了帮您简化和加快由概念到成品的产品开发流程&#xff0c;SOLIDWORKS 2024 涵盖全新的用户驱动型增强功能&#xff0c;致力于帮您实现更智能、更快速地与您的团队和外部合作伙伴协同工作。 SOLIDWORKS…...

华为eNSP配置专题-VRRP的配置

文章目录 华为eNSP配置专题-VRRP的配置0、参考文档1、前置环境1.1、宿主机1.2、eNSP模拟器 2、基本环境搭建2.1、基本终端构成和连接 2.VRRP的配置2.1、PC1的配置2.2、接入交换机acsw的配置2.3、核心交换机coresw1的配置2.4、核心交换机coresw2的配置2.5、配置VRRP2.6、配置出口…...

LuatOS-SOC接口文档(air780E)--lcd - lcd驱动模块

常量 常量 类型 解释 lcd.font_opposansm8 font 8号字体 lcd.font_unifont_t_symbols font 符号字体 lcd.font_open_iconic_weather_6x_t font 天气字体 lcd.font_opposansm10 font 10号字体 lcd.font_opposansm12 font 12号字体 lcd.font_opposansm16 font…...

敏捷是怎么提高工作效率的

敏捷管理是一门极力减少不必要工作量的艺术。 谷歌、亚马逊、苹果、微信、京东等全球 500 强企业都在用的管理方法&#xff0c;适用于各行各业&#xff0c;被盛赞为应获“管理学的诺贝尔奖”。 它专注于让员工不受种种杂事的羁绊&#xff0c;激发个体斗志&#xff0c;释放出巨大…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能&#xff0c;本节首先介绍如何通过 Docker 快速体验 TDengine&#xff0c;然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker&#xff0c;请使用 安装包的方式快…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

今日科技热点速览

&#x1f525; 今日科技热点速览 &#x1f3ae; 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售&#xff0c;主打更强图形性能与沉浸式体验&#xff0c;支持多模态交互&#xff0c;受到全球玩家热捧 。 &#x1f916; 人工智能持续突破 DeepSeek-R1&…...