2010-10-27 47 views
2

我試圖將一個NetStream對象附加到兩個單獨的視頻對象,而不是從服務器拉多餘的流。預期的行爲將是兩個視頻的顯示相同的內容。但是,我認爲NetStream所附的最後一個視頻是唯一顯示內容的視頻。使用一個NetStream對象同時提供兩個視頻對象

有沒有其他人遇到過這個問題?如果我不需要,我寧願不去使用BitmapData克隆像素的不雅步驟。

感謝

回答

0

爲Flash 10.1的Adobe終於增加了一些新功能,用於直接連接到爲NetStream對象的字節數。新方法稱爲appendBytes,正如它建議的,它允許以編程方式向NetStream對象添加字節。這主要用於Adobe對HTTP流的支持(最終)。在bytearray.org上有關here的更多信息和演示。

這意味着你可以做的是使用HTTP流式傳輸視頻。您可以使用HTTP流式傳輸視頻,然後使用單個HTTP流中的字節提供兩個不同的NetStream。因此,您可以從HTTP流中獲取字節,然後在每個NetStream對象上調用ns.appendBytes(inputbytes)。您將擁有2個NetStream對象,但它會爲您節省嘗試爲每個對象提供冗餘流的帶寬。

你可能會遇到的是,如果你試圖推出自己的視頻分配器,你有skipping between your video segments。 Adobe支持其視頻服務器中的HTTP流拆分,但我一直未能找到一個很好的參考資料,說明如何自己做出這一點。

+0

Huh還沒有看到Adobe實現了這一點,很高興有流式替代方案。最後,我將需求更改爲允許單個視頻32x9窗口。但這對於未來的人們來說可能是一種選擇。 – Stuart 2011-02-22 07:13:51

0

嗯,是不是有點愚蠢的解碼視頻流兩次?在enterFrame處理程序中使用BitmapData.draw()來複制視頻非常簡單且高效。

+1

它並不像您想象的那麼簡單,因爲swf的幀率不一定與視頻匹配。另外,閃存中的drm控件可防止在沒有正確的fms策略文件的情況下將視頻繪製爲位圖。當你使用cdn而不控制fms時,這並不總是可能的。理想情況下,將會有一個解碼器對象,用於將網絡流傳輸到多個視頻。 – Stuart 2011-03-19 05:10:04