簡體   English   中英

如何播放單個NetStream,但如何在不同的視頻對象上顯示它的不同部分?

[英]How do you play a single NetStream but show different parts of it on different video objects?

我在每幀上並排編碼了每只眼睛的內容的3D視頻。 我要做的是將左半部分放在右半部分上。 (然后,我將更改顏色和覆蓋層,以便戴藍綠色3D眼鏡的人可以觀看視頻)。

我試圖將單個NetStream附加到兩個視頻對象上並偏移它們,但是那只能讓流在一個對象上播放。

有什么建議么?

根據定義,由於是或多或少連續的少量數據流,而不是固定長度的對象,因此您永遠無法同時訪問NetStream的兩個不同位置。 您可以嘗試在幀與幀之間的位置之間“跳轉”,從而產生一種“快門”效果,但這可能效果不佳。

但是,您可以讓視頻對象共享相同的NetConnection,並讓兩個NetStream實例加載同一部電影,或者您可以同時播放兩個單獨的FLV中的左眼和右眼內容。 但是,您將不得不注意同步,並且可能會有輕微的不一致。

如果您以Flash Player 10.1或更高版本為目標,則可以將兩個FLV作為byteArray加載到內存中,然后使用NetStream.appendBytes播放它們。 這應該解決同步問題。

從那以后,我就弄清楚了如何實現自己想要的。

偽代碼:

bmd1 = new BitmapData(...);
bmd2 = new BitmapData(...);
bmp1 = new Bitmap(bmd1);
bmp2 = new Bitmap(bmd2);
addChild(bmp1);
addChild(bmp2);

onEnter {
  bmd1.draw(video, ...transformations)
  bmd2.draw(video, ...transformations)
}

然后將bmp1和bmp2組織到您想要的片段所在的位置,並進行相應的轉換。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM