2016-09-07 7 views
1

Я работаю над приложением UWP для школы, где я пытаюсь отобразить поток MJPEG из моего малина pi в приложении. Все доступные декодеры, похоже, работают для Windows Phone 8.1, но не для новых приложений UWP.MJPEG потоковый декодер для приложения для универсальной платформы Windows

Есть ли что-нибудь, что я могу сделать, чтобы использовать эти потоки в моем приложении?

Если нет, есть ли инструмент, который я могу использовать для преобразования потоков и потоков их на другом порту в правильном формате? Это может быть для малины или просто для окон.

Заранее спасибо

+0

код [Microsoft Media Foundation] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms694197.aspx), по меньшей мере, [частично поддерживается в приложении UWP] (HTTPS : //msdn.microsoft.com/en-us/library/windows/apps/mt592894.aspx#multimedia). И он предлагает [MJPEG-декодер] (https://msdn.microsoft.com/en-us/library/windows/desktop/dd757927.aspx). – IInspectable

ответ

5

Вот MJPEG Decoder, который поддерживает UWP приложений. Чтобы использовать его, мы можем скачать MJPEG Decoder Binaries, а затем ссылку MjpegProcessor.winmd в проекте.

После этого мы можем использовать следующий код для отображения потока MJPEG.

public sealed partial class MainPage : Page 
{ 
    private MjpegDecoder mjpegDecoder; 

    public MainPage() 
    { 
     this.InitializeComponent(); 
     mjpegDecoder = new MjpegDecoder(); 
     mjpegDecoder.FrameReady += mjpeg_FrameReady; 
    } 

    protected override void OnNavigatedTo(NavigationEventArgs e) 
    { 
     mjpegDecoder.ParseStream(new Uri("URI HERE")); 
    } 

    private async void mjpeg_FrameReady(object sender, FrameReadyEventArgs e) 
    { 
     using (InMemoryRandomAccessStream ms = new InMemoryRandomAccessStream()) 
     { 
      await ms.WriteAsync(e.FrameBuffer); 
      ms.Seek(0); 

      var bmp = new BitmapImage(); 
      await bmp.SetSourceAsync(ms); 

      //image is the Image control in XAML 
      image.Source = bmp; 
     } 
    } 
} 
+0

Удивительный! спасибо за ваше время, попробуем попробовать как можно скорее :) – jeroenvdbergh

+0

@Jay Zou - MSFT: MjpegProcessor.winmd все еще работает хорошо? –