Repetier Server Linux webcam script chokes on Raspian "Buster"

Hello, I'm trying out Repetier Server on a few Raspberry Pis. I was able to get it working OK on Raspbian "Stretch" on a Raspberry Pi 3, and wanted to see what sort of performance increase a Raspberry Pi 4 would give for things like rendering the 3D previews etc.

Unfortunately I've not been able to install the webcams properly on a Raspberry Pi that is running the newer "Buster" version of Debian that is required by the Pi 4. I have been following the instructions here:

https://www.repetier-server.com/setting-webcam-repetier-server-linux/

and I think the scripts at step 6 that you install (that are located at http://download.repetier-server.com/files/server/extras/mjpgstreamer-init-debian/Repetier-Setup.zip) don't react well to how Buster is enumerating the USB bus - or something similar to that. It goes through the motions, but ends up working on a device handle that is invalid, and tries to set up a webcam at 0x0 resolution at 0fps.

I have tried manually hacking around with the scripts to force it to work at a specific resolution and fps, but the webcam setup is still very unreliable on Buster. It works perfectly on Raspbian Jessie, so it's definitely a change in Buster which is breaking the script, but my Unix knowledge isn't enough to fix the scripts properly.

(I haven't checked the pre-done Raspberry Pi image, but I want to set it up by hand so I can lean the server out as much as possible)

Comments

  • Thanks for the hint. You are right that buster changes webcam enumeration/names a bit. I needed to change them for the image to work properly. Will update the old setup shortly to match the new scripts handling both cases.
  • hi, i encountered the same problem. i have a stable system on raspbian stretch. the new raspbian buster makes it stop working. i checked out the repetier server code too but did not get an idea to fix it for myself yet. is there any hack available already? regards and thanks for all efforts, Mario
  • edited February 2020
    edit: the difference in output is
    Raspbian Buster
    /usr/bin/v4l2-ctl --list-formats-ext -d /dev/video0
    ioctl: VIDIOC_ENUM_FMT
            Type: Video Capture

            [0]: 'YUYV' (YUYV 4:2:2)
                    Size: Discrete 640x480
                            Interval: Discrete 0.033s (30.000 fps)
                            Interval: Discrete 0.042s (24.000 fps)
                            Interval: Discrete 0.050s (20.000 fps)
                            Interval: Discrete 0.067s (15.000 fps)
                            Interval: Discrete 0.100s (10.000 fps)
                            Interval: Discrete 0.133s (7.500 fps)
                            Interval: Discrete 0.200s (5.000 fps)
    Raspbian Stretch
    /usr/bin/v4l2-ctl --list-formats-ext -d /dev/video1
    ioctl: VIDIOC_ENUM_FMT
            Index       : 0
            Type        : Video Capture
            Pixel Format: 'YUYV'
            Name        : YUYV 4:2:2
                    Size: Discrete 640x480
                            Interval: Discrete 0.033s (30.000 fps)
                            Interval: Discrete 0.042s (24.000 fps)
                            Interval: Discrete 0.050s (20.000 fps)
                            Interval: Discrete 0.067s (15.000 fps)
                            Interval: Discrete 0.100s (10.000 fps)
                            Interval: Discrete 0.133s (7.500 fps)
                            Interval: Discrete 0.200s (5.000 fps)

    i think the scripts in /usr/local/Repetier-Setup/bin should be adjusted to deal with some checks at the end. if i enter lsof -i tcp8080 (or 8081, 8082 and so on) there is no running service. Getting the status of mjpeg_streamer does not reveal a lot of useful information. So digging out the root cause is a little tedious

    i did some research about package versions by dpkg -l  grep v4l

    Raspbian Buster
    dpkg -l | grep v4l
    ii libv4l-0:armhf 1.16.3-3 armhf Collection of video4linux support libraries
    ii libv4l-dev:armhf 1.16.3-3 armhf Collection of video4linux support libraries (development files)
    ii libv4l2rds0:armhf 1.16.3-3 armhf Video4Linux Radio Data System (RDS) decoding library
    ii libv4lconvert0:armhf 1.16.3-3 armhf Video4linux frame format conversion library
    ii v4l-utils
    Rasbpian Stretch
    dpkg -l | grep v4l
    ii libv4l-0:armhf 1.12.3-1 armhf Collection of video4linux support libraries
    ii libv4l-dev:armhf 1.12.3-1 armhf Collection of video4linux support libraries (development files)
    ii libv4l2rds0:armhf 1.12.3-1 armhf Video4Linux Radio Data System (RDS) decoding library
    ii libv4lconvert0:armhf 1.12.3-1 armhf Video4linux frame format conversion library
    ii v4l-utils 1.12.3-1 armhf Collection of command line video4linux utilities

    Maybe a downgrade could help until scripts fixed
  • Ok, I have updated the http://download.repetier-server.com/files/server/extras/mjpgstreamer-init-debian/Repetier-Setup.zip file to contain the buster version we use in latest pi image. That should work also with manual upgrade. I found 2 differences in mjpgStart that hopefully make the difference.
Sign In or Register to comment.