delphi二次开发海康威视流媒体

haj77 2010-11-16 02:55:03
现在二次开发流媒体,使用delphi语言

//定义dll函数



unit HikStreamSDK;

interface


uses
Windows;

type

pDataRec = function (sID, iUsrdata, iDataType: Longint; pData: PByte; iLen: Longint): Longint; cdecl;
pMsgBack = function (sID, opt, param1, param2: Longint): Longint; cdecl;


//作用:初始化ACE。该函数需要在窗口程序初始化时调用
Function InitStreamClientLib():LongInt;stdcall;external 'client.dll' name 'InitStreamClientLib';
//作用:关闭ACE。该函数需要在窗口程序关闭时时调用
Function FiniStreamClientLib():LongInt;stdcall;external 'client.dll' name 'FiniStreamClientLib';
//作用:创建Player
function HIKS_CreatePlayer(pSink: Pointer; pWndSiteHandle: HWND; pRecFunc: pDataRec;
pMsgFunc: pMsgBack = nil; TransMethod: Longint = 0): Longint; stdcall; external 'client.dll' name 'HIKS_CreatePlayer';
//作用:根据URL,连接服务器。
function HIKS_OpenURL(hSession: Longint; pszURL: PChar; iusrdata: Longint): Longint; stdcall; external 'client.dll' name 'HIKS_OpenURL';
//作用:播放。hSession 是Player 的标示。
function HIKS_Play(hSession:Integer) : Longint; stdcall; external 'client.dll' name 'HIKS_Play';



implementation

end.




//代码



function MypDataRec(sID, iUsrdata, iDataType: Longint; pData: PByte; iLen: Longint): Longint; cdecl;
begin


end;

function MypMsgBack (sID, opt, param1, param2: Longint): Longint; cdecl;
begin


end;

procedure TMain_Frm.Button1Click(Sender: TObject);
var
m_hSession,nRet:Integer;
begin
nRet:=InitStreamClientLib();
Memo1.Lines.Add(IntToStr(nRet));
m_hSession:=HIKS_CreatePlayer(nil,Panel1.Handle,nil,MypMsgBack,1);
Memo1.Lines.Add(IntToStr(m_hSession));



nRet:=HIKS_OpenURL(m_hSession,Pchar('rtsp://192.168.1.155/192.168.1.207:8000:HIK-DS8000HC:0:0:admin:12345/av_stream'),0);

Memo1.Lines.Add(IntToStr(nRet));
end;



end.



问题出在HIKS_OpenURL函数,使用后直接报错,但是在流媒体服务端可以看到客户端已经登录了,不知错在那里??
...全文
563 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
孤独剑xx 2011-06-21
  • 打赏
  • 举报
回复
pDataRec = function (sID, iUsrdata, iDataType: Longint; pData: PByte; iLen: Longint): Longint; cdecl;
pMsgBack = function (sID, opt, param1, param2: Longint): Longint; cdecl;


这两个回调函数的调用方式改成stdcall就行了
浩南_哥 2010-11-16
  • 打赏
  • 举报
回复
别人写的DLL????有没有函数,参数介绍???
bdmh 2010-11-16
  • 打赏
  • 举报
回复
确认你没问题的情况下,找开发商
lhy 2010-11-16
  • 打赏
  • 举报
回复
是不是调用方式出错了?
本季课程在开发板上移植USB WIFI模块(套装附带的MT7601模块),工作在ap模式下,并且用电脑通过WIFI去连接开发板实现主机和开发板的无线网络局域网通信,这样就可以用WIFI网络取代板载ethernet有线网络方式来进行调试和局域网频预览。现在很多的频摄像头产品都要求支持无线网络连接功能,本季课程主要是针对这方面开发技术讲解的。随着通信行业发展,网速越来越快,网络也从文本时代发展越过语音时代到了现在频时代,“优酷、爱奇艺”、“微频”、“直播”等的出现也是频逐步成为主媒体的证据和表现。航拍、频监控、刷脸过关检测、汽车ADAS系统等应用也是频在主行业中的应用,因此频的采集、编解码、传输、识别等技术变得越来越有价值,涌现出了“康威”、“大华股份”、“深圳英飞拓”等一批明星企业,名扬内外,动辄市值几百亿。同时在芯片级,国产华为思HI35XX系列频编解码方案也逐步取代进口芯片(如TI、安霸)成为主方案。频行业技术含量高、难度大、学习周期长、发展变化快而资料少,因此行业比较缺人、工资较高。如康威,普通高校硕士研究生应届进入年薪普遍高于15-20万,在嵌入式linux领域也算高工资技术方向了。本项目是朱老师及其团队推出的一个嵌入式linux领域重量级企业级实战项目,选用华为思HI3518E方案,结合OV9712/AR0130 Sensor实现图像采集和H.264编码压缩,并通过ethernet和WIFI,以socket实时和RTSP等方式,实现720P/960P高清频传输。本项目共分11季,从思SDK开发环境搭建,到sample程序讲解、SDK中API函数解析,到H.264编解码、RTSP媒体传输、MP4文件打包,到图像IQ调试、图像识别等频领域高阶内容,可以说从零基础入手,对图像采集、编解码、网络传输、图像存储和识别做了全方位的详细讲解和代码分析,是目前市面上**一套系统讲解图像和频技术的频课程。

5,391

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧