
Tengo varios archivos de audio largos (80 minutos cada uno; m4a) y quiero dividirlos en partes de 5 o 10 minutos.
Veo muchas preguntas sobre cómo dividir un archivo de audio en pausas prolongadas, tonos, etc., pero parece que no puedo encontrar ninguna sobre esta sencilla operación. ¿Alguien sabe una forma sencilla de hacer esto?
Por supuesto, algo automático y de línea de comandos está bien, incluso es preferible.
¡Gracias de antemano!
Respuesta1
Con ffmpeg reciente (descargue una compilación estáticade aquí):
ffmpeg -i in.m4a -f segment -segment_time 300 -c copy out%03d.m4a
Esto utiliza el muxer de segmento y copia los flujos de bits. Si su archivo tiene transmisiones de audio y video, puede desactivar la transmisión de video con -vn
.
Aquí tienes una frase, solo necesitasRubíyFFmpeginstalado:
ruby -e '(0..4500).step(300) { |x| system "ffmpeg -ss #{x} -i in.m4a -c copy -t 300 out-#{x}.m4a"}'
Simplemente ejecútelo en la misma carpeta donde in.m4a
está. Copiará el flujo de bits de audio, por lo que ejecutarlo probablemente llevará menos de unos segundos.
Para explicar:
- 4800 segundos es la duración del archivo de audio (80 minutos × 60 segundos), por lo que nuestra última división es de 4500 (4800 - 300 segundos).
- Pasamos de 0 a 4500, y dividimos cada 300 segundos (5min × 60s).
- FFmpeg se iniciará a la hora especificada por
-ss
- Y se copiará durante el tiempo especificado por
-t
- Escribirá varios archivos de salida llamados
out-<x>.mp4
, donde<x>
está la hora de inicio en segundos.
Respuesta2
Yo mismo estaba buscando una solución para esto. La forma más fácil que encontré para hacer esto es a través deMP4Box:
mp4box -split 300 infile.m4a
Donde "300" es el tiempo en segundos. MP4Box escribirá automáticamente archivos de salida numerados.
(No es necesario instalar toda la gran aplicación GPAC. Estos son los archivos que puede extraer del archivo para que funcione: js.dll; libeay32.dll; libgpac.dll; MP4Box.exe; ssleay32.dll)
Respuesta3
Ha pasado un tiempo desde que se hizo esta pregunta, pero después de jugar con Ruby y ffmpeg decidí que tenía que haber una manera más fácil de hacer esto dentro de Windows, y descubrí que la hay.
Descargar e instalar Audacity
Cree un archivo de texto en algún lugar donde pueda encontrarlo y pegue la siguiente cadena en él: (intervalos de 300 segundos, es decir, 5 minutos, 10 minutos serían 600 intervalos, etc...)
0 300
300 600
600 900
900 1200
1200 1500
1500 1800
1800 2100
2100 2400
2400 2700
2700 3000
3000 3300
3300 3600
3600 3900
3900 4200
4200 4500
4500 4800
4800 5100
5100 5400
5400 5700
5700 6000
6000 6300
6300 6600
6600 6900
6900 7200
7200 7500
7500 7800
7800 8100
8100 8400
8400 8700
8700 9000
9000 9300
9300 9600
9600 9900
9900 10200
10200 10500
10500 10800
10800 11100
11100 11400
11400 11700
11700 12000
12000 12300
12300 12600
12600 12900
12900 13200
13200 13500
13500 13800
13800 14100
14100 14400
14400 14700
14700 15000
Solo asegúrese de que la cantidad de intervalos sea mayor que la duración total de sus archivos de audio. Creé este que dura más de tres horas, lo suficientemente largo para mis necesidades, agréguele más para satisfacer sus necesidades.
Importe el archivo de audio a Audacity y realice cualquier equilibrio y otras ediciones que desee, luego haga clic en archivo>etiquetas>importar etiquetas
Seleccione su archivo de texto, luego seleccione la pista de etiqueta y la pista de audio al mismo tiempo y haga clic en archivo>Exportar múltiple.
Cambie el tipo de archivo al que desea exportar y ajuste la configuración, luego seleccione la carpeta de destino.
Siempre cambio el patrón de numeración a Numeración después del prefijo de nombre de archivo y escribo el nombre de archivo que quiero en el cuadro y el programa agregará los números, presiono Exportar y ¡viola!
Respuesta4
MP4Box funciona perfecto. Siempre es genial poder hacer las cosas desde la terminal. Manera más rápida.
Esta es la página de descarga: https://gpac.wp.imt.fr/downloads/gpac-nightly-builds/ Instalas el programa, luego puedes trabajar desde la terminal, no se necesita nada más.
Probado, el comando dfkt dijo que funciona perfecto: mp4box -split 59 infile.m4a
En mi caso, quería dividir en m4a <1min, para facilitar el uso de voz a texto de Google.
Audacity puede funcionar bien, pero en mi caso siempre prefiero trabajar con comandos que con una interfaz de usuario gráfica. La mejor solución para mp4box. No doy nueva información, el crédito es por dfkt (gracias hombre). Solo estoy validando que es una gran solución.