Ubuntu18.04 使用python+opencv解析rtsp视频流

笔者由于工作需要,解析了海康威视全天候云台相机的rtsp视频流。中间坑居多,发个帖子分享分享经验。需要事先安装好python+opencv开发环境。

一、基本环境配置

1.安装视频解码工具xvidcore_1.3.3   下载地址: https://download.csdn.net/download/fengya1/7672495

cd xvidcore-1.3.3/
cd build/generic/
./configure --prefix=/usr
make
sudo make install

解压xvidcore_1.3.3.orig.tar.gz文件到xvidcore-1.3.3文件夹下,执行以下命令

2.安装H264编码库libx264

执行命令:

sudo apt-get install libx264-dev

3.安装视频播放器ffmpeg  下载地址:http://www.ffmpeg.org/download.html

具体安装过程参见https://blog.csdn.net/thomaszhaoyc/article/details/78233555

检查安装是否安装成功,在命令行界面输入

ffplay rtmp://live.hkstv.hk.lxdns.com/live/hks

若能成功播放视频则说明ffmpeg安装成功。

二、配置本机IP(静态IP)与网络相机IP

sudo vim /etc/network/interfaces

Ubuntu18.04 使用python+opencv解析rtsp视频流_第1张图片

其中auto 后面的enp3s0是网卡名称,可通过ip a 查看

Ubuntu18.04 使用python+opencv解析rtsp视频流_第2张图片

iface enp3s0 inet dhcp 是配置网卡获取动态ip。这里我选择动态IP是因为要连WIFI上CSDN写博客,获取RTSP视频流的时候用后面的静态IP

我们要用后面的静态IP,这个根据自己的个人情况配置。

配置完后输入:wq,保存并退出。

执行:

ping 192.168.1.108

我用网络相机IP地址是192.168.1.108,这个地址根据具体情况配置

ping 成功后执行python代码

三、python代码

import cv2
cap = cv2.VideoCapture("rtsp://admin:[email protected]:554//Streaming/Channels/1")
print cap.isOpened()

while cap.isOpened():
    ret,frame = cap.read()
    cv2.imshow("frame",frame)
    cv2.waitKey(1)

 

OK~搞定!

注:安装ffmpeg不要像参考文献中那样去修改 /etc/profile文件,否则会导致Ubuntu系统无法开机。

若出现Ubuntu无法开机,需要进入recover模式,进入root账户,执行vim /etc/profile命令,将之前修改的内容改回来。

参考文献:https://blog.csdn.net/hui3909/article/details/53435379

你可能感兴趣的:(工作日志)