TSDuck v3.40-3965
MPEG Transport Stream Toolkit
|
MPEG-DVB core features. More...
Files | |
file | tsAVC.h |
Basic definitions for Advanced Video Coding (AVC, H.264) standard. | |
file | tsCodecType.h |
Known video, audio or data encoding formats. | |
file | tsECMGSCS.h |
DVB SimulCrypt ECMG <=> SCS protocol. | |
file | tsEMMGMUX.h |
DVB SimulCrypt EMMG/PDG <=> MUX protocol. | |
file | tsHEVC.h |
Basic definitions for High Efficiency Video Coding (HEVC, H.265) standard. | |
file | tsMJD.h |
Modified Julian Date (MJD) utilities. | |
file | tsMPEG2.h |
Basic definitions for MPEG-2 video coding standard. | |
file | tsNames.h |
Names of various MPEG entities. | |
file | tsOUI.h |
Common definitions for IEEE Organizationally Unique Identifier (OUI). | |
file | tsPES.h |
Common definitions for MPEG PES (Packetized Elementary Stream) layer. | |
file | tsPSI.h |
Common definitions for MPEG PSI (Program Specific Information) layer. | |
file | tsT2MI.h |
Common definitions for T2-MI (DVB-T2 Modulator Interface). | |
file | tsTeletext.h |
Common definitions for Teletext PES packets. | |
file | tsTS.h |
Common definitions for MPEG Transport Stream layer. | |
file | tsVVC.h |
Basic definitions for Versatile Video Coding (VVC, H.266) standard. | |
Classes | |
class | ts::AbstractAudioVideoAttributes |
Abstract base class for MPEG audio and video attributes. More... | |
class | ts::AbstractAVCAccessUnit |
Base class for AVC access units, aka NALunits. More... | |
class | ts::AbstractDefinedByStandards |
Abstract base class for objects which are defined by standards. More... | |
class | ts::AbstractDemux |
Abstract base class for all sorts of demux from TS packets. More... | |
class | ts::AbstractHEVCAccessUnit |
Base class for HEVC access units, aka NALunits. More... | |
class | ts::AbstractPacketizer |
Abstract superclass for packetizer classes (sections or PES packets). More... | |
class | ts::AbstractSignalization |
Abstract base class for MPEG PSI/SI tables and descriptors. More... | |
class | ts::AbstractVideoAccessUnit |
Base class for video access units, aka NALunits. More... | |
class | ts::AbstractVideoData |
Abstract base class for AVC data, either access units or structures. More... | |
class | ts::AbstractVideoStructure |
Base class for sub-structures inside video access units. More... | |
class | ts::AbstractVVCAccessUnit |
Base class for VVC (H.266) access units, aka NALunits. More... | |
class | ts::AC3Attributes |
AC-3 (DD) and Enhanced-AC-3 (DD+) audio attributes. More... | |
class | ts::AccessUnitIterator |
Iterator for common AVC/HEVC/VVC video access units. More... | |
struct | ts::ApplicationIdentifier |
Representation of an Application Identifier. More... | |
class | ts::ARIBCharset |
Definition of the ARIB STD-B24 character set (ISDB Japan). More... | |
class | ts::ATSCMultipleString |
Representation of an ATSC multiple_string_structure. More... | |
class | ts::AudioLanguageOptions |
Options to update the language of an audio stream in a PMT. More... | |
class | ts::AVCAccessUnitDelimiter |
Representation of an AVC access unit delimiter (AUD). More... | |
class | ts::AVCAttributes |
Video attributes for Advanced Video Coding. More... | |
class | ts::AVCHRDParameters |
AVC HRD (Hypothetical Reference Decoder) parameters. More... | |
class | ts::AVCParser |
Parser for Advanced Video Coding data. More... | |
class | ts::AVCSequenceParameterSet |
Representation of an AVC sequence parameter set access unit. More... | |
class | ts::AVCVUIParameters |
AVC VUI (Video Usability Information) parameters. More... | |
class | ts::BinaryTable |
Representation of MPEG PSI/SI tables in binary form (ie. More... | |
class | ts::BitRateRegulator |
Regulate execution speed based on a bitrate. More... | |
class | ts::CASDate< YEARBASE > |
Template representation of a CAS date. More... | |
class | ts::CASMapper |
This class maps PID's with CA system ids. More... | |
class | ts::ChannelFile |
An XML file containing the description of TV channels and their networks. More... | |
class | ts::Charset |
Definition of a character set for PSI/SI encoding. More... | |
class | ts::ContinuityAnalyzer |
Continuity counters analysis and repair. More... | |
class | ts::CRC32 |
Cyclic Redundancy Check as used in MPEG sections. More... | |
class | ts::CyclingPacketizer |
Cyclic packetization of MPEG sections into Transport Stream packets. More... | |
class | ts::DemuxedData |
Base class for all kinds of demuxed data. More... | |
class | ts::Descriptor |
Representation of a MPEG PSI/SI descriptors in binary format. More... | |
class | ts::DescriptorList |
List of MPEG PSI/SI descriptors. More... | |
class | ts::DumpCharset |
Definition of the fake character set to dump string binary data. More... | |
class | ts::DVBCharset |
Definition of the generic DVB character sets. More... | |
class | ts::DVBCharTable |
Definition of a character set for DVB encoding. More... | |
class | ts::DVBCharTableSingleByte |
Definition of a DVB character set using a single byte per character. More... | |
class | ts::DVBCharTableUTF16 |
Definition of the UTF-8 DVB character set. More... | |
class | ts::DVBCharTableUTF8 |
Definition of the UTF-8 DVB character set. More... | |
class | ts::ECMGClient |
A DVB-ECMG client which acts as a DVB-SCS. More... | |
class | ts::ECMGClientArgs |
Command line arguments for the class ECMGClient. More... | |
class | ts::ECMGClientHandlerInterface |
Interface for classes which need to be notified of asynchronous ECM generation using ECMGClient. More... | |
class | ts::EDID |
Extended MPEG descriptor id. More... | |
class | ts::EITGenerator |
Generate and insert EIT sections based on an EPG content. More... | |
class | ts::EITProcessor |
Perform various transformations on an EIT PID. More... | |
class | ts::EITRepetitionProfile |
EIT sections repetition profile. More... | |
class | ts::EMMGClient |
A DVB-EMMG client which connects to any MUX to inject data. More... | |
class | ts::ETID |
Extended MPEG table id. More... | |
class | ts::HEVCAccessUnitDelimiter |
Representation of an HEVC access unit delimiter (AUD). More... | |
class | ts::HEVCAttributes |
Video attributes for HEVC / H.265. More... | |
class | ts::HEVCHRDParameters |
HEVC HRD (Hypothetical Reference Decoder) parameters. More... | |
class | ts::HEVCProfileTierLevel |
HEVC profile, tier and level structure. More... | |
class | ts::HEVCScalingListData |
HEVC scaling list data structure. More... | |
class | ts::HEVCSequenceParameterSet |
Representation of an HEVC sequence parameter set access unit. More... | |
class | ts::HEVCShortTermReferencePictureSetList |
List of HEVC short-term reference picture sets. More... | |
class | ts::HEVCVUIParameters |
HEVC VUI (Video Usability Information) parameters. More... | |
class | ts::InvalidSectionHandlerInterface |
Abstract interface to receive an invalid MPEG section from a SectionDemux. More... | |
class | ts::ISDBTInformation |
ISDB-T Information block in a TS packet trailer (204-byte packet). More... | |
class | ts::ISDBTInformationPacket |
ISDB-T Information Packet (IIP). More... | |
class | ts::LogicalChannelNumbers |
A multi-standard storage of Logical Channel Numbers (LCN). More... | |
class | ts::MPEDemux |
This class extracts MPE (Multi-Protocol Encapsulation) datagrams from TS packets. More... | |
class | ts::MPEG2AudioAttributes |
Audio attributes for MPEG-1 / MPEG-2 audio. More... | |
class | ts::MPEG2VideoAttributes |
Video attributes for MPEG-1 and MPEG-2. More... | |
class | ts::MPEHandlerInterface |
MPE (Multi-Protocol Encapsulation) demux handler interface. More... | |
class | ts::MPEPacket |
Representation of a packet for MPE (Multi-Protocol Encapsulation). More... | |
class | ts::OneShotPacketizer |
Packetization of MPEG sections into Transport Stream packets in one shot. More... | |
class | ts::PacketDecapsulation |
An efficient TSDuck-specific TS packets decapsulation from a PID. More... | |
class | ts::PacketEncapsulation |
An efficient TSDuck-specific TS packets encapsulation in a PID. More... | |
class | ts::PacketInsertionController |
Control the insertion points of TS packets in a stream based on various criteria. More... | |
class | ts::Packetizer |
Packetization of MPEG sections into Transport Stream packets. More... | |
class | ts::PCRAnalyzer |
PCR statistics analysis. More... | |
class | ts::PCRMerger |
Adjust PCR clocks when a TS is merged into a larger one. More... | |
class | ts::PCRRegulator |
Regulate execution speed based on PCR's in one reference PID. More... | |
class | ts::PESDemux |
This class extracts PES packets from TS packets. More... | |
class | ts::PESHandlerInterface |
Abstract interface to be notified of PES packets using a PESDemux. More... | |
class | ts::PESOneShotPacketizer |
Packetization of PES data into Transport Stream packets in one shot. More... | |
class | ts::PESPacket |
Representation of MPEG PES packets. More... | |
class | ts::PESPacketizer |
Packetization of PES data into Transport Stream packets. More... | |
class | ts::PESProviderInterface |
Abstract interface for classes which provide PES packets into a Packetizer. More... | |
class | ts::PESStreamPacketizer |
Packetization of PES data into Transport Stream packets in "push" mode. More... | |
struct | ts::PIDOperator |
Association of a PID and an operator id (CAS-specific). More... | |
class | ts::PSIBuffer |
A specialized subclass of ts::Buffer for PSI serialization. More... | |
class | ts::PSILogger |
This class logs sections and tables. More... | |
class | ts::PSIMerger |
This class merges PSI/SI tables from two TS, replacing TS packets. More... | |
class | ts::PSIRepository |
A repository for known PSI/SI tables and descriptors. More... | |
class | ts::Section |
Representation of MPEG PSI/SI sections. More... | |
class | ts::SectionDemux |
This class rebuilds MPEG tables and sections from TS packets. More... | |
class | ts::SectionFile |
A binary or XML file containing PSI/SI sections and tables. More... | |
class | ts::SectionHandlerInterface |
Abstract interface to receive MPEG Section from a SectionDemux. More... | |
class | ts::SectionProviderInterface |
Abstract interface for classes which provide MPEG sections into a Packetizer. More... | |
class | ts::Service |
Describe a DVB or ATSC service. More... | |
class | ts::ServiceDiscovery |
Discover and describe a DVB service. More... | |
class | ts::ServiceIdTriplet |
Full identification of a DVB service (aka "DVB triplet"). More... | |
class | ts::SignalizationDemux |
General-purpose signalization demux. More... | |
class | ts::SignalizationHandlerInterface |
General-purpose signalization handler interface. More... | |
class | ts::SimulCryptDate |
Representation of a date in DVB SimulCrypt protocols (ETSI TS 103 197). More... | |
class | ts::SpliceInsert |
Representation of an SCTE 35 SpliceInsert command. More... | |
class | ts::SplicePrivateCommand |
Representation of an SCTE 35 private_command() structure. More... | |
class | ts::SpliceSchedule |
Representation of an SCTE 35 SpliceSchedule command. More... | |
class | ts::SpliceTime |
Representation of an SCTE 35 splice_time() structure. More... | |
class | ts::StandaloneTableDemux |
A SectionDemux which extracts MPEG tables without external handler. More... | |
class | ts::SubRipGenerator |
Generate subtitles in SubRip format (aka SRT). More... | |
class | ts::T2MIDemux |
This class analyzes T2-MI (DVB-T2 Modulator Interface) from TS packets. More... | |
class | ts::T2MIHandlerInterface |
T2-MI demux handler interface. More... | |
class | ts::T2MIPacket |
Representation of a DVB T2-MI (DVB-T2 Modulator Interface) packet. More... | |
class | ts::TableHandlerInterface |
Table handler interface. More... | |
class | ts::TablePatchXML |
Implementation of on-the-fly table patching using XML. More... | |
class | ts::TablesDisplay |
A class to display PSI/SI tables. More... | |
class | ts::TablesLogger |
This class logs sections and tables. More... | |
class | ts::TablesLoggerFilter |
The default section filter for TablesLogger. More... | |
class | ts::TablesLoggerFilterInterface |
An interface which is used to filter sections in TablesLogger. More... | |
class | ts::TablesLoggerFilterRepository |
The repository of section filters for TablesLogger. More... | |
class | ts::TeletextCharset |
Implementation of a Teletext character set. More... | |
class | ts::TeletextDemux |
This class extracts Teletext subtitles from TS packets. More... | |
class | ts::TeletextFrame |
Description of one Teletext frame. More... | |
class | ts::TeletextHandlerInterface |
Interface to be implemented by classes which need to be notified of Teletext messages using a Teletext demux. More... | |
class | ts::TimeShiftBuffer |
A TS packet buffer for time shift. More... | |
class | ts::TimeTrackerDemux |
A demux which tracks time stamps per PID. More... | |
class | ts::TransportStreamId |
Full identification of a DVB transport stream. More... | |
class | ts::TSAnalyzer |
A class which analyzes a complete transport stream. More... | |
class | ts::TSAnalyzerOptions |
Report options for the class TSAnalyzer. More... | |
class | ts::TSAnalyzerReport |
A subclass of TSAnalyzer with reporting capabilities. More... | |
class | ts::TSDatagramOutput |
Send TS packets over datagrams (UDP, SRT, RIST, etc.) More... | |
class | ts::TSDatagramOutputHandlerInterface |
Generic datagram handler interface. More... | |
class | ts::TSFile |
Transport stream file, input and/or output. More... | |
class | ts::TSFileInputArgs |
Transport stream file input with command-line arguments. More... | |
class | ts::TSFileInputBuffered |
Transport stream file input with a seekable buffer. More... | |
class | ts::TSFileOutputArgs |
Transport stream file output with command-line arguments. More... | |
class | ts::TSFileOutputResync |
A specialized form of transport stream output file with resynchronized PID and continuity counters. More... | |
class | ts::TSForkPipe |
A subclass of ts::ForkPipe which exchanges TS packets on the pipe. More... | |
class | ts::TSFuzzing |
Transport stream packets fuzzing. More... | |
class | ts::TSFuzzingArgs |
Command line arguments for transport stream packets fuzzing. More... | |
class | ts::TSPacket |
Basic definition of an MPEG-2 transport packet. More... | |
class | ts::TSPacketMetadata |
Metadata of an MPEG-2 transport packet for tsp plugins. More... | |
class | ts::TSPacketQueue |
Transport stream packet queue for inter-thread communication. More... | |
class | ts::TSPacketStream |
Read/write TS packets on a stream. More... | |
class | ts::TSPacketWindow |
A view over a window of a buffer of TS packets. More... | |
class | ts::TSScanner |
A class which scans the services of a transport stream. More... | |
class | ts::TSScrambling |
Transport stream scrambling using multiple algorithms. More... | |
class | ts::TSSpeedMetrics |
TS processing speed metrics evaluation. More... | |
class | ts::VVCAccessUnitDelimiter |
Representation of a VVC access unit delimiter (AUD). More... | |
Typedefs | |
using | ts::MediaGuardDate = CASDate< 1990 > |
Representation of a MediaGuard date. | |
using | ts::SafeAccessDate = CASDate< 2000 > |
Representation of a SafeAccess date. | |
using | ts::TSPacketLabelSet = CompactBitSet< 32 > |
A set of labels used as metadata for a TS packet. | |
using | ts::ViaccessDate = CASDate< 1980 > |
Representation of a Viaccess date. | |
Enumerations | |
enum | ts::CASFamily { ts::CAS_OTHER = 0 , ts::CAS_MEDIAGUARD = 1 , ts::CAS_NAGRA = 2 , ts::CAS_VIACCESS = 3 , ts::CAS_THALESCRYPT = 4 , ts::CAS_SAFEACCESS = 5 , ts::CAS_WIDEVINE = 6 , ts::CAS_NDS = 7 , ts::CAS_IRDETO = 8 , ts::CAS_CONAX = 9 } |
Known Conditional Access Systems families. More... | |
enum class | ts::EITProfile { ts::EITProfile::PF_ACTUAL = 0 , ts::EITProfile::PF_OTHER = 1 , ts::EITProfile::SCHED_ACTUAL_PRIME = 2 , ts::EITProfile::SCHED_OTHER_PRIME = 3 , ts::EITProfile::SCHED_ACTUAL_LATER = 4 , ts::EITProfile::SCHED_OTHER_LATER = 5 } |
List of EIT sections repetition profiles. More... | |
enum class | ts::Standards : uint16_t { ts::Standards::NONE = 0x0000 , ts::Standards::MPEG = 0x0001 , ts::Standards::DVB = 0x0002 , ts::Standards::SCTE = 0x0004 , ts::Standards::ATSC = 0x0008 , ts::Standards::ISDB = 0x0010 , ts::Standards::JAPAN = 0x0020 , ts::Standards::ABNT = 0x0040 } |
Bit masks for standards, used to qualify the signalization. More... | |
MPEG-DVB core features.
using ts::TSPacketLabelSet = typedef CompactBitSet<32> |
A set of labels used as metadata for a TS packet.
Each packet in a tsp processing chain has a set of "labels". A label is a integer value from 0 to 31. Various plugins may set or reset labels on packets. Any plugin can be conditioned to work on packets having specific labels only.
When TS packets are passed between processes, using a pipe for instance, the labels can passed as well as other metadata using "--format duck".
The type TSPacketLabelSet is crafted to use 32 bits exactly. It was previously implemented as std::bitset<32> but this type may use up to 64 bits, depending on the platform.
enum ts::CASFamily |
Known Conditional Access Systems families.
|
strong |
List of EIT sections repetition profiles.
The EIT sections shall be repeated according to the type of EIT and the type of network.
The enumeration values are sorted in order of importance. For instance, it is more important to reliably broadcast EIT p/f actual than others, EIT p/f than schedule, etc.
EIT schedule are divided into two periods:
EIT section type | Sat/cable | Terrestrial |
---|---|---|
EIT p/f actual | 2 sec | 2 sec |
EIT p/f other | 10 sec | 20 sec |
EIT sched prime days | 8 days | 1 day |
EIT sched actual (prime) | 10 sec | 10 sec |
EIT sched other (prime) | 10 sec | 60 sec |
EIT sched actual (later) | 30 sec | 30 sec |
EIT sched other (later) | 30 sec | 300 sec |
Enumerator | |
---|---|
PF_ACTUAL | EIT present/following actual. |
PF_OTHER | EIT present/following other. |
SCHED_ACTUAL_PRIME | EIT schedule actual in the "prime" period. |
SCHED_OTHER_PRIME | EIT schedule other in the "prime" period. |
SCHED_ACTUAL_LATER | EIT schedule actual after the "prime" period. |
SCHED_OTHER_LATER | EIT schedule other after the "prime" period. |
|
strong |
Bit masks for standards, used to qualify the signalization.