2011-06-05 16 views
14

Web kamerası olarak görünen sanal bir web kamerası oluşturmam gerekiyor, ancak oynattığı görüntülerin bir dizi girdisini alıyor. ManyCam ve Sahte Webcam gibi çözümler gördüm, ancak hepsi bir sınırlama veya diğer (çözünürlük, max dosya boyutu, fps vb) Windows XP SP3 üzerinde çalışıyorum. cihazlara sürücüleri veya arayüzlerSanal bir web kamerası mı yazıyorsun?

Ben bu görev için bir WIA arayüzü yazmak zorunda olduğunu anlıyoruz, ancak bir Python programcısı olma, ben yazdım. Bu arayüzün yazılmasında ana görevler nelerdir? Akış neye benziyordu?

+4

ilgisiz tavsiye: "Eğer bir Python programcısı _are_ öyle söyleme", henüz ... tercih (veya yalnızca bilir) Python bir programcı konum. – Javier

+1

Belki de cpython'un çekirdek geliştiricisi olabilir ... :-) – 6502

+0

@Javier great advice! daha çok kültürel bir şey olabilir. @ 6502 sadece bunun hakkında düşünmek beni çıldırttı. Eğer bir cpython geliştiricisi olsaydım, C programcısı olmaz mıydım? ya da ben akışını detaylandırma için çünkü programı piton – aloogobi

cevap

18

IPin, IAMStreamConfig ve IKsPropertySet arabirimlerini uygulayan bir COM sunucusu olan DirectShow filtresini yazmanız gerekir. IPin bölümü için CSourceStream sınıfını devralarak daha iyi bir başlangıç ​​yapmalısınız, bunun için Windows SDK'yı almanız gerekir, SDK'nın kurulu olmasıklasöründe bir DirectShow Base Classes kaynağı olacaktır, orada CSourceStream bulabilirsiniz. diğerleri arasında). COM sunucusunun DllRegisterServer işlevi, filtre eşleştiricisini kullanarak filtrenizi CLSID_VideoInputDeviceCategory kategorisine kaydettirmelidir.

COM sunucusu bina sonra, regsvr32 aracıyla kayıt ve sanal web kamerası web cam listelerinde görünmelidir.

Ayrıca geliştirilmiş ve görev için bir başlangıç ​​noktası olarak kullanılabilir samples\multimedia\directshow\filters\ball numuneyi kontrol edin.

+0

sayesinde size çok da bir piton programcı olabilir . Örneklere bakacağım ve öğreneceğim. Tekrar teşekkürler :) – aloogobi

İlgili konular