Intenté el siguiente comando para extraer audio del video:
ffmpeg -i Sample.avi -vn -ar 44100 -ac 2 -ab 192k -f mp3 Sample.mp3
pero obtengo el siguiente resultado
libavutil 50.15. 1 / 50.15. 1
libavcodec 52.72. 2 / 52.72. 2
libavformat 52.64. 2 / 52.64. 2
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.19. 0 / 1.19. 0
libswscale 0.11. 0 / 0.11. 0
libpostproc 51. 2. 0 / 51. 2. 0
SamplE.avi: Invalid data found when processing input
¿Alguien puede ayudar, por favor?
Para codificar un MP3 de alta calidad desde un AVI, utilice mejor -q: a para velocidad de bits variable:
Si desea extraer una porción de audio de un video, use la opción -ss para especificar la marca de tiempo de inicio y la opción -t para especificar la duración de la codificación, por ejemplo, de 3 minutos y 5 segundos durante 45 segundos:
Las marcas de tiempo deben estar en formato HH: MM: SS.xxx o en segundos.
Si no especifica la opción -t , se irá al final.
Ejemplo de trabajo:
fuente
-q:a
valores: trac.ffmpeg.org/wiki/Encode/MP3 Zero es la configuración de VBR de más alta calidad, que generalmente da como resultado tasas de bits promedio en la parte superior del rango de CBR sano (donde 320 kbit / s es el máximo, probablemente un poco más allá del punto en el que la compresión sin pérdida se vuelve más apropiada).-map a
?-vn
no.La línea de comando es correcta y funciona en un archivo de video válido. Me aseguraría de que haya instalado la biblioteca correcta para trabajar con mp3, instale lame o probe con otro códec de audio.
Generalmente
o
daría suficiente información para que sepa más.
fuente
ffmpeg -i sample.avi
le dará la información del formato de audio / video para su archivo. Asegúrese de tener las bibliotecas adecuadas configuradas para analizar las secuencias de entrada. Además, asegúrese de que el archivo no esté dañado.fuente
Para codificar audio mp3, ffmpeg.org muestra el siguiente ejemplo:
Extraje el audio de un video simplemente reemplazándolo
input.wav
con el nombre del archivo de video. El2
medio 190 kb / seg. Puede ver los otros niveles de calidad en mi enlace de arriba.fuente
Esto es lo que acabo de usar:
Explicación de opciones:
-map 0:3
significa que quiero la tercera transmisión del archivo de video. Ponga su N allí: los archivos de video a menudo tienen múltiples transmisiones de audio; puede omitirlo o usarlo-map 0:a
para tomar la secuencia de audio predeterminada. Ejecuteffprobe my.mkv
para ver qué secuencias tiene el archivo de video.fuente
Solo una suposición:
debiera ser
Parece que eso podría ser un problema, pero tal vez ffmpeg sea lo suficientemente inteligente como para corregirlo.
fuente
Si el audio envuelto en el avi no tiene formato mp3 para empezar, es posible que deba especificarlo
-acodec mp3
como parámetro adicional. O sea cual sea su códec mp3 (en sistemas Linux es probable-acodec libmp3lame
). También puede obtener el mismo efecto, independiente de la plataforma, al especificar-f mp3
"forzar" el formato a mp3, aunque no todas las versiones de ffmpeg todavía admiten ese cambio. Su experiencia puede ser diferente.fuente
Para extraer sin conversión, uso una entrada del menú contextual, como acción personalizada del administrador de archivos en Linux, para ejecutar lo siguiente (después de haber verificado qué tipo de audio contiene el video; ejemplo para video que contiene
ogg
audio):que se basa en el comando ffmpeg
ffmpeg -i INPUT -map 0:a -c:a copy OUTPUT
.Lo he usado
-map 0:1
sin problemas, pero, como se dijo en un comentario de @LordNeckbeard, "0:1
no se garantiza que Stream sea siempre audio. Usar en-map 0:a
lugar de-map 0:1
evitará la ambigüedad".fuente
0:1
no se garantiza que sea siempre de audio. Usar en-map 0:a
lugar de-map 0:1
evitará la ambigüedad.mediainfo
determinar la pista de audio, y la elegí así:-map 0:a:1
donde a: 1 es el segundo índice de pista de audio, ¡gracias!-c:a copy
lo hizo mucho más rápido!Para las personas que buscan la forma más sencilla de extraer audio de un archivo de video mientras conservan los parámetros del archivo de video original, puede usar:
Por ejemplo, ejecutando:
extrae un
mp3
archivo de audio de unmov
archivo de video.fuente
Use en
-b:a
lugar de-ab
como-ab
está desactualizado ahora, también asegúrese de que la ruta del archivo de entrada sea correcta.Para extraer audio de un video, he usado el siguiente comando y funciona bien.
Aquí,
-y
- Sobrescribir archivos de salida sin preguntar.-i
- FFmpeg lee de un número arbitrario de "archivos" de entrada especificados por el-i
opción-vn
- Deshabilitar la grabación de video-ar
- establece la frecuencia de muestreo para transmisiones de audio si está codificada-ac
- Establecer el número de canales de audio.-b:a
- Establecer la tasa de bits de audio-f
- formatoMira esto para mi muestra completa del proyecto de Android FFmpeg en GitHub.
fuente