【树莓派】树莓派推视频流至上位机,实测延时低至150ms[自带CSI摄像头]


注: 本文仅用于学习分享,分享自己在树莓派摄像头调试中的一些经验

用到的工具材料

  • 树莓派3B+
  • 网线
  • 电脑
  • CSI摄像头

实现的功能有:
①树莓派通过网线将CSI摄像头的实时画面推流至上位机电脑中的播放器显示
②实测延时低至150ms左右

图1 树莓派接线整体图
图2 树莓派接线整体图

总体流程

1.树莓派硬件连接与软件及驱动安装
2.上位机PC端的接收视频流
3.延迟效果测试

1.硬件连接与软件及驱动配置

1).硬件连接

硬件连接为:CSI摄像头正确连接树莓派 以及 树莓派通过网线连接电脑
许多步骤在此就不过多赘述,网上的教程十分详细。
【主要注意CSI排线插进去的方向】

2).软件及驱动配置

①电脑通过putty连接树莓派

首先找到树莓派的ip地址,我是可通过设置树莓的静态ip,直接连接。
我的树莓派静态ip地址为:192.168.2.150

图3 putty连接图
图4 树莓派连接成功

在putty窗口中输入树莓派ip地址,选择SSH协议,点击“Open”*
连接上先输入树莓派用户名[可更改],我的用户名为pi,然后按下回车。输入密码[密码不显示],输入完毕按下回车,图4中表示连接成功。

②树莓派打开摄像头使能

输入以下命令:[进入树莓派配置模式]

sudo raspi-config

[进入树莓派配置模式] >[连接选项]>[摄像头]>选择>是> 使能摄像头
找到 > Interfacing Options >Camera

图5 树莓派配置界面
图6 树莓派连接选项配置

选择使能摄像头即可。

③输入调用摄像头命令使用raspivid工具

使用raspivid工具启用树莓派的硬件H.264硬件编解码模块

raspivid -t 0 -w 1280 -h 720 -fps 20 -o - | nc -k -l 8090

-t 表示延时;-w表示图像宽度; -h 表示图像高度;-o表示输出;-fps 为帧率 分辨率为720P;端口号为:8090
若需要把分表率改为1080P则把 -w 1280 -h 720改为 -w 1920 -h 1080即可

在这里插入图片描述

如上图所示,则命令已经正在执行,表示树莓派端推流完成,到此树莓派的任务已经完成

2.上位机PC端的接收视频流

1)安装Mpalyer视频播放器

Mpalyer下载安装教程参考
上面这个连接是我找的比较详细的下载安装流程。

2)设置mplayer为系统环境变量

设置mplayer为系统环境变量后,才能用CMD窗口直接命令打开并开启接收视频流

图7 Windows环境变量设置
图8 环境变量路径设置

在这里插入图片描述

点击新建后,点击浏览,找到你的Mplayer安装所在路径,点击确定。

3)CMD窗口下启动Mplayer 接收视频流

按下 WIN+D 弹出运行窗口
输入 cmd 点击确定

输入以下命令:[接收H.264视频编码]

mplayer -fps 200 -demuxer h264es ffmpeg://tcp://192.168.2.150:8090  

我的树莓派ip为:192.168.2.150 推流端口号为:8090
这两个参数因机而异,看你自己设定的是多少的即可。

在这里插入图片描述
在这里插入图片描述

看到Mplayer中有树莓派拍摄的视频,说明视频推流成功。

3.延迟效果测试

我们打开一个在线秒表,让其开始计时,而后我们用树莓派CSI摄像头去拍摄电脑屏幕,然后截屏,可以粗略测得延时的结果

"如下图所示"    在线秒表为10.107  视频中的在线秒表为09.934        其差值△t=0.173s=173ms

在这里插入图片描述

之后我们通过测试多组数据得到如下表格:

序号 CSI摄像头720P-延迟(ms)
1 173
2 129
3 172
4 150
5 116
平均延迟 148

总结:

延迟大致在150ms之间,人眼感觉基本没有延迟,实时性较高。

疑问或交流请留言 _

author: Dwfish 淹死的鱼 2018.11.28

发布了42 篇原创文章 · 获赞 176 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_39492932/article/details/84585152