[FFmpeg-user] video to image seq. back to video - keep same length

Damon Edwards dzedward at gmail.com
Mon Apr 23 17:45:01 CEST 2012


I ran the PHP script from the command line and got the output - why does it
assume 25fps when I specify '-r RATE', is that not correct?  Here's the
output

[root at localhost html]# sudo php filmstrip.php
FFmpeg version 0.6.5, Copyright (c) 2000-2010 the FFmpeg developers
  built on Jan 29 2012 17:52:15 with gcc 4.4.5 20110214 (Red Hat 4.4.5-6)
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64
--mandir=/usr/share/man --incdir=/usr/include --disable-avisynth
--extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC'
--enable-avfilter --enable-avfilter-lavf --enable-libdc1394
--enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin
--enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-librtmp --enable-libschroedinger
--enable-libspeex --enable-libtheora --enable-libx264 --enable-gpl
--enable-nonfree --enable-postproc --enable-pthreads --enable-shared
--enable-swscale --enable-vdpau --enable-version3 --enable-x11grab
  libavutil     50.15. 1 / 50.15. 1
  libavcodec    52.72. 2 / 52.72. 2
  libavformat   52.64. 2 / 52.64. 2
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.19. 0 /  1.19. 0
  libswscale     0.11. 0 /  0.11. 0
  libpostproc   51. 2. 0 / 51. 2. 0

Seems stream 1 codec frame rate differs from container frame rate: 60000.00
(60000/1) -> 29.97 (30000/1001)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/var/www/html/video/switches.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isomavc1mp42
  Duration: 00:00:30.43, start: 0.000000, bitrate: 625 kb/s
    Stream #0.0(und): Audio: aac, 44100 Hz, stereo, s16, 125 kb/s
    Stream #0.1(und): Video: h264, yuv420p, 480x360 [PAR 1:1 DAR 4:3], 498
kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 60k tbc
Output #0, image2, to
'/var/www/html/video/images/switches-sepia-test/%11d.jpg':
  Metadata:
    encoder         : Lavf52.64.2
    Stream #0.0(und): Video: mjpeg, yuvj420p, 480x360 [PAR 1:1 DAR 4:3],
q=2-31, 200 kb/s, 90k tbn, 29.97 tbc
Stream mapping:
  Stream #0.1 -> #0.0
Press [q] to stop encoding
frame=  912 fps=398 q=0.0 Lsize=      -0kB time=30.43 bitrate=  -0.0kbits/s

video:32430kB audio:0kB global headers:0kB muxing overhead -100.000066%
FFmpeg version 0.6.5, Copyright (c) 2000-2010 the FFmpeg developers
  built on Jan 29 2012 17:52:15 with gcc 4.4.5 20110214 (Red Hat 4.4.5-6)
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64
--mandir=/usr/share/man --incdir=/usr/include --disable-avisynth
--extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC'
--enable-avfilter --enable-avfilter-lavf --enable-libdc1394
--enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin
--enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-librtmp --enable-libschroedinger
--enable-libspeex --enable-libtheora --enable-libx264 --enable-gpl
--enable-nonfree --enable-postproc --enable-pthreads --enable-shared
--enable-swscale --enable-vdpau --enable-version3 --enable-x11grab
  libavutil     50.15. 1 / 50.15. 1
  libavcodec    52.72. 2 / 52.72. 2
  libavformat   52.64. 2 / 52.64. 2
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.19. 0 /  1.19. 0
  libswscale     0.11. 0 /  0.11. 0
  libpostproc   51. 2. 0 / 51. 2. 0
[image2 @ 0x20dd670]max_analyze_duration reached
Input #0, image2, from
'/var/www/html/video/images/switches-sepia-test/%11d-sepia.jpg':
  Duration: 00:00:36.48, start: 0.000000, bitrate: N/A
    Stream #0.0: Video: mjpeg, yuvj420p, 480x360 [PAR 1:1 DAR 4:3], 25 fps,
25 tbr, 25 tbn, 25 tbc
[libx264 @ 0x2102dd0]using SAR=1/1
[libx264 @ 0x2102dd0]using cpu capabilities: MMX2 SSE2Fast SSSE3
FastShuffle SSE4.2
[libx264 @ 0x2102dd0]profile High 4:4:4 Predictive, level 3.0, bit depth 8
[libx264 @ 0x2102dd0]64 - core 107 - H.264/MPEG-4 AVC codec - Copyleft
2003-2010 - http://www.videolan.org/x264.html - options: cabac=0 ref=1
deblock=1:0:0 analyse=0x1:0x11 me=hex subme=3 psy=0 mixed_ref=0 me_range=16
chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=0
chroma_qp_offset=0 threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0
constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25
scenecut=40 intra_refresh=0 rc=cqp mbtree=0 qp=0
Output #0, mp4, to '/var/www/html/video/switches-test-sepia.mp4':
  Metadata:
    encoder         : Lavf52.64.2
    Stream #0.0: Video: libx264, yuv420p, 480x360 [PAR 1:1 DAR 4:3],
q=10-51, 625 kb/s, 853996 tbn, 29.97 tbc
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop encoding
frame=  912 fps=143 q=0.0 Lsize=   60681kB time=36.47
bitrate=13630.4kbits/s
video:60670kB audio:0kB global headers:0kB muxing overhead 0.017621%
[libx264 @ 0x2102dd0]frame I:5     Avg QP: 0.00  size: 63229
[libx264 @ 0x2102dd0]frame P:907   Avg QP: 0.00  size: 68147
[libx264 @ 0x2102dd0]mb I  I16..4: 65.5%  0.0% 34.5%
[libx264 @ 0x2102dd0]mb P  I16..4: 17.9%  0.0%  4.9%  P16..4: 31.5% 17.0%
12.7%  0.0%  0.0%    skip:15.9%
[libx264 @ 0x2102dd0]coded y,uvDC,uvAC intra: 86.9% 28.1% 28.1% inter:
69.2% 42.1% 41.9%
[libx264 @ 0x2102dd0]i16 v,h,dc,p: 28% 71%  0%  0%
[libx264 @ 0x2102dd0]i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 43% 45%  2%  2%  2%  1%
 2%  1%  1%
[libx264 @ 0x2102dd0]i8c dc,h,v,p: 59% 32%  9%  0%
[libx264 @ 0x2102dd0]kb/s:16332.49
[root at localhost html]#


On Mon, Apr 23, 2012 at 8:34 AM, Andrey Utkin <
andrey.krieger.utkin at gmail.com> wrote:

> 2012/4/23 Damon Edwards <dzedward at gmail.com>:
> > Sorry:
> >
> > *to image sequence:*
> > ffmpeg -i ' . $video_dir . $filename . '.mp4 -sameq ' . $image_dir .
> > '/%11d.jpg
> >
> > *apply filters to images via PHP here*
> >
> > *back to video:*
> > ffmpeg -f image2 -i ' . $image_dir . '/%11d-' . $filter . '.jpg -vcodec
> > libx264 -b ' . $bitrate . ' -r ' . $framerate . ' -vpre lossless_fast ' .
> > $video_dir . $filename . '-' . $unique . '-' . $filter . '.mp4
> >
> > I execute this via PHP exec().
>
> Ffmpeg output still missing.
> I guess your video has frame rate different from 25.
> image2 demuxer assumes framerate 25 by default.
>
> --
> Andrey Utkin
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>



-- 
Damon Edwards
gplus.to/damonedwards


More information about the ffmpeg-user mailing list