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:
-
How do I determine if the Linux driver V4L2 supports my Hauppauge
1150 card - what Linux files do I look in for this verification?
-
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?
-
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