Sé que flv
y mp4
contienen aac
audio, mientras que el avi
video generalmente mp3
transmisiones de audio.
¿Qué comando (avconv, ffmpeg) extraería el audio sin transcodificarlo?
Comentarios
- Es posible que le interese un script PHP que diseñé, que utilizo para determinar automáticamente la extensión del archivo de audio de salida.
Respuesta
ffmpeg -i video.mp4 -vn -acodec copy audio.aac
Aquí hay una breve explicación de lo que hace cada parámetro:
-
-i
especifica el archivo de entrada. - a opción
-vn
se usa para omitir la parte del video. -
-acodec copy
copiará el flujo de audio manteniendo el códec original.
Comme nts
- si bien el video mp4 contiene audio aac, no mp3, ¿es eso mantener la transmisión de audio sin transcodificación?
- Didn ' t cuidar la extensión del archivo de salida, mi error. Actualizó la respuesta. De todos modos, si lees la respuesta completa, encontrarás que -acodec copy, esto evita la transcodificación.
- Sugiero m4a (contenedor para aac) en lugar de aac, porque parece que no es fácil de jugar
- ¿es posible, mientras se usa ffmpeg o avconv, tener un comando sin mencionar los nombres reales de los archivos de entrada / salida, de modo que el comando se use como tal? (Me gustaría usar eso en una acción del menú contextual en el administrador de archivos nemo)
- Es posible que desee usar una variable o algo así, pero es mejor si hace una pregunta con todos los detalles específicos.
Respuesta
Como respuesta complementaria, con un comando que no necesita el nombre específico del archivo.
Para un video que contiene audio aac:
ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a
Para usar en un comando del menú contextual, un formulario como este funciona:
bash -c "ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a" %f
Reemplazar con la salida de formato de audio correspondiente para otra entrada de formato de video.
Fuente inicial aquí .