[FFmpeg-devel] [PATCH] avformat/mpegtsenc: add flag to embed an AC-3/E-AC-3 ES the DVB way
basic.master at gmx.de
Sun Dec 13 15:23:22 CET 2015
Am 13.12.2015 um 14:18 schrieb Moritz Barsnick:
> On Sun, Dec 13, 2015 at 11:54:32 +0100, Stefan Pöschel wrote:
>> So far an AC-3 elementary stream is refered to in the PMT according to
>> System A (ATSC). An E-AC-3 ES in contrast is embedded the System B (DVB) way.
> Interesting, that's apparently the reason why my (DVB-)PVR didn't ever
> recognize AC-3 in MPEG-TS. See
> E-AC-3 in MPEG-TS seems to have worked (I just tried it - successfully
> - for the first time), I didn't realize that.
> With your patch, I can now successfully play AC-3 and E-AC-3 with that
> player, when using the "-mpegts_flags system_b" (and kill this
> capability when not using it).
I've had the same problem which was the motivation to take a look into it.
>> To fix this inconsistency, this commit changes the default E-AC-3 behaviour to
>> use the ATSC way, too. Furthermore a new flag is added to optionally select the
>> DVB way (regarding both codecs and possible further differences in the future).
> I never found the patch mentioned in the thread, and don't know enough
> about the differences myself.
There is a bug report of libav regarding this problem, together with a
patch from 2011 which just changes the AC-3 signalling from ATSC to DVB:
Yesterday I therefore posted a patch to libav-devel (similar to this one
for FFmpeg-devel) for switching between ATSC and DVB:
More information about the ffmpeg-devel