2012-01-03 88 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