PDA

Ver la Versión Completa : Informacion de un AVI


JMGR
02-06-2003, 22:40:25
Buenas...
Me gustaria saber como extraer informacion de un fichero AVI, en plan duracion, codec, etc.... La idea es hacer un programa para catalogar las peliculas en DivX, con la opcion de que al seleccionar el archivo automaticamente se rellenen los campos Duracion, codec, etc...
Por ahora la solucion es cargar el AVI en el MediaPlayer y leer el length del mismo, pero con los ficheros grandes tarda unos segundos en cargar el AVI, en los que el programa se queda colgado. He probado a hacerlo con un Thread pero sigue pasando lo mismo...
En cuanto a lo del codec, ni idea...

¿ Alguna sugerencia?

Muchas gracias y un saludo!

__cadetill
03-06-2003, 06:29:45
Bueno, yo tambien me he hecho mi programa de gestión de DIVX, como no :p y tube tu mismo pensamiento, por lo que estube mirando bastantes componentes de varias webs (Torrys, DelphiPages, SuperPage,...) pero ninguno me termino de convencer. Quizas el que mas fue el FileInfo que creo me descargue de Torrys pero dentro de su codigo esta la web del componente que es http://jouwfeestje.com/go/fileinfo

Echale un vistazo y ya contaras.

Tambien estube buscando info por la web de las cabeceras de los DIVX y MPG para hacerlo yo "a pelo", pero no encontre gran cosa (mi ingles no es que sea muy bueno tampoco :p )

P.D. : si encuentras algo decente, avisa, que todabia me gustaria implementarlo ;)

Sergio Hdez.
03-06-2003, 09:13:53
En esta pagina tene is la estructura de los chunks del fichero AVI que indica el tamaño del fotograma, numero de frames y duracion de cada frame, con lo que se podria sacar toda la informacion:

http://www.rasnaimaging.com/people/lapus/avi.html

En esta teneis unas clases de C para manejar AVIs:

http://www.cs.cornell.edu/dali/api/avi-c.html

Sergio Hdez.
03-06-2003, 09:23:55
En esta pagina tene is la estructura de los chunks del fichero AVI que indica el tamaño del fotograma, numero de frames y duracion de cada frame, con lo que se podria sacar toda la informacion:

http://www.rasnaimaging.com/people/lapus/avi.html

En esta teneis unas clases de C para manejar AVIs:

http://www.cs.cornell.edu/dali/api/avi-c.html

__cadetill
03-06-2003, 10:40:34
Pues muchas gracias Sergio, le echare un vistazo a ambas ;)

JMGR
03-06-2003, 22:28:52
Pues gracias a ambos, me pondre a investigar y cuando descubra algo ( si lo hago...) ya lo pondre por aqui...
Un saludo.
JM

JMGR
04-06-2003, 21:09:33
Buenas otra vez....
He estado mirando los enlaces anteriores y la verdad es que no me he enterado de nada...:confused:, no se lo que es un chunk ni como extraer la informacion....

He mirado en la ayuda del Windows SDK y aparecen varias funciones del API para extraer informacion de los AVI pero todavia no controlo demasiado lo de las APIs, no se como puedo usarlas.

Esto es lo que aparece en la ayuda acerca de la funcion AVIFileInfo:

The AVIFileInfo function obtains information about an AVI file.

STDAPI AVIFileInfo(
PAVIFILE pfile,
AVIFILEINFO * pfi,
LONG lSize
);

Parameters

pfile

Handle of an open AVI file.

pfi

Address of the structure used to return file information. Typically, this parameter points to an AVIFILEINFO structure.

lSize

Size, in bytes, of the structure.

Return Values

Returns zero if successful or an error otherwise.

Lo poco que entiendo es que me hace falta una variable tipo AVIFILEINFO donde guardar la informacion que me devuelve la funcion, pero al crear una, Delphi no la reconoce...:mad:

¿Alguien tiene idea de como usar esta funcion?
Muchas gracias y un saludo.
JM

Masu
14-08-2003, 12:42:59
Hola a tod@s,

despues de mucho tiempo buscando por fin econtre la solucion para obtener los datos de un avi.

Lo encontre en esta pagina alemana !!!! viene un ejemplo perfecto.

http://www.delphi-source.de/projekte/avi/


Un saludo a tod@s.