我正在使用 python-onvif 查找相机的 URI 以获取静态快照。它工作正常,我可以得到快照。
但是分辨率不是我的相机可以达到的“完整”720。并且在流式传输时确实得到。快照只有 640x352 之类的。
如何告诉 ONVIF 以全分辨率拍摄快照?
我尝试使用 getSnapshotUri(token) 生成 URI 并放入具有最高分辨率的主配置文件的令牌,但我得到了相同的 URI 和相同的分辨率。
有没有办法获得全分辨率快照?
文档说它将使用“来自配置文件”的 jpeg 设置,但我不知道如何告诉它使用哪个配置文件或使用什么分辨率设置。
我不确定在这种情况下是否真的需要代码,但这就是我正在做的事情。以防它帮助某人
from onvif import ONVIFCamera
# Set up the camera object using the ONVIF port.
mycam = ONVIFCamera('192.168.2.111', 8080, 'admin', 'pass', '/etc/onvif/wsdl/')
#access media service
media = mycam.create_media_service()
allProfiles = media.GetProfiles()
mainProfile = media.GetProfile({'ProfileToken' : allProfiles[0]._token})
snapshot = media.GetSnapshotUri({'ProfileToken' : mainProfile._token})
print 'My Cam: ' + str(snapshot)
*****更新20160412
以下是要求提供的更多信息。
我跑了以下
for p in media.GetVideoEncoderConfigurations():
print p
我得到了以下打印出来的很长的东西,所以我把它放在了一个粘贴箱里。
没有关于 JPEG 的信息。H264 分辨率在那里,所以我知道相机可以拍摄更高分辨率的视频。但是getsnapshot uri仍然只有较低的分辨率。