前言:我需要借助mjpg-streamer流媒体服务器实现rtsp流媒体的读取实现目标检测后可以实时观看监控,刚开始部署的时候使用了unbutu20.04,接下来讲解一下怎么在docker里面部署。
一、克隆mjpg-streamer开源项目到ubuntu18.04容器
1.在docker下拉取ubuntu18.04镜像:
docker pull ubuntu:18.04
2.运行镜像
docker run -it 5a21 /bin/bash,这里面的5a21是镜像ID前4位,具体可以win+r,输入cmd回车后,输入docker images查看。
3.安装需要的git工具
apt update
apt install git
4.克隆mjpg-streamer到本地
git clone https://github.com/jacksonliam/mjpg-streamer.git
二、安装mjpg-streamer所依赖的环境
1.安装官网指定的环境
apt-get install cmake libjpeg8-dev
apt-get install gcc g++
2.安装编译input_opencv.so所依赖的环境
2.1安装python3:
我这里安装了python3.6(ubuntu20.04下亲测python3.8可用)
apt-get install python3
可以输入python3 --version测试一下是否安装成功
2.2安装pip3
apt install pip3
2.3安装numpy以及opencv-python
pip3 install numpy
pip3 install opencv-python
2.4安装c++版本opencv
这个安装起来比较麻烦,也需要依赖很多环境,这里不详细介绍了,请参考给予我帮助的大佬文章
[c++]-ubuntu20.04安装c++版本opencv_ai_faker的博客-CSDN博客
三、编译mjpg-streamer
编译前需要修改一些参数,因为作者测试的时候使用的python和opencv版本不一致可能会导致编译失败,官网lsuess里面也有,可以参考一下。
按照上面的介绍修改完成后就可以正常编译input_opencv.so
cd mjpg-streamer/mjpg-streamer-experimental
make
sudo make install
等待编译完成后,就会在当前路径下生成很多文件,如input_opencv.so,接下来就可以参照官方文档完成相应的功能。
四、测试
我使用了input_opencv.so以及http_output.so完成了打开本地摄像头实现目标检测后在浏览器实时查看,详细做法请参考官方文档。
(该图为ubuntu20.04系统下实现)
五、项目地址:
GitHub - jacksonliam/mjpg-streamer: Fork of http://sourceforge.net/projects/mjpg-streamer/
版权声明:本文为CSDN博主「SuperChay」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cy364328541/article/details/122285383
暂无评论