2013-09-22 9 views
0

비디오를 무손실 형식으로 기록 할 수있는 응용 프로그램을 작성하려고합니다. 이 목적을 위해 저는 Webcam-Capture와 Xuggler 라이브러리를 사용합니다. 모든 것이 작동하지만 아웃 아웃 비디오에는 다음과 같은 아티팩트가 있습니다. enter image description here웹캠에서 무손실 형식으로 비디오를 기록하는 방법은 무엇입니까?

그리고이 현상은 모든 프레임에서 발생하는 것이 아니라 거의 5 가지 중 하나입니다. 내 코드 :

@FXML 
public void record() { 
      File file = new File("output.wmv"); 

      IMediaWriter writer = ToolFactory.makeWriter(file.getName()); 
      Dimension size = WebcamResolution.VGA.getSize(); 

      writer.addVideoStream(0, 0, ICodec.ID.CODEC_ID_RAWVIDEO, size.width, size.height); 

      Webcam webcam = Webcam.getDefault(); 
      webcam.setViewSize(size); 
      webcam.open(true); 

      long start = System.currentTimeMillis(); 

      for (int i = 0; i < 50; i++) { 

       System.out.println("Capture frame " + i); 

       BufferedImage image = ConverterFactory.convertToType(webcam.getImage(), BufferedImage.TYPE_3BYTE_BGR); 
       IConverter converter = ConverterFactory.createConverter(image, IPixelFormat.Type.YUV420P); 

       IVideoPicture frame = converter.toPicture(image, (System.currentTimeMillis() - start) * 1000); 
       frame.setKeyFrame(i == 0); 
       frame.setQuality(100); 

       writer.encodeVideo(0, frame); 

       // 10 FPS 
       try { 
        Thread.sleep(40); 
       } catch (InterruptedException e) { 
        e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. 
       } 
      } 

      writer.close(); 

      System.out.println("Video recorded in file: " + file.getAbsolutePath()); 

} 

내가 뭘 잘못하고 있니?

답변

0

귀하의 의존성에 대한 추가 정보가 필요합니다. 아마도 링크가 있을까요?

+0

정확히 필요한 링크는 무엇입니까? – Eugene