Add SDT and optional NIT tables to mpegtsmux

As with ffmpeg’s mpegtsenc underlying libav has supported both SDT and NIT tables for DVB transmission. GStreamer’s mpeg2 TS mpegtsmux is lacking of to date. Let’s change this.

From SO/IEC 13818-1 MPEG-2

The SDT (Service Description Table) is mandatory under the DVB and DVB-T/T2/S/S2/C broadcasting specifications, but not strictly mandatory under the base ISO/IEC 13818-1 MPEG-2 Systems spec.

I’d like to add both SDT and NIT tables to mpegtsmux plugin to improve DVB transport stream compliance for transmission systems such as DVB-T, DVB-S in the first instance.

Then work towards:-

  1. Adding EIT for (EPG) which will also need to include the TDT/TOT table for time scheduling and EPG to process at the TV and STB endpoints.
  2. Proper multiplexing of Teletext as its properly supported to the extend of subtitles is.
  3. To add the needed addition code, I’d assume as with sub titles, they’ll need to be a plugin developed to pre-process the Teletext PES to satisfy pre TS requirements for multiplexing into mpegtsmux including the updating of both PMT and SDT tables with the Teletext service?

Happy to discuss out-side of discourse, if anyone like to discuss on how to add the necessary tables and Teletext. :grinning_face: