[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