Mirrored for reference or usage in the VallStream suite of software and services. Allowing for usage of the V4L2 (video stream device/buffer/source) in Linux.
#vallstream #v4l2 #go

Vladimir Vivien aab6d9c4a2 Support for capture stream param; error refactor; fix fmt desc, frame sizes 4 years ago
examples aab6d9c4a2 Support for capture stream param; error refactor; fix fmt desc, frame sizes 4 years ago
imgsupport 3bf55b04eb Support for format desc; fmt conversion; example updates 4 years ago
v4l2 aab6d9c4a2 Support for capture stream param; error refactor; fix fmt desc, frame sizes 4 years ago
.gitignore 77e428df1e Initial code drop 4 years ago
LICENSE 2466a024d5 Initial commit 4 years ago
README.md 3bf55b04eb Support for format desc; fmt conversion; example updates 4 years ago
TODO.md eb601ae206 Start updating documentation 4 years ago
go.mod 77e428df1e Initial code drop 4 years ago
go.sum 77e428df1e Initial code drop 4 years ago

README.md

go4vl

A Go library for the Video for Linux user API (V4L2).


go4vl hides all the complexities of working with V4L2 and provides idiomatic Go types, like channels, to consume and process captured video frames.

Features

  • Capture and control video data from your Go programs
  • Idiomatic Go API for device access and video capture
  • Use familiar types such as channels to stream video data
  • Exposes device enumeration and information
  • Provides device capture control
  • Access to video format information
  • Streaming support using memory map (other methods coming soon)

Getting started

To include go4vl in your own code, pull the package

go get github.com/vladimirvivien/go4vl/v4l2

Example