Hikvision IP Kameradan Görüntü Alma - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3) +--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6) +--- Konu Başlığı: Hikvision IP Kameradan Görüntü Alma (/showthread.php?tid=7832) |
Hikvision IP Kameradan Görüntü Alma - erdogan - 11-08-2024 Merhaba, Hikvision marka IP Kameradan Görüntü Almak istiyorum, aşağıdaki konuda paylaşılmış fakat bir çözüm üretemedim, Alıntı:https://www.delphican.com/showthread.php?tid=6035&highlight=Hikvision TRichView component ile çözmek istedim fakat desteklemediğini belirttiler, rtsp://192.168.1.64:554/Streaming/Channels/101/ rtsp://admin:123456@192.168.1.64:554/Streaming/Channels/101/ bir kaç yol denesem de bir türlü çözmedim konu hakkında bilgisi olan paylaşırsa minnettar olacağım. teşekkürler. Cvp: Hikvision IP Kameradan Görüntü Alma - erdogan - 11-08-2024 Merhaba, eklemeyi unutmuşum, bir kaynak buldum fakat dll olmasına rağmen dll hatası veriyor Alıntı:https://github.com/theprogrammer67/HikvisionDelphi teşekkürler aşağıdaki örnek ile deniyorum, aldığım hata : HTTP/1.1 404 Not Found (32 bit dll dosyalar : https://www.hikvision.com/tr/support/tools/hitools/cle2ea65555bdb1ce1/ ) unit Unit1; interface uses Winapi.Windows, IdHTTP, Winapi.Messages, System.SysUtils, System.Variants, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, System.Classes ; type TForm1 = class(TForm) Button1: TButton; Image1: TImage; IdHTTP1: TIdHTTP; Memo1: TMemo; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; type LPNET_DVR_DEVICEINFO_V30 = ^NET_DVR_DEVICEINFO_V30; NET_DVR_DEVICEINFO_V30 = Record sSerialNumber: array [0 .. 47] of BYTE; byAlarmInPortNum: BYTE; byAlarmOutPortNum: BYTE; byDiskNum: BYTE; byDVRType: BYTE; byChanNum: BYTE; byStartChan: BYTE; byAudioChanNum: BYTE; byIPChanNum: BYTE; byZeroChanNum: BYTE; byMainProto: BYTE; bySubProto: BYTE; bySupport: BYTE; bySupport1: BYTE; byRes1: BYTE; wDevType: Word; byRes2: array [0 .. 15] of BYTE; end; var Form1: TForm1; ErrorValues: LongWord; lUserID: LONG; struDeviceInfo: NET_DVR_DEVICEINFO_V30; DVRIP, DVRUserName, DVRPassWord: AnsiString; function NET_DVR_Init(): boolean; stdcall; external 'HCNetSDK.dll' name 'NET_DVR_Init'; function NET_DVR_Cleanup(): boolean; stdcall; external 'HCNetSDK.dll' name 'NET_DVR_Cleanup'; function NET_DVR_SetConnectTime(dwWaitTime, dwTryTimes: DWORD): boolean; stdcall; external 'HCNetSDK.dll' name 'NET_DVR_SetConnectTime'; function NET_DVR_SetReconnect(dwInterval: DWORD; bEnableRecon: boolean): boolean; stdcall; external 'HCNetSDK.dll' name 'NET_DVR_SetReconnect'; function NET_DVR_GetLastError(): LongWord; stdcall; external 'HCNetSDK.dll' name 'NET_DVR_GetLastError'; function NET_DVR_Login_V30(sDVRIP: PAnsiChar; wDVRPort: Word; sUserName: PAnsiChar; sPassword: PAnsiChar; lpDeviceInfo: LPNET_DVR_DEVICEINFO_V30): LONG; stdcall; external 'HCNetSDK.dll' name 'NET_DVR_Login_V30'; function NET_DVR_Logout_V30(lUserID: LONG): boolean; stdcall; external 'HCNetSDK.dll' name 'NET_DVR_Logout_V30'; implementation {$R *.dfm} uses System.NetEncoding, Vcl.Graphics ; procedure TForm1.Button1Click(Sender: TObject); var ResponseContent: TMemoryStream; AuthHeader: string; IdHTTP1: TIdHTTP; begin DVRIP := '192.168.1.64'; DVRUserName := 'admin'; DVRPassWord := 'A*?1OET1?'; NET_DVR_Init(); NET_DVR_SetConnectTime(2000, 1); NET_DVR_SetReconnect(10000, true); lUserID := NET_DVR_Login_V30(PAnsiChar(DVRIP), 8000, PAnsiChar(DVRUserName), PAnsiChar(DVRPassWord), @struDeviceInfo); if lUserID >= 0 then begin Memo1.Lines.Add('Login Success, lUserID: ' + IntToStr(lUserID)); IdHTTP1 := TIdHTTP.Create(nil); ResponseContent := TMemoryStream.Create; try // IP kameradan görüntüyü al IdHTTP1.Request.Username := DVRUserName; IdHTTP1.Request.Password := DVRPassWord; IdHTTP1.Get('http://' + DVRIP + '/snapshot.jpg', ResponseContent); // TImage bileşenine yükle ResponseContent.Position := 0; Image1.Picture.LoadFromStream(ResponseContent); except on E: Exception do ShowMessage('Hata: ' + E.Message); end; ResponseContent.Free; IdHTTP1.Free; end else begin ErrorValues := NET_DVR_GetLastError(); Memo1.Lines.Add('Login Failed, Error: ' + IntToStr(ErrorValues)); end; NET_DVR_Logout_V30(lUserID); NET_DVR_Cleanup(); { DVRIP := '192.168.1.64'; DVRUserName := 'admin'; DVRPassWord := '1234'; NET_DVR_Init(); NET_DVR_SetConnectTime(2000, 1); NET_DVR_SetReconnect(10000, true); lUserID := NET_DVR_Login_V30(PAnsiChar(DVRIP), 8000, PAnsiChar(DVRUserName), PAnsiChar(DVRPassWord), @struDeviceInfo); Memo1.Lines.Add('lUserID:' + inttostr(lUserID)); ErrorValues := NET_DVR_GetLastError(); Memo1.Lines.Add('ErrorValues:' + inttostr(ErrorValues)); NET_DVR_Logout_V30(lUserID); NET_DVR_Cleanup(); } end; end. çözüldü Cvp: Hikvision IP Kameradan Görüntü Alma - erdogan - 11-08-2024 Merhaba, ekte çözülmüş hali var, 32bit ile derleyip üretici sitesinden sdk indirip dll ile derlerseniz çalışacaktır. https://www.hikvision.com/tr/support/tools/hitools/cle2ea65555bdb1ce1/ Hikvision IP Kameradan Görüntü Alma - engerex - 12-08-2024 merhaba, RSTP ile SDK ihtiyacı ortadan kalkıyor. Araştırınca forumda çözüldüğünü gördüm. https://www.delphican.com/showthread.php?tid=1262 Cvp: Hikvision IP Kameradan Görüntü Alma - remember - 24-09-2024 (11-08-2024, Saat: 21:21)erdogan Adlı Kullanıcıdan Alıntı: Sorunu çözebildiniz mi Hikvision IP Kameradan Görüntü Alma - sadikacar60 - 08-10-2024 HOCAM BEN bu konularda artik uzmanlastim bu forumda onlarca yardim aldim ilk defa tam anlamiyla yardimci olabilecegim bir konu cikti. size sorunun cozumunu anlatayim dilerseniz uzaktanda yardimci olurum. ben kamera ile goruntu analizi yapiyorum . kucuk bir programim var ilk onceleri kameralarin sdk sini ocx. dosyalarini programa install edip onun uzerinden goruntu aliyordum. bu durumun soyle bir problemi var ilerde ayni kameradan veya ayni ocx kullanan kameralardan bulamazsaniz programiniz cokuyor. gecen ay bu sorunu yasadim satin aldigim kamera modeli piyasada bitmis. https://www.videolan.org/index.tr.html vlcplayer indiriyorsun bilgisayarina kuruyorsun. sonra paslivlcplayer kompenanti var onu IDE programina kuruyorsun. sonra internet explorer larda kameranin goruntusunu acmaya calisiyorsun zaten gerekli dosyalari bu arada bilgisayarina yuklenmek zorunda. bir arkadasin onerisiyle avant browser kullaniyorum kamera goruntusu almada sorun yasamiyorum. kamera goruntusu aldiktan sonra kameranin rtsp:// kodunu buluyorsun hangi kodu yazdiginda goruntu alabildigini bulman onemli rtsp:// kodunu bulduktan sonra programinda paslibvlcplayer da bu kodla kamerani acip goruntu alabiliyorsun. resim vb kayit islemleri yapabiliyorsun. saygilar Not: ONVIF device maneger diye bir program var ben rtsp:// kodunu bulmakta zorlandim sonra bu programi kurcalarken bunda buldum. |