답변됨 Webcam driver

  • 2011년 1월 31일 월요일 오전 4:20
     
     

    Hello,

    I want to create a webcam driver that captures the screen image as input (no physical device then). First, I'd like to know whether this kind of driver already exists. And, anyway, where should I start on developing it? Is there any sample that does something close to it?

     

    Thanks in advance.

모든 응답

  • 2011년 1월 31일 월요일 오전 7:52
    소유자
     
     답변됨
    not going to be simple, i think you need a mirror driver to capture the local screen and its changes. presenting that as a webcam would require another driver that behaves as the webcam for you to send that data do. why do you want to do this? there are probably easier ways to accomplish your end goal
    d -- This posting is provided "AS IS" with no warranties, and confers no rights.
  • 2011년 1월 31일 월요일 오후 12:36
     
     
    Hey thanks for your reply. Basically, with a driver like this, people could share their screen in applications that require webcams, like video chats on the web. So, what is the 'easier way'?
  • 2011년 1월 31일 월요일 오후 2:47
     
     

    The easier way it to use VNC (one of several known versions), Skype, and many others. Or... just the Remote Assistance/Remote Desktop facility of Windows itself?   Also consider the new MS service (Lync) will be available soon.

    --pa

     

  • 2011년 2월 1일 화요일 오전 12:21
     
     

    The easier way it to use VNC (one of several known versions), Skype, and many others. Or... just the Remote Assistance/Remote Desktop facility of Windows itself?   Also consider the new MS service (Lync) will be available soon .

    --pa

     


    I don't think any of these programs do what I want. I want to fake the system into thinking that it is receiving data from a webcam, but it actually is receiving the data of the pixels of a rectangle of the screen.
  • 2011년 2월 2일 수요일 오전 7:07
     
     답변됨
    xissburg wrote:
    >
    >I want to create a webcam driver that captures the screen image as
    >input (no physical device then). First, I'd like to know whether
    >this kind of driver already exists. And, anyway, where should I
    >start on developing it? Is there any sample that does something
    >close to it?
     
    I believe Camtasia can do that.
     
    Alternatively, everything you need can be done in user mode -- no driver
    required. The DirectShow section of the Windows SDK includes a sample
    source filter that does exactly what you ask, in
    DirectShow\Filters\PushSource. A DirectShow source filter can register
    itself as a video capture device, so it will be enumerated just like a
    physical camera.
    --
    Tim Roberts, timr@probo.com
    Providenza & Boekelheide, Inc.
     

    Tim Roberts, DDK MVP
  • 2011년 2월 26일 토요일 오전 4:11
     
     

    They do exist and can be designed.  In fact, Windows 3.1, believe it or not, had a desktop capture driver in it.  I remember it working in Windows 95/98.

    I also recommend looking into DirectShow.  That's what I'm looking into when I stumbled across this (I'll try to post something more if I find it).  I believe Microsoft makes this difficult because it makes DRM based technologies useless.

    My goal is to have a high resolution monitor as Screen1, and a low resolution screen as Screen two.  Then use Desktop spanning instead of mirroring, as mirroring will cause my high resolution monitor to be changed to a lower resolution.  Screen 3 is a soon-to-be hdmi tv.  But for now I never like a open port to go waisted.

     

     

  • 2011년 4월 7일 목요일 오후 8:16
     
     

    The best (and free) screen capture directshow source filter I've found is SCFH DSF. It can be found here:

    http://mosax.sakura.ne.jp/fswiki.cgi

    The website is in Japanese, but the software luckily isn't. The development has been suspended some time ago, but still it's one of the fastests and most versatile I've ever tried.

  • 2012년 4월 11일 수요일 오후 12:58
     
     
    xissburg wrote:
    >
    >I want to create a webcam driver that captures the screen image as
    >input (no physical device then). First, I'd like to know whether
    >this kind of driver already exists. And, anyway, where should I
    >start on developing it? Is there any sample that does something
    >close to it?
     
    I believe Camtasia can do that.
     
    Alternatively, everything you need can be done in user mode -- no driver
    required. The DirectShow section of the Windows SDK includes a sample
    source filter that does exactly what you ask, in
    DirectShow\Filters\PushSource. A DirectShow source filter can register
    itself as a video capture device, so it will be enumerated just like a
    physical camera.
    --
    Tim Roberts, timr@probo.com
    Providenza & Boekelheide, Inc.
     

    Tim Roberts, DDK MVP

    That raises another question... could you create two video capture devices that make exactly the same simultaneosly, two video input devices that show the screen simultaneously.

    Thank you.

    Voted as helpful.

  • 2012년 4월 11일 수요일 오후 1:57
     
     
    Could you show us how to make a mirror driver? a mirror driver? you mean a mirror filter or graph?
  • 2012년 4월 12일 목요일 오전 5:58
     
     
    Carlesls wrote:
    >
    >That raises another question... could you create two video capture devices
    >that make exactly the same simultaneosly, two video input devices that
    >show the screen simultaneously.
     
    Theoretically, sure.  There are many ways.  You can have a single AVStream
    driver that exposes several filters.  Instead of having each filter talk to
    the hardware, you would have each filter call into the global "device"
    object to fetch the frames.
    --
    Tim Roberts, timr@probo.com
    Providenza & Boekelheide, Inc.
     

    Tim Roberts, VC++ MVP Providenza & Boekelheide, Inc.
  • 2012년 4월 12일 목요일 오전 9:13
     
     
    Carlesls wrote:
    >
    >That raises another question... could you create two video capture devices
    >that make exactly the same simultaneosly, two video input devices that
    >show the screen simultaneously.
     
    Theoretically, sure.  There are many ways.  You can have a single AVStream
    driver that exposes several filters.  Instead of having each filter talk to
    the hardware, you would have each filter call into the global "device"
    object to fetch the frames.
    --
    Tim Roberts, timr@probo.com
    Providenza & Boekelheide, Inc.
     

    Tim Roberts, VC++ MVP Providenza & Boekelheide, Inc.

    Which is the best option? Should I write a webcam driver that simulates an existing one or should I design with the graphedit of the DirectShow a chain of filters? My guest is that writting a (mirror non-existing) webcam driver is the best option. I will try.

    Thanks again, great posts and forgive my English.

  • 2012년 4월 15일 일요일 오전 5:36
     
     
    Carlesls wrote:
    >
    >Which is the best option? Should I write a webcam driver that simulates
    >an existing one or should I design with the graphedit of the DirectShow
    >a chain of filters? My guest is that writting a (mirror non-existing)
    >webcam driver is the best option. I will try.
     
    I don't think you have told us what you're trying to do.
    --
    Tim Roberts, timr@probo.com
    Providenza & Boekelheide, Inc.
     

    Tim Roberts, VC++ MVP Providenza & Boekelheide, Inc.
  • 2012년 4월 16일 월요일 오전 8:43
     
     

    Let me explain you what I want... I want a webcam -or many webcams- that works continuosly despite the use of skype or the webcam itself making photos at random moments... a windows service analyze with EmguCV movements and faces around the webcam... but I do not want an application but a windows service "running" the filters or drivers...

    To do this there are some options

    Manycam: but that raise one problem... you can not control it as a windows service and it do not makes logs... more important it creates just two virtual input video devices...

    Splitter: it is the same... you can not control the name of virtual webcam not its number.

    DirectShow and Windows SDK and DDK unknown to the present time... which should I try?

    Right now I'm investigating Windows DirectShow filters and the development of drivers...

    In a far future, I will add IP -RTSP- cameras...

    That's all.

    And thank you.