Быстрый протокол без лишних накладных расходов, что отличает его от протоколов, основанных на TCP. Цена этой быстроты и легкости такова, что доставка данных не гарантируется, часть пакетов может пропадать.
К сожалению, из-за характера работы кодеков -- наличия I и P кадров, потеря даже небольшой части информации может привести к проблемам. Напомню, что I-кадр -- ключевой, и содержит целую картинку. А P-кадр, промежуточный, и содержит только изменившуюся информацию относительно предыдущего кадра.
Достаточно потерять один P-кадр, и все последующие P-кадры будут интерпретированы неправильно. Например, на видео голова человека поворачивается, а его уши остаются на месте. А если будет потерян I-кадр, то промежуток до следующего I-кадра заполнить нечем. Тогда видео замирает на последнем известном кадре.
UDP сейчас используется в VoIP (IP телефония). Но там делаются надстройки над UDP для определения и ретрансляции потерянных пакетов. По сути повторно изобретается то, что уже есть в TCP, и преимущество над TCP теряется.
Вообще-то это транспортный контейнер. Но он разработан так, чтобы работать без TCP/IP сетей, и поэтому содержит в себе и все функции протокола передачи данных. Из-за этого он очень сложен и избыточен.
Используется для спутникового телевидения и IP-телевидения.
Назначение ясно из названия, но сейчас он вытесняется протоколом RTMP. Однако он используется для передачи видео на мобильники, чего RTMP не умеет.
Comments
Владимир (not verified)
Wed, 03/23/2011 - 15:53
Permalink
> По сути повторно
> По сути повторно изобретается то, что уже есть в TCP, и преимущество над TCP теряется.
Немного неправильно. TCP всегда пытается доставить потерянные данные, даже когда приложению они уже не нужны. В случае с UDP у приложения есть выбор.
Add new comment