I had a need at home to convert some out VHS movies to digital so I purchased myself a WinTV-PVR-150 MCE.  This would enable me to play video from a VCR, outputting via a SCART cable which split into composite video and audio.  Hardware encoding of the analogue signal enabled the captured input to easily be transfered to a digital file (mpeg2).  As usual from Hauppauge linux support is excellent with the card fully supported out of the box with Hardy.

To take the input from the card and save it into a file I simply needed to do:

     cat /dev/video /path/to/file

To switch between the various inputs on the card I need to use the following commands (v4l2-ctl is available in the ivtv-utils package):

     v4l2-ctl -i 0    for the tuner
     v4l2-ctl -i 1    for svideo
     v4l2-ctl -i 2    for composite

All in all I found the card very easy to use for my purpose, and will now be looking to use it within my Mythbuntu installation.

I’ve mentioned OpenSG on this blog.  It is a scene-graph based API I use at work for rendering of 3D scenes.  As part of these scenes you can create textures on these objects, which are basically pictures.  Well my co-worker, Karina, has produced some code for displaying video on these textures, which is really cool.

We’ve been playing around with video playing over our tiled wall cluster both playing just a video, or wrapping the video around an object such as a sphere.  We’ll be releasing the source code for it soon on our website along with some other cool things we’ve been producing.  But before hand I’d just like to show you a picture of it running the Big Buck Bunny video (which is cool project as well).

The OpenSG packages within Ubuntu Hardy don’t contain any of the contrib directory functionality been built.  These aren’t prebuilt due to them been work in progress or licensing issues.  The ply contribution is restricted due to it’s license to non commercial work only, so it needs to be built outside of the packages distributed.

Normally this would be built and stored within the libOSGSystem.so library, requiring the the library to be built again, which takes a while 🙂  So instead I’ll show you how to build it as a separate library for you to link against in your applications.

Within the directory containing the source code, the following command will build it as a shared library called libOSGPly.so.

g++ OSGply.cpp  OSGPLYSceneFileType.cpp -I/usr/include/OpenSG/ `pkg-config OSGSystem
 --libs --cflags` -shared -fPIC -o libOSGPly.so

This then needs to be copied to your system path so the linker can find it, so:

sudo cp libOSGPly.so /usr/lib/.

The header files then require installation, so:

sudo cp *.h /usr/include/OpenSG/.

Now all you need to do is add -lOSGPly to your linker options to use the library.

I’m sure the same trick can be used with the other contrib features if you wish to enable them easily.