PDA

Просмотр полной версии : Проблемы с публикцией большого проекта


AHKHOBA
29.06.2010, 19:25
Ребята, нужна помощь по технической части флеша.

Есть большой проект. Основная анимация - в видео-файлах, которых много, в которых растровая графика. Все очень тяжелое, потому было изначально разбито на несколько флешек, которые грузились на сцену по мере надобности. Но задача стала - создать ОБЩИЙ для всего проекта загрузчик, слив все эти разделенные части воедино.
До определенного момента все было ОК, но по мере роста веса файла флешу становилось все труднее. В итоге, сейчас он отказывает публиковать проект - вылетает

Сразу скажу, что компьютер не слабенький (4х ядерный проц, 2.40 GHz, 3, 00 Гб ОЗУ). А вес самого проекта примерно 200 метров (должен стать в итоге, сейчас - метров 50)

Ну так вот... Хотелось бы узнать, отчего да почему так. И, конечно, что можно и нужно предпринять, чтобы идею довести до конца все-таки

mooncar
29.06.2010, 19:39
Конечно, публиковать все в одном большом файле попросту неверно. К тому же - негибко. Быстро заменить видео, например не получится. Так что вы стоите на верном пути, задумавшись об оптимизации проекта.

Проект просто с диска работает? Если с диска, то все просто. Ничего сливать воедино (т.е. в один файл презентации) не нужно, хранить видео следует в видео формата FLV.

Делаете флешку - основную оболочку.
Конвертируете видео в FLV-файлы.

Общий загрузчик грузит оболочку: графику, звук.
По загрузке происходит переход в рабочий кадр.

В дальнейшем подгрузка видео FLV-шек происходит только по мере необходимости, при обращении к нужному видео.

PS. Как вариант - можно хранить видео не в FLV, а внедренным в небольшие SWF-ки (изготовить для каждого по стандартной схеме внедрения) и подгружать уже их.

PPS.Если сами не справляетесь, обратитесь в Вакансии, при наличии от вас всей исходной графики и четкого ТЗ по структуре это будет не очень для вас затратно, но при этом быстро.

ShockWave512
29.06.2010, 20:24
добейтесь того - чтобы видео файлы не участвовали в публикации
пусть грузит отдельно, выбирая из общей кучи (1.flv, 2.flv .... )

AHKHOBA
29.06.2010, 21:07
mooncar, все так и есть сейчас, как вы описали (swf, flv, оболочка). Изначально проект задумывался исключительно для локального просмотра. Но встала необходимость выложить его в сеть и хотелось, чтобы загрузилось ВСЕ И СРАЗУ (подождать пусть даже 5 минут, но зато потом гулять беспрепятственно по страницам). Поэтому решено было слить все в одно (хотя сомнения посещали, но на риск пошли)

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

добейтесь того - чтобы видео файлы не участвовали в публикации
пусть грузит отдельно, выбирая из общей кучи (1.flv, 2.flv .... )

А что вы имеете в виду под "отдельно"? Впервые слышу (хотя не мудрено:), видео - это новый аспект для меня)

ShockWave512
29.06.2010, 23:00
А что вы имеете в виду под "отдельно"? Впервые слышу (хотя не мудрено:), видео - это новый аспект для меня)
поясню решение методом "в лоб", без малейших хитростей

- кладем флв файлы на сервер, например в папку "video"
- берется в проект - Х объектов допустим класса FLVPlayback, с заполнеными свойствами source, для каждого, ("video/1.flv", "video/2.flv" ......... )
- всех подписываем на событие "ready", проверяем когда все флв будут загружены
- играм всю пачку в любой последовательности

mooncar
29.06.2010, 23:27
Но, видимо, придется все-таки грузить разделы последовательно, по мере надобности. Потому что я не вижу, как можно одним общим загрузчиком загрузить ряд файлов.

Можно все сделать как вы хотите.

1) Нужен мультизагрузчик. Вот посмотрите, мультизагрузчик в действии: http://www.szmn.ru/exposition/index.htm
Правда тут нет видео, только звук. Проект видео использует, но мало, и оно грузится только по требованию.
Но с видео поступить можно следующим образом, чтобы загрузить все сразу:
2) Вместо FLV используем специально созданные swf-ки с внедренным видео и скармливаем их тому же мультизагрузчику. Вопрос только в ресурсах клиентского компа - сможет ли он деражать в памяти сразу столько видеоданных.

Вот собственно и все.

Aloran
30.06.2010, 10:20
Данные (видео) по мере загрузки можно в SO кидать и не держать все это в памяти.

mooncar
30.06.2010, 10:23
Данные (видео) по мере загрузки можно в SO кидать и не держать все это в памяти.
Разве 200 мегабайт в SO возможно поместить без каких-либо подготовительных действий со стороны пользователя (при настройках флеш-плагина "по умолчанию")?

Котяра
30.06.2010, 14:11
Можно загружать все flv с сервера - затем их обратно выгружать, чтоб в памяти не держать.
А в нужный момент опять подгружать, но уже из кэша браузера.

А по теме компиляции большого проекта: сделайте отдельные swc библиотеки (например видео) и подключайте их. На форуме много тем как это делать.