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

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

暂无评论

发表评论

相关推荐

制作YOLOv5数据集

1 使用labelImg标注数据集 labelImg是一个可视化的图像标定工具。Faster R-CNN,YOLO,SSD等目标检测网络所需要的数据集,均需要借此工具标定图像中的目标。可以标注两种格式

目标检测YOLO系列------YOLO简介

YOLO以及各种变体已经广泛应用于目标检测算法所涉及到的方方面面,为了梳理YOLO系列算法建立YOLO系列专题,按照自己的理解讲解YOLO中的知识点和自己的一些思考。本文是开篇之作,首先简单介绍一下YO