AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Webcam in Delphi?

Offene Frage von "himitsu"
Ein Thema von Nicolai1234 · begonnen am 10. Dez 2004 · letzter Beitrag vom 8. Apr 2021
Antwort Antwort
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.073 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Webcam in Delphi?

  Alt 1. Apr 2021, 12:13
Wenn du mit RDP drauf bist, starte doch mal dxdiag.
Warte mal... vieleicht habe ich mich blöd ausgedrückt.

Ich habe einen physischen PC, an dem hängt eine Webcam. An diesem physischen PC greife ich auf eine VM via RDP zu.
Die VM ist mein Arbeitstier, der PC fungiert nur als Thin Client.
An dem PC hängt auch noch ein NFC Kartenleser der ohne Probleme durchkommt.
Ok, nochmal für Dumme:
Ich habe verstanden, dass du in deiner RDP-Session keine Bilder siehst (alles schwarz).
Funktioniert die Kamera denn, wenn du direkt vor dem Thin Client sitzt und die VM offen hast?
Also in der jeweiligen Ausführungssoftware (VMWare, Hyper-V, whatever).

EDIT: Nichts desto trotz würde ich dich doch bitten mal dxdiag zu öffnen und zu gucken was geht.
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
712 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Webcam in Delphi?

  Alt 1. Apr 2021, 14:13
Funktioniert die Kamera denn, wenn du direkt vor dem Thin Client sitzt und die VM offen hast?
Ja und Nein.
Ja, die Win10 eigene Camera App geht, langsam aber es kommen Bilder.

Nein, alles was via DirectDraw arbeitet (VLC), vsampledemo_32 und ...
Code:
external 'AVICAP32.DLL' name 'capCreateCaptureWindowA';
... funktioniert nicht.

Die VM ist ein Win10Pro auf HyperV.

EDIT: Nichts desto trotz würde ich dich doch bitten mal dxdiag zu öffnen und zu gucken was geht.
Habe ich gemacht. Das gute alte dxDiag Wunderdingens.

Thin Client
Code:
---------------------
Video Capture Devices
Number of Devices: 1
---------------------
           FriendlyName: Logitech HD Webcam C270
               Category: Camera
           SymbolicLink: \\?\usb#vid_046d&pid_0825&mi_00#6&290d7e38&0&0000#{e5323777-f976-4f5b-9b55-b94699c46e44}\{bbefb6c7-2fc4-4139-bb8b-a58bba724083}
               Location: n/a
               Rotation: n/a
           Manufacturer: Logitech
             HardwareID: USB\VID_046D&PID_0825&REV_0012&MI_00,USB\VID_046D&PID_0825&MI_00
             DriverDesc: Logitech HD Webcam C270
         DriverProvider: Logitech
          DriverVersion: 13.80.853.0
      DriverDateEnglish: 10/22/2012 00:00:00
    DriverDateLocalized: 10/22/2012 12:00:00 AM
                Service: LVUVC64
                  Class: Image
          DevNodeStatus: 180600A[DN_DRIVER_LOADED|DN_STARTED|DN_DISABLEABLE|DN_REMOVABLE|DN_NT_ENUMERATOR|DN_NT_DRIVER]
            ContainerId: {63DF21A9-B3C6-5F8D-B2DF-49B47607E7AB}
            ProblemCode: No Problem
  BusReportedDeviceDesc: n/a
                 Parent: USB\VID_046D&PID_0825\3AA9AEA0
      DriverProblemDesc: n/a
           UpperFilters: n/a
           LowerFilters: n/a
                  Stack: \Driver\ksthunk,\Driver\LVUVC64,\Driver\usbccgp
      ContainerCategory: Imaging.Webcam
          SensorGroupID: n/a
                   MFT0: n/a
                   DMFT: n/a
    CustomCaptureSource: n/a
  DependentStillCapture: n/a
     EnablePlatformDMFT: n/a
              DMFTChain: n/a
 EnableDshowRedirection: n/a
     FrameServerEnabled: n/a
        AnalogProviders: n/a
             ProfileIDs: n/a
VM
Code:
---------------------
Video Capture Devices
Number of Devices: 1
---------------------
           FriendlyName: "PC_Name" - Logitech HD Webcam C270
               Category: Camera
           SymbolicLink: \\?\rdcamera_bus#umb#2&124e6930&0&rdcamera_device_0_2#{e5323777-f976-4f5b-9b55-b94699c46e44}\rdcamerasource
               Location: n/a
               Rotation: n/a
           Manufacturer: Microsoft
             HardwareID: RDCAMERA_BUS\RDCAMERA
             DriverDesc: Remote Desktop Camera
         DriverProvider: Microsoft
          DriverVersion: 10.0.19041.746
      DriverDateEnglish: 6/21/2006 00:00:00
    DriverDateLocalized: 2006-06-21 00:00:00
                Service: WUDFRd
                  Class: RDCamera
          DevNodeStatus: 180200A[DN_DRIVER_LOADED|DN_STARTED|DN_DISABLEABLE|DN_NT_ENUMERATOR|DN_NT_DRIVER]
            ContainerId: {00000000-0000-0000-FFFF-FFFFFFFFFFFF}
            ProblemCode: No Problem
  BusReportedDeviceDesc: n/a
                 Parent: UMB\UMB\1&841921d&0&RDCAMERA_BUS
      DriverProblemDesc: n/a
           UpperFilters: n/a
           LowerFilters: n/a
                  Stack: \Driver\WudfRd,\Driver\umbus
      ContainerCategory: n/a
          SensorGroupID: n/a
                   MFT0: n/a
                   DMFT: n/a
    CustomCaptureSource: {889FF934-6161-4250-BDEF-9D93D62CA1AC}
  DependentStillCapture: n/a
     EnablePlatformDMFT: n/a
              DMFTChain: n/a
 EnableDshowRedirection: n/a
     FrameServerEnabled: n/a
        AnalogProviders: n/a
             ProfileIDs: n/a
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.073 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Webcam in Delphi?

  Alt 1. Apr 2021, 15:22
EDIT: Nichts desto trotz würde ich dich doch bitten mal dxdiag zu öffnen und zu gucken was geht.
Habe ich gemacht. Das gute alte dxDiag Wunderdingens.
Schaue dir doch bitte nochmal meinen Screenshot aus Beitrag #34 an und zeige uns das.
Und prüfe, ob die Vorschläge in den Links aus Beitrag #35 Besserung bringen.

Wenn überhaupt, hätten mich aus deiner DxDiag.txt eher die Einträge für die Grafikkarte interessiert (Display Devices).
Vor allen DDraw Status und D3D Status. Kannste beide Textdateien auch einfach anhängen.

Der VLC-Player unterstützt mehrere verschiedene Renderer.
Bitte probiere doch mal explizit die Direct3D11-Videoausgabe als Ausgabemodule einzustellen.

Beispiel:
Code:
---------------
Display Devices
---------------
           Card name: Intel(R) HD Graphics 630
        Manufacturer: Intel Corporation
           Chip type: Intel(R) HD Graphics Family
            DAC type: Internal
         Device Type: Full Device (POST)
          Device Key: Enum\PCI\VEN_8086&DEV_5912&SUBSYS_872F1043&REV_04
       Device Status: 0180200A [DN_DRIVER_LOADED|DN_STARTED|DN_DISABLEABLE|DN_NT_ENUMERATOR|DN_NT_DRIVER]
 Device Problem Code: No Problem
 Driver Problem Code: Unknown
      Display Memory: 8254 MB
    Dedicated Memory: 128 MB
       Shared Memory: 8126 MB
        Current Mode: 1920 x 1200 (32 bit) (59Hz)
         HDR Support: Not Supported
    Display Topology: Extend
 Display Color Space: DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709
     Color Primaries: Red(0.660156,0.332031), Green(0.301758,0.613281), Blue(0.150391,0.063477), White Point(0.313477,0.329102)
   Display Luminance: Min Luminance = 0.500000, Max Luminance = 270.000000, MaxFullFrameLuminance = 270.000000
        Monitor Name: Generic PnP Monitor
       Monitor Model: DELL U2415
          Monitor Id: DELA0BC
         Native Mode: 1920 x 1200(p) (59.950Hz)
         Output Type: HDMI
Monitor Capabilities: HDR Not Supported
Display Pixel Format: DISPLAYCONFIG_PIXELFORMAT_32BPP
      Advanced Color: Not Supported
         Driver Name: ...gekürzt...
 Driver File Version: 27.20.0100.9316 (English)
      Driver Version: 27.20.100.9316
         DDI Version: 12
      Feature Levels: 12_1,12_0,11_1,11_0,10_1,10_0,9_3,9_2,9_1
        Driver Model: WDDM 2.7
 Hardware Scheduling: Supported:False Enabled:False
 Graphics Preemption: Triangle
  Compute Preemption: Thread
            Miracast: Not Supported by WiFi driver
      Detachable GPU: No
 Hybrid Graphics GPU: Integrated
      Power P-states: Not Supported
      Virtualization: Paravirtualization
          Block List: DISABLE_HWSCH
  Catalog Attributes: Universal:False Declarative:True
   Driver Attributes: Final Retail
    Driver Date/Size: 18.02.2021 02:00:00, 1456120 bytes
         WHQL Logo'd: Yes
     WHQL Date Stamp: Unknown
   Device Identifier: {D7B78E66-1A52-11CF-9757-4BA7BFC2D635}
           Vendor ID: 0x8086
           Device ID: 0x5912
           SubSys ID: 0x872F1043
         Revision ID: 0x0004
  Driver Strong Name: oem123.inf:5f63e5341bf86c41:iKBLD_w10_DS:27.20.100.9316:PCI\VEN_8086&DEV_5912
      Rank Of Driver: 00CF2001
         Video Accel: ModeMPEG2_A ModeMPEG2_C ModeWMV9_C ModeVC1_C
         DXVA2 Modes:...gekürzt...
   Deinterlace Caps: ...gekürzt...
        D3D9 Overlay: Supported
             DXVA-HD: Supported
        DDraw Status: Enabled
          D3D Status: Enabled
          AGP Status: Enabled
       MPO MaxPlanes: 3
            MPO Caps: RGB,YUV,BILINEAR,HIGH_FILTER,STRETCH_YUV,STRETCH_RGB,IMMEDIATE,HDR (MPO3)
         MPO Stretch: 5.000X - 0.334X
     MPO Media Hints: colorspace Conversion
         MPO Formats: NV12,YUY2,R16G16B16A16_FLOAT,R10G10B10A2_UNORM,R8G8B8A8_UNORM,B8G8R8A8_UNORM
    PanelFitter Caps: RGB,YUV,BILINEAR,HIGH_FILTER,STRETCH_YUV,STRETCH_RGB,IMMEDIATE,HDR (MPO3)
 PanelFitter Stretch: 5.000X - 0.334X
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
712 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Webcam in Delphi?

  Alt 1. Apr 2021, 17:54
Der Fehler den mir VLC wirft beim Versuch die cam als Input zu öffnen ist ja nicht von der Ausgabe. Sondern vom input stream.
Zitat:
Your input can't be opened:
VLC is unable to open the MRL 'dshow://'. Check the log for details.
Auswahl der cam als Datenquelle:
VLC_IN.jpg

Ich habe trotzdem mal mit weiteren input und output Optionen gespielt. Es bleibt bei der Fehlermeldung.
Ich denke die hat die gleiche Ursache wie bei den AVICAP32.DLL basierten Programmen.
Nur was?

Post #34, sieht bei mir genauso aus.
Post #35, muss ich meinen IT Admin ranlassen. Wenn ich da was ausprobiere darf ich mir einen Fleischwolf von innen ansehen.

Display dxdiag part aus der VM:
Zitat:
---------------
Display Devices
---------------
Card name: Microsoft Remote Display Adapter
Manufacturer: Microsoft
Chip type: Unknown
DAC type: Unknown
Device Type: Display-Only Device
Device Key: Enum\SWD\REMOTEDISPLAYENUM
Device Status: 0180600A [DN_DRIVER_LOADED|DN_STARTED|DN_DISABLEABLE|DN_REMO VABLE|DN_NT_ENUMERATOR|DN_NT_DRIVER]
Device Problem Code: No Problem
Driver Problem Code: Unknown
Display Memory: 4023 MB
Dedicated Memory: 0 MB
Shared Memory: 4023 MB
Current Mode: 3440 x 1440 (32 bit) (32Hz)
HDR Support: Not Supported
Display Topology: Internal
Display Color Space: DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709
Color Primaries: Red(0.000000,0.000000), Green(0.000000,0.000000), Blue(0.000000,0.000000), White Point(0.000000,0.000000)
Display Luminance: Min Luminance = 0.000000, Max Luminance = 0.000000, MaxFullFrameLuminance = 0.000000
Monitor Name: Generic Non-PnP Monitor
Monitor Model: unknown
Monitor Id:
Native Mode: unknown
Output Type: Unknown
Monitor Capabilities: HDR Not Supported
Display Pixel Format: DISPLAYCONFIG_PIXELFORMAT_32BPP
Advanced Color: Not Supported
Driver Name: c:\windows\system32\drivers\umdf\rdpidd.dll,c:\win dows\system32\drivers\wudfrd.sys
Driver File Version: 10.00.19041.0662 (English)
Driver Version: 10.0.19041.662
DDI Version: 12
Feature Levels: 12_1,12_0,11_1,11_0,10_1,10_0,9_3,9_2,9_1
Driver Model: WDDM 1.3
Hardware Scheduling: Supported:False Enabled:False
Graphics Preemption: DMA
Compute Preemption: DMA
Miracast: Not Supported
Detachable GPU: No
Hybrid Graphics GPU: Not Supported
Power P-states: Not Supported
Virtualization: Not Supported
Block List: No Blocks
Catalog Attributes: N/A
Driver Attributes: Final Retail
Driver Date/Size: 2006-06-21 04:00:00, 224256 bytes
WHQL Logo'd: n/a
WHQL Date Stamp: n/a
Device Identifier: {D7B71AF4-43CC-11CF-9261-616AAFC2C735}
Vendor ID: 0x1414
Device ID: 0x008C
SubSys ID: 0x00000000
Revision ID: 0x0000
Driver Strong Name: rdpidd.inf:c14ce88470d6efe0:RdpIdd_Install.NT:10.0 .19041.662:RdpIdd_IndirectDisplay
Rank Of Driver: 00FF0000
Video Accel: Unknown
DXVA2 Modes: Unknown
Deinterlace Caps: n/a
D3D9 Overlay: Not Supported
DXVA-HD: Not Supported
DDraw Status: Not Available
D3D Status: Enabled
AGP Status: Not Available
MPO MaxPlanes: 0
MPO Caps: Not Supported
MPO Stretch: Not Supported
MPO Media Hints: Not Supported
MPO Formats: Not Supported
PanelFitter Caps: Not Supported
PanelFitter Stretch: Not Supported

Card name: Microsoft Hyper-V Video
Manufacturer: Microsoft
Chip type: Unknown
DAC type: Unknown
Device Type: Display-Only Device (POST)
Device Key: Enum\VMBUS\{DA0A7802-E377-4AAC-8E77-0558EB1073F8}
Device Status: 0180200A [DN_DRIVER_LOADED|DN_STARTED|DN_DISABLEABLE|DN_NT_E NUMERATOR|DN_NT_DRIVER]
Device Problem Code: No Problem
Driver Problem Code: Unknown
Display Memory: 4023 MB
Dedicated Memory: 0 MB
Shared Memory: 4023 MB
Current Mode: Unknown
HDR Support: Unknown
Display Topology: Unknown
Display Color Space: Unknown
Color Primaries: Unknown
Display Luminance: Unknown
Driver Name: c:\windows\system32\drivers\hypervideo.sys,c:\wind ows\system32\drivers\hypervideo.sys
Driver File Version: 10.00.19041.0001 (English)
Driver Version: 10.0.19041.1
DDI Version: 12
Feature Levels: 12_1,12_0,11_1,11_0,10_1,10_0,9_3,9_2,9_1
Driver Model: WDDM 1.3
Hardware Scheduling: Supported:False Enabled:False
Graphics Preemption: DMA
Compute Preemption: DMA
Miracast: Not Supported
Detachable GPU: No
Hybrid Graphics GPU: Not Supported
Power P-states: Not Supported
Virtualization: Not Supported
Block List: No Blocks
Catalog Attributes: N/A
Driver Attributes: Final Retail
Driver Date/Size: 2006-06-21 04:00:00, 41784 bytes
WHQL Logo'd: n/a
WHQL Date Stamp: n/a
Device Identifier: Unknown
Vendor ID: 0x1414
Device ID: 0x008C
SubSys ID: 0x00000000
Revision ID: 0x0000
Driver Strong Name: wvmbusvideo.inf:741f41b52317eb0a:HyperVideo_Instal l:10.0.19041.1:VMBUS\{da0a7802-e377-4aac-8e77-0558eb1073f8}
Rank Of Driver: 00DD0000
Video Accel: Unknown
DXVA2 Modes: Unknown
Deinterlace Caps: n/a
D3D9 Overlay: Unknown
DXVA-HD: Unknown
DDraw Status: Enabled
D3D Status: Enabled
AGP Status: Enabled
MPO MaxPlanes: 0
MPO Caps: Not Supported
MPO Stretch: Not Supported
MPO Media Hints: Not Supported
MPO Formats: Not Supported
PanelFitter Caps: Not Supported
PanelFitter Stretch: Not Supported
€: Bild vergessen.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.

Geändert von Sinspin ( 1. Apr 2021 um 18:01 Uhr)
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
982 Beiträge
 
Delphi 6 Professional
 
#5

AW: Webcam in Delphi?

  Alt 2. Apr 2021, 06:25
Hmm..

Ich habe hier nur die Antworten nur teilweise überflogen...

Zusammengefasst:
- Direkt auf dem PC: Video wird angezeigt.
- Per RDP: Fenster, indem das Video abgespielt wird bleibt schwarz.

Das kommt mir bekannt vor..

Viele Decoder/Videotreiber blenden das Videobild als 'Overlay' direkt auf dem Screen teilweise direkt in das Ausgabebild der Grafikkarte ein. Dieses kann von dem RDP-Screengrabber nicht erfasst werden und somit wird dort nur ein schwarzes Bild angezeigt werden.

Früher konnte hier ein anderer Grafikkartentreiber mit einer Art 'Dobblebuffer' im Treiber installiert werden.
Andere RDP-Clients oder Fernsteuerungstools dürften dieses Problem auch haben...
Eventuell in den Einstellungen des RDP-Server/-Clints nachschauen, ob es für Videos eventuell auch einfach nur ein 'Ausblenden' gibt, um Ruckler oder gar Aussetzer bei der RDP-Übertragung zu verhindern.

Alternativ nach einem anderen Dekoder (für den Video-Codec) schauen oder andere Videoplayer testen, diese könnten dieses Overlay anders handhaben.
(Ja ich Verwende Delphi 6 Pro und will NICHT wechseln!)
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
712 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Webcam in Delphi?

  Alt 4. Apr 2021, 08:29
Videos werden angezeigt. Auch Microsofts eigene "Camera App" funktionier (Ich arbeite hier an englischen Systemem, keine Ahnung wie die App in deuschen Windows heißt).

Es scheint auch nicht die Ausgabe zu sein. Es sieht so aus als wenn die Datenquelle der Kamera in der RDP Session nicht auf die gleiche Art bereit gestellt wird.
Denn wenn man sich mit der Kamera verbindet dann geht an der ja ein Licht an. Das passiert aber nicht.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
982 Beiträge
 
Delphi 6 Professional
 
#7

AW: Webcam in Delphi?

  Alt 5. Apr 2021, 21:49
Hmm..

(Nochmals etwas detaillierter)

Direkt am PC ist 'nicht' gleich RDP!

Videobilder werden heute teilweise 'direkt' in der Grafikkarte 'berechnet' und dann 'direkt' in den Grafikkartenspeicher des Anzeigebildes/-bereiches 'kopiert'.
Dieses Verfahren wird (wenn ich es richtig im Kopf habe) 'Overlay' (Überlagern) genannt.

Bei RDP wird (einfach formuliert) immer wieder ein Screenshot gemacht und als Bild an den RDP-Client geschickt.
Da dieser Screenshot vom 'Windows' Screen gemacht wird und eben 'nicht' aus dem Speicher der Grafikkarte, bleibt der Videobildbereich 'schwarz'!

Somit brauchst Du entweder einen 'Softwaredecoder' der eben 'nicht' per Overlay in der Grafikkarte arbeitet oder eben ein Videoformat, welches nur per Software gerendert wird. Nur wirst Du heute keine GraKa ohne Videorendering Unterstützung mehr finden. Auch sind dabei dann je nach Komprimierungscodec keine 4K+ Auflösungen mehr möglich.

Dieses trifft auch für Bilder einer Webcam zu, denn auch deren Bilder werden heute mit Grafikkatenunterstützung gerendert/decodiert.

Nehme Dir mal einen PC mit einer alten Grafikkarte, welche 'nicht' beim Videorendering unterstützt, dann könnte es funktionieren.

Videostreaming über RDP ist eh der falsche Weg, da dieses Protokoll dafür gar nicht ausgelegt ist!
(Ja ich Verwende Delphi 6 Pro und will NICHT wechseln!)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:56 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