C# 视频监控系列(5):客户端——给服务器端发送字符串和录像(数据捕获)

简介:

前言

     这几天加紧赶工写服务器端的程序,所有系列文章更新较慢,见谅: )

 

注意

     本系列文章限于学习交流,注重过程,由于涉及公司,所以不提供源代码下载,非常抱歉!!但是请大家放心,核心、实现以及其他能够贴出来的代码我都会贴出来,并且争取尽所能的回答留言里的每一个问题,感谢大家关注,欢迎交流 :)

 

系列

     1.     C# 视频监控系列(1):准备

     2.     C# 视频监控系列(2):客户端——封装API

     3.     C# 视频监控系列(3):客户端——连接服务器

     4.     C# 视频监控系列(4):客户端——音频接收和抓图

     5.     C# 视频监控系列(5):客户端——给服务器端发送字符串和录像(数据捕获)

 

正文

     一、给服务器发送字符串

          实现这个功能非常简单,感觉不怎么实用。

          1.     VC++ Code:

MP4_ClientCommandtoServer((LPCTSTR)ctemp,sendcont, 400 );

          2.     C# Code: 

PcHikClient.MP4_ClientCommandtoServer( " 192.168.0.188 " " 服务器你好:) " 14 );

          从API文档中能找到关于这个方法的说明:第一个参数是服务器的IP,第二个是要发送的字符串,第三个参数是字符串长度。

     二、客户端对视频录像

          客户端视频录像从API文档(Hikvision 板卡网络开发包编程手册V4.7)中可以看得出可以由MP4_ClientStartCapture或MP4_ClientStartCaptureFile函数来实现这个功能,从VC++的源码可以看得出他是用后者来实现的,简单省事,但是服务器端就没这个函数了- _-#。但是MP4_ClientStartCapture通过回调自己写存储代码更加灵活,可以实现诸如统计信息之类的额外功能,这里只提供VC++对应的C#版本的MP4_ClientStartCaptureFile

          1.     VC++ Code:

复制代码
     // 开始录像
     if  (nn1  >=   0 )
    {
        sprintf(filename,
" d:\\mp4test1_%d.mp4 " ,capcount);
        MP4_ClientStartCaptureFile(nn1,filename);
        
// MP4_ClientStartCapture(nn1);
    }
    
// 关闭录像
     if  (nn1 >= 0 )
        MP4_ClientStopCapture(nn1);
复制代码

           2.     C# Code: 

复制代码
         ///   <summary>
        
///  开始录像
        
///   </summary>
        
///   <param name="sender"></param>
        
///   <param name="e"></param>
         private   void  btnStartCap_Click( object  sender, EventArgs e)
        {
            PcHikClient.MP4_ClientStartCaptureFile(cs, 
" D:\\mp4test1_0.mp4 " );
        }

        
///   <summary>
        
///  停止录像
        
///   </summary>
        
///   <param name="sender"></param>
        
///   <param name="e"></param>
         private   void  btnStopCap_Click( object  sender, EventArgs e)
        {
            PcHikClient.MP4_ClientStopCapture(cs);
        }
复制代码

          方法很简单,但是注意之前帖的MP4_ClientStartCaptureFile参数对应错误,否则无法创建文件并一直返回false,现在已经更新前面的SDK封装API的文章了,具体错误如下:

          VC++原型:

BOOL  __stdcall MP4_ClientStartCaptureFile(LONG StockHandle, LPTSTR FileName);

          之前版本:

public   static   extern   bool  MP4_ClientStartCaptureFile( long  StockHandle,  string  FileName);

          更改后版本:

public   static   extern   bool  MP4_ClientStartCaptureFile( int  StockHandle,  string  FileName);

          注意StockHandle参数数据类型变化。MP4_ClientStopCapture的参数也是long数据类型,不过不影响,改不改成int无所谓。

 

遗留问题

     保存下来的mp4文件显示的播放总时间和实际播放时间总是差3秒,例如总时间是48秒,而播到45就没有了,比较奇怪,不过影响不大:)

 

结束

          本章内容仍然简单,出错仍然出在数据类型对应上,所以大家需要多留意了: )

 

转载:http://www.cnblogs.com/over140/archive/2009/03/04/1400223.html

目录
相关文章
|
11月前
|
C#
C#的小例子和字符串(一)
C#的小例子和字符串(一)
171 0
|
11月前
|
C#
C#有关字符串的分割,替换,截取
C#有关字符串的分割,替换,截取
C#|.net core 基础 - 删除字符串最后一个字符的七大类N种实现方式
【10月更文挑战第9天】在 C#/.NET Core 中,有多种方法可以删除字符串的最后一个字符,包括使用 `Substring` 方法、`Remove` 方法、`ToCharArray` 与 `Array.Copy`、`StringBuilder`、正则表达式、循环遍历字符数组以及使用 LINQ 的 `SkipLast` 方法。
195 8
C#字符串拼接的6种方式及其性能分析对比
在C#编程中字符串拼接是一种常见且基础的操作,广泛应用于各种场景,如动态生成SQL查询、构建日志信息、格式化用户显示内容等。然而,不同的字符串拼接方式在性能和内存使用上可能存在显著差异。今天咱们一起来看看在C#中字符串拼接的常见6种方式及其使用BenchmarkDotNet进行性能分析对比。
|
5月前
|
C# 一分钟浅谈:GraphQL 客户端调用
本文介绍了如何在C#中调用GraphQL API,涵盖基本步骤、常见问题及解决方案。首先,通过安装`GraphQL.Client`库并创建客户端实例,连接到GraphQL服务器。接着,展示了如何编写查询和突变,以及处理查询语法错误、变量类型不匹配等常见问题。最后,通过具体案例(如管理用户和订单)演示了如何在实际项目中应用这些技术,帮助开发者更高效地利用GraphQL。
102 38
C# 一分钟浅谈:GraphQL 客户端调用
C# 去掉字符串最后一个字符的 4 种方法
在实际业务中,我们经常会遇到在循环中拼接字符串的场景,循环结束之后拼接得到的字符串的最后一个字符往往需要去掉,看看 C# 提供了哪4种方法可以高效去掉字符串的最后一个字符
586 0
C# 一分钟浅谈:GraphQL 客户端调用
本文介绍了如何在C#中使用`GraphQL.Client`库调用GraphQL API,涵盖基本查询、变量使用、批量请求等内容,并详细说明了常见问题及其解决方法,帮助开发者高效利用GraphQL的强大功能。
150 57
|
5月前
|
C# 一分钟浅谈:GraphQL 服务器端实现
本文通过C#语言从零开始构建一个简单的GraphQL服务器端实现,介绍了环境准备、项目创建、定义Schema、配置GraphQL等步骤。同时,探讨了常见问题如数据源问题、类型定义不一致、性能问题和权限控制,提供了相应的解决方法。希望帮助读者更好地理解和应用GraphQL。
74 3
Redis 入门 - C#.NET Core客户端库六种选择
Redis 入门 - C#.NET Core客户端库六种选择
151 8
|
7月前
|
C# 一分钟浅谈:字符串操作与正则表达式
本文详细介绍C#中的字符串操作与正则表达式应用,涵盖字符串拼接、分割、查找及替换等基础操作,并通过实例讲解正则表达式的模式匹配、文本替换与分组捕获技巧。同时,文章还探讨了性能优化、复杂度管理和安全性等问题及解决策略,助你提升编程效率,应对实际开发挑战。
125 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等