[FFmpeg-trac] #4525(avformat:new): Multi-program structure of input is not preserved in MPEG-TS output (was: Add multi-program support in mpegts muxer)

FFmpeg trac at avcodec.org
Mon Feb 22 20:57:36 EET 2021


#4525: Multi-program structure of input is not preserved in MPEG-TS output
-------------------------------------+------------------------------------
             Reporter:  saste        |                    Owner:
                 Type:  enhancement  |                   Status:  new
             Priority:  wish         |                Component:  avformat
              Version:  git-master   |               Resolution:
             Keywords:  mpegts       |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+------------------------------------

Comment (by droid-xx):

 @saste I hope you don't mind me changing the title so as to make this bug
 report more clear.

 The mentioned commit doesn't fix this particular case. This ticket refers
 to the original program structure of the input being completely lost upon
 transfer, i.e. all programs in a MPTS input are merged under a single
 program containing all streams from all input programs, effectively making
 an SPTS output. The same issue is described in #4734.

 Example, a multi-program TS like this:


 {{{
 MyProgram
 - Stream 1
 - Stream 2
 - Stream 3
 OtherProgram
 - Stream 4
 - Stream 5
 - Stream 6
 - Stream 7
 YetAnotherProgram
 - Stream 8
 - Stream 9
 }}}

 ...will result in a single-program TS like this:

 {{{
 Service01
 - Stream 1
 - Stream 2
 - Stream 3
 - Stream 4
 - Stream 5
 - Stream 6
 - Stream 7
 - Stream 8
 - Stream 9
 }}}

 Now if one also adds the {{{-map_metadata 0:p}}} option, the only
 difference in the resulting output will be the following:

 {{{
 MyProgram
 - Stream 1
 - Stream 2
 - Stream 3
 - Stream 4
 - Stream 5
 - Stream 6
 - Stream 7
 - Stream 8
 - Stream 9
 }}}

 Which means that only the information of the first service is preserved,
 under which all other services are merged. All the remaining services are
 removed from the resulting SDT.

 Unfortunately this is one of the many problems of the mpegts muxer
 regarding the loss of all kinds of information in the output. Other
 problem is the loss of almost all tables as per #9114, another is the loss
 of several other descriptors upon copying, e.g. all audio-related
 descriptors are dropped, etc.

--
Ticket URL: <https://trac.ffmpeg.org/ticket/4525#comment:2>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list