728x90
※이론적인 부분은 약하고, 단순 기능 구현만을 위한 내용입니다.
- 국내 한화 테크윈의 IP camera의 ptz 제어는 camera - POE - COM이 직접 연결되어 있을 때,
- 일반적인 RTSP(Real Time Streaming Protocol)로 데이터를 가져오는 제어 프로토콜의 보안과 다르다.
- ptz 카메라를 제어 할 목적으로 http 서버로 신호를 보내는 데, 이때 인증된 권한자(Auth)에서 SUNAPI라는 삼성테크윈 일 때 개발된? 자체 API를 이용해서 신호를 넘겨줘야 한다. 인증된 권한자로 등록하는 과정이후 SUNAPI를 이용해 카메라를 제어할 수 있는 관련 신호들을 넘겨 줄 수 있다.
- 나는 주로 python으로 개발을 진행중이므로 관련된 인증 코드는 다음과 같다. 간단하지만 보안관련 개념을 몰라 rtsp 서버에 ID/PASSWORD를 계속 넘겨주면서 API를 불러와서 처음에는 시행착오를 많이 겪었다.
- 카메라 - 컨트롤 타워로 오는 중간에 NVR과 같은 매체가 있으면 거기서 보안 권한을 재요구하기도 하는 듯 하다. 위 방법은 중간단 없이 직접 연결 되었을 때 사용 가능한 방법이고, 응용은 무궁무진 한 것 같다.
import requests
from requests.auth import HTTPDigestAuth
ip = requests.Session()
ip.auth = HTTPDigestAuth('admin','password')
ip_control = ip.get(url)
if ip_control.status_code == 200:
print(f'ip_control code is success')
else:
print(f'url or control api source check plz')
다이제스트 인증의 개념은 다음글을 참고. https://feel5ny.github.io/2019/11/24/HTTP_013_01/
C# or C++ 으로 개발된 코드를 찾으려면 다음을 참고.https://gyeongju.tistory.com/entry/SUNAPI-10-%EC%82%AC%EC%9A%A9%EC%9E%90%EC%9D%B8%EC%A6%9D-digest-%EC%9D%B8%EC%A6%9D%EB%B0%A9%EB%B2%95
'IT 공부 관련' 카테고리의 다른 글
jetson 용 Anaconda (0) | 2023.06.08 |
---|---|
AI 양자화(AI Quantization) (0) | 2022.08.03 |
python opencv의 cv2 에러 관련. (0) | 2022.01.09 |