# Install tsduck with Homebrew, MacPorts, Nix, winget

MPEG Transport Stream Toolkit. Version 3.44-4676 via Homebrew; verified 2026-06-25.

## Install

```sh
sudo av install brew:tsduck
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install tsduck
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install tsduck
```

  Evidence: MacPorts ports tree: multimedia/tsduck/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#tsduck
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ts/tsduck/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

### Windows

- winget (92%):

```sh
winget install --id TSDuck.TSDuck -e
```

  Evidence: Windows Package Manager source index: TSDuck.TSDuck from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:tsduck
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/tsduck>
- **Version:** 3.44-4676
- **Source summary:** MPEG Transport Stream Toolkit
- **Homepage:** <https://tsduck.io/>
- **Repository:** <https://github.com/tsduck/tsduck>
- **Upstream docs:** <https://github.com/tsduck/tsduck#readme>
- **License:** BSD-2-Clause
- **Source archive:** <https://github.com/tsduck/tsduck/archive/refs/tags/v3.44-4676.tar.gz>
- **Last updated:** 2026-06-25T13:38:10+02:00
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- tsanalyze (cli)
- tsbitrate (cli)
- tscharset (cli)
- tscmp (cli)
- tsconfig (cli)
- tscrc32 (cli)
- tsdate (cli)
- tsdebug (cli)
- tsdsmcc (cli)
- tsdump (cli)
- tsecmg (cli)
- tseit (cli)
- tsemmg (cli)
- tsfclean (cli)
- tsfixcc (cli)
- tsflute (cli)
- tsftrunc (cli)
- tsfuzz (cli)
- tsgenecm (cli)
- tshides (cli)
- tslatencymonitor (cli)
- tslsdvb (cli)
- tsnip (cli)
- tsp (cli)
- tspacketize (cli)
- tspcap (cli)
- tspcontrol (cli)
- tspsi (cli)
- tsresync (cli)
- tsscan (cli)
- tssmartcard (cli)
- tsstuff (cli)
- tsswitch (cli)
- tstabcomp (cli)
- tstabdump (cli)
- tstables (cli)
- tsterinfo (cli)
- tstestecmg (cli)
- tsvatek (cli)
- tsversion (cli)
- tsxml (cli)
- tsanalyze (alias)
- tsbitrate (alias)
- tscharset (alias)
- tscmp (alias)
- tsconfig (alias)
- tscrc32 (alias)
- tsdate (alias)
- tsdebug (alias)
- tsdsmcc (alias)
- tsdump (alias)
- tsecmg (alias)
- tseit (alias)
- tsemmg (alias)
- tsfclean (alias)
- tsfixcc (alias)
- tsflute (alias)
- tsftrunc (alias)
- tsfuzz (alias)
- tsgenecm (alias)
- tshides (alias)
- tslatencymonitor (alias)
- tslsdvb (alias)
- tsnip (alias)
- tsp (alias)
- tspacketize (alias)
- tspcap (alias)
- tspcontrol (alias)
- tspsi (alias)
- tsresync (alias)
- tsscan (alias)
- tssmartcard (alias)
- tsstuff (alias)
- tsswitch (alias)
- tstabcomp (alias)
- tstabdump (alias)
- tstables (alias)
- tsterinfo (alias)
- tstestecmg (alias)
- tsvatek (alias)
- tsversion (alias)
- tsxml (alias)

## Dependencies

- librist
- libvatek
- openssl@3
- srt

## Build dependencies

- asciidoctor
- dos2unix
- gnu-sed
- make
- openjdk
- qpdf

## Uses from macOS

- curl
- libedit
- pcsc-lite

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 3.44-4676
- Package-manager updated: 2026-06-25
- Local data: ok
- Upstream repository: https://github.com/tsduck/tsduck
- Upstream latest detected: v3.44-4676 (current)
## Project history and usage

TSDuck is a free, open-source MPEG Transport Stream toolkit used for digital television testing, monitoring, integration, debugging, lab work, demos, and production automation.

### Project history

TSDuck's README calls it a reference framework for MPEG transport streams and describes a modular C++ toolkit built from command-line tools, plugins, and a reusable library. The project copyright range, 2005-2026, and the long official changelog show a mature broadcast-engineering codebase rather than a recent CLI wrapper.

The toolkit's design is deliberately Unix-like: many small utilities and plugins each do one job, and the `tsp` transport stream processor chains plugins to analyze or transform live and recorded streams. The developer guide describes most tools and plugins as wrappers around a shared TSDuck library, which is also usable from third-party C++ programs.

The official changelog records a major public 3.x-era expansion from at least 2017 onward: table compilation and character-set support in 2017, HLS, SCTE 35, SimulCrypt helpers, and hardware support in 2018-2019, JSON output and language bindings around 2020-2021, BSD ports in 2023, fuzzing in 2024, InfluxDB/Grafana metrics and secure control interfaces in 2025, and DSM-CC and newer analyzer commands in 2026.

### Adoption history

The README documents multiple official installation channels: Homebrew on macOS, winget on Windows, FreeBSD Ports, and prebuilt packages for several Linux distributions and architectures. The input metadata also records Homebrew, MacPorts, Nix, and winget package-manager identifiers, showing unusually broad package coverage for a specialized broadcast tool.

TSDuck's adoption is concentrated in digital TV engineering rather than general software development. Its official usage list covers DVB, ATSC, ISDB, ASI, IP multicast, HLS, SRT, RIST, SCTE 35, MPE, EPG/EIT generation, CAS head-end emulation, tuner/modulator hardware, and monitoring pipelines, which explains why package users value convenient binaries despite the niche domain.

### How it is used

TSDuck is used from the shell to acquire, inspect, modify, generate, and route MPEG transport streams. The README highlights `tsp` as the central processor: users connect an input, one or more processing plugins, and an output to form repeatable lab or production pipelines.

The command set includes analyzers such as `tsanalyze`, `tsdump`, `tspsi`, `tstables`, `tspcap`, and `tsbitrate`; generators and converters such as `tspacketize`, `tstabcomp`, and `tsxml`; stream-control tools such as `tspcontrol` and `tsswitch`; and specialized utilities for DVB, ATSC, ISDB, SCTE 35, SimulCrypt, tuner hardware, and network captures.

For developers, the official docs describe a C++ library, Python and Java bindings, a developer guide, and a programming reference. That makes TSDuck both a command-line toolkit and an embeddable MPEG-TS implementation.

### Why package nerds care

TSDuck is a package-nerd standout because it brings a deep broadcast-engineering toolbox into ordinary package managers. A single formula installs dozens of domain-specific commands that would otherwise require specialized vendor tools or hand-built C++ software.

Its changelog is also valuable package-manager evidence: it records ABI/toolchain shifts, new OS support, layout changes for libraries, plugins, and shared files, and new binary-distribution surfaces. Those are exactly the details packagers care about when keeping media infrastructure tools reproducible.

### Timeline

- 2005: Project copyright range begins, according to the official README.
- 2017: Changelog records TSDuck 3.2 with Windows development environment packaging and Linux development packages.
- 2018: Changelog records additions including `tsversion`, Teletext/SCTE 35 tooling, MPE plugins, SimulCrypt helpers, and portable Windows packages.
- 2020: Changelog records JSON output formats and `tsversion` release checks against GitHub.
- 2021: Changelog records Java bindings and additional stream-processing plugins including pcap, memory, RIST, and `tspcap`.
- 2023: Changelog records ports to FreeBSD, OpenBSD, NetBSD, and DragonFlyBSD.
- 2024: Changelog records `tsfuzz` and plugin `fuzz` for transport-stream corruption testing.
- 2025: Changelog records InfluxDB/Grafana metrics, secure control APIs, and the TSCore/TSDuck library split for third-party developers.
- 2026: Changelog records DSM-CC extraction tooling and version 3.45 release notes.

### Related projects

- The official README places TSDuck in the MPEG/DVB/ATSC/ISDB tooling ecosystem and lists hardware and protocol integrations including Dektec, HiDes, AstroMeta/VATek, ASI, UDP multicast, HLS, SRT, RIST, SCTE 35, and DVB SimulCrypt.

### Sources

- <https://github.com/tsduck/tsduck#readme>
- <https://tsduck.io/changelog/>
- <https://tsduck.io/docs/tsduck-dev.html>
- <https://tsduck.io/docs/tsduck.html>
- source_facts.package-manager


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** tsduck
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - tsduck: normalized package name match | nixpkgs package indexes: pkgs/by-name/ts/tsduck/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- MacPorts - tsduck: normalized package name match | MacPorts ports tree: multimedia/tsduck/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- winget - TSDuck.TSDuck: normalized package name match | Windows Package Manager source index: TSDuck.TSDuck from https://cdn.winget.microsoft.com/cache/source.msix


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Media and graphics packages](https://www.automicvault.com/pkg/media-graphics-tools/) - Matched media, image, audio, video, or graphics metadata.
- [librist](https://www.automicvault.com/pkg/brew/librist/) - Runtime dependency declared by Homebrew.
- [openssl@3](https://www.automicvault.com/pkg/brew/openssl-3/) - Runtime dependency declared by Homebrew.
- [srt](https://www.automicvault.com/pkg/brew/srt/) - Runtime dependency declared by Homebrew.
- [asciidoctor](https://www.automicvault.com/pkg/brew/asciidoctor/) - Build dependency declared by Homebrew.
- [dos2unix](https://www.automicvault.com/pkg/brew/dos2unix/) - Build dependency declared by Homebrew.
- [gnu-sed](https://www.automicvault.com/pkg/brew/gnu-sed/) - Build dependency declared by Homebrew.
- [make](https://www.automicvault.com/pkg/brew/make/) - Build dependency declared by Homebrew.
- [cmuclmtk](https://www.automicvault.com/pkg/brew/cmuclmtk/) - Shares av.db curated category or tags: cli, media, toolkit.
- [a52dec](https://www.automicvault.com/pkg/brew/a52dec/) - Shares av.db curated category or tags: cli, media.
- [aalib](https://www.automicvault.com/pkg/brew/aalib/) - Shares av.db curated category or tags: cli, media.
- [ab-av1](https://www.automicvault.com/pkg/brew/ab-av1/) - Shares av.db curated category or tags: cli, media.
- [abcde](https://www.automicvault.com/pkg/brew/abcde/) - Shares av.db curated category or tags: cli, media.
- [abcm2ps](https://www.automicvault.com/pkg/brew/abcm2ps/) - Shares av.db curated category or tags: cli, media.
- [abcmidi](https://www.automicvault.com/pkg/brew/abcmidi/) - Shares av.db curated category or tags: cli, media.
- [adplay](https://www.automicvault.com/pkg/brew/adplay/) - Shares av.db curated category or tags: cli, media.
- [csound](https://www.automicvault.com/pkg/brew/csound/) - Local package facts share a topical domain. Shared terms: cli, media, openssl, openssl-3.
- [gpac](https://www.automicvault.com/pkg/brew/gpac/) - Local package facts share a topical domain. Shared terms: cli, media, openssl, openssl-3.
- [lanraragi](https://www.automicvault.com/pkg/brew/lanraragi/) - Local package facts share a topical domain. Shared terms: cli, media, openssl, openssl-3.

## Combined YAML source

View the package source record on GitHub. [combined/tsduck.yml](https://github.com/automic-vault/db/blob/main/combined/tsduck.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
