Docker宝库:MiCam-小米摄像头视频拉取
目录
前置条件
必须要安装Docker和DockerCompose
Debian安装流程:[[电脑折腾/玩NAS/安装DockerCompose|安装DockerCompose]]
安装
分别执行以下每一行命令:
## 创建/opt/micam文件夹
mkdir /opt/micam
## 定位到/opt/micam文件夹
cd /opt/micam
## 下载 micam项目的docker compose文件
wget https://raw.githubusercontent.com/miiot/micam/refs/heads/main/docker-compose.yml
## 启动
docker compose up -d此命令会通过docker部署Miloco、Go2rtc及RTSP转发服务。如果需要添加多个摄像头,需要编辑
docker-compose.yml运行多个micam服务。部署的Miloco为基础版,不带AI引擎,无GPU算力要求,大部分机器都能运行。本项目基于官方镜像修改,添加了arm64支持,并默认获取高清流和音频流。
附compose文件内容:
services:
# https://github.com/XiaoMi/xiaomi-miloco
miloco:
container_name: miloco
# image: ghcr.nju.edu.cn/xiaomi/miloco-backend # Official image
image: ghcr.nju.edu.cn/miiot/miloco:main # Modified image to using HD stream
network_mode: host
environment:
BACKEND_PORT: ${MILOCO_PORT:-8000}
BACKEND_LOG_LEVEL: ${MILOCO_LOG_LEVEL:-warning}
TZ: ${TZ:-Asia/Shanghai}
volumes:
- ./miloco:/app/miloco_server/.temp
# NOTICE: Mount configuration files, if you want to use your own configuration files, please mount them here.
# - ./miloco/server_config.yaml:/app/config/server_config.yaml
# - ./miloco/prompt_config.yaml:/app/config/prompt_config.yaml
restart: unless-stopped
# https://github.com/AlexxIT/go2rtc
go2rtc:
container_name: go2rtc
image: ghcr.nju.edu.cn/alexxit/go2rtc
network_mode: host # important for WebRTC, HomeKit, UDP cameras
privileged: true # only for FFmpeg hardware transcoding
restart: unless-stopped # autorestart on fail or config change from WebUI
environment:
TZ: ${TZ:-Asia/Shanghai}
volumes:
- ./go2rtc:/config # folder for go2rtc.yaml file (edit from WebUI)
micam1: &micam
image: ghcr.nju.edu.cn/miiot/micam:main
depends_on: [miloco, go2rtc]
environment: &micam_envs
MILOCO_BASE_URL: ${MILOCO_BASE_URL:-https://miloco:8000}
MILOCO_PASSWORD: ${MILOCO_PASSWORD}
CAMERA_ID: ${CAMERA_ID}
RTSP_URL: ${RTSP_URL}
VIDEO_CODEC: ${VIDEO_CODEC:-hevc}
STREAM_CHANNEL: ${STREAM_CHANNEL:-0}
TZ: ${TZ:-Asia/Shanghai}
restart: always
extra_hosts:
- "miloco:${MILOCO_HOST_IP:-host-gateway}"
# More Cameras ...
micam2:
<<: *micam
scale: 0 # Disabled by default, set 1 to enable
environment:
<<: *micam_envs
CAMERA_ID: ${CAMERA_2_ID}
RTSP_URL: ${CAMERA_2_RTSP_URL}使用
配置Miloco
- 打开Miloco网页:
https://192.168.1.xx:8000🔐 Miloco使用了自签证书,请通过 https 访问,请通过 https 访问,请通过 https 访问,并忽略证书错误。 - 设置Miloco密码(6位数字)。
- 绑定小米账号,之后会提示授权成功,并给出一个授权码。返回,即可打开Miloco主页。
- 主页会自动显示米家关联的摄像头。如果显示设备离线,需要确保摄像头和miloco在同一局域网,再次刷线网页重试。连不上可查阅:[Xiaomi Miloco Q&A]
- 摄像头显示正常后,将网页打开开发者模式。例如Chrome浏览器,就按F12进入开发者模式,切换到网络选项卡,刷新网页,从文件列表中找到camera_list,双击点开,找到需要的摄像头的did,记下来。
配置Go2rtc
- 访问Go2rtc网页:
http://192.168.1.xx:1984/config.html - 配置空视频流:
streams:
your_stream1:
your_stream2:- 点击按钮:保存并重启
配置miCam
- 设置环境变量,在控制台定位到/opt/micam文件夹,输入(一行一行的输入):
cat << EOF > .env
MILOCO_PASSWORD=your_miloco_password_md5
CAMERA_ID=1234567890 # your camera did
RTSP_URL=rtsp://192.168.1.xx:8554/your_stream1
EOF或者直接在文件夹内新建.env文件,打开文件,内容输入:
MILOCO_PASSWORD=your_miloco_password_md5
CAMERA_ID=1234567890 # your camera did
RTSP_URL=rtsp://192.168.1.xx:8554/your_stream1- MILOCO_PASSWORD 是登录miloco时设置的6位数字密码的32位MD5值(在网上找个MD5在线转换工具就可以生成,例如[[https://www.jyshare.com/crypto/md5/]])。
- CAMERA_ID 是摄像头的did
- RTSP_URL 是要推流的地址,注意your_stream1替换成配置Go2rtc时填写的stream名称
- 重启转发服务:
docker compose restart micam1 - 这样,在Go2rtc的主页,点击对应stream后边的stream连接,即可查看视频。