IP Overhead

Top  Previous  Next

1) General

At IP-transmissions the data stream consists of

Payload (pure audio data e.g. one or more MPEG frame)
IP Overhead

 

2) IP Overhead in Bytes

The IP overhead in Byte is at :

 

2.1 UDP

46 Byte consisting of:

IEEE802.3: 18 Byte
IP: 20 Byte
UDP: 8 Byte
 

2.2 RTP

58 Byte consisting of:

IEEE802.3: 18 Byte
IP: 20 Byte
UDP: 8 Byte
RTP: 12 Byte

Note:

The RTP header is 12 Byte and not 16 Byte long since no contribution source identifiers are used.

 

2.3 MPEG TS

50 Byte consisting of:

IEEE802.3: 18 Byte
IP: 20 Byte
UDP: 8 Byte
MPEG TS Header: 4 Byte

 

3) IP Overhead percentage calculation

 

3.1 UDP

If the packet size mode is set variable then the payload is also rounded to the next full audio frame (MPEG) or audio block.

 

Here some examples for IP overhead calculation at UDP connections with variable packet size:

 

IpOverheadUDP004

 

The following diagram shows the percentaged IP overhead at

- Algorithm: MPEG L3

- Sample rate: 48 kHz
- UDP
- packet size = 180 Byte (default value)
- packet size mode: var (default value)
 

IpOverheadUDP005

 

3.2 RTP
Similar to UDP calculation but it must be considered that the size of all headers is 58 Byte instead of 46 Byte.

Example:

Algorithm: MPEG L2

Sample rate: 48 kHz

Bit rate: 256 kbit/s

Frame length = 256/48 * 144 Byte = 768 Byte

IP Overhead = ((768 Byte + 58 Byte)/768 Byte –1) * 100 % = approx. 7.6%

 

3.3 MPEG TS

Each MPEG TS packet is 188 Byte long and consist of

payload: 184 Byte
MPEG TS Header: 4 Byte

Since codec_name_arial12_001 uses MPEG TS with UDP the whole overhead of one packet is 50 Byte (see item 2.3).

3.3.1 Theoretical optimum overhead

The optimum (i.e minimum) overhead is reached if

every MPEG frame just needs one packet (and therefore the overhead just must be sent once for every frame)
frame length = 184 Byte

Then the IP overhead is calculated to:

IP Overhead = ((184 Byte + 50 Byte)/184 Byte  -1 ) * 100 % = approx. 27.2 %

3.3.2 Real overhead

Since the real MPEG frame length is usually different to 184 Byte and codec_name_arial12_001 cannot transport part of two frames in a MPEG TS frame, the real overhead is usually much bigger then the theoretically optimum one.

Example 1 (bad overhead):

Algorithm: MPEG L3

Sample rate: 48 kHz

Bit rate: 128 kbit/s

Frame length: 128/48 * 144 Byte = 384 Byte

Frame length of 384 Byte means that 3 MPEG TS packets are necessary to transport one frame. This means:

IP Overhead = ((3*(MPEG TS packet + All other overheads))/384 Byte) – 1) * 100 %

                   = ((3*(188 Bytes + 46 Byte)/384 Byte –1) + 100% = approx. 82.8%

Example 2 (good overhead):

Algorithm: MPEG L3

Sample rate: 44.1 kHz

Bit rate: 56 kbit/s

Frame length: 56/44.1 * 144 Byte = 183 Byte

Frame length of 183 Byte means that just one MPEG TS packets is necessary to transport one frame. This means:

IP Overhead = (((MPEG TS packet + All other overheads))/183 Byte) – 1) * 100 %

                   = (((188 Bytes + 46 Byte)/183 Byte –1) + 100% = approx. 27.9 %