BUG: movie_filename broken when using 3.2.6-1 RPM for FC4
When creating a movie, "target_dir" and "movie_filename" are ignored, resulting in a mpeg file named: "/.avi"- when running as root.
Jpeg images follow the "target_dir" OK.
Test case
create a target directory: mkdir /var/tmp/motion
In motion.conf or threadX.conf use: target_dir /var/tmp/motion
Just leave move_filename as is: movie_filename %v-%Y%m%d%H%M%S
Start motion: service motion start
The jpeg image goes to /var/tmp/motion, but the mpeg file is named /.avi
Environment
Motion version: |
3.2.6 |
ffmpeg version: |
0.4.9-0.lvn.0.20.20051228.4 |
Shared libraries: |
ffmpeg, mysql, postgresql |
Server OS: |
2.6.16-1.2069_FC4 |
--
EjnarSvejstrup - 09 Apr 2006
Follow up
This problem has been seen many times before and the reason has always been related to ffmpeg having changed their API.
So the ffmpeg you use must match the version I used when I built the Motion rpm.
Your report indicates the right version but is this really the one that Motion uses? Maybe you have in fact a version of ffmpeg installed from sources.
Try and run
ldd /usr/bin/motion
This is whay I get
# ldd motion
linux-gate.so.1 => (0xffffe000)
libm.so.6 => /lib/libm.so.6 (0x0092a000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00a42000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x00d14000)
libavformat.so.50 => /usr/lib/libavformat.so.50 (0x49a21000)
libavcodec.so.51 => /usr/lib/libavcodec.so.51 (0x49a9a000)
libz.so.1 => /usr/lib/libz.so.1 (0x00957000)
libmysqlclient.so.14 => /usr/lib/mysql/libmysqlclient.so.14 (0x41020000)
libpq.so.4 => /usr/lib/libpq.so.4 (0x46f94000)
libc.so.6 => /lib/libc.so.6 (0x007ff000)
/lib/ld-linux.so.2 (0x007e1000)
libavutil.so.49 => /usr/lib/libavutil.so.49 (0x49d96000)
libmp3lame.so.0 => /usr/lib/libmp3lame.so.0 (0x46fc5000)
libogg.so.0 => /usr/lib/libogg.so.0 (0x00d3b000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x003a9000)
libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0x02c28000)
libtheora.so.0 => /usr/lib/libtheora.so.0 (0x00a67000)
libfaad.so.0 => /usr/lib/libfaad.so.0 (0xb7f3f000)
libfaac.so.0 => /usr/lib/libfaac.so.0 (0x43663000)
libgsm.so.1 => /usr/lib/libgsm.so.1 (0x00a87000)
libxvidcore.so.4 => /usr/lib/libxvidcore.so.4 (0x49907000)
libdl.so.2 => /lib/libdl.so.2 (0x00951000)
liba52.so.0 => /usr/lib/liba52.so.0 (0x00aaa000)
libpostproc.so.51.0.0 => /usr/lib/libpostproc.so.51.0.0 (0x49d8a000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x07ca3000)
libnsl.so.1 => /lib/libnsl.so.1 (0x00767000)
libssl.so.5 => /lib/libssl.so.5 (0x4b4ba000)
libcrypto.so.5 => /lib/libcrypto.so.5 (0x4b3ab000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00101000)
libresolv.so.2 => /lib/libresolv.so.2 (0x00b19000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x43582000)
libmp4v2.so.0 => /usr/lib/libmp4v2.so.0 (0x43676000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x00284000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x00d91000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x00d96000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x43576000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x00dbc000)
Look for the path to ffmpeg related libs that are not in /usr/lib
Also check an extra time that the ffmpeg libs are correct.
rpm -qi ffmpeg
# rpm -qi ffmpeg
Name : ffmpeg Relocations: (not relocatable)
Version : 0.4.9 Vendor: Livna.org RPMS
Release : 0.lvn.0.20.20051228.4 Build Date: Wed 04 Jan 2006 12:03:52 PM CET
Install Date: Mon 06 Mar 2006 01:37:59 AM CET Build Host: gruyere.lan.livna.org
Group : Applications/Multimedia Source RPM: ffmpeg-0.4.9-0.lvn.0.20.20051228.4.src.rpm
Size : 3591950 License: GPL
Signature : DSA/SHA1, Wed 04 Jan 2006 01:37:00 PM CET, Key ID 71295441a109b1ec
URL : http://ffmpeg.sourceforge.net/
Summary : Digital VCR and streaming server
Description :
FFMpeg is a complete and free Internet live audio and video
broadcasting solution for Linux/Unix. It also includes a digital
VCR. It can encode in real time in many formats including MPEG1 audio
and video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash.
--
KennethLavrsen - 09 Apr 2006
Hi Kenneth
Thanks for the swift reply!
I have just installed the ffmpeg rpm's, no hand-built stuff. I first installed release 0.lvn.0.21.20051228.4. I then erased and reinstalled motion and the correct ffmpeg
[root@ds motion]# ldd /usr/bin/motion
linux-gate.so.1 => (0x00556000)
libm.so.6 => /lib/libm.so.6 (0x006a0000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00898000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x00428000)
libavformat.so.50 => /usr/lib/libavformat.so.50 (0x00dc7000)
libavcodec.so.51 => /usr/lib/libavcodec.so.51 (0x00111000)
libz.so.1 => /usr/lib/libz.so.1 (0x006cd000)
libmysqlclient.so.14 => /usr/lib/mysql/libmysqlclient.so.14 (0x009ac000)
libpq.so.4 => /usr/lib/libpq.so.4 (0x006e2000)
libc.so.6 => /lib/libc.so.6 (0x00575000)
/lib/ld-linux.so.2 (0x00557000)
libavutil.so.49 => /usr/lib/libavutil.so.49 (0x00e7c000)
libmp3lame.so.0 => /usr/lib/libmp3lame.so.0 (0x00b72000)
libogg.so.0 => /usr/lib/libogg.so.0 (0x007b8000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x007bf000)
libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0x008ac000)
libtheora.so.0 => /usr/lib/libtheora.so.0 (0x00da4000)
libfaad.so.0 => /usr/lib/libfaad.so.0 (0x007e9000)
libfaac.so.0 => /usr/lib/libfaac.so.0 (0x00854000)
libgsm.so.1 => /usr/lib/libgsm.so.1 (0x00876000)
libxvidcore.so.4 => /usr/lib/libxvidcore.so.4 (0x00c8a000)
libdl.so.2 => /lib/libdl.so.2 (0x006c7000)
liba52.so.0 => /usr/lib/liba52.so.0 (0x00867000)
libpostproc.so.51.0.0 => /usr/lib/libpostproc.so.51.0.0 (0x00f42000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x062cc000)
libnsl.so.1 => /lib/libnsl.so.1 (0x00511000)
libssl.so.5 => /lib/libssl.so.5 (0x003eb000)
libcrypto.so.5 => /lib/libcrypto.so.5 (0x00f4c000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00447000)
libresolv.so.2 => /lib/libresolv.so.2 (0x004b9000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x04b52000)
libmp4v2.so.0 => /usr/lib/libmp4v2.so.0 (0x00ad0000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x004cc000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x00423000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x004e4000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00526000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x00508000)
[root@ds motion]# rpm -qi ffmpeg
Name : ffmpeg Relocations: (not relocatable)
Version : 0.4.9 Vendor: Livna.org RPMS
Release : 0.lvn.0.20.20051228.4 Build Date: ons 04 jan 2006 12:03:52 CETInstall Date: søn 09 apr 2006 09:23:40 CEST Build Host: gruyere.lan.livna.org
Group : Applications/Multimedia Source RPM: ffmpeg-0.4.9-0.lvn.0.20.20051228.4.src.rpm
Size : 3591950 License: GPL
Signature : DSA/SHA1, ons 04 jan 2006 13:37:00 CET, Key ID 71295441a109b1ec
URL : http://ffmpeg.sourceforge.net/
Summary : Digital VCR and streaming server
Description :
FFMpeg is a complete and free Internet live audio and video
broadcasting solution for Linux/Unix. It also includes a digital
VCR. It can encode in real time in many formats including MPEG1 audio
and video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash.
using yum.
My ldd and rpm listings seems ok
Follow up
I can confirm the bug, and it has nothing to do with the FFMPEG library used. I have the same RPM, the same libs, and yes, if you make the RPM (rpmbuild -ba motion.spec) using the
spec file autogenerated by configure it will yield the same bug. BUT, if you compile by hand (./configure --prefix=/usr --sysconfdir=/etc/motion, make, make install) it works like a charm.
It has to have something with the options and CC flags the RPM command is using.
--
SanduMihaiEduard - 13 Apr 2006
Try the new version 3.2.7 and reopen the bug if still remains.
--
AngelCarpintero - 20 Oct 2006
Fix record