Форум 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=148510)

Himerets 04.01.2011 13:55

Покадровый просмотр видео
 
http://www.5min.com/Video/How-to-Pro...ying-410836924
(Нажимаем сверху кнопку Tools)
Но вот как-то же он это делает!
Исходное видео в формате mp4, расстояние между кейфреймами 0.8с, однако при переходе на соседний кадр мы попадаем именно на соседний кадр!
Пихал видео в свой плеер, но в нем при переходе на stream.time + 1 / stream.currentFPS получал переход на соседний кейфрейм.
Разбирал свф-ку декомпилером, в полученном коде ничего не нашел..

wvxvw 04.01.2011 14:23

Вмонтировать видео в SWF, тогда можно переходить на кадр таймлайна. Проблема в том, что более высокие профайлы .h264 не содержат полных промежуточных кадров, а их рассчитывают. К сожалению, по-моему, пока что флеш не поддерживает такие профайлы (естественно, что они бы позволили сильно оптимизировать трафик), но, с другой стороны, это значит, что любое видео можно просмотреть покадрово. Кроме того, в десятом плеере это возможно для видео, которое сейчас находится в буффере, если вы установите буффер такой же длины, как и видео, то, соотвественно, сможете его проигрывать по одному кадру, только загружаться будет долго.

Himerets 04.01.2011 14:31

там видео не вмонтировано.

вот как, интересно. а как это сделать для видео, которое находится в буфере? приведите примерный код)

wvxvw 04.01.2011 15:19

Я делал так: http://code.google.com/p/e4xu/source...coder.as?r=500
А вот что Адоби есть сказать по этому поводу: http://help.adobe.com/en_US/flashmed...a3743e78e-7ffe (особое внимание inBufferSeek)
мануал все там же: http://help.adobe.com/en_US/FlashPla...NetStream.html
в деталях: http://docs.google.com/viewer?a=v&q=...LvoHSu0A&pli=1

Himerets 04.01.2011 17:22

Такой вот глупый вопрос - почему у меня в экземпляре NetStream нет свойств типа inBufferingSeek? как будто у меня что-то старой версии)
но 10.1 вроде бы везде

Добавлено через 2 часа 29 минут
спасибо, wvxwv
кстати, я хорошенько раздолбал декомпилером приведенный мною выше плеер, там местные мастера замутили класс VideoFrameCollector с соответствующим назначением. Вот так вот люди исхитряются)

_sestra_ 26.01.2011 12:42

Цитата:

Сообщение от wvxvw (Сообщение 961909)

Расскажи о классе org.wvxvws.encoding поподробнее пожалуйста. Для чего нужен, что может, особенности, очень интересно!

Добавлено через 33 часа 9 минут
Люди Добрые, кто-нибудь знает что это за класс - org.wvxvws.encoding?

Lunarium 04.02.2011 07:57

Himerets:
Со-свойством ошибся: NetStream.inBufferSeek
Тот ролик я тоже разобрал, но вот VideoFrameCollector не нашел ни разу...
Пытался через CuePoints сделать - не получилось.. находить точки через findNearestCuePoint - пожалуста, когда отсылаешь (что объект, что имя точки, что время) на seekToNavCuePoint - не срабатывает, т.е. никаких действий.
Перед этим предварительно создал каждые 0.04 секунды по CuePoint и назвал их как seekXXX а также с каждой точкой делал: setFLVCuePointEnabled(true,name);
Пытался подействовать на объект NetStream - безрезультатно. Как в инструкции, написано, что нужно netStream.inBufferSeek = true;, но он скидывается на False из-за того что не подключен к Flash Media Server 3.5.3 (?). Как это обойти, ведь он все равно в буфере то ищет, медиа сервер в этом, как я понимаю, не участвует...

ЗЫ пользовался объектом: fl.video.FLVPlayback.

Lunarium 17.02.2011 01:08

Если кому интересно - решилось выставлением кейфреймов в флеш ролике (.flv) на каждый кадр, либо на сколько нужно двигать. В моем случае размер флеш ролика увеличился в разы (из 7 мб без кейфреймов с VBR до 28 с кейфреймами до CBR).


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

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