Следует обратить внимание на то, что при использовании TCP (при условии некоторого кодирования MPEG), если пакеты задерживаются из-за проблем с сетью, видео будет зависать или задерживаться до тех пор, пока не поступят данные. Видео, по определению TCP, будет безошибочным.
С UDP, пока видео будет непрерывным, вы можете получить ошибки в видео. При использовании протокола в стиле MPEG, когда данные отправляются в форме периодических ключевых кадров, а затем между ними разлетаются дельта-кадры, если не удается прибыть UDP-пакет, содержащий разностный кадр, ваше видео станет блочным и, как правило, подверженным ошибкам как связь ухудшается. Если ключевой кадр пропущен, вы получите другие ошибки, возможно, без видео вообще.
Если то, на что указывает камера, движется и пропадание дельта-кадров может действительно испортить изображение, тогда может потребоваться протокол TCP, чтобы гарантировать, что, если вы получаете видео, оно, по крайней мере, точно. Однако, если вы указываете на что-то довольно стационарное (что, вероятно, не так, если это для видеоконференций), тогда может быть достаточно UDP, поскольку случайная потеря дельта-кадра, вероятно, не повлияет на общее качество видео.
Также обратите внимание, что если вы действительно внедряете собственное решение с нуля, то вы можете добавить код, позволяющий устранить сбои, и попытаться обработать их особым образом (например, отключить TCP-соединение, если кадры слишком сильно запаздывают) и соответственно уведомив об этом пользователя).