[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