资源简介
实现海康私有流分析为标准流
代码片段和文件信息
// Demo.cpp : Defines the entry point for the console application.
//
#include “afx.h“
#include “stdafx.h“
#include “windows.h“
#include “stdio.h“
#include “HCNetSDK.h“
#include “AnalyzeDataInterface.h“
#pragma comment (lib “AnalyzeData.lib“)
#pragma comment (lib “HCNetSDK.lib“)
#define BUFFER_SIZE 32 * 1024
#define HEADER_SIZE 40
class CSource
{
public:
CSource();
virtual ~CSource();
BOOL OpenFile(char* strFileName);
BOOL OpenFileStream(char* strFileName);
BOOL OpenRealStream(char* strIP);
void Close();
BOOL AnalyzeFileStream();
BOOL AnalyzeRealStream(BYTE* pData DWORD dwDataLen DWORD dwType);
BOOL AnalyzeFile(char* strFileName);
private:
HANDLE m_hFile;
HANDLE m_hThread;
BOOL m_bStop;
BYTE* m_pBuffer;
LONG m_lPort;
LONG m_lUser;
LONG m_lPlay;
};
CSource::CSource()
{
m_hFile = INVALID_HANDLE_VALUE;
m_hThread = NULL;
m_bStop = FALSE;
m_pBuffer = NULL;
m_lPort = -1;
m_lUser = -1;
m_lPlay = -1;
}
CSource::~CSource()
{
Close();
}
void CSource::Close()
{
if (m_hThread)
{
m_bStop = TRUE;
WaitForSingleobject(m_hThread INFINITE);
CloseHandle(m_hThread);
m_hThread = NULL;
}
if (m_pBuffer)
{
delete[] m_pBuffer;
m_pBuffer = NULL;
}
if (m_hFile != INVALID_HANDLE_VALUE)
{
CloseHandle(m_hFile);
m_hFile = INVALID_HANDLE_VALUE;
}
if (m_lPlay != -1)
{
NET_DVR_StopRealPlay(m_lPlay);
m_lPlay = -1;
}
if (m_lUser != -1)
{
NET_DVR_Logout(m_lUser);
m_lUser = -1;
}
NET_DVR_Cleanup();
if (m_lPort != -1)
{
AnalyzeDataClose(m_lPort);
m_lPort = -1;
}
}
DWORD WINAPI ReadFileThread(LPVOID lpParam)
{
CSource* pcSource = (CSource*)lpParam;
pcSource->AnalyzeFileStream();
return 1;
}
BOOL CSource::AnalyzeFileStream()
{
DWORD dwBytes = 0;
ReadFile(m_hFile m_pBuffer HEADER_SIZE &dwBytes NULL);
if ( !AnalyzeDataOpenStreamEx(m_lPort m_pBuffer) )
{
printf(“Demo: open stream failed!\n“);
return FALSE;
}
while (TRUE)
{
if (m_bStop)
{
break;
}
ReadFile(m_hFile m_pBuffer BUFFER_SIZE &dwBytes NULL);
if (dwBytes == 0)
{
Sleep(10);
continue;
}
if ( !AnalyzeDataInputData(m_lPort m_pBuffer dwBytes) )
{
printf(“Demo: buffer overflow lost stream data!\n“);
}
PACKET_INFO_EX stPacket;
while (AnalyzeDataGetPacketEx(m_lPort &stPacket) == 0)
{
if (stPacket.nPacketType == VIDEO_I_frame)
{
printf(“Video I frame framenum = %u timestamp = %u size = %dx%dglobaltime=%d-%d-%d-%d-%d-%d!\n“
stPacket.dwframeNum stPacket.dwTimeStamp stPacket.uWidth stPacket.uHeightstPacket.nYear
stPacket.nMonthstPacket.nDaystPacket.nHourstPacket.nMinutestPacket.nSecond);
}
else if (stPacket.nPacketType == VIDEO_P_frame)
{
printf(“Video P frame framenum = %u timestamp = %u size = %dx%dglobaltime=%d-%d-%d-%d-%
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2808 2009-08-17 10:09 AnalyzeDataNewInterface.h
文件 2895 2009-04-20 08:06 Demo_Stream\AnalyzeDataInterface.h
文件 9369 2009-08-18 12:26 Demo_Stream\Demo.cpp
文件 4425 2009-07-27 13:44 Demo_Stream\Demo.dsp
文件 533 2009-04-01 08:37 Demo_Stream\Demo.dsw
文件 590848 2009-09-10 11:13 Demo_Stream\Demo.ncb
文件 53760 2009-09-10 11:13 Demo_Stream\Demo.opt
文件 405584 2009-07-06 11:14 Demo_Stream\HCNetSDK.dll
文件 134922 2009-02-04 10:24 Demo_Stream\HCNetSDK.h
文件 72128 2008-10-14 09:39 Demo_Stream\HCNetSDK.lib
文件 291 2009-04-01 08:37 Demo_Stream\StdAfx.cpp
文件 667 2009-04-01 08:37 Demo_Stream\StdAfx.h
文件 76288 2009-09-10 13:48 AnalyzeData(3.0.0.01)使用说明.doc
文件 127067 2009-09-01 14:45 AnalyzeData.dll
文件 6478 2009-09-15 15:29 AnalyzeData.lib
文件 173056 2009-09-15 15:29 AnalyzeData.pdb
文件 2981 2009-08-18 09:06 AnalyzeDataInterface.h
目录 0 2009-09-18 16:22 Demo_Stream\Debug
目录 0 2019-06-27 11:10 Demo_Stream
----------- --------- ---------- ----- ----
1664100 19
- 上一篇:VC6 USB开发源码
- 下一篇:博士报警主机SDK调用
相关资源
- 北邮-编译原理-词法分析
- delphi调用结巴分词DLL接口
- 《Data Structures and Algorithm Analysis in C
- TD-SCDMA测试仪中Iub接口实现RLC层信令解
- 微机接口----HQFC集成开发环境.zip
- 数值分析算法程序设计 C++实现
- c语言难点分析整理,C语言
- c++ 飞机订票系统设计及分析包含源代
- 语法分析c语言实现程序代码+实验报告
- LL1语义分析的C语言子集编译器
- 实现语法分析器-编译原理
- 编译原理 LR分析器 c++代码
- 飞狐 动态库扩展源代码
- Data Structures and Algorithm Analysis in C++
- LL(1)文法分析全过程(FIRST/FLLOW/S
- 编译原理 LR0项目集规范族的构造 L
- 词法分析器有去除注释功能
- 数据结构与算法分析C++语言描述第四
- 利用FFT计算频谱图
- 英文原版数据结构与算法分析——C语
- MATLAB科学计算及分析唐培培源代码
- 使用C#创建webservice服务,并使用服务
- USB2.0接口数据采集卡
- 基于VC MFC的数据分析系统
- PCA代码实现详解
- 精通Windows.API-函数、接口、编程(光
- 语法分析器 tiny语言语法分析
- C++语法分析器
- CTP接口 C#封装版
- 海康威视播放器
评论
共有 条评论