通用 Windows 平台应用程序的 MJPEG 流解码器

MJPEG stream decoder for Universal Windows Platform app

我正在为学校开发一个 UWP 应用程序,我试图在该应用程序中显示来自 raspberry pi 的 MJPEG 流。所有可用的解码器似乎都适用于 windows phone 8.1,但不适用于新的 UWP 应用程序。

我可以做些什么来在我的应用程序中使用这些流吗?

如果没有,是否有我可以使用的工具来转换流并以正确的格式将它们流式传输到另一个端口?这可以用于覆盆子或只是 windows.

提前致谢

这里是一个MJPEG Decoder that supports UWP apps. To use it, we can download 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;
        }
    }
}