![]() |
один NetStream на несколько видео
Начну издалека. В общем стоит задача создать некое подобие эффекта ambilight нынешних телевизоров.
что это за эффект можно посмотреть тут этот эффект должен распространяться как на картинки, мувиклипы, и видео. Собственно с мувиками и картинками проблем не возникло. Имеется 2 слоя на верхнем оригинальная картинка, на нижнем та же картинка но с повешенным на нее фильтром Blur. Аналогично с мувиклипами. Да и собственно с видео. Но с видео возникла небольшая заморочка. Использую класс Video и с ним работаю через NetStream. Как на любой экземпляр класса наследующегося от DisplayObject на видео тоже можно повесить фильтр. Создаю верхний видеоконтейнер и нижний с Blur. Создаю новый экземпляр NetStream. Но он аттачиться сразу на 2 экземпляра Video не хочет. Вот тут многоуважаемые знатоки и вопрос, а вернее несколько :) Можно ли используя один netStream приатачить его к двум объектам Video? Или же нужно создавать для каждого видео свой нетстрим? И если создавать каждому видео свой нетстрим, не возникнет ли проблемы с синхронизацией видео? Или же есть какой-нибудь другой способ? Поделитесь опытом пожалуйста. Премного буду благодарен за любые ответы и линки. |
По-моему, быстрее будет высчитать среднее значение цвета на снимке BitmapData и либо руками его отрисовывать, либо повесить на Glow находящегося сзади прямоугольника по размеру видео, вместо того, чтобы нагружать процессор рендерингом двух видео, да еще и с фильтрами.
Может, я и не прав. |
нет этот способ мне не подходит. Нужен именно блёр исходного изображения слоем ниже.
|
Отрисовывайте видео в BitmapData, а дальше все тоже самое что и с
Цитата:
|
Да, только варианты с битмапдатой будут загибаться если ФПС у видео 25+ при размерах 320х240... а вообще - хреново, что нельзя один стрим двум видео... Можно, конечно, пробовать отрисовывать видео в битмапдату раз в два кадра, предположим, или даже еще реже... но все равно, при больших размерах видео нагрузка не маленькая получится...
Да, ну и естесственно, создавать битмапдату сразу с фильтром (applyFilter), а не накладывать его потом. |
Не будет загибаться. Видео 640x480 при 100FPS работает по этому методу. С фильтрами конечно нагрузка сильно увеличится, но 25++ FPS будет.
|
Цитата:
Видео 100 ФПС (это значит, что его нужно проигрывать 1 кадр в 10 миллисекунд). При таком ФПС только таймер будет давать погрешность около 50%-100% или если выставить такой ФПС флешке, то, реальный ФПС будет раза в 2 ниже, уже не говоря о том, что 10 миллисекунд не хватит для того, чтобы отрисовать 640x480 (307200) пикселов в битмапдату. |
Цитата:
А вы пробовали? Если да, видимо на калькуляторе или извращенно проводили отрисовку. |
У меня и виндовс-мидиа видео со 100ФПС играет с усилием... каким образом вы получили видео с таким ФПС?
Флеш никогда в жизни с такой скоростью ничего не сможет проиграть... потолок где-то в районе 50-60... |
Вы занимаетесь оптимизацией? Никто не заставляет рисовать видео 100 раз в секунду. Frame rate может быть хоть 1000, но отрисовывать будем 30 раз в секунду, для глаза разницы никакой а для процессора большая.
Еще раз повторяю, не стоит решать задачу в лоб! |
Цитата:
|
Цитата:
|
MonkDead, нет уж, раз заявили про 100 FPS, то рассказывайте. Ну и подкрепляйте слова демонстрацией.
|
__etc, хорошо хорошо :) Я же сказал
Цитата:
|
MonkDead, понимаю ваше желание впарить свой движок каждому встречному, но мне лень с ним разбираться. Выложите — посмотрим. Но опять же, это будет просто демонстрация возможностей, а не повествование опыта.
|
Цитата:
Добавлено через 12 часов 11 минут http://www.infinity3d-engine.com/exa...oMaterial.html Можно добавлять плоскости с дубликатом видео кнопкой "+", выставлять прозрачность, создавать эффект стерео видео. Все остальное как и в любом видео плеере. |
Посмотрел. А где видео 100 кадров в секунду? Мерялка в углу от силы 60 показывает при одной картинке, при четырех — 35, но это рендер. Хотя, как именно вы измеряете FPS, я не знаю, поэтому делать выводы сложно.
В общем, что меня должно было впечатлить? |
Цитата:
FPS, считаются не на рендер а на весь flash, и все кто посмотрел сказали что при 1 видео у них 100 FPS, а при 4 в районе 50. А вообще вопрос состоял в том, что flash неспособен 100 раз в секунду отрисовывать BitmapData при разрешении 640х480 (что бы это увидеть не надо плоскость приближать, при приближении FPS снижается не из-за отрисовки в BitmapData, а из-за площади отрисовки при рендеринги). Как видите на отрисовку одного кадра нужно 0 - 1 миллисекунд, а не как вы говорили 10. |
MonkDead, мипмаппинг? А точно мне? Я не помню, честно говоря.
Ну нету у меня сотни FPS, вам скрин дать? 55—60, не больше, при одной единственной картинке. Если бы вы код показали, было бы интересно. А так, вы мне показываете некую цифру, измеренную по каким-то неизвестным критериям и говорите, что всё круто, при этом делаете удивленное лицо, когда возникают сомнения в этом. |
Цитата:
Недавно вы просили только демку, теперь еще и код :). Выложу сегодня исходник этой демки можете посмотреть и повесить рядом свою "мерялку" и сравнить. "Мерялка" - вполне стандартная, через врямя считает. |
Цитата:
Ну ещё Олежка не смотрел, позже ответит. В общем, ладно, сотня, так сотня. Помогите лучше автору темы. |
Цитата:
Цитата:
Цитата:
|
так а где видео на 100 фпс? мне кажется Олега это тоже заинтересует.
п.с.: я даже потратил 5 минут вчера и пытался найти такое видео в интернете. не нашёл, но я думал что у Вас есть. п.с.2: я тут заметил, уже не первую тему, где Вы, уважаемый MonkDead, включаете упёртость, когда понимаете, что ляпнули фигню. потом Вам гордость мешает это признать, и Вы в замен пытаетесь подсунуть "что-то типа того". только все вокруг понимают, что это совсем не то. |
Цитата:
Цитата:
|
MonkDead, вы конечно спец, и движок у вас хороший, но я тоже 100 fps не увидел.
Под winXP: В опере: среднее фпс 50-60. Дергается от 100 до 40. в ие6 - стабильно 64 (видимо потолок ActiveX-плеера). а, ну вот лиса показала 99-100 фпс. Ну _etc и BlooDHounD сидят, насколько я знаю, под Mac и сафари, и, судя по всему, произодительность у флеша с сафари никакая. |
Цитата:
Firefox - лучше всего с flash работает. Opera - почти также с flash работает, не знаю почему у вас такой разброс у меня не наблюдается. Цитата:
|
На Mac fps почти в 2 раза ниже. В РФ на мак юзеров обычно (но не всегда) можно забить, но проблема в том, что для промо-сайта международной компании уже Ваш движок использовать не будут, т к в некоторых странах доля Mac >10%, и это существенно. Или для игр ориентированных на весь мир.
У меня на мобильном Core 2 Duo 8xxx линейки в опере fps скачет от 64 до 126 с 80 в среднем, 7xxx линейки - от 54 до 89 со средним в 70. |
А движок-то не причем. Это все флеш =( Т.е., я уверен, что papervision и альтернатива там покажут такой же результат.
|
Цитата:
Цитата:
Вот накопал видео на PaperVision 3D и Away3d, одни тормоза при 320х240 + жуткие текстурные искажения и проблемы с сортировкой: http://www.garrahan.org/ http://wonderfl.net/code/14fd6def194...cf64341cf0b826 http://www.airtightinteractive.com/d...mp/away3d.html - те же 4 плоскости с меньшими размерами при макс fps 7-9. И проц грузится на 80 - 100% (даже для 1 видео), в сравнении с 12% (1 видео) - 40% (4 видео) у меня. |
Это только мне кажется, или у демки плеера, которую привел MonkDead, обратная перспектива? =)
|
Цитата:
|
ну линейкой не мерял, но так и подозревал =)
режим наверное все-таки орТографический ;) |
Вложений: 1
А я так ничего и не увидел...
А по поводу 100 ФПС... ну как бы вам еще сказать... вы просто элементарно ни таймер, ни фреймрейт флешки не сможете такой выставить. Т.е. поставить stage.frameRate = 100 - это одно, а вот чтобы отобразить такое, надо чтобы плеер реально отрисовал эти 100 кадров. даже если какими-то усилиями вам удасться отрисовать битмапдату за меньше чем 10 мс, флеш просто не в состоянии выводить это на экран с такой скоростью. Просто создайте пустую флешку и запустите в ней таймер с интервалом 10 мс - увидите, на сколько большая погрешность. Естесственно, что когда флешка еще и что-то считать кроме этого будет, погрешность будет еще больше, кроме того, разные плагины / актив-иксы ведут себя по-разному, но в большинстве случаев при завышеном ФПС будут его резать, при чем, чем выше ФПС, тем сильнее будут резать... А так, вообще, конечно, ФПС можно и 1000 выставить... |
wvxvw, философствовать можно сколько угодно по этому поводу. Я сделал демку на своем движке. А вы все продолжаете голословно упорствовать при том, что сами не подтверждаете свои слова ничем.
Цитата:
Создайте BitmapDate 640х480 и 100 раз в секунду рисуйте в нее что нибудь и смотрите на результат. По поводу ошибки. Мне почему то кажется это провокацией, т.к. у всех работает а именно у вас кто был инициатором спора она не работает странные совпадения не так ли! |
Откуда вы взяли эти присловутые 10мс мне непонятно.
Создайте BitmapDate 640х480 и 100 раз в секунду рисуйте в нее что нибудь и смотрите на результат. >> Устный счет в пределах ста... А по поводу остального... ну, не знаю... вам хочется верить, что белое - это черное... коль скоро вы довольны результатом - ну и ладно :) |
Цитата:
Цитата:
|
Код AS3:
откуда взялись 10мс и причем здесь таймер действительно непонятно |
silin, спасибо что потратили свое время на элементарный тест.
Кстати мои результаты: Код AS3:
|
Я не знаю... а при чем тут сколько битмапдат можно отрисовать за 1 секунду? Какое это вообще отношение к фреймрейту имеет? Вам нужно рисовать по одной битмапдате в 10 миллисекунд а не 100 за секунду...
Таймер при том, что видео, с которого вы срисовываете битмапдату тоже должно изменяться 100 раз в секунду - это и называется 100 ФПС. Вы просто даже показать видео у которого родной ФПС = 100 во флеше не сможете, то что вы его будете при этом рисовать куда-то вообще имеет мало значения... Т.е. тест приближенный к действительности - создайте флешку на 100 кадров, положите на таймлайн видео с ФПС = 100, поставьте ей ФПС = 100, и отрисовывайте каждый кадр по тому же ентерфрейму. Если у вас получится, что вся эта операция займет секунду - вы правы, если нет - увы. |
сколько битмапдат можно отрисовать за 1 секунду здесь при том, что сама отрисовка в битмап (меньше 1мс) никак не может стать причиной загибания плеера
почему при этом видео должно с такой скоростью меняться непонятно вроде бы никто и не собирался такое видео показывать.. |
| Часовой пояс GMT +4, время: 20:50. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.