TSDuck: MPEG-TS 분석 및 조작을 위한 오픈소스 툴킷

발행: (2026년 5월 27일 AM 11:22 GMT+9)
8 분 소요

Source: Hacker News

Introduction

MPEG 전송 스트림을 위한 자유 오픈소스 레퍼런스 프레임워크입니다.
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) 추출.
  • DVB SimulCrypt 인터페이스를 사용해 ECMG 또는 EMMG와 연결되는 CAS 헤드‑엔드 에뮬레이션.
  • 기타 등등…

Source:

개요

TSDuck은 C++로 개발되었으며 모듈식 아키텍처를 가지고 있어 플러그인을 통해 쉽게 확장할 수 있습니다. 주요 설계 목표는 몇 시간 안에 새로운 기능을 구현할 수 있도록 하는 것이었으며, 이는 보통 달성됩니다.

TSDuck은 명령줄 도구와 플러그인의 모음으로 구성되어 있으며, 복잡한 GUI는 없습니다. 각 유틸리티나 플러그인은 단일 기본 기능을 수행하지만, 원하는 순서대로 조합하여 사용할 수 있습니다. 몇 가지 사용 예시를 참고하세요.

또한 MPEG 전송 스트림을 조작할 수 있는 방대한 라이브러리를 제공합니다. C++, Java, Python 개발자는 언어 바인딩을 활용할 수 있습니다.

요약하면, TSDuck은 디지털 TV 엔지니어를 위한 범용 툴박스로 이해해야 하며, 특정 생산용 애플리케이션을 위한 전문 도구가 아닙니다.

TSDuck은 무료이며 오픈 소스입니다(라이선스).

Availability

TSDuck은 오픈 소스이며 BSD 라이선스로 배포됩니다. Windows, Linux, macOS, 그리고 BSD 시스템에서 이식 가능하고 빌드/테스트되었습니다.

미리 빌드된 바이너리 패키지는 Windows, Fedora, Ubuntu, Red Hat, Debian (Intel x64 및 Arm64)에서 사용할 수 있습니다. 자세한 내용은 download 페이지를 참조하십시오.

TSDuck은 표준 패키지 관리자를 통해서도 제공됩니다:

바이너리 설치 프로그램 및 패키지를 포함하거나 제외하고 TSDuck을 재빌드하는 방법은 여기에 문서화되어 있습니다.

DVB 튜너, Dektec 장치, HiDes 모듈레이터에 대한 지원은 Windows와 Linux에서만 제공됩니다. AstroMeta 기반 모듈레이터는 macOS와 Windows, Linux에서도 지원됩니다.

문제 보고나 질문은 issue tracker를 이용해 주세요.

라이선스

TSDuck은 2‑Clause BSD License(일명 Simplified BSD 또는 FreeBSD License) 조건에 따라 배포됩니다.

Copyright (c) 2005-2026, Thierry Lelégard
All rights reserved.

소스 및 바이너리 형태로의 재배포와 사용은 수정 여부와 관계없이 다음 조건을 충족하는 경우 허용됩니다:

  • 소스 코드를 재배포할 경우 위의 저작권 고지, 이 조건 목록 및 아래 면책 조항을 그대로 유지해야 합니다.
  • 바이너리 형태로 재배포할 경우 위의 저작권 고지, 이 조건 목록 및 아래 면책 조항을 문서와/또는 배포와 함께 제공되는 기타 자료에 재현해야 합니다.

본 소프트웨어는 저작권자와 기여자들이 “있는 그대로” 제공하며, 상품성 및 특정 목적에의 적합성에 대한 묵시적 보증을 포함한 모든 명시적·묵시적 보증을 부인합니다. 어떠한 경우에도 저작권자나 기여자는 직접적, 간접적, 우연적, 특수, 모범적 또는 결과적 손해(대체 재화 또는 서비스의 조달, 사용 손실, 데이터 손실, 이익 손실 또는 사업 중단을 포함하되 이에 국한되지 않음) 에 대해 책임을 지지 않습니다. 이는 계약상, 엄격 책임, 불법 행위(과실 포함) 등 어떠한 법리에도 적용됩니다. 본 소프트웨어 사용으로 인한 손해 가능성이 사전에 알려졌더라도 마찬가지입니다.

0 조회
Back to Blog

관련 글

더 보기 »

AI 시대의 프로토타이핑 속도

The Speed of Prototyping in the Age of AI Sunday 31 May 2026 · 7 minutes Note: These are personal reflections on how my workflow has shifted over the past year,...