Opened 12 years ago
Closed 12 years ago
#1645 closed defect (invalid)
Duration calculation error when -ss precedes -i
Reported by: | Cheedoong | Owned by: | |
---|---|---|---|
Priority: | important | Component: | avformat |
Version: | git-master | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
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.
Change History (2)
comment:1 by , 12 years ago
comment:2 by , 12 years ago
Keywords: | Duration error ss before i removed |
---|---|
Resolution: | → invalid |
Status: | new → closed |
Note:
See TracTickets
for help on using tickets.
This is not a bug, but rather expected behavior. The reason for your issue is that you didn't quite understand how -ss works. Reading the documentation, you can see that:
What does it say is actually this:
This would explain why everything magically works when you use both -ss before and after -i option.
One more misunderstanding is regarding -t option. If you specify -t 15, the output file duration will be 15 seconds, not 10, obviously. That you can check also in the documentation:
So, I believe this bug can safely be closed, if you agree.