The main purpose of timestamps in RTP video streams is to assist in smooth playback of the decoded video frames on the receiving end. It is possible to stream video without timestamps, but then the receiver must either display the frames as they come, which could introduce jitter, or guess at the framerate to generate a smooth stream. Proper timestamps eliminate this jitter and guesswork. Video timestamps in RTP are based on a 90Khz clock. This frequency was selected because it divides well into common video framerates (such as 60 fps).
In streaming video, one timestamp is assigned to each frame. The timestamp difference for successive frames should correspond to the framerate. For example, at 60fps the timestamp would increment by 1500 for each frame. For streaming video, the encoded bits for a frame may not all fit into one RTP packet. If the frame is split between many RTP packets, then all RTP packets containing that frame have the same timestamp. The sequence number will still increment for each RTP packet as usual. The timestamp for the first frame is arbitrary, and should be random. If multiple RTP streams need to be synchronized, then RTCP may be used to map the timestamps for each stream to the actual time.
- Video Design Notes
- Analog TV Demodulation
- Backend Video Processing
- Video Codecs
- Video Reference Designs
VOCAL’s optimized Video Streaming software is available for the following platforms. Please contact us for specific Video Streaming supported platforms.