2011-06-03 11 views
22

Un amigo mío acaba de utilizar llanura de edad cat para concatenar dos archivos mp3, ...Usar cat para unir archivos mp3. ¿Qué es esta hechicería negra?

cat file1.mp3 file2.mp3 > out.mp3 

... y el archivo resultante es perfectamente reproducible, tocando una canción y luego la siguiente.

¿Cuál es esta magia negro? ¿Qué pasó con los encabezados, los metadatos? ¿Cómo puede esto funcionar? La duración incluso se muestra correctamente.

Respuesta

10

Un archivo MP3 es nada más que los 3 (audio) datos de la secuencia en bruto MPEG2-Layer, no existe una estructura de cabecera a nivel de archivo, por ejemplo, la duración, fuente original, la información de codificación. Una secuencia de MP3 está compuesta de bloques que comienzan con un marcador de sincronización FF Fx, por lo que los datos arbitrarios, como las etiquetas ID3, se pueden colocar en cualquier lugar y no afectarán el audio. Los jugadores o bien adivinan la duración de la tasa de bits y el tamaño del archivo si las etiquetas ID3 no incluyen esta información o realizan un análisis completo del archivo para calcularlo con precisión.

+0

Sí - archivos MP3 son extraños en que son simplemente la corriente en bruto sin ningún tipo de encapsulación. Una corrección: generalmente son MPEG1-Layer3. –

+0

@John: ¿Oh? Siempre escuché MPEG2, ¿es porque es el mp3 "actual"? ¿O estoy solo loco? –

+0

Los números MPEG no son realmente versiones, solo son estándares que se incrementan. En este caso, MPEG-2 amplía el estándar de audio MPEG-1 con algunas velocidades de bits más bajas, y extrañamente no se superpone por completo con él, no permite altas tasas de bits. Entonces, lo que la mayoría de la gente está utilizando a 128 kbit es en realidad MPEG-1 Layer-3. Vea el enlace 'encabezados mp3' en la otra respuesta. –

9

No olvide que los reproductores están normalmente preparados para manejar las codificaciones variable bitrate, por lo que es posible que cada cuadro tenga una tasa de bits diferente.

En cuanto a los metadatos, que es un bicho raro; aunque el id3 tags de ambas pistas se incluirían en el nuevo archivo, la mayoría de los jugadores sólo van a estar buscando las etiquetas en el final del archivo para ser presentado al usuario, y simplemente se saltan las etiquetas incrustadas en el medio de una archivo como contenido conocido 'no-música'. Algunos pueden jugar a la basura o chocar, pero dudo que sean populares si son tan frágiles.

y observe que el mp3 headers no codifican ninguna información sobre el tamaño total del archivo - eso es todo calculado en tiempo de ejecución. (Quizás a través de la magia.)

Cuando estaba tratando de aprender alemán escuchando emisoras de radio en tiempo real, con frecuencia utilizaba dd para separar secuencias gigantes adivinando qué tan lejos en la pista quería comenzar y detener los cortes. .poco elegante, pero no recodificación, y mi jugador lo manejó bien.

Cuestiones relacionadas