使用WPF是否可以在多台电脑之间同步视频?

3
有没有可能在两台或多台计算机上同步运行WPF应用程序中的视频?使用ParallelTimeline类和每个视频实例的MediaTimelines,同步在同一台机器上运行的几个视频似乎效果很好,但我还没有找到跨不同计算机执行此操作的方法,如果可能的话,将使一些令人难以置信的多屏安装成为可能。
那么对于所有WPF大师们,你们认为呢?这是否适用于WPF,还是需要退回到DirectShow?关于如何做到这一点的一些指针也会很好。
[编辑]
关于我的问题似乎存在一些困惑,让我澄清一下。我正在考虑构建一个大型多屏幕视频安装,假设有8个或更多屏幕。每个屏幕播放全高清(至少720p)视频,构建统一显示,即分辨率为10,240 x 5,760的视频墙。当然,所有视频都必须同步。从单个计算机播放所有8个高清视频(即使计算机具备能力)会对硬件、硬盘、内存、图形卡等造成很大的性能压力。另一方面,如果您能够通过TCP将8台计算机连接在一起,每台计算机负责播放其视频,并将时钟与主计算机同步,您可以构建一些真正酷的东西,并具有很大的灵活性。我看过类似的Max / Jitter安装。但我不喜欢Max / Jitter范例,我更喜欢WPF,并且想知道是否可能构建这样的东西。
[编辑]
非常感谢,Julio
3个回答

2
您可以尝试使用我的项目WPF Mediakit。如果需要访问低级别的DirectShow内容,它应该会让您事半功倍。
要实现这一点,您需要将一个计算机指定为“服务器”,其余计算机则为“客户端”。客户端将连接到服务器以获取当前位置,将其与其当前位置进行比较,如果存在n量差异,则寻求进行调整。
在MediaKit中,默认情况下,MediaUriElement控件具有名为“PreferedPositionFormat”的属性。如果您将其设置为帧(并且您使用的编解码器支持它...大多数情况下它们不支持,只支持MediaTime),则可以具有设置“Position”属性的帧粒度。即使MediaTime格式可能已经足够了。

非常感谢。您的项目很有趣,解决方案也很有前途。您的博客已经注册了。 - Julio Garcia

0

0

我认为更兼容的方式,至少对于能够在此处享受您的高清广播的客户端来说,是使用Silverlight。如果您还没有听说过它,那么它是WPF的浏览器托管非常轻量级的版本 ;)

这篇Codeplex文章由传奇人物"Karl Shifflett"撰写,详细介绍了可用的各种编码选项和支持的平台(肯定不仅限于ASF)。

文章有点侧重于Microsoft Live.com托管的Silverlight流媒体服务,这也可能适合您的需求,至少用于原型制作。

http://www.codeproject.com/KB/scrapbook/HowToCreateArticleVideos.aspx

就同步而言,那听起来像是你自己需要编写的东西。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接