GStreamer es una biblioteca que sirve como capa de abstracci√≥n para un chorro de codecs de audio y v√≠deo en los escritorios Linux. Es genial en el sentido de que hace trivial el hecho de que una aplicaci√≥n pueda leer distintos formatos.
A la hora de extraer audio de CDs, nos encontramos con un problema: Elegir el perfil de audio.

¬ŅQu√© es un perfil de audio?

Básicamente es dar un nombre y descripción "legible para humanos" a una tubería (o pipeline) de GStreamer.

Aaaam ahora lo tengo todo claro... no, en serio, ¬Ņqu√© es una tuber√≠a o pipeline de GStreamer?

B√°sicamente le indica a GStreamer c√≥mo tiene que entrar el v√≠deo o audio, qu√© debe hacer con √©l, y c√≥mo debe de salir.

¬ŅQu√© aspecto tiene?

Algo así:

audio/x-raw-int,rate=44100,channels=2 ! lame name=enc mode=0 vbr=4 vbr-quality=4 ! xingmux ! id3v2mux

¬ŅComoooorr?

Vale, vayamos por partes.

  • La pen√ļltima parte (xingmux) arregla una cosa que se llaman xing headers del mp3. Se usan cuando el mp3 tiene bitrate variable (VBR, saca mayor calidad en menor espacio).
  • id3v2mux le aplica las etiquetas ID3 al fichero creado.
  • ¬ŅY c√≥mo sabes t√ļ eso?

    F√°cil, abre una terminal y escribe:
    gst-inspect-0.10 lame | less

    Lo de less no hace falta pero te facilita la lectura. Para salir pulsa q.

    Empiezo a entenderlo... ¬ŅEntonces es esto lo que tengo que hacer para codificar mp3?

    Pues me alegro de que empieces a entenderlo, pero no es esto lo que deberías hacer.
    Verás, el complemento lame que hemos usado es el que viene configurado en distros como Debian o Ubuntu, pero si echamos un vistazo a la documentación oficial de GStreamer respecto a codificar mp3, veremos que este ha quedado obsoleto. Ahora se usa el complemento lamemp3enc.

    Jo, ahora que me conocía este...

    Tranquilo, este complemento es mucho más fácil de usar y aprender. Esta es la tubería que uso yo:

    audio/x-raw-int,rate=44100,channels=2 ! lamemp3enc ! xingmux ! id3v2mux

    Como ves, ni siquiera le he puesto ning√ļn par√°metro, porque los que trae por defecto son b√°sicamente los que hemos puesto arriba con el complemento antiguo.

    ¬ŅMe explicas entonces el lamemp3enc?

    No. Ya te he explicado el otro, y este funciona igual pero con distintos parámetros. Piensa un poco y averiguarás dónde encontrar dichos parámetros.

    Como nota adicional, este artículo también puede interesarte.
    Sé feliz ;)