The presentation timestamp (PTS) tells the player exactly when a decoded frame should be shown or heard, and it is the timestamp that actually drives lip-sync. Every audio and video frame in a modern container or elementary stream carries one, expressed on a common clock — 90 kHz in MPEG systems — so the player can line them up on the same timeline. PTS is distinct from the decode timestamp (DTS): for video that uses B-frames, frames are decoded in one order and presented in another, so the two differ. By comparing each stream's PTS against a shared reference, the player renders audio and video together; mismatched or drifting PTS is a classic source of sync trouble.
The book · Volume 5 of 7
Audio for Video: A Complete Guide to Sound in Video Products: From Jitter Buffers and Lip Sync to Atmos, Quality Metrics, and Neural Codecs
PTS values drive lip sync, so one wrong offset in a muxer or transcoder puts every viewer out of sync. This volume explains PTS in depth with DTS, clock domains, RTP timestamps and drift correction, so you can trace sync problems across encoders, packagers and players. Written by Nikolay Sapunov, CEO at Fora Soft.
Tracking down lip-sync errors caused by wrong PTS values in your pipeline?
Send us a problem file or stream and we will trace the PTS chain end to end and give you the exact fix for the offset. 250+ video products shipped since 2005.