Raspberry Pi 4 is not working when the camera video size is increased.

iotsystek iotsystek at gmail.com
Fri Jan 29 17:28:27 UTC 2021


I am new to Linux and GStreamer.  I am working on getting 4 - 1 mega pixel
USB 2.0 cameras working on a RPi4.  Currently I am using just 2 cameras for
testing.  The cameras are connected via USB 2.0 directly to the Pi (no
external hub).  The RPi4 has 256Mb GPU memory set and is being powered with
a precision bench power supply at 5.05 volts and does not complain about low
voltage.  There is no audio in this project.  My final application will be
embedded into my diesel truck and 5th wheel.

I have 2 different hardware test configurations:
1	A Raspberry Pi 4 with Buster OS dates Dec 2 2020.
	Each camera is connected directly to a Pi USB port.
	GStreamer version is 1.14.4

2	Linux Ubuntu 18.04 running in a virtual machine on my PC.
	1 camera is connected directly to a PC USB 3.0 port.
	1 camera is connected to a PC via a USB 3.0 hub.
	GStreamer version is 1.14.5

The following 2 gst-launch-1.0 commands are being used.  The only difference
between them are the size of the video 320x240 or 640x480.

gst-launch-1.0 videomixer name=mix ! videoconvert ! autovideosink sync=false
\
 v4l2src device=/dev/video0 ! videorate max-rate=6 ! queue ! videoconvert !
video/x-raw, format=AYUV, width=320, height=240 ! videobox border-alpha=0
top=0    left=0    ! mix. \
 v4l2src device=/dev/video2 ! videorate max-rate=6 ! queue ! videoconvert !
video/x-raw, format=AYUV, width=320, height=240 ! videobox border-alpha=0
top=0    left=-320 ! mix.

gst-launch-1.0 videomixer name=mix ! videoconvert ! ximagesink sync=false \
 v4l2src device=/dev/video0 ! videorate max-rate=6 ! queue ! videoconvert !
video/x-raw, format=AYUV, width=640, height=480 ! videobox border-alpha=0
top=0    left=0    ! mix. \
 v4l2src device=/dev/video2 ! videorate max-rate=6 ! queue ! videoconvert !
video/x-raw, format=AYUV, width=640, height=480 ! videobox border-alpha=0
top=0    left=-640 ! mix.

In the following write up my definition of working means that the video
starts up with gst-launch-1.0 and updates as expected when I move the camera
around. (Real time video)

Both of the above commands work on the PC VM.

On the RPi4 the smaller window always works but the larger window only kind
of works sometimes. With the larger window on the RPi4 on startup a window
does not always show up.  If a window does show up it will have only one
camera then after 10 to 20 seconds the second camera shows up.  The video
seems frozen at this point but if I move the cameras the image may update
after a 30 to 60 second or longer delay.

I have looked at the gst-launch-1.0 process and threads on both the RPi4 and
the PC VM.  As expected they look mostly the same but with one exception. 
There seems to be a large delta time on the 2 queues. Also the pipeline
images created from the .dot files show no activity on one of the queues. 
See Images.

Thanks in advance for any assistance with this problem.

<http://gstreamer-devel.966125.n4.nabble.com/file/t379857/GStreamer_PC_Threads.png> 

<http://gstreamer-devel.966125.n4.nabble.com/file/t379857/GStreamer_RPi_Threads.png> 

<http://gstreamer-devel.966125.n4.nabble.com/file/t379857/Queue.png> 




--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list