2012-01-03 89 views
0

在本地as3應用程序中轉換爲png,我需要以每秒25幀的速度捕捉視頻,並將bytearray發送到本地python腳本。 當我嘗試將字節數組編碼爲as3中的png時,它要慢很多。 所以我決定只寫字節組原料從我得到:什麼是as3 bitmapdata bytearray格式/如何在python

var bitmapdata:BitmapData = new BitmapData(_videow,_videoh,false,0); 
bitmapdata.draw(_video); 
var ba:ByteArray=bitmapdata.getPixels(bitmapdata.rect); 

這是非常高性能和不幀下降爲止。然而,我需要將這些原始字節轉換爲python一側的png。 任何想法我能如何實現這一目標?

謝謝!

回答

0

這與 PCX *(一些早期的BMP變體)大致相同。它實際上與BMP非常相似,除了沒有標題,並且像素從左到右書寫,ARGB從上到下爲透明位圖數據,而RGB爲實體。

你使用了什麼PNG編碼器?你有沒有試過這個:http://www.blooddy.by/en/crypto/?當然,Python可能在幕後使用GD/Imagemagic,所以,顯然C代碼會更快,但如果你想讓它在用戶的PC上運行,那麼我試試這個。

PS:http://www.senocular.com/flash/actionscript/?file=ActionScript_3.0/com/senocular/images/BMPEncoder.as這可能會給出一些見解,因爲它會將位圖數據轉換爲BMP。

  • 對不起,這不是一個PCX,我把PCX弄糊塗了,它只是一個BMP的變體,具有不同的像素順序。
+0

好的,會檢查,謝謝! – zantafio 2012-01-05 01:32:02

+0

嗯,我查過了。兩者仍然不夠快。 另外我需要透明度,所以bmp不是一個真正的選擇。 無論如何謝謝 – zantafio 2012-01-05 01:51:26

+0

一,我明白了,會試試。萬分感謝。 – zantafio 2012-01-05 12:25:01