Пытаюсь написать свой микро-RTSP-сервер.
Столкнулся с проблемой, что ffplay и mpv игнорируют SDP, которым отвечает RTSP-сервер.
- ffplay или mpv запрашивают
OPTIONS, сервер отвечаетOK. - ffplay или mpv запрашивают
DESCRIBEиContent-Type: application/sdp, сервер отвечаетOKи отправляет минимальный SDP:
v=0
o=- 0 0 IN IP4 0.0.0.0
s=myrtsp
c=IN IP4 0.0.0.0
t=0 0
m=video 9000 UDP 97
- ffplay или mpv шлют
SETUPсTransport: RTP/AVP/UDP;unicast;client_port=<port>-<port+1>илиTransport: RTP/AVP/TCP;unicast;interleaved=0-1, соответственно. Если ответитьOKуказав тот же транспорт, далее ffplay и mpv скажутPLAY…
Но на шаге 2 я же отправил SDP, в котором указано, что я хочу бомбить порт 9000 голыми UDP пакетами!
- Сервер может как-то ответить в духе: «Не, не, никакого
SETUP, давай по SDP работай!»? - При запуске ffplay или mpv есть какой-то секретный флажок, чтобы он отработал SDP полученный от RTSP-сервера?
