AT-OMNI-111 / AT-OMNI-112
51
Appendix
FEC Details
Matrix Size, Overhead, and Latency
FEC and Video Bitrate
• FEC can only work if a single packets from each row/column are missing. Multiple packets missing from each
row/column will cause FEC to fail.
•
Due to the above, a smaller matrix is more robust, as there is a better chance of errors not occurring in the same
row/column.
•
FEC has a bitrate overhead that is inversely proportional to the matrix size: the bigger the matrix, the less bitrate
overhead is generated.
•
FEC has a latency overhead that is directly proportional to the matrix size: the bigger the matrix, the more
latency is introduced.
»
As of v1.0.0, OmniStream does not explicitly synchronize audio and video. Therefore, FEC configuration can
have a noticeable impact on lip sync. The tables below should be used to keep the audio/video lip sync as
tight as possible.
•
FEC latency overhead is also inversely proportional to bitrate: the higher the bitrate, the less FEC latency is
introduced.
»
For applications where lip sync is very critical, using a higher audio sampling rate, and thus a higher audio
bitrate, can result in more accurate lip sync.
•
The bitrate configured on the video encoder includes FEC overhead and will automatically adjust itself depending
on the bitrate needed for FEC.
•
FEC overhead can be calculated using the following formulas:
•
The following table provides a few examples of how this works.
Video rate =
Configured bit rate
1 +
Rows + Columns
Rows x Columns
FEC rate = Configured bit rate - Video rate
FEC / matrix usage
Configured bit rate
Used for video
Used for FEC
FEC disabled
900 Mbps
900 Mbps
0 Mbps
FEC enabled, 4x4
900 Mbps
600 Mbps
300 Mbps
FEC enabled, 10x10
900 Mbps
750 Mbps
150 Mbps
FEC enabled, 20x20
900 Mbps
818 Mbps
82 Mbps
FEC enabled, 4x4
450 Mbps
300 Mbps
150 Mbps
FEC enabled, 10x10
450 Mbps
375 Mbps
75 Mbps
FEC enabled, 20x20
450 Mbps
409 Mbps
41 Mbps