Docker下部署mjpg-streamer服务器实现目标检测

前言:我需要借助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

SuperChay

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

目标检测之非极大值抑制(NMS)

1.NMS(非极大值抑制)介绍 在目标检测算法中,对于一个真实物体的往往会有多个候选框输出,而我们只需一个最好的检测框,多余的候选框会影响检测的精度,因此需要利用NMS(非极大值抑制)来

tf-faster-rcnn运行再记录

拿到新的数据,修改roi_rename.py里文件的路径、名称等; 新建resource-Annotations文件夹; 然后打开anaconda、activate Labelimg、labelimg&