success ! HDV capture with modified videoinput library


I modified the videoinput library to do a live HDV capture from a firewire cam (Canon HV30 in my case). It is a bit kluge-ey, has a bit of a lag (which may be a fact of life with MPEG2TS sources), and isn’t quite working properly in windows 7*, but works in XP just fine. I do get live 1920x1080 frames…

Link with this version of videoInputlib.a rather than the one with OF 0.006. If you get undefined errors when linking this library with your OF program, you may need to add “-lQuartz” to your linker options in Code::Blocks. Probably I could get rid of this dependency as well…

Requires ffdshow filter for the MPEG2 video decoding. (With more work it would be preferrable to use the microsoft mpeg2-video decoder that comes with vista and 7, rather than ffdshow)

Download here:

If you have a chance to try this out, I welcome any comments or suggestions. I am curious if it works with other cameras. Send me a note if you need help getting it to work in your program.


*The problematic windows 7 behavior is something like this: if the vidGrabber.initGrabber() trequested camera size is less then 1000x1000 in x + y dimensions, it works fine, but if larger you will not get a live video image. On XP, same library etc., it has no problems with 1440x1080 or 1920x1080. Hope to dig into this in the near future…

hi robert,

i’m trying to use your version of videoInput to be able to grab from a sony Z1 HDV camera.

i tell you my system specs :

  • winXP sp3
  • the camera is detected properly in DV (as Sony CamCoder) and HDV (under sound,video and games tab, as AV/C Tape Device) modes . i had some problems to get to this point, but finally got with a solution arround DV and HDVs under Windows XP.
  • i’ve tried with adobe onLocation software and i can see the HDV stream [a bit slow and reduced framerate], but i can see it,

so i suspect i’ve all the hardware and drivers right …

i’m working with code:blocks IDE, should it make some difference ?
i’m not sure if i use it correctly, what i did is :

replace videoInput.a in /libs/videoInput folder.
open moviegrabber example from 0.06
change input resolution to 1920x1080
compiled and run …

but movieGrabberExample can’t find the preview pin running ?¿

i don’t know how to do what you suggested about “ffdshow” .
i’ve “ffdshow” installed on my computer, at least sometimes appears on the taskbar and i can open a window where i can configure lots of parameters from ffdshow. How can i tell “ffdshow” to do his job ?

anyway i’ve tried to see the camera in hdv trough AmCap and it’s not working … should amCap show me the camera input ? or it’s no supported ?

any help will be much appreciated, i’m not sure which bit is wrong …

  • the camera ?
  • amCap
  • ffdshow ?
  • the application ?


how do i use the MPG2 functionality with ffdshow ?