Skip to content

petroglyf/vin

Repository files navigation


vin : The Video INput library

The vin library is minimal (Qt and Apache Arrow only) support for media capture and visualization. It is meant to bookend the functional-dag so that other cognitive components can rely on these pieces and build the real architecture.

Why would you want this?

The commitment being made with this cognitive architecture is that tensors are the key data structure passed between components of the system rather than CvMats. This system does not support linear algebra routines and will do as much as possible to support native tensors into and out of pytorch and to do it in the most minimal way possible that is compatible with the package managers.

Build and install

OS Support: Ubuntu macOS

Status: Ubuntu Build and Test

The build is Meson based and is built for cxx23 standards. First class build support is given to Ubuntu and MacOS through the homebrew and aptitude infrastrucure.

Installing via homebrew

$ brew tap petroglyf/functional-dag https://github.com/petroglyf/functional-dag
$ brew tap petroglyf/vin https://github.com/petroglyf/vin
$ brew install petroglyf/vin/vin

Installing via aptitude

$ curl -s --compressed "https://petroglyf.github.io/ppa/KEY.gpg" | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/ppa.gpg >/dev/null
$ sudo curl -s --compressed -o /etc/apt/sources.list.d/packages.list "https://petroglyf.github.io/ppa/packages.list"
$ apt update
$ apt install vin

Build dependencies

This project tries to minimize dependencies so as to not stack dependencies across larger projects and to make it easier to build simple layers to other languages like python.

Build dependencies:

Runtime dependencies

  • Qt6 (Gstreamer doesn't always support native libraries. Qt is a great library to support basic multimedia and OpenGL)
  • Flatbuffers
  • Glog
  • ONNX Runtime (optional)

How to contribute to the code

We work on issues. If you'd like to help out, take a look at the issues, assign a free one and start coding!

You're also welcome to perform unsolicited push requests to main and ask for a review. We'll be happy to take a look and provide feedback.

You can also help out by simply providing bug reports!

About

This library adds front and backend support to capture from different types of media and display it. It also adds basic functionality that constructs the main visual task execution tree and can load those designs from files.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages