Hola, tengo un pequeño problema con un script sencillo que estoy realizando. aclaro que no tengo muchos conocimientos sobre esto, asi que lo mas seguro es que este haciendo algo mal, lo que quiero saber es, que es lo que estoy haciendo mal...
el script, lo usare para tomar una lista de archivos de video en formato mp4 que se encuentran en la carpeta "mis_videos" y convertilos a archivos formato .vob con el mismo nombre.
para convertir los videos, estoy usando el ffmpeg, y para acceder a la lista, estoy realizando un for de esta forma
for i in `ls -1 mis_videos` do echo "$i" ffmpeg -i $i -target pal-dvd -s 640x480 -ab 128kb -b 2040kb "/media/Documentos/mis_videos/$i.vob" done
el script me corre perfetamente, hasta el echo, donde me muestra los nombre de los archivos que quiero convertir; pero el error surge al intentar ejecutar la linea
ffmpeg -i $i -target pal-dvd -s 640x480 -ab 128kb -b 2040kb "/media/Documentos/mis_videos/$i.vob"
con la orden "ffmpeg -i $i" le digo al ffmpeg que tome el archivo que esta en ese momento en la variable $i como archivo de entrada; con "-target pal-dvd -s 640x480 -ab 128kb -b 2040kb" le digo las modificaciones que le hara al archivo; y con "/media/Documentos/mis_videos/$i.vob" le estoy indicando donde debera guardarlos, y el formato... diciendole que lo guarde en la carpeta mis_videos, guardandolos con el nombre de la variable $i pero con formato .vob
sin embargo, no estoy seguro de porder hacer esto. $i.vob
agradeceria mucho la ayuda.

¿Qué error obtienes? Es
¿Qué error obtienes?
Es posible que tu error sean las comillas en:
Es perfectamente válido poner $i.vob, si tu archivo se llamaba pelicula.mp4, después de la conversión se llamará pelicula.mp4.vob.
Si quieres eliminar la antigua extensión puedes hacer esto:
y usar la línea:
Suponiendo que los archivos que conviertes tienen todos la extensión .mp4
Saludos.
0000 start out (+FD),A ld BC, +7FFF jp 03CB, RAM-CHECKhttp://7grados.injiniero.es
Saludos.
0000 start out (+FD),A ld BC, +7FFF jp 03CB, RAM-CHECKhttp://www.injiniero.es
Gracias por tu ayuda
pues, gracias a lo que me has escrito, he verificado el codigo y he encontrado el error.
lo que sucedia es que yo envia a listar los archivos de la carpeta mis_videos desde /media/Documentos el ls -1 me los listaba, pero al intentar ejecutarse el ffmpeg no encontraba los documentos listados.
asi que lo que hice fue agregar la linea:
y cambiar la linea del for:
por simplemente esta:
haciendo que me liste los archivos de la carpeta desde la que estoy ejecutando el ffmpeg.
para mejorar el script modifique la linea que me enseñaste para evitar el archivo.mp4.vob y que quede simplemente archivo.vob
ahora solo necesito realizar un script para cambiar los espacios en los nombres de archivos pero como no tengo ni pinta de idea de como hacerlo tendre que hacer otro post para recibir ayuda.
por cierto... ¿podrias explicarme para que sirven los codigos que tienes en tu firma?
por cierto...
en las modificaciones al script que recomendaste, no seria mejor hacerlo en una sola linea?
me refiero a que en vez de usar esta dos lineas:
podria usar:
o no estaria permitido?.
lo que sucede es que si pongo la linea ARCHIVO=`basename $i .mp4` entonces, tendria que especificarle al ffmpeg el codec que debe usar para recodificarlo
Podrías hacerlo en una
Podrías hacerlo en una sóla línea, como comentas. No es ni mejor ni peor.
Lo que no entiendo es porqué tendrías que especificar el codec.
Y sí, se me había pasado que estabas listando los archivos de un directorio y luego en la línea del ffmpeg no hacías referencia a él.
Podías, simplemente, haber añadido:
Saludos.
0000 start out (+FD),A ld BC, +7FFF jp 03CB, RAM-CHECKhttp://7grados.injiniero.es
Saludos.
0000 start out (+FD),A ld BC, +7FFF jp 03CB, RAM-CHECKhttp://www.injiniero.es
Tienes la razon
pues, es que estaba algo confundido... creo que me enrede un poco, pero ahora que me fijo, no era necesario especificar el codec, ya que estaba indicada la extension del archivo de entrada y el de salida.
tambien me ha parecido buena la modificacion, la verdad no se me habia ocurrido.
muchas gracias por la ayuda