
 
文章目录
- 1. 背景
 - 2. 实施步骤
 - 2.1 下载live555安装包
 - 2.2 解压压缩包
 - 2.3 编译源码
 - 2.3 安装ffmpeg
 - 2.4 安装opencv-python
 - 2.5 视频文件格式转换
 - 2.6 启动推流
 - 2.6 安装VLC,验证
 
- 3. 用opencv-python接口接收视频流
 - 参考
 
1. 背景
想要通过RTSP往opencv的接口中推流,然后做一下yolo的推理等练习,本篇主要记录如何搭建RTSP推流服务器,本篇的环境是Windows WSL2,当然也可以在Linux PC中搭建,方法一致,感兴趣的小伙伴可以试试。
 博主的环境信息如下:
 
查阅资料,一般都是通过live555作为推流服务器。
2. 实施步骤
2.1 下载live555安装包
前往官网,下载最新版本的live555安装包。
 live555官网
 
 wget http://www.live555.com/liveMedia/public/live.2023.07.24.tar.gz
 

2.2 解压压缩包
解压压缩包:
tar -xvf live.2023.07.24.tar.gz
 
2.3 编译源码
编译源码:
cd live
./genMakefiles linux-64bit
make
 

 发现编译失败:
 
尝试解决编译问题,但仍无法编译通过。
 openrtsp 2023.06.16 build issue #45
 于是,放弃最新版本,下载历史版本,在下面的网页中找到live.2021.11.23.tar.gz这个版本,并下载。
 live555的历史版本
 按照前面的方法,解压、编译:
 
 编译OK。
 查看/mediaServer/路径下live555MediaServer是否被编译出来:
 
下载测试视频文件:
 
 当然,用其他的视频文件也可以。
2.3 安装ffmpeg

2.4 安装opencv-python

2.5 视频文件格式转换
ffmpeg -i test.mp4 -codec copy -bsf: h264_mp4toannexb -f h264 test.264
 


将格式转换后的视频文件拷贝到/mediaServer/路径下:
 
2.6 启动推流
 ./live555MediaServer
 

 可以看到,服务端已经启动,连接服务端的URL是:rtsp://192.168.181.1:8554/,我们拷进去的视屏文件名字是test.264,那这里的就是test.264。
 至此,推流服务端的准备工作都已完成。
2.6 安装VLC,验证
现在有了服务端,必须要有客户端来验证,所以需要用到VLC,来验证推流功能是否正常。
 前往VLC官网下载Windows版本的VLC:
 
安装VLC,打开媒体–>打开网络串流:
 
点击播放,效果如下:
 
至此,live555搭建的RTSP推流服务器搭建成功。
3. 用opencv-python接口接收视频流
在Windows上准备接收程序:
import numpy as np
import cv2
# cap = cv2.VideoCapture(1)
cap = cv2.VideoCapture("rtsp://192.168.181.1:8554/test.264")
while(True):
    ret, frame = cap.read()
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
    cv2.imshow('frame',frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()
 

运行接收程序:
python untitled.py
 

 显示效果如下:
 
参考
【1】Ubuntu用live555快速搭建一个RTSP视频流服务器


















