https://github.com/jss95/araviq6
Python package for NDArray-based processing of QVideoFrame with Qt6.
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.8%) to scientific vocabulary
Keywords
Repository
Python package for NDArray-based processing of QVideoFrame with Qt6.
Basic Info
- Host: GitHub
- Owner: JSS95
- License: mit
- Language: Python
- Default Branch: master
- Homepage: https://araviq6.readthedocs.io/
- Size: 1.24 MB
Statistics
- Stars: 11
- Watchers: 1
- Forks: 2
- Open Issues: 1
- Releases: 6
Topics
Metadata Files
README.md
AraViQ6 - NDArray-based Video processing with Qt6
AraViQ6 is a Python package which integrates NDArray-based image processing with video pipeline of Qt6.
It provides: - QVideoFrame processor based on array processing - Converters between NDArray and QVideoFrame - Convenience classes and widgets for array displaying
The following Qt bindings are supported: - PySide6 - PyQt6
How to use
There are two ways to use AraViQ6; using QVideoFrame-based pipeline, or using NDArray-based pipeline.
Frame-based pipeline
Frame-based pipeline is a high-level approach that works well with Qt Multimedia scheme.

QVideoFrame pipeline with AraViQ6
Frame-based pipeline consists of:
1. VideoFrameWorker
2. VideoFrameProcessor
QVideoFrame comes from and goes to Qt6's QVideoSink. AraViQ6's
VideoFrameWorker converts QVideoFrame to numpy array, performs processing, and sends the results to downstream in both QVideoFrame and NDArray. User may subclass the worker to define own processing.
VideoFrameProcessor wraps the worker and provides API around it.
Worker is mulithreaded in the processor.
Array-based pipeline
Array-based pipeline is a low-level approach. It can be useful when third-party package provides video frame in numpy array format.

NDArray pipeline with AraViQ6
Array-based pipeline consists of:
FrameToArrayConverterArrayWorkerArrayProcessorArrayToFrameConverter
FrameToArrayConverter and ArrayToFrameConverter performs conversion between frame pipeline and array pipeline.
To retain the metadata (e.g., timestamp) of QVideoFrame, these classes includes the original frame for the array.
ArrayWorker performs processing on incoming array and sends the result to downstream in NDArray. User may subclass the worker to define own processing.
ArrayProcessor wraps the worker and provides API around it.
Worker is mulithreaded in the processor.
Convenicence classes
AraViQ6 also provides various convenience classes to make building the pipeline easier.
The following classes help setting array pipeline with the video source and the display.
- NDArrayVideoPlayer
- NDArrayMediaCaptureSession
- NDArrayLabel
The following classes are plug-and-play widgets where user can process the video with minimal boilerplate.
- PlayerProcessWidget
- CameraProcessWidget
Examples
Use cases are provided in examples directory. They can be found in documentation as well.
Installation
Before you install, be careful for other Qt-dependent packages installed in your environment. For example, non-headless OpenCV-Python modifies the Qt dependency thus can make other Qt bindings unavailable.
araviq6 can be installed using pip.
$ pip install araviq6
Documentation
AraViQ6 is documented with Sphinx. Documentation can be found on Read the Docs:
https://araviq6.readthedocs.io/
If you want to build the document yourself, clone the source code and install with [doc] option.
Go to doc directory and build the document.
$ pip install araviq6[doc]
$ cd doc
$ make html
Document will be generated in build/html directory. Open index.html to see the central page.
Owner
- Login: JSS95
- Kind: user
- Repositories: 6
- Profile: https://github.com/JSS95
GitHub Events
Total
- Issues event: 2
- Watch event: 2
- Issue comment event: 1
Last Year
- Issues event: 2
- Watch event: 2
- Issue comment event: 1
Committers
Last synced: over 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| Jisoo Song | j****5@s****r | 248 |
| JSS95 | 5****5 | 13 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 9
- Total pull requests: 66
- Average time to close issues: about 20 hours
- Average time to close pull requests: about 2 hours
- Total issue authors: 1
- Total pull request authors: 1
- Average comments per issue: 0.11
- Average comments per pull request: 0.08
- Merged pull requests: 61
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- JSS95 (9)
- aesanchezgh (1)
Pull Request Authors
- JSS95 (66)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 112 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 6
- Total maintainers: 1
pypi.org: araviq6
Package for converting QVideoFrame to NDArray with Qt6
- Homepage: https://github.com/JSS95/araviq6
- Documentation: https://araviq6.readthedocs.io/
- License: MIT
-
Latest release: 2.1.1
published about 3 years ago
Rankings
Maintainers (1)
Dependencies
- actions/checkout v3 composite
- actions/setup-python v4 composite
- tlambert03/setup-qt-libs v1 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- importlib_resources *
- numpy *
- qimage2ndarray >=1.10