我刚刚购买了Micronet SP5319 HD IP摄像机,并且文档中没有有关流路径的信息。我只找到了rtsp:// ip / mpeg4之类的东西,但最终却无法正常工作。我尝试了许多不同的客户端(例如VLC和QuickTime)的许多不同路径。没有成功。
我对流进行了线束处理,看起来像:
OPTIONS rtsp://192.168.1.90:554/h264 RTSP/1.0
CSeq: 2
User-Agent: LibVLC/2.0.4 (LIVE555 Streaming Media v2012.09.13)
RTSP/1.0 200 OK
CSeq: 2
Date: Tue, Dec 04 2012 01:12:36 GMT
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER
DESCRIBE rtsp://192.168.1.90:554/h264 RTSP/1.0
CSeq: 3
User-Agent: LibVLC/2.0.4 (LIVE555 Streaming Media v2012.09.13)
Accept: application/sdp
RTSP/1.0 404 Stream Not Found
CSeq: 3
Date: Tue, Dec 04 2012 01:12:36 GMT
查看最后一个响应:未找到流。最后,如何获得可用流的列表?我应该使用哪个软件?我也尝试了ONVIF,但没有成功。
最诚挚的问候,
此相机有可能在SDK上运行。但是您可以尝试执行以下操作:
http://yummy.micronet.tw/marcom/enews/071312/071312.htm-在这里我可以看到相机支持ONVIF,因此它必须支持RTSPhttp://yummy.micronet.tw/marcom/enews/point/SP5319-catalog.pdf-我也可以看到支持的协议-包括RTSP。
因此,如果Web界面对您没有帮助,则可以通过ONVIF测试工具测试相机,并在此处找到RTSP地址。
并且请检查Web界面中的RTSP端口-确实是554吗?
有同样的问题,阅读了大量博客后,我发现了一些有趣的资源:
1] Here对于某些品牌,有大量的rstp已知URL。不幸的是,我的名字并不存在(如果您想知道,这个品牌就是kolke ...)
2] This table显示其他相机型号的不同URL。我尝试了其中几个,但均未成功。使用VLC进行操作非常耗时,因为我必须逐个编写代码,所以我编写了一个小python脚本来使用opencv对其进行测试,并在jupyter笔记本上运行它:
import cv2
# need to know those before hand. I got IP with Nmap
usr = 'myuser'
pwd = 'mypassword'
ip = '192.168.1.1'
# I took the url patterns and also included some variations, just to be sure...
urls = [f'rtsp://{usr}:{pwd}@{ip}:554/cam/realmonitor?channel=1&subtype=0',
f'rtsp://{ip}:554/live=2.2&username={usr}&password={pwd}',
f'rtsp://{usr}:{pwd}@{ip}:554/1',
f'rtsp://{usr}:{pwd}@{ip}:554/stream1',
f'rtsp://{usr}:{pwd}@{ip}:554/Stream1',
f'rtsp://{ip}:554/user={usr}&password={pwd}&channel=1&stream=0.sdp?',
f'rtsp://{ip}:554/user={usr}&password={pwd}&channel=1&stream=0.sdp',
f'rtsp://{ip}:554/videostream.asf?user={usr}&pwd={pwd}',
f'rtsp://{ip}:554/ucast/11',
f'rtsp://{ip}:554/11',
f'rtsp://{ip}:554/12',
f'rtsp://{ip}:554/live0.264',
f'rtsp://{ip}:554/mpeg4cif',
f'rtsp://{ip}:554/user={usr}&password={pwd}&channel=1&stream=0.sdp?',
f'rtsp://{ip}:554/user={usr}&password={pwd}&channel=1&stream=0.sdp',
f'rtsp://{ip}:554/live1.264',
f'rtsp://{ip}:554/cam1/h264',
f'rtsp://{ip}:554/mpeg4cif',
f'rtsp://{ip}:554/ucast/11',
f'rtsp://{ip}:554/ROH/channel/11',
f'rtsp://{ip}:554/user={usr}_password={pwd}_channel=1_stream=0.sdp',
f'rtsp://{ip}:554/user={usr}&password={pwd}&channel=1&stream=0.sdp?',
f'rtsp://{ip}:554/user={usr}_password={pwd}_channel=1_stream=0.sdp',
f'rtsp://{ip}:554/user={usr}_password={pwd}_channel=1_stream=0.sdp?',
f'rtsp://{ip}:554/cam1/mpeg4?user={usr}&pwd={pwd}',
f'rtsp://{ip}:554/h264_stream',
f'rtsp://{ip}:554/live/ch0',
f'rtsp://{ip}:554/live/ch1',
f'rtsp://{ip}:554/user={usr}&password={pwd}&channel=1&stream=0.sdp?',
f'rtsp://{ip}:554/user={usr}&password={pwd}&channel=1&stream=1.sdp?',
f'rtsp://{ip}:554/user={usr}&password={pwd}&channel=0&stream=1.sdp?',
f'rtsp://{ip}:554/user={usr}&password={pwd}&channel=0&stream=0.sdp?',
f'rtsp://{ip}:554/user={usr}&password={pwd}&channel=1&stream=0.sdp',
f'rtsp://{ip}:554/user={usr}&password={pwd}&channel=1&stream=1.sdp',
f'rtsp://{ip}:554/user={usr}&password={pwd}&channel=0&stream=1.sdp',
f'rtsp://{ip}:554/user={usr}&password={pwd}&channel=0&stream=0.sdp',
f'rtsp://{usr}:{pwd}@{ip}:554/ucast/11',
f'rtsp://{usr}:{pwd}@{ip}:554/11',
f'rtsp://{usr}:{pwd}@{ip}:554/12',
f'rtsp://{usr}:{pwd}@{ip}:554/live0.264',
f'rtsp://{usr}:{pwd}@{ip}:554/mpeg4cif',
f'rtsp://{usr}:{pwd}@{ip}:554/live1.264',
f'rtsp://{usr}:{pwd}@{ip}:554/cam1/h264',
f'rtsp://{usr}:{pwd}@{ip}:554/mpeg4cif',
f'rtsp://{usr}:{pwd}@{ip}:554/ucast/11',
f'rtsp://{usr}:{pwd}@{ip}:554/ROH/channel/11',
f'rtsp://{usr}:{pwd}@{ip}:554/h264_stream',
f'rtsp://{usr}:{pwd}@{ip}:554/live/ch0',
f'rtsp://{usr}:{pwd}@{ip}:554/live/ch1',
]
def test_url(url):
# try to open the stream
cap = cv2.VideoCapture(url)
ret = cap.isOpened() # if it was succesfully opened, that's the URL you need
cap.release()
return ret
# then you just need to check those URLs
for url in urls:
if test_url(url):
print(url)
然后我得到了一直在寻找的东西:
rtsp://192.168.1.1:554/user=myuser&password=mypassword&channel=1&stream=0.sdp?
希望有帮助!