1# MPEG-TS helper library 2 3This library should be linked to by getting cflags and libs from 4gstreamer-plugins-bad-{{ gst_api_version.md }}.pc and adding 5-lgstmpegts-{{ gst_api_version.md }} to the library flags. 6 7> NOTE: This library API is considered *unstable* 8 9## Purpose 10 11The MPEG-TS helper library provides a collection of definitions, object, 12enumerations and functions to assist with dealing with the base *MPEG 2 13Transport Stream* (MPEG-TS) format (as defined by `ISO/IEC 13818-1` and `ITU-T 14H.222.0`) and its derivates (`DVB`, `ATSC`, `SCTE`, `ARIB`, `Blu-ray`, `AVCHD`, 15...). 16 17 18This library provides helpers for dealing with: 19 20* The various Section Information (SI) and Program-Specific Information (SI), 21 handled with the [GstMpegtsSection](GstMpegtsSection) object and related 22 functions. 23 24* The various descriptors present in SI/PSI, handled with the 25 [GstMpegtsDescriptor](GstMpegtsDescriptor) object and related functions. 26 27 28This library does not cover: 29 30* Parsing MPEG-TS packets (PSI or PES) and extracting the sections. One can use 31 an existing demuxer/parser element for this, or parse the packets 32 themselves. 33 34* Generate and multiplex MPEG-TS packets and sections. One can use an existing 35 muxer element for this. 36 37Applications, or external elements, can interact with the existing MPEG-TS 38elements via [messages](gst_message_new_mpegts_section) (to receive sections) or 39[events](gst_mpegts_section_send_event) (to send sections). 40 41## Specification and References 42 43As much as possible, the information contained in this library is based on the 44official Specification and/or References listed below: 45 46### `MPEG-TS` 47 48This is the base specification from which all variants are derived. It covers 49the basic sections (for program signalling) and descriptors. All variants must 50abide by this specification. 51 52* `ISO/IEC 13818-1` and `ITU-T H.222.0`: *"Information technology – Generic 53 coding of moving pictures and associated audio information: Systems"*. The two 54 specifications are identical, the ITU one is more easily available (*nudge*). 55 56### `SMPTE-RA` : *SMPTE Registration Authority* 57The official registration authority for MPEG-TS. This is used for the base 58[Registration Descriptor](gst_mpegts_descriptor_parse_registration) which 59allows to unambiguously identify a stream when it is not specified in a standard 60(yet). 61 62* <http://smpte-ra.org/> 63 64### `DVB` : *Digital Video Broadcasting* 65 66This standards body covers the variant of MPEG-TS used in Europe, Oceania, and 67most of Asia and Africa. The standards are actually published by the `ETSI` 68(European Telecommunications Standards Institute). 69 70* `ETSI EN 300 468`: *"Digital Video Broadcasting (DVB); Specification for 71 Service Information (SI) in DVB systems"*. Covers all the sections and 72 descriptors used in DVB variants. 73* `ETSI EN 101 154`: *"Digital Video Broadcasting (DVB);Specification for the 74 use of Video and Audio Coding in Broadcast and Broadband 75 Applications"*. Provides more details about signalling/sectios for audio/video 76 codecs. 77 78### `ATSC` : *Advanced Television Systems Committee* 79 80This set of standards covers the variants of MPEG-TS used in North America. 81* `ATSC A/53-3` : *"ATSC Digital Television Standard, Part 3 – Service Multiplex 82 and Transport Subsystem Characteristics"*. How ATSC extends the base MPEG-TS. 83* `ATSC A/65` : *"ATSC Standard:Program and System Information Protocol for 84 Terrestrial Broadcast and Cable"*. Covers all sections and descriptors used in 85 ATSC 1.0 variants. 86* `ATSC A/90` : *"ATSC Data Broadcast Standard"*. Extensions for data transfer 87 (i.e. DSM-CC). 88* `ATSC A/107` : *"ATSC 2.0 Standard"*. Adds a few more descriptors. 89* `ATSC Code Points Registry` : The list of stream types, decriptor types, 90 etc... used by ATSC standards. 91 92### `SCTE` : *Society of Cable Telecommunications Engineers* 93 94This set of standards evolved in parallel with ATSC in North-America. Most of it 95has been merged into ATSC and other standards since. 96 97* `ANSI/SCTE 35` : *"Digital Program Insertion Cueing Message for Cable"* 98 99### `DSM-CC` : "Digital Storage Media - Command & Control" 100 101This ISO standard is the base for asynchronously carrying "files" over mpeg-ts. 102 103* `ISO/IEC 13818-6` : *"Information technology — Generic coding of moving 104 pictures and associated audio information — Part 6: Extensions for DSM-CC"*. 105