¿Cómo puedo corregir la duración incorrecta de mp3?

22

Tengo varias canciones en mi biblioteca de Música que muestran valores de duración incorrectos y, por lo tanto, solo se reproducen parcialmente en Clementine. En Banshee y algunos otros jugadores muestran valores de duración diferentes y, a veces, reproducen la canción completa.

¿Hay alguna manera de arreglar esto sin tener que "volver a codificar" la canción?

RolandiXor
fuente

Respuestas:

24

MP3 Diags puede corregir duraciones incorrectas (y otros errores). Es de código abierto y en los repositorios. Es una herramienta GUI.

Instalación

sudo apt-get install mp3diags mp3diags-doc

Otra opción es MP3val , que se puede usar a través de la línea de comandos o mediante la GUI:

Instalación

sudo apt-get install mp3val

Ejemplo de uso

mp3val damaged.mp3 -f -t

-f: corregir errores -t,: mantener la marca de tiempo original

phoibos
fuente
Esto funcionó para mí. Yo uso catpara combinar partes de audiolibros en un solo archivo ( cat 1.mp3 2.mp3 > out.mp3) y que funciona muy bien para la reproducción, pero casi cada jugador obtiene loco con las marcas de tiempo e incluso mediainfomuestra la duración desde el primer archivo en lugar de la combinación.
Blockloop
cates menos que ideal para tareas como combinar mp3. Una mejor manera: http://superuser.com/questions/314239/how-to-join-merge-many-mp3-files
phoibos
¿Por qué piensas eso? Los archivos MP3 no son mucho más que transmisiones en bruto y son casi el candidato perfecto para catdejar de lado los efectos secundarios triviales resueltos con una simple reevaluación de los datos del encabezado de Xing. Incluso sin el mp3val, los archivos siguen reproduciéndose en todos los reproductores por los que los he enviado. cates extremadamente eficiente y MUCHO más rápido que volver a codificar con ffmpeg. Incluso con el comando mp3val agregado.
blockloop el
ffmpegcon concaty -acodec copyhace no volver a codificar - sólo copia los flujos (por lo que es rápido), pero crea un archivo adecuado en el primer lugar (sin datos de cabecera y etiquetas inútiles que aparece varias veces en los archivos resultantes).
phoibos
10

Si no desea instalar nada nuevo, intente con ffmpeg :

ffmpeg -i file_orig.mp3 -acodec copy file_fixed.mp3
Alcaro
fuente
¡La solución perfecta también funciona si ffmpeg ha creado un archivo mp3 incorrecto!
Pierpaolo Cira
Esto realmente funcionó para mí, cuando las soluciones mp3valy mp3checkno lo hicieron. (Solo para estar seguro, no se vuelve a codificar, ¿verdad?)
Noldorin
Con la copia -acodec, no se vuelve a codificar. Si quieres verificarlo, prueba con y sin él y verifica qué tan rápido va.
Alcaro
1

Aparte de que los encabezados VBR no coinciden con el audio real (que usaría mp3valpara corregir, como se menciona en la otra respuesta), otra razón por la que esto puede deberse es que un archivo MP3 tiene una etiqueta ID3 que tiene un valor incorrecto para la TLENetiqueta. Puede solucionar esto usando la mid3v2herramienta del mutagenpaquete para eliminar la etiqueta (aparentemente es opcional):

$ mid3v2 --delete-frames=TLEN filename.mp3

El reproductor de música Quodlibet también tiene un conveniente complemento "Fix MP3 Duration" que puede usar para hacer esto.

(Tomado de las preguntas frecuentes de Quodlibet: http://quodlibet.readthedocs.org/en/latest/guide/faq.html )

nedned
fuente
1

mp3check funcionó perfecto para mí también con comodines.

sudo apt-get install mp3check

mp3check {filename or wildcard} --cut-junk-start --cut-junk-end --fix-headers
Dmitry Orlov
fuente
ayudó cuando el reproductor de Windows Media mostró una duración incorrecta del archivo mp3
Mantas D
ADVERTENCIA Si tiene etiquetas id3v2, carátula, etc., tenga mucho cuidado con estos problemas (aprendí por las malas) bugs.launchpad.net/ubuntu/+source/mp3check/+bug/592775 bugs.launchpad.net/ubuntu/+ fuente / mp3check / + bug / 1348223
digitaltoast