[FFmpeg-trac] #3327(avformat:new): libavformat fails to detect some mp3 files reliably
FFmpeg
trac at avcodec.org
Mon Jan 27 11:23:15 CET 2014
#3327: libavformat fails to detect some mp3 files reliably
------------------------------------+------------------------------------
Reporter: gjdfgh | Owner:
Type: defect | Status: new
Priority: normal | Component: avformat
Version: git-master | Resolution:
Keywords: mp3 | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
------------------------------------+------------------------------------
Comment (by cehoyos):
Replying to [comment:5 gjdfgh]:
> >Are you sure that if a format is currently only detected by extension
AVPROBE_SCORE_EXTENSION is returned?
>
> I don't know it's what I would expect.
>
> avformat.h says: `#define AVPROBE_SCORE_EXTENSION 50 ///< score for
file extension`
I completely forgot: Another good example on how great the "cosmetics"
are, thank you for pointing that out!
> So yes, I would expect that if the extension matches, that value is
returned.
It is just a wrong commit (that nobody so far complained about but you
fortunately know where to direct your flames).
> Maybe I'm wrong; it does look like the score is a little bit too high
for that, as it's much higher than the "safe" score AVPROBE_SCORE_RETRY+1,
which is 26.
> As for whether to return 25 or 26 on a "good guess", I think it would be
good to return 26 is there are signs that this might be a good mp3 file,
probing uses a good amount of data (e.g. 1 MB), and there are no other
formats with better score.
So you agree that what FFmpeg reports is correct? After all, it does
report the correct file type or do I miss something?
Maybe unrelated: Note that you cannot simply raise a score because mp3,
mpegvideo, mpeg-ps, mpeg-ts etc. fight for the "best" score for many real-
world samples.
> Anyway, currently mp3 probing is pretty bad. For example, libavformat
recognizes a random ELF binary as mp3 with probe score 50 after only 64KB
of data!
*Please* provide such samples!
> And that while legitimate mp3s are not recognized reliably, even when
passing the whole file to the probe function!
Define "reliably": Afaict, for the file in question, FFmpeg succeeds with
auto-detection (which is apparently not trivial, see "other"
applications), I don't find "I am not 100% sure" so bad for mp3 files with
large attachments.
> Using the file extension instead of the sophisticated probing in
mp3_read_probe would be more reliable.
This opinion seems to be in strong contrast to what FFmpeg stands for
(since forever) and most people always saw that as one of the largest
advantages over WMP etc.
And it was always considered a bug that there is no auto-detection for
image types.
> >avconv
>
> Didn't perform better on this sample, AFAIR.
It performs extremely bad on this (and some related) sample.
Note that I am not saying there is no issue: If the extension and the
auto-detection agree, the score should probably be raised.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/3327#comment:6>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list