Estas navidades los reyes me trajeron una PSP. Después de pirat... ejem... instalar un firmware adecuado para tener la posibilidad de usar backups, instalar programas caseros y de usarla para
leer libros la siguiente prueba que me quedaba por hacer era meterle películas para aprovechar la pantalla tan luminosa que trae.
El problema (siempre hay un problema) es que no he encontrado ningún reproductor que pueda leer directamente los AVI. Es necesario adaptar la escala del vídeo a la de la pantalla de la consola (480x272 según creo). Las resoluciones de vídeo soportadas por la PSP
son limitadas. Tanto el ancho como el alto han de ser múltiplos de 16 y el producto de ambos no ha de sobrepasar el valor 64000 (seguramente por alguna razón). Los valores que he encontrado como usuales son 320x240, 368x208 y 400x192 según la relación de aspecto del vídeo original.
Preguntando por ahi salen algunas
utilidades buenas, pero siempre pensadas para usuarios de Windows. Esta mañana hablando con
nauj27 me ha dicho en qué parte de la
documentación de MPlayer se explica cómo con el propio mencoder puede conseguirse lo que ando buscando.
El script que uso para generar los MP4 a partir de cualquier video es así:
#!/bin/sh
# mencoder_psp.sh
#
# Resoluciones validas
# 320:240
# 368:208
# 400:192
SCALE=400:192
# bajo la prioridad para que no afecte al resto de procesos
renice 19 $$
exec mencoder -oac lavc -ovc lavc -of lavf -lavcopts \
aglobal=1:vglobal=1:vcodec=mpeg4:acodec=aac \
-af lavcresample=24000 -vf harddup,scale=$SCALE -lavfopts \
format=psp:i_certify_that_my_video_stream_does_not_use_b_frames \
-ofps 30000/1001 -info name="`basename \"$1\"`" -o "$2" "$1"
Para llamarlo
$ mencoder_psp.sh file.avi file.mp4
En mi ordenador de escritorio (K7-3000+, Ubuntu 6.10) tarda unos 25-30 min para una película típica.
Cuando el vídeo esté convertido es necesario copiarlo en un directorio especial dentro de la consola (
psp://MP_ROOT/100MNV01). Además hay darle un nombre concreto de la forma
M4V1xxxx.MP4, con xxxx cuatro digitos aleatorios. Si ademas queremos que en el menú aparezca un iconillo con el cartel de la peli o similar hay que generar un JPG de 160x120 y copiarlo con el mismo nombre de la pelicula y con la extensión
THM. La utilidad
convert de
ImageMagick viene estupenda para eso.
$ convert caratula.jpg -geometry x120 M4V1xxxx.jpg
$ mv M4V1xxxx.jpg M4V1xxxx.thm
Actualización: como dice nauj27, se puede sacar el icono de la misma película de forma automágica añadiendo estas líneas al script original:
OUTFILE=`echo "$1" | cut -d. -f1`
OUTFILE=`echo "$2" | cut -d. -f1`
mplayer "$1" -ss 00:10:00 -frames 1 -vo jpeg
convert 00000001.jpg -geometry x120 "$OUTFILE".jpg
mv "$OUTFILE".jpg "$OUTFILE".thm