![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jun 2005
Сообщений: 34
|
Начну издалека. В общем стоит задача создать некое подобие эффекта ambilight нынешних телевизоров.
что это за эффект можно посмотреть тут этот эффект должен распространяться как на картинки, мувиклипы, и видео. Собственно с мувиками и картинками проблем не возникло. Имеется 2 слоя на верхнем оригинальная картинка, на нижнем та же картинка но с повешенным на нее фильтром Blur. Аналогично с мувиклипами. Да и собственно с видео. Но с видео возникла небольшая заморочка. Использую класс Video и с ним работаю через NetStream. Как на любой экземпляр класса наследующегося от DisplayObject на видео тоже можно повесить фильтр. Создаю верхний видеоконтейнер и нижний с Blur. Создаю новый экземпляр NetStream. Но он аттачиться сразу на 2 экземпляра Video не хочет. Вот тут многоуважаемые знатоки и вопрос, а вернее несколько Можно ли используя один netStream приатачить его к двум объектам Video? Или же нужно создавать для каждого видео свой нетстрим? И если создавать каждому видео свой нетстрим, не возникнет ли проблемы с синхронизацией видео?Или же есть какой-нибудь другой способ? Поделитесь опытом пожалуйста. Премного буду благодарен за любые ответы и линки.
__________________
Автор благодарит алфавит за предоставленые буквы. |
|
|||||
|
По-моему, быстрее будет высчитать среднее значение цвета на снимке BitmapData и либо руками его отрисовывать, либо повесить на Glow находящегося сзади прямоугольника по размеру видео, вместо того, чтобы нагружать процессор рендерингом двух видео, да еще и с фильтрами.
Может, я и не прав.
__________________
Дело не в тебе |
|
|||||
|
Регистрация: Jun 2005
Сообщений: 34
|
нет этот способ мне не подходит. Нужен именно блёр исходного изображения слоем ниже.
__________________
Автор благодарит алфавит за предоставленые буквы. |
|
|||||
|
Регистрация: Dec 2007
Сообщений: 204
|
Отрисовывайте видео в BitmapData, а дальше все тоже самое что и с
Цитата:
__________________
http://www.infinity3d-engine.com |
|
|||||
|
Modus ponens
|
Да, только варианты с битмапдатой будут загибаться если ФПС у видео 25+ при размерах 320х240... а вообще - хреново, что нельзя один стрим двум видео... Можно, конечно, пробовать отрисовывать видео в битмапдату раз в два кадра, предположим, или даже еще реже... но все равно, при больших размерах видео нагрузка не маленькая получится...
Да, ну и естесственно, создавать битмапдату сразу с фильтром (applyFilter), а не накладывать его потом.
__________________
Hell is the possibility of sanity |
|
|||||
|
Modus ponens
|
Цитата:
__________________
Hell is the possibility of sanity |
|
|||||
|
wvxvw, возражения только против этого
Цитата:
Цитата:
второе видео плееру не надо в экран рисовать что-ли, не говоря о том что его тоже считать надо или видео проще выводить, чем битмап ? Последний раз редактировалось silin; 05.07.2009 в 23:44. |
|
|||||
|
Modus ponens
|
Цитата:
Единственное, на что могу с уверенностью ответить, так это то, что если стоит подходящая видеокарточка, то видео может выводится быстрее, чем битмапдата, т.как кодеки (и, соответсвенно разкодировка) делаются на уровне железа карточки, в то время как битмапдата - это чистый ЦПЮ рендер. Но это так на так примерно... видео будет выигрывать при больших форматах, и если нет никаких наложений / фильтров и т.п. ОК, небольшая предыстория. Контора в которой я работаю занимается в том числе и перегонкой видео из разных форматов, ну и в том числе запись видео (capturing) его с играющей флешки. Опытов делалось немаленькое количество, и именно в таком духе: есть видео во флешке (размером под максимальный теле-формат, сейчас не вспомню сколько это именно в пикселах, что-то в роде 600х480), к нему применяется какой-то эффект и потом оно отрисовывается в битмапдату. После того, как буфер набрался, видео ставится на паусу, битмапдата отсылается, и по-новой. Так вот ни при каких раскладах, и даже не на пользовательской машинке, а на сервере с заоблачной производительностью не получалось добится того, чтобы кадры не дропались. Т.е. на 25 кадров (предположительно, буффер), из 4-5 попыток синхронной записи 1 раз дропался 1 кадр (25 ФПС). При 31 ФПС дропался на каждой попытке. С большим фреймрейтом не пробовали никогда т.как и необходимости такой нет...
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Dec 2007
Сообщений: 204
|
Не будет загибаться. Видео 640x480 при 100FPS работает по этому методу. С фильтрами конечно нагрузка сильно увеличится, но 25++ FPS будет.
__________________
http://www.infinity3d-engine.com |
|
|||||
|
Modus ponens
|
Цитата:
Видео 100 ФПС (это значит, что его нужно проигрывать 1 кадр в 10 миллисекунд). При таком ФПС только таймер будет давать погрешность около 50%-100% или если выставить такой ФПС флешке, то, реальный ФПС будет раза в 2 ниже, уже не говоря о том, что 10 миллисекунд не хватит для того, чтобы отрисовать 640x480 (307200) пикселов в битмапдату.
__________________
Hell is the possibility of sanity |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:06. |
|
|
« Предыдущая тема | Следующая тема » |
|
|