что происходит, когда пакет RTCP теряется?

Я новичок в протоколе RTP / RTCP, и я слышал, что RTCP будет периодически отправляться между пакетами RTP для некоторой диагностической цели. Предположим, что если пакет RTP потерян, его можно идентифицировать по порядковому номеру и через отчеты в пакете RTCP. Но что произойдет, если сам пакет RTCP будет потерян? Давайте возьмем пример формата «BYE» (который указывает на окончание участия).


person Techky    schedule 12.03.2015    source источник
comment
мы обнаружили, что качество видео стало довольно плохим, когда пакеты RTCP были отброшены   -  person Alex Punnen    schedule 12.06.2018


Ответы (1)


Во время сеанса RTP база данных SSRC (получатели и отправители имеют свои собственные SSRC) создается и поддерживается путем получения отчетов RTCP (отчетов как отправителя, так и получателя).

Таким образом, в случае сброшенных отчетов RTCP может произойти ряд вещей в зависимости от того, почему произошло сбрасывание:

  1. Источник покидает сеанс RTP, и его пакет BYE RTCP отбрасывается. Поскольку источник покинул сеанс, время ожидания истекло, поскольку он больше не отправляет отчеты RTCP и удален из базы данных участников.
  2. Источник отключается от сети и больше не отправляет отчеты RTCP. Время ожидания источника истекает, и он удаляется из базы данных участников.
  3. Один отчет RTCP удален. Этого недостаточно для тайм-аута источника, и обработка RTCP возобновится при следующем полученном отчете. Отчеты об отправителе просто включают монотонно увеличивающиеся поля данных, поэтому отбрасывание просто означает, что после периода отбрасывания будет получено более грубое обновление. Отчеты-получатели содержат как монотонно увеличивающиеся поля, так и поля, ссылающиеся на последний отчет. Если произойдет удаление, содержащее отчет получателя, те поля, которые содержат данные, относящиеся к последнему отчету, будут потеряны, поскольку они существуют только для этого экземпляра отчета.
person Joel Cunningham    schedule 25.03.2015