mirror of
				https://github.com/blakeblackshear/frigate.git
				synced 2025-10-27 10:52:11 +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"
 | 
			
		||||
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 .
 | 
			
		||||
 | 
			
		||||
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 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_MOTION_TOPIC='cameras/1/motion' \
 | 
			
		||||
-e MQTT_OBJECT_TOPIC='cameras/1/objects' \
 | 
			
		||||
-e MQTT_OBJECT_CLASSES='person,car,truck' \
 | 
			
		||||
-e MQTT_TOPIC_PREFIX='cameras/1' \
 | 
			
		||||
-e DEBUG='0' \
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
## Tips
 | 
			
		||||
 | 
			
		||||
@ -25,7 +25,6 @@ RTSP_URL = os.getenv('RTSP_URL')
 | 
			
		||||
 | 
			
		||||
MQTT_HOST = os.getenv('MQTT_HOST')
 | 
			
		||||
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 = "400,350,250,50"
 | 
			
		||||
@ -150,8 +149,7 @@ def main():
 | 
			
		||||
    client.loop_start()
 | 
			
		||||
 | 
			
		||||
    # start a thread to publish object scores (currently only person)
 | 
			
		||||
    mqtt_publisher = MqttObjectPublisher(client, MQTT_TOPIC_PREFIX, objects_parsed,
 | 
			
		||||
        MQTT_OBJECT_CLASSES.split(','), DETECTED_OBJECTS)
 | 
			
		||||
    mqtt_publisher = MqttObjectPublisher(client, MQTT_TOPIC_PREFIX, objects_parsed, DETECTED_OBJECTS)
 | 
			
		||||
    mqtt_publisher.start()
 | 
			
		||||
 | 
			
		||||
    # 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)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
        self.client = client
 | 
			
		||||
        self.topic_prefix = topic_prefix
 | 
			
		||||
        self.objects_parsed = objects_parsed
 | 
			
		||||
        self.object_classes = object_classes
 | 
			
		||||
        self._detected_objects = detected_objects
 | 
			
		||||
 | 
			
		||||
    def run(self):
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user