Форум 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)
-   -   Отобразить первый кадр flv (http://www.flasher.ru/forum/showthread.php?t=119001)

Division 09.12.2008 20:06

Отобразить первый кадр flv
 
Поиском пользовался, вроде обсуждалось, но ответа так и не нашёл.
Нужно отобразить первый кадр видео.
Делаю так:
Код AS1/AS2:

        var nc:NetConnection = new NetConnection();
        nc.connect(null);
        var ns:NetStream = new NetStream(nc);
        _root.video.attachVideo(ns);
        trace(_root.video);
 
        ns.play("../data/video/"+_root["filename"], 0, 0);
        ns.seek(1);
        ns.pause();

Работает не совсем корректно, время от времени ничего не отображается.
Где можно почитать как это правильно делается?
PS с видео до этого не работал

scarbo 09.12.2008 20:29

А может вернее извлечь из видео кадр и его как фотку грузить.

Division 09.12.2008 20:32

scarbo, покажешь пример с реализацией?
Можно долго рассуждать что вернее (: Мне бы или рабочий код, или ссылку на мануал...

scarbo 09.12.2008 20:42

Пример(если правильно понял)видео
А код,что такого-то - грузишь фотку,при щелчке на плэй,запускаешь видео...?
Или тебе нужен код для видео плеера,отпишись по точнее плиз

Division 10.12.2008 11:16

Ну я же в первом посте написал (: Мне нужно имея FLV файл отобразить его первый кадр. Я не хочу делать отдельные картинки, так как видео загружается пользователем в админке, и ему будет лень делать отдельные картинки для предпросмотра.
UPD: Если кто знает, поделитесь плиз. Проект сегодня сдавать, не хотелось бы какой-то изврат придумывать.

chingachgoog 10.12.2008 15:14

У видео НЕТ КАДРОВ в понятии флеша. Есть время. Но флеш может переходить по времени с точностью до секунды, а при частоте видео 25-30, это может быть неприемлемо. Лучший выход - отредактировать видео, чтобы первые секунды стояла статичная картинка - тогда всегда на нее попадешь.

Division 10.12.2008 15:22

Цитата:

тогда всегда на нее попадешь
Это я как раз и хочу узнать. Как мне туда попасть? (: Пускай, не на первый кадр, а на первую секунду, без разницы. Лишь бы показать какую-то картинку из видео. Код из первого поста работает не совсем корректно. Как это сделать?

chingachgoog 10.12.2008 15:50

Цитата:

Сообщение от Division (Сообщение 782800)
Это я как раз и хочу узнать. Как мне туда попасть? (: Пускай, не на первый кадр, а на первую секунду, без разницы. Лишь бы показать какую-то картинку из видео. Код из первого поста работает не совсем корректно. Как это сделать?

Так уже у вас написано как:

Код:

seek(numberOfSeconds:Number)
По-другому никак. Для большей надежности можно задать время буфера больше секунды (по умолчанию 0.1 сек):

Код:

setBufferTime(numberOfSeconds:Number)

Division 10.12.2008 16:24

chingachgoog, спасибо.
Но как-то всё это дело тормозит. У меня будет несколько превьюшек одновременно на странице(думаю до 12). И когда все они грузятся, браузер сильно тормозит. Отсюда возникает вопрос, делают ли так вообще? Может, если много провьюшек, правильней было бы сделать, как говорил scarbo, то есть просить юзера в админке грузить картинку для предпросмотра и отоображать её?

chingachgoog 11.12.2008 13:57

Не знаю как делают, но я бы попробывал так, если тормозит: грузил бы в один поток видео ПО-ОЧЕРЕДИ. Как только первая секунда загружена и отображена - снимаем скриншот и вешаем битмапу. Далее грузим в тот же поток следующее видео...


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

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