Software Edition
Development of software application for analysis and processing of dvbs2 receiver output stream i.e., raw BB Frames, GSE and TS in near real time.
- Classification & identification of audio, video, data & protocol such as MPE, ULE, SIP, RTP, FTP, SFTP, HTTP, HTTPS, SNMP, POP, SMTP, SSH etc.
- Classification Identification of encryption/scrambling if present in stream through headers and SI tables
- Extraction of VoIP calls, audio and video programs, file, email, web-page etc in separate files.
- Decoding and playing selected audio/video contents Preferred Language- Python, Lab-view, C/C++, VHDL/Verilog Expected Outcome- Algorithm/Software/GUI Preferred Platform- Windows/Linux
- Python 3
- Node.js (for React)
- Python virtualenv package
git clone https://github.com/Chandolkar001/SIH23-DVBS2.git
cd SIH23-DVBS2
cd server
virtualenv venv
source venv/bin/activate
pip3 install -r requirements.txt
cd server
python manage.py runserver
Backend server listens on localhost:8000
cd client
npm run start
Frontend listens on localhost:3000
flowchart TD
Z[Captured Packets pcap] --> W
Y[Ethernet Frames] --> W
X[USB Data] --> W
W{Packetized \n or \n Continuous?}
W -->|Continuous| V(Extract elementary \nStream)
V --> U(Identify scrambling \nOrganize media by PID \nConvert media to a playable format)
U --> S(Store the Output Locally)
U -->|Display Stream Statistics| F[Front End]
W -->|Packetized| A(Classify incoming packets \nbased on protocols)
A --> B(Decode incoming stream \nand extract payload)
B --> S
B -->|Display Statistics| F
Source: Resource no. 1 Complete DVBS2 documentation
- https://github.com/igorauad/gr-dvbs2rx
GNU Radio based Software defined radio tool kit. This repository can be used directly to transmit DVBS2 signals on software defined radio, i.e on the system itself and then recieve the DVBS2 signals again on the system itself. The repo contains example codes and installation instructions. - https://tsduck.io/
This is a transport stream toolkit. It can be used for generating raw TS frames as well for analyzing TS frames. It can also be used for MPE packetization for application layer protocols. It has two modes, programming mode where we can use the C++ based APIs in our script, or CLI mode, where terminal commands can be used to preform the operations. - https://ffmpeg.org/
This library can be used for converting TS frames to .mp4 format and vice-versa. It can also be used for converting various - https://www.gnuradio.org/
This is a software defined radio toolkit, mainly used for generating and performing all the SDR operations.
(Preferably not useful for us because of the complexity.) - https://pypi.org/project/pyshark/
Pyshark is a python wrapper for tshark. It is used for packet analysis similar to Wireshark. - https://scapy.net/ Python package to generate customized packets.
- https://github.com/CNES/libgse/tree/master GSE packet header extraction, encapsulation, decapsulation, etc using C library functions.
- https://github.com/ssloxford/gsextract Requires an input file with DVB-S BB frames and gives output as pcap file with containing all the internet traffic transmitted through DVB.
- https://www.opensand.org/index.html Emulator for end-end Satellite comm system that also includes IP datagrams.
Video resources and documentation.
- Link - Complete DVBS2 documentation
- https://youtu.be/nXenBqdzLbs?si=EtbaeYPTZ2UNpQnr dvbs2 frame
- https://youtu.be/NnuLbmaeuNI?si=937mIHfPdlokbgva dvbs2 architecture
- https://en.wikipedia.org/wiki/Generic_Stream_Encapsulation GSE
- https://en.wikipedia.org/wiki/MPEG_transport_stream TS
- https://tsduck.io/download/docs/mpegts-introduction.pdf TSDUCK MPEG-TS intro
- https://erg.abdn.ac.uk/future-net/digital-video/ dvb
- https://tsduck.io/download/docs/tsduck.pdf user's guide for TSDUCK
- https://wiki.sans.blue/Tools/pdfs/ScapyCheatSheet_v0.2.pdf scapy cheatsheet
- Link - Standard BB Header configurations based on different applications. Refer Page no 62, Table D.2
- Link - GSE, MPE, ULE based encapsulation methods. Refer Page no 1 and 2.
- Multithreading/ multicore operations for file processing.
- Develop separate modules for TS and GSE processing.
- Integrate interfaces
1. wlan 2. eth 3. usb