Code Monkey home page Code Monkey logo

vrt_tools_cmd's Introduction

VRT Command Line Tools

Command line tools for packets following the ANSI/VITA 49.0 Radio Transport (VRT) standard.

Under development

Note that this project is still under development. It may not be well tested and may not have all features implemented.

Getting Started

Remember to clone submodules as well, with git clone --recurse-submodules ...

In project root folder (vrt_tools_cmd/):

mkdir Release
cd Release
cmake ..
make -j4
sudo make install

This installs a bunch of VRT command line tools.

VRT Print

Prints VRT packet information. For example:

vrt_print signal.vrt

May result in:

--------------------------------------------------------------------------------
#                                                                              0
Packet type                                IF Data packet with Stream Identifier
tsm                                                                         Fine
TSI                                                               None/Undefined
TSF                                                               None/Undefined
Packet count                                                                   0
Packet size [words]                                                          515
Stream ID                                                             0xDEADBEEF
Body size [words]                                                            512
Reference lock                                                              true
--------------------------------------------------------------------------------
#                                                                              1
Packet type                                IF Data packet with Stream Identifier
tsm                                                                         Fine
TSI                                                               None/Undefined
TSF                                                               None/Undefined
Packet count                                                                   0
Packet size [words]                                                          515
Stream ID                                                             0xDEADBEEF
Body size [words]                                                            512
Reference lock                                                              true
--------------------------------------------------------------------------------
...

VRT Split

Splits a VRT file into multiple depending on class ID and stream ID. For example, splitting a file signal.vrt containing a VRT packet stream with two different stream IDs 0xABABABAB and 0x12345678:

vrt_split signal.vrt

Results in output files signal_ABABABAB.vrt and signal_12345678.vrt with all packets from the original file with stream ID 0xABABABAB in the first and all packets with stream ID 0x12345678 in the second output file.

VRT Merge

Merges multiple VRT files into a single file and sorts them by time. Assumes packets in input files are ordered by time stamps.

VRT Length

Calculates number of packets and time difference for all different streams in a VRT packet file.

VRT Packet loss

Simulate packet loss by generating a file with some VRT packets missing.

VRT Socket

Send packets over a socket with the same time interval as suggested by packet timestamps in a VRT packet file.

Prerequisites

  • C++17 compiler, such as GCC
  • CMake
  • Build system such as GNU Make
  • (Google test framework, for the tests)

Author

Emil Berg

License

This project is licensed under the MIT License - see the LICENSE file for details

vrt_tools_cmd's People

Contributors

ember91 avatar efreneau avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.