[FFmpeg-trac] #1645(avformat:new): Duration calculation error when -ss precedes -i

FFmpeg trac at avcodec.org
Thu Aug 16 14:12:07 CEST 2012


#1645: Duration calculation error when -ss precedes -i
-------------------------------------+-------------------------------------
             Reporter:  cheedoong    |                     Type:  defect
               Status:  new          |                 Priority:  important
            Component:  avformat     |                  Version:  git-
             Keywords:  Duration     |  master
  error; ss before i                 |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Summary of the bug:

 It appeared long time ago, I also saw somebody else posted similar issues
 onto other forums.

 How to reproduce:
 {{{
 % ffmpeg.exe -y -ss 00:00:05 -t 00:00:15 -i
 "http://182.131.19.177/videoctfs.tc.qq.com/k01025rk99s.p708.1.flv?sdtfrom=v2&type=tflv&vkey=49B6CAA790F75B58D8D8C20CA392116CD6A4B647573068BF7B66B03859BFB5E0B6A814A10B843B18&level=3&sha=3928588565e69ba1897b9ad4b876014ef0697d2a&platform=1&br=20&fmt=sd"
 -vcodec libx264 -acodec libmp3lame -strict -2 -f mpegts dura_err.ts
 2>dura_err.txt

 dura_err.txt:

 ffmpeg version N-42547-g7543fd8 Copyright (c) 2000-2012 the FFmpeg
 developers
   built on Jul 15 2012 21:36:07 with gcc 4.7.1
   configuration: --enable-gpl --enable-version3 --disable-w32threads
 --enable-runtime-cpudetect --enable-avisynth --enable-bzlib --enable-
 frei0r --enable-libass --enable-libcelt --enable-libopencore-amrnb
 --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-
 libmp3lame --enable-libnut --enable-libopenjpeg --enable-librtmp --enable-
 libschroedinger --enable-libspeex --enable-libtheora --enable-libutvideo
 --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-
 libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
   libavutil      51. 65.100 / 51. 65.100
   libavcodec     54. 40.100 / 54. 40.100
   libavformat    54. 16.104 / 54. 16.104
   libavdevice    54.  1.100 / 54.  1.100
   libavfilter     3.  2.100 /  3.  2.100
   libswscale      2.  1.100 /  2.  1.100
   libswresample   0. 15.100 /  0. 15.100
   libpostproc    52.  0.100 / 52.  0.100
 Input #0, flv, from
 'http://182.131.19.177/videoctfs.tc.qq.com/k01025rk99s.p708.1.flv?sdtfrom=v2&type=tflv&vkey=49B6CAA790F75B58D8D8C20CA392116CD6A4B647573068BF7B66B03859BFB5E0B6A814A10B843B18&level=3&sha=3928588565e69ba1897b9ad4b876014ef0697d2a&platform=1&br=20&fmt=sd':
   Metadata:
     creator         : QQVideo
     hasKeyframes    : true
     hasVideo        : true
     hasAudio        : true
     hasMetadata     : true
     canSeekToEnd    : true
     datasize        : 6994383
     videosize       : 5049011
     audiosize       : 1889996
     lasttimestamp   : 238
     lastkeyframetimestamp: 238
     lastkeyframelocation: 6995950
   Duration: 00:03:58.33, start: 0.067000, bitrate: 234 kb/s
     Stream #0:0: Video: h264 (Main), yuv420p, 480x270 [SAR 1:1 DAR 16:9],
 168 kb/s, 15 tbr, 1k tbn, 30 tbc
     Stream #0:1: Audio: aac, 44100 Hz, stereo, s16, 59 kb/s
 -t is not an input option, keeping it for the next output; consider fixing
 your command line.
 [libx264 @ 03532a20] using SAR=1/1
 [libx264 @ 03532a20] using cpu capabilities: MMX2 SSE2Fast FastShuffle
 SSEMisalign LZCNT
 [libx264 @ 03532a20] profile High, level 2.1
 [mpegts @ 03532320] muxrate VBR, pcr every 1 pkts, sdt every 200, pat/pmt
 every 40 pkts
 Output #0, mpegts, to 'bug3.ts':
   Metadata:
     creator         : QQVideo
     hasKeyframes    : true
     hasVideo        : true
     hasAudio        : true
     hasMetadata     : true
     canSeekToEnd    : true
     datasize        : 6994383
     videosize       : 5049011
     audiosize       : 1889996
     lasttimestamp   : 238
     lastkeyframetimestamp: 238
     lastkeyframelocation: 6995950
     encoder         : Lavf54.16.104
     Stream #0:0: Video: h264, yuv420p, 480x270 [SAR 1:1 DAR 16:9], q=-1--
 1, 90k tbn, 15 tbc
     Stream #0:1: Audio: mp3, 44100 Hz, stereo, s16
 Stream mapping:
   Stream #0:0 -> #0:0 (h264 -> libx264)
   Stream #0:1 -> #0:1 (aac -> libmp3lame)
 Press [q] to stop, [?] for help
 DTS -3000, next:-3001000 st:0 invalid dropping
 PTS -2867, next:-3001000 invalid dropping st:0
 DTS -2933, next:-2935000 st:0 invalid dropping
 PTS -2933, next:-2935000 invalid dropping st:0
 DTS -2867, next:-2869000 st:0 invalid dropping
 PTS -2733, next:-2869000 invalid dropping st:0
 DTS -2800, next:-2803000 st:0 invalid dropping
 PTS -2800, next:-2803000 invalid dropping st:0
 DTS -2733, next:-2737000 st:0 invalid dropping
 PTS -2533, next:-2737000 invalid dropping st:0
 frame=    0 fps=0.0 q=0.0 size=       0kB time=00:00:-2.-70 bitrate=
 -0.0kbits/s dup=0 drop=2
 frame=    0 fps=0.0 q=0.0 size=       0kB time=00:00:-1.-14 bitrate=
 -0.0kbits/s dup=0 drop=26
 frame=   58 fps= 36 q=27.0 size=     114kB time=00:00:00.40
 bitrate=2331.2kbits/s dup=0 drop=43
 frame=  134 fps= 64 q=27.0 size=     481kB time=00:00:05.46 bitrate=
 720.5kbits/s dup=0 drop=43
 frame=  207 fps= 79 q=27.0 size=     824kB time=00:00:10.33 bitrate=
 652.9kbits/s dup=0 drop=43
 frame=  225 fps= 73 q=27.0 Lsize=    1209kB time=00:00:14.86 bitrate=
 666.3kbits/s dup=6 drop=43

 video:809kB audio:282kB subtitle:0 global headers:0kB muxing overhead
 10.804575%
 [libx264 @ 03532a20] frame I:10    Avg QP:22.60  size:  8799
 [libx264 @ 03532a20] frame P:150   Avg QP:24.22  size:  4437
 [libx264 @ 03532a20] frame B:65    Avg QP:26.54  size:  1149
 [libx264 @ 03532a20] consecutive B-frames: 48.0% 39.1%  4.0%  8.9%
 [libx264 @ 03532a20] mb I  I16..4:  5.1% 70.4% 24.5%
 [libx264 @ 03532a20] mb P  I16..4:  4.7% 26.6%  6.3%  P16..4: 30.4% 12.3%
 4.2%  0.0%  0.0%    skip:15.5%
 [libx264 @ 03532a20] mb B  I16..4:  0.5%  1.9%  0.5%  B16..8: 33.9%  6.0%
 1.3%  direct: 2.9%  skip:52.9%  L0:41.0% L1:51.8% BI: 7.2%
 [libx264 @ 03532a20] 8x8 transform intra:70.6% inter:62.4%
 [libx264 @ 03532a20] coded y,uvDC,uvAC intra: 77.3% 60.1% 12.9% inter:
 23.7% 18.2% 1.4%
 [libx264 @ 03532a20] i16 v,h,dc,p: 20% 23%  7% 50%
 [libx264 @ 03532a20] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 19% 15%  5%  7%
 8%  7%  7%  9%
 [libx264 @ 03532a20] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 21% 15%  6%  9%
 9%  8%  6%  6%
 [libx264 @ 03532a20] i8c dc,h,v,p: 54% 25% 16%  5%
 [libx264 @ 03532a20] Weighted P-Frames: Y:10.7% UV:5.3%
 [libx264 @ 03532a20] ref P L0: 59.1% 17.4% 15.9%  6.8%  0.8%
 [libx264 @ 03532a20] ref B L0: 86.0% 13.5%  0.6%
 [libx264 @ 03532a20] ref B L1: 97.8%  2.2%
 [libx264 @ 03532a20] kb/s:441.71

 % ffmpeg -i dura_err.ts 2>dura_err2.txt

 dura_err2.txt:

 ffmpeg version N-42547-g7543fd8 Copyright (c) 2000-2012 the FFmpeg
 developers
   built on Jul 15 2012 21:36:07 with gcc 4.7.1
   configuration: --enable-gpl --enable-version3 --disable-w32threads
 --enable-runtime-cpudetect --enable-avisynth --enable-bzlib --enable-
 frei0r --enable-libass --enable-libcelt --enable-libopencore-amrnb
 --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-
 libmp3lame --enable-libnut --enable-libopenjpeg --enable-librtmp --enable-
 libschroedinger --enable-libspeex --enable-libtheora --enable-libutvideo
 --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-
 libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
   libavutil      51. 65.100 / 51. 65.100
   libavcodec     54. 40.100 / 54. 40.100
   libavformat    54. 16.104 / 54. 16.104
   libavdevice    54.  1.100 / 54.  1.100
   libavfilter     3.  2.100 /  3.  2.100
   libswscale      2.  1.100 /  2.  1.100
   libswresample   0. 15.100 /  0. 15.100
   libpostproc    52.  0.100 / 52.  0.100
 [mpegts @ 02220fe0] max_analyze_duration 5000000 reached at 5015467
 Input #0, mpegts, from 'bug3.ts':
   Duration: 26:30:58.56, start: 1.400000, bitrate: 0 kb/s
   Program 1
     Metadata:
       service_name    : Service01
       service_provider: FFmpeg
     Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B),
 yuv420p, 480x270 [SAR 1:1 DAR 16:9], 15 fps, 15 tbr, 90k tbn, 30 tbc
     Stream #0:1[0x101]: Audio: mp3 ([3][0][0][0] / 0x0003), 44100 Hz,
 stereo, s16, 128 kb/s
 At least one output file must be specified


 The Duration should be 00:00:10.

 However I also saw the duration occurred to be {-ss + -t} in some cases,
 which was also wrong.

 When I put -ss before and after -i (the fast and accurate seeking mode),
 everything became correct.
 }}}

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1645>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list