что такое формат байтового массива as3 bitmapdata / как преобразовать в png в python - PullRequest
0 голосов
/ 04 января 2012

в локальном приложении as3 мне нужно захватить видео со скоростью 25 кадров в секунду и отправить байтовый массив в локальный скрипт на python.когда я пытаюсь закодировать bytearray в png внутри as3, это сильно замедляет работу.поэтому я решил просто написать сырой байтовый массив, который я получил:

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

, это довольно производительно и пока не пропускает кадрыТем не менее, мне нужно преобразовать эти необработанные байты в PNG на стороне Python.Любая идея, как я могу этого достичь?

спасибо!

1 Ответ

0 голосов
/ 04 января 2012

Это примерно так же, как PCX * (некоторый более ранний вариант BMP).На самом деле он очень похож на BMP, за исключением того, что заголовки отсутствуют, а пиксели записываются слева направо, сверху вниз ARGB для прозрачных растровых данных и RGB для сплошных.

Какой кодировщик PNG вы использовали?Вы пробовали это: http://www.blooddy.by/en/crypto/?Конечно, Python может использовать GD / Imagemagic за кулисами, поэтому, очевидно, код на C будет быстрее, но если бы вы хотели, чтобы он работал на ПК пользователя, я бы попробовал.

PS: http://www.senocular.com/flash/actionscript/?file=ActionScript_3.0/com/senocular/images/BMPEncoder.as это может дать некоторую информацию, поскольку это преобразование растровых данных в BMP.

  • Извините, это не PCX, я перепутал PCX с чем-то другим, это простовариант BMP, с другим порядком пикселей.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...