I haven’t added the ability to pass in separate parameters yet. On the Odroid, the ffmpeg binary is a special build that uses hwaccel by default. Typically, you would add something like the following params to ffmpeg on a x86 Intel machine: -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -hwaccel_output_format vaapi
I am still running my 6 camera setup off the NUC. I have been experimenting with different SBCs to see what will work the best as somewhat of an “AI NVR”. Looking for the best combination of hardware accelerated decoding of the stream and usb3 speeds that can get the most out of the Coral. The Odroid is much better than the Coral, but still slower than a NUC. Still trying to figure out if I can improve things on the Odroid. Here are the inference times I have seen so far:
@tube0013 would you mind sharing your a scrubbed version of your config.yml for your Unifi cameras? I keep getting a connection refused when trying to use docker-compose for my cameras.
Awesome! And you had to change from Unifi mode to Standalone mode in the camera config to get it to stream RTSP? As for the path, will that show up when I enter the camera address?
Yep, I am using my hacked Wyze camera for testing purposes. I probably didn’t set the region properly. How do you go about identifying the area that you want container to capture? Meaning is there a way to identify the proper region of interest?
It doesn’t look like it even made it to the part where regions are parsed in that error message, so I don’t think that is the issue. You want a region to be able to capture an entire person in the square. Top left corner is 0,0. Size is width and height of the square. The region should stay completely within the frame.
Ok, I was able to get it to connect properly (I believe), but when I try and access localhost:5000/camera_1, I get the following errors
camera_1 | /usr/local/lib/python3.5/dist-packages/werkzeug/filesystem.py:60: BrokenFilesystemWarning: Detected a misconfigured UNIX filesystem: Will use UTF-8 as filesystem encoding instead of ‘ascii’
camera_1 | BrokenFilesystemWarning,
camera_1 | 192.168.86.53 - - [06/Jun/2019 01:35:44] “GET /camera_1 HTTP/1.1” 500 -
camera_1 | Error on request:
camera_1 | Traceback (most recent call last):
camera_1 | File “/usr/local/lib/python3.5/dist-packages/werkzeug/serving.py”, line 303, in run_wsgi
camera_1 | execute(self.server.app)
camera_1 | File “/usr/local/lib/python3.5/dist-packages/werkzeug/serving.py”, line 293, in execute
camera_1 | for data in application_iter:
camera_1 | File “/usr/local/lib/python3.5/dist-packages/werkzeug/wsgi.py”, line 507, in next
camera_1 | return self._next()
camera_1 | File “/usr/local/lib/python3.5/dist-packages/werkzeug/wrappers/base_response.py”, line 45, in _iter_encoded
camera_1 | for item in iterable:
camera_1 | File “/opt/frigate/detect_objects.py”, line 88, in imagestream
camera_1 | frame = cameras[camera_name].get_current_frame_with_objects()
camera_1 | KeyError: ‘camera_1’
camera_1 | 192.168.86.53 - - [06/Jun/2019 01:35:45] “GET /favicon.ico HTTP/1.1” 500 -
camera_1 | Error on request:
camera_1 | Traceback (most recent call last):
camera_1 | File “/usr/local/lib/python3.5/dist-packages/werkzeug/serving.py”, line 303, in run_wsgi
camera_1 | execute(self.server.app)
camera_1 | File “/usr/local/lib/python3.5/dist-packages/werkzeug/serving.py”, line 293, in execute
camera_1 | for data in application_iter:
camera_1 | File “/usr/local/lib/python3.5/dist-packages/werkzeug/wsgi.py”, line 507, in next
camera_1 | return self._next()
camera_1 | File “/usr/local/lib/python3.5/dist-packages/werkzeug/wrappers/base_response.py”, line 45, in _iter_encoded
camera_1 | for item in iterable:
camera_1 | File “/opt/frigate/detect_objects.py”, line 88, in imagestream
camera_1 | frame = cameras[camera_name].get_current_frame_with_objects()
camera_1 | KeyError: ‘favicon.ico’
camera_1 | Opening the RTSP Url…
camera_1 | Unable to grab a frame
I assume this has something to do with how I am defining the region? Which I am still confused about how I go about finding the proper x&y coordinates (sorry I know I am being dense about it). The image size is 1280x720
If you can see your video feed, you are ok. Those are ffmpeg errors. You may periodically get blips like that in your video feed, but it should handle them. Not all cameras have an error free feed for 100% of frames. Especially if they use wifi.
Amazing, and thanks for the help! Just to confirm, this version only uses the Coral? I just want to make sure I’m not accidentally taxing my CPU (sorry for the dumb questions). Let us know when we can buy you a coffee!