[Pruebas] Conversor de fotogramas de videos a FPG video

Discusión en general sobre Gemix.

[Pruebas] Conversor de fotogramas de videos a FPG video

Postby SimulatorOne » Sun Jan 16, 2011 5:53 pm

Hola

Ayer estube todo el dia investigando y haciendo pruebas...
Se trata de una prueba para averiguar si es posible crear un reproductor de videos por fotogramas usando maps y FPG, combinado con el audio mp3.
Image

Ahora que Gemix 6.0 puede comprimir los FPG, pues me propuse de hacer unas pruebas.

1-Cree primero un conversor de Fotogramas de video(JPG o puede ser BMP y PNG), pasarlas a .map de 24bits(No puedo pasarlo a 16bits.) usando el pequeño soft de mapgen.exe
Image
Imaginaros que son ficheros jpg, en vez de maps.

Observacion: me di cuenta que la funcion de Get_dirinfo tiene el limite de 2048 ficheros que puede escanear.
Asi tube que usar un comando de CMD para poder listar los ficheros de un directorio.


2-Despues a traves de esos maps convertidos.
Cree un reproductor de video, atraves de esos maps... pero tiene sus pegas:
Al leer del discoduro archivo x archivo, tiene algun retraso y puede desincronizar el audio con el video(fotogramas)
ImageImage

3-A raiz de ese reproductor añadi la posibilidad de añadiros los fotogramas en ficheros FPG de 999 graficos como maximo.
Tambien a la hora de reproducir los maps(fotogramas), iva añadiendo los fotogramas, a medida que iva viendo como reproduce con audio, pero puede tener una desincronizacion, por la misma razon que el caso Nº 2
ImageImage

4-Al crear los ficheros FPG, cree un reprodutor de ficheros FPG, como si fuese un video.
hice la primera version:
Solo carga 1 fichero FPG a la vez, cuando termina de llegar a los 999 fotogramas, descarga el antiguo y carga el nuevo.
Dando como una pausa de reproducion cada 999 fotogramas, es lo unico malo que tiene.
PEro la reproducion es exacta y no tiene ningun desincronizacion con el audio!
ImageImage

5-Crear el reproductor definitivo y el que mas memoria RAM consume! pero puedes reproducir videos Sin pausas!!!
-La unica pega de este modo es que se requiere mucha memoria RAM, depende del numero de Fotogramas que tenga los ficheros FPG y la resolucion.
Por lo demas reproduce un video entero sin ninguna pausa y no tienen desincronizacion con el audio.
ImageImage

Ya para pulir, añadi pequeñas posibilidades de reproducion como:
-Pausar y renaudar la reproducion (tecla espacio)

-Revovinar y reproducir des del principio,(tecla enter) sin volver a cargar los fotogramas
a- A ecepcion del caso 4, si se encuentra mas de 999 fotogramas, es decir otro Fichero fpg que no sea el primero, cargara el primer FPG, dando una pausa.
b-el caso 3 no se puede revovinar, ya que esta convertiendo y añadiendo fotogramas a los FPGs

-Stop del video y descargar en memoria,(tecla ESC) simplemente para salir del reproductor.


---------------------tutorial giua...
0(Descargar la herramienta) Esta adjuntado al final de este post:
test_fli.rar
Descomprimir donde quieras, en una unidad de discoduro que tenga minimo 2GB libres!

1(Audio)-conseguir el audio en formato .mp3
Existen muchas maneras de extraer el audio de un video, yo uso uno de estos 2: adobe audition y el Allok Video to MP4 Converter.
Tu decides que duracion tendrá el video, yo recomiendo entre segundos... hasta unos 5 minutos aprox...

Una vez conseguido ese mp3, hay que crear una carpeta llamada <nombre de tu video>.vid (Es una carpeta ,no un archivo!)
Dentro coloca tu mp3 de esta forma:
Image
(los FPGs se crearan esta carpeta como en esta captura)

OK, ya has terminado con el audio!

2(Fotogramas)
Utiliza alguna herramienta que te permita extraer los fotogramas de un video.
Recomiendo que esos fotogramas sean de 320x240 a 16 o 24bits de calidad en jpg.

Debes crear una carpeta paralela a <nombre de tu video>.vid , pero sin .vid, solo <nombre de tu video>.
dentro coloca tus ficheros JPG (si quieres utilizar bmp o png, deberas retocar el PRG)
Deben quedar asi:
Image
Pero con archivos .jpg

AVISO: contra mas numero de fotogramas(cada 999), mas numeros de FPG te creara!!
Se necesita mucho espacio en el disco duro para extraer los fotogramas de un video, por ejemplo de 5minutos casi 1,5GB!!
unos 5000 archivos .map sin comprimir de 24bits a 320x240...

Yo utilizo un filtro universal de videos, obtenidos por: K-Lite Codec Pack
y tengo configurado asi la configuracion del ffdshow video decoder
ImageImageImageImage
Si os fijais en la ultima captura, tengo dindicado directamente la ruta donde me extraera los fotogramas.

Con solo reproducir un video, ya me carga este filtro, y automaticamente me va extraendo los fotogramas en jpg y rescalado a 320x240 automaticamente.
Ese filtro ffdshow video decoder es bastante potente.

Pues a la hora de crear el audio hay que tener en cuenta que la duracion del audio, Debe y recomiendo ser la misma.
por ejemplo, el audio mp3, dura unos 2:04 minutos, pues con el video debe ser igual (aproximadamente)

Una vez obtenidos los fotogramas en jpg.

3(Convertir JPG a MAPS) - telca 1
abre el convert.prg y revisa estos 2 parametros:
Source Code (Gemix) [ Download ] [ Hide ]
  • string carp_file="futur";//nombre la carpeta donde estan los fotogramas y el audio
  • fps_video=25;//FPS del video, recomiendo 25fps

Cambialo si es necesario, lo mas normal es el nombre de la carpeta.
Compila y ejecuta, te tiene que salir esto:
Image
Pulsa la tecla 1 , y dejalo que trabaje...
se te abre una ventana de CMD y indica que fotogramas esta trabajando(usando mapgen.exe), dejalo terminar... tarda depende del numero de fotogramas que tenga el video.(si lo cancelas/cierras el video durará menos de los fotogramas que extraistes)
Terminara de forma automatica, y te sale una pequeña notacion de que ya esta listo para empezar a convertir....

Observacion: dentro de la carpeta de video, se tendria que verse asi:
Image

4(Convertir y reproducir MAP a>> FPG)- tecla 1
Justo despues de ese notacion(La opcion 1),pulsamos Enter.
Y veremos como va reproduciendo (con audio mp3) y va guardando el FPG.
ImageImage
Hay que dejar que termine por si sola, Si pulsamos Espacio(mantenido) se puede pausar.
Vemos a disdrutar como se ve nuestro video por primera vez en Gemix :)
pero en este processo puede desincronizar con el audio, es normal, ya que leee de los maps.
Terminara de forma automatica.

OK ya has creado tus FPG de video.
Te debe quedar asi la carpeta,con sus FPGS:
Image

5(Reproducir FPG con pausas, poca memoria RAM) - tecla 4
Abre de nuevo el convert.exe
Y pulsa la tecla 4, que es reproducir tu FPG con pausas(consume poca ram)
Puedes disfrutar de como reproduce sin desincronizacion con el audio. :)
ImageImage
pero cada 999 fotogramas tendra una pausa de Carga de FPG.
Puedes revovinar el video pulsando Enter.
Espacio lo pausa.(mantenido)
Puedes salir cuando quieras pulsando ESC.

6(Reproducir FPG sin pausas, MUUUUCHA RAM) Tecla 3
En esta opcion hay que estarse seguros de que tenemos suficiente memoria RAM en el ordenador.
Recomiendo un minimo de 2GB totales de tu Equipo.
Mi notebook tiene 2GB, y puedo reproducir videos que pesan en memoria unos 1,5GB!! de RAM!
una locura!
Lo bueno de este modo es que puedes reproducir el video SIN pausas!! toda la reproducion es perfecta!
ImageImage

----------------------------
Mi conclusion:
Aun que comprima los FPGs sige pesando demasiado en disco duro.
Y al cargarlo en memoria los FPGs, estos se descomprimen en memoria RAM
consumiendo casi o toda la memoria RAM del sistema. una burrada!! :blind:
Pero en repdroducion usando FPGs es perfecta! :D
El unico defecto es que consuma mucha memoria RAM los FPGS. :(

Al reproducir fotogramas de video de MAPS, es casi perfecta la reproducion y casi no se desincroniza con el audio, lo bueno que no consume casi nada de memoria RAM :D
Supongo que reproducir videos por ficheros MAPS seria los mas idoneo... pero desincroniza algo con el audio :(

Pero yo estoy esperando, a que Gemix tenga soporte directo con JPG,BMP y PNG, asi podria reproducir los fotogramas JPG directamente y pesaria muuuchisimo menos en disco duro.

Es tener un equilibrio entre Tamaño en disco duro y Memoria RAM.
You do not have the required permissions to view the files attached to this post.
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: [Pruebas] Conversor de fotogramas de videos a FPG video

Postby SimulatorOne » Sun Jan 16, 2011 7:06 pm

Al final se puede comprimir los MAPS, archivo x archivo, ahorrando como un 50% o un 70% de discoduro.
Ademas de que se reproduce muy bien, casi sin desincronizar el audio.

El problema que al comprimir los MAPS, tarda mucho en la opraciones de SAVE_MAP, y no se puede reproducir con normalidad... es demasiado lento(5-10FPS de 25normales)mientras grava los Maps comprimidos U_U

Pero al usar Load_map, aun que esten comprimidos, no retrasa nada la velocidad del video :D
Last edited by SimulatorOne on Sun Jan 16, 2011 10:26 pm, edited 1 time in total.
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: [Pruebas] Conversor de fotogramas de videos a FPG video

Postby Dluk » Sun Jan 16, 2011 7:36 pm

Que buen experimento. Tengo que probarlo en mi PC, que tengo bastante RAM, a ver como se comporta :D
Image
"El destino es como un juego... ¿No? Y ahora, esperas mi último movimiento"

Kain - Legacy of Kain: Soul Reaver
User avatar
Dluk
 
Posts: 2423
Joined: Sun Jan 04, 2009 3:51 pm
Location: En el campo de batalla

Re: [Pruebas] Conversor de fotogramas de videos a FPG video

Postby SimulatorOne » Sun Jan 16, 2011 10:24 pm

yo lo e probado en mi notebook, que tiene un intel atom de 1,6GHz y 2GB de ram

y un video de 5 minutos me lo reproduce bien :)

-------------

tengo pensado crear mi propio formato de video, con comandos FOPEN,FWrite...etc...
Comprimido en binario.
mi propio algoritmo de video de 16/24bits
Lo guay que no carga en memoria todo el archivo entero, si no va leiendo fotograma x fotograma de ese archivo, y no carga casi nada la RAM, y la velocidad es fluido.
Ademas de almacenar informacion basica como los FPS de ese video, y resolucion de imagen.
Lo que yo no se si al comprimir ese archivo pesara igual o menos que los FPGS :/
El mp3, si seguira siendo paraleo al video...


Lo que tengo un problema, como puedo salvar un map de 24bits y pasarla en 16bits programando con Gemix???
Si hago set_mode(320x240,32);
load_map
ese map me lo cargara si o si a 24bits(aun que de origen este a 16 o 8bits)...
y si guardo el map en save_map,siempre sera en 24bits.
?¿
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: [Pruebas] Conversor de fotogramas de videos a FPG video

Postby TYCO » Mon Jan 17, 2011 12:23 am

Podrías subir un ejemplo ya hecho???

Get_dirinfo límite de 2048 archivos??? mmmm CicTec nos dará más información sobre eso.

Guardar un MAP de 24Bits (Será de 32Bits cuando lo carga Gemix) en un MAP de 16Bits por código??? Actualmente no se puede y en un futuro no lo sé.
Si tenías un set_mode(640,480,32) y cargado un FPG de 32 Bits e intentas hacer un set_mode(640,480,16) Gemix da error, así que no hay forma de engañar tampoco.
Todo Modo Gráfico tiene por detrás una Línea de Comandos.

Proyecto: SnowCraft Remake (100%).
Proyecto: Bomb a Bomb Remake (100%).
Proyecto: Rally Mortal (87%).

[RETO]: 20lineas - [JUEGO]: eLaberinto[CONCURSO]: EL JUEGO DEL VERANO 2011 - [JUEGO]: PlayaBall
User avatar
TYCO
 
Posts: 3591
Joined: Tue Sep 02, 2008 7:38 pm

Re: [Pruebas] Conversor de fotogramas de videos a FPG video

Postby erkosone » Mon Jan 17, 2011 1:24 am

Eso mismo hice yo hace ya un tiempo y funciona muy bien, por la ram ni te preocupes, tu sabes cuanta ram hace falta para reproducir un video en windows? pues una burrada tmb jeje.

Bienvenido al mundo de los videos en FPG.
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: [Pruebas] Conversor de fotogramas de videos a FPG video

Postby SimulatorOne » Mon Jan 17, 2011 5:14 pm

TYCO wrote:Podrías subir un ejemplo ya hecho???

Get_dirinfo límite de 2048 archivos??? mmmm CicTec nos dará más información sobre eso.

Guardar un MAP de 24Bits (Será de 32Bits cuando lo carga Gemix) en un MAP de 16Bits por código??? Actualmente no se puede y en un futuro no lo sé.
Si tenías un set_mode(640,480,32) y cargado un FPG de 32 Bits e intentas hacer un set_mode(640,480,16) Gemix da error, así que no hay forma de engañar tampoco.

mmmm
ejemplo de???

Si me di cuenta de que solo almacena los primeros 2048 ficheros y carpetas, en caso de que un directorio aigan mas de esa cifra.... tube que usar un comando de ms-dos para listar con Dir todos los ficheros de esa extension para poder hacer la reproducion de video.


Pues si,algunas veces me preguntado como es posible guardar un map de 16bits estando en modo 32bits, y que el map de origen es de 24/32bits...
Aun no echo la prueba directamente de hacer un set_mode teniendo maps de 32bits cargados en memoria...
pero seguro que hace error U_U

erkosone wrote:Eso mismo hice yo hace ya un tiempo y funciona muy bien, por la ram ni te preocupes, tu sabes cuanta ram hace falta para reproducir un video en windows? pues una burrada tmb jeje.

Bienvenido al mundo de los videos en FPG.

Si por usar FPG tiene el requisito de la memoria ram, adema de tener 999 fotogramas x archivo FPG...

Pero ayer me lo reeplantee, y me sale mejor acuentas SOLO USAR MAPS!!! directamente de archivo

Descubri que la primera vez que se carga los MAPS, lo hace lento(se ve la luz del discoduro cargar mucho) ademas de disminuir los FPS por el esfuerzo de la descompresion de maps....es normal.

Pues la sopresa esta que si se carga por 2ª(o mas veces), Ya no tiene ningun retraso de carga! mientras reproduce a 25FPS por segundo, dando una reproducion fluida ,sin pausas y sin desincronizacion!! :D
Y lo mas importante!!
No consume memoria ram, ni usa FPG!!

Adjuntare mi 2ªVersion del reproductor.
-Suprimido codigos de FPG
-Actualiza los ficheros jpg a map de forma automatica(si encuentra algun jpg)
-Actualiza la lista de ficheros map, solo una vez, por rendimiento.
-Creado PosProcessamiento de fotogramas MAPS - Esto hace un escaneo y una 1ª pasada de todos los MAPS, para contar el total de maps, y para cargarlas solo una vez, para que luego pueda reproducir con fluidez.
Tambien si los maps estan sin somprimir, estos los comprimen si es necesario.
-Solo reproduce de manera directa con fotogramas MAPS.
-Añadiendo tiempo: milisegundos,segundos,minutos
-Suprimido las carpetas "mi carpeda.vid"
-Solo se usa una carpeta sin extension ninguna.
-Solo se necesita el audio.mp3 + los fotogramas jpg para crear un video,en maps.

Como usarlo?
requisitos:
1-Extraer el audio del video en mp3
2-Fotogramas del video en jpg (320x240 a 16/24bits)

Pasos,Guia
0-Descargar 2ª version, del reproductor MAPS, test_vid-map.rar
1-Crear una carpeta del nombre del video (sin extension, solo el nombre)
2-Copiar archivo de audio del video y pegarlo dentro de tu carpeta, "2video.mp3"
3-Meter todos los fotogramas de video en jpg,dentro de tu carpeta, recomiendo un maximo de 5500 fotogramas(unos 5minutos a 25fps)
4-Abrir el convert.prg y cambiar solo: string carp_file="xxxx";//mi video/<directorio>
5-compilar y ejecutar convert
6-Pulsar Enter y dejar que trabaje....

Paso1- si hay archivos jpgs los convertira a maps de 24bits,cuando termina borrara todos los jpg de ese video.
Paso2 - PostProcesamiento de MAPS, carga fotograma x forograma y los comprime si es necesario, ademas de contar cuantos fotogramas tiene.
Paso3 - Termina del PostProcesamiento, listo para Reproducir Pulsando Enter. :)


----------------
Ya solo me queda que Gemix pueda cargar directamente graficos JPG,BMP y PNG de manera direca como una funcion tipo Load_jpg
Ya te digo que merece la pena tener los fotogramas en jpg antes que map comprimidos.

Por ejemplo, un video que pesa unos 15,7MB codificado con MP4,(1280x720p_H.264-AAC) super comprimido...etc.
Al extraer los fotogramas en jpg de 320x180(16:9) todos me pesan 23MB solamente... es un peso razonable...
unos 1830 fotogramas...
--------------------
Realmente Gemix necesita su propio formato de videos, usando algun algoritmo parecido a Divx,mp4...etc
You do not have the required permissions to view the files attached to this post.
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: [Pruebas] Conversor de fotogramas de videos a FPG video

Postby TYCO » Mon Jan 17, 2011 5:42 pm

Con un ejemplo ya hecho... me refería a que subas un vídeo en MAPS o en FPG a modo de demostración de 1min o 30 segundos, para que la gente pueda verlo.

simulatorone wrote:Pues la sopresa esta que si se carga por 2ª(o mas veces), Ya no tiene ningun retraso de carga! mientras reproduce a 25FPS por segundo, dando una reproducion fluida ,sin pausas y sin desincronizacion!! :D
Y lo mas importante!!
No consume memoria ram, ni usa FPG!!


Eso ya es gestión de RAM del sistema operativo... y pasa con cualquier programa... haz la prueba con un navegador de internet o el IDE de Gemix... el primer arranque es lento porque lo carga en RAM pero si cierras y abres al poco.. verás que es mucho más rápido que la primera vez.

Es como cuando vas con la bicicleta por un camino con curvas.. la primera vez vas con cuidado y no conoces el camino, pero la segunda vas más rápido porque te conoces todas las curvas y "baches".
Todo Modo Gráfico tiene por detrás una Línea de Comandos.

Proyecto: SnowCraft Remake (100%).
Proyecto: Bomb a Bomb Remake (100%).
Proyecto: Rally Mortal (87%).

[RETO]: 20lineas - [JUEGO]: eLaberinto[CONCURSO]: EL JUEGO DEL VERANO 2011 - [JUEGO]: PlayaBall
User avatar
TYCO
 
Posts: 3591
Joined: Tue Sep 02, 2008 7:38 pm

Re: [Pruebas] Conversor de fotogramas de videos a FPG video

Postby SimulatorOne » Mon Jan 17, 2011 6:22 pm

Pesa mucho...un video que tiene 1800 fotogramas(320x180 de 24bits), unos 150MB en maps
Pero en JPG pesa unos 23MB solamente.

Prefiero suvirlos en jpg, asi vereis como cambia el formato y hace la conversion y reproduccion.

Pero hoy no tengo buena señal de internet y me va muy lento, y no puedo suvir cosas pesadas.
Me cuesta mucho descargarme el nuevo Gemix 6.0, que pesa casi 8MB.... se me tira casi 8minutos descargar esa porqueria
Odio los modem internet de esos con tarjetas sim U_U van como el culo.

-----------

Si lo bueno de hacer ese truco, es que acelera mucho la carga por 2ª vez, y por eso pude hace ese reproductor de videos en maps
luego(espero que sea menos de 1 mes...) sera directamente en jpgs, sin maps, esa reproducion de video.
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: [Pruebas] Conversor de fotogramas de videos a FPG video

Postby erkosone » Tue Mar 22, 2011 11:58 pm

Buenas, recientemente he estado utilizando esta tecnica y me está dando unos resultados "abrumadores", es como reproducir una pelicula en gemix, sin ninguna limitacion de video, recomiendo resoluciones de 320x200 o 320x240 para no hacer muy grandes los archivos, y tambine he descubierto algo.

Si quereis hacer pruebas.. con el FPG Edit 2005 que carga toda una carpeta de imagenes en cualquier formato a un FPG compatible con Div2 a 8Bits, se que es a 8 bits pero montar un video es ultra rapido, y escojiendo bien la paleta ya podeis meter logos animados, o hasta la intro de vuestra pelicula faborita, y si ripeais frames de algun juego retro, pues sin problema tmb.

Tengo unas ganas de que el FPG EDITOR de Gemix tenga ya lo de añadir de forma automatica directorios completos a un FPG..

Sin duda un metodo excelente, y para los que se preguntaran si consumir del orden de 200 megas de ram si sera malo... pues para que los tenemos sino es para llenarlos con algo? Y el performance es el mismo, yo estoyhaciendo pruebas con videos que ocupan 800 megas, y los cargo del tiron en ram y Gemix los reproduce con una soltura que ni contar.. es una pasada.

Muy recomendado si alguno tiene conocimientos de modelado 3d para sus logos animados.
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Next

Return to General

Who is online

Users browsing this forum: No registered users and 0 guests