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
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 this example python project/package
For a demo program using Valkka, check out Valkka Live
- About Valkka
- Supported hardware
- The PyQt testsuite
- Integrating with Qt and multiprocessing
- Multi-GPU systems
- Cloud Streaming
- OnVif & Discovery
- Common problems
- Repository Index
- Knowledge Base