2008-10-13 21 views
5

Conozco muchas utilidades que pueden decirme la velocidad de bits de un archivo MP3, pero nunca he visto una que me diga si el archivo MP3 es o no VBR (velocidad de bits variable - la tasa de bits) fluctúa dentro del archivo) o un CBR (tasa de bits constante - la tasa de bits permanece igual dentro del archivo). Creo que la mayoría de los programas no están interesados ​​en descubrir esto, ya que implica analizar un poco el archivo para ver si la tasa de bits cambia, lo que le resta velocidad.¿Cómo puedo determinar mediante programación si un archivo MP3 es CBR o VBR? (Preferiblemente usando C#)

Así que, en lugar de encontrar una utilidad, me gustaría escribir una, así que ¿cómo podría determinar programáticamente si un archivo MP3 es VBR o CBR? Tengo alrededor de 15,000 archivos para descubrir esto, así que necesito automatizar el proceso.

Respuesta

7

archivos MP3 se construyen esencialmente de los llamados marcos. Cada cuadro tiene un encabezado pequeño que almacena información sobre el marco. El encabezado también almacena qué tasa de bits se utilizó para el marco. En los archivos CBR, todos los marcos usan la misma velocidad de bits y, por lo tanto, cada encabezado tiene la misma información de velocidad de bits.

Para detectar si un archivo usa VBR, debe pasar por cada fotograma del archivo, mirar el encabezado y comprobar si el campo de velocidad de bits cambia. Si lo hace, es un VBR MP3.

Una descripción completa del formato MP3 está aquí: http://www.mpgedit.org/mpgedit/mpeg_format/mpeghdr.htm

2

Marque esta MP3Header Class, que tiene un método que le indica si el archivo MP3 VBR, y toda la información de la cabecera de mp3 ...

... 
boolVBitRate = LoadVBRHeader(bytVBitRate); 
... 
+4

El método de esta clase utiliza para determinar si es un archivo VBR es bastante limitada. Solo comprueba si encuentra la cadena "Xing" después del encabezado ID3v2 (opcional) del archivo, pero esto no está descrito en ningún estándar y hay codificadores que no incluyen "Xing" incluso si se trata de un archivo VBR. . –

Cuestiones relacionadas