是否可以使用WPF在多台计算机之间同步视频?

时间:2009-05-27 10:11:13

标签: wpf video synchronization

是否可以跨两台或多台计算机同步WPF应用程序中运行的视频?同步在同一台机器上运行的多个视频似乎可以很好地使用ParallelTimeline类和每个视频实例的MediaTimelines,但我还没有找到一种方法在不同的计算机上执行此操作,如果可能的话,将启用一些令人难以置信的多屏幕安装。

那么对于那些WPF大师来说,你怎么看?这可以用于WPF还是我需要回到DirectShow?关于如何做到这一点的一些指示也很不错。

[编辑]

我的问题似乎有些混乱,所以让我澄清一下。我正在考虑建立大型多屏幕视频装置的可能性,比方说8个或更多屏幕。每个屏幕播放一个全高清(至少720p)视频,构建一个统一的显示屏,在这种情况下是一个分辨率为10,240 x 5,760的视频墙。当然,所有视频都必须同步。从一台计算机上播放所有8个高清视频(即使计算机能够运行)也意味着硬件,硬盘,内存,显卡等的性能压力很大。另一方面,如果你能够连接8台计算机与TCP一起,每个负责通过与主计算机同步的时钟播放视频,你可以构建一些非常酷的东西,具有很大的灵活性。我见过用Max / Jitter完成的类似安装。但我不喜欢Max / Jitter范例,我更喜欢WPF并且如果可以构建这样的东西就会徘徊。

[/编辑]

非常感谢,

3 个答案:

答案 0 :(得分:2)

您可以尝试使用我的项目WPF Mediakit。如果需要访问低级DirectShow内容,它应该为您提供前进的方法。

为此,基本上您将一台计算机指定为“服务器”,其余计算机指定为“客户机”。客户端将连接到服务器以获取当前位置,将其与当前位置进行比较。如果存在n个差异,请寻求调整。

MediaKit开箱即用,MediaUriElement控件有一个名为“PreferedPositionFormat”的属性。如果你将它设置为Frames(并且你正在使用的编解码器支持它......大多数时候它们不支持MediaTime),你可以拥有设置“Position”属性的框架粒度。甚至MediaTime格式也足够了。

答案 1 :(得分:0)

获取WPF以通过RTSP流式传输ASF,并使用Windows Media Player或VLC / MPlayer在一台或多台PC上播放流。根据事物的声音,RTSP流是非标准的,所以很可能你会被WMP困住。

http://www.windowskb.com/Uwe/Forum.aspx/windows-media-player/85238/RTSP-Problems

答案 2 :(得分:0)

我认为,就可以在这里享受高清广播的客户而言,更适合使用银色灯光。如果你没有关于它,它是一个浏览器托管非常薄的WPF版本;)。

史诗“Karl Shifflett”的这篇Codeplex文章对于各种可用的编码选项和支持的平台非常广泛(超出ASF的范围)。

有一点关注Microsoft Live.com托管的silverlight流媒体服务,它可能也适合您的需求,至少对于原型设计而言。

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

就同步化而言,这听起来像你需要自己烘烤的东西。