Eliminar audio de un archivo de video con FFmpeg

Eliminar audio de un archivo de video con FFmpeg

¿Cómo puedo eliminar la pista de audio de un archivo de vídeo con FFmpeg?

Respuesta1

Elimina el audio usando la -anbandera:

input_file=example.mkv
output_file=example-nosound.mkv

ffmpeg -i $input_file -c copy -an $output_file

Esta bandera ffmpeg está documentadaaquí.

Respuesta2

Probablemente no quieras volver a codificar el vídeo (un proceso lento y con pérdidas), así que intenta:

input_file=example.mkv
output_file=example-nosound.mkv

ffmpeg -i $input_file -vcodec copy -an $output_file

(Nota: algunas distribuciones de Linux ahora vienen con elbifurcación avconv de ffmpeg)

Respuesta3

avconv -i [input_file] -vcodec copy -an [output_file]

Si no puede instalarlo ffmpegporque ya existe, avconvintente hacerlo.

Respuesta4

También puede utilizar la -mapopción para ffmpegobtener un mejor control sobre qué se colocará exactamente en el contenedor de video final.

Digamos, por ejemplo, que su archivo de vídeo my_video.mp4está compuesto de esta manera:

Input #0
  Stream #0:0 Video: h264
  Stream #0:1 Audio: English
  Stream #0:2 Audio: German
  Stream #0:3 Audio: Japanese
  Stream #0:4 Audio: Spanish
  Stream #0:5 Audio: Italian

Para eliminartodopistas de audio (como -anlo hace la opción):

ffmpeg -i my_video.mp4 -map 0 -map -0:a -c copy my_video.noaudio.mp4`

-map 0captura toda la entrada (videos, audios, subtítulos, metadatos, capítulos, etc.).
-map -0:a elimina todas las pistas de audiodesde la entrada 0 (observe el -signo).
-c copycopias tal como están sin volver a codificarlas.

Para eliminar eljaponésyEspañolpistas:

ffmpeg -i my_video.mp4 -map 0 -map -0:3 -map -0:4 -c copy my_video.nojap.noesp.mp4`

-map -0:3elimina la tercera pista de la entrada 0, que es el audio japonés.
-map -0:4elimina la 4ra pista de la entrada 0, que es el audio en español.

Para eliminar todas las pistas de audio peroitaliano:

ffmpeg -i my_video.mp4 -map 0 -map -0:a -map 0:5 -c copy my_video.ita.mp4`

-map -0:aelimina todas las pistas de audio de la entrada 0.
-map 0:5inserta la quinta pista de la entrada 0, que es el audio italiano (observe -el signo NO en este caso).


Esto también es muy útil cuando se trata de más de un archivo.
Por ejemplo cuando:

  • tomando audio de un archivo
  • pistas de audio de otro
  • subtítulos y metadatos de un tercero

información relacionada