View Full Version : SWF plugin for AVIsynth?
whugemann
7th May 2007, 11:52
I would like to open a SWF with AVIsynth. Is there any plugin that can perform this job? DirectShowSource does not work (and is anyway not recommendable as I think).
I know that there is a commercial tool to perform this job
http://www.sothink.com/product/swftovideoconverter/index.htm
but seems quite expensive for such an easy task.
DarkZell666
7th May 2007, 12:30
If your swf an actual flash animation (vector drawings ?) or is it a renamed .flv video file ?
I don't know of any support in AviSynth for such a thing.
Maybe capturing your screen during playback with hypercam would do the job ? Or maybe ffmpeg has a swf decoder ? you could use ffmpeg to convert it to huffyuv for editing or something ... (dreams come true sometimes xD)
Die*wrek*show
7th May 2007, 14:32
I can't find the other thread I was looking for, but here is a link (http://sourceforge.net/project/showfiles.php?group_id=82303&package_id=183318) to a splitter written by gabest you might need to use in your script. Sorry I didn't bookmark the other thread.
Edit: oops! wrong filter/wrong universe hehe :)
DarkZell666
7th May 2007, 15:11
I can't find the other thread I was looking for, but here is a link (http://sourceforge.net/project/showfiles.php?group_id=82303&package_id=183318) to a splitter written by gabest you might need to use in your script. Sorry I didn't bookmark the other thread.
Edit: oops! wrong filter/wrong universe hehe :)
It's probably the one that mpc uses to playback swf's :p
Dunno if he can register it on his system as a directshow filter and use DirectShowSource in his avisynth script ... or simply use graphedit to encode his file to huffyuv or whatever ... just some suggestions off the top of my head ^^
It's probably the one that mpc uses to playback swf's :p
Nah, that's using the ActiveX used for Flash in IE and the APIs that go along with them.
The FLV splitter does exactly that, split FLV files - that's those videos that Flash supports, with VP6 video and whatever audio it uses.
Die*wrek*show
7th May 2007, 20:27
Now I see why I stayed in "newbies" for all this time : )
I couldn't find any method to open the file directly using DirectShowSource. In fact, I could not even manage to steal a single frame using mpc, the "GetCurrentImage" function fails under mpc for me. If you did open it with DirectShowSource in avisynth you would probably have to define the framerate, but you probably already know that.
Link (http://biggmatt.com/winff/) for transcoding .swf. Crappy site, nice content.
Some flash object (http://livedocs.adobe.com/dreamweaver/mx2004/using/wwhelp/wwhimpl/common/html/wwhelp.htm?context=Using_Dreamweaver&file=18_med32.htm) properties that could be useful for coding or informational purposes.
whugemann
7th May 2007, 23:13
No, I am not talking about FLV files, but real SWFs.
I thought it should be rather easy to open them as IrfanView does it, based on the Macromedia flash SDK as it claims.
Having had a closer look on the subject, I saw that the flash SDK is no longer free, see http://www.adobe.com/products/flashplayer_sdk/productinfo/faq/.
There seems to be a GPL flash player library on http://www.swift-tools.net/Flash, but it says that it doesn't work on Windows (why is that?).
Some interesting SWF-tools can be found at
http://www.swftools.org/links.html
but as far as I see, you cannot dump or read just the frames from a SWF - or I got something totally wrong...
DarkZell666
8th May 2007, 07:14
So what's left is to do a screencapture of the swf while it's playing (into huffyuv, xvid, or whatever) and do something with that instead (or code your own directshow/vfw swf codec :p).
I'm not sure fraps can capture the desktop (only 3D games or fullscreen apps IIRC). Hypercam DX should do the job though (I couldn't capture some fullscreen 1024*768 stuff at 25fps with it though .. so you might want to find something else :/)
foxyshadis
8th May 2007, 12:55
VMR9 counts as D3D and works with Fraps. It'd be nice to have a dshow splitter/decoder for swf, it would make the occasional capture much simpler, although interactive ones would probably just fail totally.... ;_;
jofori89
12th February 2010, 03:17
Try this to render flash (yet test)
Flash DirectShow Source Filter
DirectShow source filter for Flash media.
http://www.medialooks.com/products/directshow_filters/flash_source.html
StainlessS
12th February 2010, 03:37
Here's alternative flash stuff incl FLV splitter, no register required to D/L.
http://1024k.de/bookmarklets/video-bookmarklets.html
For FLV to AVI conversion, can highly recommend:-
PAZERA FREE FLV to AVI CONVERTER. (EDIT:- Google for it)
EDIT:- Sorry, Welcome to Doom9 Jofori89 :)
Chikuzen
12th February 2010, 08:48
VFAPI plugin for swf (swf_vfp-0.1.3)
http://www.marumo.ne.jp/trash/swf_vfp-0.1.3.lzh
This VFAPIplugin was developped by Mogi Kazuhiro (http://www.marumo.ne.jp/) in 2003.
Because this is not a capture-type converter, the machine power is unnecessary.
Useage:
LoadVFAPIPlugin("***\swf.vfp","SWFSource")
SWFSource("***\movie.swf")
Note:
・The top and bottom reverses when swf is read by using LoadVFAPIPlugin(use FlipVertical at the same time).
・There is a possibility of crashing when seek is done. if you want to edit it, you should convert it to AVI beforehand.
・The function of some swf cannot be reproduced accurately (splite,actionscript...).
・It doesn't correspond to the audio.
・It is necessary to install FlashPlayer ActiveX to use this.
・The source code is bundled. Shift-Jis is used for the character-code.
・The author seems not to have the intention of the update.
StainlessS
13th February 2010, 03:30
@Chikuzen, Thanx,
Have D/L'ed, will try. Always nice to have an alternative.
Find link below to Adobe FlvCheck v1.0
(Req vs6 c++ redistributable)
Cannot source a later version, but does exist.
Also incl, brief instructions to fix a bad FLV file.
Many FLV files (including On2 produced) are considered
bad by Adobe FlvCheck, FlvCheck is supposed to fix them
but sometimes flags an error. Instructions tell how to fix
these errors (usually) and then retry with FlvCheck.
This actually does work unlike many fixes you might have seen.
Required:- FFMpeg.Exe
http://www.mediafire.com/file/uryrbkga7pcsu35/FlvCheck.7z/file
EDIT:-
The linked FLVCheck shows itself to be v1.0, however, there are multiple v1.0 FlvCheck's around,
seems Adobe did not update version number. This FlvCheck is freely downloadable from Adobe, however,
you cannnot find it with an Adobe search, brings up stuff about Adobe FLV Server (with which it is included)
but the earlier version is well hidden. I found it via a link from some other site, dont any longer have that
link.
Dogway
22nd December 2010, 17:42
Im struggling with a swf file I can't convert to avi. I got the other swf files converted mainly because it was plain video but the part Im trying to convert is some kind of interaction movie. I tried with pazera, and the demo of Moyea and Sothink, but none of them can "see" it, maybe the content Im wishing to convert resides in the other .swf files, I dont know:
http://www.sendspace.com/file/2dpe6q
StainlessS
22nd December 2010, 18:06
@Dogway
Chikuzen Wrote:-
The function of some swf cannot be reproduced accurately (splite,actionscript...).
Probably some kind of script generates the clip and without
the interactive element, there is no clip to extract. That's
just a guess on my part, I know nothing about action script.
Selur
25th May 2016, 21:20
I like the SWFSource plugin, but ran into a problem when trying to use a 32bit decoder (av2yuv/ffmpeg) and a separate 64bit encoder (x264/x265/...) which are connected via an std-pipe.
Problem is that there is a 'Vector smash protection is enabled.' output to std::out which breaks the video stream that is send to the encoder.
Ways I came up to avoid the problem are:
a. use a 32bit encoder which can directly open the avisynth script (slow + not all encoders natively support avisynth)
b. use of Windows named pipes instead of stdIn/Out
c. create intermediate files
-> Is there a way to suppress the 'Vector smash protection is enabled.' or redirect it to std::err?
What is the 'Vector smash protection is enabled.' message for?
Cu Selur
Ps.: I know this thread is old, but neither FFVideoSource or LwLibavSource can handle swf files.
thecoreyburton
27th May 2016, 17:34
I know it doesn't answer your question in terms of AVISynth but on the chance no better solution arrives, Swivel (https://www.newgrounds.com/wiki/creator-resources/flash-resources/swivel) is a very solid piece of free software that can convert the vector drawings found in a SWF to several frame-based video formats that can then be handled by AVISynth.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.