Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Unraid 6.8.3 - Pass USB Webcam into docker

Featured Replies

I an trying to pass a Logitech C920 webcam into docker for use with Octoprint. When i plug the camera in, the dmesg shows the usb device getting connected, gives it a number etc. It does not generate a /dev/<thing> entry on the file system however. lsusb lists it as a device and you can go into /dev/bus/usb/001/00x and see it but i don't think this device actually works. I passed this device into the docker container and set the env variable. i see the device show up in the docker container per my passed in device... and i see the log for the container say it tries to access the device for the camera but it says it cannot read the device and then fails to initialize the video. So at this point im not sure what i am missing. Is there a kernel module/drive missing somewhere? Is it a permissions issue? Other config issue? If anyone has any idea's i would appreciate it. Thank you!

 

Docker Container I'm using:

https://hub.docker.com/r/nunofgs/octoprint/

 

I did define the env variable for the camera device to point to the same as the device i define in the docker config also.

 

 

unraiddockersettings.png

 

Solution to the above problem is outlined here in this document: https://docs.google.com/document/d/1oWM8q1r5BXgLz3lnwuqXf07zzdHpq5LuMxk4nvFjtzs/edit?usp=sharing

 

Further down in this thread there is the old way which used a plugin for unraid called Unraid DVB. it was discontinued. This process uses more effort on our part but is not that terribly hard to complete. You may wish to read through the remainder of this thread anyway to catch any additional info that might be helpful.

Edited by Tergi

I am actually debugging this exact same thing. I apologize this isn't a solution, but me subscribing so I can hear if there is a solution.

 

Unraid v6.8.3, using the same camera. Same deal, dmesg shows it connected, but it doesn't get a /dev/videoX type device, but its findable in /dev/bus/usb.

 

I was experimenting with the zoneminder container though, but hadn't gotten that far yet.

  • Author

I was able to resolve this finally. the issue was drivers as i suspected. Video 4 Linux was needed. I was able to find this driver set in the LinuxServer.IO plugin for DVB. i used the LibreElec release on the latest 6.8.2 kernel they offer. I am now .1 version behind but i am able to do what i need to do with the webcam. after installing that plugin and downloading the LibreElect 6.8.2 release i rebooted. I then have 2 /dev/video0 and dev/video1 devices. only /dev/video0 works. Passing this into the docker similar to above replacing the /dev/bus stuff with /dev/video0 was what i needed to get this going. Hope that this helps someone in the future. :)

 

 

 

Edited by Tergi

  • 1 month later...

@Tergi Got the webcam "working" thanks to your post -- but the stream is not. I'm confused b/c the snapshot shows the camera but the stream just gives a 404. or when I change the port to the one the camera is running on (aka hard url) I'm getting a 400. 

 

I did change the default 8080 port. Did you get the stream working as well? Printer is working (heavily modded Ender 3)

 

Im using librelec 6.8.3, logitech 270

  • Author

If you can get the snapshot you should be able to get the stream also. I was talking to someone about similar issues and they said using the port i used in my container fixed the problem for them. I don't know why that would be the case but it was what they said worked. I used 8999. You should be able to access the stream directly using this URL (replace your unraid server IP and port number.) http://192.168.2.1:8999/webcam/?action=stream Also, you can strip off the ?action stuff at the end and you should get right to the webcam webserver and see both the stream and snapshot functions. I also changed the stream settings inside octoprint also. In settings under webcam & timelapse, i changed the Snapshot URL to: http://127.0.0.1/webcam/?action=snapshot and the Stream URL to http://192.168.2.1:8999/webcam/?action=stream (obviously using my own unraid IP and port.

On 4/25/2020 at 11:09 AM, Tergi said:

after installing that plugin and downloading the LibreElect 6.8.2 release i rebooted.

First of all, thanks for the solution :) A couple of questions:

 

1. What is LibreElect and why is that needed to get the webcam to work?

2. How do you download LibreElect? Is it through Community Apps?

  • Author
3 hours ago, Phoenix Down said:

First of all, thanks for the solution :) A couple of questions:

 

1. What is LibreElect and why is that needed to get the webcam to work?

2. How do you download LibreElect? Is it through Community Apps?

LibreElect is a custom built Kernel for UnRaid that includes drivers that are missing that you need for use with cameras and different video devices. I think alot of time they are used for people with TV tuners that want to use their UnRaid box to record live broadcast tv and such, and or security cameras and things like that. I am not sure. I just know that it includes Video 4 Linux which is what i needed to get my webcam working :) You can get it in community apps by finding Unraid DVB by linux server folks. its a plugin. it will do the replacement of the Kernel. there are a few flavors. The one i used is mentioned as you have seen. You can go up to kernel version 6.8.3 at this moment in time. Once it loads it and you reboot unraid it should start loading your camera device drivers.

5 hours ago, Tergi said:

LibreElect is a custom built Kernel for UnRaid that includes drivers that are missing that you need for use with cameras and different video devices. I think alot of time they are used for people with TV tuners that want to use their UnRaid box to record live broadcast tv and such, and or security cameras and things like that. I am not sure. I just know that it includes Video 4 Linux which is what i needed to get my webcam working :) You can get it in community apps by finding Unraid DVB by linux server folks. its a plugin. it will do the replacement of the Kernel. there are a few flavors. The one i used is mentioned as you have seen. You can go up to kernel version 6.8.3 at this moment in time. Once it loads it and you reboot unraid it should start loading your camera device drivers.

Got it, thanks for the explanation! Any downsides in using this custom kernel? It will always be a step behind the official Unraid kernel, right?

  • 1 month later...

Has anyone ran into issues with USB hotplugging not working with their webcam? I unplugged mine to rerun the USB cable and now Unraid doesn't see it anymore.

 

I'm on LibreElect 6.8.3.

 

Edit: The webcam has disappeared from Unraid completely, even after a server reboot.

Edited by MagicMountainMan

  • Author
1 hour ago, MagicMountainMan said:

Has anyone ran into issues with USB hotplugging not working with their webcam? I unplugged mine to rerun the USB cable and now Unraid doesn't see it anymore.

 

I'm on LibreElect 6.8.3.

 

Edit: The webcam has disappeared from Unraid completely, even after a server reboot.

Mine did change the video device number a few times between 0 and 1 so I would check that. If no video device then check lsusb and see if it shows up there. If not the verify the USB cable is good. 

Yep after troubleshooting more it seems as if the USB cable coming out of the webcam has decided to break. Holding it a certain way makes it work, but it loses connection quickly. Just my luck.

On 4/25/2020 at 6:09 PM, Tergi said:

I was able to resolve this finally. the issue was drivers as i suspected. Video 4 Linux was needed. I was able to find this driver set in the LinuxServer.IO plugin for DVB. i used the LibreElec release on the latest 6.8.2 kernel they offer. I am now .1 version behind but i am able to do what i need to do with the webcam. after installing that plugin and downloading the LibreElect 6.8.2 release i rebooted. I then have 2 /dev/video0 and dev/video1 devices. only /dev/video0 works. Passing this into the docker similar to above replacing the /dev/bus stuff with /dev/video0 was what i needed to get this going. Hope that this helps someone in the future. :)

 

 

 

Thank you sooooo much, I was looking for this for a long time! This worked for me!

  • 2 months later...

Please forgive this potentially dumb question, but it's about multiple printers and cameras.

 

If I have 2 printers, each with a USB cam, can I plug all 4 USN cables into a powered USB hub and plug that into my unRAID server to get them all connected to it?

  • 1 month later...

I'm having a hard time getting this to run, probably because i don't have a webcam.

/usr/bin/docker: Error response from daemon: error gathering device information while adding custom device "/dev/video0": no such file or directory.

I plan to add the webcam later, but don't have one now.  Is there any way to get around this ?

9 hours ago, pasha said:

I'm having a hard time getting this to run, probably because i don't have a webcam.

/usr/bin/docker: Error response from daemon: error gathering device information while adding custom device "/dev/video0": no such file or directory.

I plan to add the webcam later, but don't have one now.  Is there any way to get around this ?

never mind... posted this in the wrong, but related thread.

 

i got octoprint to work and i found an old webcam to try out, followed the steps above to get my system to finally start showing /dev/video1 and /dev/video0 (none were showing before and none show when i unplug the webcam).   still can't get video.  

 

my cam is a now ancient Microsoft hd 3000.  it has a little blue light that goes on when the camera is working, and the light is always off.  i can't get unraid to turn it on, hence no feed.  works great when i hook it up to my winbox.

  • Author
3 hours ago, pasha said:

my cam is a now ancient Microsoft hd 3000.  it has a little blue light that goes on when the camera is working, and the light is always off.  i can't get unraid to turn it on, hence no feed.  works great when i hook it up to my winbox.

You might need to verify that the drivers support that webcam. It has been a while since i looked at any of this so i don't remember exactly but there might be  a command for v4l that prints out any cams it can work with that are attached to the PC. I know in my case as long as unraid is booted the cam is active.

  • 2 months later...

Hi, there is no more "Unraid Kernel Helper" or do I miss something? Is there a other way? thx

 

image.png.f83bc34e99465299fdb90f0dc9fb55bb.png

2 hours ago, odiby said:

Hi, there is no more "Unraid Kernel Helper" or do I miss something? Is there a other way? thx

 

The Kernel Helper requires unRaid 6.9.0-rc2+ to run so it's not listed unless you're on that version. 

  • Community Expert
3 hours ago, odiby said:

Hi, there is no more "Unraid Kernel Helper" or do I miss something? Is there a other way? thx

Should be there for 6.8.3, otherwise there are prebuilt images for 6.8.3 on the support thread.

With all that said, I've been on 6.9.0-rc2 for weeks and it is pretty solid, installing the DVB drivers is as easy as installing a plugin

  • 1 month later...
  • Author

For those who may not know now that 6.9 is out the DVB stuff is a plugin and can be found by searching the APPs tab for "dvb drivers". There is also a section on the left for drivers that will filter down everything to just plugin based drivers.

 

I updated to 6.9 and installed this and restarted and everything just worked without issue. This is mentioned in previous comments here also but figured I would at least mention that it does work for the needs of octoprint and is pretty much a one click solution now.

  • 1 month later...
  • Author

Hi @sloppy, I am using his default install. I am not doing as much 3d printing as i used to. The octoprint has an updater in it... when i tried it once it blew up everything. if you try it, then you will probably want to backup your configs.

Edited by Tergi
Seem i happy clicked the post button.

3 hours ago, Sloppy said:

@Tergi Hello just wondering what version of octoprint you are using? https://hub.docker.com/r/nunofgs/octoprint/ hasnt been updated in a while. is there a way to update octoprint? Thanks

That's what I'm using as well. I noticed the same thing - it hasn't been updated for a long time. There is another Octoprint docker in Community Apps that seems to be frequently updated. I plan to migrate over, but haven't had the time to do it.

 

10 minutes ago, Tergi said:

Hi @sloppy, I am using his default install. I am not doing as much 3d printing as i used to. The octoprint has an updater in it... when i tried it once it blew up everything. if you try it, then you will probably want to backup your configs.

You can update all of the plugins EXCEPT for Octoprint itself. That will blow everything up, as you saw.

Thanks for the info guys, yes i blew it up already trying to update lol. had to re-install. the only problem with the other docker that is frequently updated is it doesnt support the easy webcam setup. @Phoenix Down if you migrate over and get the webcam working please let me know how. 

6 minutes ago, Sloppy said:

Thanks for the info guys, yes i blew it up already trying to update lol. had to re-install. the only problem with the other docker that is frequently updated is it doesnt support the easy webcam setup. @Phoenix Down if you migrate over and get the webcam working please let me know how. 

For sure, when I do the migration, I'll post an update in this thread.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.