NHikPlayer_src

所属分类:流媒体/Mpeg4/MP4
开发工具:Visual C++
文件大小:607KB
下载次数:191
上传日期:2012-05-24 23:54:59
上 传 者ZS901101
说明:  海康威视SDK的Demo做了一个C#版播放器 NHikPlayer按照SDK v4.9的Demo进行开发,开发工具是Visual Studio 2008,基本上只是做了C++ to C#的转换
(Hikvision SDK Demo a C# version of the player NHikPlayer carried out in accordance with the SDK v4.9 Demo development, development tools, Visual Studio 2008, and basically just did C++ to C# conversion)

文件列表:
NHikPlayer_src\NHikPlayer\NHikPlayer\App.ico (9702, 2009-10-23)
NHikPlayer_src\NHikPlayer\NHikPlayer\Bakup\HikPlayer.cs (69591, 2009-10-21)
NHikPlayer_src\NHikPlayer\NHikPlayer\Bakup\HikPlayM4.dll (421975, 2008-10-07)
NHikPlayer_src\NHikPlayer\NHikPlayer\Bakup (0, 2012-05-24)
NHikPlayer_src\NHikPlayer\NHikPlayer\bin\Debug (0, 2009-10-25)
NHikPlayer_src\NHikPlayer\NHikPlayer\bin (0, 2012-05-24)
NHikPlayer_src\NHikPlayer\NHikPlayer\Controls\ColorSlider.bmp (824, 2008-01-11)
NHikPlayer_src\NHikPlayer\NHikPlayer\Controls\ColorSlider.cs (45573, 2009-09-30)
NHikPlayer_src\NHikPlayer\NHikPlayer\Controls\ColorSlider.resx (5995, 2006-05-12)
NHikPlayer_src\NHikPlayer\NHikPlayer\Controls\Line.bmp (822, 2009-09-26)
NHikPlayer_src\NHikPlayer\NHikPlayer\Controls\Line.cs (2698, 2009-09-29)
NHikPlayer_src\NHikPlayer\NHikPlayer\Controls\NumericTextBox.cs (4276, 2009-09-28)
NHikPlayer_src\NHikPlayer\NHikPlayer\Controls\Thumbs.db (8192, 2009-10-10)
NHikPlayer_src\NHikPlayer\NHikPlayer\Controls\ToolStripColorSlider.cs (3447, 2009-09-30)
NHikPlayer_src\NHikPlayer\NHikPlayer\Controls (0, 2012-05-24)
NHikPlayer_src\NHikPlayer\NHikPlayer\FormAbout.cs (4806, 2009-10-23)
NHikPlayer_src\NHikPlayer\NHikPlayer\FormAbout.resx (5817, 2009-10-23)
NHikPlayer_src\NHikPlayer\NHikPlayer\FormHelp.cs (4780, 2009-09-27)
NHikPlayer_src\NHikPlayer\NHikPlayer\FormHelp.resx (6460, 2009-09-27)
NHikPlayer_src\NHikPlayer\NHikPlayer\FormInfo.cs (14527, 2009-10-24)
NHikPlayer_src\NHikPlayer\NHikPlayer\FormInfo.resx (5817, 2009-09-27)
NHikPlayer_src\NHikPlayer\NHikPlayer\FormLocation.cs (11101, 2009-10-22)
NHikPlayer_src\NHikPlayer\NHikPlayer\FormLocation.resx (5817, 2009-09-28)
NHikPlayer_src\NHikPlayer\NHikPlayer\FormMain.cs (86836, 2009-10-25)
NHikPlayer_src\NHikPlayer\NHikPlayer\FormMain.resx (22126, 2009-10-24)
NHikPlayer_src\NHikPlayer\NHikPlayer\FormRegion.cs (12081, 2009-10-24)
NHikPlayer_src\NHikPlayer\NHikPlayer\FormRegion.resx (5817, 2009-10-24)
NHikPlayer_src\NHikPlayer\NHikPlayer\FormSetting.cs (16036, 2009-10-22)
NHikPlayer_src\NHikPlayer\NHikPlayer\FormSetting.resx (5817, 2009-09-28)
NHikPlayer_src\NHikPlayer\NHikPlayer\HikPlayer.cs (68426, 2009-10-24)
NHikPlayer_src\NHikPlayer\NHikPlayer\NHikPlayer.csproj (7386, 2009-10-24)
NHikPlayer_src\NHikPlayer\NHikPlayer\NHikPlayer.csproj.user (168, 2009-10-24)
NHikPlayer_src\NHikPlayer\NHikPlayer\obj\Debug (0, 2009-10-25)
NHikPlayer_src\NHikPlayer\NHikPlayer\obj (0, 2012-05-24)
NHikPlayer_src\NHikPlayer\NHikPlayer\PlayCtrl.dll (1089614, 2009-09-28)
NHikPlayer_src\NHikPlayer\NHikPlayer\plaympeg4.h (17901, 2009-09-25)
NHikPlayer_src\NHikPlayer\NHikPlayer\Program.cs (494, 2009-09-25)
NHikPlayer_src\NHikPlayer\NHikPlayer\Properties\AssemblyInfo.cs (1350, 2009-09-26)
NHikPlayer_src\NHikPlayer\NHikPlayer\Properties\Resources.Designer.cs (9667, 2009-10-24)
NHikPlayer_src\NHikPlayer\NHikPlayer\Properties\Resources.resx (12537, 2009-10-24)
... ...

一、关于NHikPlayer Hikvision 播放器HikPlayer是杭州海康威视数字技术有限公司的系列产品录像文件专用的播放器。官网上提供了SDK二次开发包,附带的Demo只有C++版本,对一些使用.Net开发的朋友造成不便,这其中就包括我。最近工作需要使用海康播放器SDK进行一个二次开发,搜索了若干关键词,发现这方面资料较少,于是工作前期就直接仿SDK的Demo做了一个C#版播放器,差不多就是这个NHikPlayer了。 二、功能 NHikPlayer按照SDK v4.9的Demo进行开发,开发工具是Visual Studio 2008,基本上只是做了C++ to C#的转换,并无太大改动。程序能正常播放.mp4文件,未测试过.2***格式,已知在Windows 7 RTM Aero下会自动转成Windows 7 Basic配色方案。另外,由于本人能力和精力有限,部分原有功能没法实现或没有实现: 1.流方式播放 2.转换为.avi 3.剪切文件 4.区域显示 5.播放列表 6.视频截图 7.循环播放 8.水印信息 三、说明 博客园为技术社区,不讲技术有点说不过去,但此程序为二次开发,确无多少新意以及技术含量。所以只能随便聊聊: 1.在C#中通过P/Invoke调用Win32 DLL: 在MSDN中已有很多相关知识(http://msdn.microsoft.com/zh-cn/library/aa686045.aspx),这里只推荐一个工具:P/Invoke Interop Assistant(http://download.microsoft.com/download/f/2/7/f279e71e-efb0-4155-873d-5554a0608523/CLRInsideOut2008_01.exe),它支持托管代码和非托管代码之间的方法签名的转换,非常方便。 2.在C#中用委托实现C++的回调函数,例如: C++中抓图回调函数 void (CALLBACK* DisplayCBFun)(long nPort,char * pBuf,long nSize,long nWidth,long nHeight,long nStamp,long nType,long nReceaved)); C#中定义为委托 public delegate void DisplayCBFun(int nPort, IntPtr pBuf, int nSize, int nWidth, int nHeight, int nStamp, int nType, int nReceaved); C#中回调函数的实现 public void CB_DisplayCBFun(int nPort, IntPtr pBuf, int nSize, int nWidth, int nHeight, int nStamp, int nType, int nReceaved){ } 由于.Net的垃圾回收机制,因此在这类应用中,对委托进行垃圾回收后,委托再进行回调,将回引发CallbackOnCollectedDelegate(http://msdn.microsoft.com/zh-cn/library/43yky316(VS.80).aspx)异常。因此需要将委托声明为成员变量。 private DisplayCBFun dcbf; private void Function() { dcbf = new DisplayCBFun(CB_DisplayCBFun); HikPlayer.PlayM4_SetDisplayCallBack(nPort, dcbf); } 然而我发现仍然会引发异常,很可能是频繁回调引发的。权威资料(http://www.microsoft.com/china/MSDN/library/netFramework/netframework/issuesBugBash.mspx?mfr=true)显示使用 GC.KeepAlive 来确保特定实例保持活动状态一段时间,能解决此问题。 private DisplayCBFun dcbf; private void Function() { dcbf = new DisplayCBFun(CB_DisplayCBFun); HikPlayer.PlayM4_SetDisplayCallBack(nPort, dcbf); //解决方法 GC.KeepAlive(dcbf); } 四、补充 1.海康威视播放器下载地址: v4.8 http://www.hikvision.com/uploadfile/Player_4.8.rar v6.0 http://www.hikvision.com/uploadfile/VSPlayer_CN_6.0_090806.rar 海康威视播放器SDK下载地址: v4.9 http://www.hikvision.com/uploadfile/Player_SDK_4.9.0.4.rar v6.1 http://www.hikvision.com/uploadfile/播放库SDK_6.1.1.1.rar 2.在Backup文件夹中,对SDK v4.9的HikPlayM4.dll的封装来自“农民伯伯(http://over140.cnblogs.com)”的博客,点击这里查看详细(http://www.cnblogs.com/over140/archive/2009/03/22/1418946.html)。有少许改动,现已换成SDK v6.1的PlayCtrl.dll,但最新的方法没封装进去,如有需要请参照plaympeg4.h进行封装。同时在此对农民伯伯表示感谢! 3.程序没有进行完整的测试,错误在所难免,敬请谅解,也希望各位贤人能帮助完善本程序,并将完善版本告知本人。 五、下载地址 NHikPlayer.zip (http://files.cnblogs.com/changyu/NHikPlayer.zip) NHikPlayer_src.zip (http://files.cnblogs.com/changyu/NHikPlayer_src.zip) -------------------------------------------------------------------------------- 作者:Changyu (21changyu@163.com) 出处:http://changyu.cnblogs.com 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

近期下载者

相关文件


收藏者