Extraer audio de un vídeo sin recodificar (direct copy)

Estoy aquí dándole vueltas al mencoder, al ffmpeg y demás. El tema es que quiero hacer un script para normalizar el audio de unos AVIs de una sóla tacada. ¿Como haría para sacar el audio de forma directa (esté en el formato que esté, ya sea MP3 o AC3)? Con el ffmpeg vi que se podía convertir a MP3, pero recodificando, y con el mplayer se podía sacar en WAV (pero claro, luego habría que recodificar otra vez). ¿Alguien sabe como sacarlo en plan "direct-copy"?

Otra duda, ¿como normalizo un ac3 en linux? ¿alguna idea?
El avidemux puedes usarlo también en modo CLI, y para extraer el audio sería algo así como:

avidemux --load video.avi --save-raw-audio audio_salida.mp3

Luego para normalizar supuestamente se puede hacer con ffmpeg pero no se, yo lo único que he normalizado han sido mp3 con el mp3gain.
kornshell escribió:El avidemux puedes usarlo también en modo CLI, y para extraer el audio sería algo así como:

avidemux --load video.avi --save-raw-audio audio_salida.mp3

Luego para normalizar supuestamente se puede hacer con ffmpeg pero no se, yo lo único que he normalizado han sido mp3 con el mp3gain.


Muchas gracias por contestar. El avidemux lo tengo instalado y ya barajé esa opción. El problema que tiene es que en muchos vídeos te dice que el índice no está al día y si lo queremos reconstruir (incluso la versión CLI). El problema es que claro, el proceso se para con la pregunta. He estado indagando en sus opciones/parámetros para ver si hay alguna opción para responder sí a todo o algo así, pero no la encuentro. También he mirado la opción --rebuild-index, para forzar la reconstrucción del índice pero me sigue haciendo la pregunta igualmente. También con la opción --nogui por aquello del silent mode, pero me lo sigue preguntando igual.


PD: Si, para normalizar un mp3 lo mejor es el mp3gain. Por eso me preguntaba si habría algo parecido en ac3.
hmmm no se, a mi si pongo la opción --rebuild-index no me pregunta nada. Eso si, al final del comando hay que poner la opción --quit o se te queda ahí parado :P
Al final conseguí hacerlo con el mplayer:
mplayer -dumpaudio video.avi -dumpfile audio.dump


El tema es que si el audio es ac3, ¿como lo normalizo? Con el normalize-audio por ejemplo sólo puedo mp3, wav y ogg. Otra opción posible sería convertirlo directamente a mp3 y luego normalizarlo, pero claro, no tengo ni pajolera idea a partir de un stream de audio ac3, convertirlo a mp3. ¿Alguien sabe como?


También he barado la opción de dumpear en WAV con el mplayer:
mplayer video.avi -vc dummy -vo null -ao pcm

Me crearía un fichero audiodump.wav, pero si lo recodifico con el lame, lo normalizo con el mp3gain, y lo vuelvo a montar con el menconder:
mencoder video.avi -ovc copy -oac copy -audiofile audio.mp3 -o out.avi
el audio se me queda desincronizado!! :-?
Está claro que el mp3gain no es, porque ni siquiera recodifica el audio. Entonces el culpable de dicha desincronización o es el lame, o es el mplayer cuando lo guarda en WAV PCM. Yo casi que creo que es el mplayer al sacar el wav, porque lo hice a modo de prueba con un vídeo (40 minutos aprox) y el wav duraba 2 segundos menos.


PD: Muchas gracias kornshell por todas las ideas ;)
4 respuestas