2011-06-07 183 views
1

我們想構建一個Flash視頻播放器來播放FLV視頻。除了基本的視頻控件,客戶端下面也希望擁有該視頻的播放器播放慢動作,快進,在Flash視頻播放器中回放視頻播放器

  1. 慢動作
  2. 快進
  3. 倒帶

我們正在使用的ffmpeg轉換視頻(從PHP腳本)flv視頻。從這個視頻Flash播放器必須執行這些操作。我們被告知不能在flv中執行這些功能,我們需要將此flv轉換爲swf以開發這些功能。如果是這樣的話,我們必須再做一次從flv到swf的轉換,我認爲轉換過程將會很長。

是否有任何方法可以在不將flv視頻轉換爲swf的情況下在Flash動作腳本中實現這些功能?

+0

這是慢動作加上其他功能的最佳解決方案:http://slomoplayer.com有一個免費下載的Slomo播放器。 – 2011-08-18 13:34:06

回答

0

快進和快退很容易做到,儘管不是傳統意義上的。

兩者都涉及定時器,您只需在間隔中尋找前一個或將來的點。這是而不是向前和向後加速播放視頻。

至於慢動作...你在那裏的一個更緊密的修復。我知道在Flash視頻播放器中實現慢動作有兩種(理論)方式。如你所見,這些都不是理想的解決方案。 (我已經編碼了3個全功能的Flash播放器+錄像機,並處理這個相同的兔子洞):

1)你不通過rtmp蒸而是http漸進式下載。一旦將數據加載到視頻的閃存中,就可以通過刪除或複製p幀的算法來運行它。從而增加或減少視頻時間。音頻同步將是一個噩夢,即使你把它關掉。

2)您可以以他們希望的「慢動作」所希望的速度編碼第二個視頻。您可以同時加載兩個視頻,並在按下/釋放按鈕時在適當的時間進行切換。

+0

感謝您的輸入。如果我們在慢動作時不需要聲音,這是否可以實現?我想知道這是否可以在不將flv轉換爲swf的情況下實現。請讓我知道 – Crd007 2011-06-07 07:46:26

+0

無論聲音如何,最好的方法是將您的視頻的兩個版本進行融合:普通和慢動作。您需要同時加載兩個NetStream,一個連接到Video對象,另一個連接到後臺。當用戶按下「慢動作」時,您可以將slowMotionStream附加到Video對象。按下播放將回到您的正常流。 – 2011-06-07 18:13:18