我遇到了同样的问题,阅读了大量博客后,发现了一些有趣的资源:
1) 这里 有一个巨大的列表,列出了某些品牌已知的rstp URL。不幸的是,我的品牌kolke没有在列表中...
2) 这个表格 显示了其他摄像头型号的不同URL。我尝试了其中几个,但都没有成功。使用VLC进行测试很耗时间,因为我必须一个一个地编写,所以我编写了一个小型的Python脚本,在jupyter笔记本上测试每个URL。
import cv2
usr = 'myuser'
pwd = 'mypassword'
ip = '192.168.1.1'
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):
cap = cv2.VideoCapture(url)
ret = cap.isOpened()
cap.release()
return ret
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?
希望这能帮到你!