Valkka¶
Valkka is a python media streaming framework
Create video streaming and surveillance solutions purely in Python. No need to go C++ ever again.
Some highlights of Valkka
- Python3 API, while streaming itself runs in the background at the cpp level. Threads, semaphores, frame queues etc. are hidden from the API user.
- Works with stock OnVif compliant IP cameras
- Create complex filtergraphs for your streams - send stream to screen, to disk or to your module of choice via shared memory
- Share decoded video with python processes across your Linux system
- Plug in your python-based machine vision modules : libValkka is framework agnostic, so everything goes - pytorch, tensorflow, you name it!
- Designed for massive video streaming : view and analyze simultaneously a large number of IP cameras
- Recast the IP camera video streams to either multicast or unicast
- Build graphical user interfaces with PyQt, interact machine vision with Qt’s signal/slot system and build highly customized GUIs
If you are not a developer and wonder why all this is supposed to be cool and the economic benefits of it (an investor perhaps), please take a look at the Valkka VMS whitepaper
Devs already involved knee-deep in the video streaming / machine vision business, might want to take a look at this presentation to see some of the typical video streaming / machine vision problems libValkka can solve for you.
This documentation is a quickstart for installing and developing with Valkka using the Python3 API.
This is the recommended learning process:
- Start with the tutorial
- Valkka streams video and images between python multiprocesses, so reading this article is a must
- If you’re into creating PyQt/PySide2 applications, take a look at the PyQt testsuite
- If you’re more into cloud apps, check out valkka-streamer
For a desktop demo program using Valkka, check out Valkka Live