发往错误端口的RTSP/RTP命令是否应被服务器正常处理?
结论
你的判断完全符合RTSP协议规范与行业通用实现逻辑,该客户端行为确实属于不合规。
协议层面的明确要求
根据RFC 2326(RTSP 1.0官方规范)定义,RTSP会话与建立会话时的目标端口强绑定,客户端必须严格将属于某一会话的所有请求发送到会话建立时对应的目标端口,不存在跨端口发送会话请求的合理性:
- RTSP的Session ID仅在单个RTSP服务实例的上下文内有效,不同端口通常对应独立的RTSP服务实例,跨实例查询Session ID不属于协议要求的服务端必备能力。
行业实现的通用逻辑
- 目前所有主流开源、商用RTSP服务端实现(包括live555、Wowza、ZLMediaKit等)均默认将不同端口的RTSP服务作为独立实例运行,Session存储空间完全隔离,不会额外实现跨端口的会话路由逻辑。
- 要求服务端实现跨端口会话查询会额外带来不必要的性能开销、Session ID冲突风险,完全不属于业界预期的合理实现范畴,服务端返回
Stream Not Found属于完全合理的正常响应。
客户端问题的明确性
客户端同时拉取rtsp://<ip_address>:554/0和rtsp://<ip_address>:8554/1两路流时,必须维护「Session ID-目标端口-流标识」的绑定关系,跨端口串发会话请求属于明确的客户端逻辑缺陷。
内容的提问来源于stack exchange,提问作者John U
相关产品推荐
相关产品推荐

