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 の解像度はまだ低いままです。