2014-04-23 3 views
0

웹캠에서 캡처 한 비디오를 로컬 디스크에 저장하고 싶습니다. 웹캠을 보여주는 코드를 작성했지만 로컬 디스크에 저장할 수 없습니다. 오류는 입니다. 압축 된 스트림을 만들지 못했습니다.. 내가 여기서 뭘해야하지?로컬 디스크에 Aforge 비디오 캡처 및 저장

  writer = new AVIWriter("wmv3"); 
      writer.FrameRate = 30; 
      writer.Open("video.avi", Convert.ToInt32(640), Convert.ToInt32(480)); // ERROR İS HERE **Failed creating compressed stream.** 

      //Create NewFrame event handler 
      //(This one triggers every time a new frame/image is captured 
      videoSource.NewFrame += new AForge.Video.NewFrameEventHandler(videoSource_NewFrame); 

      //Start recording 
      videoSource.Start(); 


     } 
    }  
    void videoSource_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) 
    { 

     //Cast the frame as Bitmap object and don't forget to use ".Clone()" otherwise 
     //you'll probably get access violation exceptions 
     pictureBoxVideo.BackgroundImage = (Bitmap)eventArgs.Frame.Clone(); 
     writer.AddFrame((Bitmap)eventArgs.Frame.Clone()); 
    } 
+0

를 설치 한 마 : 내 버그 크기의 세트에 코드의 나머지 부분이 올바른지 여부,하지만 난 확신 몰라? 나는 틀릴 수도 있지만, [here] (http://www.microsoft.com/expression/eng/#encoder)에서 Microsoft Expression Encoder를 다운로드하여 설치하는 것을 고려해야합니다. –

+0

설치되었지만 Microsoft Expression Encoder를 Visual Studio 2012로 인코딩하는 방법은 무엇입니까? –

답변

0

웹캠의 스트림 크기를 생각해 본 적 있으십니까? 나는 똑같은 문제가있다. 비디오 크기를 640과 480로 설정했지만 웹캠에서 오는 비디오 스트림 크기는 결코 같지 않을 것입니다. 또한 picturebox 나 imagebox와 같은 컨테이너를 640과 480로 설정했다고 생각 하겠지만 비디오 스트림이 동일하다는 것을 의미하지는 않습니다. 내 웹캠에서 나오는 비디오 스트림을 확인하기 위해 savedialog를 사용합니다. 크기는 (648, 486)입니다. 그런 이상한 숫자를 누가 설정할 것입니까? ("video.avi"Convert.ToInt32 (648), Convert.ToInt32 (486))

writer.Open;하지만이에 내 코드를 설정

그리고 제대로 작동합니다.

난 당신이 WMV3 인코더가 컴퓨터에

관련 문제