![]() |
Videos mit VFW in OpenGL Darstellen
Hallo,
ich stell jetzt doch mal meine Frage, nachdem ich alles abgesucht habe. Ich möchte Videos in OpenGL abspielen. Dazu schien mir ziemlich VFW geeignet zu sein. Hab auch schon ein kleines Testprogramm fertig. Das funktioniert aber leider nur bei unkomprimierten AVI-Dateien. Andere Dateien werden zwar auch geöffnet, aber brechen ab, beim Aufruf von AviStreamGetFrameOpen. Das heißt dann laut Hilfe, dass kein Dekompressor gefunden wurde. Die codecs müssten bei mir aber installiert sein, zumindest gehen die AVIs ja im MediaPlayer u.s.w. Ich hab versucht AviStreamGetFrameOpen mit nil als zweiten Parameter oder mit einem gewünschten Format aufzurufen mit dem gleichen Resultat. Tja, vielleicht kann mir ja jemand helfen. Wie's ausschaut hat Aya auch was mit OpenGL und VFW vor. Also Danke schon mal. Reddog. |
Re: Videos mit VFW in OpenGL Darstellen
Noch ne ganz blöde Frage dazu: liegt das daran, dass ich ffdshow installiert habe und das nur mit DirectShow arbeitet?
|
Re: Videos mit VFW in OpenGL Darstellen
Hi,
dasselbe problem habe ich mit VFW auch... funktioniert nur bei 50% aller AVIs... Steige deswegen grad auf DirectDraw um, der bekommt dann sogar WMVs etc proclemlos hin (und man kann auch DirectDraw als Texturen in OpenGL benutzen) Aya~ |
Re: Videos mit VFW in OpenGL Darstellen
Also ich beschäftige mich gerade mit SDL insbesondere mit der SMPEG.dll. Da gibt's JEDI-Header zu. Das sollte auch alles (oder vieles) unterstützen, ist aber auch sehr portabel. DirectDraw lässt sich, nehm ich mal an, nicht so gut auf Linux portieren. Naja mal schauen was dabei herauskommt. Schade, VFW war schön einfach. :(
Danke für die Antwort. |
Re: Videos mit VFW in OpenGL Darstellen
Sag mal Aya kannste mir das mit DirectDraw und OpenGL Texturen etwas genauer erklären?
Weil SMPEG ist natürlich auch nur für mpegs (wer hätte das gedacht :(). Vielleicht muss ich ja doch directdraw benutzen, aber wäre sehr gut, wenn ich trotzdem in OpenGL zeichnen könnte. |
Re: Videos mit VFW in OpenGL Darstellen
Hi,
bin im moment auch noch dabei mich in DirectDraw einzuarbeiten.. :) Les mal hier: ![]() Damit bekommt man immerhin ein Bild des Videos.. aber, leider ist die variante viel zu langsam um damit ein video flüssig abzuspielen... die andere methode ist via SampleGrabber (auch da beschrieben, bzw ein kapitel höher). Geht zwar damit ziemlich problemlos etc, aber damit hast du nur die selben möglichkeiten als würdest du z.B. ne TMediaPlayer Komponente benutzen... zumindest habe ich damit nochnicht rausgefunden wie ich einfach Frame 1, 2, 3, 4 und 5 nacheinander grabben kann, so wie es mit vfw geht.. :( Aya~ |
AW: Videos mit VFW in OpenGL Darstellen
Versuche mich auch gerade mit VFW da ich ebenfalls ein Video auf OpenGl Darstellen will
Mein Problem ist nur Das D2009 ärger macht mit der Konvertierung von PChar nach PAnsiChar
Delphi-Quellcode:
procedure OpenAVI(filename : String);
begin AVIFileInit; if AVIFileOpen(AviFile, PChar(FileName), OF_READ or OF_SHARE_DENY_WRITE, nil) = 0 then
Delphi-Quellcode:
Das problem ist das wenn ich PAnsiChar anstelle von PChar verwende
function AVIFileOpen(var ppfile: PAVIFILE; szFile: LPCSTR; uMode: UINT; lpHandler: PCLSID): HResult; stdcall; external AVIFILDLL name 'AVIFileOpenA';
meckert der Compiler Zitat:
Denke das liegt daran das Die Library PChar erwartet und nichts anderes akzeptiert. Unter D2006 gibt es da keine probleme.. Was machen ? gruss |
AW: Videos mit VFW in OpenGL Darstellen
@EWeiss
Delphi-Quellcode:
procedure OpenAVI(filename : AnsiString);
|
AW: Videos mit VFW in OpenGL Darstellen
Zitat:
soweit war ich auch schon..
Delphi-Quellcode:
AVIStreamOpenFromFile(AVIStream, FileName, streamtypeVIDEO, 0, OF_READ, nil);
Delphi-Quellcode:
Und das Video läßt sich nicht laden.
[DCC Warnung] VisUnit.pas(261): W1057 Implizite String-Umwandlung von 'AnsiString' zu 'string'
Edit; Oh hab da was übersehn.. AVIStreamOpenFromFileW
Delphi-Quellcode:
gruss
procedure OpenAVI(filename : PWideChar);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz