MotionWebcamServer plugin - Missing library
-
@adammhaile Thanks, I tried sudo but without nano but of course that didn't work either.
-
@luckyflyer why are you trying it without
nano
?As @chrishamm said:
@chrishamm said in MotionWebcamServer plugin - Missing library:
To fix this, you can edit /etc/apparmor.d/dsf.MotionWebcamServer and insert a new line below
This means you need to edit the file which is what
nano
does... you can't just "run" that file. -
I have the plugin running and have a grey screen that has a message in the top left corner "unable to open video device". I tried a different (known to work camera) with the same results. I ran
lsusb
and the ports see the camera. I'm using http://192.168.0.181:8081/0/stream Any ideas? Thanks
-
Any ideas why the grey screen?
-
@luckyflyer Your error message says "Unable to open video device" so your webcam is probably not recognized by the Pi or you don't have access to it.
Can you check if/dev/video0
exists? That's the default in the motion settings (seemotion.conf
in the System Files directory).Please run
sudo gpasswd -a dsf video
and reboot your Pi. That should fix it. -
@chrishamm I have just enabled this plugin on a brand new clean duet image install on a pi4 with v3.4. The permissions issues described above were present on the included version of the plugin, and the fix previously posted did indeed work to enable the plugin to start.
However the permissions issues seem to be deeper within the operations of the plugin.
By default the plugin cannot access /dev/video*, neither can it create a log entry in the default logging folder set in the config file (when enabled). I changed the log folder to the tmp directory and I was able to see in the logs that motion was complaining it cannot access the video* device, which results in the grey screen shown in @luckyflyer post.To prove this is a permissions problem I changed the permissions of /dev/video0 in the terminal (chmod), and the plugin was able to start with video working correctly. I looked at
/etc/apparmor.d/dsf.MotionWebcamServer
and I can see there is an entry to set the access permissions to /dev/video* in the file, but this does not seem to be working as expected.
--edit - I see you have updated your post since I started this one. I will try the proposed additional command....
-- Update 2 - Additional command worked. Also I found adding the following line to the Live Stream Configuration Parameters section in motion.conf, improved the output framerate significantly :
stream_maxrate 50
-
If anyone is interested you can show the motion "control" web page inside DWC to allow you access / change some advanced video values (brightness, size etc) in a simple gui provided by motion:
(you will need BtnCmd Plugin to do this)
Set your motion config like below:
& restart the pluginIn BtnCmd add a remote source panel:
And set the URL to
http://[pi ip]:8080/
eg:
Then resize to fit your screen and save the layout.
-
@mintytrebor DWC lets you show the same content on the Jobs -> Webcam page if you check
Embed webcam image in an iframe
on the Settings -> General page and change the config + URL accordingly.PS: I'm rebuilding DuetPi to make the required changes from above obsolete. The next DSF version will fix it, too.
-
@chrishamm said in MotionWebcamServer plugin - Missing library:
PS: I'm rebuilding DuetPi to make the required changes from above obsolete. The next DSF version will fix it, too.
Great. Thanks @chrishamm
-
@chrishamm, @MintyTrebor Thanks
-
@chrishamm @MintyTrebor I would like to increase the frame rate. Could you help a Linux dummy out and give me the exact command to enter to change the frame rate. Thanks
-
@luckyflyer said in MotionWebcamServer plugin - Missing library:
@chrishamm @MintyTrebor I would like to increase the frame rate. Could you help a Linux dummy out and give me the exact command to enter to change the frame rate. Thanks
In with your system files is now
motion.conf
. Open that file to edit in DWC and go to around line 59 and change the default 15 to whatever you want (within limits of your camera, of course). It'll look like this:# Maximum number of frames to be captured per second. framerate 15
-
@adammhaile Wow that was too easy, thanks @adammhaile
-
This post is deleted! -
-
@mintytrebor Are you aware of any way to get motion to output a stream larger than 640x480?
I've tried updating motion.conf but no matter what size I set the stream stays tiny. -
My Config:
motion.conf.txtI also made sure to use a resolution supported by my camera by checking:
v4l2-ctl --list-formats-ext
more info https://www.mankier.com/1/v4l2-ctl