首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

C# 視訊監控系列(5):客戶端發送字串與本地錄像功能實作

     編輯:關於C#

本文實作客戶端兩項實用功能:向服務端發送自訂字串指令、本地錄像存檔(MP4 容器)。並修正先前 API 簽名中 StockHandle 型別錯誤(long → int)。

一、發送字串給服務端


// 服務端 IP、指令內容、指令長度(位元組數)
PcHikClient.MP4_ClientCommandtoServer("192.168.0.188", "伺服器你好:)", 14);

功能簡單,適用於簡易控制指令傳遞。

二、客戶端本地錄像

API 選擇

  • MP4_ClientStartCaptureFile:直接寫入 MP4 檔,最簡單。
  • MP4_ClientStartCapture:回調方式,需自行寫入檔案,較彈性可加統計資訊。

本文採用第一種。

程式碼實作


int cs; // MP4_ClientStart 回傳的連線代碼

private void btnStartCap_Click(object sender, EventArgs e)
{
    // 開始錄影存為 MP4
    PcHikClient.MP4_ClientStartCaptureFile(cs, @"D:\mp4test1_0.mp4");
}

private void btnStopCap_Click(object sender, EventArgs e)
{
    PcHikClient.MP4_ClientStopCapture(cs);
}

關鍵修正:StockHandle 型別

VC++ 原型修正前修正後
LONG StockHandlelong StockHandleint StockHandle

VC++ LONG 為 32 位有號整數,對應 C# int。MP4_ClientStopCapture 同理。修正後才能正常建立檔案。

已知小問題

產生的 MP4 檔播放總時間比實際長約 3 秒(如顯示 48 秒,實際播到 45 秒結束),不影響正常觀看,後續可研究容器時間戳修正。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved