Du ser en gammel version af denne side. Se den nuværende version.

Sammenlign med nuværende Vis sidehistorik

« Forrige Version 11 Næste »

So, I purchased an older MacBook from work - that has been my own for 4 year, and seemed fit according to the Recommended Hardware.

Also, I am equipped with 4 Reolink Cams, but I have not used any reolink specifics from Camera Specific Configuration.


Preparing the MacBook Firmware/T2

I had some problems with removing the activation lock and even do an Internet recovery (that just failed with 1008F Error). but when the MACOS finally was cleanly installed, make sure to enable USB Boot, as this:

Installing Ubuntu

I had a lot of trouble actually getting the danm thing to boot, but on a stick with Ubuntu 22.04 (used Balena Etcher), it finally did.

But, the Mac Keyboard was not working, but I got hold of an eternal keyboard - and that worked.

I had a lot of problemes getting to use the disk, several times the installer just crashed and restarted, and stopped with "Installing grub on taget device failed"

But I finally got the installer to remove all partitions and install, with "Use custom partitions" - make sure to whipe and erase all on the disk

After the install the "df -h" command told me that only 100 GB of the disk was used - I have no clue why the installer sets it up this way..


But the fix was eady - first examine the LVM:

root@beetle:/home/bnp# vgdisplay
--- Volume group ---
VG Name ubuntu-vg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size <462.87 GiB
PE Size 4.00 MiB
Total PE 118494
Alloc PE / Size 25600 / 100.00 GiB
Free PE / Size 92894 / <362.87 GiB
VG UUID Dd5nRh-qzsj-z6rX-H1o1-JzMd-kXEI-7bWoEx

The import part being:

Free PE / Size 92894 / <362.87 GiB

So, 362 GB not used.

Lets extend and resize:

lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv


Now, we can see 0 Free PE:

root@beetle:/home/bnp# vgdisplay
--- Volume group ---
VG Name ubuntu-vg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size <462.87 GiB
PE Size 4.00 MiB
Total PE 118494
Alloc PE / Size 118494 / <462.87 GiB
Free PE / Size 0 / 0
VG UUID Dd5nRh-qzsj-z6rX-H1o1-JzMd-kXEI-7bWoEx

Ubuntu is installed and the complete SSD Disk used.

Docker install

Lets install docker.io:

apt install docker.io


Frigate NVR Install

Find information on Frigate here

First, I put all docker stuff in /opt 


Creating the needed Directory and the config file:

mkdir /opt/frigate
vi /opt/frigate/config


The config file can be huge, here is my current:

mqtt:
  host: 10.0.0.183
cameras:
  frigate_front_door_cam:
    ffmpeg:
      inputs:
        - path: rtsp://view:**********@10.0.0.151:554//h264Preview_01_sub
          roles:
            - detect
        - path: rtsp://view:**********@@10.0.0.151:554//h264Preview_01_main
          roles:
            - record
    rtmp:
      enabled: False
    detect:
      width: 640
      height: 480
      fps: 5
    objects:
      track:
        - person
    snapshots:
      enabled: True
      timestamp: false
      bounding_box: True
      retain:
        default: 2
    record:
      enabled: True
      events:
        retain:
          default: 10
  frigate_behind_house_cam:
    ffmpeg:
      inputs:
        - path: rtsp://view:**********@@10.0.0.176:554//h264Preview_01_sub
          roles:
            - detect
        - path: rtsp://view:**********@@10.0.0.176:554//h264Preview_01_main
          roles:
            - record
    rtmp:
      enabled: False
    detect:
      width: 640
      height: 480
      fps: 5
    objects:
      track:
        - person
    snapshots:
      enabled: True
      timestamp: false
      bounding_box: True
      retain:
        default: 2
    record:
      enabled: True
      events:
        retain:
          default: 10
  frigate_carport_cam:
    ffmpeg:
      inputs:
        - path: rtsp://view:**********@@10.0.0.191:554//h264Preview_01_sub
          roles:
            - detect
        - path: rtsp://view:**********@@10.0.0.191:554//h264Preview_01_main
          roles:
            - record
    rtmp:
      enabled: False
    detect:
      width: 640
      height: 480
      fps: 5
    objects:
      track:
        - person
        - car
    snapshots:
      enabled: True
      timestamp: false
      bounding_box: True
      retain:
        default: 2
    record:
      enabled: True
      events:
        retain:
          default: 10
detectors:
  coral:
    type: edgetpu
    device: usb
birdseye:
  enabled: True
  mode: continuous


In short, the file sets up three cams (Reolink) - using:

  • The Lowres RTSP stream for the Detect role (sub) as generally recommended.
  • The highres RTSP stream for the Recording Role (Main) as generally recommended.
  • The tracking of persons and cars
  • The use of a Coral stick for Object processing.

Reference to the configuration file is here

And the database file /opt/frigate/frigate.yml

codedatabase:
  path: /opt/frigate/frigate.db


Now we can start Frigate:

docker run -d \
  --name frigate \
  --restart always \
  --mount type=tmpfs,target=/tmp/cache,tmpfs-size=1000000000 \
  --device /dev/bus/usb:/dev/bus/usb \
  --shm-size=256m \
  -v /opt/frigate/media:/media/frigate \
  -v /opt/frigate/config.yml:/config/config.yml:ro \
  -v /etc/localtime:/etc/localtime:ro \
  -e FRIGATE_RTSP_PASSWORD='**********' \
  -p 5000:5000 \
  -p 1935:1935 \
  ghcr.io/blakeblackshear/frigate:master-433bf69-tensorrt


This should start Frigate and show it on http://10.0.0.164:5000:


If the interface is not up, troubleshoot the logs with:

docker logs --tail 50 --follow --timestamps "frigate"


Coral Stick on Linux

I had some problems getting the Coral stick to work (the Frigate docker image has all needed for it), but it did not show up as an Device on the MacBook:

root@beetle:/home/bnp# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 05ac:1463 Apple, Inc. USB-C Digital AV Multiport Adapter
Bus 001 Device 002: ID 05ac:1017 Apple, Inc. USB2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 002: ID 05ac:1018 Apple, Inc. USB3.1 Hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


Loking at the links for the 2 versions - USB and M2

echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" | sudo tee /etc/apt/sources.list.d/coral-edgetpu.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
sudo apt-get update
sudo apt-get install gasket-dkms libedgetpu1-std

So it seems my stick is detected as a PCI Device..


And now:

root@beetle:/home/bnp# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 05ac:1463 Apple, Inc. USB-C Digital AV Multiport Adapter
Bus 001 Device 002: ID 05ac:1017 Apple, Inc. USB2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 003: ID 1a6e:089a Global Unichip Corp.
Bus 006 Device 002: ID 05ac:1018 Apple, Inc. USB3.1 Hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


  • Ingen etiketter