使用AForge錄制視頻


使用AForge錄制視頻,基於Winform開發

(一)首先導入AForge包

需要先導入

using AForge.Video;
using AForge.Video.FFMPEG;

兩個工具包

完整AForge工具包和擴展包可以加群下載

(二)初始化需要屬性參數

 

//初始化設置AForge所需的參數
            this.screenWidth = SystemInformation.VirtualScreen.Width;
            this.screenHight = SystemInformation.VirtualScreen.Height;
            this.frameRate = DEFAULT_FRAME_RATE;
            this.isRecording = false;
            this.framesCount = default(int);
            this.screenArea = Rectangle.Empty;
            this.videoWriter = new VideoFileWriter();
            this.folderBrowser = new FolderBrowserDialog();
            this.videoCodec = (VideoCodec)3;
            this.bitRate = 3000000;

  

(三)開始錄制

               

//寫入當前電腦上的所有屏幕(可能會有雙屏或多屏)
                foreach (Screen screen in Screen.AllScreens)
                {
                    this.screenArea = Rectangle.Union(this.screenArea, screen.Bounds);
                }
                //打開寫入流
                this.videoWriter.Open
                    (this.fileName, this.screenWidth, this.screenHight,
                    this.frameRate, this.videoCodec, this.bitRate);

 

               //初始化設置參數
                InitializeRecordingParameters(AppDomain.CurrentDomain.BaseDirectory + "aaa.avi");
                //開始錄制
                this.videoStreamer = new ScreenCaptureStream(this.screenArea);
                //設置每幀圖像錄制的回調
                this.videoStreamer.NewFrame += new NewFrameEventHandler((object senders, NewFrameEventArgs es) =>
                {
                    this.framesCount++;
                    //寫入到視頻
                    this.videoWriter.WriteVideoFrame(es.Frame);
                });
                this.videoStreamer.Start();

  

(四)結束錄制

               

//停止錄像
                videoStreamer.Stop();
                //關閉寫入器
                videoWriter.Close();

  

 

支持錄制聲音和暫停以及錄制攝像頭,需要的話可以加群討論

完整Demo可以去Github上下載:

https://github.com/a935368322/Kogel.Record.Test

如有問題也可以加QQ群討論:

技術群 710217654


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM