[FFmpeg-trac] #5837(undetermined:new): Audio descriptors for Transport Stream

FFmpeg trac at avcodec.org
Fri Sep 9 21:36:21 EEST 2016

#5837: Audio descriptors for Transport Stream
             Reporter:  mboufleur    |                     Type:
               Status:  new          |  enhancement
            Component:               |                 Priority:  normal
  undetermined                       |                  Version:  git-
             Keywords:  transport    |  master
  stream ts audio descriptor         |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
 Current ffmpeg multiplexing using "-f mpegts" does not create audio
 descriptors for AC3 audio.

 Original stdout for some transport stream content with descriptors are
 shown like this:
 Stream #0:1[0x1e2](por): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo,
 fltp, 448 kb/s

 After remultiplexing the same content through ffmpeg using this command
 $ffmpeg -i INPUT.ts -map 0:0 -map 0:1 -map 0:2 -c:v copy -c:a copy -f
 mpegts OUTPUT.ts

 ffmpeg outputs the audio in transport stream container, and is then again
 read by ffmpeg as this:
 Stream #0:1[0x101](por): Audio: ac3 ([129][0][0][0] / 0x0081), 48000Hz,
 stereo, fltp, 448 kb/s

 The original descriptors for audio are lost during re-multiplex. The
 original descriptors are identified by "(AC-3 / 0x332D4341)" information.

 When using the option "-mpegts_flags +system_b", ffmpeg outputs the TS
 file with the following audio characteristics:
 Stream #0:1[0x101](por): Audio: ac3 ([6][0][0][0] / 0x0006), 48000Hz,
 stereo, fltp, 448 kb/s

 This last option does seem to change stream type from 0x81 to 0x6 in order
 to comply with DVB standards and also creates an AC3 Descriptor (with
 value 0x6A) for the audio.

 There are however cases when it would still be interesting to maintain
 ATSC standards, and apply audio descriptors in the final content.

 The original content above has a Registration Descriptor (0x05) with the
 value of 0x41432D33 that is the format identifier of AC-3, and an ATSC
 AC-3 Descriptor (0x81) - which is within the (0x81) stream type.

 There is a more complete information available on ffmpeg-user list, in the
 following link, with more detailed description of the original and
 resulting remultiplexed files using a transport stream analyser software.

Ticket URL: <https://trac.ffmpeg.org/ticket/5837>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker

More information about the FFmpeg-trac mailing list