Ticket #712 (open enhancement)
m2v: wrong duration
| Reported by: | cbsrobot | Owned by: | |
|---|---|---|---|
| Priority: | wish | Component: | avformat |
| Version: | git-master | Keywords: | mpeg2video m2v |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | yes | |
| Analyzed by developer: | no |
Description
When converting any file to a m2v and checking the resulting file, the duration is not correctly calculated. mplayer shows also wrong duration. Quicktime and Mediainfo show the correct duration.
example:
ffmpeg -i fate/aletrek-rle.mov -target pal-dvd -f mpeg2video -an aletrek-rle.m2v
[...]
Duration: 00:00:03.33
ffprobe aletrek-rle.m2v
[...]
Duration: 00:00:00.76
mediainfo aletrek-rle.m2v
[...]
Duration : 3s 400ms
mplayer -vo null -ao null -frames 0 -identify aletrek-rle.m2v
[...]
ID_LENGTH=0.77
Change History
comment:2 Changed 19 months ago by cbsrobot
$ ffmpeg -i aletrek-rle.mov -target pal-dvd -f mpeg2video -an aletrek-rle.m2v
ffmpeg version N-35336-g18abf46, Copyright (c) 2000-2011 the FFmpeg developers
built on Dec 1 2011 22:40:41 with gcc 4.2.1 (Apple Inc. build 5666) (dot 3)
configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libvpx --enable-libmp3lame --enable-libfreetype --enable-libopenjpeg --prefix=/usr/local
libavutil 51. 29. 1 / 51. 29. 1
libavcodec 53. 39. 1 / 53. 39. 1
libavformat 53. 24. 0 / 53. 24. 0
libavdevice 53. 4. 0 / 53. 4. 0
libavfilter 2. 50. 0 / 2. 50. 0
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 51. 2. 0 / 51. 2. 0
Seems stream 0 codec frame rate differs from container frame rate: 600.00 (600/1) -> 10.00 (10/1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'aletrek-rle.mov':
Metadata:
creation_time : 2002-10-18 17:15:11
Duration: 00:00:03.33, start: 0.000000, bitrate: 567 kb/s
Stream #0:0(eng): Video: qtrle (rle / 0x20656C72), rgb24, 160x120, 564 kb/s, 10.20 fps, 10 tbr, 600 tbn, 600 tbc
Metadata:
creation_time : 2002-10-18 17:15:11
handler_name : ?Apple Alias Data Handler
File 'aletrek-rle.m2v' already exists. Overwrite ? [y/N] y
w:160 h:120 pixfmt:rgb24 tb:1/1000000 sar:0/1 sws_param:
[scale @ 0x101813fa0] w:160 h:120 fmt:rgb24 -> w:720 h:576 fmt:yuv420p flags:0x4
Output #0, mpeg2video, to 'aletrek-rle.m2v':
Metadata:
creation_time : 2002-10-18 17:15:11
encoder : Lavf53.24.0
Stream #0:0(eng): Video: mpeg2video, yuv420p, 720x576, q=2-31, 6000 kb/s, 90k tbn, 25 tbc
Metadata:
creation_time : 2002-10-18 17:15:11
handler_name : ?Apple Alias Data Handler
Stream mapping:
Stream #0:0 -> #0:0 (qtrle -> mpeg2video)
Press [q] to stop, [?] for help
[mpeg2video @ 0x10204ce00] rc buffer underflow
frame= 85 fps= 0 q=2.0 Lsize= 841kB time=00:00:03.36 bitrate=2051.1kbits/s dup=51 drop=0
video:841kB audio:0kB global headers:0kB muxing overhead 0.000000%
ffprobe aletrek-rle.m2v
ffprobe version N-35336-g18abf46, Copyright (c) 2007-2011 the FFmpeg developers
built on Dec 1 2011 22:40:41 with gcc 4.2.1 (Apple Inc. build 5666) (dot 3)
configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libvpx --enable-libmp3lame --enable-libfreetype --enable-libopenjpeg --prefix=/usr/local
libavutil 51. 29. 1 / 51. 29. 1
libavcodec 53. 39. 1 / 53. 39. 1
libavformat 53. 24. 0 / 53. 24. 0
libavdevice 53. 4. 0 / 53. 4. 0
libavfilter 2. 50. 0 / 2. 50. 0
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 51. 2. 0 / 51. 2. 0
[mpegvideo @ 0x10200f200] Estimating duration from bitrate, this may be inaccurate
Input #0, mpegvideo, from 'aletrek-rle.m2v':
Duration: 00:00:00.76, bitrate: 8999 kb/s
Stream #0:0: Video: mpeg2video (Main), yuv420p, 720x576 [SAR 1:1 DAR 5:4], 9000 kb/s, 25 fps, 25 tbr, 1200k tbn, 50 tbc
$ ffprobe aletrek-rle.mov
ffprobe version N-35336-g18abf46, Copyright (c) 2007-2011 the FFmpeg developers
built on Dec 1 2011 22:40:41 with gcc 4.2.1 (Apple Inc. build 5666) (dot 3)
configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libvpx --enable-libmp3lame --enable-libfreetype --enable-libopenjpeg --prefix=/usr/local
libavutil 51. 29. 1 / 51. 29. 1
libavcodec 53. 39. 1 / 53. 39. 1
libavformat 53. 24. 0 / 53. 24. 0
libavdevice 53. 4. 0 / 53. 4. 0
libavfilter 2. 50. 0 / 2. 50. 0
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 51. 2. 0 / 51. 2. 0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'aletrek-rle.mov':
Metadata:
creation_time : 2002-10-18 17:15:11
Duration: 00:00:03.33, start: 0.000000, bitrate: 567 kb/s
Stream #0:0(eng): Video: qtrle (rle / 0x20656C72), rgb24, 160x120, 564 kb/s, 10.20 fps, 10 tbr, 600 tbn, 600 tbc
Metadata:
creation_time : 2002-10-18 17:15:11
handler_name : ?Apple Alias Data Handler
comment:3 Changed 9 months ago by cehoyos
- Status changed from new to open
- Component changed from FFmpeg to undetermined
- Reproduced by developer set
comment:4 Changed 8 months ago by cehoyos
- Component changed from undetermined to avformat
The output shows "Duration: N/A" now.
$ ffmpeg -i aletrek-rle.m2v
ffmpeg version N-46390-g94f2245 Copyright (c) 2000-2012 the FFmpeg developers
built on Nov 3 2012 16:53:18 with gcc 4.7 (SUSE Linux)
configuration: --cc='cc -m32'
libavutil 52. 3.100 / 52. 3.100
libavcodec 54. 71.100 / 54. 71.100
libavformat 54. 35.100 / 54. 35.100
libavdevice 54. 3.100 / 54. 3.100
libavfilter 3. 21.106 / 3. 21.106
libswscale 2. 1.102 / 2. 1.102
libswresample 0. 16.100 / 0. 16.100
[mpegvideo @ 0x9177500] Estimating duration from bitrate, this may be inaccurate
Input #0, mpegvideo, from 'aletrek-rle.m2v':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: mpeg2video (Main), yuv420p, 720x576 [SAR 1:1 DAR 5:4], 25 fps, 25 tbr, 1200k tbn, 50 tbc
At least one output file must be specified
Note: See
TracTickets for help on using
tickets.



Please post your ffmpeg command line and complete, uncut console output.