Jer*_*dge 8 delphi winapi winsock rtsp tcp-ip
我正在开发一个使用VLC Media Player插件通过RTSP传输视频/音频的项目.我想提供一个扫描网络RTSP摄像头的选项.我确信这将包括查询所有网络设备的列表,并测试端口554.所有这些我都可以照顾.但是,一旦我做到这一点,我如何通过端口554测试设备,以确保它是一个有效的RTSP相机?
我假设应该有一些东西Winsock
可以做到这一点,但我应该如何测试套接字连接并确保它是一个有效的RTSP流,我可以连接到?无论使用何种方法,我都不必尝试使用任何类型的身份验证通过RTSP连接到每个,我正在寻找一种确定端口554是否实际提供RTSP流的低级方法.
没有可靠的方法来扫描网络以获取可用的 RTSP 流。考虑以下因素,您仍然可以进行良好的搜索:
OPTIONS
RTSP 命令对于测试来说应该足够了,您可以使用交互式 RTSP 工具来查看它是如何工作的。无论如何,我们不提供任何形式的保证,因为设备可能要求您进行身份验证。无论如何,你很有机会OPTIONS
收到任何有意义的东西。DESCRIBE
可能已经要求您登录,甚至可能需要进行身份验证OPTIONS
。尽管如此,您仍会收到 RTSP 响应,该响应假定那边存在某些东西。
Connection to 192.168.0.59:554 using TCP
OPTIONS * RTSP/1.0
CSeq: 1
RTSP/1.0 401 Unauthorized
CSeq: 1
Date: Tue, Oct 16 2012 22:22:53 GMT
WWW-Authenticate: Basic realm="RTSP/RTP stream"
Run Code Online (Sandbox Code Playgroud)
要发出成功的DESCRIBE
命令并接收有意义的结果,您需要知道设备上的资源 URI,这并不总是显而易见的。更好的供应商(显然是少数)灵活地支持传入请求,其他供应商假设客户端了解特定于设备。例如,
Connection to 192.168.0.59:554 using TCP
OPTIONS * RTSP/1.0
CSeq: 1
RTSP/1.0 200 OK
CSeq: 1
Date: Tue, Oct 16 2012 22:26:54 GMT
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE
DESCRIBE rtsp://192.168.0.59/ch0_unicast_secondstream RTSP/1.0
CSeq: 2
Accept: application/sdp
RTSP/1.0 200 OK
CSeq: 2
Date: Tue, Oct 16 2012 22:27:22 GMT
Content-Base: rtsp://192.168.0.59/ch0_unicast_secondstream/
Content-Type: application/sdp
Content-Length: 506
v=0
o=- 1350426392586736 1 IN IP4 192.168.0.59
s=Session of second stream
i=Second Codec Stream
t=0 0
a=tool:LIVE555 Streaming Media v2007.08.03
a=type:broadcast
a=control:*
a=range:npt=0-
a=x-qt-text-nam:Session of second stream
a=x-qt-text-inf:Second Codec Stream
m=video 0 RTP/AVP 26
c=IN IP4 0.0.0.0
a=control:track1
m=audio 0 RTP/AVP 97
c=IN IP4 0.0.0.0
a=rtpmap:97 PCMU/16000
a=control:track2
m=metadata 0 RTP/AVP 98
c=IN IP4 0.0.0.0
a=rtpmap:98 METADATA/64000
a=control:track3
DESCRIBE rtsp://192.168.0.59 RTSP/1.0
CSeq: 3
Accept: application/sdp
RTSP/1.0 404 Stream Not Found
CSeq: 3
Date: Tue, Oct 16 2012 22:27:29 GMT
Run Code Online (Sandbox Code Playgroud)
请注意,如果不了解魔法,ch0_unicast_secondstream
您就无法从设备中获得任何有意义的东西。
归档时间: |
|
查看次数: |
14201 次 |
最近记录: |