GIFT-Grab is an open-source C++ and Python API for acquiring, processing and encoding video streams in real time.
GIFT-Grab supports several frame-grabber cards, standard-compliant network streams and video files.
The Python API is compatible with NumPy and SciPy. Please note that currently only Python 2 is supported.
- Capturing video streams using frame-grabber hardware, the following cards are supported:
- Capturing standard-compliant network video streams
- Reading (decoding) video files
- Writing (encoding) video files (including real-time encoding), the following formats are supported:
- Exposing video data as NumPy arrays for processing with NumPy-compatible Python libraries
- Installation
- Required tools and libraries and guidelines for installing them
- Building GIFT-Grab from source (C++ and Python)
- Installing GIFT-Grab using
pip
(only Python)
- Python examples with explanation
- Building a minimal GIFT-Grab with NumPy compatibility
- API documentation
- C++ API documentation
- Python API documentation: please use the C++ API documentation
- Most Python API elements are equivalent to their C++ counterparts.
- Differences are noted in the C++ docstrings (e.g.
data()
method ofVideoFrame
).
- Known issues and limitations
If you use GIFT-Grab in your work, please cite Shakir et al. (2017):
- Shakir DI, García-Peraza-Herrera LC, Daga P, Doel T, Clarkson MJ, Ourselin S, and Vercauteren T. GIFT-Grab: Real-time C++ and Python multi-channel video capture, processing and encoding API. Journal of Open Research Software. 2017;5(1):27. DOI: http://doi.org/10.5334/jors.169
BibTeX entry:
@article{giftgrab17,
author = {Dzhoshkun Ismail Shakir and Luis Carlos Garc\'{i}a-Peraza-Herrera and Pankaj Daga and Tom Doel and Matthew J. Clarkson and S\'{e}bastien Ourselin and Tom Vercauteren},
title = {{GIFT-Grab: Real-time C++ and Python multi-channel video capture, processing and encoding API}},
journal = {{Journal of Open Research Software}},
year = {2017},
number = {1},
pages = {27},
month = {10},
day = {9},
volume = {5},
url = {http://doi.org/10.5334/jors.169},
doi = {http://doi.org/10.5334/jors.169},
}
Please see the contribution guide for bug reports, feature requests, and if you would like to contribute to GIFT-Grab.
Copyright (c) 2015-7, University College London
GIFT-Grab is available as free open-source software under the BSD-3-Clause licence. Please see the LICENSE file for details.
Other licences may apply for the GIFT-Grab dependencies. Please see the dependency installation guidelines for the implications of using them with regards to licensing.
GIFT-Grab was developed as part of the GIFT-Surg project at the Translational Imaging Group in the Centre for Medical Image Computing at University College London (UCL).
This work was supported through an Innovative Engineering for Health award by the Wellcome Trust [WT101957], the Engineering and Physical Sciences Research Council [NS/A000027/1] and a National Institute for Health Research Biomedical Research Centre UCLH / UCL High Impact Initiative.