SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: migue_1988 en Miércoles 3 de Diciembre de 2008, 15:13

Título: obtener datos técnicos de un archivo de video
Publicado por: migue_1988 en Miércoles 3 de Diciembre de 2008, 15:13
Hola a todos, necesito saber como obtener datos técnicos de un archivo de video (ingresado mediante un OpenDialog) como ser:

*Formato/Extensión
*Codecs de video/audio
*Duración
*Nombre del archivo
*etc.

Utilizo Borland4 y quisiera saber si esto es posible de llevar a cabo en dicho compilador.

Gracias de antemano.
Título: Re: obtener datos técnicos de un archivo de video
Publicado por: m0skit0 en Miércoles 3 de Diciembre de 2008, 15:55
Puedes hacerlo en cualquier compilador que soporte el abrir un fichero. Eso sí, para obtener las características tendrás que averiguar qué formato tienen los ficheros que deseas manipular, puesto que cada uno ordena la información de manera diferente (salvo la extensión del fichero, que es trivial de obtener).

Saludos
Título: Re: obtener datos técnicos de un archivo de video
Publicado por: migue_1988 en Miércoles 3 de Diciembre de 2008, 17:14
muchas gracias por responder, pero por ejemplo con *.avi, *.rmvb, *.mpeg... tienen algún código para hacer esto que les estoy consultando?

Espero sus respuestas.
Título: Re: obtener datos técnicos de un archivo de video
Publicado por: migue_1988 en Domingo 7 de Diciembre de 2008, 15:41
Estuve probando obtener el nombre (sin la ruta completa) y la extensión de un archivo mediante los metodos del OpenDialog, pero no pude hacerlo.
Si son tan amables de presentar una solucion a este problema, se los agradecere.
Título: Re: obtener datos técnicos de un archivo de video
Publicado por: JeoV en Domingo 7 de Diciembre de 2008, 19:12
me parece que esto es algo complicado de hacer, en si no se si haya alguna utilidad en borland c para obtener esos datos, pero si no la hay la tienes que obtener por tu cuenta leeyendo los archivos de forma binaria y para ello tienes que conocer como lo dijo m0skit0, el orden de la informacion del archivo de cada formato por lo general la informacion de un archivo siempre se pone en el encabezado pero cada archivo ordena su informacion de forma diferente(para un avi, mpeg, wmv etc)

para ello puedes consultar esta pagina, ahi viene como es la estructura para cada tipo de archivo
http://www.wotsit.org/list.asp?fc=3
conociendo como es la forma de ordenar los datos, puedes obtener un dato en especifico leeyendo el archivo.

salu2  ;)
Título: Re: obtener datos técnicos de un archivo de video
Publicado por: migue_1988 en Lunes 8 de Diciembre de 2008, 15:40
Vista la dificultad de hacer esto que queria, me resumo a:
obtener el nombre (sin ruta) y la extension

por favor ayudenme con eso.

Gracias
Título: Re: obtener datos técnicos de un archivo de video
Publicado por: m0skit0 en Martes 9 de Diciembre de 2008, 09:17
Eso sólo sería obtener los caracteres después del punto y los caracteres después del último "" (Windows) o "/" (los demás). Es muy sencillo si ya tienes la ruta en una variable de cadena de caracteres.
Título: Re: obtener datos técnicos de un archivo de video
Publicado por: JeoV en Martes 9 de Diciembre de 2008, 19:29
si, eso muy sencillo, supongo que esa funcion OpenDialog de a de retornar una cadena de caracteres y ahi podrias aplicar lo que dijo moskito.

pero ademas de esa forma podrias hacerla de otra que me parece mas facil utilizando las herramientas que te da openDialog.

mira este ejemplo, muestra la forma de obtener el nombre de un archivo seleccionado.

http://foros.hispavista.com/foro-borland-cpp-builder/40540/857573/m/uso-del-control-topendialog-u-opendialog/

y me imagino que tambien se podra obtener la extension.
Título: Re: obtener datos técnicos de un archivo de video
Publicado por: migue_1988 en Miércoles 10 de Diciembre de 2008, 10:58
claro, me habia puesto a jugar un poco con las funciones del OpenDialog, en especial con FileName, porque por su nombre era la que estaba buscando. Pero al menos en Borland 4 el retorno de FileName es la ruta completa del archivo.

Tendre que probar con buscar el punto y la ultima /.

Gracias a todos igual