PROBLEM:
I am currently working on a LattePanda Delta with Windows 10. Using a command prompt window I can show any of the 4 cameras one at a time using the following commands. gst-launch-1.0 ksvideosrc device-index=0 name=Cam0 ! queue ! videoconvert ! videorate ! autovideosink sync=false gst-launch-1.0 ksvideosrc device-index=1 name=Cam1 ! queue ! videoconvert ! videorate ! autovideosink sync=false gst-launch-1.0 ksvideosrc device-index=2 name=Cam2 ! queue ! videoconvert ! videorate ! autovideosink sync=false gst-launch-1.0 ksvideosrc device-index=3 name=Cam3 ! queue ! videoconvert ! videorate ! autovideosink sync=false If I attempt to use 2 or more cameras at the same time by starting each gst-launch-1.0 command in separate command windows or attempting to use videomixer and videobox in any configuration. I get an error: ERROR: from element /GstPipeline:pipeline0/GstKsVideoSrc:Cam1: failed to start capture (device already in use) I have tried using all kinds of [device-path], [device-index] variations, all with the same results. What am I missing? How do I get GStreamer to use all 4 cameras at the same time? Does anyone have a working multiple USB camera configuration that they could share or compare what I attempting to do with what they have that works. Is there something besides GStreamer that can do this? At this point I am open to any hardware/software solution. Thanks in advance for any assistance. Jim BACKGROUND: I have been trying to get 4 USB Cameras to display in a single window. I started with a Raspberry Pi 4 ARM CPU and had a lot of issues that seemed to suggest that the Pi was not up to the task, although I never saw anything that would suggest that in the task manager (~ 15% CPU and under 100K memory). So to be sure I purchased a LattePanda Delta 4GB RAM Intel CPU based SBC to test further. With Linux on the Panda I pretty much had the same problems and results as I did with the Pi so I installed Windows 10 on the Panda. Here is a quick overview of what I am trying to accomplish. I currently have a Raspberry Pi 4 in the cab of my 2001 diesel truck. It is used for several gauges, controls the aftermarket exhaust brake, trailer brakes and provides GPS. I tow a 5-wheel trailer and want to add traffic cameras to it. I have a cat5 wired connection between the trailer and the cab already. I want to set this up so that at the push of a touch screen button in the cab I can select different pre-configured camera sereams based on traffic conditions and possible upcoming lane changes. I would like the computer in the trailed to input the camera video arrange it into one of several single window configurations and stream that consolidated video to the cab computer. I am using videomixer and videobox to combine the video streams. As an example this GStreamer command works in all SBC and OS cases (RPi4, Panda, Linux, Windows). If I can get this to work using the USB cameras as inputs I will stream this output to the cab of the truck via UDP. gst-launch-1.0 videomixer name=mix ! videoconvert ! autovideosink sync=false ^ videotestsrc pattern=0 ! video/x-raw,format=AYUV,width=640,height=480 ! videobox top=0 border-alpha=0 ! mix. ^ videotestsrc pattern=4 ! video/x-raw,format=AYUV,width=640,height=480 ! videobox left=-640 border-alpha=0 ! mix. ^ videotestsrc pattern=5 ! video/x-raw,format=AYUV,width=640,height=480 ! videobox top=-480 border-alpha=0 ! mix. ^ videotestsrc pattern=6 ! video/x-raw,format=AYUV,width=640,height=480 ! videobox left=-640 top=-480 border-alpha=0 ! mix. ADDITIONAL INFO: 3 of the cameras are ELP-USB100W05MT-DL36 1 of the cameras is a ELP-USB100W07M-MHV45 There is no audio needed or wanted in this project. Also a low frame rate of 5 to 10 fps should be very acceptable. I have attached a txt file that shows the video sources output from the following command: gst-device-monitor-1.0 Video/Source USB_Cameras_on_Latte_Panda_with_Win_10.txt <http://gstreamer-devel.966125.n4.nabble.com/file/t379857/USB_Cameras_on_Latte_Panda_with_Win_10.txt> In a nutshell this is what I get: There are 2 entries for each camera with each entry using a different video source plugin (ksvideosrc or mfvideosrc). I have tried these in different combinations, all resulting in the same (device already in use) error. ksvideosrc device-path="\\\\\?\\usb\#vid_32e4\&pid_9601\&mi_00\#8\&1e2f342a\&0\&0000\#\{6994ad05-93ef-11d0-a3cc-00a0c9223196\}\\global" mfvideosrc device-path="\\\\\?\\usb\#vid_32e4\&pid_9601\&mi_00\#8\&1e2f342a\&0\&0000\#\{e5323777-f976-4f5b-9b55-b94699c46e44\}\\global" ksvideosrc device-path="\\\\\?\\usb\#vid_05a3\&pid_9310\&mi_00\#7\&2602478e\&0\&0000\#\{6994ad05-93ef-11d0-a3cc-00a0c9223196\}\\global" mfvideosrc device-path="\\\\\?\\usb\#vid_05a3\&pid_9310\&mi_00\#7\&2602478e\&0\&0000\#\{e5323777-f976-4f5b-9b55-b94699c46e44\}\\global" ksvideosrc device-path="\\\\\?\\usb\#vid_05a3\&pid_9310\&mi_00\#8\&ff2f27\&0\&0000\#\{6994ad05-93ef-11d0-a3cc-00a0c9223196\}\\global" mfvideosrc device-path="\\\\\?\\usb\#vid_05a3\&pid_9310\&mi_00\#8\&ff2f27\&0\&0000\#\{e5323777-f976-4f5b-9b55-b94699c46e44\}\\global" ksvideosrc device-path="\\\\\?\\usb\#vid_05a3\&pid_9310\&mi_00\#7\&134896e9\&0\&0000\#\{6994ad05-93ef-11d0-a3cc-00a0c9223196\}\\global" mfvideosrc device-path="\\\\\?\\usb\#vid_05a3\&pid_9310\&mi_00\#7\&134896e9\&0\&0000\#\{e5323777-f976-4f5b-9b55-b94699c46e44\}\\global" -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |