WDM WebCAM

Fragen rund um diverse Windows-Versionen, ihr Verhalten unter Xbase++ und den Umgang mit der API

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

WDM WebCAM

Beitrag von AUGE_OHR »

seit Vista/Win7 gibt es ja WDM Treiber welche auch Windows 10 benutzt.
nun laufen "alte" WebCAM Treiber nicht mehr mit "AVI Cap" unter Windows 10. :banghead:

Frage : hat schon jemand WDM Capture Treiber mit Directshow am laufen :?:
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: WDM WebCAM

Beitrag von AUGE_OHR »

darum geht es beim Thema DirectShow / Capture
https://msdn.microsoft.com/de-de/librar ... s.85).aspx

---

zunächst scheint das Problem zu sein überhaupt einen WDM Treiber zu bekommen.
dabei nützt einem die Version 1.0 (Vista) nichts :^o da wohl mindesten v1.1 für "Capture" benötigt wird.

"Das" Werkzeug bei solchen Video Problemen ist GraphEdit.
https://msdn.microsoft.com/de-de/librar ... 07274.aspx
GraghEdit_ATi_AiW.jpg
GraghEdit_ATi_AiW.jpg (123.36 KiB) 3561 mal betrachtet
damit habe ich meine ATi X800 All-in-Wonder unter Windows 10 zum laufen gebracht =D>
nun ist es ein "Werkzeug" mit vielen Optionen was mir zeigt "das" es unter Windows 10 geht mit Directshow "Capture" :!:

der "alte" M$ Mplayer2.EXE, welcher abgeschafft wurde zugunsten von WMP (wegen DRM), nutzte DirectShow.
auch VLC ( Videolan ) kann ein "Aufnahme Gerät" öffnen und über Directshow rendern.

dazu gibt es bei VLC noch die Option der Commandline womit man die Parameter setzten kann.

Code: Alles auswählen

 DirectShow input
      --dshow-vdev=<string>
          Video device name
          Name of the video device that will be used by the DirectShow plugin. If you don't specify anything, the default device will be used.
      --dshow-adev=<string>
          Audio device name
          Name of the audio device that will be used by the DirectShow plugin. If you don't specify anything, the default device will be used. 
      --dshow-size=<string>
          Video size
          Size of the video that will be displayed by the DirectShow plugin. If you don't specify anything the default size for your device will be used. You can specify a standard size (cif, d1, ...) or <width>x<height>.
      --dshow-aspect-ratio=<string>
          Picture aspect-ratio n:m
          Define input picture aspect-ratio to use. Default is 4:3
      --dshow-chroma=<string>
          Video input chroma format
          Force the DirectShow video input to use a specific chroma format (eg. I420 (default), RV24, etc.)
      --dshow-fps=<float>
          Video input frame rate
          Force the DirectShow video input to use a specific frame rate (eg. 0 means default, 25, 29.97, 50, 59.94, etc.)
      --dshow-config, --no-dshow-config
          Device properties (default disabled)
          Show the properties dialog of the selected device before starting the stream. (default disabled)
      --dshow-tuner, --no-dshow-tuner
          Tuner properties (default disabled)
          Show the tuner properties [channel selection] page. (default disabled)
      --dshow-tuner-channel=<integer [-2147483648 .. 2147483647]>
          Tuner TV Channel
          Set the TV channel the tuner will set to (0 means default).
      --dshow-tuner-frequency=<integer [-2147483648 .. 2147483647]>
          Tuner Frequency
          This overrides the channel. Measured in Hz.
      --dshow-tuner-country=<integer [-2147483648 .. 2147483647]>
          Tuner country code
          Set the tuner country code that establishes the current channel-to-frequency mapping (0 means default).
      --dshow-tuner-standard={0 (Default), 1 (NTSC_M), 2 (NTSC_M_J), 4 (NTSC_443), 16 (PAL_B), 32 (PAL_D), 64 (PAL_G), 128 (PAL_H), 256 (PAL_I), 512 (PAL_M), 1024 (PAL_N), 2048 (PAL_60), 4096 (SECAM_B), 8192 (SECAM_D), 16384 (SECAM_G), 32768 (SECAM_H), 65536 (SECAM_K), 131072 (SECAM_K1), 262144 (SECAM_L), 524288 (SECAM_L1), 1048576 (PAL_N_COMBO)}
          Video standard
          Video standard
      --dshow-tuner-input={0 (Default), 1 (Cable), 2 (Antenna)}
          Tuner input type
          Select the tuner input type (Cable/Antenna).
      --dshow-video-input=<integer [-2147483648 .. 2147483647]>
          Video input pin
          Select the video input source, such as composite, s-video, or tuner. Since these settings are hardware-specific, you should find good settings in the "Device config" area, and use those numbers here. -1 means that settings will not be changed.
      --dshow-video-output=<integer [-2147483648 .. 2147483647]>
          Video output pin
          Select the video output type. See the "video input" option.
      --dshow-audio-input=<integer [-2147483648 .. 2147483647]>
          Audio input pin
          Select the audio input source. See the "video input" option.
      --dshow-audio-output=<integer [-2147483648 .. 2147483647]>
          Audio output pin
          Select the audio output type. See the "video input" option.
      --dshow-amtuner-mode={0 (Default), 1 (TV), 2 (FM radio), 4 (AM radio), 8 (DSS)}
          AM Tuner mode
          AM Tuner mode. Can be one of Default (0), TV (1),AM Radio (2), FM Radio (3) or DSS (4).
      --dshow-audio-channels=<integer [-2147483648 .. 2147483647]>
          Number of audio channels
          Select audio input format with the given number of audio channels (if non 0)
      --dshow-audio-samplerate=<integer [-2147483648 .. 2147483647]>
          Audio sample rate
          Select audio input format with the given sample rate (if non 0)
      --dshow-audio-bitspersample=<integer [-2147483648 .. 2147483647]>
          Audio bits per sample
          Select audio input format with the given bits/sample (if non 0)
leider gibt es die Functionen scheinbar nicht in der ActiveX Schnittstelle (axVLC) :(

das was mit der TV-Karte geht funktioniert natürlich auch mit der CAM in einem Notebook oder Table PC und WDM Treibern =D>

---

wenn es nur um das Capture von Bildern geht hab ich das entdeckt
Running CommandCam from Excel using VBA
https://batchloaf.wordpress.com/2013/01 ... using-vba/
die Optionen und den Source Code (CPP) findet man auf der Homepage des Autors
https://batchloaf.wordpress.com/commandcam/

---

wie man sehen kann arbeitet der Autor ebenfalls mit DirectShow sodas die ein Ansatz wäre den C# Code für Xbase++ zu modifizieren.

Idee :idea:

es gibt schon die Option /Preview aber das Overlay erscheint "irgendwo"
wenn man das Handle des Overlay "Fenster" hat kann man es einen Parent zuordnen.
bei Move/Resize des Parent wird dann das Overlay entsprechend angepasst.

nun ist der Code zwar dafür ausgelegt ein Snapshot zu machen aber eben als Command Line Tool.
wenn die Preview aber schon läuft müsste man eine 2nd Instanz (in einem Thread) anrufen :-k

eleganter wäre es nun wenn man aus dem EXE eine DLL mit COM Schnittstelle machen würde ... :-"
gruss by OHR
Jimmy
Antworten