byte berechnung einer mp3
-
weil ich frage mich wie winamp sonst die spielzeit ausrechnet wenn es sich um ein VBR kodiertes file handelt.
-
Bedenke aber auch, dass mp3s auch ID3 Tags enthalten können.
Bei VBR könnte man
a) die gesamte Datei durchgehen und aus jedem Header eines Frames die Bitrate extrahieren
b) nur einen ungefähren Wert ermitteln mithilfe von ein paar Headern und einem Mittelwert der Bitrate.
-
Achja, um die genaue Spielzeit in Millisekunden auszurechnen muss man folgendes machen:
(Dateigröße - ID3TagGröße)/(Framelänge + 4 - Paddingbyte)Die Framelänge zu berechnen ist etwas fieser, kann ich aber nach bedarf Code für posten.
Plus 4 deshalb, weil der Header des MP3 Frame genau 4 Byte groß ist.
-
sag niemals nie, sagte mal einer
her mit dem code! hehe. nein schwerz. aber poste ihn wenn du möchtest. würde mich interessieren.
-
Oh, Fehler
Was da oben steht ist die maximale Anzahl der enthaltenen Frames bei konstanter Bitrate.Aber wenn du das nocht mit der Länge der Musik in ms pro Frame multiplizierst erhälst du die Spielzeit der Musik.
-
steht die länge nicht auch im file-header???
-
loki1985 schrieb:
steht die länge nicht auch im file-header???
Per Dateidefinition hat MP3 nur Frameheader keinen Dateiheader.
An MPEG audio file is built up from smaller parts called frames. Generally, frames are independent items. Each frame has its own header and audio informations. There is no file header.
Nachzulesen hier
-
aja... naja, das mpeg-format war mir schon immer etwas suspekt
-
loki1985 schrieb:
aja... naja, das mpeg-format war mir schon immer etwas suspekt
Der Vorteil ist halt, man kann auch defekte MP3s (unvollständig oder mit Datenmüll in der Mitte) ohne größere Probleme abspielen.
-
weisst du zufällig, wie das mit gegensatz dazu mit vorbis aussieht?
verstehe das system nämlich auch nicht ganz. wenn ich es richtig verstehe ist vorbis alleine auch so eine art rohformat, was dann in den ogg-header oder so ähnlich eingebettet wird...
-
Ogg ist ein Container Format von Xiph.org und kann auch andere Codecs enthalten. Der Vorbis Codec wird darin gespeichert und so wie ich es verstanden habe ist der Dateiaufbau einer VBR MP3 recht ähnlich.
-
ah yes. thanx