[ubuntu-ar] Ffmpeg me genera un archivo vacío y un error que no interpreto

Martin Pippo faktorqm at quilmeslug.org
Fri Dec 10 15:15:11 GMT 2010


El 10 de diciembre de 2010 00:00, Lisa Román Campos <lisaromanc en yahoo.com.ar
> escribió:

> Hola Sebastián:
>
> El mar, 07-12-2010 a las 11:09 -0300, Sebastián Alvarez escribió:
> > for i in `ls`; do nombre_cancion=`echo $i | sed 's/\..\{3\}$//'`;
> > oggdec $nombre_cancion.ogg -o /dev/stdout | lame - -f
> > $nombre_cancion.mp3 ; done
>
> No se que habré hecho mal, pero pego lo que aparece en la terminal
>
> lisa en hogar:~/Escritorio/karaokes/temas$ for i in `ls`; do
> nombre_cancion=`echo $i | sed 's/\..\{3\}$//'`;
> > oggdec $nino.ogg -o /dev/stdout | lame - -f
> > $nombre_cancion.mp3 ; doneoggdec from vorbis-tools 1.2.0
> ERROR: Failed to open input file: No such file or directory
> Warning: unsupported audio format
> 01.mp3: orden no encontrada
> oggdec: invalid option -- '.'
> Internal error: Unrecognised argument
> oggdec from vorbis-tools 1.2.0
> ERROR: No input files specified. Use -h for help
> Warning: unsupported audio format
> -.mp3: orden no encontrada
> oggdec from vorbis-tools 1.2.0
> ERROR: Failed to open input file: No such file or directory
> Warning: unsupported audio format
> Nino.mp3: orden no encontrada
> oggdec from vorbis-tools 1.2.0
> ERROR: Failed to open input file: No such file or directory
> Warning: unsupported audio format
> Bravo.mp3: orden no encontrada
> oggdec: invalid option -- '.'
> Internal error: Unrecognised argument
> oggdec from vorbis-tools 1.2.0
>
> Pareciera que hay nombres que debiera tomar de alguna parte pero da
> error. En el sitio sugerido
> http://www.commandlinefu.com/commands/tagged/78/ogg encontré:
> for x in *.ogg; do ffmpeg -i "$x" "`basename "$x" .ogg`.mp3"; done
>
> Hace lo que quiero, pero genera los MP3 vacíos, debe estar cerca la
> solución creo, tendré que cambiar algún parámetro. Lisa
>
>
>
> --
> Ubuntu-ar lista de correo
> Ubuntu-ar en lists.ubuntu.com
> Modifica tus opciones o desuscribite en:
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-ar
> Siempre leer, comprender y aplicar nuestra etiqueta:
> https://wiki.ubuntu.com/ArgentinaTeam/EtiquetaML
>
>
Para mi esta mal escrito el script, yo intente corregirlo, este fue el
resultado, espero que te sirva (por favor si alguien ve algo que esta mal,
avise!!)

for i in *.ogg; do nombre_cancion=$(echo $i | sed 's/\..\{3\}$//'); oggdec
$i -o /dev/stdout | lame - -f "${nombre_cancion}.mp3"; done

eso lo que hace es, para todos los archivos ogg del directorio actual, que
se guardan como cadena en la variable i, hago que le saco el .ogg y guardo
el nombre del archivo sin la extension en la cadena nombre_cancion, decodeo
con oggdec (sobre el archivo original con el .ogg incluido) y luego la
salida la agarro y la meto en el lame para pasar a mp3, cuyo archivo de
salida sera nombre_cancion concatenado con el .mp3. Luego sigo con el
proximo hasta que termine.

el error en el anterior era la concatenacion (las variables a concatenar van
con corchetes), de todas maneras muy bien al que lo hizo.

si no te podes armar un script mas lindo con un contenido como este que te
permita hacer de a un directorio:

#!/bin/bash

cd $1;
for i in *.ogg;
do nombre_cancion=${i/%.ogg/};
echo "Procesando $i";
oggdec $i -o /dev/stdout | lame - -f "${nombre_cancion}.mp3";
done

eso lo guardas con cualquier nombre.sh (ejemplo: pasar_ogg_a_mp3.sh) y luego
lo ejecutas utilizando

./pasar_ogg_a_mp3 /ubicacion/de/los/ogg

Espero que funcione, por que ahi lo cambie para no usar sed, pero no estoy
muy seguro como era el reemplazo cuando matcheaba. Saludos!!!
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://lists.ubuntu.com/archives/ubuntu-ar/attachments/20101210/2fb02ce3/attachment-0001.htm 


More information about the Ubuntu-ar mailing list