반응형
ActiveX 타입의 SDK 가 더이상 지원 되지 않음에 따라 SUNAPI를 사용해야할 필요성이 생겼습니다.
C#으로 만든 SnapShot Code 는 다음과 같습니다.
private String SnapShot() { String strPreURI = "http://"; String strIPAddress = _strDeviceIP; String strPort = _nDeviceHttpPort.ToString(); String strFunction = "/stw-cgi/video.cgi?msubmenu=snapshot&action=view&Profile=1"; String strQuery = strPreURI + strIPAddress + ":" + strPort + strFunction; String strUserID = _strUserID; String strUserPWD = _strUserPWD; String strSnapShotDir = _strSnapShotDir; // Query 출력 Console.WriteLine(strQuery); // SnapShot 폴더 생성. if (!Directory.Exists(strSnapShotDir)) Directory.CreateDirectory(strSnapShotDir); // WebRequest 생성. WebRequest request = WebRequest.Create(strQuery); // 계정 생성. request.Credentials = new NetworkCredential(strUserID, strUserPWD); // 파일명 생성. String strFilePath = Path.Combine(strSnapShotDir, DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".jpg"); // Response 호출. HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // 응답 결과 출력 Console.WriteLine(response.StatusDescription); // ResponseStream 가져옴. Stream dataStream = response.GetResponseStream(); // File Stream 생성. FileStream fileStream = new FileStream(strFilePath, FileMode.OpenOrCreate, FileAccess.ReadWrite); // Write Stream. dataStream.CopyTo(fileStream); // Resource Release fileStream.Close(); dataStream.Close(); response.Close(); return strFilePath; } |
반응형
'IT > C#' 카테고리의 다른 글
[PostgreSQL] 네트워크 접속 설정 방법 (외부 접속 설정) (0) | 2023.07.12 |
---|---|
[한화 비전 - SUNAPI] PTZ, Preset (0) | 2023.07.06 |
[한화 비전 - SUNAPI] Zoom, Focus (0) | 2023.07.06 |
[한화 비전 - SUNAPI] RTSP 영상 수신 (with OpenCVSharp) (0) | 2023.07.05 |
[한화 비전 - SUNAPI] RTSP - SMP Address (0) | 2023.07.04 |