¿Cómo cortar un archivo de audio con avconv?

¿Cómo cortar un archivo de audio con avconv?

Me resulta difícil descubrir cómo cortar un archivo con avconv. Aquí está el comando que uso:

avconv -ss 52:13:49 -t 01:13:52 -i RR119Accessibility.wav RR119Accessibility-2.wav 

Pero no funciona. Como resultado, obtengo el archivo completo. Bueno, casi todo el expediente. De alguna manera, el archivo resultante tiene una duración 1:16:31en lugar de 1:17:23. También creo que ejecuté este comando de todas las formas posibles: con -ssy -tdespués -i, -tespecificando el punto final, con archivos mp3, especificando el códec de audio, con ffmpeg. ¿Lo estoy haciendo mal?

UPDGracias a bodhi.zazeneste trabajo (corregí el desplazamiento y la duración informados por mp3splt-gtk, estaban equivocados por alguna razón u otra, y el objetivo era cortar el archivo mp3)

avconv -i RR119Accessibility.mp3 -ss 00:52:08 -t 00:01:08 RR119Accessibility-2.mp3

Pero esto no:

avconv -ss 00:52:08 -t 00:01:08 -i RR119Accessibility.mp3 RR119Accessibility-2.mp3

El archivo resultante comienza en 00:52:08 y continúa hasta el final del archivo original. Pensé -ssy -testán relacionados con el archivo de entrada si se especifica antes -i. Y para generar el archivo de lo contrario. ¿Alguien podría explicar esto?

Respuesta1

Creo que el problema original estaba en el formato de la marca de tiempo.

El formato es HH:MM:SS

No estoy seguro de entender su pregunta sobre el orden de las opciones. No creo que importe siempre que -i vaya seguido del nombre del archivo de entrada y -ss HH:MM:SS siga a mi -t HH:MM:SS

-ss HH:MM:SS es el punto de partida y -t HH:MM:SS es la duración.

entonces -ss 00:01:00 -t 00:05:00 comenzaría en la marca de un minuto y se ejecutaría durante 5 minutos.

En mi sistema, usando ffmpeg, el orden no importa (puede especificar la hora o el archivo de entrada en cualquier orden siempre que -ss vaya seguido de la duración (-t))

Respuesta2

El problema proviene del diferente significado de -ssdependiendo de en qué parte de la línea de comando se encuentre. Es un remanente de los días en que avconvtodavía era parte del ffmpegproyecto y creo que se está solucionando en las versiones más nuevas.

En los viejos tiempos si decías algo como

 ffmpeg -ss 5 -i input

Lo que quiso decir fue "saltar a la marca de 5 segundos en el archivo y comenzar a leer allí".

Pero si dijiste

ffmpeg -i input -ss 5

Quiso decir "abrir el archivo de entrada y omitir todos los datos hasta la marca de cinco segundos".

Como puede comprender, el primer enfoque fallará con bastante frecuencia, porque se salta el archivo sin leerlo. Funciona bien sólo en los archivos que tienen marcas de tiempo, lo que le permite leer el fotograma y saber si ya ha ido demasiado lejos o no.

Básicamente, la forma en que funcionó en ffmpeg fue "Adivina la tasa de bits en el primer segundo y luego asume que todos los demás segundos son iguales". Pero claro, no todos los segundos son iguales, y si hablamos de 52 horas de "deriva" el error puede ser bastante grande.

Entonces, si está utilizando la versión anterior a la división de avconv, siempre debe colocarla -ssdespués del archivo que se está leyendo. Pero en las versiones más nuevas (que yo sepa) este error se solucionó.

Respuesta3

Intentar:

avconv -i RR119Accessibility.wav -ss 52:13:49 -t 01:13:52 RR119Accessibility-2.wav

Las opciones de ffmpeg y avconv dependen de la posición.

En su ejemplo, ffmpeg comienza a leer el archivo y comienza a generar desde timestamp -ss
(que ffmpeg funciona bien en mi sistema y avconv no, llámelo una especie de regresión).

En el ejemplo que he dado aquí, avconv (o ffmpeg) busca primero el desplazamiento correcto y luego comienza a leer y generar. Esto funciona para ambos.

Puede encontrar más documentación sobre avconv enhttp://libav.org Estos chicos han bifurcado ffmpeg y también son responsables de la versión extremadamente antigua de ffmpeg en Ubuntu.

El REAL ffmpeg no está en los repositorios de ubuntu sino en un PPA:
ppa:jon-severinsson/ffmpeg
Puede encontrar más documentación sobre ffmpeg enhttp://ffmpeg.org

Considere las páginas de manual desactualizadas

información relacionada