[Libav-user] PTS and HE-AAC in ffmpeg

Lars Petter Mostad larspm at gmail.com
Tue Oct 18 17:27:44 EEST 2016


My question is about AV sync when transporting HE-AAC over MPEG TS,
and how this is handled in ffmpeg.

A presentation time stamp (PTS) specifies the presentation time of the
first sample in its associated frame.

With HE-AAC, does this mean the first of the 1024 samples received
from the core AAC decoder, or the first of the 2048 samples received
from the SBR filter bank?

HE-AAC should be backwards compatible. An AAC-only decoder that does
not know about HE can't compensate for the SBR filter bank delay. The
only way for lip sync to be correct for all decoders, is to let the
PTS refer to the first sample of the core codec, and have HE-AAC
decoders adjust the PTS when decoding SBR.

SBR decoding delay is 962 samples, which is about 20 ms @48kHz.

For MPEG-4 systems, Part 24 specifies to do it this way. I'm not aware
of a similar spec for MPEG TS. How is this handled in ffmpeg?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20161018/fee7f822/attachment.html>

More information about the Libav-user mailing list