如何在 UWP 中显示 MJPEG 流

How do I display MJPEG stream in UWP

我有一个基于 HTTP 的 MJPEG 格式的视频流。

我尝试使用 MjpegProcessor https://channel9.msdn.com/coding4fun/articles/MJPEG-Decoder link。

根据提供的说明,我在我的项目中引用了 MjpegProcessor.winmd dll。但似乎 FrameReady 事件没有 Bitmap/BitmapImage 成员。我做错了什么?他们是否有任何其他方式在 UWP 中流式传输 MJPEG?

是的,在UWP中FrameReadyEventArgs中没有Bitmap/BitmapImage。在 UWP 应用程序中,我们应该像下面这样使用 FrameBuffer 属性:

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;
    }
}