{"id":1697,"date":"2015-08-09T03:14:24","date_gmt":"2015-08-09T02:14:24","guid":{"rendered":"https:\/\/stevepedwards.today\/DebianAdmin\/?p=1697"},"modified":"2023-10-28T21:00:40","modified_gmt":"2023-10-28T20:00:40","slug":"testing-webcams-with-fswebcam-pi-noir-picam-and-remote-view-of-motion-on-the-pi","status":"publish","type":"post","link":"https:\/\/stevepedwards.today\/DebianAdmin\/testing-webcams-with-fswebcam-pi-noir-picam-and-remote-view-of-motion-on-the-pi\/","title":{"rendered":"Testing Webcams With fswebcam, Pi Noir Picam and Remote View of Motion on the Pi"},"content":{"rendered":"<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_1697\" class=\"pvc_stats all  \" data-element-id=\"1697\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p>This App may get you started with what webcams work with the Pi, and get on with using the PiCam, which gets seen as \/dev\/video0 if it is the only camera.<\/p>\n<p>From prior research, it may be a good idea to load the PiCam v4l2 driver module at boot by setting:<\/p>\n<p>bcm2835-v4l2<\/p>\n<p>in \/etc\/modules:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2015\/08\/080915_0212_TestingWebc1.png\" alt=\"\" \/><\/p>\n<p>After a reboot, you can check it has loaded with:<\/p>\n<p>root@PiBlanc:~# <span style=\"color: #0000ff;\">lsmod | grep v4l<\/span><br \/>\n<span style=\"color: #ff0000;\">bcm2835_v4l2 37225 0<\/span><br \/>\n<span style=\"color: #ff0000;\">videobuf2_vmalloc 3009 1 bcm2835_v4l2<\/span><br \/>\n<span style=\"color: #ff0000;\">videobuf2_core 33578 1 bcm2835_v4l2<\/span><br \/>\n<span style=\"color: #ff0000;\">v4l2_common 5077 2 bcm2835_v4l2,videobuf2_core<\/span><br \/>\n<span style=\"color: #ff0000;\">videodev 122487 3 bcm2835_v4l2,v4l2_common,videobuf2_core<\/span><\/p>\n<p>This makes the PiCam v4l2 compatible, so install the v4l-utils<\/p>\n<p><span style=\"color: #0070c0;\">apt-get install fswebcam v4l-utils<br \/>\n<\/span><\/p>\n<p><span style=\"color: #0070c0;\">man fswebcam<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">SYNOPSIS<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> fswebcam [&lt;options&gt;] &lt;filename&gt; [[&lt;options&gt;] &lt;filename&gt; ... ]<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">DESCRIPTION<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> fswebcam is a small and simple webcam app for *nix. It can capture images<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> from a number of different sources and perform simple manipulation on the<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> captured image. The image can be saved as one or more PNG or JPEG files.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> The PNG or JPEG image can be sent to stdio using the filename \"-\". The out\u00c3:<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> put filename is formatted by strftime.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">Capture Options<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> -d, --device [&lt;prefix&gt;:]&lt;device name&gt;<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Set the source or device to use. The source module is selected auto<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> matically unless specified in the prefix.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Default is \/dev\/video0.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Available source modules, in order of preference:<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> V4L2 - Capture images from a V4L2 compatible video device.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> V4L1 - Capture images from a V4L1 compatible video device.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> FILE - Capture an image from a JPEG or PNG image file.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> RAW - Reads images straight from a device or file.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> TEST - Draws colour bars.<br \/>\n<\/span><\/p>\n<p>If you access \u00a0the Pi remotely as I do via PuTTY, create a \/Share in samba accessible to Windows\/Mint, then you view any video test files you create in Win\/Mint A\/V Apps also.<\/p>\n<p>Check the camera works as normal first with a quick video:<\/p>\n<p><span style=\"color: #0000ff;\">raspivid -o \/Share\/vidtest.h264<\/span><\/p>\n<p>View it back in VLC remotely or locally with omxplayer:<\/p>\n<p><span style=\"color: #0000ff;\">omxplayer \/Share\/vidtest.h264<\/span><\/p>\n<p>You can check the camera works with fswebcam by taking a TEST in the format above:<\/p>\n<p><span style=\"color: #0000ff;\">fswebcam -d TEST:\/dev\/video0 \/Share\/TEST.jpg<\/span><\/p>\n<p>You get the colour bar .jpg picture in Windows photo viewer:<\/p>\n<p><a href=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2015\/08\/TEST.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-1707\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2015\/08\/TEST.jpg\" alt=\"TEST.jpg\" width=\"796\" height=\"597\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #0000ff;\">fswebcam -d v4l2:\/dev\/video0 \/Share\/test2.jpg<\/span><\/p>\n<p>These frames can be replayed by avplay, and appears to just play the single frame continuously like a video, on the HDMI TV until you CtrlC:<\/p>\n<p>root@raspberrypi:\/home\/stevee# <span style=\"color: #0070c0;\">fswebcam -d v4l2:\/dev\/video0 \/Share\/testfs2.jpg<\/span><\/p>\n<p><span style=\"color: red;\">--- Opening v4l2:\/dev\/video0...<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">\/dev\/video0 opened.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">No input was specified, using the first.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">--- Capturing frame...<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">Captured frame in 0.00 seconds.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">--- Processing captured image...<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">Writing JPEG image to '\/testfs2.jpg'.<br \/>\n<\/span><\/p>\n<p>root@raspberrypi:\/home\/stevee# <span style=\"color: #0070c0;\">avplay \/Share<\/span><span style=\"color: #0070c0;\">\/test2.jpg<\/span><\/p>\n<p><span style=\"color: red;\">avplay version 9.14-6:9.14-1rpi1rpi1, Copyright (c) 2003-2014 the Libav developers<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> built on Jul 22 2014 15:08:12 with gcc 4.6 (Debian 4.6.3-14+rpi1)<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">Input #0, image2, from '\/testfs2.jpg':<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Duration: 00:00:00.04, start: 0.000000, bitrate: N\/A<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Stream #0.0: Video: mjpeg, yuvj420p, 384x288 [PAR 1:1 DAR 4:3], 25 tbn<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">^C 6.69 A-V: 0.000 s:0.0 aq= 0KB vq= 0KB sq= 0B f=0\/0 0\/0<br \/>\n<\/span><\/p>\n<p>root@raspberrypi:\/home\/stevee# <span style=\"color: #0070c0;\">fswebcam -d TEST \/TEST.jpg<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">--- Opening TEST...<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">--- Capturing frame...<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">Captured frame in 0.00 seconds.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">--- Processing captured image...<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">Writing JPEG image to '\/testfs.jpg'.<br \/>\n<\/span><\/p>\n<p>root@raspberrypi:\/home\/stevee# <span style=\"color: #0070c0;\">avplay \/test.jpg<\/span><\/p>\n<p><span style=\"color: red;\">avplay version 9.14-6:9.14-1rpi1rpi1, Copyright (c) 2003-2014 the Libav developers<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> built on Jul 22 2014 15:08:12 with gcc 4.6 (Debian 4.6.3-14+rpi1)<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">Input #0, image2, from '\/test.jpg':<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Duration: 00:00:00.04, start: 0.000000, bitrate: N\/A<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Stream #0.0: Video: mjpeg, yuvj420p, 384x288 [PAR 1:1 DAR 4:3], 25 tbn<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">72.80 A-V: 0.000 s:0.0 aq= 0KB vq= 0KB sq= 0B f=0\/0 0\/0<br \/>\n<\/span><\/p>\n<p>You can use fswebcam to test different webcams for compatibility in linux for V4l1, v4l2 or raw formats:<\/p>\n<p>root@raspberrypi:\/home\/stevee# <span style=\"color: #0070c0;\">fswebcam -d v4l1:\/dev\/<strong>video1<\/strong> \/titan.jpg<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">--- Opening v4l1:\/dev\/video1...<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">\/dev\/video1 opened.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">\/dev\/video1: Not a V4L device?<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">VIDIOCGCAP: Inappropriate ioctl for device<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">\/dev\/video1 closed.<br \/>\n<\/span><\/p>\n<p>root@raspberrypi:\/home\/stevee# <span style=\"color: #0070c0;\">fswebcam -d v4l2:\/dev\/<strong>video1<\/strong> \/titan.jpg<\/span><\/p>\n<p><span style=\"color: red;\">--- Opening v4l2:\/dev\/video1...<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">\/dev\/video1 opened.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">No input was specified, using the first.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">Unable to find a compatible palette format.<br \/>\n<\/span><\/p>\n<p>root@raspberrypi:\/home\/stevee# <span style=\"color: #0070c0;\">fswebcam -d raw:\/dev\/<strong>video1<\/strong> \/titan.jpg<\/span><\/p>\n<p><span style=\"color: red;\">--- Opening raw:\/dev\/video1...<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">No palette format specified.<br \/>\n<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>What great little command line App after all the complexity and disappointment with ZM.<\/p>\n<p>For RasPi useable webcams see here:<\/p>\n<p><a href=\"https:\/\/elinux.org\/RPi_USB_Webcams\">https:\/\/elinux.org\/RPi_USB_Webcams<\/a><\/p>\n<p>As expected, the Creative Optia cam is v4l2 compatible and creates a picture also:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2015\/08\/080915_0212_TestingWebc4.png\" alt=\"\" width=\"757\" height=\"660\" \/><\/p>\n<p>The other that worked was a<\/p>\n<p><span style=\"color: red;\">Bus 001 Device 016: ID 0ac8:305b Z-Star Microelectronics Corp. ZC0305 Webcam<br \/>\n<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2015\/08\/080915_0212_TestingWebc5.png\" alt=\"\" width=\"805\" height=\"648\" \/><\/p>\n<p>Note the auto change in dimensions between the different cameras.<\/p>\n<p><a href=\"https:\/\/www.slblabs.com\/2012\/09\/26\/rpi-webcam-stream\/\">https:\/\/www.slblabs.com\/2012\/09\/26\/rpi-webcam-stream\/<\/a><\/p>\n<p><span style=\"color: #5a5a5a; font-family: Helvetica; font-size: 10pt;\">One of the nice features of fswebcam is that it's possible to add a footer to the capture, where you can specify your text of choice.<br \/>\nFor instance, this is the command I ran fswebcam with:<\/span><\/p>\n<p><span style=\"color: #dd1144; font-family: Consolas; font-size: 9pt; background-color: #f7f7f9;\">$ fswebcam -r 640x480 -S 15 --flip h --jpeg 95 --shadow --title \"SLB Labs\" --subtitle \"Home\" --info \"Monitor: Active @ 1 fpm\" --save home.jpg -q -l 60<br \/>\n<\/span><\/p>\n<p><a href=\"https:\/\/www.home-automation-community.com\/surveillance-with-raspberry-pi-noir-camera-howto\/\">https:\/\/www.home-automation-community.com\/surveillance-with-raspberry-pi-noir-camera-howto\/<\/a><\/p>\n<p>Ok, that's a big help for future considerations and testing of cheap surveillance webcameras, and after ZM did not seem to run the Pi Noir, I'll try Motion as the surveillance App.<\/p>\n<p><span style=\"color: #0070c0;\">man motion<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">SYNOPSIS<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> motion [ -hns ] [ -c config file path ] [ -d level ] [ -p<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> process_id_file ]<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">DESCRIPTION<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Motion uses a video4linux device to detect motion. If motion is<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> detected both normal and motion pictures will be taken. Motion can also<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> take actions to notify you if needed. Creation of automated snapshots<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> is also possible.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">OPTIONS<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> -c Full path and filename of config file. E.g.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> \/home\/kurt\/motion.conf. Default is \/usr\/local\/etc unless speci\u00c3:<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> fied differently when building Motion. Many RPMs and debian<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> packages will most likely use \/etc or \/etc\/motion as default.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> -h Show help screen.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> -n Run in non-daemon mode.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> -s Run in setup mode. Also forces non-daemon mode<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> -d level<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Run in debug mode, level 1-9.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> -p Full path and filename for process id file (pid file). E.g<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> \/var\/run\/motion.pid. Default is not defined. Pid file is only<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> created when Motion is started in daemon mode.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> CONFIG FILE OPTIONS<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> These are the options that can be used in the config file. They<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> are overridden by the commandline! All number values are inte\u00c3:<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> ger numbers (no decimals allowed). Boolean options can be on or<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> off (values \"1\", \"yes\" and \"on\" all means true and any other<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> value means false).<\/span><\/p>\n<p>The link above<\/p>\n<p><a href=\"https:\/\/www.slblabs.com\/2012\/09\/26\/rpi-webcam-stream\/\">https:\/\/www.slblabs.com\/2012\/09\/26\/rpi-webcam-stream\/<\/a><\/p>\n<p>has done a brief overview of Motion so let me try some things with it.<\/p>\n<p>First, backup the motion.conf file to somewhere, then recap the conf file settings overview in the Post I wrote when researching it first time:<\/p>\n<p><span style=\"color: #0000ff;\">cp -v \/etc\/motion\/motion.conf \/Share\/motion.conf.bak<\/span><\/p>\n<p><a href=\"https:\/\/stevepedwards.today\/DebianAdmin\/usb-cam-intro-to-motion-and-zoneminder\/\">https:\/\/stevepedwards.today\/DebianAdmin\/usb-cam-intro-to-motion-and-zoneminder\/<\/a><\/p>\n<p>vi \/etc\/motion\/motion.conf<\/p>\n<p>Leaving it at defaults for now to see what happens, and check first output when motion is run:<\/p>\n<p>root@raspberrypi:~# <span style=\"color: #0070c0;\">motion<\/span><\/p>\n<p><span style=\"color: red;\">[0] Processing thread 0 - config file \/etc\/motion\/motion.conf<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[0] Motion 3.2.12 Started<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[0] ffmpeg LIBAVCODEC_BUILD 3482368 LIBAVFORMAT_BUILD 3478785<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[0] Thread 1 is from \/etc\/motion\/motion.conf<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] Thread 1 started<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] cap.driver: \"bm2835 mmal\"<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] cap.card: \"mmal service 16.1\"<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[0] motion-httpd\/3.2.12 running, accepting connections<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] cap.bus_info: \"<strong>platform:bcm2835-v4l2<\/strong>\"<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[0] motion-httpd: waiting for data on port TCP 8080<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] cap.capabilities=0x85200005<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] - VIDEO_CAPTURE<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] - VIDEO_OVERLAY<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] - READWRITE<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] - STREAMING<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] Test palette YU12 (320x240)<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] <strong>Using palette YU12 (320x240) bytesperlines 480 sizeimage 115200 colorspace 00000001<\/strong><br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] found control 0x00980900, \"Brightness\", range 0,100<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1<strong>] \"Brightness\", default 50, current 50<\/strong><br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] found control 0x00980901, \"Contrast\", range -100,100<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] \"Contrast\", default 0, current 0<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] found control 0x00980902, \"Saturation\", range -100,100<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] \"Saturation\", default 0, current 0<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] found control 0x0098090e, \"Red Balance\", range 1,7999<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] \"Red Balance\", default 1000, current 1000<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] found control 0x0098090f, \"Blue Balance\", range 1,7999<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] \"Blue Balance\", default 1000, current 1000<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] mmap information:<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] frames=4<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] 0 length=115200<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] 1 length=115200<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] 2 length=115200<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] 3 length=115200<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] <strong>Using V4L2<\/strong><br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] Resizing pre_capture buffer to 1 items<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] <strong>Started stream webcam server in port 8081<\/strong><br \/>\n<\/span><\/p>\n<p>Let's see what's in a browser as the Noir LED is lit, after changing remote access:<\/p>\n<p><span style=\"color: red;\"># Restrict webcam connections to localhost only (default: on)<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">webcam_localhost off<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"># Restrict control connections to localhost only (default: on)<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">control_localhost off<br \/>\n<\/span><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2015\/08\/080915_0212_TestingWebc6.png\" alt=\"\" \/><span style=\"color: red;\"><br \/>\n<\/span><\/p>\n<p>Setup mode is working on ports 8080 so now stop and turn off in the conf file.<\/p>\n<p><span style=\"color: red;\"># Start in Setup-Mode, daemon disabled. (default: off)<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">setup_mode <strong>off<br \/>\n<\/strong><\/span><\/p>\n<p><strong>Restart and try 8081<br \/>\n<\/strong><\/p>\n<p><span style=\"color: red;\">[1] Using V4L2<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] Resizing pre_capture buffer to 1 items<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] Started stream webcam server in port 8081<br \/>\n<\/span><\/p>\n<p>KMeleon Browser:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2015\/08\/080915_0212_TestingWebc7.png\" alt=\"\" width=\"792\" height=\"962\" \/><strong><br \/>\n<\/strong><\/p>\n<p><a href=\"https:\/\/www.instructables.com\/id\/Raspberry-Pi-remote-webcam\/\">https:\/\/www.instructables.com\/id\/Raspberry-Pi-remote-webcam\/<\/a><\/p>\n<p>Lots of Q+As link - Chrome and IE viewer problems! No good for Motion's stream mjpeg<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2015\/08\/080915_0212_TestingWebc8.png\" alt=\"\" \/><\/p>\n<p>IE thinks the stream is a file download!<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2015\/08\/080915_0212_TestingWebc9.png\" alt=\"\" \/><\/p>\n<p>Now to test for max screen values starting at 640 x 480:<\/p>\n<p><span style=\"color: red;\"># Image width (pixels). Valid range: Camera dependent, default: 352<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">#width 320<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">width 640<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"># Image height (pixels). Valid range: Camera dependent, default: 288<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">#height 240<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">height 480<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] Test palette YU12 (640x480)<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] Using palette YU12 (640x480) bytesperlines 960 sizeimage 460800 colorspace 00000001<br \/>\n<\/span><\/p>\n<p>OK!<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2015\/08\/080915_0212_TestingWebc10.png\" alt=\"\" \/><span style=\"color: red;\"><br \/>\n<\/span><\/p>\n<p>3 times bigger? 960 x 720? Yep!<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2015\/08\/080915_0212_TestingWebc11.png\" alt=\"\" \/><span style=\"color: red;\"><br \/>\n<\/span><\/p>\n<p>4 X? 1280 x 960?<\/p>\n<p><span style=\"color: red;\">[1] Test palette YU12 (1280x960)<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] Using palette YU12 (1280x960)<br \/>\n<\/span><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2015\/08\/080915_0212_TestingWebc12.png\" alt=\"\" \/><span style=\"color: red;\"><br \/>\n<\/span><\/p>\n<p>5X = 1600 x 1200. Try it...yep!<\/p>\n<p><span style=\"color: red;\">[1] Test palette YU12 (1600x1200)<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] Using palette YU12 (1600x1200)<br \/>\n<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2015\/08\/080915_0212_TestingWebc13.png\" alt=\"\" \/><\/p>\n<p>I can see detail on the wallpaper and curtains now!<\/p>\n<p>Try 6X? 1920 X 1440? Yep!<\/p>\n<p><span style=\"color: red;\">[1] Test palette YU12 (1920x1440)<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">[1] Using palette YU12 (1920x1440)<br \/>\n<\/span><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2015\/08\/080915_0212_TestingWebc14.png\" alt=\"\" \/><\/p>\n<p>And finally! A cool command to find what formats the Pi Noir camera is capable of:<\/p>\n<p>root@raspberrypi:\/# <span style=\"color: #0070c0;\">v4l2-ctl -d \/dev\/video0 --list-formats<\/span><\/p>\n<p><span style=\"color: red;\">ioctl: VIDIOC_ENUM_FMT<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Index : 0<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Type : Video Capture<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Pixel Format: 'YU12'<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Name : 4:2:0, packed YUV<br \/>\n<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: red;\"> Index : 1<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Type : Video Capture<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Pixel Format: 'YUYV'<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Name : 4:2:2, packed, YUYV<br \/>\n<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: red;\"> Index : 2<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Type : Video Capture<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Pixel Format: 'RGB3'<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Name : RGB24 (LE)<br \/>\n<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: red;\"> Index : 3<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Type : Video Capture<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Pixel Format: 'JPEG' (compressed)<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Name : JPEG<br \/>\n<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: red;\"> Index : 4<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Type : Video Capture<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Pixel Format: 'H264' (compressed)<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Name : H264<br \/>\n<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: red;\"> Index : 5<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Type : Video Capture<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Pixel Format: 'MJPG' (compressed)<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Name : MJPEG<br \/>\n<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: red;\"> Index : 6<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Type : Video Capture<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Pixel Format: 'YVYU'<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Name : 4:2:2, packed, YVYU<br \/>\n<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: red;\"> Index : 7<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Type : Video Capture<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Pixel Format: 'VYUY'<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Name : 4:2:2, packed, VYUY<br \/>\n<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: red;\"> Index : 8<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Type : Video Capture<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Pixel Format: 'UYVY'<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Name : 4:2:2, packed, UYVY<br \/>\n<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: red;\"> Index : 9<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Type : Video Capture<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Pixel Format: 'NV12'<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Name : 4:2:0, packed, NV12<br \/>\n<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: red;\"> Index : 10<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Type : Video Capture<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Pixel Format: 'BGR3'<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Name : RGB24 (BE)<br \/>\n<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: red;\"> Index : 11<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Type : Video Capture<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Pixel Format: 'YV12'<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Name : 4:2:0, packed YVU<br \/>\n<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: red;\"> Index : 12<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Type : Video Capture<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Pixel Format: 'NV21'<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Name : 4:2:0, packed, NV21<br \/>\n<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: red;\"> Index : 13<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Type : Video Capture<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Pixel Format: 'BGR4'<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Name : RGB32 (BE)<br \/>\n<\/span><\/p>\n<p>root@raspberrypi:\/# <span style=\"color: #0070c0;\">v4l2-ctl -d \/dev\/video0 --list-framesizes=YUYV<\/span><\/p>\n<p><span style=\"color: red;\">ioctl: VIDIOC_ENUM_FRAMESIZES<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> Size: Stepwise 16x16 - <strong>2592x1944<\/strong> with step 2\/2<br \/>\n<\/span><\/p>\n<p>If you want to understand the details of 4:2:0 or 4:2:2 watch guru Monty Montgomery explain it all:<\/p>\n<p><a href=\"https:\/\/xiph.org\/video\/vid1.shtml\">https:\/\/xiph.org\/video\/vid1.shtml<\/a><span style=\"color: red;\"><br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_1697\" class=\"pvc_stats all  \" data-element-id=\"1697\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p>This App may get you started with what webcams work with the Pi, and get on with using the PiCam, which gets seen as \/dev\/video0 if it is the only camera. From prior research, it may be a good idea to load the PiCam v4l2 driver module at boot by setting: bcm2835-v4l2 in \/etc\/modules: After <a href=\"https:\/\/stevepedwards.today\/DebianAdmin\/testing-webcams-with-fswebcam-pi-noir-picam-and-remote-view-of-motion-on-the-pi\/\" class=\"more-link\">...<span class=\"screen-reader-text\">\u00a0 Testing Webcams With fswebcam, Pi Noir Picam and Remote View of Motion on the Pi<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-1697","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"a3_pvc":{"activated":true,"total_views":1,"today_views":0},"_links":{"self":[{"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/posts\/1697","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/comments?post=1697"}],"version-history":[{"count":1,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/posts\/1697\/revisions"}],"predecessor-version":[{"id":10020,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/posts\/1697\/revisions\/10020"}],"wp:attachment":[{"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/media?parent=1697"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/categories?post=1697"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/tags?post=1697"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}