Ya tengo mi homebrew, que viene, entre otras cosas, con MoonShell, que nos permite reproducir ficheros de audio, ver imágenes, y ver películas en formato DPG.
El formato DPG es tipo de MPEG-1 especialmente preparado para poder usarse con este reproductor, y no hay un programa en Linux para convertir desde un formato más convencional. Bueno, en realidad sí hay ;).
Estos son los pasos que he seguido yo para MoonShell 1.71:
- Extraemos el audio al formato adecuado:
$ ffmpeg -i pelicula.avi -vn -ab 64k -ar 22050 audio.mp2
- Extraemos al vídeo al formato adecuado (esto tarda un rato):
$ mencoder pelicula.avi -o video -of rawvideo -nosound -ovc lavc \ -lavcopts vcodec=mpeg1video:vrc_buf_size=327:vrc_maxrate=512:vbitrate=256:vstrict=-1 \ -ofps 15 -vf scale=256:192
He usado
15cuadros por segundo, que es suficiente para el dispositivo, que no tiene muchaCPU. - Descargamos BatchDPG y compilamos
headermaker.c:$ gcc -s headermaker.c -o dpgh
- Creamos la cabecera:
$ ./dpgh 36058 15 22050 11288 45372 header
El primer valor nos lo indica
mencodercuando acaba, y es el número total de cuadros, el segundo son los frames por segundo, el tercero es la tasa de sampleo que hemos decidido conffmpeg, el cuarto es el tamaño del audio y el quinto el tamaño del vídeo. El último parámetro es el nombre de la cabecera. Si ejecutamos el programa sin parámetros, nos mostrará una ayuda. - Creamos el fichero final:
$ cat header audio.mp2 video > pelicula.dpg
En mi prueba se quedan 56MB para una película de 24 minutos. Igual se puede aumentar la calidad, pero con cuidado con el tamaño final del fichero o MoonShell no podrá con él (he visto por ahí que hay videos de unos 150MB).
Lo copiamos a la memoria de nuestro homebrew, y se ve genial ;), aunque tiene el inconveniente del tamaño del fichero y de tener que andar recodificando vídeo y audio. Dejémoslo en una curiosidad (que puede valer para ver una película en cualquier lugar :D).

Cómo no, tenía que elegir algo interesante para las pruebas :D
Vale, estoy cacharreando, pero también he jugado un poco O:).

![[xml]](/images/xml.gif)
