【问题标题】:Is it possible to synchronize videos across multiple computers using WPF?是否可以使用 WPF 在多台计算机上同步视频?
【发布时间】:2009-06-02 16:28:46
【问题描述】:

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

那么对于所有那些 WPF 大师,你怎么看?这可以与 WPF 一起使用还是我需要退回到 DirectShow?一些关于如何做到这一点的指针,也很好。

[编辑]

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

[/编辑]

非常感谢,

胡里奥

【问题讨论】:

    标签: wpf video synchronization


    【解决方案1】:

    您可以尝试使用我的项目WPF Mediakit。如果需要访问低级别的 DirectShow 内容,它应该会让您领先一步。

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

    在 MediaKit 中,MediaUriElement 控件具有一个名为“PreferedPositionFormat”的属性。如果您将其设置为 Frames(并且您使用的编解码器支持它..大多数时候它们不支持 MediaTime),您可以在何处设置“Position”属性的帧粒度。甚至 MediaTime 格式可能就足够了。

    【讨论】:

    • 非常感谢。你的项目很吸引人,解决方案很有希望。您的博客也已注册。
    【解决方案2】:

    让 WPF 通过 RTSP 流式传输 ASF,并使用 Windows Media Player 或 VLC / MPlayer 在一台或多台 PC 上播放流。从事物的声音来看,RTSP 流是非标准的,因此您很可能被 WMP 卡住了。

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

    【讨论】:

      【解决方案3】:

      我认为,对于可以在这里享受高清广播的客户来说,更兼容的是使用 silverlight。万一你还没有关注它,它是一个浏览器托管的非常薄的 WPF 版本;)。

      这篇由史诗“Karl Shifflett”撰写的 Codeplex 文章非常广泛地介绍了各种可用的编码选项和支持的平台(当然,除了 ASF)。

      微软 Live.com 托管的 silverlight 流媒体服务有一点重点,它也可能满足您的需求,至少在原型设计方面是这样。

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

      就同步而言,这听起来像是您必须自己动手做的事情。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-02-28
        • 2017-03-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-04
        • 1970-01-01
        • 2019-09-14
        相关资源
        最近更新 更多