[FFmpeg-user] PTS resolution

pdr0 pdr0 at shaw.ca
Tue Feb 23 18:28:07 EET 2021


Mark Filipak (ffmpeg) wrote
> On 2021-02-23 00:41, Carl Zwanzig wrote:
> -snip-
>> If you're starting with mpeg-ps or -ts, ...
> 
> There's no such thing as PTS in mpeg-ts. The transport stream sets the SCR
> (System Clock Reference) 
> (aka TB) but the PTSs are in the presentation stream, stored as integer
> ticks of the SCR.

There is no such thing as /external/ timestamps, or container timestamps for
MPEG-TS that govern the timing. Nor are there external timestamps  any CFR
container formats such as AVI. For AVI and MPEG-TS, MPEG-PS - the content
can be VFR (using field or frame repeats), but the container is CFR only.
Each coded frame cannot have variable display times in within a GOP.  




> I've been told (at doom9.org) that MKV (which is a TS) stores PTSs but I
> find that hard to believe.

Then read the MKV documentation, section 16 "External Timestamp Files".

MKV is a container format. "TS" is usually reserved to denote for MPEG2-TS
"TS for Transport Stream" (such as .ts, .m2ts, .mts) , not so loosely as any
container stream.

FFMpeg and modern video container formats have to be able to handle VFR
without coding field or frame repeats - External timestamps are how PTS are
controlled. This is what video players use to control playback. When you
extract PTS from MKV using mkvextract or ffprobe, that's what you're getting
- an external timestamps file. When you multiplex in timestamps file with
mkvmerge, that's what you 're using - an external timestamps file. MP4, MOV,
FLV, also use this method. 











--
Sent from: http://ffmpeg-users.933282.n4.nabble.com/


More information about the ffmpeg-user mailing list