Hornetseye-v4l2 and Hauppage 1150 Card?

I want to use Horneteseye-v4l2 to pull video from a Hauppauge
WinTV-HVR-1150 card that is connected to an analog NTSC camera, but not
sure how best to get started.

My system is Ubuntu 10.04 + Ruby 1.9.2 + RubyMine 3.2.

I am starting with the Hornetseye-v4l2 example code to see if I can
display the camera output in an X11 window.

Here are some questions I have:

  1. How do I determine if the Linux driver V4L2 supports my Hauppauge
    1150 card - what Linux files do I look in for this verification?

  2. If my card is not supported, how is support added - do I find the
    Linux dev project, checkout code, make the changes, recompile, and do
    all that, or is there a simpler solution?

  3. Once I solve the Linux card support issues, what’s the next step to
    hooking up the Hornetseye sample code - should it work out-of-box to
    display the camera output in an X11 window, or do I need to make
    changes?

I appreciate your help!

–Bob

I’m the OP and have some progress to report.

I am in contact with the Hornetseye developer (Jan Wedekind) and he told
me how to verify that my Hauppauge card was being recognized (it is!),
and how to capture input to test the hardware.

For verifying the card is recognized, use Linux command: 4vl-info

For testing hardware and capture use “tvtime”.

The hardware is all working great.

I am now trying to figure out how to get Hornetseye Ruby code to do the
capture and display in an X11 window.

–Bob

The OP again with update.

I worked with the Hornetseye author (Jan Wedekind) and we solved some
minor issues preventing capture from the Hauppauge 1150 card using Ruby.
So, now it works very well - code below.

I am now moving on to figure out how to stream the captured video to a
client device - ultimately to a SmartPhone.

–Bob

Here’s the Ruby code I am using:

require ‘rubygems’
require ‘test/unit’
require ‘hornetseye_v4l2’
require ‘hornetseye_xorg’
include Hornetseye

module CAMERA
class TestEnv < Test::Unit::TestCase
def setup
end

def teardown
end

def test_run
  camera = V4L2Input.new ('/dev/video0') {[YUY2, 384, 256]}  # valid

colorspaces: UBYTE, BGR, UBYTERGB, YUY2, UYVY, I420
X11Display.show { camera.read }
end
end
end