Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Обработка видео (http://www.flasher.ru/forum/showthread.php?t=214562)

gilbertoo 22.09.2017 12:25

Обработка видео
 
Добрый день! Подскажите, возможна ли в actionscript обработка видео. Например распознавание области, реакция на движение. Больше всего меня интересует, возможно ли как-то распознать "черный экран". Спасибо.

gilbertoo 07.10.2017 07:40

Попробую немного уточнить свой вопрос. Могу ли я как либо узнать цвет пикселя видео в определенной точке, в определенный момент?

undefined 07.10.2017 11:24

Да,можно снять скриншот с видео и работать с ним как с битмапдатой. Если требуется проверить что весь экран черный можно воспользоваться методом
getColorBoundsRect
Вот только флэш однопоточен и такие проверки на каждом кадре скорее всего будут мешать плавному проигрыванию видео

Добавлено через 23 минуты
upd:если взять реальное видео,то там не будет ни одного кадра, где строго все пиксели имют цвет 0х000000,даже если кадр кажется полностью черным.Поэтому можно сжимать кадр,скажем, до размера 32х32 и считать среднюю интенсивность пикселей сжатого кадра.Такую проверку можно и для каждого кадра делать имхо.

illuzor 07.10.2017 15:24

Цитата:

Вот только флэш однопоточен
Нет. Уже давно есть многопоточность.

undefined 07.10.2017 15:56

А толку от нее? Флэш даже если ничего больше не будет попиксельную обработку видео на 30 фпс не потянет.

illuzor 07.10.2017 19:12

undefined, а кто потянет?

undefined 07.10.2017 19:31

Цитата:

Сообщение от illuzor (Сообщение 1202273)
undefined, а кто потянет?

gpu ?

gilbertoo 08.10.2017 23:32

Цитата:

Да,можно снять скриншот с видео и работать с ним как с битмапдатой
Не соображу, а как можно снять скриншот.
Цитата:

Поэтому можно сжимать кадр,скажем, до размера 32х32 и считать среднюю интенсивность пикселей сжатого кадра.Такую проверку можно и для каждого кадра делать имхо.
И тут я у вас тоже спрошу чуть точнее подсказать, какими классами, методами я могу это провернуть, все той же битмапой? Мне, в принципе, совсем не обязательно обрабатывать каждый кадр, достаточно делать проверку раз в секунду или даже реже.

undefined 08.10.2017 23:49

Отрисовать экранный объект в битмапдату
Используй параметр matrix чтоб результат был требуемых размеров
Узнать цвет точки x,y
В принципе этого достаточно.

gilbertoo 11.10.2017 16:55

Цитата:

Поэтому можно сжимать кадр,скажем, до размера 32х32 и считать среднюю интенсивность пикселей сжатого кадра
Я, к сожалению, не могу найти стандартного метода расчета средней интенсивности в заданной области. getColorBoundsRect все-таки делает немного другое, он рисует прямоугольник в том месте где есть указанный цвет.
Может если только взять getPixels и побитово сложить все значения массива?


Часовой пояс GMT +4, время: 08:23.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.