Aquí hay un acertijo de MP3 de audio de Linux que me ha estado molestando por un tiempo:
Cómo recortar los primeros segundos de un MP3 ¿archivo de audio? (No puedo hacer que ffmpeg -ss
funcione con el formato 00:01 o 1.000)
Hasta ahora, para hacer lo que quiero, recurro a hacerlo en una GUI que puede ser más lenta para un solo archivo y definitivamente más lenta para un lote de archivos.
Comentarios
- Una actualización. Más tarde, tropecé con el hecho de que ffmpeg es muy exigente con el formato de tiempo –ss, y pude recortar más fácilmente los primeros 9 segundos, por ejemplo, especificando -ss 00:00:09 (tenga en cuenta que necesita los 3 números en hh: mm: ss formato) La versión que estaba usando puede ser antigua … FFmpeg versión SVN-r18709, Copyright (c) 2000-2009 Fabrice Bellard, et al.
Answer
Para editar mp3 «s en linux, recomiendo sox . Tiene un efecto trim
fácil de usar que hará lo que usted solicita (consulte man sox
para obtener datos – buscar (presione /
) para» inicio de recorte «). Ejemplo:
sox input.mp3 output.mp3 trim 1 5
No lo mencionaste, pero si tu objetivo es simplemente eliminar el silencio al principio de los archivos, encontrará el efecto silence
mucho más útil (man sox
, busque «above-period» )
Comentarios
- Gracias, genial: funcionó. Terminé usando
trim
para simplificar. La única decepción fuesox FAIL formats: can't open output file 'blah.mp3': SoX was compiled without MP3 encoding support
– así que, vuelva a ingresar ffmpeg: / - Eso parece inusual. En mi computadora, funciona sin problemas con mp3. Es una cuestión de configuración en tiempo de construcción. ¿Cómo lo instalaste?
- @rozcietrzewiacz, si instalas sox desde un repositorio de distribución, lo más probable es que obtengas sox sin soporte para MP3 (debido a problemas de licencia). Por ejemplo en Fedora 17:
no handler for file extension mp3
- Yo ' estoy teniendo dificultades para entender cómo compilar sox con mp3. apoyo. Sin preguntas frecuentes, sin google, nada. Y la pregunta era sobre recortar usando ffmpeg …
Responder
Podría intentar usar mp3splt , que puede dividir archivos MP3 y Ogg y tiene la ventaja de que no vuelve a codificar el archivo, evitando así la pérdida de calidad.
Comentarios
- Me gusta; Gracias. Es simple y, sin embargo, tiene muchas opciones … Por ejemplo: aquí está el comando que acabo de usar, que agrega los tiempos parciales al nombre del archivo:
mp3splt "$file" 4.12 27.55.7
… Permite formato de nombre de salida personalizado y múltiples puntos de división.
Respuesta
Asegúrese de que las especificaciones de tiempo comiencen con horas.
Para citar la página de manual de ffmpeg :
posición puede ser en segundos o en formato «hh: mm: ss [.xxx]»
Eso significa que cuando eliges la segunda sintaxis solo .xxx
la parte es opcional. De lo contrario, ffmpeg podría analizarlo erróneamente como segundos.
Lo mismo ocurre con la duración:
la duración puede ser un número en segundos, o en «hh: mm: ss [.xxx]»
Otro error es el orden de los argumentos ffmpeg (por ejemplo, el -ss
/ -t
las opciones para un archivo de entrada deben ir antes de la opción -i
).
Ejemplo
$ wget http://traffic.libsyn.com/twiv/TWiV179.mp3 $ ffmpeg -ss 1:05:59.3 -t 00:02:03.9 -i TWiV179.mp3 -acodec copy \ what_is_a_hmm_twiv179.mp3
Con la especificación -ss 1:05:59.3 -t 2:03.9
obtendría un resultado diferente (es decir, una pieza de 2 segundos de duración).
(Probado en Fedora 17 con ffmpeg versión 0.10.7.)