 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
migue_1988 Cdt

Registrado: 26 Nov 2008Mensajes: 19
|
Publicado: Mie 03 Dic, 2008 3:10 pm Asunto: Obtener datos técnicos de un archivo de video |
|
|
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. |
|
| Volver arriba |
|
 |
likibuay Master


Registrado: 24 Abr 2006Mensajes: 190Ubicación: COLOMBIA
|
Publicado: Mie 03 Dic, 2008 3:34 pm Asunto: |
|
|
amigo... estas en el lugar equivocado, deberías postear tu pregunta en Consultas.  _________________ ><(((((º> From °l||l° §ÂN ÅNЮ€$ i§Lã$ °l||l°
_____________________ |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mie 03 Dic, 2008 7:04 pm Asunto: |
|
|
| likibuay escribió: | | amigo... estas en el lugar equivocado, deberías postear tu pregunta en Consultas. |
Lo he movido al sitio correcto.
| migue_1988 escribió: | | Hola a todos, necesito saber como obtener datos técnicos de un archivo de video (ingresado mediante un OpenDialog) como ser: |
Has repetido la pregunta exactamente igual, no por repetirlo más veces se va a conseguir que alguien responda. Lo mejor hubiese sido que en el mismo hilo que ya hayas abierto anteriormente añadieses más información, el mensaje sube y de paso aportas más datos.
Existen muchos contenedores y muchos formatos, si te refieres a alguno en concreto supongo que será mas fácil que alguien te ayude. Si los quieres "todos" es más fácil que vayas buscando información de cada uno de ellos en algún sitio como:
http://www.wotsit.org
Y luego una vez que empieces a hacerlo que vayas planteando las dudas que tengas. |
|
| Volver arriba |
|
 |
migue_1988 Cdt

Registrado: 26 Nov 2008Mensajes: 19
|
Publicado: Jue 04 Dic, 2008 3:28 pm Asunto: Gracias por responder |
|
|
En realidad buscaba poder obtener datos técnicos de archivos comunes, como:
avi, mpeg, mpg, rmvb, divx...
Espero sus respuestas |
|
| Volver arriba |
|
 |
migue_1988 Cdt

Registrado: 26 Nov 2008Mensajes: 19
|
Publicado: Dom 07 Dic, 2008 3:43 pm Asunto: Duda |
|
|
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. |
|
| Volver arriba |
|
 |
kalux Master


Registrado: 21 Nov 2003Mensajes: 313Ubicación: Alicante - España
|
Publicado: Mar 09 Dic, 2008 10:46 pm Asunto: |
|
|
Hola,
Hay una libreria que te puede ayudar. La conozco de oidas, asi que no te puedo ayudar mucho,
Es esta:
http://mediainfo.sourceforge.net/es
Por cierto es la que utiliza el emule.
Un saludo. |
|
| Volver arriba |
|
 |
migue_1988 Cdt

Registrado: 26 Nov 2008Mensajes: 19
|
Publicado: Jue 11 Dic, 2008 3:17 pm Asunto: |
|
|
Kalux, probe el MediaInfo, pero me surgio una duda:
comprendo el funcionamiento del programa y como generar un informe, pero no tengo idea de como obtener estos datos y manejarlos desde Borland.
Espero sus respuestas. |
|
| Volver arriba |
|
 |
kalux Master


Registrado: 21 Nov 2003Mensajes: 313Ubicación: Alicante - España
|
Publicado: Dom 04 Ene, 2009 9:43 pm Asunto: |
|
|
Hola,
Esta libreria no la he llegado a utilizar nunca. Me interese por ella por un proyecto que tengo a medias pero que por falta de tiempo se quedo en el tintero.
Asi que no puedo serte de mucha ayuda. Lo siento. |
|
| Volver arriba |
|
 |
migue_1988 Cdt

Registrado: 26 Nov 2008Mensajes: 19
|
Publicado: Vie 09 Ene, 2009 11:08 pm Asunto: |
|
|
Para todos: En realidad MediaInfo no es una libreria sino mas bien un programa que al cargar un archivo multimedia, genera un informe en el formato deseado.
Pero si mi programa usa los informes del mediainfo, la maquina en la que lo instale debera tener el mediainfo tambien o no?
espero sus respuestas |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Sab 10 Ene, 2009 12:55 am Asunto: |
|
|
| migue_1988 escribió: | | MediaInfo no es una libreria sino mas bien un programa que al cargar un archivo multimedia |
En realidad es las dos cosas, tienes una versión que es un programa independiente y tienes otra versión que es una DLL que puedes usar en tus programas:
[Mirar la descarga que pone: MediaInfoLib - DLL]
http://sourceforge.net/project/showfiles.php?group_id=86862
(El archivo: MediaInfo_DLL_0.7.8_Windows_i386.zip)
Dentro del archivo comprimido viene la DLL, documentación de como usarla y varios ejemplos. |
|
| Volver arriba |
|
 |
jb_______ Cdt

Registrado: 22 Dic 2003Mensajes: 21
|
Publicado: Mar 24 Feb, 2009 9:07 pm Asunto: |
|
|
No logro hacer "funcionar" la DLL en un programa C++ Builder.
Parece que enlaza correctamente pero a la hora de llamar a cualquiera de las funciones de la DLL da error.
¿Alguien puede dar un poco de luz?
He estado mirando entre el codigo fuente que vienen junto a la libreria pero no me aclaro. |
|
| Volver arriba |
|
 |
escafandra Master

Registrado: 29 Nov 2007Mensajes: 625Ubicación: Madrid - España
|
Publicado: Mar 24 Feb, 2009 9:56 pm Asunto: |
|
|
| jb_______ escribió: | | Parece que enlaza correctamente pero a la hora de llamar a cualquiera de las funciones de la DLL da error. |
...¿Y que error te da?
Saludos. |
|
| Volver arriba |
|
 |
jb_______ Cdt

Registrado: 22 Dic 2003Mensajes: 21
|
Publicado: Mar 24 Feb, 2009 11:56 pm Asunto: |
|
|
Basicamente que no reconoce la función llamada (al compilar el programa da error)
Es como si no estuviese bien enlazada la DLL o lo que sea.
He probado con el fichero lib que viene con la DLL y tambien generandola con implib, y no logro nada. |
|
| Volver arriba |
|
 |
escafandra Master

Registrado: 29 Nov 2007Mensajes: 625Ubicación: Madrid - España
|
Publicado: Mie 25 Feb, 2009 1:09 am Asunto: |
|
|
Bien, estos son los pasos que debes dar:
1.- Debes usar IMPLIB del builder para crear la Librería.lib de una dll.
2.- En tu proyecto tienes que añadir Libreria.lib.
3.- En tu File.cpp añades:
| Código: | #pragma link "Libreria.lib"
|
4.- Utiliza las funciones de la dll como cualquier otra.
Existe otra forma de conseguir algo parecido. Consiste en importar las funciones una a una con las API LoadLibrary y tras definir un puntero a la función que necesitas, usar GetProcAddress para darle el valor apropiado. Mira este ejemplo de _Leo.
En todos los casos debes conocer los prototipos de las funciones para poder usarlas o importarlas, si es el caso.
Saludos. |
|
| Volver arriba |
|
 |
jb_______ Cdt

Registrado: 22 Dic 2003Mensajes: 21
|
Publicado: Mie 25 Feb, 2009 11:31 pm Asunto: |
|
|
Vale.. el problema es que usaba el *.lib y la libreria *.dll a la vez y aunque no daba error al compilar, a la hora de llamar a la funcion se volvia loco.
Ya funciona, con el fichero mediainfo.lib agregado al proyecto y con la libreria MediaInfoDLL_Static.h
Un pequeño ejemplo de uso:
---------------------
#include "MediaInfoDLL_Static.h"
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(OpenDialog1->Execute()){
void* Handle = MediaInfo_New();
MediaInfo_Option(Handle, _T("Internet"), _T("No"));
MemoInfo->Clear();
MemoInfo->Lines->Add("Archivo: " + OpenDialog1->FileName);
MediaInfo_Open(Handle, _T(OpenDialog1->FileName.c_str()));
MemoInfo->Lines->Add(MediaInfo_Option (Handle, "Info_Version", ""));
MemoInfo->Lines->Add("Video:");
MemoInfo->Lines->Add(MediaInfo_Get(Handle, MediaInfo_Stream_Video, 0, _T("Codec"), MediaInfo_Info_Text, MediaInfo_Info_Name));
MemoInfo->Lines->Add(MediaInfo_Get(Handle, MediaInfo_Stream_Video, 0, _T("BitRate"), MediaInfo_Info_Text, MediaInfo_Info_Name));
MemoInfo->Lines->Add(MediaInfo_Get(Handle, MediaInfo_Stream_Video, 0, _T("Width"), MediaInfo_Info_Text, MediaInfo_Info_Name));
MemoInfo->Lines->Add(MediaInfo_Get(Handle, MediaInfo_Stream_Video, 0, _T("Height"), MediaInfo_Info_Text, MediaInfo_Info_Name));
MemoInfo->Lines->Add("");
MemoInfo->Lines->Add("Audio 1:");
MemoInfo->Lines->Add(MediaInfo_Get(Handle, MediaInfo_Stream_Audio, 0, _T("Codec"), MediaInfo_Info_Text, MediaInfo_Info_Name));
MemoInfo->Lines->Add(MediaInfo_Get(Handle, MediaInfo_Stream_Audio, 0, _T("BitRate"), MediaInfo_Info_Text, MediaInfo_Info_Name));
MemoInfo->Lines->Add(MediaInfo_Get(Handle, MediaInfo_Stream_Audio, 0, _T("Language"), MediaInfo_Info_Text, MediaInfo_Info_Name));
MemoInfo->Lines->Add("Audio 2:");
MemoInfo->Lines->Add(MediaInfo_Get(Handle, MediaInfo_Stream_Audio, 1, _T("Codec"), MediaInfo_Info_Text, MediaInfo_Info_Name));
MemoInfo->Lines->Add(MediaInfo_Get(Handle, MediaInfo_Stream_Audio, 1, _T("BitRate"), MediaInfo_Info_Text, MediaInfo_Info_Name));
MemoInfo->Lines->Add(MediaInfo_Get(Handle, MediaInfo_Stream_Audio, 0, _T("Language"), MediaInfo_Info_Text, MediaInfo_Info_Name));
MemoInfo->Lines->Add("");
MemoInfo->Lines->Add("Subtitulos:");
MemoInfo->Lines->Add(MediaInfo_Get(Handle, MediaInfo_Stream_Text, 0, _T("Language"), MediaInfo_Info_Text, MediaInfo_Info_Name));
MemoInfo->Lines->Add(MediaInfo_Get(Handle, MediaInfo_Stream_Text, 1, _T("Language"), MediaInfo_Info_Text, MediaInfo_Info_Name));
MediaInfo_Close(Handle);
};
} |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|