欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ubuntu16.4加小觅深度相机实现远程视频监控

程序员文章站 2022-04-16 13:25:32
...

linux系统ubuntu16.4搭建MMS/rtsp服务器,WIN 10 系统进行监控

该操作主要实现的是视频流的传输。

使用MMS协议进行传输

MMS协议适用于访问Windows Media Player,或者用WMP打开远程监控视频所需要的协议。当然,暴风影音,pot player,VLC player等都可以打开视频流URL,所以不用MMS协议也可以,参考很多MMS介绍的资料,并未声明MMS协议是实时的,在实际操作过程中,也发现电脑配置或网络欠佳的情况下,打开MMS视频流需要一分半的时间。
如果使用其他传输协议,或其他播放时实现监控,可以略过这一段。使用命令行实现:

  1. Connect Camera to the USB port of the computer.
  2. Install VLC on Ubutu 16.04. use command:
	sudo apt-get install vlc
  1. Open Terminal, and use command:
    cvlc -vvv v4l2:///dev/video0 --sout '#transcode{vcodec=DIV3,vb=256,scale=1,acodec=none}:std{access=mmsh,mux=asfh,dst=:8080}'

这个时候就可在终端控制VLC播放器进行视频串流。
Ubuntu16.4加小觅深度相机实现远程视频监控
[看到这个图片说明成功串流。
在客户端打开WMP播放器,媒体库、文件,打开URL,输入地址:mms://serverip:8080。如果成功缓冲的话就可以看到服务器上的视频监控图像了。
如果不成功,可能是防火墙拦截,等待一会会跳出是否允许访问的界面,点击允许;

或者是客户端的WMP需要设置一下

1.在界面左上角选择媒体库、工具、选项,网络,三个协议都勾选上:
Ubuntu16.4加小觅深度相机实现远程视频监控
2.在播放机选项里,勾选以下几项:
Ubuntu16.4加小觅深度相机实现远程视频监控
3.如果还是不行,在搜索框中搜索控制面板,打开控制面板。在右上角搜索框中搜索媒体流。
打开媒体流选项,点击 启用媒体流,再进行尝试。
Ubuntu16.4加小觅深度相机实现远程视频监控

使用RTSP协议进行传输

RTSP是一种实时传输协议,经实际操作验证,即便电脑配置或网络情况不佳,也可以在客户端快速(5S)打开远程视频。

VLC搭建简单的RTSP服务器

在VLC搭建简单的RTSP服务器,在客户端的VLC player实现视频监控。可参考http://www.cnblogs.com/saryli/p/9175947.html
VLC Source:https://www.videolan.org/vlc/

使用终端命令行

在终端输入命令:

vlc -vvv v4l2:///dev/video0 --sout '#transcode{vcodec=h264,acodec=mpga,vb=2048,ab=128,channels=2,samplerate=44100}:rtp{sdp=rtsp://:8554/vlc}'

参考https://blog.csdn.net/tttyd/article/details/12032357

使用Putty远程控制linux系统,使用终端命令行

具体操作

1.在ubuntu16.4 里面安装openssh-client 和openssh-server。SSH服务器是用于远程访问linux系统的一个服务器。

dpkg –l | grep ssh
sudo apt-get install openssh-server
dpkg –l | grep ssh

第一行是查看SSH服务器是否安装,未安装则第二行指令进行安装,安装之后再检查一遍。
2.确保SSH服务器是运行状态

ps -e

能在列表里找到sshd,说明服务器已启动运行。
3.在win10 系统安装PUTTY
putty source:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html并且在桌面生成快捷方式。
点击桌面快捷方式,进入Putty Config,输入要访问的服务器地址,端口号22,并将这个session进行命名保存,然后点击open;
Ubuntu16.4加小觅深度相机实现远程视频监控
跳出Putty security Alert界面,点击yes;
如果成功的话,就可以进入ubuntu服务器了,需要输入username 和密码。
4.在putty里面输入命令行,

cvlc -vvv v4l2:///dev/video0 --sout '#transcode{vcodec=DIV3,vb=256,scale=1,acodec=none}:std{access=mmsh,mux=asfh,dst=:8080}'

可以产生mms视频流。

vlc -vvv v4l2:///dev/video0 --sout '#transcode{vcodec=h264,acodec=mpga,vb=2048,ab=128,channels=2,samplerate=44100}:rtp{sdp=rtsp://:8554/vlc}'

可以产生rtsp视频流
5.在windows里面打开VLC播放器,输入URL,mms://serverip:8080或者rtsp://serverip:8554/vlc,便可以打开mms或rtsp视频流。

可能遇到的问题

1.putty 连接的时候显示network error:connection refused或connection timed out
这两种错误发生的原因是不同的,可参考:https://blog.csdn.net/weixin_40581455/article/details/84674106
可能是防火墙的问题;
也可能是SSH服务器的问题,需要在ubuntu系统上进行一些操作,参考:https://blog.csdn.net/liuhailiuhai12/article/details/64124660
最有可能是网络的问题,服务器和客户端网络需要在同一个网段下,或客户端属于服务器的子网。因为如果不在同一个网段的话,putty不能跨网段访问。可以服务器和客户端互ping一下:https://zhidao.baidu.com/question/206369546.html
或者直接进行ip地址的判断,在win10系统里,在下方搜索栏里面搜索cmd,右键管理员身份运行,然后输入ipconfig,就知道本台电脑的ip;在ubuntu16.4里面,在电脑右上角点击网络连接,点击connection information,就可以知道电脑的ip。

2.还有一个问题可能实验太多次之后,VLC播放器本身出现故障:
(1)no art即打开相机黑屏,获取不到图像,程序卡住不再运行;
(2)pre-buffer缓冲不出来,程序卡住不运行;
(3)/dev/video successfully opened,程序卡住不串流也不播放。用VLC打开,时间点卡在00:00不动。
解决方法:
(1)重启VLC或插拔摄像头接口
(2)重启电脑
(3)VLC卸载重装sudo apt-get remove vlc
如果还是有问题,可能VLC没有卸载干净,ubuntu系统仍然保存着之前出错的配置。

sudo apt-get purge vlc
sudo apt-get update
sudo apt-get instsall vlc

第一行指令是将vlc卸载干净,参考:https://blog.csdn.net/get_set/article/details/51276609
以上。