[FFmpeg-user] Converting 23.98 to 59.94 comes up a frame short?

Bob Maple bobm-ffmpeg at burner.com
Tue Jun 4 09:25:23 CEST 2013


Trying to turn a 23.98 Quicktime into a 59.94 with ffmpeg:

   ffmpeg -i D:\Source.mov -codec:v prores -profile:v 1 -r 60000/1001 
D:\Dest.mov

The source is 30:00 at 23.98 or exactly 720 frames.  However the 
resulting movie is a frame short, 29:59 at 59.94 or 1799 frames.  The 
result should be a repeating pattern of 3 and 2 source frames, however 
what I wind up with is the first source frame being laid down in the 
destination for only one frame, and THEN the repeating 3 and 2 frame 
groups... but I wind up a frame short since the first frame should have 
taken up 2 in the 59.94 encode.

I'm guessing this boils down to a rounding error, but is there a better 
way to do this so I'm guaranteed a consistent 3:2 pulldown output 
sequence (and thus correct duration), maybe with a filter?  I found 
'decimate' but what I really need is the opposite. 'telecine' doesn't 
work because it interlaces (I'm going progressive to progressive.)

Here's a link to my 23.98 source movie, a burned-in timecode so you can 
see what's going on: http://clients.idolum.com/get/de2080442ee1

Console:

D:\>ffmpeg-20130604-git-fca435f-win64-static\bin\ffmpeg.exe -i "D:\Comp 
1.mov" -codec:v prores -profile:v 1 -r 60000/1001 D:\Poop.mov
ffmpeg version N-53818-gfca435f Copyright (c) 2000-2013 the FFmpeg 
developers
   built on Jun  4 2013 01:41:53 with gcc 4.7.3 (GCC)
   configuration: --enable-gpl --enable-version3 --disable-w32threads 
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r 
--enable-gnutls --enable-iconv --enable-libass --enable-libbluray 
--enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc 
--enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb 
--enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus 
--enable-librtmp --enable-libschroedinger --enable-libsoxr 
--enable-libspeex --enable-libtheora --enable-libtwolame 
--enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis 
--enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid 
--enable-zlib
   libavutil      52. 34.100 / 52. 34.100
   libavcodec     55. 15.100 / 55. 15.100
   libavformat    55.  8.102 / 55.  8.102
   libavdevice    55.  2.100 / 55.  2.100
   libavfilter     3. 74.101 /  3. 74.101
   libswscale      2.  3.100 /  2.  3.100
   libswresample   0. 17.102 /  0. 17.102
   libpostproc    52.  3.100 / 52.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\Comp 1.mov':
   Metadata:
     major_brand     : qt
     minor_version   : 537199360
     compatible_brands: qt
     creation_time   : 2013-06-04 07:36:34
   Duration: 00:00:30.03, start: 0.000000, bitrate: 711 kb/s
     Stream #0:0(eng): Video: qtrle (rle  / 0x20656C72), rgb24, 
1280x720, 707 kb/s, SAR 1280:1280 DAR 16:9, 23.98 fps, 23.98 tbr, 24k 
tbn, 24k tbc
     Metadata:
       creation_time   : 2013-06-04 07:36:35
       handler_name    : Apple Alias Data Handler
       timecode        : 00:00:00:00
     Stream #0:1(eng): Data: none (tmcd / 0x64636D74), 0 kb/s
     Metadata:
       creation_time   : 2013-06-04 07:36:58
       handler_name    : Apple Alias Data Handler
       timecode        : 00:00:00:00
Output #0, mov, to 'D:\Poop.mov':
   Metadata:
     major_brand     : qt
     minor_version   : 537199360
     compatible_brands: qt
     encoder         : Lavf55.8.102
     Stream #0:0(eng): Video: prores (apcs) (apcs / 0x73637061), 
yuv422p10le, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 60k tbn, 
59.94 tbc
     Metadata:
       creation_time   : 2013-06-04 07:36:35
       handler_name    : Apple Alias Data Handler
       timecode        : 00:00:00:00
Stream mapping:
   Stream #0:0 -> #0:0 (qtrle -> prores)
Press [q] to stop, [?] for help


More information about the ffmpeg-user mailing list