当前位置 : 主页 > 编程语言 > delphi >

delphi – 如何解析RTSP请求和响应头?

来源:互联网 收集:自由互联 发布时间:2021-06-23
我正在构建一个RTSP服务器,我正在创建两个名为TRTSPRequest和TRTSPResponse的请求/响应对象,类似于TWebRequest和TWebResponse,但特定于RTSP.我有一种感觉,我正在重新发明轮子,我可以在这里采取更容
我正在构建一个RTSP服务器,我正在创建两个名为TRTSPRequest和TRTSPResponse的请求/响应对象,类似于TWebRequest和TWebResponse,但特定于RTSP.我有一种感觉,我正在重新发明轮子,我可以在这里采取更容易的路径.我已经获得了400行代码来创建这个服务器,其中大部分只是解析请求头.

Delphi XE2 / Indy 10中有什么东西可以重用,可以为我解析RTSP头吗?或者我不得不自己解析它?

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

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

根据RFC 2326 ……

Easy to parse:
RTSP can be parsed by standard HTTP or MIME parsers.

HTTP-friendly:
Where sensible, RTSP reuses HTTP concepts, so that the
existing infrastructure can be reused. This infrastructure
includes PICS (Platform for Internet Content Selection
[15,16]) for associating labels with content. However, RTSP
does not just add methods to HTTP since the controlling
continuous media requires server state in most cases.

那我该怎么做呢?

在这一点上,我只能建议有用的文档和图书馆,

看一下LIVE555 Streaming Media C++ Libraries,其中包括完整的源代码和如何正确实现/构建基本RTSP客户端和服务器的示例,毫无疑问,这是为数不多的能够提供有关RTSP标准的有价值信息的网站之一.

不幸的是,这一切都在C中,但它不应该阻止您查看其令人难以置信的文档编码以及从客户端和服务器之间的RTSP通信的最基本原理到更高级的案例的示例.

另一种方法可能是以允许您将其与Delphi应用程序一起使用的方式操作openRTSP命令行程序.

关于这一点,似乎没有任何简单的方法可以解决这个问题,大多数情况下,如果不是所有的Delphi封装/翻译这样的流媒体库都不是免费的,而且非常昂贵

祝你好运.

网友评论