C# 使用MediaElement在UWP中播放UDP H.264字节流

C# 使用MediaElement在UWP中播放UDP H.264字节流,c#,uwp,video-streaming,h.264,C#,Uwp,Video Streaming,H.264,我正在通过UDP从Tello无人机接收H.264流。我想在UWP应用程序中实时显示视频。我尝试写入一个MemoryStream,该MemoryStream被分配给一个MediaSource,该MediaSource被分配给一个MediaElement。没有快乐 var mediaSource = MediaSource.CreateFromStream(_stream.AsRandomAccessStream(), "video/avc"); _mediaPlayerElement.Source

我正在通过UDP从Tello无人机接收H.264流。我想在UWP应用程序中实时显示视频。我尝试写入一个MemoryStream,该MemoryStream被分配给一个MediaSource,该MediaSource被分配给一个MediaElement。没有快乐

var mediaSource = MediaSource.CreateFromStream(_stream.AsRandomAccessStream(), "video/avc");
_mediaPlayerElement.Source = mediaSource;
几年前我用DirectShow。我是在看媒体基金会,但好像很多年前这些都被贬低了。
在这一点上,我对尝试的想法感到茫然。如何使UDP流H.264在UWP应用程序中显示?

< P > UWP媒体元素在其后端有媒体基础(媒体基础良好,是目前UWP中的低级媒体API)。但是,您正在寻找的协议没有内置支持。您应该开发一个集成层,将您拥有的数据转换为MediaElement可以使用的数据

它可能是一个协议处理程序,例如,你基本上想注入H.264数据,并将它格式化为媒体基础友好的方式,这样MediaEngEnter可以应用标准的解码器,并通过媒体基础管道将内容路由到演示。就所使用的API而言,的第12页应该是一个很好的参考点


或者它也可以是一个可能更简单的媒体流源,在这里的幻灯片5、20中进行了解释。

很抱歉直截了当,但这是一个声明,不是一个问题。请用可回答的方式重新表述。谢谢肖恩。我已经看过adaptive streaming文档。我不知道如何将其应用于UDP流。我有一个UDP客户端,它监听一个端口。没有像TCP那样的端点,所以我不知道如何向MediaSource提供URI。我收回关于URI的话。我刚试过”udp://192.168.10.1:11111“没有运气。在放弃之前,我会先考虑一下这个想法。它非常简单,只需使用VideoEncodingProperties.CreateH264()设置MediaStreamSource并手动设置宽度/高度。然后在MediaStreamSource.SampleRequested事件中将UDP数据报提供给args.Request.Sample属性。还有一点,比如跟踪帧速率等,但我有一些基本的功能。如果有人想知道它是如何工作的:@MarkLauter-你知道有没有一种方法可以实现你在桌面应用程序(不是UWP)上所做的吗?不,我不确定,但视频组件应该是类似的。