Video Generation Failed! ffmpeg problem

Support and queries relating to all previous versions of ZoneMinder
Locked
candlerb
Posts: 29
Joined: Tue Jan 10, 2006 4:02 pm

Video Generation Failed! ffmpeg problem

Post by candlerb »

I'm trying to upgrade my zm-1.21.4 installation to be able to export events as MPEG (currently I just get a zip bundle of jpeg files)

I installed ffmpeg-devel and all its dependencies from RPM packages. It was a bit of a pain, but most of them were available from http://dag.wieers.com/packages/. libtheora-devel came from CentOS itself.

After rerunning ./configure I reran zmconfig.pl. I got a bit stuck where it was asking for additional input options - it wouldn't let me leave this blank. So I gave an arbitary one:

Code: Select all

Additional input options to ffmpeg (string) [] :
Invalid input, please re-enter or type '?' for help.
Additional input options to ffmpeg (string) [] : -author brian
I also set the output option to -r 5 since my images are sampled at 5 fps during an alarm, and 1 fps outside that. Then 'make', 'make install'. (Oh, I did remember to change the path from /usr/local/bin/ffmpeg to /usr/bin/ffmpeg)

Now the 'export' link is unchanged but I have a new 'video' link. Unfortunately it fails:

Code: Select all

Video Generation Parameters	Close
	
Video Format	[ mpg ]
Frame Rate	[ real ]
Video Size	[ actual ]
Overwrite Existing	[ ]

Video Generation Failed!         << this displayed in red
Hmm. I get a zero-byte logfile in the events directory:

Code: Select all

$ ls -l /var/www/html/zm/events/1/911/ | grep -v \\.jpg
total 25456
-rw-r--r--  1 apache apache     0 Jan 17 15:11 Event-911-r1-s1.mpg
-rw-r--r--  1 apache apache     0 Jan 17 15:11 ffmpeg.log
There's nothing in the /var/log/zm/ logfiles and nothing interesting I can see in syslog.
Apache error logs just have a load of

Code: Select all

jpegtopnm: WRITING PPM FILE
jpegtopnm: WRITING PPM FILE
jpegtopnm: WRITING PPM FILE
jpegtopnm: WRITING PPM FILE
jpegtopnm: WRITING PPM FILE
jpegtopnm: WRITING PPM FILE
but the timestamp on this file suggests this is not from this activity.

Is there anything else I should be checking to try to find out why it's not working? Clearly I'd like to see the command line passed to ffmpeg, and its error output.

Also, it's not clear to me that the ffmpeg package I've installed was compiled with sufficient features, although it seems to be pretty comprehensive. Does it need to be compiled with plain jpeg image support? Here's the output of ffmpeg -formats.

Code: Select all

[candlerb@webcam ~]$ rpm -qa | grep ffmpeg
ffmpeg-0.4.9-0.3.20051207.2.el4.rf
ffmpeg-libpostproc-0.4.9-0.3.20051207.2.el4.rf
ffmpeg-devel-0.4.9-0.3.20051207.2.el4.rf
[candlerb@webcam ~]$ ffmpeg -formats
ffmpeg version CVS, build 3277056, Copyright (c) 2000-2004 Fabrice Bellard
  configuration:  --prefix=/usr --libdir=/usr/lib --mandir=/usr/share/man --enable-mp3lame --enable-libogg --enable-vorbis --enable-theora --enable-faad --enable-faac --enable-libgsm --enable-xvid --enable-x264 --enable-a52 --enable-a52bin --enable-dts --enable-pp --enable-shared-pp --enable-shared --enable-pthreads --enable-gpl --disable-opts --disable-strip
  built on Jan  6 2006 21:05:55, gcc: 3.4.4 20050721 (Red Hat 3.4.4-2)
File formats:
  E 3g2             3gp2 format
  E 3gp             3gp format
 D  4xm             4X Technologies format
 D  RoQ             Id RoQ format
 DE ac3             raw ac3
 DE alaw            pcm A law format
 DE asf             asf format
  E asf_stream      asf format
 DE au              SUN AU Format
 DE audio_device    audio grab and output
 DE avi             avi format
  E crc             crc testing format
 D  daud            D-Cinema audio format
 D  dts             raw dts
 DE dv              DV video format
 D  dv1394          dv1394 A/V grab
  E dvd             MPEG2 PS format (DVD VOB)
 D  ea              Electronic Arts Multimedia Format
 DE ffm             ffm format
 D  film_cpk        Sega FILM/CPK format
 D  flic            FLI/FLC/FLX animation format
 DE flv             flv format
  E framecrc        framecrc testing format
 DE gif             GIF Animation
 DE h261            raw h261
 DE h263            raw h263
 DE h264            raw H264 video format
 D  idcin           Id CIN format
 DE image           image sequence
 DE image2          image2 sequence
 DE image2pipe      piped image2 sequence
 DE imagepipe       piped image sequence
 D  ingenient       Ingenient MJPEG
 D  ipmovie         Interplay MVE format
 DE m4v             raw MPEG4 video format
 D  matroska        Matroska file format
 DE mjpeg           MJPEG video
 DE mmf             mmf format
  E mov             mov format
 D  mov,mp4,m4a,3gp,3g2 QuickTime/MPEG4 format
  E mp2             MPEG audio layer 2
 DE mp3             MPEG audio layer 3
  E mp4             mp4 format
 DE mpeg            MPEG1 System format
  E mpeg1video      MPEG video
  E mpeg2video      MPEG2 video
 DE mpegts          MPEG2 transport stream format
 D  mpegvideo       MPEG video
  E mpjpeg          Mime multipart JPEG format
 DE mulaw           pcm mu law format
 D  nsv             NullSoft Video format
  E null            null video format
 DE nut             nut format
 DE ogg             Ogg Vorbis
  E psp             psp mp4 format
 D  psxstr          Sony Playstation STR format
 DE rawvideo        raw video format
 D  redir           Redirector format
 DE rm              rm format
  E rtp             RTP output format
 D  rtsp            RTSP input format
 DE s16be           pcm signed 16 bit big endian format
 DE s16le           pcm signed 16 bit little endian format
 DE s8              pcm signed 8 bit format
 D  sdp             SDP
 D  shn             raw shorten
 D  sol             Sierra SOL Format
  E svcd            MPEG2 PS format (VOB)
 DE swf             Flash format
 DE u16be           pcm unsigned 16 bit big endian format
 DE u16le           pcm unsigned 16 bit little endian format
 DE u8              pcm unsigned 8 bit format
  E vcd             MPEG1 System format (VCD)
 D  video4linux     video grab
 D  vmd             Sierra VMD format
  E vob             MPEG2 PS format (VOB)
 DE wav             wav format
 D  wc3movie        Wing Commander III movie format
 D  wsaud           Westwood Studios audio format
 D  wsvqa           Westwood Studios VQA format
 DE yuv4mpegpipe    YUV4MPEG pipe format

Image formats (filename extensions, if any, follow):
 DE gif    gif

Codecs:
 D V    4xm
 D V D  8bps
 DEA    aac
 D V D  aasc
 DEA    ac3
 DEA    adpcm_4xm
 DEA    adpcm_adx
 DEA    adpcm_ct
 DEA    adpcm_ea
 DEA    adpcm_ima_dk3
 DEA    adpcm_ima_dk4
 DEA    adpcm_ima_qt
 DEA    adpcm_ima_smjpeg
 DEA    adpcm_ima_wav
 DEA    adpcm_ima_ws
 DEA    adpcm_ms
 DEA    adpcm_swf
 DEA    adpcm_xa
 DEA    adpcm_yamaha
 D A    alac
 DEV D  asv1
 DEV D  asv2
 D V    bmp
 D V D  camtasia
 D V D  cinepak
 D V D  cljr
 D V D  cyuv
 D A    dts
 DES    dvbsub
 DES    dvdsub
 DEV D  dvvideo
 DEV D  ffv1
 DEVSD  ffvhuff
 D A    flac
 D V D  flic
 DEVSD  flv
 D V D  fraps
 DEA    g726
 DEA    gsm
 DEV D  h261
 DEVSDT h263
 D VSD  h263i
  EV    h263p
 DEV DT h264
 DEVSD  huffyuv
 D V D  idcinvideo
 D V D  indeo2
 D V    indeo3
 D A    interplay_dpcm
 D V D  interplayvideo
  EV    ljpeg
 D V D  loco
 D A    mace3
 D A    mace6
 D V D  mdec
 DEV D  mjpeg
 D V D  mjpegb
 DEA    mp2
 DEA    mp3
 D A    mp3adu
 D A    mp3on4
 DEVSDT mpeg1video
 DEVSDT mpeg2video
 DEVSDT mpeg4
 D A    mpeg4aac
 D VSDT mpegvideo
 DEVSD  msmpeg4
 DEVSD  msmpeg4v1
 DEVSD  msmpeg4v2
 D V D  msrle
 D V D  msvideo1
 D V D  mszh
 DEV    pam
 DEV    pbm
 DEA    pcm_alaw
 DEA    pcm_mulaw
 DEA    pcm_s16be
 DEA    pcm_s16le
 DEA    pcm_s24be
 DEA    pcm_s24daud
 DEA    pcm_s24le
 DEA    pcm_s32be
 DEA    pcm_s32le
 DEA    pcm_s8
 DEA    pcm_u16be
 DEA    pcm_u16le
 DEA    pcm_u24be
 DEA    pcm_u24le
 DEA    pcm_u32be
 DEA    pcm_u32le
 DEA    pcm_u8
 DEV    pgm
 DEV    pgmyuv
 DEV    png
 DEV    ppm
 D A    qdm2
 D V D  qdraw
 D V D  qpeg
 D V D  qtrle
 DEV    rawvideo
 D A    real_144
 D A    real_288
 D A    roq_dpcm
 D V D  roqvideo
 D V D  rpza
 DEV D  rv10
 DEV D  rv20
 D A    shorten
 D V D  smc
 DEV    snow
 D A    sol_dpcm
 DEA    sonic
  EA    sonicls
 D V D  sp5x
 DEV D  svq1
 D VSD  svq3
 D V    theora
 D V D  truemotion1
 D V D  truemotion2
 D V D  ultimotion
 D V    vc9
 D V D  vcr1
 D A    vmdaudio
 D V D  vmdvideo
 DEA    vorbis
 D V    vp3
 D V D  vqavideo
 D A    wmav1
 D A    wmav2
 DEVSD  wmv1
 DEVSD  wmv2
 D V    wmv3
 D V D  wnv1
 D A    ws_snd1
 D A    xan_dpcm
 D V D  xan_wc3
 D V D  xl
  EV    xvid
 DEV D  zlib

Supported file protocols:
 file: pipe: udp: rtp: tcp: http:
Frame size, frame rate abbreviations:
 ntsc pal qntsc qpal sntsc spal film ntsc-film sqcif qcif cif 4cif
Motion estimation methods:
 zero(fastest) full(slowest) log phods epzs(default) x1

Note, the names of encoders and decoders dont always match, so there are
several cases where the above table shows encoder only or decoder only entries
even though both encoding and decoding are supported for example, the h263
decoder corresponds to the h263 and h263p encoders, for file formats its even
worse
Relevant config options:

Code: Select all

Name: ZM_OPT_MPEG
Value: ffmpeg
Description: Is there an (optional) mpeg video encoder installed

Name: ZM_PATH_MPEG_ENCODE
Value: /usr/local/bin/mpeg_encode
Description: Path to (optional) Berkeley mpeg encoder

Name: ZM_PATH_FFMPEG
Value: /usr/bin/ffmpeg
Description: Path to (optional) ffmpeg mpeg encoder

Name: ZM_FFMPEG_INPUT_OPTIONS
Value: -author brian
Description: Additional input options to ffmpeg

Name: ZM_FFMPEG_OUTPUT_OPTIONS
Value: -r 5
Description: Additional output options to ffmpeg

Name: ZM_FFMPEG_FORMATS
Value: mpg* mpeg wmv avi mov 3gp**
Description: Formats to allow for ffmpeg video generation
Thanks for any pointers. Alternatively, if someone can give me a working ffmpeg command line for converting /var/www/html/zm/events/1/NNN/MMM-capture.jpg to a stream, that would be great :-)

Cheers, Brian.
candlerb
Posts: 29
Joined: Tue Jan 10, 2006 4:02 pm

Post by candlerb »

Oops, my bad. For some reason I didn't notice zmvideo.log:

Code: Select all

Creating video file Event-911-r1-s1.mpg for event 911
/usr/bin/ffmpeg -y -r 1.36 -author brian -i %03d-capture.jpg -s  320x240 -r 5 Ev
ent-911-r1-s1.mpg > ffmpeg.log
ffmpeg version CVS, build 3277056, Copyright (c) 2000-2004 Fabrice Bellard
  configuration:  --prefix=/usr --libdir=/usr/lib --mandir=/usr/share/man --enab
le-mp3lame --enable-libogg --enable-vorbis --enable-theora --enable-faad --enabl
e-faac --enable-libgsm --enable-xvid --enable-x264 --enable-a52 --enable-a52bin
--enable-dts --enable-pp --enable-shared-pp --enable-shared --enable-pthreads --
enable-gpl --disable-opts --disable-strip
  built on Jan  6 2006 21:05:55, gcc: 3.4.4 20050721 (Red Hat 3.4.4-2)
Input #0, image2, from '%03d-capture.jpg':
  Duration: 00:10:00.0, start: 0.000000, bitrate: N/A
  Stream #0.0,  1.36 fps: Video: mjpeg, yuvj420p, 320x240
Output #0, mpeg, to 'Event-911-r1-s1.mpg':
  Stream #0.0,   nan fps: Video: mpeg1video, yuv420p, 320x240, q=2-31, 200 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
[mpeg1video @ 0x9095c8]MPEG1/2 does not support 5/1 fps
Error while opening codec for output stream #0.0 - maybe incorrect parameters su
ch as bit_rate, rate, width or height

Error: 1 at /usr/local/bin/zmvideo.pl line 372.
So it seems I messed up by changing -r 25 to -r 5, which was easy enough to fix:

Code: Select all

$ perl ./zmconfig.pl ZM_FFMPEG_OUTPUT_OPTIONS
Sorry for the noise. I do suggest, however, that it would be nice to be able to leave the ffmpeg input options blank in zmconfig.pl.

Cheers, Brian.
User avatar
cordel
Posts: 5210
Joined: Fri Mar 05, 2004 4:47 pm
Location: /USA/Washington/Seattle

Post by cordel »

The next release will have no zmconfig.pl and defualt values are loaded.

Cheers,
Corey
Locked