2012-11-27 54 views
0

我有一個問題。AS3 - 如何將流式視頻保存到圖像序列?

當我在我的Flash播放器(AS3)中傳輸視頻(使用RTMP)時 - 我看到的幀與原始視頻中的幀有點不同[b]。

我想以某種方式保存,我在我的播放器將圖像序列顯示幀,

,這樣我可以檢查並瞭解每幀我從流中流露出來的原始幀之間的差異在原始視頻中。

這是如何實現的? (視頻長5分鐘,每秒25幀)。

+1

捕獲視頻如果您沒有訪問FMS,那麼你就需要第三方屏幕抓取器。如果您有權訪問FMS,則可以調整設置以允許您複製幀的bitmapData。你使用的是什麼類型的系統。 – Gone3d

+0

我將使用FMS來傳輸視頻,但目前我只是從本地硬盤加載它,然後在播放器中播放它。我嘗試編碼bitmapData,因爲我有120,000幀的視頻 - 所以我不能保存所有的位圖到內存,因爲Flash限制我在內存大小 –

+0

,然後只是得到一個幀抓取工具。我在我的Mac上使用SnapZPro - 它會複製出你想要的任何東西。還有很多其他的個人電腦。 – Gone3d

回答

0

首先,您應該在fms腳本上設置以下標誌,它允許您訪問流視頻或音頻。

application.onConnect = function(client,....) 
{ 
... 
    client.audioSampleAccess = "/"; 
    client.videoSampleAccess = "/"; 

} 

其次在客戶端,您可以使用BitmapData.draw方法從VideoDisplayObject

var snapshot:BitmapData = new BitmapData(video.width, video.height); 
    snapshot.draw(videoDisplay);