TSDuck: Open-source toolkit for MPEG-TS analysis and manipulation

phantomathkg2 pts0 comments

TSDuck – The MPEG Transport Stream Toolkit

Navigation Menu

Documentation

User guide

Developer guide

Programming reference

User guide (PDF)

Developer guide (PDF)

Change log

TSDuck presentation

MPEG-TS introduction

Project overview

Download

TSDuck binaries

Source archive

Nightly builds

Dektec drivers

HiDes drivers

Resources

Streams repository

Signal group

GitHub repository

Ask a question

Report a problem

Standards

ISO (MPEG)

ITU-T (H.2xx)

DVB

ETSI Standards

DVB Identifiers

DVB Metadata

ISDB

ARIB (ISDB)

ABNT (ISDB-Tb)

ISDB-S frequencies

ATSC

SCTE

IETF (RFC)

NIST

AVS (China)

AOMedia

UWA

About

Commands and plugins

Sample usages

TSDuck library

References

License

Contribute

Contact

Welcome to TSDuck

The free and open-source reference framework for MPEG transport streams

Star

1028

TSDuck is used in digital television and video streaming systems for test, monitoring, integration, debug, lab, demo.

Use cases

Transport stream acquisition or transmodulation, including DVB, ATSC, ISDB, ASI and IP multicast.

Analyze transport streams, PSI/SI signalization, bitrates, timestamps.

On-the-fly transformation, extraction, or injection of content and signalization.

Manipulation of tables and descriptors using XML, JSON or binary formats.

Most standard tables and descriptors are supported, as defined by MPEG, DVB, ISDB, ATSC, SCTE.

Modify, remove, rename, extract services.

Analyze and inject SCTE 35 splice information.

Extract or inject Multi-Protocol Encapsulation (MPE) between TS and UDP/IP.

Generate Electronic Program Guide (EPG), inject EIT according to ETSI TS 101 211.

Monitor and report conditions on the stream (video and audio properties, bitrates, crypto-periods, signalization).

Send bitrate and ETSI TR 101 290 metrics to InfluxDB and Grafana for system monitoring.

Monitor Inter-packet Arrival Time (IAT) on datagram-based networks.

Work on live transport streams, DVB-S/C/T, ATSC, ISDB-S/T, ASI, IP-TV, HTTP, HLS, SRT, RIST or offline transport stream files and pcap captured files.

Receive from or send to specialized hardware such as:

Cheap DVB, ATSC or ISDB tuners (USB, PCI).

Professional Dektec devices, ASI, modulators (USB, PCI).

HiDes USB modulators.

AstroMeta-based USB modulators (formerly VATek) such as the Suntechtv U3.

Re-route transport streams to other applications.

Extract specific encapsulated data (Teletext, T2-MI, DVB-NIP).

Emulate a CAS head-end using DVB SimulCrypt interfaces to and from ECMG or EMMG.

And more…

Overview

TSDuck is developed in C++ in a modular architecture. It is easy to extend it through plugins. In fact, the primary requirement for TSDuck architecture was to be able to implement any new feature within a couple of hours, which happened to be the case most of the time.

To be easily extended, TSDuck needed to be simple. TSDuck is a collection of command line tools and plugins. There is no sophisticated GUI. Each utility or plugin performs only one elementary feature but they can be combined in any order. See some sample usages.

TSDuck is also a large library to manipulate MPEG transport streams. C++, Java and Python developers can use bindings in their languages.

In short, TSDuck shall be understood as a General-Purpose Toolbox for Digital TV Engineers and not as a specialized application for production operators.

And, by the way, TSDuck is Free and Open Source.

Availability

TSDuck is open source and released under the BSD license. It is developed in C++ and designed to be portable. TSDuck is built and tested for Windows, Linux, macOS and BSD systems.

Pre-built binary packages are available for Windows, Fedora, Ubuntu, RedHat, Debian (Intel x64 and Arm64). See the download section in the top menu.

TSDuck is also available through standard package managers. On macOS, use Homebrew. On Windows, use Winget. On FreeBSD, use Ports.

Rebuilding TSDuck, with or without its binary installers and packages, is documented here.

Support for DVB tuners, Dektec devices, HiDes modulators, is available on Windows and Linux only. AstroMeta-based modulators are supported on macOS as well as Windows and Linux.

Please report problems or ask questions using the issue tracker.

License

TSDuck is released under the terms of the license which is commonly referred to as 2-Clause BSD License or Simplified BSD License or FreeBSD License.

Copyright (c) 2005-2026, Thierry Lelégard<br>All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

This software is provided by the copyright holders and...

tsduck transport isdb source mpeg license

Related Articles