Next guide shows steps to write Gstreamer Plugin in Python for any Computer Vision, Image Processing task and use it in standard Gstreamer pipeline from command line. Additionally this post explains how to get/set own properties from implemented Gstreamer plugin.
Gstreamer with Python is highly flexible for data visualization. Any video streaming pipeline could be extended with custom Python plugins that allows you to draw any information (bounding boxes, confidences, class names, etc.). Next information is simple comparison of two most popular approaches to draw on gstreamer buffer: PyCairo, OpenCV.
Gstreamer is flexible plugin based data streaming framework. One of the main advantange of plugins is that developer can pass not only data buffer, but custom metadata which can describe buffer and store any information about buffer. Next information is a simple guide with code templates on how to pass any data from
When developing real-time streaming applications using Gstreamer I prefer to build library from sources, than install from official Ubuntu repositories via apt-get. Also building Gstreamer from sources gives you more flexibility and there are a lot of bug fixes, features in latest versions.
Now, let make simple Blur Video Filter using Gstreamer in Python. There is an existing official implementation of Gaussian Blur Filter. But, the main goal of the following post is to build practical background of Gstreamer.
Common use of Gstreamer is through command line. In the next post we are going to launch Gstreamer pipeline from Python code. This could be helpful for those who have already working pipeline and want to debug/extend it with own code. Estimated time to read: 15 min.
Learning Gstreamer isn’t easy. As there is a limited number of available resources over the Internet so be ready to become frequent user of StackOverflow, Reddit, Quora. (Attention: No images in this post)