![]() |
Herausfinden ob mp3 eine vbr oder cbr ist.
Hallo,
ich möchte auf einen einfachen weg herausfinden ob es sich bei einer MP3 um eine VBR (variable bitrate) oder um eine CBR (constant bitrate) handelt. Gruß Mazel |
Re: Herausfinden ob mp3 eine vbr oder cbr ist.
Die sichere Methode ist, alle MPEG-Frames der Datei auf die Bitrate hin zu untersuchen. Die Bitrate lässt sich dabei aus dem 4Byte großen Header eines MPEG-Frames bestimmen. Wie dieser Header genau aufgebaut ist, und wie man daraus Bitrate, Samplerate und einiges mehr abliest, kann man über Google etc. finden.
Eine andere (wesentlich schnellere) Möglichkeit ist es, nach dem sog. Xing-Header zu suchen, der eigentlich ein mißbrauchter MPEG-Frame ist, und bei fast allen vbr-mp3-Files vorhanden ist, aber bei keinem cbr-mp3. Letztere Variante nutzt die MPEG-Klasse in meinen ![]() |
Re: Herausfinden ob mp3 eine vbr oder cbr ist.
Zitat:
|
Re: Herausfinden ob mp3 eine vbr oder cbr ist.
Vermutlich. In dem Teil, was ich als Xing-Header kennengelernt habe, steht u.a. die Anzahl der Frames drin, wodurch die Spieldauer bestimmt wird und mit der Dateigröße zusammen die durchschnittliche Bitrate ermittelbar ist.
Zusätzlich gibts da wohl ein Sprungstellenarray, damit ein Player nicht die gesamte Datei lesen muss, und trotzdem aus einer Positionsangabe in (Milli)Sekunden (eingegeben vom Nutzer z.B. über eine Trackbar), eine recht genaue Position in Bytes innerhalb der Datei bestimmen kann. Das ignoriert meine Klasse aber, weil sie das nicht braucht ;-) Bei einem CBR-File sind solche Angaben natürlich überflüssig. |
Re: Herausfinden ob mp3 eine vbr oder cbr ist.
Zitat:
![]() |
Re: Herausfinden ob mp3 eine vbr oder cbr ist.
Hmmm...das sieht interessant aus. Werde mir den Link merken, und ggf. die Erkennung dieses Headers mit einbauen. Allerdings hat er wohl kaum eine reale Bedeutung, da der originale Fraunhofer Encoder wohl kaum noch Verwendung findet. Alleine schon deswegen, weil der afaik nicht "frei" ist wie Lame. Begegnet ist mir dieser Header zumindest noch nicht...
|
Re: Herausfinden ob mp3 eine vbr oder cbr ist.
Ich sehe das nicht so. An verschiedenen Stellen kann man den Fraunhofer Codecs herunterladen. Einzeln oder in Codecpacks. Mag sein, dass die Angebote nicht alle legal sind. Auf jeden Fall soll der Windows Media Player 10 einen Fraunhofer Codec mitbringen. Desweiteren bietet Thomson kostenlos für "personal and non-commercial" Encoder für MP3Surround an.
![]() Unter ![]() Der Fraunhofer Codec muss doch begehrt sein: ![]() |
Re: Herausfinden ob mp3 eine vbr oder cbr ist.
Hmm...auch wenns langsam OT wird, aber das ist mir neu. Gut - so sehr beschäftige ich mich auch nicht damit, welcher Codec nun weiter verbreitet ist, oder häufiger verwendet. Ich nutze zum Rippen den Audiograbber, und da ist Lame dabei :???:
Fakt ist, dass mir noch nicht aufgefallen ist, dass meine Unit signifikant andere Längen liefert als z.B. Winamp oder die Bass.dll nach einem kompletten Scan einer vbr-Datei. Ab und zu kommt mal ne Sekunde zuviel oder zuwenig raus, aber das wird auf Rundungsfehler oder von mir nicht erkannte andere Tags zurückzuführen sein (in vielen mp3s sieht man z.B. im HexEditor lange Bereiche mit gleichen Bytes, nur ab und zu unterbrchen von "LAME"). Werde das aber mal genauer beoachten. @Mazel: klappts denn nun? Ich hab ja per ICQ mitbekommen, dass du die lgpl nicht so magst, aber zum Erkennen der Bitrate gibts bestimmt auch noch anderswo Code-Schnipsel... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz