日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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

發(fā)布時間:2025/4/5 65 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# 视频监控系列(5):客户端——给服务器端发送字符串和录像(数据捕获) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

?????這幾天加緊趕工寫服務(wù)器端的程序,所有系列文章更新較慢,見諒: )

?

注意

?????本系列文章限于學習交流,注重過程,由于涉及公司,所以不提供源代碼下載,非常抱歉!!但是請大家放心,核心、實現(xiàn)以及其他能夠貼出來的代碼我都會貼出來,并且爭取盡所能的回答留言里的每一個問題,感謝大家關(guān)注,歡迎交流 :)

?

系列

?????1.?????C# 視頻監(jiān)控系列(1):準備

?????2.?????C# 視頻監(jiān)控系列(2):客戶端——封裝API

?????3.?????C# 視頻監(jiān)控系列(3):客戶端——連接服務(wù)器

?????4.?????C# 視頻監(jiān)控系列(4):客戶端——音頻接收和抓圖

?????5.?????C# 視頻監(jiān)控系列(5):客戶端——給服務(wù)器端發(fā)送字符串和錄像(數(shù)據(jù)捕獲)

?

正文

?????一、給服務(wù)器發(fā)送字符串

??????????實現(xiàn)這個功能非常簡單,感覺不怎么實用。

??????????1.?????VC++ Code:

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

??????????2.?????C# Code:?

PcHikClient.MP4_ClientCommandtoServer("192.168.0.188",?"服務(wù)器你好:)",?14);

??????????從API文檔中能找到關(guān)于這個方法的說明:第一個參數(shù)是服務(wù)器的IP,第二個是要發(fā)送的字符串,第三個參數(shù)是字符串長度。

?????二、客戶端對視頻錄像

??????????客戶端視頻錄像從API文檔(Hikvision 板卡網(wǎng)絡(luò)開發(fā)包編程手冊V4.7)中可以看得出可以由MP4_ClientStartCapture或MP4_ClientStartCaptureFile函數(shù)來實現(xiàn)這個功能,從VC++的源碼可以看得出他是用后者來實現(xiàn)的,簡單省事,但是服務(wù)器端就沒這個函數(shù)了- _-#。但是MP4_ClientStartCapture通過回調(diào)自己寫存儲代碼更加靈活,可以實現(xiàn)諸如統(tǒng)計信息之類的額外功能,這里只提供VC++對應(yīng)的C#版本的MP4_ClientStartCaptureFile

??????????1.?????VC++ Code:

????//開始錄像
????if?(nn1?>=?0)
????{
????????sprintf(filename,
"d:\\mp4test1_%d.mp4",capcount);
????????MP4_ClientStartCaptureFile(nn1,filename);
????????
//MP4_ClientStartCapture(nn1);
????}
????
//關(guān)閉錄像
????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參數(shù)對應(yīng)錯誤,否則無法創(chuàng)建文件并一直返回false,現(xiàn)在已經(jīng)更新前面的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參數(shù)數(shù)據(jù)類型變化。MP4_ClientStopCapture的參數(shù)也是long數(shù)據(jù)類型,不過不影響,改不改成int無所謂。

?

遺留問題

?????保存下來的mp4文件顯示的播放總時間和實際播放時間總是差3秒,例如總時間是48秒,而播到45就沒有了,比較奇怪,不過影響不大:)

?

結(jié)束

??????????本章內(nèi)容仍然簡單,出錯仍然出在數(shù)據(jù)類型對應(yīng)上,所以大家需要多留意了: )

轉(zhuǎn)載于:https://www.cnblogs.com/carekee/articles/2220198.html

總結(jié)

以上是生活随笔為你收集整理的C# 视频监控系列(5):客户端——给服务器端发送字符串和录像(数据捕获)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。