#udp #rtsp #rfc
#udp #rtsp #rfc
Вопрос:
Хотя я еще не видел проигрыватель с поддержкой RTSP, который использует UDP для канала управления RTSP, RFC2326 допускает использование UDP. Однако в нем не указано, как клиент должен сообщать серверу, куда отправлять ответы RTSP. Существует ли какое-либо установленное соглашение для этого, или мне придется его придумать?
Ответ №1:
Не тот ответ, который вы хотите услышать, но вам действительно это нужно? Как вы сказали, я не видел там ни игроков, ни серверов. С сайта Мартина Стимерлинга, одного из авторов проекта RTSP 2:
В этом меморандуме описывается использование RTSP по протоколу транспортного уровня, основанному на надежном соединении, такому как TCP. RTSP может быть реализован через ненадежный транспортный протокол без установления соединения, такой как UDP. Хотя ничто в RTSP не исключает этого, дополнительное определение этой проблемной области необходимо обработать как расширение к базовой спецификации.
Механизмы работы RTSP поверх UDP были исключены из этой спецификации. потому что они были плохо определены в [RFC2326], и компромисс в размере и сложности этого меморандума ради небольшого выигрыша в ограниченном пространстве задач не был признан оправданным.
К вашему сведению, последняя версия проекта RTSP 2 доступна здесь.
Комментарии:
1. Я изучал возможность перезаписи RTSP / RTP-сервера, чтобы он обрабатывал такие вещи, как непостоянный TCP и видео поверх простых фреймов MAC, поэтому казалось логичным также взглянуть на RTSP / UDP.
2. Хорошо, я думаю, в этом случае лучшее место, где можно спросить совета, — это на ietf.org/mailman/listinfo/mmusic . Прямо из первых уст…
Ответ №2:
Ну, есть порт по умолчанию: 554. Но, если вы не можете его использовать, тогда да, вам придется создать свое собственное соглашение.
Если вы углубитесь в эту проблему, вы также столкнетесь с проблемой обхода NAT, которая подразумевает, что 554 может быть переведен в любой другой номер порта с помощью NATs. Это другая проблема, не охватываемая этим RFC, но она реальна, и вам понадобится решение, если вы работаете с ipv4.