2013-05-20 61 views
4

我正在构建一个RTSP服务器,并且正在创建两个请求/响应对象,名称分别为TRTSPRequestTRTSPResponse,与TWebRequestTWebResponse类似,但是特定于RTSP。我有一种感觉,我正在重新发明车轮,并且我可以在这里采用更简单的方式。我已经获得了400行代码来创建这个服务器,其中大部分只是解析请求标头。如何解析RTSP请求和响应头文件?

Delphi XE2/Indy 10中有什么我可以重新使用,可以为我解析RTSP标头?或者我坚持不得不自己解析它?

由于RTSP与HTTP非常相似,我可以使用HTTP请求/响应对象吗?或者它会被RTSP结构困惑吗?

例如,我可以使用IdHTTPHeaderInfo.pas并将其全部调整为RTSP并称之为IdRTSPHeaderInfo.pas

根据RFC 2326 ...

容易解析: RTSP可以通过标准的HTTP或MIME解析器解析。

HTTP友好: 哪里懂事,RTSP重用了HTTP概念,使 现有的基础设施可以重复使用。该基础设施 包括用于将标签与内容相关联的PICS(互联网内容选择平台 [15,16]))。但是,RTSP 不仅仅向HTTP添加方法,因为在大多数情况下,控制 连续媒体需要服务器状态。

那么我该怎么做?

回答

4

在这一点上,我只能建议有用的文档&库,

看看LIVE555 Streaming Media C++ Libraries,其中包括完整的源代码,并就如何正确地实现/建立基本的RTSP客户端和服务器的例子,这是没有疑义一个很少有网站提供有关RTSP标准的重要信息。

不幸的是,这一切都是在C++中进行的,但它不应该阻止您检查他们难以置信的文档代码以及从客户端和服务器之间的RTSP通信的最基本原理到更高级案例的例子。

另一种方式可能是操纵openRTSP命令行程序,以使您可以在Delphi应用程序中使用它。

上来看,它似乎并没有有任何简单的方法去了解这一点,如果不是所有的Delphi包装/这样的流媒体库的翻译是不是免费的,是相当昂贵的

好运。

+0

不幸的是,这个答案并不涉及Delphi/RAD Studio XE2中的任何现有库 –