OT: MP3 durschnittliche variable Bitrate ermitteln

Gast #165368
Lesenswert?

Vielleicht etwas Offtopic hier, aber ich bin wahrscheinlich nich der
erste nen MP3 Player baut und dieses Problem hat: Wie kann ich bei
einem MP3, das mit variabler Bitrate codiert wurde, die
durchschnittliche Bitrate ermitteln um dann aus der Dateigröße auf die
Länge schließen zu können. Es muss relativ einfach gehen, da das
mittlerweile die meisten tragbaren Player können.
Hab schon etwas gegoogelt aber noch nichts brauchbares gefunden.
Gast #165370
Lesenswert?

Naja das wär die Brute Force Methode :)
Problem dabei ist, das ich die Länge des Lieds ja möglichst schon am
Anfang des Abspielens haben will und dafür sollte sie möglichst schnell
ermittelbar sein.

Hab mir jetzt mal den Sourcecode der Rockbox (eine alternative Open
Source Firmware für die Archos Jukebox) angeguckt. Wenn ich das jetzt
auf die schnelle richtig verstanden habe ermittelt das Programm die
Dauer eines Frames aus dem MPEG-Header und die Anzahl aller Frames aus
einem VBR Header, der in einem VBR codierten MP3 anscheinend meistens
(immer?) vorhanden ist.
Dann kann einfach mit Dauer_eines_Frames*Anzahl_Frames die Dauer des
Lieds berechnet werden und die durchschnitliche Bitrate ergibt sich
dann durch Größe/Dauer.
Gast #165372
Lesenswert?

Wenn ich das richtig verstehe ist der VBR Header Bestandteil des MPEG
Headers, und es gibt anscheinend verschiedene der Lame Encoder
verwendet einen Xing Header und der FhG Codec einen VBRI Header.

ich hab das betreffende File aus der Rockbox Firmware mal angehangen.
Die interresanten Funktionen sind get_mp3file_info() (Zeile 361) und
mp3headerinfo() (Zeile 118)
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren