From 5d3a0ca6a9e703a77338ab84df97c2d4a18310ca Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Mon, 14 Dec 2020 10:50:02 +0100 Subject: mpegts: Update documentation * Split up into appropriate individual header files * Document more sections and structures * Add well-known list of registration id Part-of: --- docs/libs/mpegts/index.md | 99 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 98 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/libs/mpegts/index.md b/docs/libs/mpegts/index.md index 460ea9633..af6997b3e 100644 --- a/docs/libs/mpegts/index.md +++ b/docs/libs/mpegts/index.md @@ -1,7 +1,104 @@ -# Mpeg TS helper library +# MPEG-TS helper library This library should be linked to by getting cflags and libs from gstreamer-plugins-bad-{{ gst_api_version.md }}.pc and adding -lgstmpegts-{{ gst_api_version.md }} to the library flags. > NOTE: This library API is considered *unstable* + +## Purpose + +The MPEG-TS helper library provides a collection of definitions, object, +enumerations and functions to assist with dealing with the base *MPEG 2 +Transport Stream* (MPEG-TS) format (as defined by `ISO/IEC 13818-1` and `ITU-T +H.222.0`) and its derivates (`DVB`, `ATSC`, `SCTE`, `ARIB`, `Blu-ray`, `AVCHD`, +...). + + +This library provides helpers for dealing with: + +* The various Section Information (SI) and Program-Specific Information (SI), + handled with the [GstMpegtsSection](GstMpegtsSection) object and related + functions. + +* The various descriptors present in SI/PSI, handled with the + [GstMpegtsDescriptor](GstMpegtsDescriptor) object and related functions. + + +This library does not cover: + +* Parsing MPEG-TS packets (PSI or PES) and extracting the sections. One can use + an existing demuxer/parser element for this, or parse the packets + themselves. + +* Generate and multiplex MPEG-TS packets and sections. One can use an existing + muxer element for this. + +Applications, or external elements, can interact with the existing MPEG-TS +elements via [messages](gst_message_new_mpegts_section) (to receive sections) or +[events](gst_mpegts_section_send_event) (to send sections). + +## Specification and References + +As much as possible, the information contained in this library is based on the +official Specification and/or References listed below: + +### `MPEG-TS` + +This is the base specification from which all variants are derived. It covers +the basic sections (for program signalling) and descriptors. All variants must +abide by this specification. + +* `ISO/IEC 13818-1` and `ITU-T H.222.0`: *"Information technology – Generic + coding of moving pictures and associated audio information: Systems"*. The two + specifications are identical, the ITU one is more easily available (*nudge*). + +### `SMPTE-RA` : *SMPTE Registration Authority* +The official registration authority for MPEG-TS. This is used for the base +[Registration Descriptor](gst_mpegts_descriptor_parse_registration) which +allows to unambiguously identify a stream when it is not specified in a standard +(yet). + +* + +### `DVB` : *Digital Video Broadcasting* + +This standards body covers the variant of MPEG-TS used in Europe, Oceania, and +most of Asia and Africa. The standards are actually published by the `ETSI` +(European Telecommunications Standards Institute). + +* `ETSI EN 300 468`: *"Digital Video Broadcasting (DVB); Specification for + Service Information (SI) in DVB systems"*. Covers all the sections and + descriptors used in DVB variants. +* `ETSI EN 101 154`: *"Digital Video Broadcasting (DVB);Specification for the + use of Video and Audio Coding in Broadcast and Broadband + Applications"*. Provides more details about signalling/sectios for audio/video + codecs. + +### `ATSC` : *Advanced Television Systems Committee* + +This set of standards covers the variants of MPEG-TS used in North America. +* `ATSC A/53-3` : *"ATSC Digital Television Standard, Part 3 – Service Multiplex + and Transport Subsystem Characteristics"*. How ATSC extends the base MPEG-TS. +* `ATSC A/65` : *"ATSC Standard:Program and System Information Protocol for + Terrestrial Broadcast and Cable"*. Covers all sections and descriptors used in + ATSC 1.0 variants. +* `ATSC A/90` : *"ATSC Data Broadcast Standard"*. Extensions for data transfer + (i.e. DSM-CC). +* `ATSC A/107` : *"ATSC 2.0 Standard"*. Adds a few more descriptors. +* `ATSC Code Points Registry` : The list of stream types, decriptor types, + etc... used by ATSC standards. + +### `SCTE` : *Society of Cable Telecommunications Engineers* + +This set of standards evolved in parallel with ATSC in North-America. Most of it +has been merged into ATSC and other standards since. + +* `ANSI/SCTE 35` : *"Digital Program Insertion Cueing Message for Cable"* + +### `DSM-CC` : "Digital Storage Media - Command & Control" + +This ISO standard is the base for asynchronously carrying "files" over mpeg-ts. + +* `ISO/IEC 13818-6` : *"Information technology — Generic coding of moving + pictures and associated audio information — Part 6: Extensions for DSM-CC"*. -- cgit v1.2.1