mod_smpeg

Started by DCelso, October 26, 2009, 05:48:11 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Windgate

Descargado, ahora voy a hacer mi primer videojuego 100% basado en videos de petardas.com y webs relacionadas :-*
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

osk

Quote from: DCelso on October 28, 2009, 08:50:05 AM
Es una pena pero solo mpeg1, porque según ponen en la wikipedia el tio solo ha dado soporte a este por ser el único no envuelto en patentes en estados unidos.
http://en.wikipedia.org/wiki/SMPEG.
A su favor he de decir que es mega rápido, lo probé en widows 98 en un 666 y va muy bien, ya no puedo probarlo en inferiores porque no dispongo de ninguno, lo suyo sería probarlo en wiz o gp2x a ver que tal tira en una consola.

Hola. ¿Sería factible utilizar la librería Theora como base para un (otro) módulo de vídeo en Bennu? Así no habría estos problemas...

DCelso

A ver, poder se podrá, yo he usado smpeg porque usa SDL y facilita la integración con BENNU y la portación a otros sitemas.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

DCelso

Si me consiges un ejemplo de uso en c/c++, podría intentarlo.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

osk

Bueno...de aquí te puedes bajar la librería junto con programas de test: http://www.theora.org/downloads/
Y la documentación de la API está aquí: http://www.theora.org/doc/libtheora-1.1/

SplinterGU

si, theodora es multiplataforma, funciona en wiz... seria grandioso...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

Pues es facil, hay un ejemplo de un visor que usa SDL, así que debería ser coser y cantar usando este como base :D.
Pero ¿como se hace un video theora?
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Drumpi

Yo uso Super para todo lo que sea conversión de archivos de video:
http://www.erightsoft.com/SUPER.html
Usa los conversores ffmpeg, MEncoder, ffmpeg2theora y producer y admite casi todos los formatos conocidos.
El theora parece que es el que genera ogg y ogm (que es un xvid con audio en ogg), pero sigue sin admitir los divx y xvid... Pero estoy hablando de lo que dice el Super.
De todas formas, cualquier formato de video bienvenido será ¿Os imaginais eso en Venturer? (babea).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

josebita

DCelso, acabo de compilar la lib para Linux y funciona estupendamente, muchas gracias.

La única pega que le encuentro es que en el ejemplo de uso, utilizas la función load_video_in_screen(), pero no parece estar definida en la librería...

Por lo demás, todo genial. Felicidades. Voy a empaquetarla para mi PPA y a actualizar mi viejo binding de SMPEG para que se actualice a tu librería.

PD: Adjunto librería para linux y script de compilación actualizado para poder usarlo con la instalación de Bennu que dejan mis paquetes. Para abrirlo, renombrad el archivo .zip a .tar.gz, porque el foro no deja subir archivos .gz.

PD2: ¿Has avanzado algo con theora?

josebita

Otra cosita:
Se me ocurre que, dado que Bennu permite que los módulos definan rutinas que se ejecuten cada frame, sería posible hacer que no hiciera falta llamar a display_video(video_id) cada vez que se hace FRAME.

Para hacerlo, se utilizaría algo como lo que hace la libsdlhandler:

[code language="c"]/* ----------------------------------------------------------------- */

/* Bigest priority first execute
   Lowest priority last execute */

HOOK __bgdexport( libsdlhandler, handler_hooks )[] =
{
    { 5000, dump_new_events                   },
    {    0, NULL                              }
} ;[/code]

SplinterGU

Quote from: josebita on November 17, 2009, 07:48:34 PM
Otra cosita:
Se me ocurre que, dado que Bennu permite que los módulos definan rutinas que se ejecuten cada frame, sería posible hacer que no hiciera falta llamar a display_video(video_id) cada vez que se hace FRAME.

Para hacerlo, se utilizaría algo como lo que hace la libsdlhandler:

[code language="c"]/* ----------------------------------------------------------------- */

/* Bigest priority first execute
   Lowest priority last execute */

HOOK __bgdexport( libsdlhandler, handler_hooks )[] =
{
    { 5000, dump_new_events                   },
    {    0, NULL                              }
} ;[/code]

es la idea, si mal no recuerdo, lo sugeri.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

josebita

En su momento seguí el tema por encima. Puede que lo intente yo, si DCelso no se anima.

SplinterGU

igual estoy pensando en hacer algo oficial al respecto... no se si aprovechando lo mismo o no...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

josebita

Ah, bueno, entonces no me meto :)
Realmente hace falta un mejor soporte de vídeo en BennuGD, así que ánimo.

PD: Estoy escribiendo desde un OSX un tanto informal que me he agenciado, a ver si soy capaz de echar a andar Bennu...

Drumpi

¿La librería echa mano de algun HW específico o de alguna librería del sistema o es totalmente independiente? (supongo que se me ven las intenciones desde lejos).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)