[FFmpeg-trac] #259(undetermined:open): framerate detection does not work properly.

FFmpeg trac at avcodec.org
Tue Oct 18 13:52:24 CEST 2011


#259: framerate detection does not work properly.
-------------------------------------+-------------------------------------
             Reporter:  mbosner      |                    Owner:
                 Type:  defect       |                   Status:  open
             Priority:  normal       |                Component:
              Version:  unspecified  |  undetermined
             Keywords:  vc1          |               Resolution:
  pulldown                           |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
Changes (by cehoyos):

 * keywords:  false framerate detection => vc1 pulldown
 * status:  new => open


Comment:

 Replying to [comment:3 mbosner]:
 > But with this file ffmpeg guesses the wrong frame rate and i convert the
 file from 24fps to ~29.97fps which lead to stutter movie playback.

 Which software shows 24fps for the sample you provided?
 mkvinfo reports "29.970 fps"

 The heavy stutter that was originally visible on playback and reencoding
 with every telecined VC1 sample should not be reproducible anymore, but
 encoding into mp4 still duplicates frames if -r 24 is not used.

 This is also reproducible for evo samples that correctly show 23.98 fps
 {{{
 $ ffmpeg -i JerkyVC1Pulldown.EVO -qscale 2 -strict experimental -t 5
 out.mp4
 ffmpeg version N-33758-gc4e02d3, Copyright (c) 2000-2011 the FFmpeg
 developers
   built on Oct 18 2011 03:46:14 with gcc 4.5.3
   configuration: --cc=/usr/local/gcc-4.5.3/bin/gcc
   libavutil    51. 21. 0 / 51. 21. 0
   libavcodec   53. 21. 0 / 53. 21. 0
   libavformat  53. 16. 1 / 53. 16. 1
   libavdevice  53.  4. 0 / 53.  4. 0
   libavfilter   2. 43. 7 /  2. 43. 7
   libswscale    2.  1. 0 /  2.  1. 0

 Seems stream 0 codec frame rate differs from container frame rate: 59.94
 (60000/1001) -> 29.97 (60000/2002)
 Input #0, mpeg, from 'JerkyVC1Pulldown.EVO':
   Duration: 00:00:05.90, start: 0.036744, bitrate: 13875 kb/s
     Stream #0:0[0xfd55]: Video: vc1 (Advanced), yuv420p, 1920x1080 [SAR
 1:1 DAR 16:9], 23.98 fps, 29.97 tbr, 90k tbn, 59.94 tbc
     Stream #0:1[0xc4]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
     Stream #0:2[0xc3]: Audio: eac3, 48000 Hz, 5.1(side), s16, 768 kb/s
     Stream #0:3[0xc2]: Audio: eac3, 48000 Hz, 5.1(side), s16, 768 kb/s
     Stream #0:4[0x89]: Audio: dts (DTS), 48000 Hz, 5.1(side), s16, 1536
 kb/s
     Stream #0:5[0xc0]: Audio: eac3, 48000 Hz, 5.1(side), s16, 1536 kb/s
 [buffer @ 0x1309d60] w:1920 h:1080 pixfmt:yuv420p tb:1/1000000 sar:1/1
 sws_param:
 [mpeg4 @ 0x1370ca0] removing common factors from framerate
 Output #0, mp4, to 'out.mp4':
   Metadata:
     encoder         : Lavf53.16.1
     Stream #0:0: Video: mpeg4 ( [0][0][0] / 0x0020), yuv420p, 1920x1080
 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 30k tbn, 29.97 tbc
     Stream #0:1: Audio: aac (@[0][0][0] / 0x0040), 48000 Hz, 5.1(side),
 s16, 128 kb/s
 Stream mapping:
   Stream #0.0 -> #0.0 (vc1 -> mpeg4)
   Stream #0.2 -> #0.1 (eac3 -> aac)
 Press [q] to stop, [?] for help
 frame=  150 fps= 45 q=2.0 Lsize=    1971kB time=00:00:05.00
 bitrate=3226.0kbits/s dup=30 drop=0
 video:1923kB audio:43kB global headers:0kB muxing overhead 0.215599%
 }}}
 {{{
 $ ffmpeg -i JerkyVC1Pulldown.EVO -qscale 2 -strict experimental -t 5 -r 24
 out.mp4
 ffmpeg version N-33758-gc4e02d3, Copyright (c) 2000-2011 the FFmpeg
 developers
   built on Oct 18 2011 03:46:14 with gcc 4.5.3
   configuration: --cc=/usr/local/gcc-4.5.3/bin/gcc
   libavutil    51. 21. 0 / 51. 21. 0
   libavcodec   53. 21. 0 / 53. 21. 0
   libavformat  53. 16. 1 / 53. 16. 1
   libavdevice  53.  4. 0 / 53.  4. 0
   libavfilter   2. 43. 7 /  2. 43. 7
   libswscale    2.  1. 0 /  2.  1. 0

 Seems stream 0 codec frame rate differs from container frame rate: 59.94
 (60000/1001) -> 29.97 (60000/2002)
 Input #0, mpeg, from 'JerkyVC1Pulldown.EVO':
   Duration: 00:00:05.90, start: 0.036744, bitrate: 13875 kb/s
     Stream #0:0[0xfd55]: Video: vc1 (Advanced), yuv420p, 1920x1080 [SAR
 1:1 DAR 16:9], 23.98 fps, 29.97 tbr, 90k tbn, 59.94 tbc
     Stream #0:1[0xc4]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
     Stream #0:2[0xc3]: Audio: eac3, 48000 Hz, 5.1(side), s16, 768 kb/s
     Stream #0:3[0xc2]: Audio: eac3, 48000 Hz, 5.1(side), s16, 768 kb/s
     Stream #0:4[0x89]: Audio: dts (DTS), 48000 Hz, 5.1(side), s16, 1536
 kb/s
     Stream #0:5[0xc0]: Audio: eac3, 48000 Hz, 5.1(side), s16, 1536 kb/s
 [buffer @ 0x1309360] w:1920 h:1080 pixfmt:yuv420p tb:1/1000000 sar:1/1
 sws_param:
 Output #0, mp4, to 'out.mp4':
   Metadata:
     encoder         : Lavf53.16.1
     Stream #0:0: Video: mpeg4 ( [0][0][0] / 0x0020), yuv420p, 1920x1080
 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 24 tbn, 24 tbc
     Stream #0:1: Audio: aac (@[0][0][0] / 0x0040), 48000 Hz, 5.1(side),
 s16, 128 kb/s
 Stream mapping:
   Stream #0.0 -> #0.0 (vc1 -> mpeg4)
   Stream #0.2 -> #0.1 (eac3 -> aac)
 Press [q] to stop, [?] for help
 frame=  120 fps= 39 q=2.0 Lsize=    1817kB time=00:00:05.00
 bitrate=2977.6kbits/s
 video:1770kB audio:43kB global headers:0kB muxing overhead 0.220256%
 }}}

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/259#comment:4>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list