Nippon黑金刚NCC电解电容Chemi-Con全系列-亿配芯城-RK356X Ubuntu 推流USB摄像头
你的位置:Nippon黑金刚NCC电解电容Chemi-Con全系列-亿配芯城 > 芯片资讯 > RK356X Ubuntu 推流USB摄像头
RK356X Ubuntu 推流USB摄像头
发布日期:2024-01-09 11:51     点击次数:184

本文适用与触觉智能所有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应用场景。

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

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

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

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

root@ido:~# v4l2-ctl --list-devicesrkisp-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.000fps)Size: Discrete 1280x720Interval:Discrete 0.033s (30.000fps)Size: Discrete 896x504Interval:Discrete 0.033s (30.000fps)Size: Discrete 800x600Interval:Discrete 0.033s (30.000fps)Size: Discrete 640x480Interval:Discrete 0.033s (30.000fps)[1]: 'YUYV'(YUYV 4:2:2)Size: Discrete 1280x720Interval:Discrete 0.100s (10.000fps)Size: Discrete 1024x576Interval:Discrete 0.067s (15.000fps)Size: Discrete 896x504Interval:Discrete 0.100s (10.000fps)Size: Discrete 800x600Interval:Discrete 0.067s (15.000fps)Size: Discrete 640x480Interval: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.gzmediamtxmediamtx.ymlLICENSEroot@ido:/home/ido# ./mediamtx&[1]1315root@ido:/home/ido# 2023/10/200204INFMediaMTXv1.1.12023/10/200204INF[RTSP]listeneropenedon:8554(TCP), 芯片采购平台 :8000(UDP/RTP), :8001(UDP/RTCP)2023/10/200204INF[RTMP]listeneropenedon:19352023/10/200204INF[HLS]listeneropenedon:88882023/10/200204INF[WebRTC]listeneropenedon:8889(HTTP)2023/10/200204INF[SRT]listeneropenedon:8890(UDP)

3.3 主板开始RTSP推流

查看主板的IP地址:

root@ido:/home/ido# ifconfigeth0:flags=4163 mtu 1500inet 192.168.1.196netmask 255.255.255.0broadcast 192.168.1.255inet6 fe80::d079c367:fea6 prefixlen 64scopeid 0x20ether 86:41:8a:06:1d:7c txqueuelen 1000(Ethernet)RX packets 52836bytes 38891607(38.8MB)RX errors 0dropped 1overruns 0frame 0TX packets 885065bytes 1255645741(1.2GB)TX errors 0dropped 0overruns 0carrier 0collisions 0device interrupt 40lo:flags=73 mtu 65536inet 127.0.0.1netmask 255.0.0.0inet6 ::1prefixlen 128scopeid 0x10loop txqueuelen 1000(Local Loopback)RX packets 284667bytes 313713612(313.7MB)RX errors 0dropped 0overruns 0frame 0TX 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.gzmediamtxmediamtx.ymlLICENSEroot@ido:/home/ido# ./mediamtx&[1]1315root@ido:/home/ido# 2023/10/200204INFMediaMTXv1.1.12023/10/200204INF[RTSP]listeneropenedon:8554(TCP), :8000(UDP/RTP), :8001(UDP/RTCP)2023/10/200204INF[RTMP]listeneropenedon:19352023/10/200204INF[HLS]listeneropenedon:88882023/10/200204INF[WebRTC]listeneropenedon:8889(HTTP)2023/10/200204INF[SRT]listeneropenedon:8890(UDP)

4.3 主板A开始RTSP推流

查看主板A的IP地址:

root@ido:/home/ido# ifconfigeth0:flags=4163 mtu 1500inet 192.168.1.196netmask 255.255.255.0broadcast 192.168.1.255inet6 fe80::d079c367:fea6 prefixlen 64scopeid 0x20ether 86:41:8a:06:1d:7c txqueuelen 1000(Ethernet)RX packets 52836bytes 38891607(38.8MB)RX errors 0dropped 1overruns 0frame 0TX packets 885065bytes 1255645741(1.2GB)TX errors 0dropped 0overruns 0carrier 0collisions 0device interrupt 40lo:flags=73 mtu 65536inet 127.0.0.1netmask 255.0.0.0inet6 ::1prefixlen 128scopeid 0x10loop txqueuelen 1000(Local Loopback)RX packets 284667bytes 313713612(313.7MB)RX errors 0dropped 0overruns 0frame 0TX 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/streamSetting pipeline toPAUSED ...Pipeline islive anddoes not need PREROLL ...Progress:(open) Opening StreamProgress:(connect) Connecting tortsp://192.168.1.196:8554/streamProgress:(open) Retrieving server optionsProgress:(open) Retrieving media infoProgress:(request) SETUP stream 0Progress:(open) Opened StreamSetting pipeline toPLAYING ...New clock: GstSystemClockProgress:(request) Sending PLAY requestProgress:(request) Sending PLAY requestProgress:(request) Sent PLAY requestmpp[1359]: mpp_rt:NOT found ion allocatormpp[1359]: mpp_rt:found drm allocatormpp[1359]: mpp_info: mpp version: 49f29006 author: Jeffy Chen 2021-08-04[drm]: Add mmap flag detectionmpp[1359]: hal_h264d_vdpu34x: control info: fmt 7, w1280, h 720mpp[1359]: mpp_buf_slot:setframe info: w1280h 720hor 1280ver 720mpp[1359]: mpp_dec: setting default w1280h 720h_str 1280v_str 720mpp[1359]: h264d_api: is_avcC=1

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



相关资讯