TSDuck: Open-source toolkit for MPEG-TS analysis and manipulation
Recorded: May 27, 2026, 7:01 a.m.
| Original | Summarized |
TSDuck – The MPEG Transport Stream Toolkit Skip to content Documentation User guide User guide (PDF) Change log Download TSDuck binaries Resources Streams repository Standards ISO (MPEG) ETSI Standards ISDB ARIB (ISDB) ATSC About Commands and plugins References
Donate
Navigation Menu
Search for...
Navigation Menu Documentation User guide User guide (PDF) Change log Download TSDuck binaries Resources Streams repository Standards ISO (MPEG) ETSI Standards ISDB ARIB (ISDB) ATSC About Commands and plugins References
Welcome to TSDuck
The free and open-source reference framework for MPEG transport streams Star 1030 TSDuck is used in digital television and video streaming systems for test, monitoring, integration, debug, lab, demo. Transport stream acquisition or transmodulation, including DVB, ATSC, ISDB, ASI and IP multicast. Manipulation of tables and descriptors using XML, JSON or binary formats. Modify, remove, rename, extract services. Cheap DVB, ATSC or ISDB tuners (USB, PCI). Re-route transport streams to other applications. Overview Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. This software is provided by the copyright holders and contributors “as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. in no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.
TSDuck is Free and Open-Source | Report a problem | Contact |
TSDuck is presented as a free and open-source reference framework designed for MPEG transport streams. It serves primarily as a general-purpose toolbox utilized in digital television and video streaming systems for activities such as testing, monitoring, integration, debugging, laboratory work, and demonstrations. The toolkit supports a wide array of use cases, including the acquisition and transmodulation of various transport streams, such as DVB, ATSC, ISDB, ASI, and IP multicast. Its capabilities extend to the detailed analysis of transport streams, including the examination of PSI/SI signalization, bitrates, and timestamps. Furthermore, TSDuck enables on-the-fly transformations, extraction, or injection of content and signalization data, alongside the manipulation of standard tables and descriptors using XML, JSON, or binary formats, supporting tables defined by MPEG, DVB, ISDB, ATSC, and SCTE standards. The framework facilitates complex stream manipulation by allowing users to modify, remove, rename, and extract services, analyze and inject SCTE 35 splice information, and manage the encapsulation of Multi-Protocol Encapsulation (MPE) between TS and UDP/IP. It also has functions for generating Electronic Program Guides (EPG) and injecting Event Information Tables (EIT) in accordance with ETSI TS 101 211. Monitoring capabilities include tracking video and audio properties, bitrates, crypto-periods, and signalization conditions, with the ability to report metrics to systems like InfluxDB and Grafana. TSDuck also monitors Inter-packet Arrival Time (IAT) on datagram-based networks. The toolkit supports working with live transport streams from various sources, including DVB-S/C/T, ATSC, ISDB-S/T, ASI, IP-TV, HTTP, HLS, SRT, RIST, or offline transport stream files and pcap captured files. It is designed to interface with specialized hardware, capable of receiving data from or sending data to devices such as cheap DVB, ATSC, or ISDB tuners, professional Dektec devices, ASI modulators, HiDes USB modulators, and AstroMeta-based USB modulators. The framework also allows for the re-routing of transport streams to other applications and the extraction of specific encapsulated data, such as Teletext, T2-MI, or DVB-NIP. Advanced functionality includes the emulation of a CAS head-end using DVB SimulCrypt interfaces for interaction with ECMG or EMMG. Architecturally, TSDuck is developed in C++ using a modular design that facilitates easy extension through plugins, allowing new features to be implemented rapidly. It functions as a collection of command line tools and plugins, deliberately eschewing a sophisticated graphical user interface. This modularity ensures that each utility or plugin addresses a single elementary feature, which can be combined in any sequence. In addition to its command-line utilities, TSDuck is a substantial library, offering bindings for C++, Java, and Python developers. The framework is explicitly positioned as a General-Purpose Toolbox for Digital TV Engineers rather than a specialized application intended for production operators. The software is distributed under the 2-Clause BSD License, and the copyright is held by Thierry Lelégard for the period spanning 2005 to 2026. TSDuck is built and tested for Windows, Linux, macOS, and BSD systems, with pre-built binary packages available for various distributions. Support for specific hardware devices is available on Windows and Linux, while AstroMeta-based modulators are supported on macOS, Windows, and Linux. The project encourages community engagement through its issue tracker for reporting problems or asking questions. |