usando pipes

he hecho un miniscript, porque tengo que pasar bastantes cositas de ogg a mp3 (mi ipod no soporta ogg's :(). El problema es que el lame no llega a comprimir todo lo que le llega por el pipe, es decir, se ve que el oggdec acaba y como el lame va con retraso... En resumen, el .mp3 esta incompleto, este es el codigo:

#!/bin/bash

for i in *.ogg
do
    BASE=$(basename "$i" .ogg)
    oggdec "$BASE.ogg" --quiet -o - | lame --preset 192 - "$BASE.mp3"
done


Lo podria pasar a wav y despues a ogg, pero seria mas lento y queria aprovechar todas las ventajas del shell [toctoc]

Saludos
No uses oggdec, a mi siempre me dió problemas, utiliza ogg123 y sus filtros de salida, hay una opción que te permite sacarlo en wav, raw, ... y luego con lame intentar codificar ese stream


Salu2.Ferdy
Pues si, parece que el problema es de oggdec. Por si alguien le interesa aqui esta como lo he dejado

#!/bin/bash

for i in *.ogg
do
        BASE=$(basename "$i" .ogg)
        ogg123 -d wav -f - "$BASE.ogg" | lame --preset 192 - "$BASE.mp3"
done


Saludos y gracias Ferdy ;)
Probaré el script para pasar los 6 únicos discos que tengo en Ogg a MP3, porque mi iRiver no se lleva bien todavía con los Ogg de Bitrate variable (saltan de vez en cuando), y mientras espero revisión del firmware me vendrá bien.

Gracias a los dos y saludos.
3 respuestas