2013-08-08 3 views
3

나는 라이브러리에서 비디오를 선택하고 단추를 클릭 할 때 이미지로 프레임을 저장하는 시나리오가 있습니다. 우리는 wpf에서 재생중인 비디오의 현재 프레임을 캡처 할 수 있습니다.비디오의 현재 프레임 저장 - Windows Store app

나는 윈도우 폰에 이런 짓을했다

 WriteableBitmap bmpCurrentScreenImage = new WriteableBitmap((int)media.ActualWidth, (int)media.ActualHeight); 
     bmpCurrentScreenImage.Render(media, new MatrixTransform()); 
     bmpCurrentScreenImage.Invalidate(); 
     try 
     { 
      using (var stream = new MemoryStream()) 
      { 
       bmpCurrentScreenImage.SaveJpeg(stream, bmpCurrentScreenImage.PixelWidth, bmpCurrentScreenImage.PixelHeight, 0, 100); 
       stream.Seek(0, SeekOrigin.Begin); 
       BitmapImage bi = new BitmapImage(); 
       bi.SetSource(stream); 
       img.Source = bi; 
      } 
     } 
     catch (Exception exp) 
     { } 

있지만 Windows 스토어 앱 WritableBitmap 클래스의 8

이 SaveJpeg 같은 그런 기능 없음() 그래서 난 WriteableBitmap w = await WriteableBitmapRenderExtensions.Render(myMedia); w.Invalidate(); thumb.Source = w; toolkit-에서 WriteableBitmapRenderExtensions를 사용하지만이 작동하지 않습니다 미디어 요소 만.

고글에서 나는 가장 유사한 게시물을 This post과 발견했으나 C++ 이래로 어떻게 사용할 수 있는지 이해할 수 없으며 C#으로 내 앱을 만들고 있습니다.

+0

처리 했습니까? –

+0

미디어의 현재 프레임을 저장하지 않아서 비디오를 재생할 때 검은 색 이미지가 나타납니다. 나중에 서버에 저장하기 위해 비디오의 축소판을 만들려면이 기능이 필요했고 비디오에 기본으로 만들어진 축소판을 사용해야했습니다. – Abhishek

답변

0

라이브 캡처 및 비디오 파일 작업을위한 Emgu CV 프레임 작업을 사용할 수 있습니다.이 예제를 설명하는 Emgu 커뮤니티의 공식 페이지에 link이 있습니다.