Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Capture Treiber wählen (https://www.delphipraxis.net/61487-capture-treiber-waehlen.html)

lars2002 22. Jan 2006 07:37


Capture Treiber wählen
 
Hallo,

ich hab bei mir auf dem PC eine TV-Karte und eine Webcam installiert,
wenn ich die (zum Teil hier geposteten) Codes zum anzeigen der Webcam
ausprobiere, habe ich das Problem das er immer die TV Karte als Capture Device nimmt,
gibt es eine möglichkeit sich die installierten Capture Treiber anzeigen zu lassen und
einen auszuwählen?

MfG Lars

ichbins 22. Jan 2006 08:27

Re: Capture Treiber wählen
 
Hallo und willkommen in der Delphi-Praxis! :party:

welchen Code verwendest du denn bisher?

mtin 22. Jan 2006 13:19

Re: Capture Treiber wählen
 
habe ganz genau das gleiche Problem, hab auch ne TV Karte und alle verfügbaren codebeispiele zeigen mir nur das rauschen dieser tv karte und nicht mein (FireWire) Webcam!!!

hier z.b. einer der codes die ich probiert hab:

Zitat:

1. Erst mal machst du ein neues Formular und läst alles wie es ist (Name, Größe usw.)
2. Setzt du ein TPanel auf das Formualar
3. Löscht du den gesamten Code des Formulars und setzt diesen ein:

Delphi-Quellcode:
unit Unit1;    

interface    

uses    
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,    
  Dialogs, ExtCtrls;    

type    
    TForm1 = class(TForm)    
      Panel1: TPanel;    
      procedure FormCreate(Sender: TObject);    
  private    
      { Private-Deklarationen }    
  public    
      { Public-Deklarationen }    
  end;    

var    
    Form1: TForm1;    

const    
    WM_CAP_DRIVER_CONNECT = WM_USER + 10;    
    WM_CAP_EDIT_COPY = WM_USER + 30;    
    WM_CAP_SET_PREVIEW = WM_USER + 50;    
    WM_CAP_SET_OVERLAY = WM_USER + 51;    
    WM_CAP_SET_PREVIEWRATE = WM_USER + 52;    

implementation    

    {$R *.dfm}    

function capCreateCaptureWindow(lpszWindowName: LPCSTR;    
    dwStyle: DWORD;    
    x, y,    
    nWidth,    
    nHeight: integer;    
    hwndParent: HWND;    
    nID: integer): HWND; stdcall;    
    external 'AVICAP32.DLL' name 'capCreateCaptureWindowA';    

procedure TForm1.Formcreate;    
 var handle:THandle;    
  begin    
    handle := capCreateCaptureWindow('Video',ws_child+ws_visible, 0,    
    0, 320, 240, Panel1.Handle, 1);    
    SendMessage(handle, WM_CAP_DRIVER_CONNECT, 0, 0);    
    SendMessage(handle, WM_CAP_SET_PREVIEWRATE, 30, 0);    
    sendMessage(handle, WM_CAP_SET_OVERLAY, 1, 0);    
    SendMessage(handle, wm_cap_set_preview, 1, 0);    
  end;    

end.

//orig von [url]http://www.delphipraxis.net/post282535.html#282535[/url]


lars2002 22. Jan 2006 18:03

Re: Capture Treiber wählen
 
Hallo,

ausprobiert hatte ich z.B. den hier...

WebCam-Bildzugriff: Zuerst Grabbe & Dekomprimiere den Frame!

Bekomm aber immer nur die TV-Karte.

MfG Lars

lars2002 22. Jan 2006 21:30

Re: Capture Treiber wählen
 
Hallo,

so nun ein etwas anderes Problem,
wenn ich in dem von mtin geposteten Code die Zeile

Delphi-Quellcode:
SendMessage(handle, WM_CAP_DRIVER_CONNECT, 0, 0);
in

Delphi-Quellcode:
SendMessage(handle, WM_CAP_DRIVER_CONNECT, 1, 0);
(bzw. bei mir "2") änder, seh ich das Bild der Webcam statt der TV Karte, das ist ja schonmal
schön :)

Nun meine "neue" Frage, da die "Reihenfolge" der installierten Treiber wohl auf jedem PC verschieden ist, gibt es eine Möglichkeit eine Liste der installierten "Capture-Treiber"
sich anzeigen zu lassen?

Also in der Art wie z.B:

0 MSVIDEO: Brooktree PCI VIDEO CAPTURE DRIVER
1 Microsoft WDM Image Capture
2 DEXXA USB Video Camera

MfG Lars

bernd_schreiber 23. Jan 2006 18:45

Re: Capture Treiber wählen
 
Hallo!

Wenn schon grad über dieses Thema diskutiert wird:

Mich interessirt der Fall grad anders herum. Ich will ein Video, das auf Festplatte gespeichert ist, per TV Karte mittels WinTV-Programm ansehen. Standardmäßig wird aber der Media-Player gestartet. Habe bisher die Videos aufgenommen mit externem Recorder, dann abgespielt, indem ich über den Video-Eingang meiner TV-Karte das Signal eingespeist habe. Demnächst soll ein Einbau-DVD-Brenner dazu kommen. Auch dort würde ich dann gerne meine DVD-s über WnTV mittels meiner TV-Karte betrachten und eben nicht mit einem Software Player. Wie erreiche ich das:

1.) mit eigenem Delphi Programm?

2.) gibt es evtl. bei den DVD-Brennern entsprechende Software im Lieferumfang?

Es grüßt Euch alle herzlich

Bernd

TStringlist 23. Jan 2006 21:34

Re: Capture Treiber wählen
 
Zitat:

Zitat von lars2002
Nun meine "neue" Frage, da die "Reihenfolge" der installierten Treiber wohl auf jedem PC verschieden ist, gibt es eine Möglichkeit eine Liste der installierten "Capture-Treiber"
sich anzeigen zu lassen?

Schau mal hier. Dieser mini C-Code dürfte sich einem wohl auch ohne C-Kenntnisse erschließen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz