2013-10-23 25 views
0

我無法從我的攝像頭錄製視頻。我試圖實現VideoFileWriter,但不斷收到錯誤「無法找到指定的模塊(來自HRESULT的異常:0x8007007E)」。每當我將視頻寫入器註釋掉,一切都很好,但是當試圖用寫入器將它記錄到硬盤驅動器時,我得到錯誤。 我希望這是一個容易解決的問題。以下是我的代碼。使用AForge的VideoFileWriter錄製

private FilterInfoCollection VideoCaptureDevices; 
     private VideoCaptureDevice FinalVideoSource; 
     Bitmap image; 
     private VideoFileWriter writer; 

     void VideoShow() 
     { 
      VideoCaptureDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); 
      FinalVideoSource = new VideoCaptureDevice(VideoCaptureDevices[0].MonikerString); 
      FinalVideoSource.NewFrame += new NewFrameEventHandler(FinalVideoSource_NewFrame); 
      FinalVideoSource.DesiredFrameRate = 15; 
      FinalVideoSource.DesiredFrameSize = new Size(1280, 800); 
      FinalVideoSource.Start(); 
     } 

     void FinalVideoSource_NewFrame(object sender, NewFrameEventArgs eventArgs) 
     { 
      image = (Bitmap)eventArgs.Frame.Clone(); 
      pictureBox1.Image = image; 
      writer.WriteVideoFrame(image); 
     } 

     public AForgeRecorder() 
     { 
      InitializeComponent(); 
     } 

     private void btnStart_Click(object sender, EventArgs e) 
     { 
      writer = new VideoFileWriter(); 
      VideoShow(); 
      writer.Open(@"C:\testvvid.avi", 1280, 800, 15, VideoCodec.MPEG2, 128); 
     } 

     private void btnStop_Click(object sender, EventArgs e) 
     { 
      if (writer != null) 
      { 
       writer.Close(); 
      } 
     } 

在此先感謝

+0

這可能是因爲您缺少AForge程序集所依賴的本機DLL。下載依賴步行者並加載你的程序集,直到找到罪魁禍首。 –

回答

2

這很容易,Afrog VideoFileWriter使用FFMPEG.dll,所以下載FFMPEG拉鍊,複製從斌所有5個DLL(avcodec中-53.dll,......等),到您的項目,右鍵單擊您的項目,單擊添加現有的參考,選擇所有的DLL,使他們的行爲總是複製, +您需要.net 3.5或更少。所以使用較低的幀工作