通过URL验证RTSP服务

5 投票
4 回答
5051 浏览
提问于 2025-04-15 18:55

我正在尝试用Python检查一个网址是否提供视频服务。我想问问有没有人知道哪些好用的库,或者有什么方法可以做到这一点。我在网上没有找到太多相关的信息。

谢谢!

4 个回答

1

如果你想检查一个URL是否是有效的RTSP URL,其实只需要把协议部分从 http:// 改成 rtsp:// 或者 rtspu://。另外,默认的端口也不再是80,而是554。

想了解更多关于URL格式的细节,可以查看 RTSP RFC 的第3.2节(“RTSP URL”)。

不过,如果你想知道某个RTSP URL后面是否有一个正在运行的RTSP服务器,你实际上需要去连接这个服务器,通常是通过TCP套接字来实现。你可以通过代码来进行这个“对话”,但我建议你使用一些提供RTSP功能的产品或库来帮助你在Python中实现;我不确定Python是否有这样的产品,但C/C++中有一些相关的东西。

3

如果你不想使用库,正如synack所建议的,你可以直接打开一个套接字连接到指定的URL,然后发送一个RTSP DESCRIBE请求。其实这很简单,因为RTSP的格式和HTTP类似,都是基于文本的。你需要解析一下返回的结果,以获取有用的信息,比如查看是否有媒体流的存在。

4

在StackOverflow上浏览时,我发现之前有个问题在问有没有适用于Python或C/C++的RTSP库

在那篇帖子里,有一个Twisted提供的RTSP库,还有一个叫Live555的库。你试过这两个库吗?

我只是为了方便大家,把这些链接重新发一下。

撰写回答