Обработка потерь RTP-пакетов

Я пишу программу буфера дрожания в c для обработки пакетов rtp. Здесь RTP использует UDP для транспортировки, поэтому соединение ненадежно и пакеты не будут в порядке, а также будут некоторые потери пакетов. В случае изменения порядка пакетов, я организует их через порядковый номер (в информации заголовка RTP), но как я могу обработать или компенсировать потерю пакета?(потому что потеря пакета не в моей руке)

Примечание: я обрабатываю h264 как полезную нагрузку, и они попросили меня использовать только заголовок RTP

1 ответ

Ты не можешь Если не считать фабрикации потерянных данных, вы ничего не можете сделать.

Надеемся, что фактическое кодирование, используемое в пакетах RTP, может помочь получателю немного лучше справиться с потерей пакетов. Если не считать того, что вы декодируете полезную нагрузку RTP и действуете в качестве кодека для полезной нагрузки, вы ничего не сможете сделать, если кодек не сделает этого.

С H.264 каждый пакет RTP будет содержать либо весь блок NAL, фрагмент блока NAL или, возможно, несколько блоков NAL. Кодек H.264 будет просто ожидать, что будет подан поток блоков NAL, и ИТ-специалисты будут знать, что делать в случае потери пакетов.

Короче говоря, как и другие говорили это, вы не можете.

Если пакеты теряются случайным образом после равномерного распределения, вы можете защитить свой поток, добавив к нему FEC.

Другие вопросы по тегам