0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RK356X Ubuntu 推流USB摄像头

触觉智能 2023-10-21 08:33 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文适用与触觉智能所有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等一系列框架的网络模型。

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

产品规格书:IDO-SBC3566-V1B 产品手册

747d67b6-6fa9-11ee-9788-92fbcf53809c.png

7499a03e-6fa9-11ee-9788-92fbcf53809c.png

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

root@ido:~# v4l2-ctl --list-devices
rkisp-statistics (platform:rkisp):
/dev/video7
/dev/video8

rkisp_mainpath (platform:rkisp-vir0):
/dev/video0
/dev/video1
/dev/video2
/dev/video3
/dev/video4
/dev/video5
/dev/video6
/dev/media0

AC_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_FMT
Type: Video Capture

[0]: 'MJPG'(Motion-JPEG, compressed)
Size: Discrete 1024x576
Interval:Discrete 0.033s (30.000fps)
Size: Discrete 1280x720
Interval:Discrete 0.033s (30.000fps)
Size: Discrete 896x504
Interval:Discrete 0.033s (30.000fps)
Size: Discrete 800x600
Interval:Discrete 0.033s (30.000fps)
Size: Discrete 640x480
Interval:Discrete 0.033s (30.000fps)
[1]: 'YUYV'(YUYV 4:2:2)
Size: Discrete 1280x720
Interval:Discrete 0.100s (10.000fps)
Size: Discrete 1024x576
Interval:Discrete 0.067s (15.000fps)
Size: Discrete 896x504
Interval:Discrete 0.100s (10.000fps)
Size: Discrete 800x600
Interval:Discrete 0.067s (15.000fps)
Size: Discrete 640x480
Interval:Discrete 0.033s (30.000fps)

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

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

3.1 主板安装gst-rtsp插件

apt installgstreamer1.0-rtsp


apt installgstreamer1.0-rtsp

3.2 主板安装mediamtx

mediamtx是一个rtsp server程序


root@ido:/home/ido# tar-xvfmediamtx_v1.1.1_linux_arm64v8.tar.gz
mediamtx
mediamtx.yml
LICENSE
root@ido:/home/ido# ./mediamtx&
[1]1315
root@ido:/home/ido# 2023/10/200204INFMediaMTXv1.1.1
2023/10/200204INF[RTSP]listeneropenedon:8554(TCP), :8000(UDP/RTP), :8001(UDP/RTCP)
2023/10/200204INF[RTMP]listeneropenedon:1935
2023/10/200204INF[HLS]listeneropenedon:8888
2023/10/200204INF[WebRTC]listeneropenedon:8889(HTTP)
2023/10/200204INF[SRT]listeneropenedon:8890(UDP)

3.3 主板开始RTSP推流

查看主板的IP地址:

root@ido:/home/ido# ifconfig
eth0:flags=4163 mtu 1500
inet 192.168.1.196netmask 255.255.255.0broadcast 192.168.1.255
inet6 fe80::d079c367:fea6 prefixlen 64scopeid 0x20
ether 86:41:8a:06:1d:7c txqueuelen 1000(Ethernet)
RX packets 52836bytes 38891607(38.8MB)
RX errors 0dropped 1overruns 0frame 0
TX packets 885065bytes 1255645741(1.2GB)
TX errors 0dropped 0overruns 0carrier 0collisions 0
device interrupt 40

lo:flags=73 mtu 65536
inet 127.0.0.1netmask 255.0.0.0
inet6 ::1prefixlen 128scopeid 0x10
loop txqueuelen 1000(Local Loopback)
RX packets 284667bytes 313713612(313.7MB)
RX errors 0dropped 0overruns 0frame 0
TX packets 284667bytes 313713612(313.7MB)
TX errors 0dropped 0overruns 0carrier 0collisions 0

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

gst-launch-1.0v4l2src 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

74b86492-6fa9-11ee-9788-92fbcf53809c.png

3.4 电脑播放

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

74c126f4-6fa9-11ee-9788-92fbcf53809c.png

74d3b166-6fa9-11ee-9788-92fbcf53809c.png

74dbd86e-6fa9-11ee-9788-92fbcf53809c.png


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

74e56bea-6fa9-11ee-9788-92fbcf53809c.png

04推流到RK356X主板

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

4.1 主板A安装gst-rtsp插件

sudo apt installgstreamer1.0-rtsp

4.2 主板A安装mediamtx

mediamtx是一个rtsp server程序

sudo apt installgstreamer1.0-rtsp

root@ido:/home/ido# tar-xvfmediamtx_v1.1.1_linux_arm64v8.tar.gz
mediamtx
mediamtx.yml
LICENSE
root@ido:/home/ido# ./mediamtx&
[1]1315
root@ido:/home/ido# 2023/10/200204INFMediaMTXv1.1.1
2023/10/200204INF[RTSP]listeneropenedon:8554(TCP), :8000(UDP/RTP), :8001(UDP/RTCP)
2023/10/200204INF[RTMP]listeneropenedon:1935
2023/10/200204INF[HLS]listeneropenedon:8888
2023/10/200204INF[WebRTC]listeneropenedon:8889(HTTP)
2023/10/200204INF[SRT]listeneropenedon:8890(UDP)

4.3 主板A开始RTSP推流

查看主板A的IP地址:

root@ido:/home/ido# ifconfig
eth0:flags=4163 mtu 1500
inet 192.168.1.196netmask 255.255.255.0broadcast 192.168.1.255
inet6 fe80::d079c367:fea6 prefixlen 64scopeid 0x20
ether 86:41:8a:06:1d:7c txqueuelen 1000(Ethernet)
RX packets 52836bytes 38891607(38.8MB)
RX errors 0dropped 1overruns 0frame 0
TX packets 885065bytes 1255645741(1.2GB)
TX errors 0dropped 0overruns 0carrier 0collisions 0
device interrupt 40

lo:flags=73 mtu 65536
inet 127.0.0.1netmask 255.0.0.0
inet6 ::1prefixlen 128scopeid 0x10
loop txqueuelen 1000(Local Loopback)
RX packets 284667bytes 313713612(313.7MB)
RX errors 0dropped 0overruns 0frame 0
TX packets 284667bytes 313713612(313.7MB)
TX errors 0dropped 0overruns 0carrier 0collisions 0

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

gst-launch-1.0v4l2src 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

74b86492-6fa9-11ee-9788-92fbcf53809c.png

4.4 主板B拉流并播放

root@ido:~# gst-launch-1.0playbin uri=rtsp://192.168.1.196:8554/stream
Setting pipeline toPAUSED ...
Pipeline islive anddoes not need PREROLL ...
Progress:(open) Opening Stream
Progress:(connect) Connecting tortsp://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 toPLAYING ...
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, w1280, h 720
mpp[1359]: mpp_buf_slot:setframe info: w1280h 720hor 1280ver 720
mpp[1359]: mpp_dec: setting default w1280h 720h_str 1280v_str 720
mpp[1359]: h264d_api: is_avcC=1

7509fe10-6fa9-11ee-9788-92fbcf53809c.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • usb
    usb
    +关注

    关注

    60

    文章

    8482

    浏览量

    286369
  • 主板
    +关注

    关注

    55

    文章

    2421

    浏览量

    77364
  • 摄像头
    +关注

    关注

    61

    文章

    5125

    浏览量

    103593
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Air8101 + LuatOS 摄像头 RTMP 实战教程

    Air8101是支持2.4G WIFI6和蓝牙(BLE 5.4)的 WiFi SoC,最大支持 200W 像素的静态图像拍照,支持1024*720分辨率的10寸屏显示,同时兼容DVP/USB摄像头即插即用,支持多路视频采集及RTMP
    的头像 发表于 04-22 16:21 262次阅读
    Air8101 + LuatOS <b class='flag-5'>摄像头</b> RTMP <b class='flag-5'>推</b><b class='flag-5'>流</b>实战教程

    RK3588平台USB摄像头调试实战:从报错到稳定运行

    在嵌入式开发中,RK3588 凭借强劲的算力常被用于边缘计算、工业视觉等场景,而 USB 摄像头作为常见外设,调试过程中难免遇到各类 “卡壳” 问题。最近我们在 RK3588 上调试
    的头像 发表于 02-04 16:13 804次阅读

    RK3588摄像头配置:搞懂CPhy与DPhy的区别,再也不踩坑!

    RK3588,同时支持 CPhy 和 DPhy 两种主流 MIPI Phy 标准,适配从入门到高端的各类摄像头需求。
    的头像 发表于 02-03 15:57 4627次阅读
    <b class='flag-5'>RK</b>3588<b class='flag-5'>摄像头</b>配置:搞懂CPhy与DPhy的区别,再也不踩坑!

    RK3576基于UVC协议USB摄像头配置指南,手把手教你搞定

    瑞芯微RK3576芯片平台基于UVC协议,配置USB摄像头实现即插即用的适配采集功能,基于触觉智能RK3576开发板PurplePiOH2演示。UVC协议UVC协议简介UVC
    的头像 发表于 01-16 17:11 1264次阅读
    <b class='flag-5'>RK</b>3576基于UVC协议<b class='flag-5'>USB</b><b class='flag-5'>摄像头</b>配置指南,手把手教你搞定

    RK 平台 USB 摄像头成像调试指南:从信号到画质的全流程优化

    在 RK(瑞芯微)平台开发中,USB 摄像头成像效果不佳是高频问题,其根源多与 USB 信号质量、PHY 寄存器配置及硬件环境相关。本文结合 Rockchip
    的头像 发表于 11-26 07:05 1382次阅读
    <b class='flag-5'>RK</b> 平台 <b class='flag-5'>USB</b> <b class='flag-5'>摄像头</b>成像调试指南:从信号到画质的全流程优化

    车载360环视平台:米尔RK3576开发板支持12路低延迟

    的解决方案:支持 12路摄像头 并发输入,并通过高效的视频编解码与 RTSP ,实现端到端仅约 120~150ms 的低延迟体验,成为车载环视的理想硬件平台。 米尔RK3576开发
    发表于 10-11 17:55

    360环视硬件平台为什么推荐使用米尔RK3576开发板?

    。凭借先进的 SoC 架构与完善的多媒体引擎,它不仅具备 12路摄像头 的高清视频接入能力,还能将编码与 RTSP 低延迟 组合成体系化方案,为360环视提供稳定可靠的底座。 米尔RK
    发表于 09-19 17:38

    12 路低延迟!米尔 RK3576 赋能智能安防 360° 环视

    在智慧城市建设加速与社区安防需求升级的双重驱动下,“360° 无死角监控 + 实时响应” 已成为安防领域的核心诉求。传统监控方案常受限于摄像头接入数量不足、编解码效率低、延迟高三大痛点,难以覆盖
    发表于 09-18 17:51

    12路1080P高清视频,米尔RK3576 开发板赋能车载360环视

    RTSP,另一侧解析后显示 STEP1:使用12路AHD摄像头后编码MYD-LR3
    发表于 08-14 14:01

    【EASY EAI Orin Nano开发板试用体验】使用stream代码和WEB服务器代码实现在客户端网页上查看摄像头图像

    网页上查看摄像头图像 EASY EAI Orin Nano开发板主控是RK3576带有NPU,调试深入之后还是要做摄像头相关的应用开发的,对LVGL的调试只是开胃小菜,调通摄像头st
    发表于 08-11 23:15

    【EASY EAI Orin Nano开发板试用体验】--USB摄像头使用

    本篇讲述USB摄像头接入开发板使用。准备200W像素/30FPS摄像头,接入开发板上层USB口(建议),如下 一.USB
    发表于 07-13 18:21

    【Milk-V Duo S 开发板免费体验】OV5647摄像头测试

    OV5647摄像头测试板子支持以下两种摄像头,默认支持的是官方的CAM0GC2083 要使用OV5647树莓派的摄像头,需要使用配置文件/mnt/data
    发表于 07-11 22:03

    迅为RK3576开发板摄像头实时推理测试-ppseg 图像分割

    迅为RK3576开发板摄像头实时推理测试-ppseg 图像分割
    的头像 发表于 07-11 14:31 1087次阅读
    迅为<b class='flag-5'>RK</b>3576开发板<b class='flag-5'>摄像头</b>实时推理测试-ppseg 图像分割

    庐山派K230可以直接使用usb摄像头吗,可以的话摄像头有啥要求吗?

    庐山派K230可以直接使用usb摄像头吗,可以的话摄像头有啥要求吗
    发表于 06-24 07:07

    K230micropython下能实现同时用USB摄像头和板载摄像头YOLO识别并显示在IDE上吗?

    K230micropython下能实现同时用USB摄像头和板载摄像头YOLO识别并显示在IDE上吗?以及如何提高USB进行YOLO识别的帧数?
    发表于 06-20 06:35