Skip to content

parrothat/pardtelle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pardtelle

pardtelle is a lightweight command-line tool for sending, receiving, and analyzing MPEG Transport Streams (MPEG-TS) over UDP (unicast and multicast).

The project focuses on simplicity, transparency, and control. No hidden abstractions, no heavy frameworks — just direct TS-over-IP workflows that you can inspect, debug, and understand.


What is pardtelle?

pardtelle is a low-level utility for working with MPEG-TS over UDP.

It provides essential building blocks to:

  • move transport streams over IP
  • inspect stream structure and timing
  • test multicast and unicast delivery
  • understand how transport streams behave on the wire

The tool is intentionally minimal, making it suitable both for real-world use and for learning how TS-over-IP works internally.


Features

  • Send MPEG-TS files over UDP (unicast and multicast)
  • Receive UDP TS streams and write them to disk
  • Analyze MPEG-TS files:
    • PID statistics
    • PCR timing information
    • Continuity Counter (CC) error detection
    • TEI error detection
    • Bitrate estimation
  • Realtime streaming with PCR-based bitrate pacing
  • Automatic TS packet size detection (188 / 192 / 204)
  • No external runtime dependencies
  • Single-file executables for Windows and Linux

Use cases

  • Broadcast and IPTV labs
  • Multicast testing and debugging
  • DVB over IP experimentation
  • Transport stream inspection and validation
  • Learning how MPEG-TS over UDP works at a low level

Example usage

Analyze a transport stream:

pardtelle analyze input.ts

Send a TS file over UDP:

pardtelle send input.ts --to 127.0.0.1:1234

Realtime multicast streaming:

pardtelle send input.ts --to 239.1.1.1:1234 --realtime --auto-rate

Receive a stream:

pardtelle recv --bind 0.0.0.0:1234 --out capture.ts

Design goals

  • Keep the code easy to read and reason about
  • Avoid unnecessary abstractions
  • Provide predictable and explicit behavior
  • Stay dependency-free where possible
  • Make transport streams easier to understand and debug

Status

pardtelle is actively developed and usable for real-world testing and experimentation. The interface is CLI-first and intended to remain stable and script-friendly.


License

PFL — Parrot Free License

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages