Youtube SDP a=control:trackID=2是否可以从客户端访问控件URL?

Youtube SDP a=control:trackID=2是否可以从客户端访问控件URL?,youtube,rtsp,sdp,Youtube,Rtsp,Sdp,我试图理解RTSP是如何访问媒体对象内部的表示流的。我下载了openRTSP,以了解YouTube(我能想到的最简单的流媒体网站)如何与RTSP一起将视频流到移动设备上。我正在测试此视频的RTSP流: 关联的RTSP链路是:rtsp://r5---sn-p5qlsu7r.c.youtube.com/CiILENy73wIaGQlOd0rtrDmDUxMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp 如果我执行命令openRTSPrtsp://r5---sn-p5qls

我试图理解RTSP是如何访问媒体对象内部的表示流的。我下载了openRTSP,以了解YouTube(我能想到的最简单的流媒体网站)如何与RTSP一起将视频流到移动设备上。我正在测试此视频的RTSP流:

关联的RTSP链路是:rtsp://r5---sn-p5qlsu7r.c.youtube.com/CiILENy73wIaGQlOd0rtrDmDUxMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp

如果我执行命令openRTSPrtsp://r5---sn-p5qlsu7r.c.youtube.m/CiILENy73wIaGQlOd0rtrDmDUxMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp 然后它给了我这个:

发送请求:安装程序rtsp://r5---sn-p5qlsu7r.c.youtube.com/CiILENy73wIaGQlOd0rtrDmDUxMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp/trackID=2 RTSP/1.0 CSeq:4 用户代理:openRTSP(LIVE555流媒体v2015.04.22) 运输:RTP/AVP;单播;客户端端口=49838-49839

等等

我想知道如何/是否可以访问SDP向我报告的RTSP链接的控制URL。我可以看到安装程序直接要求rtsp:///trackID=2,但是如果我试图连接到同一个URL,我会收到一个错误的请求


基本上,我知道媒体对象中有两个表示流——一个用于音频,一个用于视频——因为我可以清楚地看到openRTSP请求这两个流来获取媒体对象的两个方面,但我似乎无法手动请求各个表示流。我怎么可能只请求媒体部分的a=control:aspects而不是会话a=control:(哪个是基本URL)?我很难提出要求rtsp://r5---sn-p5qlsu7r.c.youtube.com/CiILENy73wIaGQlOd0rtrDmDUxMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp/trackID=2 那么,从客户端访问特定的控制URL是不可能的吗?或者我只是没有得到请求的正确形状?

您似乎已经改变了URL的概念。URL命名资源。不同的URL可以命名不同的内容,可能需要以不同的方式访问

在这种情况下,基本URL恰好引用了两个流。它用于RTSP
description
。这个SDP描述是如何知道有两个流,以及它们的URL是什么

描述
使用控件URL的想法不太可能奏效。服务器必须返回一个特殊的SDP文档,只描述一个流,并为该流提供一个空的相对URL(就像您将该相对URL附加到已经是控制URL的内容一样)

考虑一个简单但有效的RTSP安全摄像头。因为它只有实时音频和视频,所以它可以有一个静态SDP文件,用于请求您的响应。此文件可以与单个硬编码SDP URL匹配。您必须在
描述
请求中使用该准确的URL


当然,您完全可以只使用一个
设置
请求。没有要求您从描述响应中设置所有流。

这篇文章很难修复。您可以手动完成,但您必须遵循RTSP协议(rfc 2326),就像整个命令序列一样:描述、设置、播放,然后准备通过RTP获取流并发送RTCP数据包