swfrender
von swftools funktioniert für grundlegende SWF-Dateien.
swfdec-thumbnailer
von swfdec-gnome funktioniert, obwohl es nur das erste Bild des swf bekommt.
Um einen Frame von swf mit swfdec zu erhalten, sehen Sie sich das C-Code-Snippet in der folgenden Post an .
gnash
von gnash funktioniert auch gnash -s<scale-image-factor> --screenshot last --screenshot-file output.png -1 -r1 input.swf
, letztes Bild der swf.
ffmpeg
von ffmpeg funktioniert auch für einige SWF-Formate ffmpeg -i movie.swf -f image2 -vcodec png movie%d.png
Siehe auch den folgenden Leitfaden für eine Kommandozeilen-Pipeline.
Um externe Programme von php aus aufzurufen, verwenden Sie den exec
-Befehl dokumentiert hier .
Beachten Sie, dass es aus Sicherheitsgründen wichtig ist, dass Argumente, die an exec
übergeben werden, aus Sicherheitsgründen mit einem anderen Befehl wie escapeshellcmd
oder escapeshellarg
geschützt werden.
Sobald Sie in ein Bildformat konvertiert haben, unabhängig davon, ob es sich um ein Einzelbild oder um ein Einzelbild handelt, können Sie kein Aktionsskript ausführen. Andere nicht-GNU / Linux-Tools unterstützen den Export des Action-Skripts aus SWF.
Wenn die SWF-Datei, die Sie in PNG exportieren, für die anderen Werkzeuge zu kompliziert ist, können Sie das Flash-Plug-in oder Gnash
und Xvfb
zusammen mit der Bildschirmaufnahme-Software verwenden, um entweder Bilder der SWF-Datei oder eines Videos aufzunehmen Format wie AVI. Dann können Sie die Bilder aus dem Videoformat extrahieren.
Diese virtuelle Framebuffer-Methode unterstützt komplizierte SWF-Dateien, erfordert jedoch eine Menge Arbeit, da Sie entweder Gnash und Xvfb und Screen Capture oder einen Browser, Xvfb und Selenium verwenden müssen, wenn Sie einen bestimmten Satz von Maus / Tastatur-Interaktionen mit der SWF.
Gnash mit und ohne Virtual FrameBuffer sollte das ActionScript vor dem Exportieren laden, kann aber Probleme mit dem komplizierten ActionScript haben. Flash Plugin mit Virtual Framebuffer lädt das ActionScript vor dem Export.
Siehe auch die folgenden StackOverFlow-Fragen, die Sie in Frage stellen, ist ein Duplikat von