mirror of
https://github.com/blakeblackshear/frigate.git
synced 2024-11-21 19:07:46 +01:00
cleanup
This commit is contained in:
parent
80f7e998ae
commit
5dc76803d6
@ -83,6 +83,8 @@ RUN (apt-get autoremove -y; \
|
|||||||
ENV PYTHONPATH "$PYTHONPATH:/usr/local/lib/python3.5/dist-packages/tensorflow/models/research:/usr/local/lib/python3.5/dist-packages/tensorflow/models/research/slim"
|
ENV PYTHONPATH "$PYTHONPATH:/usr/local/lib/python3.5/dist-packages/tensorflow/models/research:/usr/local/lib/python3.5/dist-packages/tensorflow/models/research/slim"
|
||||||
RUN cd /usr/local/lib/python3.5/dist-packages/tensorflow/models/research && protoc object_detection/protos/*.proto --python_out=.
|
RUN cd /usr/local/lib/python3.5/dist-packages/tensorflow/models/research && protoc object_detection/protos/*.proto --python_out=.
|
||||||
|
|
||||||
|
WORKDIR /opt/frigate/
|
||||||
|
ADD frigate frigate/
|
||||||
COPY detect_objects.py .
|
COPY detect_objects.py .
|
||||||
|
|
||||||
CMD ["python3", "-u", "detect_objects.py"]
|
CMD ["python3", "-u", "detect_objects.py"]
|
25
README.md
25
README.md
@ -29,12 +29,31 @@ docker run --rm \
|
|||||||
-e RTSP_URL='<rtsp_url>' \
|
-e RTSP_URL='<rtsp_url>' \
|
||||||
-e REGIONS='<box_size_1>,<x_offset_1>,<y_offset_1>,<min_person_size_1>,<min_motion_size_1>,<mask_file_1>:<box_size_2>,<x_offset_2>,<y_offset_2>,<min_person_size_2>,<min_motion_size_2>,<mask_file_2>' \
|
-e REGIONS='<box_size_1>,<x_offset_1>,<y_offset_1>,<min_person_size_1>,<min_motion_size_1>,<mask_file_1>:<box_size_2>,<x_offset_2>,<y_offset_2>,<min_person_size_2>,<min_motion_size_2>,<mask_file_2>' \
|
||||||
-e MQTT_HOST='your.mqtthost.com' \
|
-e MQTT_HOST='your.mqtthost.com' \
|
||||||
-e MQTT_MOTION_TOPIC='cameras/1/motion' \
|
-e MQTT_TOPIC_PREFIX='cameras/1' \
|
||||||
-e MQTT_OBJECT_TOPIC='cameras/1/objects' \
|
-e DEBUG='0' \
|
||||||
-e MQTT_OBJECT_CLASSES='person,car,truck' \
|
|
||||||
realtime-od:latest
|
realtime-od:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Example compose:
|
||||||
|
```
|
||||||
|
frigate:
|
||||||
|
container_name: frigate
|
||||||
|
restart: unless-stopped
|
||||||
|
image: realtime-od:latest
|
||||||
|
volumes:
|
||||||
|
- <path_to_frozen_detection_graph.pb>:/frozen_inference_graph.pb:ro
|
||||||
|
- <path_to_labelmap.pbtext>:/label_map.pbtext:ro
|
||||||
|
- <path_to_config>:/config
|
||||||
|
ports:
|
||||||
|
- "127.0.0.1:5000:5000"
|
||||||
|
environment:
|
||||||
|
RTSP_URL: "<rtsp_url>"
|
||||||
|
REGIONS: "<box_size_1>,<x_offset_1>,<y_offset_1>,<min_person_size_1>,<min_motion_size_1>,<mask_file_1>:<box_size_2>,<x_offset_2>,<y_offset_2>,<min_person_size_2>,<min_motion_size_2>,<mask_file_2>"
|
||||||
|
MQTT_HOST: "your.mqtthost.com"
|
||||||
|
MQTT_TOPIC_PREFIX: "cameras/1"
|
||||||
|
DEBUG: "0"
|
||||||
|
```
|
||||||
|
|
||||||
Access the mjpeg stream at http://localhost:5000
|
Access the mjpeg stream at http://localhost:5000
|
||||||
|
|
||||||
## Tips
|
## Tips
|
||||||
|
@ -25,7 +25,6 @@ RTSP_URL = os.getenv('RTSP_URL')
|
|||||||
|
|
||||||
MQTT_HOST = os.getenv('MQTT_HOST')
|
MQTT_HOST = os.getenv('MQTT_HOST')
|
||||||
MQTT_TOPIC_PREFIX = os.getenv('MQTT_TOPIC_PREFIX')
|
MQTT_TOPIC_PREFIX = os.getenv('MQTT_TOPIC_PREFIX')
|
||||||
MQTT_OBJECT_CLASSES = os.getenv('MQTT_OBJECT_CLASSES')
|
|
||||||
|
|
||||||
# REGIONS = "350,0,300,50:400,350,250,50:400,750,250,50"
|
# REGIONS = "350,0,300,50:400,350,250,50:400,750,250,50"
|
||||||
# REGIONS = "400,350,250,50"
|
# REGIONS = "400,350,250,50"
|
||||||
@ -150,8 +149,7 @@ def main():
|
|||||||
client.loop_start()
|
client.loop_start()
|
||||||
|
|
||||||
# start a thread to publish object scores (currently only person)
|
# start a thread to publish object scores (currently only person)
|
||||||
mqtt_publisher = MqttObjectPublisher(client, MQTT_TOPIC_PREFIX, objects_parsed,
|
mqtt_publisher = MqttObjectPublisher(client, MQTT_TOPIC_PREFIX, objects_parsed, DETECTED_OBJECTS)
|
||||||
MQTT_OBJECT_CLASSES.split(','), DETECTED_OBJECTS)
|
|
||||||
mqtt_publisher.start()
|
mqtt_publisher.start()
|
||||||
|
|
||||||
# start thread to publish motion status
|
# start thread to publish motion status
|
||||||
|
@ -25,12 +25,11 @@ class MqttMotionPublisher(threading.Thread):
|
|||||||
self.client.publish(self.topic_prefix+'/motion', motion_status, retain=False)
|
self.client.publish(self.topic_prefix+'/motion', motion_status, retain=False)
|
||||||
|
|
||||||
class MqttObjectPublisher(threading.Thread):
|
class MqttObjectPublisher(threading.Thread):
|
||||||
def __init__(self, client, topic_prefix, objects_parsed, object_classes, detected_objects):
|
def __init__(self, client, topic_prefix, objects_parsed, detected_objects):
|
||||||
threading.Thread.__init__(self)
|
threading.Thread.__init__(self)
|
||||||
self.client = client
|
self.client = client
|
||||||
self.topic_prefix = topic_prefix
|
self.topic_prefix = topic_prefix
|
||||||
self.objects_parsed = objects_parsed
|
self.objects_parsed = objects_parsed
|
||||||
self.object_classes = object_classes
|
|
||||||
self._detected_objects = detected_objects
|
self._detected_objects = detected_objects
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
|
Loading…
Reference in New Issue
Block a user