繁体   English   中英

如何在Windows 8 Metro C#XAML应用程序中播放H.264 RTSP视频?

[英]How can I play H.264 RTSP video in Windows 8 Metro C# XAML app?

我有一个设备,提供来自URL的H.264视频流,如:rtsp://192.168.0.10:554 / videoservice

由于这是实时视频,我不需要能够控制它(暂停,倒带等),只需播放。 这是否受MediaElement或其他标准类的支持,我是否需要像Smooth Streaming Client SDK这样的东西,还是比我想象的要复杂得多?

更新:我下载了微软的播放器框架,但这也没有播放流。 我在RTSP的例子中找不到任何东西。

更新:我使用Wireshark来比较VLC Media Player (其工作)与MediaElement和Player Framework发送的数据包,但它们似乎都没有使用RTSP协议。 相反,他们将WPAD数据包发送到不同的地址,即使我已经提供了源的IP地址。 为什么这有必要? 有没有办法扭转这种行为?

请看这里的帖子。 您需要将数据包装在MPEG-4 Part 14容器中,然后将它们传递给MediaElement.SetSource 看来你只能使用文档化的API来做到这一点。 以下是链接中的重要信息:

我们不支持RTP,而是支持MPEG-4 Part 14容器格式。 您需要编写我们自己的源,以便能够解析数据并将其直接传递给Microsoft解码器。 目前,我们没有任何关于如何编写自定义源代码的示例,并将其从Metro风格应用程序加载。 不幸的是,不可能简单地使用文档来弄清楚如何做到这一点。 我一直在和斯坦谈话,我们正在努力弄清楚我们如何以及何时可以提供这些信息。 一旦有这些信息,我将在我的博客http://blogs.msdn.com/mediasdkstuff/上公布。

以下是支持的视频格式列表。

还有一个例子这里的如何延长这可能对如何做类似你所要求的东西的例子媒体类。

还有一个类似的例子在这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM