Send Motion-user mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.sourceforge.net/lists/listinfo/motion-user
or, via email, send a message with subject or body 'help' to
        [email protected]

You can reach the person managing the list at
        [email protected]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Motion-user digest..."


Today's Topics:

   1. :  track.c compile errors (now link errors) (Jim Dodgen)
   2. Re: On Alarm Recording - No Motion (Bill Clay)


----------------------------------------------------------------------

Message: 1
Date: Wed, 29 Apr 2015 09:58:05 -0700
From: Jim Dodgen <[email protected]>
Subject: [Motion-user] :  track.c compile errors (now link errors)
To: [email protected], [email protected]
Message-ID:
        <caj2wgcp1riz3h_bmuwrvnuyxpmpk1znnm8lxf57aouvz5cx...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

Sorry I did not reply sooner, this just arrived via the digest, and I had
not gotten a email on it so this will not be in the correct thread.

Ok, I put in the include and that got everything to compile. I have built
two versions of ffmpeg from source the latest and oldest ones I could
find  2.6.2
and 0.5.15.

Now during the link I'm getting errors. pretty much related to the version
of ffmpeg I'm using    Looks like a ffmpeg version problem and here are the
link issues with each ffmpeg.

What version of ffmpeg is required?  and if it is this picky why not pull a
good version into the project?

Notes:  I change ffmpeg versions with a simple "make install". I'm running
ubuntu 14.04 LTS. 32 bit.  I'm compiling motion from the trunk version
5.6.4

here are the link errors.

--- using ffmpeg 2.6.2 ---------

Linking Motion...
--------------------------------------------------------------------------------

gcc -L/usr/local/lib -o motion motion.o logger.o conf.o draw.o jpegutils.o
vloopback_motion.o video.o video2.o video_common.o netcam.o netcam_ftp.o
netcam_jpeg.o netcam_wget.o track.o alg.o event.o picture.o rotate.o
webhttpd.o stream.o md5.o ffmpeg.o sdl.o netcam_rtsp.o -lm  -lpthread
-L/usr/lib/i386-linux-gnu -lSDL -ljpeg -L/usr/local/lib -lavformat
-lavcodec -lavutil -lm -lz -lsqlite3
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_subpacket':
/home/jim/ffmpeg-2.6.2/libavcodec/opusdec.c:374: undefined reference to
`swr_is_initialized'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_frame':
/home/jim/ffmpeg-2.6.2/libavcodec/opusdec.c:220: undefined reference to
`swr_is_initialized'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_init_resample':
/home/jim/ffmpeg-2.6.2/libavcodec/opusdec.c:161: undefined reference to
`swr_init'
/home/jim/ffmpeg-2.6.2/libavcodec/opusdec.c:167: undefined reference to
`swr_convert'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_frame':
/home/jim/ffmpeg-2.6.2/libavcodec/opusdec.c:234: undefined reference to
`swr_convert'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_flush_resample':
/home/jim/ffmpeg-2.6.2/libavcodec/opusdec.c:115: undefined reference to
`swr_convert'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_subpacket':
/home/jim/ffmpeg-2.6.2/libavcodec/opusdec.c:406: undefined reference to
`swr_close'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_flush':
/home/jim/ffmpeg-2.6.2/libavcodec/opusdec.c:567: undefined reference to
`swr_close'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_close':
/home/jim/ffmpeg-2.6.2/libavcodec/opusdec.c:589: undefined reference to
`swr_free'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_init':
/home/jim/ffmpeg-2.6.2/libavcodec/opusdec.c:642: undefined reference to
`swr_alloc'
/usr/local/lib/libavcodec.a(vaapi.o): In function `ff_vaapi_commit_slices':
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:101: undefined reference to
`vaCreateBuffer'
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:110: undefined reference to
`vaCreateBuffer'
/usr/local/lib/libavcodec.a(vaapi.o): In function `ff_vaapi_render_picture':
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:52: undefined reference to
`vaUnmapBuffer'
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:65: undefined reference to
`vaBeginPicture'
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:69: undefined reference to
`vaRenderPicture'
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:73: undefined reference to
`vaRenderPicture'
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:78: undefined reference to
`vaEndPicture'
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:56: undefined reference to
`vaUnmapBuffer'
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:61: undefined reference to
`vaUnmapBuffer'
/usr/local/lib/libavcodec.a(vaapi.o): In function `ff_vaapi_commit_slices':
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:101: undefined reference to
`vaCreateBuffer'
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:110: undefined reference to
`vaCreateBuffer'
/usr/local/lib/libavcodec.a(vaapi.o): In function `alloc_buffer':
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:129: undefined reference to
`vaCreateBuffer'
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:131: undefined reference to
`vaMapBuffer'
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:129: undefined reference to
`vaCreateBuffer'
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:131: undefined reference to
`vaMapBuffer'
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:129: undefined reference to
`vaCreateBuffer'
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:131: undefined reference to
`vaMapBuffer'
/usr/local/lib/libavcodec.a(vaapi.o): In function `destroy_buffers':
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:38: undefined reference to
`vaDestroyBuffer'
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:38: undefined reference to
`vaDestroyBuffer'
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:38: undefined reference to
`vaDestroyBuffer'
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:38: undefined reference to
`vaDestroyBuffer'
/usr/local/lib/libavcodec.a(vaapi.o): In function `ff_vaapi_render_picture':
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:52: undefined reference to
`vaUnmapBuffer'
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:65: undefined reference to
`vaBeginPicture'
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:69: undefined reference to
`vaRenderPicture'
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:73: undefined reference to
`vaRenderPicture'
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:78: undefined reference to
`vaEndPicture'
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:56: undefined reference to
`vaUnmapBuffer'
/home/jim/ffmpeg-2.6.2/libavcodec/vaapi.c:61: undefined reference to
`vaUnmapBuffer'


-------------- using ffmpeg 0.5.15 -------------------

Linking Motion...
--------------------------------------------------------------------------------
gcc -L/usr/local/lib -o motion motion.o logger.o conf.o draw.o jpegutils.o
vloopback_motion.o video.o video2.o video_common.o netcam.o netcam_ftp.o
netcam_jpeg.o netcam_wget.o track.o alg.o event.o picture.o rotate.o
webhttpd.o stream.o md5.o ffmpeg.o sdl.o netcam_rtsp.o -lm  -lpthread
-L/usr/lib/i386-linux-gnu -lSDL -ljpeg -L/usr/local/lib -lavformat
-lavcodec -lavutil -lm -lz -lsqlite3
/usr/local/lib/libavformat.a(file.o):(.data+0x40): multiple definition of
`file_protocol'
ffmpeg.o:(.data+0x0): first defined here
collect2: error: ld returned 1 exit status
make: *** [motion] Error 1


Date: Wed, 29 Apr 2015 08:13:31 +0300
From: tosiara <[email protected]>
Subject: Re: [Motion-user] track.c compile errors
To: Motion discussion list <[email protected]>
Message-ID:
        <cachtdwt2xtnlhs-nkmk9n2dmbfp3cmu1kdcs-41m6xchwkc...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

Could be this issue: https://github.com/sackmotion/motion/issues/11

Try adding #include <linux/videodev2.h> at the top of track.c



On Wed, Apr 29, 2015 at 12:13 AM, Jim Dodgen <[email protected]> wrote:

> when i'm doing a make I get a lot of errors. What am I missing?
>
> ---cut here ---
>
> track.c: In function ?servo_center?:
> track.c:566:18: warning: variable ?ret? set but not used
> [-Wunused-but-set-variable]
>      unsigned int ret = 0;
>                   ^
> track.c: In function ?uvc_center?:
> track.c:936:29: error: storage size of ?control_s? isn?t known
>          struct v4l2_control control_s;

*Jim Dodgen*
-------------- next part --------------
An HTML attachment was scrubbed...

------------------------------

Message: 2
Date: Wed, 29 Apr 2015 13:23:08 -0400
From: Bill Clay <[email protected]>
Subject: Re: [Motion-user] On Alarm Recording - No Motion
To: [email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset=utf-8; format=flowed

Pablo,

Over the last four years, I have gradually developed a modified version 
of motion v. 3.2.12 that may be able to do what you want. It is not 
"plug and play" and would require you to have sysadmin skills to install 
and C programming skills if you needed to tweak my mods.

A few details:

1. motion optionally provides pre-event image recording, but Kenneth 
warns against long pre-event capture because it hinders timely response 
to events as motion writes out its buffer of the N frames preceding the 
event (a motion configuration parameter).  If your frame rate is modest 
(I run 4 frames/sec), you MIGHT be able to reliably get 5 seconds of 
pre-event recording.  I've never tried more than 5 pre-event frames (ca. 
1 sec.), but IIRC, my mods do slightly improve the logic that tries to 
smooth out the load of catch-up writing of pre-event frames once an 
event is signaled.

2. I added an external alarm input (via a memory-mapped file) that 
triggers still and/or video recording and on-<event> scripts just as if 
motion had been detected in the images.

3. The external alarm input requires a separate daemon to signal 
alarms.  Mine is written in Python and uses Phidgets USB devices 
(http://www.phidgets.com) to monitor ordinary commercial PIR/microwave 
motion sensors.

4. Probably the biggest hurdle to your large (for motion) pre-event 
recording requirement is doing database INSERTs for recorded frames 
(optional; ignore this point if you don't need it).  In unmodified 
motion, database updates run synchronously in the same thread with image 
capture and recording.  Even if your DBMS runs on the same box as motion 
(mine is at a remote site, which makes this a real problem), catch-up 
pre-event DB inserts may substantially slow the frame capture rate 
during the first few seconds of the event, which is surely not what you 
want.

My mods include a new module (about 1 kloc) for efficient (PREPAREd SQL 
and binary, not character, data transmission), high-reliability (robust 
recovery from network outages and DBMS bounces), asynchronous (separate 
thread) DBMS updates, but only for PostgreSQL.  I imagine someone 
proficient with MySQL C-language APIs could adapt its asynchronous 
features to that DBMS without too much trouble.

This is probably more complexity than you want to deal with, but if 
you're interested, I can email you a tarball of this modified version of 
motion 3.2.12 and my Python external alarm handler.

Regards,
Bill Clay



------------------------------

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y

------------------------------

_______________________________________________
Motion-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/motion-user


End of Motion-user Digest, Vol 107, Issue 3
*******************************************

Reply via email to