Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Замирание видео (импортированного в таймлайн) при перемотке. (http://www.flasher.ru/forum/showthread.php?t=130870)

Bорон 07.10.2009 15:27

Замирание видео (импортированного в таймлайн) при перемотке.
 
Приятного времени суток.
Подскажите пожалуйста:
http://nightfolk.net/portfolio/lag/flash3.html

В ролике есть видео. На 24 секунде (719 фрейм fps 30) оно прыгает назад и таким образом циклится. После перехода ролики с видео перематываются на положение в котором были бы на 720 фрейме. Проверял. Перематываются. Вопрос в том, что видно небольшое замирание видео в момент прыжка. Я даже не понимаю причин замирания. Фреймы вроде бы стыкуются правильно. Нагрузка на проц. ~ 40% (Кстати, не очень понятно откуда она - это же видео...).

Подскажите, пожалуйста, в чем может быть дело и как с этим бороться.
С уважением. Ворон.

lumaca 07.10.2009 16:53

Флеш плейер не работает с видеокартой - все идет через процессор, отсюда нагрузка и замирание. Выход - отказаться, хотя бы частично от видео: фон все равно неподвижный, на него наложить векторные и пиксельные элементы.

Bорон 07.10.2009 17:29

От видео отказаться нельзя.
Фон и так не видео.
Видео там дождь и льющаяся вода.
Если это тормоза, то почему только в момент "скачка"? В остальных слкчаях проблем не замечено.

wvxvw 07.10.2009 17:37

А где там чего замерло? Я не заметил...
А по поводу видео, ну куча разных вариантов... если родноей ФПС видео не совпадает с ФПС флешки - то перекодировщик может не правильно создать промежуточные кадры, это так же зависит от кодека который вы выбрали при перекодировке - например, у Соренсон нету промежуточных кадров, которые должны рссчитываться на ходу, а у МПЕГа такие кадры могут быть.

Bорон 07.10.2009 17:43

Мне тут намекает добрый lagman на irc канале, что дело в том, что перематывается не на ключевой кадр flv ролика. Но я не имею понятия ни как узнать где у него ключевые кадры, ни что делать с учетом того, что мне то надо прыгать в конкретный кадр для создание приемлемого цикла. А если ключевой кадр и близко не там, это - беда.
Кто то что то может сказать по этому поводу?

Помогите пожалуйста.

Цитата:

А где там чего замерло? Я не заметил...
На 24 секунде прыжек идет. Просто подожди немного.

Цитата:

если родноей ФПС видео не совпадает с ФПС флешки
fps ролика - 24fps. Поставил столько же в ролике.
Задержки остались

Что касается кодека - я получил видео уже в FLV. То есть перекодировать его не могу. А исходный кодек в свойствах flv не указан. Так что я его не знаю.

Могу выложить исходник, если кто то не побрезгует его посмотреть.

wvxvw 07.10.2009 17:53

Ерм... это никак не связано с ключевыми кадрами в FLV... когда видео встраивается в SWF каждый кадр пихается в отдельный PlaceObject2 - проблема может быть в том, что этот кадр рассчитывается на основе предыдущего или серии предыдущих кадров, но такое может быть только если используется МПЕГ, с соренсоном, например, такого быть не может.

Bорон 07.10.2009 17:57

Так как исходного видео нету, только flv, насколько я понима, узнать какой именно формат видео перекодировался в flv нельзя, верно?
И в любом случае остаеться очень актуальный вопрос - что делать?

wvxvw 07.10.2009 18:38

http://code.google.com/p/e4xu/source...VTranscoder.as
Вот, там он по-моему где-то даже трейсит _codecID - если нет - я думаю добавить трейс будет не сложно :)
Собрать можно с помощью вот этого:
http://code.google.com/p/e4xu/source...VCompiler.mxml
Инфу по кодек ИД почитайте в комментах к транскодеру, там вроде было написано что чего.
И чесно, смотрел-смотрел и никакого замирания не увидел... как вы определяете, что оно там вообще есть? можете поставить там какой-нибудь значек?

Bорон 07.10.2009 20:06

Визуально. Задержка заметная.
Может быть вы просто не дожидаетесь момента, когда оно тормозит? После смены fps ролика момент прыжка и перемотки сдвинулся и теперь - 30 секунд с начала проигрывания ролика.

Или может у меня оно все просто тормозит? Хм. Надо опросить окружающих - видят ли они задержку.
Клиент пока вроде бы не заметил. По крайней мере не комментирует никак.

Спасибо большое за ссылки.
Пошел смотреть.

wvxvw 07.10.2009 21:16

А, ок, я кажется понял, где задержка... ну, такое впечатление, что вы 1 лишний раз показываете один и тот же кадр, или просто плееру тяжело быстро перемотать длинный ролик к нужному кадру... поставьте трейсы в onEnterFrame типа:
Код AS1/AS2:

trace([getTimer(), _currentFrame]);

И расскажите, чего показывает.


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

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