SDP a =控制:trackID = 2可以从客户端访问控制URL吗?

时间:2015-05-06 01:08:23

标签: youtube rtsp sdp

我试图理解RTSP如何用于访问媒体对象内的表示流。我已经下载了openRTSP,以了解YouTube(我能想到的最简单的流媒体网站)如何使用RTSP将视频流式传输到移动设备。我正在测试此视频的RTSP流:http://www.youtube.com/v/U4M5rO1Kd04?version=3&f=videos&app=youtube_gdata

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

如果我执行命令openRTSP rtsp://r5---sn-p5qlsu7r.c.youtube.m/CiILENy73wIaGQlOd0rtrDmDUxMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp那么它给了我这个:

发送请求:SETUP 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;单播; client_port = 49838-49839

等等..

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

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

1 个答案:

答案 0 :(得分:0)

您似乎已将URL概念翻转过来。 URL命名资源。不同的URL可以命名不同的东西,可能需要以不同的方式访问。

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

使用DESCRIBE的控制网址的想法不太可行。服务器必须返回一个特殊的SDP文档,只描述一个流,并为该一个流提供一个相对URL(因为您将该相对URL附加到已经是控制URL的URL)。

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

当然,您完全只能使用一个SETUP请求。您无需设置DESCRIBE响应中的所有流。

相关问题