开发者生态
morning
TSDuck:用于 MPEG-TS 分析和操作的开源工具包
2026-05-27
1 阅读
phantomathkg
欢迎使用 TSDuck 用于 MPEG 传输流 Star 1030 TSDuck 的免费开源参考框架,用于数字电视和视频流系统中的测试、监控、集成、调试、实验室、演示。使用案例 传输流采集或转调,包括 DVB、ATSC、ISDB、ASI 和 IP 多播。分析传输流、PSI/SI 信号、比特率、时间戳。内容和信号的动态转换、提取或注入。使用 XML、JSON 或二进制格式操作表和描述符。支持大多数标准表和描述符,如 MPEG、DVB、ISDB、ATSC、SCTE 所定义。修改、删除、重命名、提取服务。分析并注入 SCTE 35 熔接信息。在 TS 和 UDP/IP 之间提取或注入多协议封装 (MPE)。生成电子节目指南 (EPG),根据 ETSI TS 101 211 注入 EIT。监控并报告流的状况(视频和音频属性、比特率、加密周期、信号化)。将比特率和 ETSI TR 101 290 指标发送到 InfluxDB 和 Grafana 以进行系统监控。监视基于数据报的网络上的数据包间到达时间 (IAT)。处理实时传输流、DVB-S/C/T、ATSC、ISDB-S/T、ASI、IP-TV、HTTP、HLS、SRT、RIST 或离线传输流文件和 pcap 捕获的文件。从专用硬件接收或发送到专用硬件,例如:廉价 DVB、ATSC 或 ISDB 调谐器(USB、PCI)。专业 Dektec 设备、ASI、调制器(USB、PCI)。 HiDes USB 调制器。基于 AstroMeta 的 USB 调制器(以前称为 VATek),例如 Suntechtv U3。将传输流重新路由到其他应用程序。提取特定的封装数据(图文电视、T2-MI、DVB-NIP)。使用与 ECMG 或 EMMG 之间的 DVB SimulCrypt 接口模拟 CAS 头端。还有更多... 概述 TSDuck 是在模块化架构中用 C++ 开发的。通过插件很容易扩展它。事实上,TSDuck 架构的主要要求是能够在几个小时内实现任何新功能,而大多数情况下都是这种情况。为了易于扩展,TSDuck 需要简单。 TSDuck 是命令行工具和插件的集合。没有复杂的 GUI。每个实用程序或插件仅执行一项基本功能,但它们可以按任何顺序组合。请参阅一些示例用法。 TSDuck 也是一个用于操作 MPEG 传输流的大型库。 C++、Java 和 Python 开发人员可以在其语言中使用绑定。简而言之,TSDuck 应被理解为数字电视工程师的通用工具箱,而不是生产运营商的专用应用程序。顺便说一句,TSDuck 是免费且开源的。可用性 TSDuck 是开源的,并在 BSD 许可证下发布。它是用 C++ 开发的,设计为可移植的。 TSDuck 是针对 Windows、Linux、macOS 和 BSD 系统构建和测试的。预构建的二进制包适用于 Windows、Fedora、Ubuntu、RedHat、Debian(Intel x64 和 Arm64)。请参阅顶部菜单中的下载部分。 TSDuck 也可以通过标准包管理器获得。在 macOS 上,使用 Homebrew 。在 Windows 上,使用 Winget 。在 FreeBSD 上,使用 Ports 。重建 TSDuck(无论是否带有二进制安装程序和软件包)均记录在此处 。对 DVB 调谐器、Dektec 设备、HiDes 调制器的支持仅在 Windows 和 Linux 上可用。基于 AstroMeta 的调制器在 macOS、Windows 和 Linux 上均受支持。请使用问题跟踪器报告问题或提出问题。许可证 TSDuck 是根据许可证条款发布的,该许可证通常称为 2-Clause BSD License 或 Simplified BSD License 或 FreeBSD License 。版权所有 (c) 2005-2026,Thierry Lelégard 保留所有权利。如果满足以下条件,则允许以源代码和二进制形式重新分发和使用,无论是否经过修改: 源代码的重新分发必须保留上述版权声明、此条件列表和以下免责声明。以二进制形式重新分发必须在随分发提供的文档和/或其他材料中复制上述版权声明、此条件列表以及以下免责声明。本软件由版权所有者和贡献者“按原样”提供,不承担任何明示或暗示的保证,包括但不限于对适销性和特定用途适用性的暗示保证。在任何情况下,版权所有者或贡献者均不对因使用本软件而以任何方式产生的任何直接、间接、附带、特殊、惩戒性或后果性损害(包括但不限于采购替代商品或服务;使用、数据或利润损失;或业务中断)承担任何责任,无论是基于合同、严格责任还是侵权行为(包括疏忽或其他),无论是何种责任理论造成的,即使已被告知发生此类损害的可能性。