由于不同设备提供的rstp播放地址路径不同当我们需要通过rstp取到某个摄像机播放地址时 如果摄像机支持onvif协议接入 可以使用以下脚本来读取onvif服务的配置信息由于ocvif协议视频传输的底层协议是基于rtsp的 可以直接拿到播放地址fromonvifimportONVIFCamera# 1. 设备连接信息ip192.168.31.86port80# 通常为80usernameadminpassword12345# 2. 创建ONVIFCamera实例cameraONVIFCamera(ip,port,username,password)# 3. 获取媒体服务media_servicecamera.create_media_service()# 4. 获取媒体配置文件 (Profiles)profilesmedia_service.GetProfiles()ifnotprofiles:print(未获取到任何媒体配置文件)exit()# 5. 获取第一个配置文件的RTSP流地址# StreamSetup 定义流传输协议等通常使用 RTP-Unicast 和 RTSP[reference:5]stream_urimedia_service.GetStreamUri({StreamSetup:{Stream:RTP-Unicast,Transport:{Protocol:RTSP}},ProfileToken:profiles[0].token})print(fRTSP地址:{stream_uri.Uri})shell python-script % python onvif2rtsp.py RTSP地址: rtsp://192.168.31.86:554/mpeg4?usernameadminpassworde10adc3949ba59abbe56e057f20f883e