[ 8880.906574] input: Logitech BRIO as /devices/3530000.xhci/usb2/2-1/2-1:1.0/input/input8
[ 8880.930531] usb 2-1: current rate 16000 is different from the runtime rate 24000
[ 8880.947329] usb 2-1: current rate 16000 is different from the runtime rate 32000
[ 8880.963010] usb 2-1: current rate 16000 is different from the runtime rate 48000
[ 8880.987837] input: Logitech BRIO as /devices/3530000.xhci/usb2/2-1/2-1:1.4/0003:046D:085E.0002/input/input9
[ 8881.051042] hid-generic 0003:046D:085E.0002: input,hidraw0: USB HID v1.11 Device [Logitech BRIO] on usb-3530000.xhci-1/input4
[ 8881.146097] usb 2-1: current rate 16000 is different from the runtime rate 48000
[ 8881.206969] usb 2-1: current rate 16000 is different from the runtime rate 48000
[ 8881.286969] usb 2-1: current rate 16000 is different from the runtime rate 48000
[ 8881.351051] usb 2-1: current rate 16000 is different from the runtime rate 48000
[ 8881.403678] usb 2-1: current rate 16000 is different from the runtime rate 48000
[ 8881.467123] usb 2-1: current rate 16000 is different from the runtime rate 48000
Ubuntu 16.04 with ROS kinetic
My Problem:
Both nodes arent working:
When launching usb_cam no images are published and the node is crashing after some seconds:
process[logitech_brio-2]: started with pid [8267]
[ INFO] [1527760233.897483730]: using default calibration URL
[ INFO] [1527760233.897671025]: camera calibration URL: file:///home/nvidia/.ros/camera_info/head_camera.yaml
[ INFO] [1527760233.897817904]: Unable to open camera calibration file [/home/nvidia/.ros/camera_info/head_camera.yaml]
[ WARN] [1527760233.897881967]: Camera calibration file /home/nvidia/.ros/camera_info/head_camera.yaml not found.
[ INFO] [1527760233.897955663]: Starting 'head_camera' (/dev/video1) at 640x480 via mmap (mjpeg) at 30 FPS
[mjpeg @ 0x4727b0] Changeing bps to 8
[swscaler @ 0x6034a0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x6034a0] No accelerated colorspace conversion found from yuv422p to rgb24.
[mjpeg @ 0x4727b0] mjpeg_decode_dc: bad vlc: 0:0 (0x472e60)
[mjpeg @ 0x4727b0] error dc
[mjpeg @ 0x4727b0] error y=45 x=20
[swscaler @ 0x605000] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x605000] No accelerated colorspace conversion found from yuv422p to rgb24.
[swscaler @ 0x60c1a0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x60c1a0] No accelerated colorspace conversion found from yuv422p to rgb24.
[mjpeg @ 0x4727b0] mjpeg_decode_dc: bad vlc: 0:0 (0x472e60)
[mjpeg @ 0x4727b0] error dc
[mjpeg @ 0x4727b0] error y=47 x=7
[swscaler @ 0x61ebe0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x61ebe0] No accelerated colorspace conversion found from yuv422p to rgb24.
[mjpeg @ 0x4727b0] Found EOI before any SOF, ignoring
[mjpeg @ 0x4727b0] No JPEG data found in image
[ERROR] [1527760236.667546042]: Error while decoding frame.
[mjpeg @ 0x4727b0] Found EOI before any SOF, ignoring
[mjpeg @ 0x4727b0] overread 8
[mjpeg @ 0x4727b0] overread 8
[swscaler @ 0x61ebe0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x61ebe0] No accelerated colorspace conversion found from yuv422p to rgb24.
[mjpeg @ 0x4727b0] mjpeg_decode_dc: bad vlc: 0:0 (0x472e60)
[mjpeg @ 0x4727b0] error dc
[mjpeg @ 0x4727b0] error y=28 x=15
[swscaler @ 0x61ebe0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x61ebe0] No accelerated colorspace conversion found from yuv422p to rgb24.
[swscaler @ 0x61ebe0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x61ebe0] No accelerated colorspace conversion found from yuv422p to rgb24.
[mjpeg @ 0x4727b0] mjpeg_decode_dc: bad vlc: 0:0 (0x472e60)
[mjpeg @ 0x4727b0] error dc
[mjpeg @ 0x4727b0] error y=25 x=39
[swscaler @ 0x61ebe0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x61ebe0] No accelerated colorspace conversion found from yuv422p to rgb24.
[swscaler @ 0x61ebe0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x61ebe0] No accelerated colorspace conversion found from yuv422p to rgb24.
[mjpeg @ 0x4727b0] Found EOI before any SOF, ignoring
[mjpeg @ 0x4727b0] No JPEG data found in image
[ERROR] [1527760239.999581182]: Error while decoding frame.
[mjpeg @ 0x4727b0] Found EOI before any SOF, ignoring
[mjpeg @ 0x4727b0] overread 8
[swscaler @ 0x61ebe0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x61ebe0] No accelerated colorspace conversion found from yuv422p to rgb24.
[mjpeg @ 0x4727b0] Found EOI before any SOF, ignoring
[mjpeg @ 0x4727b0] No JPEG data found in image
[ERROR] [1527760241.199585278]: Error while decoding frame.
[mjpeg @ 0x4727b0] Found EOI before any SOF, ignoring
[mjpeg @ 0x4727b0] No JPEG data found in image
[ERROR] [1527760241.863500201]: Error while decoding frame.
[swscaler @ 0x61ebe0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x61ebe0] No accelerated colorspace conversion found from yuv422p to rgb24.
[swscaler @ 0x61ebe0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x61ebe0] No accelerated colorspace conversion found from yuv422p to rgb24.
[ERROR] [1527760247.020780605]: select timeout
[logitech_brio-2] process has died [pid 8267, exit code 1, cmd /home/nvidia/ros_catkin_ws/devel/lib/usb_cam/usb_cam_node __name:=logitech_brio __log:=/home/nvidia/.ros/log/0f5a93e2-64b8-11e8-ac43-00044b8d1193/logitech_brio-2.log].
log file: /home/nvidia/.ros/log/0f5a93e2-64b8-11e8-ac43-00044b8d1193/logitech_brio-2*.log
cv_camera node is throwing the error “select timeout” and no image is published to the system.
I can’t answer, but it seems to be a standard video class USB device not requiring special drivers. The only catch I see is that if you don’t run it as USB3 mode it can’t work with higher resolutions. If you run “lsusb -t” you will see a “5000M” after devices in USB3 mode, or “480M” after devices running in USB2 mode. The full-sized USB connector is the only one on the dev board supporting USB3, make sure it is there.
You could conserve some bandwidth by putting all other USB devices on the micro-OTG port…you’d need a micro-A-to-full-sized adapter and plug your USB HUB into that.
If everything is already at USB3 speeds then you can debug from there.
EDIT: Forgot to mention…run these too to max performance for testing:
I put the device on the USB3 connector and lsusb is showing that it is running as USB3. The camera is also the only device on the USB3 Connector. This is what lsusb-t shows:
lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-tegra/3p, 5000M
|__ Port 1: Dev 2, If 0, Class=Video, Driver=uvcvideo, 5000M
|__ Port 1: Dev 2, If 1, Class=Video, Driver=uvcvideo, 5000M
|__ Port 1: Dev 2, If 2, Class=Audio, Driver=snd-usb-audio, 5000M
|__ Port 1: Dev 2, If 3, Class=Audio, Driver=snd-usb-audio, 5000M
|__ Port 1: Dev 2, If 4, Class=Human Interface Device, Driver=usbhid, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-tegra/4p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 2: Dev 4, If 0, Class=Vendor Specific Class, Driver=ch341, 12M
I just put the cam to an Ubuntu 16.04 Desktop PC, but on it only USB2 is availlable. On the Desktop PC the cam is working (at least 640x480 30fps) . The lsusb -t is showing this entrys for the cam:
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
|__ Port 1: Dev 3, If 0, Class=Hub, Driver=hub/3p, 480M
|__ Port 2: Dev 8, If 3, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 2: Dev 8, If 1, Class=Video, Driver=uvcvideo, 480M
|__ Port 2: Dev 8, If 2, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 2: Dev 8, If 0, Class=Video, Driver=uvcvideo, 480M
If not, you may check with video modes are available with:
v4l2-ctl -d /dev/video1 --list-formats-ext
Use one these as SRC (output) caps for v4l2src, you may convert with a later plugin if required. [EDIT: sorry I’ve seen later that @DaneLLL already asked these and you’ve provided outputs.]
You may also let gstreamer try to find itself:
if you can see the video, one working mode has been found and just look at the traces (generated with -v).
You may also check where your build of opencv-3.4.1 has installed its headers and libs. When configuring opencv build, it is better to set CMAKE_INSTALL_PREFIX to something like /usr/local/opencv-3.4.1 and leave original version alone in /usr (or even better moving it, but that’s another topic). If you’ve run make install with a 3.4.1 build having CMAKE_INSTALL_PREFIX to /usr, you may have a mix and possibly trashed previous version.
So you may check what gives
ls /usr/lib/libopencv*
If you’ve installed opencv-3.4.1 in /usr/local/opencv-3.4.1, then you may try to set opencv libs paths for ld with:
The outputof this command shows the python environment. I think the problem is not the opencv installation, because i cannot open the pipeline correctly.
As conclusion of your suggestion to check the pipeline i will check another camera that should work definitely on Jetson! If that camera isnt working as well, the fault will be in my setup or installation. If it is working, the Logitech Brio is the fault.
[EDIT] This is realy interesting:
If im using the following command on my Ubuntu 16.4 desktop system, i get an image shown in a window as well. The output of the command is shown below! Why is GStreamer working on my desktop pc and not on the jetson?
With this caps i tried to start on Jetson, but no image… The output is:
nvidia@tegra-ubuntu:~$ gst-launch-1.0 v4l2src device=/dev/video1 ! 'video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30/1' ! xvimagesink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: Output window was closed
Additional debug info:
xvimagesink.c(555): gst_xv_image_sink_handle_xevents (): /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0
Execution ended after 0:01:24.359712993
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
The output of --list-formats is different on desktop PC to Jetson too:
Here some additional information to my GStreamer installation:
ON JETSON:
nvidia@tegra-ubuntu:~$ dpkg -l | grep gstreamer
ii gir1.2-gstreamer-1.0 1.8.3-1~ubuntu0.1 arm64 GObject introspection data for the GStreamer library
ii gstreamer1.0-alsa:arm64 1.8.3-1ubuntu0.2 arm64 GStreamer plugin for ALSA
ii gstreamer1.0-clutter-3.0 3.0.18-1 arm64 Clutter PLugin for GStreamer 1.0
ii gstreamer1.0-libav:arm64 1.8.3-1ubuntu0.2 arm64 libav plugin for GStreamer
ii gstreamer1.0-plugins-bad-videoparsers:arm64 1.8.3-1ubuntu0.2 arm64 GStreamer videoparsers plugin from the "bad" set
ii gstreamer1.0-plugins-base:arm64 1.8.3-1ubuntu0.2 arm64 GStreamer plugins from the "base" set
ii gstreamer1.0-plugins-base-apps 1.8.3-1ubuntu0.2 arm64 GStreamer helper programs from the "base" set
ii gstreamer1.0-plugins-good:arm64 1.8.3-1ubuntu0.4 arm64 GStreamer plugins from the "good" set
ii gstreamer1.0-pulseaudio:arm64 1.8.3-1ubuntu0.4 arm64 GStreamer plugin for PulseAudio
ii gstreamer1.0-tools 1.8.3-1~ubuntu0.1 arm64 Tools for use with GStreamer
ii gstreamer1.0-x:arm64 1.8.3-1ubuntu0.2 arm64 GStreamer plugins for X11 and Pango
ii libgstreamer-plugins-bad1.0-0:arm64 1.8.3-1ubuntu0.2 arm64 GStreamer development files for libraries from the "bad" set
ii libgstreamer-plugins-base1.0-0:arm64 1.8.3-1ubuntu0.2 arm64 GStreamer libraries from the "base" set
ii libgstreamer-plugins-base1.0-dev 1.8.3-1ubuntu0.2 arm64 GStreamer development files for libraries from the "base" set
ii libgstreamer-plugins-good1.0-0:arm64 1.8.3-1ubuntu0.4 arm64 GStreamer development files for libraries from the "good" set
ii libgstreamer1.0-0:arm64 1.8.3-1~ubuntu0.1 arm64 Core GStreamer libraries and elements
ii libgstreamer1.0-dev 1.8.3-1~ubuntu0.1 arm64 GStreamer core development files
ii libreoffice-avmedia-backend-gstreamer 1:5.1.6~rc2-0ubuntu1~xenial3 arm64 GStreamer backend for LibreOffice
ON MY DESKTOP PC:
timo@timo-Latitude-E6320:~$ dpkg -l | grep gstreamer
ii gir1.2-gstreamer-1.0 1.8.3-1~ubuntu0.1 amd64 GObject introspection data for the GStreamer library
ii gstreamer1.0-alsa:amd64 1.8.3-1ubuntu0.2 amd64 GStreamer plugin for ALSA
ii gstreamer1.0-clutter-3.0 3.0.18-1 amd64 Clutter PLugin for GStreamer 1.0
ii gstreamer1.0-fluendo-mp3:amd64 0.10.32.debian-1 amd64 Fluendo mp3 decoder GStreamer 1.0 plugin
ii gstreamer1.0-libav:amd64 1.8.3-1ubuntu0.2 amd64 libav plugin for GStreamer
ii gstreamer1.0-plugins-bad-faad:amd64 1.8.3-1ubuntu0.2 amd64 GStreamer faad plugin from the "bad" set
ii gstreamer1.0-plugins-bad-videoparsers:amd64 1.8.3-1ubuntu0.2 amd64 GStreamer videoparsers plugin from the "bad" set
ii gstreamer1.0-plugins-base:amd64 1.8.3-1ubuntu0.2 amd64 GStreamer plugins from the "base" set
ii gstreamer1.0-plugins-base-apps 1.8.3-1ubuntu0.2 amd64 GStreamer helper programs from the "base" set
ii gstreamer1.0-plugins-good:amd64 1.8.3-1ubuntu0.4 amd64 GStreamer plugins from the "good" set
ii gstreamer1.0-plugins-ugly:amd64 1.8.3-1ubuntu0.1 amd64 GStreamer plugins from the "ugly" set
ii gstreamer1.0-plugins-ugly-amr:amd64 1.8.3-1ubuntu0.1 amd64 GStreamer plugins from the "ugly" set
ii gstreamer1.0-pulseaudio:amd64 1.8.3-1ubuntu0.4 amd64 GStreamer plugin for PulseAudio
ii gstreamer1.0-tools 1.8.3-1~ubuntu0.1 amd64 Tools for use with GStreamer
ii gstreamer1.0-x:amd64 1.8.3-1ubuntu0.2 amd64 GStreamer plugins for X11 and Pango
ii libgstreamer-plugins-bad1.0-0:amd64 1.8.3-1ubuntu0.2 amd64 GStreamer development files for libraries from the "bad" set
ii libgstreamer-plugins-base1.0-0:amd64 1.8.3-1ubuntu0.2 amd64 GStreamer libraries from the "base" set
ii libgstreamer-plugins-base1.0-dev 1.8.3-1ubuntu0.2 amd64 GStreamer development files for libraries from the "base" set
ii libgstreamer-plugins-good1.0-0:amd64 1.8.3-1ubuntu0.4 amd64 GStreamer development files for libraries from the "good" set
ii libgstreamer1.0-0:amd64 1.8.3-1~ubuntu0.1 amd64 Core GStreamer libraries and elements
ii libgstreamer1.0-dev 1.8.3-1~ubuntu0.1 amd64 GStreamer core development files
ii libreoffice-avmedia-backend-gstreamer 1:5.1.6~rc2-0ubuntu1~xenial3 amd64 GStreamer backend for LibreOffice
ii phonon-backend-gstreamer:amd64 4:4.8.2-0ubuntu2 amd64 Phonon GStreamer 1.0 backend
ii phonon-backend-gstreamer-common:amd64 4:4.8.2-0ubuntu2 amd64 Phonon GStreamer 1.0.x backend icons
I forgot to mention, but for using gstreamer with xvimagesink plugin, you need to have a display and GUI.
If you are in console mode, or from ssh without X forwarding it wouldn’t work.
Are you able to configure and see videocapture with qv4l2 (can be installed through apt) ?
This should allow to quickly test different configurations and find a working one.
You may also check if a firmware update is available for your webcam.
Last, you may try to have only the camera on full size USB3 port. MicroUSB is USB2 max.
On my desktop PC qv4l2 works well. I can set properties and can see the image while capturing. When i start qv4l2 on Jetson, i can see the same properties as shown on my desktop PC. But if if start capturing i cannot see an image. There is only a green background in the created window…
I will try it! I will hand in the information about success later.
I put it as only device on USB3 Port. All other devices are connected via micro USB2 otg HUB.
Now i updated my Logitech Brio Firmware from 1.0.379 up to 1.0.423. I cannot believe it: It works!
For everyone who wants to work with Logitech Brio on Jetson and OpenCV, here is a summary of this task:
Need to update the camera firmware up tp 1.0.423
Let camera be the only device on USB3 port
Install OpenCV 3.4 with GStreamer support: https://github.com/jetsonhacks/buildOpenCVTX2
This is the cap for opencv
```
v4l2src device=/dev/video1 ! video/x-raw,format=YUY2,width=640,height=480 ! appsink
```
Usefull tool for camera configuration: qv4l2
My next challenge is to use cv_camera (ROS) with GStreamer! I’ll work on it the next time but thats not the topic of this thread. Therefor I will close this thread.