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


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


1.DockerFile

FROM resin/rpi-raspbian:jessie
MAINTAINER sunsl <sunsl@live.com>
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切换两机位同时在线


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容