Cómo convertir un archivo WAV a MP3 usando FFmpeg

Cómo convertir un archivo WAV a MP3 usando FFmpeg

Para las personas sin conocimientos suficientes sobre estos formatos siempre se cuestionara que formato es el mejor, ¿WAV o MP3? Eso es porque esos son los formatos de audio más comunes hoy en día que puedes encontrar en todas partes. WAV se utiliza cuando se requiere una calidad de audio sin concesiones y MP3 cuando se necesitan archivos de música ligeros. Puedes entenderlo fácilmente con el ejemplo de una canción que en formato WAV tiene un tamaño de aproximadamente 70MB mientras que en formato MP3, tendrá un tamaño de hasta 5MB solo dependiendo de la tasa de bits.

FFmpeg se puede utilizar para convertir un archivo WAV enorme en un archivo MP3 diminuto que permite al usuario escuchar la misma canción pero descargar solo una parte del tamaño original del archivo WAV. En este artículo, te explicaré cómo convertir fácilmente un archivo WAV a MP3 usando FFmpeg desde la línea de comandos.

WAV a MP3 usando FFmpeg

Como todo en nuestro blog, encontrarás la solución de inmediato para que puedas usarla inmediatamente en tus propios proyectos. El comando para convertir WAV a MP3 con una buena relación entre calidad y tamaño se puede desglosar así:

  • -i: el archivo WAV de entrada que se convertirá a MP3 utilizando el codificador libmp3lame.
  • -vn: Deshabilitar cualquier video posible, solo para asegurarse de que no haya ninguna imagen de portada de álbum adjunta.
  • -ar: Establece la frecuencia de muestreo de audio. Los valores más comunes para la frecuencia de muestreo son 8 kHz (más común para comunicaciones telefónicas), 44,1 kHz (más común para CD de música) y 48 kHz (más común para pistas de audio en películas).
  • -ac: Establece el número de canales de audio. Para las transmisiones de salida, se establece de forma predeterminada en el número de canales de audio de entrada. Para los flujos de entrada, esta opción solo tiene sentido para dispositivos de captura de audio y demuxers sin procesar y se asigna a las opciones de demuxer correspondientes. Así que se usa aquí para asegurarse de que sea estéreo (2 canales) en lugar de mono (1 canal).
  • -b:a: Convierte la tasa de bits de audio a 192 kbit por segundo exactos. Si necesitas audio MP3 con tasa de bits constante (CBR), debes usar la opción -b:a en lugar de -qscale:a. Aquí puede especificar el número de bits por segundo, por ejemplo, -b:a 256k si deseas un audio de 256 Kbit / s (25,6 KB / s). Las opciones disponibles son: 8, 16, 24, 32, 40, 48, 64, 80, 96, 112, 128, 160, 192, 224, 256 o 320 (agregue ak después de cada uno para obtener esa tasa). Para obtener el uso de configuración de la más alta calidad -b:a 320k.

El comando para convertir el archivo WAV dada la siguiente explicación sería el siguiente:

ffmpeg -i input-file.wav -vn -ar 44100 -ac 2 -b:a 192k output-file.mp3

La conversión debería comenzar y aparecerá una salida similar a la siguiente:

ffmpeg version 4.3.1-2021-01-01 Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 10.2.0 (Rev5, Built by MSYS2 project)
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, wav, from 'input-file.wav':
  Metadata:
    encoded_by      : REAPER
    date            : 2020-03-08
    creation_time   : 16-25-30
    time_reference  : 1281656
  Duration: 00:03:10.31, bitrate: 2116 kb/s
    Stream #0:0: Audio: pcm_s24le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s32 (24 bit), 2116 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (pcm_s24le (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
Output #0, mp3, to 'output-file.mp3':
  Metadata:
    TENC            : REAPER
    TDRC            : 2020-03-08     
    time_reference  : 1281656
    TSSE            : Lavf58.45.100
    Stream #0:0: Audio: mp3 (libmp3lame), 44100 Hz, stereo, s32p (24 bit), 192 kb/s
    Metadata:
      encoder         : Lavc58.91.100 libmp3lame
size=    4462kB time=00:03:10.32 bitrate= 192.1kbits/s speed=74.8x    
video:0kB audio:4461kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.016307%

En nuestro caso, para un archivo WAV de aproximadamente 49 MB, el archivo MP3 de salida tiene un tamaño de solo 4,35 MB. Hacer esto con FFmpeg puede ser útil si está pensando en la automatización de algún tipo de plataforma que permita a los usuarios cargar música en formato WAV, pero en lugar de servir los archivos RAW WAV, el archivo transferido para escuchar en línea será MP3.

Que te diviertas ❤️!

Esto podria interesarte

Conviertete en un programador más sociable