lowflyer
Posts: 78
Joined: Sat Jun 01, 2013 2:27 pm

Re: Motion - MMAL camera

Sat Dec 19, 2015 10:29 am

@maya I have put a copy of my version of motion here
https://www.dropbox.com/s/6ruqgv1h65zuf ... 114.tar.gz

It should work if you do this:

Code: Select all

sudo apt-get install -y libjpeg-dev libavformat56 libavformat-dev libavcodec56 libavcodec-dev libavutil54 libavutil-dev libc6-dev zlib1g-dev libmysqlclient18 libmysqlclient-dev libpq5 libpq-dev

wget https://www.dropbox.com/s/6ruqgv1h65zufr6/motion-mmal-lowflyerUK-20151114.tar.gz

tar -zxvf motion-mmal-lowflyerUK-20151114.tar.gz

./motion -c motion-mmalcam-both.conf
Hope it works also for you. I just tested it using a fresh SDcard with jessie lite on an old Pi - and it is the same binary that I tested a few weeks ago on a Pi 2 with the full version of jessie.

I look forward to hearing how you get on with it.

If you can you should learn about how to download and compile code from github. This works for me:

Code: Select all

sudo apt-get install -y libjpeg-dev libavformat56 libavformat-dev libavcodec56 libavcodec-dev libavutil54 libavutil-dev libc6-dev zlib1g-dev libmysqlclient18 libmysqlclient-dev libpq5 libpq-dev

sudo apt-get install git
sudo apt-get install cmake
git clone https://github.com/raspberrypi/userland
git clone https://github.com/lowflyerUK/motion.git
cd motion/
git checkout mmal-test
USERLANDPATH=/home/pi/userland cmake .
make
After a while you should have a newly created binary "motion" in the directory also called "motion". You can run it with:

Code: Select all

/home/pi/motion/motion -c /home/pi/motion/configs/motion-mmalcam-both.conf
You may well have to adjust the config file for your needs.

Good luck!

*******Edited on 23 December 2015 to correct the compilation instructions. Thanks to Kreachers for noticing that it didn't work*******
Last edited by lowflyer on Wed Dec 23, 2015 2:09 pm, edited 1 time in total.

User avatar
jscott13
Posts: 20
Joined: Sun Nov 01, 2015 12:09 pm
Location: Where?
Contact: Website

Re: Motion - MMAL camera

Sat Dec 19, 2015 2:47 pm

@lowflyer, thank you for getting back to us. I'm in the middle of a fresh install (Jessie) and spinning another few plates at the same time. I just wanted to pop in and thank you (it may be a day or so before I'm freed up and I didn't want you to think I was being rude)

As soon as this install is done and the other plates fall (or learn to spin on their own) I will start again. It could be I got an old tarball from a tute that is no longer valid.

Promise to be back to let you know how I did. They should have a "buy this guy a beer" button... don't you think?

User avatar
jscott13
Posts: 20
Joined: Sun Nov 01, 2015 12:09 pm
Location: Where?
Contact: Website

Re: Motion - MMAL camera

Sat Dec 19, 2015 4:38 pm

On a fresh install of Jessie I could not get this little A+ through the downloads you mention. It spent about ten minutes moving through the dependencies list and then froze. I walked away from it and two hours later, nothing. Odd, it's the first time using a Pi I haven't had access to the keyboard.

I am reinstalling Jessie now. After that all I do is mount a USB stick (for the flood of images that are normally created testing motion) and the camera. Then I install Motion and work through the installs and tarball you offered.

One thing of some interest. While loading Jessie on this A+ I get the message about this be an unsupported OS for the model Pi I am using. This is a brand new Pi and after reading some about this error message I was satisfied that it could be safely ignored. However, with these problems I have to wonder if it maybe that there something else going on with this particular Pi or model of Pi.

I won't give up on the project though, so hopefully all of my poking around in the dark will help someone else stuck in the same situation.

I'll post again in the AM, and thanks again for your help.

lowflyer
Posts: 78
Joined: Sat Jun 01, 2013 2:27 pm

Re: Motion - MMAL camera

Sat Dec 19, 2015 6:26 pm

@jscott13 I am sorry you are having these problems. Maybe I should get an A+ and learn about it myself. Or I will try on an old A.

Just a thought - did you expand the filing system to fill the SDcard? One time I forgot to do that and the root partition filled up.

Maybe the 256Mbytes of RAM isn't enough, but you could set the GPU RAM very low while you compile, then increase it when you want to actually run motion.

Thanks for the idea of a virtual beer!! :)

maya
Posts: 8
Joined: Thu Dec 17, 2015 5:35 pm

Re: Motion - MMAL camera

Sat Dec 19, 2015 6:55 pm

@lowflyer, thank you for the quick response. I was able to get motion working .. hoorayy!! huge thanks to you..

I am using a Raspberry Pi2 with the pi camera. However, I am not able to get the camera to take any pictures or video. The camera light blinks when motion is running and I can use the camera using raspistill and raspivid. I am pretty sure it is a issue with the conf file and I have been trying to test with some param changes. I do not want any streaming video. I just want the camera to take a 10 sec video every time motion is detected and save it in the output folder as an avi

I read somewhere that I need to run motion using the user motion. Is that true ? I am running it as user pi using

Code: Select all

sudo ./motion -c motion-mmalcam-both.conf
The motion.log file says the following
[0] [NTC] [ALL] [Dec 19 12:59:58] main: Motion thread 1 restart
[1] [NTC] [ALL] [Dec 19 12:59:58] motion_init: Thread 1 started , motion detection Enabled
[1] [ALR] [VID] [Dec 19 12:59:58] mmalcam_start: MMAL Camera thread starting... for camera (vc.ril.camera) of 640 x 480 at 2 fps
[1] [ALR] [VID] [Dec 19 12:59:58] mmalcam_start: MMAL Camera using video capture
[1] [NTC] [VID] [Dec 19 12:59:58] MMAL camera component created
[1] [NTC] [ALL] [Dec 19 12:59:58] image_ring_resize: Resizing pre_capture buffer to 1 items
[1] [NTC] [STR] [Dec 19 12:59:58] http_bindsock: motion-stream testing : IPV4 addr: 0.0.0.0 port: 8081
[1] [CRT] [STR] [Dec 19 12:59:58] http_bindsock: motion-stream bind() failed, retrying:
[1] [ERR] [STR] [Dec 19 12:59:58] http_bindsock: motion-stream socket failed, retrying:
[1] [NTC] [STR] [Dec 19 12:59:58] http_bindsock: motion-stream testing : IPV6 addr: :: port: 8081
[1] [CRT] [STR] [Dec 19 12:59:58] http_bindsock: motion-stream bind() failed, retrying:
[1] [ERR] [STR] [Dec 19 12:59:58] http_bindsock: motion-stream socket failed, retrying:
[1] [CRT] [STR] [Dec 19 12:59:58] http_bindsock: motion-stream creating socket/bind ERROR:
[1] [ERR] [ALL] [Dec 19 12:59:58] motion_init: Problem enabling motion-stream server in port 8081:
[1] [NTC] [ALL] [Dec 19 12:59:58] motion_loop: Thread exiting
[1] [INF] [ALL] [Dec 19 12:59:58] motion_cleanup: Calling vid_close() from motion_cleanup
[1] [INF] [VID] [Dec 19 12:59:58] vid_close: calling video source cleanup
[1] [ALR] [VID] [Dec 19 12:59:58] MMAL Camera cleanup
[0] [NTC] [ALL] [Dec 19 12:59:59] main: Threads finished
[0] [NTC] [ALL] [Dec 19 13:00:00] main: Motion terminating


The conf file I am using is below

Code: Select all

############################################################
# Daemon
############################################################

# Start in daemon (background) mode and release terminal (default: off)
daemon on

# File to store the process ID, also called pid file. (default: not defined)
process_id_file /var/run/motion/motion.pid

############################################################
# Basic Setup Mode
############################################################

# Start in Setup-Mode, daemon disabled. (default: off)
setup_mode off


# Use a file to save logs messages, if not defined stderr and syslog is used. (default: not defined)
logfile /home/pi/mmal/motion.log

# Level of log messages [1..9] (EMR, ALR, CRT, ERR, WRN, NTC, INF, DBG, ALL). (default: 6 / NTC)
log_level 7

# Filter to log messages by type (COR, STR, ENC, NET, DBL, EVT, TRK, VID, ALL). (default: ALL)
log_type all

###########################################################
# Capture device options
############################################################

# Videodevice to be used for capturing  (default /dev/video0)
# for FreeBSD default is /dev/bktr0
#videodevice /dev/video0

# v4l2_palette allows to choose preferable palette to be use by motion
# to capture from those supported by your videodevice. (default: 17)
# E.g. if your videodevice supports both V4L2_PIX_FMT_SBGGR8 and
# V4L2_PIX_FMT_MJPEG then motion will by default use V4L2_PIX_FMT_MJPEG.
# Setting v4l2_palette to 2 forces motion to use V4L2_PIX_FMT_SBGGR8
# instead.
#
# Values :
# V4L2_PIX_FMT_SN9C10X : 0  'S910'
# V4L2_PIX_FMT_SBGGR16 : 1  'BYR2'
# V4L2_PIX_FMT_SBGGR8  : 2  'BA81'
# V4L2_PIX_FMT_SPCA561 : 3  'S561'
# V4L2_PIX_FMT_SGBRG8  : 4  'GBRG'
# V4L2_PIX_FMT_SGRBG8  : 5  'GRBG'
# V4L2_PIX_FMT_PAC207  : 6  'P207'
# V4L2_PIX_FMT_PJPG    : 7  'PJPG'
# V4L2_PIX_FMT_MJPEG   : 8  'MJPEG'
# V4L2_PIX_FMT_JPEG    : 9  'JPEG'
# V4L2_PIX_FMT_RGB24   : 10 'RGB3'
# V4L2_PIX_FMT_SPCA501 : 11 'S501'
# V4L2_PIX_FMT_SPCA505 : 12 'S505'
# V4L2_PIX_FMT_SPCA508 : 13 'S508'
# V4L2_PIX_FMT_UYVY    : 14 'UYVY'
# V4L2_PIX_FMT_YUYV    : 15 'YUYV'
# V4L2_PIX_FMT_YUV422P : 16 '422P'
# V4L2_PIX_FMT_YUV420  : 17 'YU12'
#
v4l2_palette 17

# Tuner device to be used for capturing using tuner as source (default /dev/tuner0)
# This is ONLY used for FreeBSD. Leave it commented out for Linux
; tunerdevice /dev/tuner0

# The video input to be used (default: -1)
# Should normally be set to 0 or 1 for video/TV cards, and -1 for USB cameras
input -1

# The video norm to use (only for video capture and TV tuner cards)
# Values: 0 (PAL), 1 (NTSC), 2 (SECAM), 3 (PAL NC no colour). Default: 0 (PAL)
norm 0

# The frequency to set the tuner to (kHz) (only for TV tuner cards) (default: 0)
frequency 0

# Rotate image this number of degrees. The rotation affects all saved images as
# well as movies. Valid values: 0 (default = no rotation), 90, 180 and 270.
rotate 0

# Image width (pixels). Valid range: Camera dependent, default: 352
#width 320
width 640
#width 1024

# Image height (pixels). Valid range: Camera dependent, default: 288
#height 188
height 480
#height 576

# Maximum number of frames to be captured per second.
# Valid range: 2-100. Default: 100 (almost no limit).
framerate 2

# Minimum time in seconds between capturing picture frames from the camera.
# Default: 0 = disabled - the capture rate is given by the camera framerate.
# This option is used when you want to capture images at a rate lower than 2 per second.
minimum_frame_time 0

# URL to use if you are using a network camera, size will be autodetected (incl http:// ftp:// mjpg:// or file:///)
# Must be a URL that returns single jpeg pictures or a raw mjpeg stream. Default: Not defined
;netcam_url http://127.0.0.1/cgi-bin/raspicam.sh

# Username and password for network camera (only if required). Default: not defined
# Syntax is user:password
; netcam_userpass value

# The setting for keep-alive of network socket, should improve performance on compatible net cameras.
# off:   The historical implementation using HTTP/1.0, closing the socket after each http request.
# force: Use HTTP/1.0 requests with keep alive header to reuse the same connection.
# on:    Use HTTP/1.1 requests that support keep alive as default.
# Default: off
netcam_keepalive off

# URL to use for a netcam proxy server, if required, e.g. "http://myproxy".
# If a port number other than 80 is needed, use "http://myproxy:1234".
# Default: not defined
; netcam_proxy value

# Set less strict jpeg checks for network cameras with a poor/buggy firmware.
# Default: off
netcam_tolerant_check off

# Let motion regulate the brightness of a video device (default: off).
# The auto_brightness feature uses the brightness option as its target value.
# If brightness is zero auto_brightness will adjust to average brightness value 128.
# Only recommended for cameras without auto brightness
auto_brightness off

# Set the initial brightness of a video device.
# If auto_brightness is enabled, this value defines the average brightness level
# which Motion will try and adjust to.
# Valid range 0-255, default 0 = disabled
brightness 0

# Set the contrast of a video device.
# Valid range 0-255, default 0 = disabled
contrast 0

# Set the saturation of a video device.
# Valid range 0-255, default 0 = disabled
saturation 0

# Set the hue of a video device (NTSC feature).
# Valid range 0-255, default 0 = disabled
hue 0

############################################################
# File "camera" support - read raw YUV data from a file
############################################################
#filecam_path /home/pi/test-cap/motion-mmal.capture

############################################################
# OpenMax/MMAL camera support for Raspberry Pi
############################################################
mmalcam_name vc.ril.camera
mmalcam_control_params --exposure night
#mmalcam_control_params -ss 900000 -ISO 1600 --exposure night

#mmalcam_raw_capture_file /run/shm/motion-mmal.capture

# Switch this setting to "on" to use the still image mode of the Pi's camera
# instead of video. This gives a wider field of view, but requires
# a much slower frame-rate to achieve exposure stability
# (e.g. 0.25 fps or slower). You can use the minimum_frame_time
# parameter above to achieve this

mmalcam_use_still off

# Set this to non-zero value to enable a secondary buffer used for outputting results
# This value is used to multiply the original width & height settings to decide the
# secondary buffer size, so you can use it to capture a high-res image as well as a
# normal (low) resolution one for the primary.
#
# Use the options output_secondary_pictures, ffmpeg_output_secondary_movies, stream_secondary
# to use this high-res secondary image as the source for picture, movie and web stream output,
# while the actual motion detection is performed on the lower-resolution primary image (and
# thus use less CPU power).

mmalcam_secondary_buffer_upscale 4

# Pre-encode the secondary buffer to this jpeg quality
# Note that overlaid text or motion location markers will NOT be drawn into a pre-encoded buffer
# as encoding is done on the MMAL side before the image is passed to motion.
# Default: 0 (off), range 1-100
# Maya changed from 50 to 0
mmalcam_secondary_buffer_jpeg   0

############################################################
# Round Robin (multiple inputs on same video device name)
############################################################

# Number of frames to capture in each roundrobin step (default: 1)
roundrobin_frames 1

# Number of frames to skip before each roundrobin step (default: 1)
roundrobin_skip 1

# Try to filter out noise generated by roundrobin (default: off)
switchfilter off


############################################################
# Motion Detection Settings:
############################################################

# Threshold for number of changed pixels in an image that
# triggers motion detection (default: 1500)
threshold 1500

# Automatically tune the threshold down if possible (default: off)
threshold_tune off

# Noise threshold for the motion detection (default: 32)
noise_level 32

# Automatically tune the noise threshold (default: on)
noise_tune on

# Despeckle motion image using (e)rode or (d)ilate or (l)abel (Default: not defined)
# Recommended value is EedDl. Any combination (and number of) of E, e, d, and D is valid.
# (l)abeling must only be used once and the 'l' must be the last letter.
# Comment out to disable
despeckle_filter EedDl

# Detect motion in predefined areas (1 - 9). Areas are numbered like that:  1 2 3
# A script (on_area_detected) is started immediately when motion is         4 5 6
# detected in one of the given areas, but only once during an event.        7 8 9
# One or more areas can be specified with this option. Take care: This option
# does NOT restrict detection to these areas! (Default: not defined)
; area_detect value

# PGM file to use as a sensitivity mask.
# Full path name to. (Default: not defined)
; mask_file value

# Dynamically create a mask file during operation (default: 0)
# Adjust speed of mask changes from 0 (off) to 10 (fast)
smart_mask_speed 0

# Ignore sudden massive light intensity changes given as a percentage of the picture
# area that changed intensity. Valid range: 0 - 100 , default: 0 = disabled
lightswitch 25

# Picture frames must contain motion at least the specified number of frames
# in a row before they are detected as true motion. At the default of 1, all
# motion is detected. Valid range: 1 to thousands, recommended 1-5
minimum_motion_frames 5

# Specifies the number of pre-captured (buffered) pictures from before motion
# was detected that will be output at motion detection.
# Recommended range: 0 to 5 (default: 0)
# Do not use large values! Large values will cause Motion to skip video frames and
# cause unsmooth movies. To smooth movies use larger values of post_capture instead.
pre_capture 4

# Number of frames to capture after motion is no longer detected (default: 0)
post_capture 4

# Event Gap is the seconds of no motion detection that triggers the end of an event.
# An event is defined as a series of motion images taken within a short timeframe.
# Recommended value is 60 seconds (Default). The value -1 is allowed and disables
# events causing all Motion to be written to one single movie file and no pre_capture.
# If set to 0, motion is running in gapless mode. Movies don't have gaps anymore. An
# event ends right after no more motion is detected and post_capture is over.
event_gap 10

# Maximum length in seconds of a movie
# When value is exceeded a new movie file is created. (Default: 0 = infinite)
# Maya changed from 0 to 10
max_movie_time 10

# Always save images even if there was no motion (default: off)
# Maya changed temp
emulate_motion on


############################################################
# Image File Output
############################################################

# Output 'normal' pictures when motion is detected (default: on)
# Valid values: on, off, first, best, center
# When set to 'first', only the first picture of an event is saved.
# Picture with most motion of an event is saved when set to 'best'.
# Picture with motion nearest center of picture is saved when set to 'center'.
# Can be used as preview shot for the corresponding movie.
output_pictures best

# Output pictures with only the pixels moving object (ghost images) (default: off)
output_debug_pictures off

# Output pictures from secondary capture (see mmalcam_secondary_buffer_upscale above)
# Use this to perform motion detection on a low-res image and record a high-res output
output_secondary_pictures on

# Output both primary and secondary pictures - only if output_secondary_pictures is on. (default: off)
output_both_pictures on

# The quality (in percent) to be used by the jpeg compression (default: 75)
quality 80

# Type of output images
# Valid values: jpeg, ppm (default: jpeg)
picture_type jpeg

############################################################
# FFMPEG related options
# Film (movies) file output, and deinterlacing of the video input
# The options movie_filename and timelapse_filename are also used
# by the ffmpeg feature
############################################################

# Use ffmpeg to encode movies in realtime (default: off)
ffmpeg_output_movies on

# Use ffmpeg to make movies with only the pixels moving
# object (ghost images) (default: off)
ffmpeg_output_debug_movies off

# Use ffmpeg to make movies using any enabled secondary buffer (default: off)
ffmpeg_output_secondary_movies off

# Use ffmpeg to encode a timelapse movie
# Default value 0 = off - else save frame every Nth second
ffmpeg_timelapse 0

# The file rollover mode of the timelapse video
# Valid values: hourly, daily (default), weekly-sunday, weekly-monday, monthly, manual
ffmpeg_timelapse_mode daily

# Bitrate to be used by the ffmpeg encoder (default: 400000)
# This option is ignored if ffmpeg_variable_bitrate is not 0 (disabled)
ffmpeg_bps 500000

# Enables and defines variable bitrate for the ffmpeg encoder.
# ffmpeg_bps is ignored if variable bitrate is enabled.
# Valid values: 0 (default) = fixed bitrate defined by ffmpeg_bps,
# or the range 2 - 31 where 2 means best quality and 31 is worst.
ffmpeg_variable_bitrate 10

# Codec to used by ffmpeg for the video compression.
# Timelapse mpegs are always made in mpeg1 format independent from this option.
# Supported formats are: mpeg1 (ffmpeg-0.4.8 only), mpeg4 (default), and msmpeg4.
# mpeg1 - gives you files with extension .mpg
# mpeg4 or msmpeg4 - gives you files with extension .avi
# msmpeg4 is recommended for use with Windows Media Player because
# it requires no installation of codec on the Windows client.
# swf - gives you a flash film with extension .swf
# flv - gives you a flash video with extension .flv
# ffv1 - FF video codec 1 for Lossless Encoding ( experimental )
# mov - QuickTime ( testing )
# ogg - Ogg/Theora ( testing )
#ffmpeg_video_codec msmpeg4
ffmpeg_video_codec mpeg4

############################################################
# SDL Window
############################################################

# Number of motion thread to show in SDL Window (default: 0 = disabled)
#sdl_threadnr 0

############################################################
# External pipe to video encoder
# Replacement for FFMPEG builtin encoder for ffmpeg_output_movies only.
# The options movie_filename and timelapse_filename are also used
# by the ffmpeg feature
#############################################################

# Bool to enable or disable extpipe (default: off)
use_extpipe off
extpipe_secondary on

# External program (full path and opts) to pipe raw video to
# Generally, use '-' for STDIN...
extpipe mencoder -demuxer rawvideo -rawvideo w=1280:h=960:i420 -ovc x264 -x264encopts bframes=4:frameref=1:subq=1:scenecut=-1:nob_adapt:threads=1:keyint=1000:8x8dct:vbv_bufsize=4000:crf=24:partitions=i8x8,i4x4:vbv_maxrate=800:no-chroma-me -of   avi -o %f.avi - -fps %fps
;extpipe mencoder -demuxer rawvideo -rawvideo w=1024:h=576 -ovc raw -of avi -o %f.avi - -fps 15 -noskip



############################################################
# Snapshots (Traditional Periodic Webcam File Output)
############################################################

# Make automated snapshot every N seconds (default: 0 = disabled)
snapshot_interval 10


############################################################
# Text Display
# %Y = year, %m = month, %d = date,
# %H = hour, %M = minute, %S = second, %T = HH:MM:SS,
# %v = event, %q = frame number, %t = thread (camera) number,
# %D = changed pixels, %N = noise level, \n = new line,
# %i and %J = width and height of motion area,
# %K and %L = X and Y coordinates of motion center
# %C = value defined by text_event - do not use with text_event!
# You can put quotation marks around the text to allow
# leading spaces
############################################################

# Locate and draw a box around the moving object.
# Valid values: on, off, preview (default: off)
# Set to 'preview' will only draw a box in preview_shot pictures.
locate_motion_mode off

# Set the look and style of the locate box if enabled.
# Valid values: box, redbox, cross, redcross (default: box)
# Set to 'box' will draw the traditional box.
# Set to 'redbox' will draw a red box.
# Set to 'cross' will draw a little cross to mark center.
# Set to 'redcross' will draw a little red cross to mark center.
locate_motion_style redbox

# Draws the timestamp using same options as C function strftime(3)
# Default: %Y-%m-%d\n%T = date in ISO format and time in 24 hour clock
# Text is placed in lower right corner
text_right %Y-%m-%d\n%T-%q

# Draw a user defined text on the images using same options as C function strftime(3)
# Default: Not defined = no text
# Text is placed in lower left corner
;text_left CAMERA %t

# Draw the number of changed pixed on the images (default: off)
# Will normally be set to off except when you setup and adjust the motion settings
# Text is placed in upper right corner
text_changes on

# This option defines the value of the special event conversion specifier %C
# You can use any conversion specifier in this option except %C. Date and time
# values are from the timestamp of the first image in the current event.
# Default: %Y%m%d%H%M%S
# The idea is that %C can be used filenames and text_left/right for creating
# a unique identifier for each event.
text_event %Y%m%d%H%M%S

# Draw characters at twice normal size on images. (default: off)
text_double off

# Text to include in a JPEG EXIF comment
# May be any text, including conversion specifiers.
# The EXIF timestamp is included independent of this text.
;exif_text %i%J/%K%L
exif_text "Test exif"

############################################################
# Target Directories and filenames For Images And Films
# For the options snapshot_, picture_, movie_ and timelapse_filename
# you can use conversion specifiers
# %Y = year, %m = month, %d = date,
# %H = hour, %M = minute, %S = second,
# %v = event, %q = frame number, %t = thread (camera) number,
# %D = changed pixels, %N = noise level,
# %i and %J = width and height of motion area,
# %K and %L = X and Y coordinates of motion center
# %C = value defined by text_event
# Quotation marks round string are allowed.
############################################################

# Target base directory for pictures and films
# Recommended to use absolute path. (Default: current working directory)
target_dir /home/pi/mmal/output

# File path for snapshots (jpeg or ppm) relative to target_dir
# Default: %v-%Y%m%d%H%M%S-snapshot
# Default value is equivalent to legacy oldlayout option
# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H/%M/%S-snapshot
# File extension .jpg or .ppm is automatically added so do not include this.
# Note: A symbolic link called lastsnap.jpg created in the target_dir will always
# point to the latest snapshot, unless snapshot_filename is exactly 'lastsnap'
#snapshot_filename %v-%Y%m%d%H%M%S-snapshot
snapshot_filename lastsnap

# File path for motion triggered images (jpeg or ppm) relative to target_dir
# Default: %v-%Y%m%d%H%M%S-%q
# Default value is equivalent to legacy oldlayout option
# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H/%M/%S-%q
# File extension .jpg or .ppm is automatically added so do not include this
# Set to 'preview' together with best-preview feature enables special naming
# convention for preview shots. See motion guide for details
#picture_filename %v-%Y%m%d%H%M%S-%q
#picture_filename %v-%Y%m%d%H%M%S-%q-%D
picture_filename preview

# File path for motion triggered ffmpeg films (movies) relative to target_dir
# Default: %v-%Y%m%d%H%M%S
# Default value is equivalent to legacy oldlayout option
# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H%M%S
# File extension .mpg or .avi is automatically added so do not include this
# This option was previously called ffmpeg_filename
#movie_filename %v-%Y%m%d%H%M%S
# Changed by Maya to add - for readability
movie_filename %Y%-m%-d%--H%-M%-%S

# File path for timelapse movies relative to target_dir
# Default: %Y%m%d-timelapse
# Default value is near equivalent to legacy oldlayout option
# For Motion 3.0 compatible mode choose: %Y/%m/%d-timelapse
# File extension .mpg is automatically added so do not include this
timelapse_filename %Y-%m-%d-timelapse

############################################################
# Global Network Options
############################################################
# Enable or disable IPV6 for http control and stream (default: off )
# Maya changed temporarily to on for testing
ipv6_enabled on

############################################################
# Live Stream Server
############################################################

# The mini-http server listens to this port for requests (default: 0 = disabled)
stream_port 8081

# Quality of the jpeg (in percent) images produced (default: 50)
stream_quality 50

# Output frames at 1 fps when no motion is detected and increase to the
# rate given by stream_maxrate when motion is detected (default: off)
stream_motion off

# Use secondary buffer as stream image source (default: off)
stream_secondary off

# Maximum framerate for stream streams (default: 1)
stream_maxrate 4

# Restrict stream connections to localhost only (default: on)
stream_localhost off

# Limits the number of images per connection (default: 0 = unlimited)
# Number can be defined by multiplying actual stream rate by desired number of seconds
# Actual stream rate is the smallest of the numbers framerate and stream_maxrate
# Maya 0 - 20
stream_limit 20

# Set the authentication method (default: 0)
# 0 = disabled
# 1 = Basic authentication
# 2 = MD5 digest (the safer authentication)
stream_auth_method 0

# Authentication for the stream. Syntax username:password
# Default: not defined (Disabled)
; stream_authentication username:password


############################################################
# HTTP Based Control
############################################################

# TCP/IP port for the http server to listen on (default: 0 = disabled)
webcontrol_port 8080

# Restrict control connections to localhost only (default: on)
webcontrol_localhost off

# Output for http server, select off to choose raw text plain (default: on)
webcontrol_html_output on

# Authentication for the http based control. Syntax username:password
# Default: not defined (Disabled)
; webcontrol_authentication username:password


############################################################
# Tracking (Pan/Tilt)
#############################################################

# Type of tracker (0=none (default), 1=stepper, 2=iomojo, 3=pwc, 4=generic, 5=uvcvideo, 6=servo)
# The generic type enables the definition of motion center and motion size to
# be used with the conversion specifiers for options like on_motion_detected
track_type 0

# Enable auto tracking (default: off)
track_auto off

# Serial port of motor (default: none)
;track_port /dev/ttyS0

# Motor number for x-axis (default: 0)
;track_motorx 0

# Set motorx reverse (default: 0)
;track_motorx_reverse 0

# Motor number for y-axis (default: 0)
;track_motory 1

# Set motory reverse (default: 0)
;track_motory_reverse 0

# Maximum value on x-axis (default: 0)
;track_maxx 200

# Minimum value on x-axis (default: 0)
;track_minx 50

# Maximum value on y-axis (default: 0)
;track_maxy 200

# Minimum value on y-axis (default: 0)
;track_miny 50

# Center value on x-axis (default: 0)
;track_homex 128

# Center value on y-axis (default: 0)
;track_homey 128

# ID of an iomojo camera if used (default: 0)
track_iomojo_id 0

# Angle in degrees the camera moves per step on the X-axis
# with auto-track (default: 10)
# Currently only used with pwc type cameras
track_step_angle_x 10

# Angle in degrees the camera moves per step on the Y-axis
# with auto-track (default: 10)
# Currently only used with pwc type cameras
track_step_angle_y 10

# Delay to wait for after tracking movement as number
# of picture frames (default: 10)
track_move_wait 10

# Speed to set the motor to (stepper motor option) (default: 255)
track_speed 255

# Number of steps to make (stepper motor option) (default: 40)
track_stepsize 40


############################################################
# External Commands, Warnings and Logging:
# You can use conversion specifiers for the on_xxxx commands
# %Y = year, %m = month, %d = date,
# %H = hour, %M = minute, %S = second,
# %v = event, %q = frame number, %t = thread (camera) number,
# %D = changed pixels, %N = noise level,
# %i and %J = width and height of motion area,
# %K and %L = X and Y coordinates of motion center
# %C = value defined by text_event
# %f = filename with full path
# %n = number indicating filetype
# Both %f and %n are only defined for on_picture_save,
# on_movie_start and on_movie_end
# Quotation marks round string are allowed.
############################################################

# Do not sound beeps when detecting motion (default: on)
# Note: Motion never beeps when running in daemon mode.
quiet on

# Command to be executed when an event starts. (default: none)
# An event starts at first motion detected after a period of no motion defined by event_gap
; on_event_start value

# Command to be executed when an event ends after a period of no motion
# (default: none). The period of no motion is defined by option event_gap.
#on_event_end /home/pi/bin/motion_event_end.sh %v

# Command to be executed when a picture (.ppm|.jpg) is saved (default: none)
# To give the filename as an argument to a command append it with %f
#on_picture_save /home/pi/bin/motion_resize.py %f %n

# Command to be executed when a motion frame is detected (default: none)
; on_motion_detected value

# Command to be executed when motion in a predefined area is detected
# Check option 'area_detect'.   (default: none)
; on_area_detected value

# Command to be executed when a movie file (.mpg|.avi) is created. (default: none)
# To give the filename as an argument to a command append it with %f
; on_movie_start value

# Command to be executed when a movie file (.mpg|.avi) is closed. (default: none)
# To give the filename as an argument to a command append it with %f
#on_movie_end /home/pi/bin/motion_resize.py %f

# Command to be executed when a camera can't be opened or if it is lost
# NOTE: There is situations when motion don't detect a lost camera!
# It depends on the driver, some drivers dosn't detect a lost camera at all
# Some hangs the motion thread. Some even hangs the PC! (default: none)
; on_camera_lost value

#####################################################################
# Common Options for database features.
# Options require database options to be active also.
#####################################################################

# Log to the database when creating motion triggered picture file  (default: on)
; sql_log_picture on

# Log to the database when creating a snapshot image file (default: on)
; sql_log_snapshot on

# Log to the database when creating motion triggered movie file (default: off)
; sql_log_movie off

# Log to the database when creating timelapse movies file (default: off)
; sql_log_timelapse off

# SQL query string that is sent to the database
# Use same conversion specifiers has for text features
# Additional special conversion specifiers are
# %n = the number representing the file_type
# %f = filename with full path
# Default value:
# Create tables :
##
# Mysql
# CREATE TABLE security (camera int, filename char(80) not null, frame int, file_type int, time_stamp timestamp(14), event_time_stamp timestamp(14));
#
# Postgresql
# CREATE TABLE security (camera int, filename char(80) not null, frame int, file_type int, time_stamp timestamp without time zone, event_time_stamp timestamp without time zone);
#
# insert into security(camera, filename, frame, file_type, time_stamp, text_event) values('%t', '%f', '%q', '%n', '%Y-%m-%d %T', '%C')
; sql_query insert into security(camera, filename, frame, file_type, time_stamp, event_time_stamp) values('%t', '%f', '%q', '%n', '%Y-%m-%d %T', '%C')


############################################################
# Database Options
############################################################

# database type : mysql, postgresql, sqlite3 (default : not defined)
; database_type value

# database to log to (default: not defined)
; database_dbname value

# The host on which the database is located (default: localhost)
; database_host value

# User account name for database (default: not defined)
; database_user value

# User password for database (default: not defined)
; database_password value

# Port on which the database is located
#  mysql 3306 , postgresql 5432 (default: not defined)
; database_port value

############################################################
# Database Options For SQLite3
############################################################

# SQLite3 database (file path) (default: not defined)
; sqlite3_db value



############################################################
# Video Loopback Device (vloopback project)
############################################################

# Output images to a video4linux loopback device
# The value '-' means next available (default: not defined)
; video_pipe value

# Output motion images to a video4linux loopback device
# The value '-' means next available (default: not defined)
; motion_video_pipe value


##############################################################
# Thread config files - One for each camera.
# Except if only one camera - You only need this config file.
# If you have more than one camera you MUST define one thread
# config file for each camera in addition to this config file.
##############################################################

# Remember: If you have more than one camera you must have one
# thread file for each camera. E.g. 2 cameras requires 3 files:
# This motion.conf file AND thread1.conf and thread2.conf.
# Only put the options that are unique to each camera in the
# thread config files.
; thread /usr/local/etc/thread1.conf
; thread /usr/local/etc/thread2.conf
; thread /usr/local/etc/thread3.conf
; thread /usr/local/etc/thread4.conf
Your help is greatly appreciated. Thanks in advance

Maya

lowflyer
Posts: 78
Joined: Sat Jun 01, 2013 2:27 pm

Re: Motion - MMAL camera

Sat Dec 19, 2015 8:15 pm

Looks like the problem is the Live Stream Server.

Have you tried to disable the stream server by changing:

Code: Select all

stream_port 8081
to

Code: Select all

stream_port 0
Maybe there are 2 copies of motion running, so that port 8081 is already taken? Try rebooting. In my experience it runs fine as user pi, even with the stream server running.

Good luck!

maya
Posts: 8
Joined: Thu Dec 17, 2015 5:35 pm

Re: Motion - MMAL camera

Sat Dec 19, 2015 11:04 pm

@lowflyer, thanks again for the quick response. I'll let you know if I am able to get the s/w to work.
Thanks again.
Maya

maya
Posts: 8
Joined: Thu Dec 17, 2015 5:35 pm

Re: Motion - MMAL camera

Sun Dec 20, 2015 2:42 pm

@lowflyer, I just wanted to inform you that the solution you suggested worked. I am able to get the pictures and movie files when motion is detected.
Thanks again.
Maya :D

User avatar
jscott13
Posts: 20
Joined: Sun Nov 01, 2015 12:09 pm
Location: Where?
Contact: Website

Re: Motion - MMAL camera

Sun Dec 20, 2015 3:28 pm

@lowflyer, just had a chance to try what you suggested. When I tried to grab that tarball I got permission denied. Perhaps it's been changed or moved?

BTW, I was surprised regarding the performance improvements had by reducing the GUIs share. Thank you much for that.

Thanks again for your help!

lowflyer
Posts: 78
Joined: Sat Jun 01, 2013 2:27 pm

Re: Motion - MMAL camera

Sun Dec 20, 2015 9:05 pm

@jscott13 Sorry you couldn't get https://www.dropbox.com/s/6ruqgv1h65zuf ... 114.tar.gz I don't understand why not. I just got it again OK. Maybe some strangeness with https? Or could it be that the you don't have write permission in the folder where you ran the wget? Does

Code: Select all

touch test.me
work OK?

Hope this helps.

User avatar
jscott13
Posts: 20
Joined: Sun Nov 01, 2015 12:09 pm
Location: Where?
Contact: Website

Re: Motion - MMAL camera

Mon Dec 21, 2015 1:49 pm

@lowflyer

Touch creates a test file.

When I run get for your tarball:

wflyerUK-20151114.tar.gz
--2015-12-21 08:34:53-- https://www.dropbox.com/s/6ruqgv1h65zuf ... 114.tar.gz
Resolving http://www.dropbox.com (http://www.dropbox.com)... 108.160.172.238, 108.160.172.206
Connecting to http://www.dropbox.com (http://www.dropbox.com)|108.160.172.238|:443... connected.
HTTP request sent, awaiting response... 302 FOUND
Location: https://dl.dropboxusercontent.com/conte ... 6E1IZ/file [following]
--2015-12-21 08:34:55-- https://dl.dropboxusercontent.com/conte ... 6E1IZ/file
Resolving dl.dropboxusercontent.com (dl.dropboxusercontent.com)... 108.160.173.69
Connecting to dl.dropboxusercontent.com (dl.dropboxusercontent.com)|108.160.173.69|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 156468 (153K) [application/octet-stream]
motion-mmal-lowflyerUK-20151114.tar.gz: Permission denied

Cannot write to ‘motion-mmal-lowflyerUK-20151114.tar.gz’ (Permission denied).

This is the first time I've encountered a problem downloading from drop box. I thought perhaps it's was a server maintenance moment or some other issue and came back to it this morning to find the same behavior. But from what little I can glean from the above it would seem I'm reaching dropbox, but the file refuses to download. This is a few notches above my pay grade. Perhaps someone can help me fill in what's happening. In that I am only one having the problem it is obviously something here. I'll keep plugging away and post my results once I have it sorted, save someone else all this headbanging (I hope ;-) ).

Thanks again to all!

lowflyer
Posts: 78
Joined: Sat Jun 01, 2013 2:27 pm

Re: Motion - MMAL camera

Mon Dec 21, 2015 2:15 pm

@jscott13 Thanks for posting the whole output of your wget. It certainly looks as if wget can get the file from dropbox, but doesn't have the permission to write onto your sdcard.

Things to try:
1. See if there is a copy of the file already there that can't be overwritten for some reason. Try

Code: Select all

ls -l
If there already is a copy of motion-mmal-lowflyerUK-20151114.tar.gz (maybe owned by root?), remove it with

Code: Select all

sudo rm motion-mmal-lowflyerUK-20151114.tar.gz
then try the wget again.

2. Try a different folder. Get back to your home folder with

Code: Select all

cd
then make a new folder and go to it with

Code: Select all

mkdir new_folder
cd new_folder
then try the wget again.

3. If all else fails, there must be some strangeness with your copy of raspbian. Reinstall on a fresh sdcard and start again!!!??!

Anyone got any other suggestions please?

User avatar
jscott13
Posts: 20
Joined: Sun Nov 01, 2015 12:09 pm
Location: Where?
Contact: Website

Re: Motion - MMAL camera

Mon Dec 21, 2015 2:32 pm

@lowflyer

While you were writing me, I was re-reading what I sent you and thought 'jeez working these things out in a public forum can be embarrassing' ;-) No seriously it seemed obvious I could just force the issue by simply offering sudo... and low and behold your tarball arrived!

However, whilst unpacking the bugger I got:

.tar (child): motion-mmal-lowflyerUK-20151114.tar.gz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now

I looked, it's really here. Any ideas?

Btw, I would be very happy to reinstall rasbian if that will help.... I'm quite good at that bit by now ;-) This is good fun, though any watching from the outside may be puzzled by the attraction. My wife, sitting by for the holidays would like all to know this is a very silly way to spend our free time!

lowflyer
Posts: 78
Joined: Sat Jun 01, 2013 2:27 pm

Re: Motion - MMAL camera

Mon Dec 21, 2015 3:45 pm

@jscott13 Very odd!!! Although you say the file is there, it looks as if tar can't open it. Are you in your user's home directory? Have to tried to change your username or change the permissions or rights of anything?

Exactly what commands did you use and what responses did you get? I did this...(where what I typed is in bold and the rest was the response)
pi@serial_bridge:~ $ cd
pi@serial_bridge:~ $wget https://www.dropbox.com/s/6ruqgv1h65zuf ... 114.tar.gz
--2015-12-21 15:28:44-- https://www.dropbox.com/s/6ruqgv1h65zuf ... 114.tar.gz
Resolving http://www.dropbox.com (http://www.dropbox.com)... 108.160.172.206, 108.160.172.238
Connecting to http://www.dropbox.com (http://www.dropbox.com)|108.160.172.206|:443... connected.
HTTP request sent, awaiting response... 302 FOUND
Location: https://dl.dropboxusercontent.com/conte ... tNUnZ/file [following]
--2015-12-21 15:28:45-- https://dl.dropboxusercontent.com/conte ... tNUnZ/file
Resolving dl.dropboxusercontent.com (dl.dropboxusercontent.com)... 108.160.173.69
Connecting to dl.dropboxusercontent.com (dl.dropboxusercontent.com)|108.160.173.69|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 156468 (153K) [application/octet-stream]
Saving to: ‘motion-mmal-lowflyerUK-20151114.tar.gz’

motion-mmal-lowflyerUK-20151114.tar.gz 100%[==============================================================================>] 152.80K 800KB/s in 0.2s

2015-12-21 15:28:46 (800 KB/s) - ‘motion-mmal-lowflyerUK-20151114.tar.gz’ saved [156468/156468]

pi@serial_bridge:~ $ls -l motion-mmal-lowflyerUK-20151114.tar.gz
-rw-r--r-- 1 pi pi 156468 Dec 21 15:28 motion-mmal-lowflyerUK-20151114.tar.gz
pi@serial_bridge:~ $tar -zxvf motion-mmal-lowflyerUK-20151114.tar.gz
motion
motion-mmalcam-both.conf
pi@serial_bridge:~ $ ls -l motion*
-rwxr-xr-x 1 pi pi 324480 Dec 19 08:33 motion
-rw-r--r-- 1 pi pi 30193 Dec 19 08:44 motion-mmalcam-both.conf
-rw-r--r-- 1 pi pi 156468 Dec 21 15:28 motion-mmal-lowflyerUK-20151114.tar.gz
If you need to use sudo in front of the wget, something is wrong that needs sorting out.

Again, I hope that this helps. Good luck! By the way, my wife agrees with yours!!

User avatar
jscott13
Posts: 20
Joined: Sun Nov 01, 2015 12:09 pm
Location: Where?
Contact: Website

Re: Motion - MMAL camera

Mon Dec 21, 2015 4:23 pm

@lowflyer

I have typed, and now copied and pasted:

tar -zxvf motion-mmal-lowflyerUK-Z0151114.tar.gz

and the pi returns:

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

end pi's response

And it did seem odd that sudo solved the download problem, hadn't had that come up using 'get' in the past. All I have done after the last fresh install of Jessie was to change the mem sharing and overclock (medium), boot to shell, add the camera, test it. Then... and here maybe is where I mucked things up... mount the USB stick. I have done it the same way I always do (after my long experience of having done it a half dozen times<grin>), but being new to permissions wondered if that could be the issue.

To mount the stick:

sudo chown -R pi:pi /media/usb

for directory/folder permissions, then:

sudo mount /dev/sda1 /media/usb -o uid=pi,gid=pi

in that I don't understand much of all that it could be that's where I went wrong. Fear not, I'm fumbling my way through a big fat text on the subject and should know even less in about two or three or hours ;-)

So that's it! Fourth fresh load of Jessie, fourth time adding the camera, adding the stick, and trying to get through motion. It may be of some interest that I get through this just fine on all of the other Pi's, just not A's of any kind (+ or otherwise). My normal routine with these is/was Wheezy/boot/clock/camera/stick/motion/samba and then chuck it in the yard. But I wanted to save space and some coin so tried the same project on an "A". There was also the power considerations... I was looking forward to longer battery life (that project, btw has been very successful, solar powering the pi cams with liion and small panels)

I'm fairly sure I'd seen a tute a while back that was done on an "A" but can't find it. Has anyone else tried the motion/security cam thing with an "A"?

Gosh I would love to solve this. Moving back to the other Pi's seems too much like giving up! I think while I wait for all of this to sink in I will verify that what I've said about all of this working for me on a B+ works. Maybe just to do some confidence repair. It would be so nice to see a Pi cooperate... who knows something may come to me.

And I should start over one more time...but, if there is something about my mounting routine or the order that I do the rest of it I am eager to hear about that before the head banging continues :-)

Thanks again!

****edit****

Egad! Forgot fstab, could have I done it in with that? As I was going over the steps I offered up above and I remembered that I mounted the stick but it needed to remounted with the fstab file on boot. This is what I add to it:

UUID=thenumber /path/path auto rw,user,auto 0 0

I had tried a number of other lines that worked well on B+ loads but here again, not on this A. That line mounted the drive after reboot. I am able to access drives mounted this way with Samba via a Windows machine on the network so assumed they were mounted correctly. (just so you know, I quit loading Samba and working that out once I ran into this Motion issue)

lowflyer
Posts: 78
Joined: Sat Jun 01, 2013 2:27 pm

Re: Motion - MMAL camera

Mon Dec 21, 2015 5:03 pm

@jscott13

How about the

Code: Select all

ls -l motion-mmal-lowflyerUK-20151114.tar.gz
What did that give? If it wasn't exactly the same as my last post, the wget hadn't worked properly and the file was corrupted.

Maybe it would be jolly useful if you gave the outputs of all the commands in my last post. This should check that the file was actually there, with the right permissions and that you are working in your home folder.

As a matter of interest, how are connecting your A to the internet so that wget can get the file?

User avatar
jscott13
Posts: 20
Joined: Sun Nov 01, 2015 12:09 pm
Location: Where?
Contact: Website

Re: Motion - MMAL camera

Mon Dec 21, 2015 7:06 pm

@lowflyer

No problem, to recap then - I came here after I searched and found that 'maya' had
the same issue I did and error:

./motion-mmal: error while loading shared libraries: libavformat.so.53:
cannot open shared object file: No such file or directory

While following along with what you suggested and had worked for maya I:

[b]sudo apt-get install -y libjpeg-dev libavformat56 libavformat-dev
libavcodec56 libavcodec-dev libavutil54 libavutil-dev libc6-dev zlib1g-dev
libmysqlclient18 libmysqlclient-dev libpq5 libpq-dev[/b]

And got those files without a problem. But when I:

[b]wget https://www.dropbox.com/s/6ruqgv1h65zuf ... 114.tar.gz[/b]

I got:

wflyerUK-20151114.tar.gz
--2015-12-21 08:34:53-- https://www.dropbox.com/s/6ruqgv1h65zuf ...
114.tar.gz
Resolving http://www.dropbox.com (http://www.dropbox.com)...
108.160.172.238, 108.160.172.206
Connecting to http://www.dropbox.com
(http://www.dropbox.com)|108.160.172.238|:443... connected.
HTTP request sent, awaiting response... 302 FOUND
Location: https://dl.dropboxusercontent.com/conte ... 6E1IZ/file [following]
--2015-12-21 08:34:55-- https://dl.dropboxusercontent.com/conte ...
6E1IZ/file
Resolving dl.dropboxusercontent.com (dl.dropboxusercontent.com)...
108.160.173.69
Connecting to dl.dropboxusercontent.com
(dl.dropboxusercontent.com)|108.160.173.69|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 156468 (153K) [application/octet-stream]
motion-mmal-lowflyerUK-20151114.tar.gz: Permission denied

Cannot write to ‘motion-mmal-lowflyerUK-20151114.tar.gz’ (Permission
denied).

That was corrected by adding sudo and then I managed to download your tarball. But when I:

[b]tar -zxvf motion-mmal-lowflyerUK-20151114.tar.gz[/b]

I got:

.tar (child): motion-mmal-lowflyerUK-20151114.tar.gz: Cannot open: No such
file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now

Then I rebooted and tried again, this time unpacking the tarball got me:

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

I boot to shell enter my password, I see pi@raspberrypi ~S. If I run ls there I can see your tarball. When I run

[b]ls -l motion-mmal-lowflyerUK-20151114.tar.gz[/b]

I get:

-rw-r--r-- 1 root root 184489 Dec 21 09:14 motion-mmal-lowflyerUK-Z0151114.tar.gz

which I assume is a good thing, correct? Gonna go out on a limb here, is that part of the error:

gzip: stdin: not in gzip format

saying the tarball is in the wrong format for my software, as though I can't unzip it because I have the wrong software (sorry windows perspective perhaps). I ask because as you might remember installing Jessie on this little A gives me an error. I looked it up here on the forum and long ago (2013) the last post I found left me believing I could ignore it. It was a warning indicating the OS would not be supported by the version Pi I was running it on. When installing, the window that (with a B) normally offers a number of OSs to choose from, I get one and the additional option of a 512 partition. In my roundabout way I'm asking if it's possible I don't have the full deck? ;-) lol

seems something went wrong with bold... and that looked so nice;-)

lowflyer
Posts: 78
Joined: Sat Jun 01, 2013 2:27 pm

Re: Motion - MMAL camera

Tue Dec 22, 2015 8:07 am

@jscott13 Ok there are some BIG clues about what is going on in those responses.

Firstly look at the response to the wget and you can see

Code: Select all

Length: 156468 (153K) [application/octet-stream]
That means that the correct length of the file is 156468 bytes.

Secondly compare the response to the "ls -l motion-mmal-lowflyerUK-20151114.tar.gz" that you got from what I got. Yours:

Code: Select all

-rw-r--r-- 1 root root 184489 Dec 21 09:14 motion-mmal-lowflyerUK-Z0151114.tar.gz
But mine was

Code: Select all

-rw-r--r-- 1 pi pi 156468 Dec 21 15:28 motion-mmal-lowflyerUK-20151114.tar.gz
Now you can see that your file is owned by root (as you would expect if you got it with a sudo in front of the wget) and is 184489 bytes long. Something didn't work when you tried to download it at 09:14 on Dec 21 (assuming the clock was right in your Pi).

You have to do what I said in my post at 3.15 yesterday. Either clear out your home folder or make a new empty folder. You can always list all the contents of a folder with

Code: Select all

ls -l
I guess it is probably best NEVER to use sudo with the wget command. If you use the following version instead it forces wget to use the filename after the -O

Code: Select all

wget https://www.dropbox.com/s/6ruqgv1h65zufr6/motion-mmal-lowflyerUK-20151114.tar.gz -O motion-mmal-lowflyerUK-20151114.tar.gz
so might be less confusing.

Good luck - sorry that this is being a bit painful for you.

User avatar
jscott13
Posts: 20
Joined: Sun Nov 01, 2015 12:09 pm
Location: Where?
Contact: Website

Re: Motion - MMAL camera

Tue Dec 22, 2015 1:19 pm

@lowflyerUK

Good news this morning! On a fresh install of Jessie I followed your original instructions an all went as expected (I think). Sadly that offers us little in respect to what went wrong. So, if someone else follows this hoping for a solution they may learn little.

Perhaps mounting the USB drive did something to muck up previous efforts? It's a steep learning curve and you have been very helpful. I am hoping that if I keep moving through these tutorials I will, in time, understand just what it is I am doing.

Off to fool with the configuration files and what not. I haven't even checked the output (looked at the photos), but when I saw the software purring along, instead of offering up complaints, I thought you should be the first to know.

It isn't easy helping the blind through a poop storm :-) You've done very well! Thank you!

BTW if you have a website or any other way I might keep in touch, please don't forget to let me know!

*I'm back... perhaps there is even less I understand ;-)

One more quick question (a bit pink eared) I see that after unpacking I start motion with the command ./motion -c motion.mmalcam-both.conf, is that correct? And the config file I will use is pi/motion-mmalcam-both.conf?

lowflyer
Posts: 78
Joined: Sat Jun 01, 2013 2:27 pm

Re: Motion - MMAL camera

Tue Dec 22, 2015 4:38 pm

@jscott13 Um, you are almost right about which config file. The command

Code: Select all

./motion -c motion-mmalcam-both.conf
works out like this...
  1. the ./motion means "execute the file called motion in the current folder"
  2. the -c means that the next thing is the config file.
  3. and the motion-mmalcam-both.conf (without anything in front of the first letter) means "the file with the given name in the same folder as the executable file" (Watch out for correct spelling, you had written motion.mmalcam-both.conf instead of motion-mmalcam-both.conf. I find it much more accurate to copy and paste rather then trying to type things out again)
So if you are in the folder where both motion and motion-mmalcam-both.conf actually are, then that command runs that copy of motion with that config file. If you started with a fresh installation of jessie, you probably shouldn't have any other copies of these.

User avatar
jscott13
Posts: 20
Joined: Sun Nov 01, 2015 12:09 pm
Location: Where?
Contact: Website

Re: Motion - MMAL camera

Tue Dec 22, 2015 6:53 pm

@lowflyerUK

So I see the tarball, a binary called motion, and the motion-mmalcam-both.conf along side everything else at /home/pi. What I don't see is the configuration file I would use to configure motion. I was not able to configure motion with that config file.

Did I installed motion when I unpacked your tarball? It would seem I have stumbled on your help while trying to figure out how my old cookbook routine went badly. It maybe I only have half of what I need to make this method work. Sorry, I hope I am not trying your patience too badly.

Where I do enjoy this, I can't help but feel you might have something better to do than hold my hand. I obviously need to study a bit more and come back to this when I have a better background in what I am trying to do. I had been fairly successful using cookbooks and tutes to get these little piCams running. My wife loves to watch the animals in the yard with em, and I've got one that keeps an eye on the front stoop. But this time, with the A, copying and paste programming just wasn't cutting it. I found this conversation via internet search.

Gotta put this little project to bed for the holidays. I've got a lot going on over the next few days as I am sure you do as well lowflyerUK. Have a very Merry Christmas sir, and wish our best wishes to your family. I hope to check in again after the holidays.

****Ten minutes later******

:lol: :lol:

Oh brother, talk about pink ears... before shutting down the running version... I took a look what I thought would be the stream at port 8080... sorry friend. I came in half way through a conversation about getting this up and running, I had no idea what you had sent up for us. Very nice indeed! I will kick the tires some and give you my two cents after the holidays.

You must have been just as confused as I was, a fished product. I thought I was getting help tracking down a missing dependency or help with a conf file and instead I get finished software. Like I said... gotta hit the books! :lol:

Kreachers
Posts: 2
Joined: Wed Dec 23, 2015 8:35 am

Re: Motion - MMAL camera

Wed Dec 23, 2015 12:03 pm

ok second time's a charm. First was lost when internet D/C'ed

Hi,

So I'm messing around with my rpi 2 and motion detection. My orginal problem was the same as maya and jscott. Which was fixed with lowflyers hack. Thanks. However now I'm getting a different error:

Code: Select all

pi@raspberrypi:~ $ ./motion -c motion-mmalcam-both.conf
[0] [NTC] [ALL] conf_load: Processing thread 0 - config file motion-mmalcam-both.conf
[0] [NTC] [ALL] motion_startup: Motion mmaltest Started
[0] [NTC] [ALL] motion_startup: Logging to syslog
[0] [NTC] [ALL] motion_startup: Using log type (ALL) log level (INF)
[0] [NTC] [ENC] ffmpeg_init: ffmpeg LIBAVCODEC_BUILD 3670272 LIBAVFORMAT_BUILD 3670272
[0] [NTC] [ALL] main: Thread 1 is from motion-mmalcam-both.conf
[0] [NTC] [ALL] main: Thread 1 is device: /dev/video0 input -1
[0] [NTC] [ALL] main: Stream port 8081
[0] [NTC] [ALL] main: Waiting for threads to finish, pid: 7149
[1] [NTC] [ALL] motion_init: Thread 1 started , motion detection Enabled
[0] [NTC] [STR] httpd_run: motion-httpd testing : IPV4 addr: 0.0.0.0 port: 8080
[1] [ALR] [VID] mmalcam_start: MMAL Camera thread starting... for camera (vc.ril.camera) of 640 x 480 at 4 fps
[0] [NTC] [STR] httpd_run: motion-httpd Bound : IPV4 addr: 0.0.0.0 port: 8080
[1] [ALR] [VID] mmalcam_start: MMAL Camera using video capture
[0] [NTC] [STR] httpd_run: motion-httpd/mmaltest running, accepting connections
[0] [NTC] [STR] httpd_run: motion-httpd: waiting for data on 0.0.0.0 port TCP 8080
mmal: mmal_vc_component_create: failed to create component 'vc.ril.camera' (1:ENOMEM)
mmal: mmal_component_create_core: could not create component 'vc.ril.camera' (1)
[1] [ERR] [VID] Failed to create MMAL camera component create_camera_component
Segmentation fault
Also a couple other questions. Whats the difference between motion-mmal that i got from dozencrows and lowflyer and motion that I get from running sudo apt-get install motion. Motion seems to work just fine taking pictures and putting them in the home/pi directory assuming that this is considered fine

Code: Select all

pi@raspberrypi:~ $ motion
[0] [ALR] [ALL] conf_load: could not open configfile /etc/motion/motion.conf: 
[0] [CRT] [ALL] conf_load: Not config file to process using default values
[0] [NTC] [ALL] motion_startup: Using default log level (NTC) (6)
[0] [NTC] [ALL] motion_startup: Motion 3.2.12+git20140228 Started
[0] [NTC] [ALL] motion_startup: Logging to syslog
[0] [NTC] [ALL] motion_startup: Using default log type (ALL)
[0] [NTC] [ALL] motion_startup: Using log type (ALL) log level (NTC)
[0] [NTC] [ENC] ffmpeg_init: ffmpeg LIBAVCODEC_BUILD 3670016 LIBAVFORMAT_BUILD 3670272
[0] [NTC] [ALL] main: Thread 1 is device: /dev/video0 input -1
[0] [NTC] [ALL] main: Stream port 0
[0] [NTC] [ALL] main: Waiting for threads to finish, pid: 7660
[1] [NTC] [ALL] motion_init: Thread 1 started , motion detection Enabled
[1] [NTC] [VID] vid_v4lx_start: Using videodevice /dev/video0 and input -1
[1] [NTC] [VID] v4l2_get_capability: 
------------------------
cap.driver: "uvcvideo"
cap.card: "UVC Camera (046d:0824)"
cap.bus_info: "usb-3f980000.usb-1.2"
cap.capabilities=0x84200001
------------------------
[1] [NTC] [VID] v4l2_get_capability: - VIDEO_CAPTURE
[1] [NTC] [VID] v4l2_get_capability: - STREAMING
[1] [NTC] [VID] v4l2_select_input: name = "Camera 1", type 0x00000002, status 00000000
[1] [NTC] [VID] v4l2_select_input: - CAMERA
[1] [WRN] [VID] v4l2_select_input: Device doesn't support VIDIOC_G_STD
[1] [NTC] [VID] v4l2_set_pix_format: Config palette index 17 (YU12) doesn't work.
[1] [NTC] [VID] v4l2_set_pix_format: Supported palettes:
[1] [NTC] [VID] v4l2_set_pix_format: (0) YUYV (YUV 4:2:2 (YUYV))
[1] [NTC] [VID] v4l2_set_pix_format: 0 - YUV 4:2:2 (YUYV) (compressed : 0) (0x56595559)
[1] [NTC] [VID] v4l2_set_pix_format: (1) MJPG (MJPEG)
[1] [NTC] [VID] v4l2_set_pix_format: 1 - MJPEG (compressed : 1) (0x47504a4d)
[1] [NTC] [VID] v4l2_set_pix_format Selected palette YUYV
[1] [NTC] [VID] v4l2_do_set_pix_format: Testing palette YUYV (352x288)
[1] [NTC] [VID] v4l2_do_set_pix_format: Using palette YUYV (352x288) bytesperlines 704 sizeimage 202752 colorspace 00000008
[1] [NTC] [VID] v4l2_scan_controls: found control 0x00980900, "Brightness", range 0,255 
[1] [NTC] [VID] v4l2_scan_controls: 	"Brightness", default -8193, current 128
[1] [NTC] [VID] v4l2_scan_controls: found control 0x00980901, "Contrast", range 0,255 
[1] [NTC] [VID] v4l2_scan_controls: 	"Contrast", default 57343, current 32
[1] [NTC] [VID] v4l2_scan_controls: found control 0x00980902, "Saturation", range 0,255 
[1] [NTC] [VID] v4l2_scan_controls: 	"Saturation", default 57343, current 38
[1] [NTC] [VID] v4l2_scan_controls: found control 0x00980913, "Gain", range 0,255 
[1] [NTC] [VID] v4l2_scan_controls: 	"Gain", default 57343, current 0
[1] [NTC] [VID] vid_v4lx_start: Using V4L2
[1] [NTC] [ALL] image_ring_resize: Resizing pre_capture buffer to 1 items
[1] [NTC] [EVT] event_new_video FPS 7
[1] [NTC] [ALL] motion_detected: Motion detected - starting event 1
[1] [NTC] [EVT] event_newfile: File of type 1 saved to: ./01-20151223112628-07.jpg
[1] [NTC] [EVT] event_newfile: File of type 1 saved to: ./01-20151223112629-00.jpg
[1] [NTC] [EVT] event_newfile: File of type 1 saved to: ./01-20151223112629-02.jpg
[1] [NTC] [EVT] event_newfile: File of type 1 saved to: ./01-20151223112629-04.jpg
[1] [NTC] [EVT] event_newfile: File of type 1 saved to: ./01-20151223112629-06.jpg
[1] [NTC] [EVT] event_newfile: File of type 1 saved to: ./01-20151223112630-01.jpg
^C[1] [NTC] [ALL] motion_loop: End of event 1
[1] [NTC] [ALL] motion_loop: Thread exiting
[1] [NTC] [VID] vid_close: Closing video device /dev/video0
[0] [NTC] [ALL] main: Threads finished
[0] [NTC] [ALL] main: Motion terminating
I'm still new to linux the raspberry pi and installing stuff in this manor with errors. so to me that looks fine.

I tried to compile the code following exactly what lowflyer said and I got this

Code: Select all

pi@raspberrypi:~ $ sudo apt-get install -y libjpeg-dev libavformat56 libavformat-dev libavcodec56 libavcodec-dev libavutil54 libavutil-dev libc6-dev zlib1g-dev libmysqlclient18 libmysqlclient-dev libpq5 libpq-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libavcodec-dev is already the newest version.
libavcodec56 is already the newest version.
libavformat-dev is already the newest version.
libavformat56 is already the newest version.
libavutil-dev is already the newest version.
libavutil54 is already the newest version.
libc6-dev is already the newest version.
libjpeg-dev is already the newest version.
libmysqlclient-dev is already the newest version.
libmysqlclient18 is already the newest version.
libpq-dev is already the newest version.
libpq5 is already the newest version.
zlib1g-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
pi@raspberrypi:~ $ sudo apt-get install git
Reading package lists... Done
Building dependency tree       
Reading state information... Done
git is already the newest version.
git set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
pi@raspberrypi:~ $ sudo apt-get install cmake
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  cmake-data
Suggested packages:
  codeblocks eclipse ninja-build
The following NEW packages will be installed:
  cmake cmake-data
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,799 kB of archives.
After this operation, 14.3 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://mirrordirector.raspbian.org/raspbian/ jessie/main cmake-data all 3.0.2-1 [929 kB]
Get:2 http://mirrordirector.raspbian.org/raspbian/ jessie/main cmake armhf 3.0.2-1 [1,870 kB]
Fetched 2,799 kB in 3s (763 kB/s)                                   
Selecting previously unselected package cmake-data.
(Reading database ... 125350 files and directories currently installed.)
Preparing to unpack .../cmake-data_3.0.2-1_all.deb ...
Unpacking cmake-data (3.0.2-1) ...
Selecting previously unselected package cmake.
Preparing to unpack .../cmake_3.0.2-1_armhf.deb ...
Unpacking cmake (3.0.2-1) ...
Processing triggers for man-db (2.7.0.2-5) ...
Setting up cmake-data (3.0.2-1) ...
Setting up cmake (3.0.2-1) ...
pi@raspberrypi:~ $ git clone https://github.com/lowflyerUK/motion.git
Cloning into 'motion'...
remote: Counting objects: 2919, done.
remote: Total 2919 (delta 0), reused 0 (delta 0), pack-reused 2919
Receiving objects: 100% (2919/2919), 2.66 MiB | 1.04 MiB/s, done.
Resolving deltas: 100% (2131/2131), done.
Checking connectivity... done.
pi@raspberrypi:~ $ git checkout mmal-test
fatal: Not a git repository (or any of the parent directories): .git
pi@raspberrypi:~ $ git clone https://github.com/raspberrypi/userland
Cloning into 'userland'...
remote: Counting objects: 3629, done.
remote: Total 3629 (delta 0), reused 0 (delta 0), pack-reused 3629
Receiving objects: 100% (3629/3629), 33.68 MiB | 1.30 MiB/s, done.
Resolving deltas: 100% (1787/1787), done.
Checking connectivity... done.
Checking out files: 100% (781/781), done.
pi@raspberrypi:~ $ cd motion/
pi@raspberrypi:~/motion $ USERLANDPATH=/home/pi/userland cmake .
CMake Error: The source directory "/home/pi/motion" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
pi@raspberrypi:~/motion $ make
make: *** No targets specified and no makefile found.  Stop.
If someone could turn that into English it would be nice but not necessary.
hope I'm not forgetting anything, anyways.
Thanks

lowflyer
Posts: 78
Joined: Sat Jun 01, 2013 2:27 pm

Re: Motion - MMAL camera

Wed Dec 23, 2015 1:32 pm

@Kreachers I will try to answer some of your questions...

Your first segmentation fault looks as if it is caused by your Pi not being able access the Raspberry Pi camera module. Is that what you want to use? If so, is it enabled in raspi-config? Is something else accessing it first?

The difference between the versions might well have a bearing on the above:
  1. The original (and very good) motion, as installed from the raspbian repository, normally runs using /dev/video0. So if you have a USB webcam plugged in, this is good. From the log it looks as if you do have a uvcvideo webcam.
  2. Dozencrows' (very clever) adaptation uses a direct and very efficient connection to the Raspberry Pi camera module. There is no point in using this unless you have the camera module. It won't work with the latest version of Raspbian (Jessie).
  3. My small update of dozencrows version should also work with Raspbian Jessie and adds a new little feature - the ability to save both full resolution and reduced resolution stills. Can be useful if you want a thumbnail. There is also no point in using this unless you have the camera module.
Thanks for your final point. I had made an error in the order of the commands. I will update my previous post at viewtopic.php?p=864996#p864996. Sorry!

Hope this helps.

nevyoung
Posts: 2
Joined: Thu Nov 15, 2012 4:13 pm

Re: Motion - MMAL camera

Wed Dec 23, 2015 4:41 pm

Just to say thank you lowflyer.

Using Pi B+ and Jessie. Your instructions provided a working result at first attempt!! Have not been so lucky in long time. I had previously tried Motion in its various guises encountering all the problems that have been mentioned on the forums. I was losing hope.

The system has been capturing short videos all of today and certainly appears to triggering only on genuine motion triggers, albeit a small motion of a person walking past an open door outside the room where the PiCam is mounted.

Now I need to become familiar with all the parameters in the config file so that I can tweak the motion function to suit my purpose.

For your interest, this Pi will be monitoring movement across the hatchway of a very small shop so that transactions can be monitored, not only to combat fraudulent activity by the staff, but also as a reference in case of later confusion over a particular transaction. I also hope to implement a small POS into the Pi, perhaps using the 7" Touchscreen.

Daily transactions will automatically be uploaded to a server and perhaps the short video clips too. Web streaming could be a nice-to-have in due course. I have got the Pi connected to the www through a 3G usb modem dongle.

Wish me luck!

lowflyer
Posts: 78
Joined: Sat Jun 01, 2013 2:27 pm

Re: Motion - MMAL camera

Thu Dec 24, 2015 7:43 am

@nevyoung

Sounds like a perfect project for a Raspberry Pi. Web streaming at low resolution is good for keeping your 3g bandwidth usage low. Also the low res stills can be used as thumbnails on a web page so you only download high res stills or movies that are really interesting. I use php and apache for this. You will have to adjust the config parameters to ensure that it saves enough full res stills when motion is detected if you need that level of detail to check the transactions.

Good luck!

Return to “Camera board”