26 de Septiembre, 2007

Para ver películas en la Nintendo DS

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:

  1. Extraemos el audio al formato adecuado:
    $ ffmpeg -i pelicula.avi -vn -ab 64k -ar 22050 audio.mp2
    
  2. 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 15 cuadros por segundo, que es suficiente para el dispositivo, que no tiene mucha CPU.

  3. Descargamos BatchDPG y compilamos headermaker.c:
    $ gcc -s headermaker.c -o dpgh
    
  4. Creamos la cabecera:
    $ ./dpgh 36058 15 22050 11288 45372 header
    

    El primer valor nos lo indica mencoder cuando 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 con ffmpeg, 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.

  5. 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).

I.T. Crowd
Cómo no, tenía que elegir algo interesante para las pruebas :D

Vale, estoy cacharreando, pero también he jugado un poco O:).

Anotación por Juan J. Martínez, clasificada en: nintendo ds, software libre.

Hay 2 comentarios

Gravatar

En la PSP también resulta bastante cansino el tema de la recodificación de video, pero para viajes largos no deja de ser curioso el poder llevarte unos capitulitos de Padre de familia en el bolsillo :-)

por Dani, en 2007-09-27 01:20:23

Gravatar

Busca bien, por que hay scripts sueltos por ahi que te lo hace todo todito todo.
Si, bien vale, tambien te lo puedes hacer tu pero esto es mas para los que curramos y nustras neuronas no estan disponibles cuando llegamos a casa.

por Quasar, en 2007-09-27 15:06:25

Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 30 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.

Algunas anotaciones relacionadas: