This Document emphasizes on the installation of Gstreamer and further Simulation of Video stream using Gnu radio.
What is Gstreamer ?
Gstreamer is defined as a pipeline based multimedia framework used for creating streaming media application mainly video streaming. It links together a wide variety of media processing systems to complete complex workflows. Thus it simplifies workflow by building a system which reads files in one format, processes them, and exports them in another .
GStreamer provides
- an API for multimedia applications
- a plugin architecture
- a pipeline architecture
- a mechanism for media type handling/negotiation
- a mechanism for synchronization
- over 250 plug-ins providing more than 1000 elements
- a set of tools
Installation of Gstreamer :
Step 1:
Check whether Gstreamer is available in your system .Hence type commands in terminal as
gst-launch-1.0
You will get something similar to /usr/local/bin/gst-launch-1.0 which defines the path where Gstreamer is available.
Step 2:
Update the packages
sudo apt-get update
sudo apt-get upgrade
Step 3:
Install some dependency packages needed for Gstreamer which are listed below:
sudo apt-get install libgstreamer1.0-0
sudo apt-get install gstreamer1.0-plugins-base gstreamer1.0-plugins-good
sudo apt-get install gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly
sudo apt-get install gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools
Install package to use Gstreamer in python
sudo apt-get install python-gst-1.0 python3-gst-1.0
Install the dev packages
sudo apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
sudo apt-get install libfontconfig1-dev libfreetype6-dev libpng-dev
sudo apt-get install libcairo2-dev libjpeg-dev libgif-dev
sudo apt-get install libgstreamer-plugins-base1.0-dev
Step 4:
Now Gstreamer is installed. For verification repeat step 1. Type the command in the terminal to display the video page
gst-launch-1.0 videotestsrc ! autovideosink
We will get image somewhat like mention below
Hence Now the Gstreamer is ready to stream the videos.
Step 5: (optional)
There are few commands which provide some additional information regarding the parameters.
gst-inspect-1.0 pulsesink
It is used to display the bunch of properties for the plugin. The instruction given bellow will play the sine tone.
Gst-launch-1.0 audiotestsrc! audioconvert ! audioresample! pulsesink
gst –inspect-1.0
The instruction above will display all the installed plugins and will also mention the count of plugins. For example there are 228 plugins with 1314 feature.
gst-inspect-1.0 volume
The instruction above is used to provide the information about the volume
gst-launch-1.0 autovideosrc device=/dev/ videoX ! autovideosink
The instruction above is used to live stream of videos from USB webcam
Gnu Radio Flow graphs:
The fig above represents a flow graph for the transmission and reception of real time text messages using GMSK modulation schemes. A video file is created and is saved with (.ogg) extension . The link of this video file is provided in the file source block which is transmitted in a repeating mode. The data is then transferred to packet encoder with preamble and access code attached to it. The payload length is set as 0 indicating that by default the block will create the frame length size. Each encoded packed has unique access code. Here in this experiment GMSK modulation technique is used with 6 samples/symbol. Once the data is been demodulated, the packet is decoded back to data values which are stored in the test1 file name with (.ogg) extension. The QT GUI Sink is used to analyze the parameter in terms of time, frequency, waterfall diagram with also representation in constellation plot.
Figure above is used to represent a frequency domain and the time domain representation of received video signal. In this case the input signal is subjected to the function of time and the received output signal is further analyzed with respect to the function of time and also in terms of frequency domain.
The figure above represents the waterfall diagram for the output video signal. The water fall diagram is a time frequency diagram with frequency on the x axis and time domain on the y axis. It explains the variation in the frequency and time domain signals with change in the input signals (parameters like change in amplitude, audio pitch signals etc changes with reflects in time and frequency domain).
For some more information related to implementation of real time application with respect to Gnu radio and Software Defined Radio . We have launched our book on “ Practical approach to Software defined radio ”
Refer the link:
Amazon : https://www.amazon.in/dp/9389113628
Flipkart : https://www.flipkart.com/practical-approach-software-defined-radios/p/itm24afc57f04c29
For any sort queries regarding the SDR product , revert back to info@tenettech.com