Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   один NetStream на несколько видео (http://www.flasher.ru/forum/showthread.php?t=126938)

uncle_sam 01.07.2009 01:21

один NetStream на несколько видео
 
Начну издалека. В общем стоит задача создать некое подобие эффекта ambilight нынешних телевизоров.
что это за эффект можно посмотреть тут

этот эффект должен распространяться как на картинки, мувиклипы, и видео.
Собственно с мувиками и картинками проблем не возникло. Имеется 2 слоя на верхнем оригинальная картинка, на нижнем та же картинка но с повешенным на нее фильтром Blur. Аналогично с мувиклипами. Да и собственно с видео.
Но с видео возникла небольшая заморочка. Использую класс Video и с ним работаю через NetStream. Как на любой экземпляр класса наследующегося от DisplayObject на видео тоже можно повесить фильтр. Создаю верхний видеоконтейнер и нижний с Blur. Создаю новый экземпляр NetStream. Но он аттачиться сразу на 2 экземпляра Video не хочет.
Вот тут многоуважаемые знатоки и вопрос, а вернее несколько :) Можно ли используя один netStream приатачить его к двум объектам Video? Или же нужно создавать для каждого видео свой нетстрим? И если создавать каждому видео свой нетстрим, не возникнет ли проблемы с синхронизацией видео?
Или же есть какой-нибудь другой способ? Поделитесь опытом пожалуйста. Премного буду благодарен за любые ответы и линки.

AL.exe 01.07.2009 01:54

По-моему, быстрее будет высчитать среднее значение цвета на снимке BitmapData и либо руками его отрисовывать, либо повесить на Glow находящегося сзади прямоугольника по размеру видео, вместо того, чтобы нагружать процессор рендерингом двух видео, да еще и с фильтрами.

Может, я и не прав.

uncle_sam 01.07.2009 13:17

нет этот способ мне не подходит. Нужен именно блёр исходного изображения слоем ниже.

MonkDead 01.07.2009 13:41

Отрисовывайте видео в BitmapData, а дальше все тоже самое что и с
Цитата:

мувиками и картинками

wvxvw 01.07.2009 13:51

Да, только варианты с битмапдатой будут загибаться если ФПС у видео 25+ при размерах 320х240... а вообще - хреново, что нельзя один стрим двум видео... Можно, конечно, пробовать отрисовывать видео в битмапдату раз в два кадра, предположим, или даже еще реже... но все равно, при больших размерах видео нагрузка не маленькая получится...
Да, ну и естесственно, создавать битмапдату сразу с фильтром (applyFilter), а не накладывать его потом.

MonkDead 01.07.2009 14:23

Не будет загибаться. Видео 640x480 при 100FPS работает по этому методу. С фильтрами конечно нагрузка сильно увеличится, но 25++ FPS будет.

wvxvw 01.07.2009 15:25

Цитата:

Сообщение от MonkDead (Сообщение 832343)
Не будет загибаться. Видео 640x480 при 100FPS работает по этому методу. С фильтрами конечно нагрузка сильно увеличится, но 25++ FPS будет.

А проверить перед тем, как писать?
Видео 100 ФПС (это значит, что его нужно проигрывать 1 кадр в 10 миллисекунд). При таком ФПС только таймер будет давать погрешность около 50%-100% или если выставить такой ФПС флешке, то, реальный ФПС будет раза в 2 ниже, уже не говоря о том, что 10 миллисекунд не хватит для того, чтобы отрисовать 640x480 (307200) пикселов в битмапдату.

MonkDead 01.07.2009 20:55

Цитата:

А проверить перед тем, как писать?
Видео 100 ФПС (это значит, что его нужно проигрывать 1 кадр в 10 миллисекунд). При таком ФПС только таймер будет давать погрешность около 50%-100% или если выставить такой ФПС флешке, то, реальный ФПС будет раза в 2 ниже, уже не говоря о том, что 10 миллисекунд не хватит для того, чтобы отрисовать 640x480 (307200) пикселов в битмапдату.
wvxvw, все проверено. Зайдите завтра или послезавтра на мой сайт, появится урок и демка по video материалу (VideoMaterial). Так там видео натягивается на трехмерную модель и все это при 100FPS :).

А вы пробовали? Если да, видимо на калькуляторе или извращенно проводили отрисовку.

wvxvw 01.07.2009 21:26

У меня и виндовс-мидиа видео со 100ФПС играет с усилием... каким образом вы получили видео с таким ФПС?
Флеш никогда в жизни с такой скоростью ничего не сможет проиграть... потолок где-то в районе 50-60...

MonkDead 01.07.2009 21:34

Вы занимаетесь оптимизацией? Никто не заставляет рисовать видео 100 раз в секунду. Frame rate может быть хоть 1000, но отрисовывать будем 30 раз в секунду, для глаза разницы никакой а для процессора большая.

Еще раз повторяю, не стоит решать задачу в лоб!


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

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