Ticket #2348 (new defect)

Opened 2 months ago

Slowmotion when reencoding mpeg stream

Reported by: cehoyos Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords: dts mpeg2video mpegps
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

 http://thread.gmane.org/gmane.comp.video.ffmpeg.user/44508
A user uploaded a mpeg sample file that plays for approximately 11 seconds with current ffplay, mplayer (both -demuxer mpegps and -demuxer lavf, both -vc ffmpeg12 and -vc mpeg12), vlc and WMP.
If the sample gets re-encoded with ffmpeg, the output file plays at half speed (for 22 seconds).

$ ffmpeg -i rob-test.mpg -qscale 2 out.avi
ffmpeg version N-50651-g1123080 Copyright (c) 2000-2013 the FFmpeg developers
  built on Mar 11 2013 12:49:54 with gcc 4.7 (SUSE Linux)
  configuration: --enable-gpl --disable-indev=jack --enable-libopenjpeg
  libavutil      52. 19.100 / 52. 19.100
  libavcodec     54. 92.100 / 54. 92.100
  libavformat    54. 63.104 / 54. 63.104
  libavdevice    54.  3.103 / 54.  3.103
  libavfilter     3. 44.101 /  3. 44.101
  libswscale      2.  2.100 /  2.  2.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
[mpeg @ 0x1be0f40] max_analyze_duration 5000000 reached at 5005000 microseconds
Input #0, mpeg, from 'rob-test.mpg':
  Duration: 00:00:11.34, start: 0.360000, bitrate: 7140 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x480 [SAR 32:27 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Please use -q:a or -q:v, -qscale is ambiguous
Output #0, avi, to 'out.avi':
  Metadata:
    ISFT            : Lavf54.63.104
    Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 720x480 [SAR 32:27 DAR 16:9], q=2-31, 200 kb/s, 29.97 tbn, 29.97 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video -> mpeg4)
Press [q] to stop, [?] for help
frame=  341 fps=0.0 q=2.0 Lsize=   11255kB time=00:00:22.68 bitrate=4063.5kbits/s
video:11233kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.193383%

Workaround is to specify an input frame rate:
$ ffmpeg -r 30 -i rob-test.mpg -qscale 2 out.avi

Note: See TracTickets for help on using tickets.