如何从SWF文件捕获图像


How do I capture an image from a SWF file?

我已经搜索了互联网深处的解决方案,但不幸的是所有讨论这个问题的帖子都过时了,没有提供解决方案。

我需要能够动态地从SWF文件生成屏幕截图并将其本地保存到服务器。一些帖子建议使用FFMPEG,但我认为它不支持SWF格式。还有人建议使用ie抓屏功能,但这只适用于Windows。

如果你有一台服务器,你可以为PHP安装扩展(http://php.net/manual/en/swf.setup.php),但是,这对于获得一个帧有点过分。

另一个解决方案是使用这个类:http://www.sephiroth.it/swfreader.php

你也可以编写自己的解析器,在这种情况下参考adobe的flash格式规范:http://www.adobe.com/content/dam/Adobe/en/devnet/swf/pdf/swf_file_format_spec_v10.pdf

如果我理解正确,您需要在服务器端生成图像。请查看这里描述的解决方案:http://techblog.floorplanner.com/post/20528549445/server-side-png-rendering-of-swf-images-using-gnash

我自己没有试过,但希望它会有所帮助。此外,如果可以在第一个用户打开swf之后生成图像,并且可以更改swf的代码,我建议您查看这篇文章:http://www.flepstudio.org/forum/tutorials/507-swf-png-actionscript-3-0-bytearray-class.html