C#結(jié)合AForge如何實(shí)現(xiàn)攝像頭錄像

這篇文章主要介紹C#結(jié)合AForge如何實(shí)現(xiàn)攝像頭錄像,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

專(zhuān)注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)建水免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了超過(guò)千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

輸出為MP4需要用到ffmpeg相關(guān)的文件,我打包的庫(kù)已經(jīng)帶了,去官網(wǎng)找的庫(kù)可以在這個(gè)目錄找到:

C#結(jié)合AForge如何實(shí)現(xiàn)攝像頭錄像

2:

添加這些引用:

C#結(jié)合AForge如何實(shí)現(xiàn)攝像頭錄像

3:

兩個(gè)全局變量:

//用來(lái)操作攝像頭
 private VideoCaptureDevice Camera = null;
 //用來(lái)把每一幀圖像編碼到視頻文件
 private VideoFileWriter VideoOutPut = new VideoFileWriter();

開(kāi)始代碼:

//獲取攝像頭列表
var devs = new FilterInfoCollection(FilterCategory.VideoInputDevice);

//實(shí)例化設(shè)備控制類(lèi)(我選了第1個(gè))
Camera = new VideoCaptureDevice(devs[0].MonikerString);

//配置錄像參數(shù)(寬,高,幀率,比特率等參數(shù))VideoCapabilities這個(gè)屬性會(huì)返回?cái)z像頭支持哪些配置,從這里面選一個(gè)賦值接即可,我選了第1個(gè)
Camera.VideoResolution = Camera.VideoCapabilities[0];

//設(shè)置回調(diào),aforge會(huì)不斷從這個(gè)回調(diào)推出圖像數(shù)據(jù)
Camera.NewFrame += Camera_NewFrame;

//打開(kāi)攝像頭
Camera.Start();

//打開(kāi)錄像文件(如果沒(méi)有則創(chuàng)建,如果有也會(huì)清空),這里還有關(guān)于
VideoOutPut.Open("E:/VIDEO.MP4", 
    Camera.VideoResolution.FrameSize.Width, 
    Camera.VideoResolution.FrameSize.Height, 
    Camera.VideoResolution.AverageFrameRate, 
    VideoCodec.MPEG4, 
    Camera.VideoResolution.BitCount);
給AForge輸出圖像數(shù)據(jù)的回調(diào)方法:
//圖像緩存
private Bitmap bmp = new Bitmap(1, 1);

//攝像頭輸出回調(diào)
private void Camera_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
  //寫(xiě)到文件
  VideoOutPut.WriteVideoFrame(eventArgs.Frame);
  lock (bmp)
  {
    //釋放上一個(gè)緩存
    bmp.Dispose();
    //保存一份緩存
    bmp = eventArgs.Frame.Clone() as Bitmap;
  }
}

結(jié)束代碼:

  //停攝像頭
      Camera.Stop();

      //關(guān)閉錄像文件,如果忘了不關(guān)閉,將會(huì)得到一個(gè)損壞的文件,無(wú)法播放
      VideoOutPut.Close();

4:

修改App.config,兼容net2.0的一些東西:
C#結(jié)合AForge如何實(shí)現(xiàn)攝像頭錄像

<?xml version="1.0" encoding="utf-8"?>
<configuration>
 <startup useLegacyV2RuntimeActivationPolicy="true">
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
 </startup>
 <supportedRuntime version="v2.0.50727"/>
</configuration>

C#結(jié)合AForge如何實(shí)現(xiàn)攝像頭錄像

以上是“C#結(jié)合AForge如何實(shí)現(xiàn)攝像頭錄像”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

文章名稱(chēng):C#結(jié)合AForge如何實(shí)現(xiàn)攝像頭錄像
文章轉(zhuǎn)載:http://bm7419.com/article36/igojpg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)品牌網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站全網(wǎng)營(yíng)銷(xiāo)推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)