Как мне сделать скриншот flash swf на сервере? - PullRequest
3 голосов
/ 14 апреля 2009

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

Я полагаю, что у Adobe есть некоторые коммерческие продукты, которые могут соответствовать всем требованиям, но я бы хотел использовать open source, apache и linux. Я знаю, что это возможно с haxe / neko, но я бы хотел использовать больше основных инструментов, если это возможно. Я слишком много спрашиваю?

РЕДАКТИРОВАТЬ / УТОЧНИТЬ: Большое спасибо за ответы до сих пор, но я думаю, что я был немного грязным в моем описании. Я уже написал материал для захвата сцены, используя тот же класс PNGEncoder, который был предложен. Проблема в том, что на самом деле выполняется SWF на стороне сервера. Я не хочу, чтобы позволить клиенту взять на себя сам снимок экрана, потому что это открывает возможность клиента злонамеренно направляющее скриншот, который не соответствует тому, что находится на сцене, то есть, я не хочу пользователей загрузки порно , Если бы я мог запустить код Actionscript на сервере, то я мог бы создать снимок экрана из моих файлов данных и быть уверенным, что снимок экрана соответствует данным, но я не знаю, как запустить сценарий actions или swf на сервере.

Ответы [ 6 ]

1 голос
/ 15 апреля 2009

Мы только что завершили аналогичный проект, в котором мы рендерили JPG из SWF, которые загружали динамические данные, мы использовали IECapt

1 голос
/ 14 апреля 2009

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

Вам нужно будет запустить его на стороне клиента. Что касается ваших проблем безопасности, лучший способ избавиться от них - заставить php, пишущий реальное изображение, принимать только зашифрованную форму файла изображения, которую флэш-память может зашифровать. Таким образом, они не могут просто использовать файл PHP для загрузки любого изображения, которое они хотят, если только они не зашифровали его точно так же, как ваш SWF. Затем зашифруйте сам SWF (я рекомендую SWF Shield), чтобы потенциальный хакер не смог прочитать код, чтобы узнать, как зашифровать изображение.

0 голосов
/ 15 января 2011

Как насчет swfdec-thumbnailer из пакета swfdec-gnome? Он используется для создания миниатюр SWF-файлов, но может принимать произвольно большие разрешения с аргументом -s.

РЕДАКТИРОВАТЬ: swfdec-gnome устарел в Ubuntu 10.10 в пользу Gnash. Здесь - руководство по созданию снимков экрана с помощью Gnash (обратите внимание, что некоторые функции, такие как градиенты, еще не поддерживаются должным образом).

0 голосов
/ 23 мая 2010

Я знаю, что этот вопрос давно устарел, но у меня была похожая проблема, и я закончил тем, что написал скрипт, использующий яблочный скрипт + пользовательский интерфейс для захвата внутренней области окна предварительного просмотра автономного флеш-плеера в OS X. Вы можете взять его от github здесь .

0 голосов
/ 14 апреля 2009

Попробуйте и посмотрите на это: http://www.phpclasses.org/browse/package/4312.html

0 голосов
/ 14 апреля 2009

Вы пробовали команды печати Actionscript?

...