sackmotion / motion Goto Github PK
View Code? Open in Web Editor NEWMotion, a software motion detector
Home Page: http://motion.sf.net
License: GNU General Public License v2.0
Motion, a software motion detector
Home Page: http://motion.sf.net
License: GNU General Public License v2.0
Hello,
I'm using sources from GIT: git clone https://github.com/sackmotion/motion.git
When I try to compile on openSUSE 12.3 I get error:
gcc -g -O2 -D_REENTRANT -DHAVE_FFMPEG -I/usr/local/include/ffmpeg -DMOTION_V4L2 -DMOTION_V4L2_OLD -DTYPE_32BIT="int" -DHAVE_BSWAP -march=i686 -Wall -DVERSION="Git-8619d7c17ce112e7196975905c6e840f345141ba" -Dsysconfdir="/usr/local/etc" -c -o track.o track.c
track.c: In function ‘servo_center’:
track.c:566:18: warning: variable ‘ret’ set but not used [-Wunused-but-set-variable]
track.c: In function ‘uvc_center’:
track.c:936:29: error: storage size of ‘control_s’ isn’t known
track.c:938:24: error: ‘V4L2_CID_PRIVATE_BASE’ undeclared (first use in this function)
track.c:938:24: note: each undeclared identifier is reported only once for each function it appears in
track.c:941:24: error: ‘VIDIOC_S_CTRL’ undeclared (first use in this function)
track.c:951:31: error: storage size of ‘queryctrl’ isn’t known
track.c:954:24: error: ‘VIDIOC_QUERYCTRL’ undeclared (first use in this function)
track.c:951:31: warning: unused variable ‘queryctrl’ [-Wunused-variable]
track.c:936:29: warning: unused variable ‘control_s’ [-Wunused-variable]
track.c:984:25: error: storage size of ‘control_s’ isn’t known
track.c:984:25: warning: unused variable ‘control_s’ [-Wunused-variable]
track.c: In function ‘uvc_move’:
track.c:1080:29: error: storage size of ‘control_s’ isn’t known
track.c:1082:24: error: ‘V4L2_CID_PRIVATE_BASE’ undeclared (first use in this function)
track.c:1085:24: error: ‘VIDIOC_S_CTRL’ undeclared (first use in this function)
track.c:1080:29: warning: unused variable ‘control_s’ [-Wunused-variable]
track.c:1136:25: error: storage size of ‘control_s’ isn’t known
track.c:1136:25: warning: unused variable ‘control_s’ [-Wunused-variable]
make: *** [track.o] Error 1
On the net I found a workaround - to modify track.h and add there a line:
This allows motion to compile, but on the link stage I get another error:
Motion object files compiled.
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 -lm -lpthread -ljpeg -L/usr/local/lib -lavformat -lavcodec -lavutil -lm -lz
ffmpeg.o: In function get_oformat': /home/test/motion/ffmpeg.c:391: undefined reference to
av_guess_format'
/home/test/motion/ffmpeg.c:349: undefined reference to av_guess_format' /home/test/motion/ffmpeg.c:366: undefined reference to
av_guess_format'
/home/test/motion/ffmpeg.c:399: undefined reference to av_guess_format' /home/test/motion/ffmpeg.c:373: undefined reference to
av_guess_format'
ffmpeg.o:/home/test/motion/ffmpeg.c:384: more undefined references to `av_guess_format' follow
collect2: error: ld returned 1 exit status
make: *** [motion] Error 1
My system: Linux hostname 3.7.10-1.1-desktop #1 SMP PREEMPT Thu Feb 28 15:06:29 UTC 2013 (82d3f21) i686 athlon i386 GNU/Linux
openSUSE 12.3 32bit
"certified" ffmpeg compiled from source: http://sourceforge.net/projects/motion/files/Related%20Projects/ffmpeg-for-motion-3.2.5/ffmpeg-cvs-20060306-certified-with-motion-3.2.5.tar.gz/download
What else I'm missing? How to solve this issue?
Thanks
Need the support of full HD resolutions.
When using HD IP camera (1920x1080) is an error
[1] netcam image height (in 1080) is not modulo 16.
Also, when you use this resolution in the settings, when you try to access a Web protocol - app crashes
rtsp://username:[email protected]:88/videoMain per example will not work as the parsing will remove username:password from url.
Using motion for RTSP streams results in the error similar to:
[1] [CRT] [NET] netcam_start: Invalid netcam_url (rtsp://192.168.1.64/live.sdp)
When inspecting the code, I see that the error is actually shown when the regular expression which extracts the different parts of an URI doesn't work.
The regular expression is defined like this:
#ifdef have_av_get_media_type_string
const char *re = "(http|ftp|mjpg|rtsp)://(((.*):(.*))@)?"
"([^/:]|[-.a-z0-9]+)(:([0-9]+))?($|(/[^:]*))";
#else
const char *re = "(http|ftp|mjpg)://(((.*):(.*))@)?"
"([^/:]|[-.a-z0-9]+)(:([0-9]+))?($|(/[^:]*))";
#endif
which means that if I see the error, the motion package has no support for RTSP. But how would a user know that? The documentation inside the /etc/motion/motion.conf
file appears, in this case, misleading:
# URL to use if you are using a network camera, size will be autodetected (incl
http:// ftp:// mjpg:// rstp:// or file:///)
# Must be a URL that returns single jpeg pictures or a raw mjpeg stream. Default
: Not defined
netcam_url rtsp://192.168.1.64:554/live.sdp
In order to help users figure out the origin of the issue, consider showing a more helpful error message. For instance, if RTSP support is not enabled, an additional check could verify that the URI starts by rstp://
, and if it does, the error could be:
[1] [CRT] [NET] netcam_start: Invalid netcam_url (rtsp://192.168.1.64/live.sdp). RTSP is not supported by the current build; consider compiling the application with
have_av_get_media_type_string
option.
I installed motion on banana pi and it works great. I use an IP camera via rtsp port and everything works good. I have installed mysql and created the table security with all the required field but when I enable the database options from motion.conf, I get the following errors:
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "sql_log_picture"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "sql_log_movie"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "database_type"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "database_dbname"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "database_user"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "database_password"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "database_port"
[0] [ALR] [ALL] conf_cmdparse: Unknown config option "database_busy_timeout"
I have tried to write the values with " and with ; at the end, but it still won't work.
Below is a snapshot of the options I use in motion.conf
#####################################################################
# 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 on
...
sql_query insert into security(camera, filename, frame, file_type) values('%t', '%f', '%q', '%n')
############################################################
# Database Options
############################################################
# database type : mysql, postgresql, sqlite3 (default : not defined)
database_type mysql
# database to log to (default: not defined)
# for sqlite3, the full path and name for the database.
database_dbname secure_login
# The host on which the database is located (default: localhost)
;database_host
# User account name for database (default: not defined)
database_user root
Why keep 2 codebases when they don't match each other? Confusion is the only result.
I recently bought a sricam ip camera which uses the and wanted a way to save the files to my nas so I came a cross this software and when i trie to use it on my raspberry pi (I used this guide) with sudo motion
I get
[0] [NTC] [ALL] conf_load: Processing thread 0 - config file /etc/motion/motion.conf [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 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 from /etc/motion/motion.conf [0] [NTC] [ALL] main: Thread 1 is device: rtsp://192.168.1.21:554/onvif1 input -1 [0] [NTC] [ALL] main: Stream port 8081 [0] [NTC] [ALL] main: Waiting for threads to finish, pid: 1658 [1] [NTC] [ALL] motion_init: Thread 1 started , motion detection Enabled [1] [ALR] [NET] netcam_start: Network Camera thread starting... for url (rtsp://192.168.1.21:554/onvif1) [1] [CRT] [NET] netcam_start: Invalid netcam_url (rtsp://192.168.1.21:554/onvif1) [1] [WRN] [ALL] motion_init: Could not fetch initial image from camera Motion continues using width and height from config file(s) [1] [NTC] [ALL] image_ring_resize: Resizing pre_capture buffer to 1 items [0] [NTC] [STR] httpd_run: motion-httpd testing : IPV4 addr: 127.0.0.1 port: 8080 [0] [NTC] [STR] httpd_run: motion-httpd Bound : IPV4 addr: 127.0.0.1 port: 8080 [0] [NTC] [STR] httpd_run: motion-httpd/3.2.12+git20140228 running, accepting connections [0] [NTC] [STR] httpd_run: motion-httpd: waiting for data on 127.0.0.1 port TCP 8080 [1] [NTC] [STR] http_bindsock: motion-stream testing : IPV4 addr: 127.0.0.1 port: 8081 [1] [NTC] [STR] http_bindsock: motion-stream Bound : IPV4 addr: 127.0.0.1 port: 8081 [1] [NTC] [ALL] motion_init: Started motion-stream server in port 8081 auth Disabled [1] [WRN] [ALL] motion_loop: Retrying until successful connection with camera [1] [ALR] [NET] netcam_start: Network Camera thread starting... for url (rtsp://192.168.1.21:554/onvif1) [1] [CRT] [NET] netcam_start: Invalid netcam_url (rtsp://192.168.1.21:554/onvif1)
Is this camera not supported or am i doing something wrong?
ffmpeg.c:26:10: warning: #warning ************************************************** [-Wcpp]
ffmpeg.c:27:10: warning: #warning Your version of FFmpeg is newer than version 0.4.8 [-Wcpp]
ffmpeg.c:28:10: warning: #warning Newer versions of ffmpeg do not support MPEG1 with [-Wcpp]
ffmpeg.c:29:10: warning: #warning non-standard framerate. MPEG1 will be disabled for [-Wcpp]
ffmpeg.c:30:10: warning: #warning normal video output. You can still use mpeg4 and [-Wcpp]
ffmpeg.c:31:10: warning: #warning and mpeg4ms which are both better in terms of size [-Wcpp]
ffmpeg.c:32:10: warning: #warning and quality. MPEG1 is always used for timelapse. [-Wcpp]
ffmpeg.c:33:10: warning: #warning Please read the Motion Guide for more information. [-Wcpp]
ffmpeg.c:34:10: warning: #warning Note that this is not an error message! [-Wcpp]
ffmpeg.c:35:10: warning: #warning ************************************************** [-Wcpp]
ffmpeg.c:76:29: error: unknown type name 'URLContext'
ffmpeg.c:112:1: error: unknown type name 'URLProtocol'
ffmpeg.c:113:5: error: field name not in record or union initializer
ffmpeg.c:113:5: error: (near initialization for 'mpeg1_file_protocol')
ffmpeg.c:113:5: warning: initialization makes integer from pointer without a cast [enabled by default]
ffmpeg.c:113:5: warning: (near initialization for 'mpeg1_file_protocol') [enabled by default]
ffmpeg.c:114:5: error: field name not in record or union initializer
ffmpeg.c:114:5: error: (near initialization for 'mpeg1_file_protocol')
ffmpeg.c:114:17: error: 'file_open_append' undeclared here (not in a function)
ffmpeg.c:115:1: warning: excess elements in scalar initializer [enabled by default]
ffmpeg.c:115:1: warning: (near initialization for 'mpeg1_file_protocol') [enabled by default]
ffmpeg.c:131:22: error: unknown type name 'URLContext'
ffmpeg.c:155:22: error: unknown type name 'URLContext'
ffmpeg.c:161:23: error: unknown type name 'URLContext'
ffmpeg.c:167:26: error: unknown type name 'URLContext'
ffmpeg.c:173:23: error: unknown type name 'URLContext'
ffmpeg.c:179:1: error: unknown type name 'URLProtocol'
ffmpeg.c:180:5: warning: initialization makes integer from pointer without a cast [enabled by default]
ffmpeg.c:180:5: warning: (near initialization for 'file_protocol') [enabled by default]
ffmpeg.c:181:5: error: 'file_open' undeclared here (not in a function)
ffmpeg.c:181:5: warning: excess elements in scalar initializer [enabled by default]
ffmpeg.c:181:5: warning: (near initialization for 'file_protocol') [enabled by default]
ffmpeg.c:182:5: error: 'file_read' undeclared here (not in a function)
ffmpeg.c:182:5: warning: excess elements in scalar initializer [enabled by default]
ffmpeg.c:182:5: warning: (near initialization for 'file_protocol') [enabled by default]
ffmpeg.c:183:5: error: 'file_write' undeclared here (not in a function)
ffmpeg.c:183:5: warning: excess elements in scalar initializer [enabled by default]
ffmpeg.c:183:5: warning: (near initialization for 'file_protocol') [enabled by default]
ffmpeg.c:184:5: error: 'file_seek' undeclared here (not in a function)
ffmpeg.c:184:5: warning: excess elements in scalar initializer [enabled by default]
ffmpeg.c:184:5: warning: (near initialization for 'file_protocol') [enabled by default]
ffmpeg.c:185:5: error: 'file_close' undeclared here (not in a function)
ffmpeg.c:185:5: warning: excess elements in scalar initializer [enabled by default]
ffmpeg.c:185:5: warning: (near initialization for 'file_protocol') [enabled by default]
ffmpeg.c:187:5: warning: excess elements in scalar initializer [enabled by default]
ffmpeg.c:187:5: warning: (near initialization for 'file_protocol') [enabled by default]
ffmpeg.c:188:5: warning: excess elements in scalar initializer [enabled by default]
ffmpeg.c:188:5: warning: (near initialization for 'file_protocol') [enabled by default]
ffmpeg.c:189:5: warning: excess elements in scalar initializer [enabled by default]
ffmpeg.c:189:5: warning: (near initialization for 'file_protocol') [enabled by default]
ffmpeg.c: In function 'mpeg1_write_trailer':
ffmpeg.c:202:5: warning: implicit declaration of function 'put_buffer' [-Wimplicit-function-declaration]
ffmpeg.c:203:5: warning: implicit declaration of function 'put_flush_packet' [-Wimplicit-function-declaration]
ffmpeg.c: In function 'ffmpeg_init':
ffmpeg.c:225:24: error: request for member 'url_read' in something not a structure or union
ffmpeg.c:225:50: error: request for member 'url_read' in something not a structure or union
ffmpeg.c:226:24: error: request for member 'url_write' in something not a structure or union
ffmpeg.c:226:50: error: request for member 'url_write' in something not a structure or union
ffmpeg.c:227:24: error: request for member 'url_seek' in something not a structure or union
ffmpeg.c:227:50: error: request for member 'url_seek' in something not a structure or union
ffmpeg.c:228:24: error: request for member 'url_close' in something not a structure or union
ffmpeg.c:228:50: error: request for member 'url_close' in something not a structure or union
ffmpeg.c:236:5: warning: #warning av_register_protocolXXX missing [-Wcpp]
ffmpeg.c: In function 'ffmpeg_open':
ffmpeg.c:367:9: warning: 'av_new_stream' is deprecated (declared at /usr/include/libavformat/avformat.h:1557) [-Wdeprecated-declarations]
ffmpeg.c:422:5: warning: implicit declaration of function 'av_set_parameters' [-Wimplicit-function-declaration]
ffmpeg.c:448:5: warning: 'avcodec_open' is deprecated (declared at /usr/include/libavcodec/avcodec.h:3380) [-Wdeprecated-declarations]
ffmpeg.c:503:9: warning: implicit declaration of function 'url_fopen' [-Wimplicit-function-declaration]
ffmpeg.c:503:52: error: 'URL_WRONLY' undeclared (first use in this function)
ffmpeg.c:503:52: note: each undeclared identifier is reported only once for each function it appears in
ffmpeg.c:534:5: warning: implicit declaration of function 'av_write_header' [-Wimplicit-function-declaration]
ffmpeg.c: In function 'ffmpeg_close':
ffmpeg.c:601:9: warning: implicit declaration of function 'url_fclose' [-Wimplicit-function-declaration]
ffmpeg.c: In function 'ffmpeg_put_frame':
ffmpeg.c:661:9: warning: 'avcodec_encode_video' is deprecated (declared at /usr/include/libavcodec/avcodec.h:4077) [-Wdeprecated-declarations]
make: *** [ffmpeg.o] Error 1
event_sqlnewfile: Mysql query failed You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sql_query insert into security(camera, filename, frame, file_type, time_stamp, e' at line 1 error code 1064: Success
If I am reading this correctly it's actually passing the text 'sql_query insert into blah blah' as the sql query.
No matter what fps I specify as input - resulting AVI are always 3 fps. Tested with built-in ffmpeg encoder and ext_pipe on two different machines (x86 and ARM)
I'd like to suggest integrating the Cygwin patch into the mainline code using test macros like these:
#ifdef __CYGWIN__
// cygwin code
#else
// linux code
#endif
using indentations the code readability won't degrade much...
Since ffmpeg is going to be deprecated in favor of avconv in Ubuntu, is there any work to change this in the future. I am guessing since both use the same parameters and features in most cases, the change would be a simple dependency modification and command line renaming.
I am using motion to generate jpeg snapshots at regular intervals, each frame takes up to 1MB of space using my compression settings and camera resolution (3200x2400 px). This eats a lot of space on my NFS server (8 cameras are capturing the images).
I am proposing to implement webp image compression support in motion. Webp is a new format proposed by Google which uses key-frame image compression from their VP8 video codec. Webp is free and efficient codec that is seeing initial support in Firefox and Chrome.
Webp brings many improvements over venerable jpeg (better compression/quality, transparency and animation support, lossless compression modes and so on). I am seeing compression improvements over 80% on my sample content (images from Raspberry pi camera), which translates into significant disk utilization savings.
I have developed patches implementing webp in my motion fork, the code is non-intrusive and integrates well. Currently only basic webp compression is implemented (no EXIF data, no grey-scale mode and no advanced compression tuning is possible). It is a compiled in by default, but can be disabled and jpeg still is the config file default.
My fork compiles on Linux on x86-64 and armhf (Raspbian). Please let me know if you would be interested in pulling in the changes.
libav10 has dropped support for the CODEC_ID_* macros, renaming them to AV_CODEC_ID_*.
We can restore support just by replacing the relevant expressions in ffmpeg.c, but you might want to use a conditional macro instead. Here is the relevant entry from doc/APIchanges:
2012-08-07 - 104e10f - lavc 54.25 - avcodec.h
Rename CodecID to AVCodecID and all CODEC_ID_* to AV_CODEC_ID_*.
Motions records perfectly for a good hour, producing great videos, performance is miles better than using HTTP for me with my cheap chinese IP cam, then, all of a sudden, errors start pouring in and my system becomes slower and slower until it eventually dies a horrible SSH unreachable death.
Network camera is perfectly reachable whilst these errors are occuring, I can start multiple streams fine, even from the same box motion is running on (raspberrypi running Arch Linux). It takes around 2 hours for the system to become completely unresponsive and motion stops recording entirely.
I've gone back to http method in the meantime but I'm eagerly awaiting working RTSP support as I get a massive performance increase.
The logs looks like so..
Jun 09 20:30:51 alarmpi motion[325]: [1] [ERR] [NET] netcam_handler_loop: Error getting jpeg image
Jun 09 20:30:51 alarmpi motion[325]: [1] [ERR] [NET] netcam_read_rtsp_image: invalid frame!: Broken pipe
Jun 09 20:30:51 alarmpi motion[325]: [1] [ERR] [NET] netcam_handler_loop: Error getting jpeg image
Jun 09 20:30:51 alarmpi motion[325]: [1] [ERR] [NET] netcam_read_rtsp_image: invalid frame!: Broken pipe
Jun 09 20:30:51 alarmpi motion[325]: [1] [ERR] [NET] netcam_handler_loop: Error getting jpeg image
Jun 09 20:30:51 alarmpi motion[325]: [1] [ERR] [NET] netcam_read_rtsp_image: invalid frame!: Broken pipe
Jun 09 20:30:51 alarmpi motion[325]: [1] [ERR] [NET] netcam_handler_loop: Error getting jpeg image
Jun 09 20:30:51 alarmpi motion[325]: [1] [ERR] [NET] netcam_read_rtsp_image: invalid frame!: Broken pipe
Jun 09 20:30:52 alarmpi motion[325]: [1] [ERR] [NET] netcam_handler_loop: Error getting jpeg image
Jun 09 20:30:53 alarmpi motion[325]: [1] [ERR] [NET] netcam_read_rtsp_image: invalid frame!: Broken pipe
Jun 09 20:30:53 alarmpi motion[325]: [1] [ERR] [NET] netcam_handler_loop: Error getting jpeg image
Jun 09 20:30:54 alarmpi motion[325]: [1] [ERR] [NET] netcam_read_rtsp_image: invalid frame!: Broken pipe
Jun 09 20:30:55 alarmpi motion[325]: [1] [ERR] [NET] netcam_handler_loop: Error getting jpeg image
Jun 09 20:30:55 alarmpi motion[325]: [1] [ERR] [NET] netcam_read_rtsp_image: invalid frame!: Broken pipe
Jun 09 20:30:55 alarmpi motion[325]: [1] [ERR] [NET] netcam_handler_loop: Error getting jpeg image
Jun 09 20:30:56 alarmpi motion[325]: [1] [ERR] [NET] netcam_read_rtsp_image: invalid frame!: Broken pipe
Jun 09 20:30:56 alarmpi motion[325]: [1] [ERR] [NET] netcam_handler_loop: Error getting jpeg image
Jun 09 20:30:57 alarmpi motion[325]: [1] [ERR] [NET] netcam_read_rtsp_image: invalid frame!: Broken pipe
Jun 09 20:30:57 alarmpi motion[325]: [1] [ERR] [NET] netcam_handler_loop: Error getting jpeg image
Jun 09 20:30:58 alarmpi motion[325]: [1] [ERR] [NET] netcam_read_rtsp_image: invalid frame!: Broken pipe
To reproduce, enable extpipe as follow:
extpipe cat > video.raw
And also enable ffmpeg movies:
ffmpeg_output_movies on
Start motion, generate some movenets to trigger motion and see there are 2 files created: an avi file and video.raw. Both will contain same video.
So if you just enable default extpipe which has %f.avi for file name - the same video will be written to the same file twice.
Since extpipe is used as a replacement for internal ffmpeg encoding - it should have higher priority and disable internal encoding if use_extpipe is on
The file alg.c contain the algorithm used for motionDetection in a video stream. However this page http://www.lavrsen.dk/foswiki/bin/view/Motion/MotionTechnology haven't explain a lot about it and the source code is very long (>1000 lines)
So i'm looking for further explanation or further reading from other sources to learn it and understand it
Many thanks
most Windows users would like to execute commands via cmd.exe
instead of /bin/sh
,
so if Cygwin is detected i suggest to change line 47 in event.c
:
execlp("cmd.exe", "cmd.exe", "/c", stamp, NULL);
A test build is here:
http://eadmaster.altervista.org/pub/index.php?page=builds
See for example c486dade
One fix is to copy the definitions of URLContext and URLProtocol straight into ffmpeg.c.
I'm using motion Version 3.2.12+git20140228
I guess RSTP is "not supported" but I don't see a way to confirm that.
Here's what I see in the logs:
netcam_start: Invalid netcam_url (rtsp://172.16.10.98:554/?user=view&password=&channel=1&stream=1.sdp)
The link works as it should opened in VLC but motion says "Unable to open video device"
Is there anyone with good idea how to make it work?
Commit 8de2315 broke the build for all non-x86 architectures. The offending code is this:
#ifndef __SSE_MATH__
__asm__ __volatile__ ( "emms");
#endif
Changing it to
#ifdef __MMX__
__asm__ __volatile__ ( "emms");
#endif
(similar to how things are done in alg.c) restores the build for all platforms.
I have added this to pull request #16.
Version 3.3.0
Does not work Ipv6 stream :((. Please help.
ipv6_enabled on
netcam_url http://ipv6.mydomain.com:55935/?action=stream
ipv6.mydomain.com - AAAA-record only.
Hi,
I'm on Fedora 20 on a SolidRun Cubox-i4pro.
I need motion with rtsp support so I compiled some packages by myself.
First I compiled ffmpeg-2.5.
Then when I try to compile motion from master branch as of yesterday I get:
Linking Motion...
--------------------------------------------------------------------------------
gcc -L/usr/local/lib -o motion motion.o logger.o conf.o draw.o jpegutils.o vloop _wget.o track.o alg.o event.o picture.o rotate.o webhttpd.o stream.o md5.o ffmpe -lm -lz
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_subpacket':
/root/ffmpeg-2.5/libavcodec/opusdec.c:376: undefined reference to `swr_is_initia lized'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_frame':
/root/ffmpeg-2.5/libavcodec/opusdec.c:222: undefined reference to `swr_is_initia lized'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_init_resample':
/root/ffmpeg-2.5/libavcodec/opusdec.c:163: undefined reference to `swr_init'
/root/ffmpeg-2.5/libavcodec/opusdec.c:169: undefined reference to `swr_convert'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_frame':
/root/ffmpeg-2.5/libavcodec/opusdec.c:236: undefined reference to `swr_convert'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_flush_resample':
/root/ffmpeg-2.5/libavcodec/opusdec.c:117: undefined reference to `swr_convert'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_subpacket':
/root/ffmpeg-2.5/libavcodec/opusdec.c:408: undefined reference to `swr_close'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_flush':
/root/ffmpeg-2.5/libavcodec/opusdec.c:563: undefined reference to `swr_close'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_close':
/root/ffmpeg-2.5/libavcodec/opusdec.c:585: undefined reference to `swr_free'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_init':
/root/ffmpeg-2.5/libavcodec/opusdec.c:638: undefined reference to `swr_alloc'
collect2: error: ld returned 1 exit status
make: *** [motion] Error 1
Thanks in advance
Bye
Piero
In the case of SSE not available, which happens on ARM, ffmpeg.c emits x86 assembly, which fails on ARM...
I have tried to compile motion master-0-gad7e243 against several different versions of ffmpeg.
/home/me/bin/motion_src/netcam_rtsp.c:189: undefined reference to
av_err2str'`I am not sure if the ffmpeg information on the wiki is up-to-date.
Can you provide the correct version of ffmpeg, via a git submodule, which is known to work?
I've been struggling to get the current master branch of motion working on Arch due to memory consumption eventually killing the device; requiring a hard reset to get things back to normal again. With around 480mb of ram, this takes roughly a day.
Here's my current config: https://gist.github.com/drewzh/bc732995782baf6e92d5
It's a fairly standard config, with RTSP setup at 3FPS at 640x320 with an on_movie_end executing a...
[send mail with /tmp (tmpfs) attachement of captured movie] --> [move to NAS device]
...both of which always complete successfully and apart from the growing memory consumption, everything seems fine, /tmp is at 0% usage.
I've always used this on_movie_end script with motion using HTTP polling, and there's never been such an issue before until I started using master for RTSP support.
Please correct me if I'm wrong, but motion isn't meant to be using this much memory right?
Best regards,
Drew
modulo 16 is still used in netcam.c.
In my logs I see a lot of messages like this (approx 2 messages per second):
netcam_init_jpeg: no new pic, no signal rcvd
netcam_read_html_jpeg: Potential split boundary - 1447 chars flushed, 1 re-positioned
I have the option netcam_tolerant_check on
in my config – assuming that should have suppressed these messages.
Additional info: camera Foscam FI8918W configured via netcam_url
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.