2009-05-27 61 views
3

是否可以通過兩臺或更多臺計算機同步在WPF應用程序中運行的視頻?同步在同一臺機器上運行的幾個視頻似乎可以很好地爲每個視頻實例使用ParallelTimeline類和MediaTimelines,但我還沒有找到一種方法在不同的計算機上執行此操作,如果可能的話,它將啓用一些令人難以置信的多屏幕安裝。是否有可能使用WPF跨多臺計算機同步視頻?

那麼對於所有那些WPF大師,你覺得呢?這可以與WPF一起工作還是需要回退到DirectShow?有關如何做到這一點的一些指示,也會很好。

[編輯]

似乎是關於我的問題,所以讓我澄清一些混亂。我正在考慮構建一個大型多屏幕視頻安裝的可能性,假設有8個或更多的屏幕。每個屏幕播放全高清(至少720p)視頻,構建統一的顯示屏,在這種情況下,分辨率爲10,240 x 5,760的視頻牆。當然所有的視頻都必須同步。在一臺電腦上播放所有8個高清視頻(即使電腦能夠使用)意味着硬件,硬盤,內存,顯卡等方面的性能壓力很大。另一方面,如果您能夠連接8臺電腦與TCP一起,每個負責使用與主計算機同步的時鐘播放他們的視頻,您可以構建一些非常酷的東西,並具有很大的靈活性。我已經看到用Max/Jitter完成類似的安裝。但我不喜歡Max/Jitter範例,我更喜歡WPF,並且如果可以構建這樣的東西,它就會遊蕩。

[/編輯]

非常感謝,

胡里奧

回答

2

您可以嘗試使用我的項目,WPF Mediakit。如果需要訪問低級DirectShow的話,它應該讓你前進。

要做到這一點,基本上你會指定一臺計算機作爲「服務器」,其餘的作爲「客戶」。客戶端將連接到服務器以獲取當前位置,將其與當前位置進行比較。如果存在n數量的差異,則嘗試調整。

MediaKit開箱即用,MediaUriElement控件具有一個名爲「PreferedPositionFormat」的屬性。如果你將它設置爲Frames(並且你正在使用的編解碼器支持它,大多數時候他們不支持MediaTime),那麼你可以設置幀的粒度來設置「Position」屬性。即使MediaTime格式可能也足夠了。

+0

非常感謝。您的項目非常有趣,解決方案也很有前途。您的博客也已經註冊。 – 2009-06-02 09:44:48

0

我會覺得更compatiable,只要客戶能在這裏享受你的高清廣播的,將是您使用Silverlight。如果你還沒有涉及它,它是一個瀏覽器託管的非常薄的WPF版本;)。

這篇由史詩般的「Karl Shifflett」編寫的Codeplex文章對各種可用的編碼選項和支持的平臺(當然超出ASF)非常廣泛。

有一點關注Microsoft Live.com託管的Silverlight流媒體服務,它可能也適合您的需求,至少對於原型設計而言。

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

至於同步化得好,那聽起來象是你將不得不自己來烤。

相關問題