向主代码库贡献代码
获取源代码
核心、Web界面、Docker和文档
这个仓库包含了主要的Frigate应用程序及其所有依赖项。
将blakeblackshear/frigate复制(fork)到你自己的GitHub账户,然后将复制的仓库克隆到你的本地机器。
从这里,按照以下指南进行操作:
Frigate Home Assistant插件
这个仓库包含了Home Assistant插件,用于Home Assistant OS和兼容的安装。它允许你通过Home Assistant的Supervisor标签页运行Frigate。
将blakeblackshear/frigate-hass-addons复制到你自己的GitHub账户,然后将复制的仓库克隆到你的本地机器。
Frigate Home Assistant集成
这个仓库包含了自定义集成,可以让你的Home Assistant安装自动为Frigate实例创建实体,无论你是将Frigate作为独立的Docker容器运行还是作为Home Assistant插件运行。
将blakeblackshear/frigate-hass-integration复制到你自己的GitHub账户,然后将复制的仓库克隆到你的本地机器。
核心
前提条件
- GNU make
- Docker (包括buildx插件)
- 额外的检测器(Coral、OpenVINO等)是可选的,但建议用于模拟真实世界的性能。
一个Coral设备一次只能被一个进程使用,因此如果将Coral用于开发目的,建议使用额外的Coral设备。
设置
1. 使用Visual Studio Code打开仓库
打开后,你应该会收到在远程容器中打开项目的提示。这将在基础Frigate容器之上构建一个安装了所有开发依赖项的容器。这确保了每个人都使用一致的开发环境,而无需在主机上安装任何依赖项。
2. 修改本地配置文件以进行测试
将文件放在仓库根目录的config/config.yml
中。
这里是一个示例,但请根据你的需求修改:
mqtt:
host: mqtt
cameras:
test:
ffmpeg:
inputs:
- path: /media/frigate/car-stopping.mp4
input_args: -re -stream_loop -1 -fflags +genpts
roles:
- detect
这些输入参数告诉ffmpeg以无限循环方式读取mp4文件。你可以在这里使用任何有效的ffmpeg输入。
3. 收集一些mp4文件用于测试
在仓库根目录创建一个debug
文件夹并放入这些文件。如果你启用了录制功能,录制的文件也会保存在这里。更新上面步骤2中的配置以指向正确的文件。你可以查看仓库中的docker-compose.yml
文件来了解卷的映射方式。
4. 从命令行运行Frigate
VS Code会为你启动Docker Compose文件并打开一个连接到frigate-dev
的终端窗口。
- 根据你的开发硬件,你可能需要修改项目根目录中的
docker-compose.yml
以传递USB Coral或GPU进行硬件加速。 - 运行
python3 -m frigate
启动后端。 - 在VS Code的另一个终端窗口中,切换到
web
目录并运行npm install && npm run dev
启动前端。
5. 清理
关闭VS Code后,可能仍有容器在运行。要关闭所有内容,只需运行docker-compose down -v
来清理所有容器。