OT: MP3 durschnittliche variable Bitrate ermitteln

Gast #165368
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
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
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

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.