树莓派下MJPG-streamer四摄像头Docker环境搭建

树莓派下MJPG-streamer四摄像头Docker环境搭建_第1张图片

工作需要对某运动物体进行实时监控,有期采用mjpeg-streamer进行测试通过。为了能更全面的对物体实施跟踪查看考虑通过四机位切换方式进行处理。为了方便操作及维护决定采用Docker进行安装部署。


树莓派下MJPG-streamer四摄像头Docker环境搭建_第2张图片

1.DockerFile

FROM resin/rpi-raspbian:jessie
MAINTAINER sunsl 
RUN apt-get update && apt-get install -y --no-install-recommends \
git \
imagemagick \
v4l-utils \
build-essential \
libv4l-dev \
libjpeg8-dev \
make 

RUN apt-get clean \
    && rm -rf /tmp/* /var/tmp/*  \
    && rm -rf /var/lib/apt/lists/*


RUN echo "Asia/Shanghai" > /etc/timezone && \
        dpkg-reconfigure -f noninteractive tzdata

git clone https://github.com/SaintGimp/mjpg-streamer
#ADD mjpg-streamer.tar /root
WORKDIR /mjpg-streamer/mjpg-streamer
RUN make USE_LIBV4L2=true clean all
RUN make DESTDIR=/usr install

EXPOSE 8080
CMD mjpg_streamer -i "/usr/lib/input_uvc.so -n -d /dev/video0 -r 1024x768 -f 30" -o "/usr/lib/output_http.so -w /usr/www"

2.生成

$Docker build -t sunsl/mjpeg-server .

3.启动

docker run -d -p 8081:8080 --device=/dev/video0:/dev/video0 --name=demo1 sunsl/mjpg-server
docker run -d -p 8082:8080 --device=/dev/video1:/dev/video0 --name=demo2 sunsl/mjpg-server
#docker run -d -p 8083:8080 --device=/dev/video2:/dev/video0 --name=demo3 sunsl/mjpg-server
#docker run -d -p 8084:8080 --device=/dev/video3:/dev/video0 --name=demo4 sunsl/mjpg-server
  • 这里需要注意的是四摄像头不能同时启动(假死,具体原因暂未查找)
  • 多摄像头使用时不能使用USBHub(网上查阅资料与系统内核或hub地址有关)
  • 可以通过Docker start stop切换两机位同时在线


    树莓派下MJPG-streamer四摄像头Docker环境搭建_第3张图片

你可能感兴趣的:(树莓派下MJPG-streamer四摄像头Docker环境搭建)