From charlesreid1

Line 17: Line 17:
$ make install
$ make install
</pre>
</pre>
==Flags==
===Input Flags===
When specifying the input .so, use the following flags:
The <code>-d</code> flag is used to specify the device - for example, <code>/dev/video0</code>.
The <code>-n</code> flag is useful for suppressing error messages about pan/tilt controls, which most cameras don't have anyway.
The <code>-y</code> flag is used to specify YUYV format, in case the camera does not support mjpeg format.
The <code>-r</code> flag specifies the resolution, or whatever.
The <code>-f</code> flag specifies the frame rate.


==Errors==
==Errors==

Revision as of 10:00, 19 August 2017

Mini CCTV camera that is embedded in a screw.

Prerequisite software

$ apt-get -y install guvcview

Next install some prerequisite software for mjpg-streamer:

$ apt-get -y install cmake libjpeg62-turbo-dev
$ git clone https://github.com/jacksonliam/mjpg-streamer.git
$ cd mjpg-streamer/
$ cd mjpg-streamer-experimental
$ make
$ make install

Flags

Input Flags

When specifying the input .so, use the following flags:

The -d flag is used to specify the device - for example, /dev/video0.

The -n flag is useful for suppressing error messages about pan/tilt controls, which most cameras don't have anyway.

The -y flag is used to specify YUYV format, in case the camera does not support mjpeg format.

The -r flag specifies the resolution, or whatever.

The -f flag specifies the frame rate.


Errors

Tried this command:

$ ./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"

No images coming in at all.

Tried this command:

$ ./mjpg_streamer -i "./input_uvc.so -q -d /dev/video0" -o "./output_http.so -w ./www"
MJPG Streamer Version: svn rev: 3:172
 i: Using V4L2 device.: /dev/video0
 i: Desired Resolution: 640 x 480
 i: Frames Per Second.: 5
 i: Format............: YUV
 i: JPEG Quality......: 0
Adding control for Pan (relative)
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Tilt (relative)
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Pan Reset
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Tilt Reset
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Pan/tilt Reset
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Focus (absolute)
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
mapping control for Pan (relative)
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Tilt (relative)
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Pan Reset
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Tilt Reset
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Pan/tilt Reset
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Focus (absolute)
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for LED1 Mode
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for LED1 Frequency
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Disable video processing
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Raw bits per pixel
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
 o: www-folder-path...: ./www/
 o: HTTP TCP port.....: 8080
 o: username:password.: disabled
 o: commands..........: enabled

And the image capture page shows only a black pixelated mess. Looks exactly the same whether the camera is plugged in or not.

Next:

./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -y -r 320x240 -f 15" -o "./output_http.so -p 8080 -w ./www"