разбор swf/fla (используя php?)

Я написал фреймворк (прошел год), который будет отображать код AS3 как HTML5.

Я хочу зайти в swf и проанализировать содержимое в своей структуре, чтобы вы могли загрузить swf AS3 и получить обратно эквивалент HTML5.

Любые идеи о том, как разобрать swf/fla с помощью php?

** редактировать **

Для справки, Google делает что-то похожее на это. Однако swiffy анализирует только код AS2.

** изменить 2 **

Для дальнейшего разъяснения, я хочу иметь возможность анализировать swf только для реквизитов макета и сценария действий. Я разобрался с остальным.


person Jacksonkr    schedule 01.07.2011    source источник
comment
Преобразование Flash в HTML — задача безумно огромных масштабов.   -  person Pekka    schedule 02.07.2011
comment
У Google есть Swiffy, у Adobe есть Wallaby, и ни один из них не может преобразовать AS3 (только устаревший AS2). для выполнения этой задачи вы должны быть мастером кода AS3 и среды выполнения AVM2 и быть в курсе последних возможностей HTML5. Я думаю, ты пытаешься откусить больше, чем можешь прожевать.   -  person Chunky Chunk    schedule 02.07.2011
comment
Я уважаю причины сомневаться. Однако вот прототип просмотра улиц Google, использующий строго HTML5 и написанный с использованием жаргона AS3: flanvas.com /разработка/просмотр улиц/index.html   -  person Jacksonkr    schedule 02.07.2011


Ответы (2)


Взгляните на SWFTools - очевидно, он может выгружать код из SWF и имеет исходный код, хотя вы могли бы использовать утилиты командной строки из PHP и проанализируйте вывод, чтобы получить разделы actionscript. Бог знает, что вы с ним потом сделаете.

person Orbling    schedule 01.07.2011
comment
+1 За то, что был первым, кто решил помочь, а не критиковать мою идею. Спасибо. - person Jacksonkr; 02.07.2011
comment
@Jackson: Спасибо, хотя я думаю, что другие пытались помочь, говоря, что не пытайтесь автоматически воспроизвести Flash, если это то, что вы пытаетесь сделать - сложность будет огромной. Что-то вроде того, что большая профессиональная команда должна была бы потратить год или около того. - person Orbling; 02.07.2011
comment
Я вижу ваши рассуждения и не сомневаюсь, что сказал бы то же самое. Это очень большой процесс, которым я занимаюсь уже некоторое время. Однако я могу отобразить ~actionscript на холсте HTML5 с минимальными усилиями (благодаря разработанной мной структуре). Впереди еще долгий путь, но сейчас я сосредоточен на основных функциях, которые у меня есть. Загляните на flanvas.com, если вам интересно. - person Jacksonkr; 02.07.2011
comment
Кроме того, прошлой ночью я игрался с SWFTools. Я скомпилировал копию и попробовал swfdump, но не смог получить AS, только свойства сцены (ширина, высота, частота кадров и т. д.). Пробовал с as2 fp5 на as3 fp10. Я связался с Матиасом (разработчиком swfdump) и надеюсь, что он даст мне больше ответов. - person Jacksonkr; 02.07.2011
comment
@Jackson: Я могу представить хороший случай для разрешения AS-подобных действий через интерпретатор, было бы трудно предоставить все функции Flash напрямую, хотя обработка временной шкалы и анимация формы были бы наиболее желательными функциями. Я представляю себе. Вы пробовали вариант swfdump -a? - person Orbling; 02.07.2011
comment
Ага. Я попробовал дамп swf со всеми перечисленными параметрами (отдельно и вместе). Мне придется провести с ним дополнительные испытания. И да, предоставление всех функций само по себе будет подвигом. Тем не менее, я начал с основной функциональности и расширяюсь. Моя основная цель — помочь скриптерам/программистам перейти от flash к javascript/html. - person Jacksonkr; 02.07.2011
comment
@Jackson: Очень доблестная цель, моя команда почти перестала использовать Flash, мы делаем почти все в JS/jQuery (с поддержкой на стороне сервера), просто написали в нем что-то похожее на Photoshop (даже без использования холста). Удачи с этим, я постараюсь не отставать от flanvas. - person Orbling; 02.07.2011
comment
@Orbling позвольте нам продолжить это обсуждение в чате - person Jacksonkr; 03.07.2011

https://github.com/iborodikhin/php-swiffy/

используйте эту библиотеку и реализуйте так

require_once('php-swiffy-master/vendor/autoload.php');

$swiffy = new Swiffy\Client();
$html = $swiffy->convert("test.swf");
$myfile = fopen("test.html", "w");
if(!empty($html)){

    fwrite($myfile, $html);
    fclose($myfile);
}
person Rick    schedule 16.03.2016