GStreamer无线图传:树莓派到计算机的WiFi图传方案

发布于:2025-08-20 ⋅ 阅读:(23) ⋅ 点赞:(0)

一、场景描述

无线图传​(Wireless Video Transmission)是指通过无线通信技术(如 Wi-Fi、4G/5G、毫米波等)将视频信号从摄像头或其他采集设备实时传输到显示端(如电脑、手机、监控屏等)的技术。

本教程所采用的无线图传方式是Wi-Fi,即树莓派和计算机连接到同一网络下,将树莓派实时捕捉的画面,通过Wi-Fi传输到计算机上进行显示,系统架构如下图所示。

为方便称呼和辨别,将树莓派简称为Pi,将计算机简称为PC。本教程所用的Pi为64bit无桌面版本,所用的PC为安装了Windows 11的笔记本电脑。


二、关键技术

GStreamer​ 是一个开源的、跨平台的多媒体处理框架,用于构建高效的音视频流处理管道(Pipeline)。它支持多种编解码器、容器格式和硬件加速,广泛应用于视频播放、流媒体传输、音视频录制、实时通信等领域。

GStreamer官网地址见下。

GStreamer: open source multimedia frameworkhttps://gstreamer.freedesktop.org/


三、设置Pi和PC

为实现系统功能,Pi和PC均需要安装GStreamer。

1、Pi安装GStreamer

sudo apt install gstreamer1.0-tools gstreamer1.0-plugins-base

2、PC安装GStreamer

打开以下网址,选择MSVC版本的runtime installer,下载后安装。注意,在安装GStreamer时,应该选择完整安装

Download GStreamerhttps://gstreamer.freedesktop.org/download/#windows

3、PC设置GStreamer

默认情况下,GStreamer安装在C盘,如以下位置。

C:\Program Files\gstreamer\1.0\msvc_x86_64\bin

进入环境变量中的Path,依次点击“编辑-新建”,将bin文件夹绝对路径粘贴后保存。


四、正式推流

推流(Stream Pushing)​​ 是指将音视频数据从采集设备(如摄像头、电脑、手机等)​实时传输到服务器或接收端的过程。

1、检查摄像头的工作参数

对于不同型号的摄像头,其工作参数(包括像素和帧率)也不同。为确保推流的顺利进行,应该先检查摄像头的工作参数。

v4l2-ctl --list-formats-ext

如上图所示,摄像头的帧率是30fps,包含5类像素。

2、检查计算机IP地址

按Win + R并输入cmd,进行cmd窗口,输入以下内容并运行。

ipconfig

找到以太网适配器 VMware Network Adapter VMnet1:字段后面的IPv4地址并记下。

3、在PC上运行GStreamer服务

按Win + R并输入cmd,进行cmd窗口,输入以下内容并运行。

gst-launch-1.0 udpsrc port=5000 ! application/x-rtp,encoding-name=H264 ! rtph264depay ! avdec_h264 ! videoconvert ! videoscale ! video/x-raw,width=640,height=480 ! autovideosink sync=false

在上述命令行中,需要自定义的参数是width和height,这两个参数需要与摄像头的像素相对应。

4、在Pi上运行GStreamer服务

Pi运行以下命令行。

host

在上述命令行中,需要自定义的参数包括4类。

(1)device:指向摄像头地址,默认是/dev/video0

(2)width和height:宽度和高度,建议任一参数不超过640

(3)framerate:帧率

(4)host:计算机的IP地址,即前述通过ipconfig指令查询到的IPv4地址


五、运行效果

注意,GStreamer服务的启动顺序,务必是先PC后Pi

经测试,树莓派4B+ 4GB版本,在640*480像素、30帧率情况下,无线传输的延迟很小,运行也很稳定。


网站公告

今日签到

点亮在社区的每一天
去签到