TSDuck

TSDuck

TSDuck, The MPEG Transport Stream Toolkit

TSDuck users, we need your assistance to promote the project. Please read this.


TSDuck is an extensible toolkit for MPEG transport streams. It is used in digital television systems for test, monitoring, integration, debug, lab, demo.

In practice, TSDuck can be used for:

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 (FreeBSD, OpenBSD, NetBSD, DragonFlyBSD). Please see the list of useful links in the side menu.

Pre-built binary packages are available for Windows, Fedora, Ubuntu, RedHat, Debian (Intel) and Raspbian (Raspberry Pi). See the Download section in the side menu.

On macOS, TSDuck is installed using the Hombrew packager. See the guidelines to install TSDuck using Homebrew.

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. Vatek-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-2024, Thierry Lelégard
All rights reserved.

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

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. 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 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.