# 使用 Homebrew, MacPorts, Nix, winget 安装 tsduck

查看 tsduck 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

## 安装

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

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install tsduck
```

  证据: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install tsduck
```

  证据: 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
```

  证据: 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
```

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

## 软件包事实

- **软件包键:** brew:tsduck
- **软件包管理器:** Homebrew
- **软件包管理器页面:** <https://formulae.brew.sh/formula/tsduck>
- **版本:** 3.44-4676
- **来源摘要:** MPEG Transport Stream Toolkit
- **主页:** <https://tsduck.io/>
- **仓库:** <https://github.com/tsduck/tsduck>
- **上游文档:** <https://tsduck.io/>
- **许可证:** BSD-2-Clause
- **源码归档:** <https://github.com/tsduck/tsduck/archive/refs/tags/v3.44-4676.tar.gz>
- **最后更新:** 2026-06-25T13:38:10+02:00
- **已生成:** 2026-08-04T22:13:35+00:00

## 可执行文件

- 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 (别名)
- tsbitrate (别名)
- tscharset (别名)
- tscmp (别名)
- tsconfig (别名)
- tscrc32 (别名)
- tsdate (别名)
- tsdebug (别名)
- tsdsmcc (别名)
- tsdump (别名)
- tsecmg (别名)
- tseit (别名)
- tsemmg (别名)
- tsfclean (别名)
- tsfixcc (别名)
- tsflute (别名)
- tsftrunc (别名)
- tsfuzz (别名)
- tsgenecm (别名)
- tshides (别名)
- tslatencymonitor (别名)
- tslsdvb (别名)
- tsnip (别名)
- tsp (别名)
- tspacketize (别名)
- tspcap (别名)
- tspcontrol (别名)
- tspsi (别名)
- tsresync (别名)
- tsscan (别名)
- tssmartcard (别名)
- tsstuff (别名)
- tsswitch (别名)
- tstabcomp (别名)
- tstabdump (别名)
- tstables (别名)
- tsterinfo (别名)
- tstestecmg (别名)
- tsvatek (别名)
- tsversion (别名)
- tsxml (别名)

## 依赖

- librist
- libvatek
- openssl@3
- srt

## 构建依赖

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

## macOS 提供的库

- curl
- libedit
- pcsc-lite

## 安装行为

- post-install 钩子: 未定义
- Bottle: 可用 于 arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## 版本和新鲜度

- 页面生成时间: 2026-08-04
- 管理器版本: 3.44-4676
- 管理器更新时间: 2026-06-25
- 本地数据: OK
- 上游仓库: https://github.com/tsduck/tsduck
- 检测到的最新版本: v3.44-4676 (当前)
## 项目历史与用法

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

### 项目历史

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.

### 采用历史

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.

### 使用方式

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.

### 为什么软件包爱好者会关心

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.

### 时间线

- 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.

### 来源

- <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


## 安全说明

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

- **Geiger 风险:** blue / 中
- broad file, network, media, or database tool signal

## 源数据库详情

- **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

## 其他软件包管理器记录

- 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


## 相关链接

- [Secret-risk packages](https://pkg.so/zh-hans/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://pkg.so/zh-hans/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://pkg.so/zh-hans/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Media and graphics packages](https://pkg.so/zh-hans/media-graphics-tools/) - Matched media, image, audio, video, or graphics metadata.
- [openssl@3](https://pkg.so/zh-hans/brew/openssl-3/) - Runtime dependency declared by Homebrew.
- [librist](https://pkg.so/zh-hans/brew/librist/) - Runtime dependency declared by Homebrew.
- [srt](https://pkg.so/zh-hans/brew/srt/) - Runtime dependency declared by Homebrew.
- [openjdk](https://pkg.so/zh-hans/brew/openjdk/) - Build dependency declared by Homebrew.
- [gnu-sed](https://pkg.so/zh-hans/brew/gnu-sed/) - Build dependency declared by Homebrew.
- [make](https://pkg.so/zh-hans/brew/make/) - Build dependency declared by Homebrew.
- [qpdf](https://pkg.so/zh-hans/brew/qpdf/) - Build dependency declared by Homebrew.
- [ffmpeg](https://pkg.so/zh-hans/brew/ffmpeg/) - Shares pkgdb curated category or tags: cli, media.
- [libpng](https://pkg.so/zh-hans/brew/libpng/) - Shares pkgdb curated category or tags: cli, media.
- [jpeg-turbo](https://pkg.so/zh-hans/brew/jpeg-turbo/) - Shares pkgdb curated category or tags: cli, media.
- [fontconfig](https://pkg.so/zh-hans/brew/fontconfig/) - Shares pkgdb curated category or tags: cli, media.
- [freetype](https://pkg.so/zh-hans/brew/freetype/) - Shares pkgdb curated category or tags: cli, media.
- [little-cms2](https://pkg.so/zh-hans/brew/little-cms2/) - Shares pkgdb curated category or tags: cli, media.
- [openexr](https://pkg.so/zh-hans/brew/openexr/) - Shares pkgdb curated category or tags: cli, media.
- [giflib](https://pkg.so/zh-hans/brew/giflib/) - Shares pkgdb curated category or tags: cli, media.
- [csound](https://pkg.so/zh-hans/brew/csound/) - Local package facts share a topical domain. Shared terms: cli, media, openssl, openssl-3.
- [ffmpeg-full](https://pkg.so/zh-hans/brew/ffmpeg-full/) - Local package facts share a topical domain. Shared terms: cli, librist, media, stream.

## Combined YAML source

View the package source record on GitHub. [combined/tsduck.yml](https://github.com/mxcl/pkgdb/blob/main/combined/tsduck.yml)


## 来源

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