RTP Packet Rate Calculator – Bandwidth and Overhead for Streaming
The RTP Packet Rate Calculator helps engineers, developers, and network architects compute the exact number of packets per second (PPS) and total bandwidth consumed by real-time audio and video streams over IP networks. It accounts for the full protocol stack — RTP, UDP, IP, and optional Ethernet framing — so you can size links, plan capacity, and diagnose overhead issues with precision.
What Is RTP and Why Does Packet Rate Matter?
RTP (Real-time Transport Protocol, RFC 3550) is the standard transport for audio and video over IP. It runs over UDP and adds a 12-byte header carrying sequence numbers, timestamps, and synchronisation source (SSRC) identifiers. RTP is used in WebRTC, SIP, RTSP, live-streaming pipelines, and conferencing systems.
Packet rate matters for two reasons. First, total PPS determines the forwarding load on routers and switches — a device can run out of packets-per-second capacity long before saturating raw bandwidth. Second, protocol headers add overhead to every packet; for low-bitrate audio codecs this overhead can exceed the payload, dramatically increasing the real bandwidth requirement.
How Packet Rate Is Calculated
The tool derives PPS from two inputs: the codec bitrate and the frame (packetization) interval.
- Payload bytes per packet =
(bitrate_bps ÷ 8) × (frame_ms ÷ 1000) - PPS per stream =
1000 ÷ frame_ms(or multiplied by fragment count when MTU fragmentation is enabled) - Wire bytes per packet = payload + RTP (12 B) + UDP (8 B) + IP (20 B IPv4 / 40 B IPv6) + optional Ethernet (46 B)
- Total bandwidth = wire bytes × 8 × PPS × number of streams
The overhead percentage shows how much of the total wire bandwidth is consumed by protocol headers rather than useful media content.
Supported Codecs
The calculator includes common audio and video codecs with their typical bitrates and default frame intervals:
- Audio: Opus (48 kbps and 128 kbps), AAC (128 / 256 kbps), G.711u (64 kbps), G.729 (8 kbps).
- Video: H.264 (500 kbps SD, 2 Mbps HD 720p, 4 Mbps HD 1080p), H.265/HEVC (1.5 Mbps), VP8 (1 Mbps), VP9 (2 Mbps), AV1 (1.5 Mbps).
- Custom: Enter any bitrate and frame interval for non-listed codecs or proprietary streams.
Selecting a preset codec automatically populates the bitrate and frame interval fields with typical values; you can override either field.
MTU Fragmentation
On standard Ethernet paths with a 1500-byte MTU, a large video frame may exceed the maximum allowed RTP payload size. Enter a Max RTP Payload value (for example 1452 bytes for IPv4 over Ethernet) to simulate fragmentation. The calculator splits the frame into multiple RTP packets and recalculates PPS and bandwidth to reflect the true forwarding load — which can be significantly higher than the unfragmented estimate.
IPv4 vs IPv6 Impact
IPv6 headers are 40 bytes versus 20 bytes for IPv4, adding 20 extra bytes per packet. For high-PPS audio streams (e.g. 50 pps per stream), this adds 20 × 50 × 8 = 8 kbps per stream in additional overhead — a negligible amount for high-bitrate video but meaningful when sizing a large number of low-bitrate audio channels.
RTP Timestamp Increment
The results include the RTP timestamp increment per packet. This is the number of clock ticks the RTP timestamp advances between consecutive packets, computed as clock_rate × (frame_ms ÷ 1000). For video codecs using a 90 kHz clock and 33 ms frames (30 fps), the increment is 2970. This value is required when manually crafting RTP streams or debugging timestamp drift in streaming pipelines.
Practical Uses
- Link sizing: calculate the bandwidth budget for a given number of simultaneous video conferencing sessions.
- Router capacity planning: confirm that PPS requirements are within the forwarding engine limits of edge or core routers.
- Codec selection: use the Codec Comparison tab to compare overhead percentage and total bandwidth across all supported codecs at once.
- MTU optimisation: identify whether fragmentation is causing a PPS spike on constrained paths and determine the optimal maximum payload size.