Viseron v3.0.0b1 - Self-hosted, local only NVR and AI Computer Vision software

Your config is slightly off, recorder has to be under the camera, not at the root.

1 Like

Without making the basics work I put a lot in my config.yaml. I created a new one. Just to get the camera image. Just the basics. It looked like this:

gstreamer:
  camera:
    viseron_cam_01:
      path: rtsp://visnvr:[email protected]:554
      port: 554
      host: 192.168.25.122
      name: Frente_Esquerda
      ffprobe_loglevel: debug

nvr:
  viseron_cam_01:

webserver:
  auth:

logger:
  default_level: debug

It is generating the following output:

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 10-adduser: executing... 
************************ UID/GID *************************
User uid:    1000
User gid:    1000
************************** Done **************************
[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 20-gid-video-device: executing... 
[cont-init.d] 20-gid-video-device: exited 0.
[cont-init.d] 30-edgetpu-permission: executing... 
************** Setting EdgeTPU permissions ***************
Coral Vendor IDs:
"1a6e"
"18d1"
No EdgeTPU USB device was found
************************** Done **************************
[cont-init.d] 30-edgetpu-permission: exited 0.
[cont-init.d] 40-set-env-vars: executing... 
****** Checking for hardware acceleration platforms ******
OpenCL cannot be used
VA-API cannot be used
CUDA is available!
*********************** Done *****************************
[cont-init.d] 40-set-env-vars: exited 0.
[cont-init.d] 50-check-if-rpi: executing... 
********** Checking if we are running on an RPi **********
Not running on any supported RPi
*********************** Done *****************************
[cont-init.d] 50-check-if-rpi: exited 0.
[cont-init.d] 55-check-if-jetson: executing... 
****** Checking if we are running on a Jetson Board ******
Running on a Jetson Nano
*********************** Done *****************************
[cont-init.d] 55-check-if-jetson: exited 0.
[cont-init.d] 60-ffmpeg-path: executing... 
****************** Getting FFmpeg path *******************
FFmpeg path: /usr/bin/ffmpeg
*********************** Done *****************************
[cont-init.d] 60-ffmpeg-path: exited 0.
[cont-init.d] 70-gstreamer-path: executing... 
***************** Getting GStreamer path *****************
GStreamer path: /usr/bin/gst-launch-1.0
*********************** Done *****************************
[cont-init.d] 70-gstreamer-path: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[2023-06-10 12:02:46] [INFO    ] [viseron.core] - -------------------------------------------
[2023-06-10 12:02:46] [INFO    ] [viseron.core] - Initializing Viseron
[2023-06-10 12:02:47] [INFO    ] [viseron.components] - Setting up component logger
[2023-06-10 12:02:47] [INFO    ] [viseron.components] - Setup of component logger took 0.0 seconds
[2023-06-10 12:02:47] [INFO    ] [viseron.components] - Setting up component data_stream
[2023-06-10 12:02:47] [DEBUG   ] [viseron.watchdog] - Registering <RestartableThread(data_stream, initial daemon)> in the watchdog
[2023-06-10 12:02:47] [INFO    ] [viseron.components] - Setup of component data_stream took 0.0 seconds
[2023-06-10 12:02:47] [INFO    ] [viseron.components] - Setting up component webserver
[2023-06-10 12:02:47] [DEBUG   ] [asyncio] - Using selector: EpollSelector
[2023-06-10 12:02:47] [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/domain/registered/camera, <bound method Webserver.camera_registered of <Webserver(Tornado Webserver, initial daemon)>>
[2023-06-10 12:02:47] [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/domain/setup/domain_failed/camera/*, <bound method Webserver.camera_registered of <Webserver(Tornado Webserver, initial daemon)>>
[2023-06-10 12:02:47] [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic viseron/signal/shutdown, <bound method Webserver.stop of <Webserver(Tornado Webserver, initial daemon)>>
[2023-06-10 12:02:47] [INFO    ] [viseron.components] - Setup of component webserver took 0.0 seconds
[2023-06-10 12:02:47] [INFO    ] [viseron.components] - Setting up component gstreamer
[2023-06-10 12:02:47] [INFO    ] [viseron.components] - Setting up component nvr
[2023-06-10 12:02:47] [INFO    ] [viseron.components] - Setup of component nvr took 0.0 seconds
[2023-06-10 12:02:47] [INFO    ] [viseron.components] - Setup of component gstreamer took 0.0 seconds
[2023-06-10 12:02:47] [INFO    ] [viseron.components] - Setting up domain camera for component gstreamer with identifier viseron_cam_01
[2023-06-10 12:02:47] [INFO    ] [viseron.components] - Setting up domain nvr for component nvr with identifier viseron_cam_01
[2023-06-10 12:02:47] [DEBUG   ] [viseron.components] - Domain nvr for component nvr with identifier viseron_cam_01 will wait for dependencies ['domain: camera, identifier: viseron_cam_01']
[2023-06-10 12:02:47] [DEBUG   ] [viseron.components.gstreamer.stream.viseron_cam_01] - Getting stream information for rtsp://visnvr:[email protected]:554
[2023-06-10 12:02:47] [DEBUG   ] [viseron.components.gstreamer.stream.viseron_cam_01] - FFprobe command: ffprobe -hide_banner -loglevel debug -print_format json -show_error -show_streams rtsp://visnvr:[email protected]:554
[2023-06-10 12:02:47] [ERROR   ] [viseron.components.gstreamer.stream.viseron_cam_01] - Error: Can't initialize nvrm c[2023-06-10 12:02:47] [ERROR   ] [viseron.components.gstreamer.stream.viseron_cam_01] - Error: Can't initialize nvrm channel, message repeated 2 times
[2023-06-10 12:02:47] [ERROR   ] [viseron.components.gstreamer.stream.viseron_cam_01] - Couldn't create ddkvic Session: Cannot allocate memory
[2023-06-10 12:02:47] [ERROR   ] [viseron.components] - Domain camera for component gstreamer is not ready. Retrying in 10 seconds. Error: FFprobe could not connect to stream. Output: b'nvbuf_utils: Could not create Default NvBufferSession\n'

Now it shows this error.

You need to split up the URL to your camera like this:

gstreamer:
  camera:
    viseron_cam_01:
      path: /
      port: 554
      host: 192.168.25.122
      username: visnvr
      password: visnvr
      name: Frente_Esquerda
      ffprobe_loglevel: debug
1 Like

I made this suggested change. But the problem persists. I’ll put the log below, only the portion where the error is handled.

[2023-06-14 12:33:12] [ERROR   ] [viseron.components.gstreamer.stream.viseron_cam_01] - Error: Can't initialize nvrm channel, message repeated 2 times
[2023-06-14 12:33:12] [ERROR   ] [viseron.components.gstreamer.stream.viseron_cam_01] - Couldn't create ddkvic Session: Cannot allocate memory
[2023-06-14 12:33:12] [ERROR   ] [viseron.components] - Domain camera for component gstreamer is not ready. Retrying in 30 seconds. Error: FFprobe could not connect to stream. Output: b'nvbuf_utils: Could not create Default NvBufferSession\n'

What does your confiog look like now?

I apologize for the excessive delay in responding.

gstreamer:
  camera:
    viseron_cam_01:
      name: Frente_Esquerda
      path: /
      port: 554
      host: !secret viseron_cam_01
      username: !secret username
      password: !secret password

nvr:
  viseron_cam_01:

webserver:
  auth:

logger:
  default_level: debug

Very strange, if you input the url rtsp://USERNAME:[email protected]:554 into something like VLC (swap out the username/password), does that work?

I used the following command to get the camera stream:

gst-launch-1.0 rtspsrc location=rtsp://USERNAME:[email protected]:554/ latency=100 ! rtph264depay ! h264parse ! avdec_h264 ! decodebin ! videoconvert ! videoscale ! video/x-raw,width=640,height=480 ! gtksink

I managed to get the video correctly.

In VLC it is also possible to open the video.

Any luck with the ffmpeg component instead of gstreamer?

decio@jetsonnano:~$ docker run --rm -v /media/decio/VIS/cam_rec/recordings:/recordings -v /home/decio/Viseron/config:/config -v /etc/localtime:/etc/localtime:ro -p 8888:8888 --name viseron -e PUID=1000 -e PGID=1000 --runtime=nvidia --privileged roflcoopter/jetson-nano-viseron:latest
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 10-adduser: executing... 
************************ UID/GID *************************
User uid:    1000
User gid:    1000
************************** Done **************************
[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 20-gid-video-device: executing... 
[cont-init.d] 20-gid-video-device: exited 0.
[cont-init.d] 30-edgetpu-permission: executing... 
************** Setting EdgeTPU permissions ***************
Coral Vendor IDs:
"1a6e"
"18d1"
No EdgeTPU USB device was found
************************** Done **************************
[cont-init.d] 30-edgetpu-permission: exited 0.
[cont-init.d] 40-set-env-vars: executing... 
****** Checking for hardware acceleration platforms ******
OpenCL cannot be used
VA-API cannot be used
CUDA is available!
*********************** Done *****************************
[cont-init.d] 40-set-env-vars: exited 0.
[cont-init.d] 50-check-if-rpi: executing... 
********** Checking if we are running on an RPi **********
Not running on any supported RPi
*********************** Done *****************************
[cont-init.d] 50-check-if-rpi: exited 0.
[cont-init.d] 55-check-if-jetson: executing... 
****** Checking if we are running on a Jetson Board ******
Running on a Jetson Nano
*********************** Done *****************************
[cont-init.d] 55-check-if-jetson: exited 0.
[cont-init.d] 60-ffmpeg-path: executing... 
****************** Getting FFmpeg path *******************
FFmpeg path: /usr/bin/ffmpeg
*********************** Done *****************************
[cont-init.d] 60-ffmpeg-path: exited 0.
[cont-init.d] 70-gstreamer-path: executing... 
***************** Getting GStreamer path *****************
GStreamer path: /usr/bin/gst-launch-1.0
*********************** Done *****************************
[cont-init.d] 70-gstreamer-path: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[2023-06-29 12:23:57] [INFO    ] [viseron.core] - -------------------------------------------
[2023-06-29 12:23:57] [INFO    ] [viseron.core] - Initializing Viseron
[2023-06-29 12:23:57] [INFO    ] [viseron.components] - Setting up component logger
[2023-06-29 12:23:57] [INFO    ] [viseron.components] - Setup of component logger took 0.0 seconds
[2023-06-29 12:23:57] [INFO    ] [viseron.components] - Setting up component data_stream
[2023-06-29 12:23:57] [DEBUG   ] [viseron.watchdog] - Registering <RestartableThread(data_stream, initial daemon)> in the watchdog
[2023-06-29 12:23:57] [INFO    ] [viseron.components] - Setup of component data_stream took 0.0 seconds
[2023-06-29 12:23:57] [INFO    ] [viseron.components] - Setting up component webserver
[2023-06-29 12:23:57] [DEBUG   ] [asyncio] - Using selector: EpollSelector
[2023-06-29 12:23:57] [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/domain/registered/camera, <bound method Webserver.camera_registered of <Webserver(Tornado Webserver, initial daemon)>>
[2023-06-29 12:23:57] [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/domain/setup/domain_failed/camera/*, <bound method Webserver.camera_registered of <Webserver(Tornado Webserver, initial daemon)>>
[2023-06-29 12:23:57] [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic viseron/signal/shutdown, <bound method Webserver.stop of <Webserver(Tornado Webserver, initial daemon)>>
[2023-06-29 12:23:57] [INFO    ] [viseron.components] - Setup of component webserver took 0.0 seconds
[2023-06-29 12:23:57] [INFO    ] [viseron.components] - Setting up component nvr
[2023-06-29 12:23:57] [INFO    ] [viseron.components] - Setting up component ffmpeg
[2023-06-29 12:23:57] [INFO    ] [viseron.components] - Setup of component nvr took 0.0 seconds
[2023-06-29 12:23:57] [INFO    ] [viseron.components] - Setup of component ffmpeg took 0.0 seconds
[2023-06-29 12:23:58] [INFO    ] [viseron.components] - Setting up domain camera for component ffmpeg with identifier viseron_cam_01
[2023-06-29 12:23:58] [INFO    ] [viseron.components] - Setting up domain nvr for component nvr with identifier viseron_cam_01
[2023-06-29 12:23:58] [INFO    ] [viseron.components] - Setting up domain camera for component ffmpeg with identifier viseron_cam_02
[2023-06-29 12:23:58] [INFO    ] [viseron.components] - Setting up domain nvr for component nvr with identifier viseron_cam_02
[2023-06-29 12:23:58] [DEBUG   ] [viseron.components] - Domain nvr for component nvr with identifier viseron_cam_01 will wait for dependencies ['domain: camera, identifier: viseron_cam_01']
[2023-06-29 12:23:58] [INFO    ] [viseron.components] - Setting up domain camera for component ffmpeg with identifier viseron_cam_03
[2023-06-29 12:23:58] [DEBUG   ] [viseron.components] - Domain nvr for component nvr with identifier viseron_cam_02 will wait for dependencies ['domain: camera, identifier: viseron_cam_02']
[2023-06-29 12:23:58] [INFO    ] [viseron.components] - Setting up domain nvr for component nvr with identifier viseron_cam_03
[2023-06-29 12:23:58] [DEBUG   ] [viseron.components] - Domain nvr for component nvr with identifier viseron_cam_03 will wait for dependencies ['domain: camera, identifier: viseron_cam_03']
[2023-06-29 12:23:58] [INFO    ] [viseron.components] - Setting up domain camera for component ffmpeg with identifier viseron_cam_04
[2023-06-29 12:23:58] [INFO    ] [viseron.components] - Setting up domain nvr for component nvr with identifier viseron_cam_04
[2023-06-29 12:23:58] [DEBUG   ] [viseron.components] - Domain nvr for component nvr with identifier viseron_cam_04 will wait for dependencies ['domain: camera, identifier: viseron_cam_04']
[2023-06-29 12:23:58] [INFO    ] [viseron.components] - Setting up domain camera for component ffmpeg with identifier viseron_cam_05
[2023-06-29 12:23:58] [INFO    ] [viseron.components] - Setting up domain nvr for component nvr with identifier viseron_cam_05
[2023-06-29 12:23:58] [DEBUG   ] [viseron.components] - Domain nvr for component nvr with identifier viseron_cam_05 will wait for dependencies ['domain: camera, identifier: viseron_cam_05']
[2023-06-29 12:23:58] [INFO    ] [viseron.components] - Setting up domain camera for component ffmpeg with identifier viseron_cam_06
[2023-06-29 12:23:58] [INFO    ] [viseron.components] - Setting up domain nvr for component nvr with identifier viseron_cam_06
[2023-06-29 12:23:58] [DEBUG   ] [viseron.components] - Domain nvr for component nvr with identifier viseron_cam_06 will wait for dependencies ['domain: camera, identifier: viseron_cam_06']
[2023-06-29 12:23:58] [DEBUG   ] [viseron.components.ffmpeg.stream.viseron_cam_01] - Getting stream information for rtsp://*****:*****@192.168.25.122:554/
[2023-06-29 12:23:58] [DEBUG   ] [viseron.components.ffmpeg.stream.viseron_cam_05] - Getting stream information for rtsp://*****:*****@192.168.25.224:554/
[2023-06-29 12:23:58] [DEBUG   ] [viseron.components.ffmpeg.stream.viseron_cam_01] - FFprobe command: ffprobe -hide_banner -loglevel error -print_format json -show_error -show_streams rtsp://*****:*****@192.168.25.122:554/
[2023-06-29 12:23:58] [DEBUG   ] [viseron.components.ffmpeg.stream.viseron_cam_06] - Getting stream information for rtsp://*****:*****@192.168.25.114:554/
[2023-06-29 12:23:58] [DEBUG   ] [viseron.components.ffmpeg.stream.viseron_cam_05] - FFprobe command: ffprobe -hide_banner -loglevel error -print_format json -show_error -show_streams rtsp://*****:*****@192.168.25.224:554/
[2023-06-29 12:23:58] [DEBUG   ] [viseron.components.ffmpeg.stream.viseron_cam_02] - Getting stream information for rtsp://*****:*****@192.168.25.12:554/
[2023-06-29 12:23:58] [DEBUG   ] [viseron.components.ffmpeg.stream.viseron_cam_03] - Getting stream information for rtsp://*****:*****@192.168.25.31:554/
[2023-06-29 12:23:58] [DEBUG   ] [viseron.components.ffmpeg.stream.viseron_cam_04] - Getting stream information for rtsp://*****:*****@192.168.25.32:554/
[2023-06-29 12:23:58] [DEBUG   ] [viseron.components.ffmpeg.stream.viseron_cam_06] - FFprobe command: ffprobe -hide_banner -loglevel error -print_format json -show_error -show_streams rtsp://*****:*****@192.168.25.114:554/
[2023-06-29 12:23:58] [DEBUG   ] [viseron.components.ffmpeg.stream.viseron_cam_02] - FFprobe command: ffprobe -hide_banner -loglevel error -print_format json -show_error -show_streams rtsp://*****:*****@192.168.25.12:554/
[2023-06-29 12:23:58] [DEBUG   ] [viseron.components.ffmpeg.stream.viseron_cam_03] - FFprobe command: ffprobe -hide_banner -loglevel error -print_format json -show_error -show_streams rtsp://*****:*****@192.168.25.31:554/
[2023-06-29 12:23:58] [DEBUG   ] [viseron.components.ffmpeg.stream.viseron_cam_04] - FFprobe command: ffprobe -hide_banner -loglevel error -print_format json -show_error -show_streams rtsp://*****:*****@192.168.25.32:554/
[2023-06-29 12:23:58] [ERROR   ] [viseron.components.ffmpeg.stream.viseron_cam_01] - Error: Can't initialize nvrm channel
[2023-06-29 12:23:58] [ERROR   ] [viseron.components.ffmpeg.stream.viseron_cam_05] - Error: Can't initialize nvrm channel
[2023-06-29 12:23:58] [ERROR   ] [viseron.components.ffmpeg.stream.viseron_cam_01] - Error: Can't initialize nvrm channel
[2023-06-29 12:23:58] [ERROR   ] [viseron.components] - Domain camera for component ffmpeg is not ready. Retrying in 10 seconds. Error: FFprobe could not connect to stream. Output: b'nvbuf_utils: Could not create Default NvBufferSession\n[2023-06-29 12:23:58] [ERROR   ] [viseron.components] - Domain camera for component ffmpeg is not ready. Retrying in 10 seconds. Error: FFprobe could not connect to stream. Output: b'nvbuf_utils: Could not create Default NvBufferSession\n', message repeated 2 times
[2023-06-29 12:23:58] [ERROR   ] [viseron.components.ffmpeg.stream.viseron_cam_06] - Error: Can't initialize nvrm channel
[2023-06-29 12:23:58] [ERROR   ] [viseron.components.ffmpeg.stream.viseron_cam_05] - Error: Can't initialize nvrm channel
[2023-06-29 12:23:58] [ERROR   ] [viseron.components] - Domain camera for component ffmpeg is not ready. Retrying in 10 seconds. Error: FFprobe could not connect to stream. Output: b'nvbuf_utils: Could not create Default NvBufferSession\n'
[2023-06-29 12:23:58] [ERROR   ] [viseron.components.ffmpeg.stream.viseron_cam_01] - Couldn't create ddkvic Session: Cannot allocate memory
[2023-06-29 12:23:58] [ERROR   ] [viseron.components.ffmpeg.stream.viseron_cam_04] - Error: Can't initialize nvrm channel
[2023-06-29 12:23:58] [ERROR   ] [viseron.components.ffmpeg.stream.viseron_cam_02] - Error: Can't initialize nvrm channel
[2023-06-29 12:23:58] [ERROR   ] [viseron.components.ffmpeg.stream.viseron_cam_06] - Error: Can't initialize nvrm channel
[2023-06-29 12:23:58] [ERROR   ] [viseron.components] - Domain camera for component ffmpeg is not ready. Retrying in 10 seconds. Error: FFprobe could not connect to stream. Output: b'nvbuf_utils: Could not create Default NvBufferSession\n[2023-06-29 12:23:58] [ERROR   ] [viseron.components] - Domain camera for component ffmpeg is not ready. Retrying in 10 seconds. Error: FFprobe could not connect to stream. Output: b'nvbuf_utils: Could not create Default NvBufferSession\n', message repeated 2 times
[2023-06-29 12:23:58] [ERROR   ] [viseron.components.ffmpeg.stream.viseron_cam_05] - Couldn't create ddkvic Session: Cannot allocate memory
[2023-06-29 12:23:58] [ERROR   ] [viseron.components.ffmpeg.stream.viseron_cam_04] - Error: Can't initialize nvrm channel
[2023-06-29 12:23:58] [ERROR   ] [viseron.components.ffmpeg.stream.viseron_cam_02] - Error: Can't initialize nvrm channel
[2023-06-29 12:23:58] [ERROR   ] [viseron.components.ffmpeg.stream.viseron_cam_06] - Couldn't create ddkvic Session: Cannot allocate memory
[2023-06-29 12:23:58] [ERROR   ] [viseron.components.ffmpeg.stream.viseron_cam_04] - Couldn't create ddkvic Session: Cannot allocate memory
[2023-06-29 12:23:58] [ERROR   ] [viseron.components.ffmpeg.stream.viseron_cam_02] - Couldn't create ddkvic Session: Cannot allocate memory
[2023-06-29 12:23:58] [ERROR   ] [viseron.components.ffmpeg.stream.viseron_cam_03] - Error: Can't initialize nvrm channel, message repeated 2 times
[2023-06-29 12:23:58] [ERROR   ] [viseron.components.ffmpeg.stream.viseron_cam_03] - Couldn't create ddkvic Session: Cannot allocate memory
[2023-06-29 12:23:58] [ERROR   ] [viseron.components] - Domain camera for component ffmpeg is not ready. Retrying in 10 seconds. Error: FFprobe could not connect to stream. Output: b'nvbuf_utils: Could not create Default NvBufferSession\n'

It looks like the same error.

I created an external access for this camera, if you can do some testing, I would be very grateful.

rtsp://visnvr:[email protected]:22454/

Could the command line I use at startup be causing the error?

docker run --rm -v /media/decio/VIS/cam_rec/recordings:/recordings -v /home/decio/Viseron/config:/config -v /etc/localtime:/etc/localtime:ro -p 8888: 8888 --name viseron -e PUID=1000 -e PGID=1000 --runtime=nvidia --privileged roflcoopter/jetson-nano-viseron:latest

A misinterpretation led me to add these parameters in the initialization of VISERON PUID=1000 -e PGID=1000. It was enough to remove that the errors were eliminated.

Good job figuring that out!
Sorry for not getting back to you on this issue.

1 Like

I would like your help with one more situation, the color palette of the photo capture is wrong. Only the image, the captured video has the correct colors. Another situation is that a portion of the rightmost image is mounted on the left side. I will post send the images to illustrate better.

Inverted colors. The leftmost portion should be on the right. In the image with the correct colors you can see.


Correct colors


And finally, with all the cameras.

My guess is that the discovered width/height of your camera is incorrect.
Have you specified width and height in your config?

Sometimes cameras dont report their stream information correctly, so it is better to add the information in the config to values that you know for certain are correct

Thank you very much for your help and sorry for the inconvenience.
I even set it to yes, I set a value of 1920x1080 but the display of images looks like a poorly tuned television.

viseron_cam_05:
      name: Lote_Vago
      path: /channel=1&stream=0.sdp
      port: 554
      protocol: rtsp
      stream_format: rtsp
      fps: 30
      width: 1920
      height: 1080
      host: !secret viseron_cam_05
      username: !secret username
      password: !secret password
      mjpeg_streams:
        my_stream:
          draw_objects: true
          draw_object_mask: true
          draw_motion: true
          draw_motion_mask: true   

2023-08-09_11-13

Hmm okay. I do recall that someone else has had this issue, but i cant remember the solution right now.
I will dig through some old issues and discussions on github and see if i can find it.

I will be away for a few days tho so it might take a little while before i have the time.

Back from my vacation now so i can start looking at this.
My guess is that your camera has BGR images but reports RGB. I have not seen this before, what camera is it?

I thought you meant Home Assistant when you said HA - after all it’s a Home Assistant logo in the heading - , although you could have meant hardware acceleration.

@roflcoopter Love this solution, I’ve been running it on a Jeston Nano for a while with 4 cameras, and darknet component for objects.

Just attempted to upgrade to v2.3.0 and the gstreamer component will no longer load, its throwing:

failed to load component gstreamer: no module named 'gi'

Not sure it you were aware of this, of had a fix? Happy to pull the project down and build on the jetson nano to test.