[Haskell-cafe] video for linux two (v4l2) bindings

Claude Heiland-Allen claude at goto10.org
Sun Jul 3 19:56:36 CEST 2011


Greetings all,

I uploaded 4 new packages that may be of interest:

bindings-linux-videodev2 0.1
  - bindings to Video For Linux Two (v4l2) kernel interfaces
    http://hackage.haskell.org/package/bindings-linux-videodev2-0.1

bindings-mmap 0.1
  - bindings to mmap for POSIX
    http://hackage.haskell.org/package/bindings-mmap-0.1

bindings-libv4l2 0.1
  - bindings to libv4l2 for Linux
    http://hackage.haskell.org/package/bindings-libv4l2-0.1

v4l2-examples 0.1
  - video for linux two examples
    http://hackage.haskell.org/package/v4l2-examples-0.1

The first wraps the low-level structures and ioctls of the V4L2 API.

The second wraps the raw mmap/munmap functions and constants (which I 
couldn't seem to find on hackage, only higher level wrappers which I 
couldn't use for various reasons).  It would make more sense for this to 
be folded into bindings-posix at some point.

The third wraps libv4l2, which provides an interface very similar to the 
use of V4L2 ioctls, but the library adds extra capabilities behind the 
scenes (I'm led to believe colour space conversion is one of them) which 
is hopefully useful.

And the last is a crude example dumping frames from a video device (like 
a webcam) to stdout in YUV4MPEG2 format.  The code is *very* low-level 
and imperative (almost a direct translation from the C example provided 
on the linuxtv API reference), there is plenty of room for a much nicer 
layer to (for example) get video data into RePa arrays or OpenGL textures.

As these are raw bindings, documentation is best found upstream.

Thanks to Maurício C. Antunes's package for making this possible, I 
recommend it:  http://hackage.haskell.org/package/bindings-DSL


Claude
-- 
http://claudiusmaximus.goto10.org



More information about the Haskell-Cafe mailing list