![]() |
acceder a frames de Divx
Hola.
Antes que nada, ME doy la bienvenida en esta magnifica Comunidad de Programadores. Y espero no meter la pata en mi primer post. He buscado muchisimo por la web y no encontre nada que me lo solucione. Hay multitud de ejemplos, pero andan solo con avi comunes, no con Divx. Lo que quiero hacer es acceder frame x frame a un Divx y mandarlo a un TBitmap, sin necesidad de reproducirlo. Esto es para recorrer el video de forma mas rapida que en tiempo real. Pongo un codigo que "casi" anduvo: (usando vfw.pas) Cita:
gapgf := AVIStreamGetFrameOpen(AVIStream, nil); siempre me devuelve nil, entoces falla el getframe. Probe tambien el TmediaPlayer y no me reproduce divx. y probé el DSPack con directshow pero no se como acceder a los frames sin tener que reproducir el video. ¿Alguien me puede dar una mano con esto? Gracias |
¿Ni siquiera un post de bienvenida? :confused:
Bueno, ya lo solucioné. Gracias a los 4 que por lo menos leyeron el post. ;) Saludos |
Hola Etruel,
Antes que nada bienvenido... yo fui uno de los que leyó tu post y no te contesté porque no tenía ni idea, tampoco me fijé que erá tu primer post... Bueno, me gustaría saber como lo resolviste, la verdad es que me parece muy interesante el tema. Puede poner un mensaje poniendo que componentes y código has utilizado?? Gracias y un saludo. |
pero como no!! aca esta el código
Use el Media Detector del Direct Show9. Que aunque creo que no permite acceder frame x frame, pude acceder a segundo x segundo que igual me sirve. Cita:
|
Otras Preguntas Mas Sencillas
Lo que quiero es poder trabajar con la imagen extraida antes de mostrarla. Si en vez de hacer esto: image1.Picture.Bitmap.Handle := Bitmap; Hago esto: image1.Picture.Bitmap.Canvas.Handle := Bitmap; Las preguntas son: ¿Como accedo a los pixels de la imagen extraida en el canvas? ¿Como muestro el canvas luego en image1? Por ahora se me ocurrió esto. No se si estoy bien orientado. Si alguien sabe una forma mejor por favor que lo postee Gracias |
Hola Etruel,
Lo primero gracias por mostrarnos la solución pero me queda una duda, cuando dices que usas el Media Detector del Direct Show 9 das a entender de que ¿para que ese código funcione es necesario tener DirectX 9 ? igual acabo de preguntar una barbaridad... Otra cosa, referente a las cuestiones en el mensaje de después del código... Por que no haces algo así: Código:
var Salu2. |
Snake:
En mi equipo tengo instalado el directx 9 no se si andará en otras versiones una vez compilado. Use las librerias de DirectX para delphi que hay en http://www.progdigy.com. En esos foros encontre un codigo similar al que usé yo (es decir, me basé en ese código ;) ) Gracias por el código del canvas, algo así habia pensado; aunque sigo buscando una forma mas rapida porque tengo que acceder a cada pixel de la imagen y modificar el color uno por uno. Saludos PD: No tengo mucha experiencia en delphi, voy buscando información acerca de lo que quiero hacer. |
La franja horaria es GMT +2. Ahora son las 12:56:55. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi