Pongo aquí el script que ha hecho triung_cs para convertir vídeos en Linux, publicado originalmente en este hilo (http://www.reproductormp3.net/component/option,com_smf/Itemid,34/topic,2604.0). Utiliza mencoder y, como se puede ver en el propio código, hay que pasarle cuatro parámetros: nombre del archivo que vamos a convertir, nombre del archivo resultante, fps y número de pasadas. ;-)
Citar#!/bin/bash
echo ">>>>>>>>>>>>>>>>>>>>>>> CONVERT TO MEIZU MEDIA <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n"
echo
echo " ¡¡¡Bienvenido $USER!!!"
echo
if [ $# -ne 4 ]; then
echo %body%#039;\a'" > ERROR: se necesitan cuatro parametros:";
echo " $ ./tomeizu.sh película_origen nombre_película_destino fps num_pasadas"
exit -1
fi
if [ $4 -eq 1 ]; then
echo "=== Conversión: 1 PASADA ========================="
mencoder "$1" -idx -noodml -ofps "$3" -vf scale=320:-2,expand=:240:::1,crop=320:240,rotate=1 -ovc lavc -ffourcc XVID -lavcopts vcodec=mpeg4:vbitrate=384:vmax_b_frames=0:vhq -sws 9 -srate 44100 -oac mp3lame -lameopts cbr:br=128:mode=0 -o "$2"
echo "=== FIN DE LA CONVERSIÓN ========================"
elif [ $4 -eq 2 ]; then
echo "=== Conversión: 2 PASADAS ========================"
echo %body%#039;\a' " > Pasada 1 ... (espere por favor)"
mencoder "$1" -idx -noodml -ofps "$3" -vf scale=320:-2,expand=:240:::1,crop=320:240,rotate=1 -ovc lavc -ffourcc XVID -lavcopts vpass=1:vcodec=mpeg4:vbitrate=384:vmax_b_frames=0:vhq -sws 9 -srate 44100 -oac mp3lame -lameopts cbr:br=128:mode=0 -o /dev/null
echo %body%#039;\a' " > Pasada 2 ... (espere por favor)"
mencoder "$1" -idx -noodml -ofps "$3" -vf scale=320:-2,expand=:240:::1,crop=320:240,rotate=1 -ovc lavc -ffourcc XVID -lavcopts vpass=2:vcodec=mpeg4:vbitrate=384:vmax_b_frames=0:vhq -sws 9 -srate 44100 -oac mp3lame -lameopts cbr:br=128:mode=0 -o "$2"
echo " === FIN DE LA CONVERSIÓN ========================"
else
NUM=2
echo "=== Conversión: $4 PASADAS ========================"
echo %body%#039;\a' " > Pasada 1 ... (espere por favor)"
mencoder "$1" -idx -noodml -ofps "$3" -vf scale=320:-2,expand=:240:::1,crop=320:240,rotate=1 -ovc lavc -ffourcc XVID -lavcopts vpass=1:vcodec=mpeg4:vbitrate=384:vmax_b_frames=0:vhq -sws 9 -srate 44100 -oac mp3lame -lameopts cbr:br=128:mode=0 -o /dev/null
while [ $NUM -lt $4 ]; do
echo %body%#039;\a' " > Pasada "$NUM" ... (espere por favor)"
mencoder "$1" -idx -noodml -ofps "$3" -vf scale=320:-2,expand=:240:::1,crop=320:240,rotate=1 -ovc lavc -ffourcc XVID -lavcopts vpass=3:vcodec=mpeg4:vbitrate=384:vmax_b_frames=0:vhq -sws 9 -srate 44100 -oac mp3lame -lameopts cbr:br=128:mode=0 -o /dev/null
let NUM=$NUM+1
done
echo %body%#039;\a' " > Pasada "$4" ... (espere por favor)"
mencoder "$1" -idx -noodml -ofps "$3" -vf scale=320:-2,expand=:240:::1,crop=320:240,rotate=1 -ovc lavc -ffourcc XVID -lavcopts vpass=3:vcodec=mpeg4:vbitrate=384:vmax_b_frames=0:vhq -sws 9 -srate 44100 -oac mp3lame -lameopts cbr:br=128:mode=0 -o "$2"
fi
Gracias por ponerlo aquí ... yo iba a esperar unos días para probarlo y asegurarme que iba bien. El caso es que probando, me he surgido una duda: cuando haces 3 o más pasadas, la única que tiene que generar el vídeo es la última pasada,no?
Es que el script no lo hace así, sólo envía a /dev/null la primera pasada, y después va generando y "machacando" el vídeo en cada pasada. Realmente no es que sea algo importante, pero me gusta rizar el rizo XD.
Enga, un saludo!
Pues sí, soy un desesperao xD. Sobre lo de las pasadas, pues sí, no tendría mucho sentido comprimir una y otra vez el mismo archivo, creo yo, jeje.
Pues bien, en el hilo original he realizado los cambios pertinentes para hacer que sólo se comprima en el vídeo en la última pasada. No lo he puesto aquí porque no quiero marear a los que vean el post, si puedes, actualízalo en cuanto puedas.
De todas formas, intentaré hacer que el script use funciones para que no se tenga que copiar "mencoder ..." todo el rato, pero bueno, eso para cuando tenga más tiempo XD.
Enga, un saludo!
Actualizado ;)
Dos cosas: a mi me da problemas si escribo el número de pasadas, en cambio si no pongo parámetro me hace 4, sacando el video en la última.
Deberias editar el post inicial y poner un prototipo de como tendríamos que ejecutar el script, como si que venía en el post original.
Prueba a ver si este script te funciona. Hay alguna pequeña modificación. El modo de ejecutarlo es el mismo que el anterior:
1) Das permisos al script:
$ chmod 755 meizu_script.sh
2) Ejecutas el script:
$ ./tomeizu.sh película_origen nombre_película_destino fps num_pasadas
Espero que te funcione.
Un saludo!
Muchas gracias por abrirnos las puertas del meizu en linux.
:banana2::guitar: :banana2: :guitar: :banana2: :guitar: :banana2: :guitar: :banana2: :guitar: :banana2: :guitar: :banana2: :guitar: :banana2:
Tio, muchas gracias. Estaba peleándome en ubuntu con lo de codificar videos para Meizu. Gracias!
Guau!!Una gran aportación, si señor. Echo mano de ella y la usaré sin duda. Si veo alguna modificación posible ya comento por este hilo.
THANKS!
esto me sucede cuando lo ejecuto.
>>>>>>>>>>>>>>>>>>>>>>> CONVERT TO MEIZU MEDIA <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n
¡¡¡Bienvenido aleks!!!
./tomeizu.sh: line 39: error de sintaxis cerca de token no esperado `fi'
./tomeizu.sh: line 39: `fi'
He revisado el script (que copie y pegue en un sh) y no parece que falte nada. Ni el fi al final ni tiene ningun caracter raro cerca.
¿se os ocurre algo?
Saludos
Me pasaba creo lo mismo.. logre quitando los "'" del coloreado de los echo.
Es decir, por ejemplo en:
if [ $# -ne 4 ]; then
echo %body%#039;\a'" > ERROR: se necesitan cuatro parametros:";
echo " $ ./tomeizu.sh película_origen nombre_película_destino fps num_pasadas"
exit -1
fi
quité el:
%body%#039;\a'
y asi con todos
En realidad solo hay que cambiar la línea:
echo %body%#039;\a'" > ERROR: se necesitan cuatro parametros:";
por
echo $'\a'" > ERROR: se necesitan cuatro parametros:";
El problema debe de ser que cuando Sosonok copió el script, no se dio cuenta que el símbolo $ se paso al código %body%#039; (supongo que HTML). De todas formas, en un post posterior he dejado el script para descargar directamente.
Un saludo!
Muchas gracias a todos por las respuestas.
He reemplazado la cadena %body%#039; por $' y todo funciona a la perfección.
Un saludo.
Hola :)
Me he bajado el script que adjunta
trigun_cs un poco más arriba pero no consigo convertir ningún vídeo, me dice lo siguiente:
Citar> Pasada 1 ... (espere por favor)
MEncoder 2:1.0~rc1-0ubuntu13.1 (C) 2000-2006 MPlayer Team
CPU: AMD Athlon(tm) (Family: 6, Model: 8, Stepping: 1)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
Compiled with runtime CPU detection.
File not found: 'video.avi'
Failed to open video.avi.
Cannot open file/device.
Así con todas las pasadas.
Llevo poco tiempo en linux y no sé muy bien como funciona lo de los scripts.
¿El script lo puedo guardar donde quiera o tiene que estar en un directorio específico?
¿Los vídeos tienen que estar en la misma carpeta que el script o da igual?
Tanto el script como el vídeo que quiero convertir los he guardado en el mismo directorio:
/media/hda5/Meizu/script_videos/
y el comando que pongo para hacer la conversión es el siguiente:
~$ /media/hda5/Meizu/script_videos/meizu_script.sh video.avi video2.avi 20 4
Si alguien me puede decir que hago mal le estaré muy agradecido.
Un saludo ;-)
EDITO: Ya lo he solucionado. He puesto el vídeo en mi home y ya funciona.
hola amigos
estoy haciendo pruebas con este script para meter pelis a mi meizu y tengo un problemilla; he de decir que soy novato con esto de linux, es que no funciona el sonido de las pelis una vez comprimidas.
gracias de antemano por la ayuda
llevo toda la santa tarde trasteando con el script haciendo modificaciones constantes, Alguien puede colgar uno que funcione.
¿Puedes ser un poco más concreto?¿Qué mensaje te sale cuando intentas ejecutar el script?
Sin más información puede ser mil cosas, desde que te haga falta instalar algún paquete (como por ejemplo mencoder) o, incluso, que no des permiso de ejecución al script.
Un saludo!
joder arreglado. no tenia el paquete mencoder. Que rano no recuerdo que la gente lo dijera.
PD: he releído el 1º post y lo de mencoder se me paso pro alto. por dios que espero ando. :lol: