C\#AForge 를 호출 하여 카메라 비디오 를 실현 하 는 예제 코드

2819 단어 C#카메라비디오
1:우선 다운로드라 이브 러 리 파일>>
할 수 있어 요홈 페이지 에서 찾기>
다운로드
MP4 로 출력 하려 면 ffmpeg 과 관련 된 파일 이 필요 합 니 다.제 가 포장 한 라 이브 러 리 는 이미 가 져 왔 습 니 다.홈 페이지 에서 찾 은 라 이브 러 리 는 이 디 렉 터 리 에서 찾 을 수 있 습 니 다.

2:이 인용 추가:

3:전역 변수 두 개:

//       
 private VideoCaptureDevice Camera = null;
 //               
 private VideoFileWriter VideoOutPut = new VideoFileWriter();


     :
 //       
var devs = new FilterInfoCollection(FilterCategory.VideoInputDevice);

//        (    1 )
Camera = new VideoCaptureDevice(devs[0].MonikerString);

//      ( , ,  ,      )VideoCapabilities                ,            ,    1 
Camera.VideoResolution = Camera.VideoCapabilities[0];

//    ,aforge              
Camera.NewFrame += Camera_NewFrame;

//     
Camera.Start();

//      (       ,       ),      
VideoOutPut.Open("E:/VIDEO.MP4", 
    Camera.VideoResolution.FrameSize.Width, 
    Camera.VideoResolution.FrameSize.Height, 
    Camera.VideoResolution.AverageFrameRate, 
    VideoCodec.MPEG4, 
    Camera.VideoResolution.BitCount);
 AForge           :
//    
private Bitmap bmp = new Bitmap(1, 1);

//       
private void Camera_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
 //    
 VideoOutPut.WriteVideoFrame(eventArgs.Frame);
 lock (bmp)
 {
  //       
  bmp.Dispose();
  //      
  bmp = eventArgs.Frame.Clone() as Bitmap;
 }
}
끝 코드:

   //    
   Camera.Stop();

   //      ,       ,           ,    
   VideoOutPut.Close();
4:App.config 를 수정 하고 net 2.0 을 호 환 합 니 다.

<?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>
그렇지 않 으 면 이렇게 될 것 이다.

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기