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

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


Awesome that did the trick! So do I need to put my vcodec/bitrate/vpre
switches before the -i switch too?

On Mon, Apr 23, 2012 at 8:54 AM, <me at renecalles.de> wrote:

> Hi,
>
> this is because 25 fps is set by default.
> Try using -r 29.97 before the -i switch.
>
> Best,
> René
>
>
> On Mon, 23 Apr 2012 08:45:01 -0700, Damon Edwards wrote:
>
>> 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<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<http://ffmpeg.org/mailman/listinfo/ffmpeg-user>
>>>
>>>
> ______________________________**_________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/**listinfo/ffmpeg-user<http://ffmpeg.org/mailman/listinfo/ffmpeg-user>
>



-- 
Damon Edwards
gplus.to/damonedwards


More information about the ffmpeg-user mailing list