I need to extract a video+audio without conversion to a separate file (I suppose it should be FLV file, but I'm not sure).
I tried Flash Decompiler Trillix, but it converts video to AVI, which results in file being 20 times bigger.
I tried Unlock swf 30 + ffmpeg.rev12665 but I get only audio in FLV file.
i used this string -If I useffmpeg -i your_swf_file.swf -vcodec copy -acodec copy -y your_new_file.flvi get a FLV file with audio and Video, but it's less in size than the SWF by few MBs. In Flash Decompiler Trillix I saw that almost all the size of SWF except few KBs is Video + Audio.ffmpeg -i your_swf_file.swf -vcodec flv your_new_file.flv
So if it's less by few MBs, it means it was reencoded.
I get this after trying to extract audio and video:
Input #0, swf, from 'lptv_01_hi_uncomp.swf':
Duration: 00:46:05.7, start: 0.000000, bitrate: 63 kb/s
Stream #0.0: Audio: mp3, 44100 Hz, mono, 64 kb/s
Stream #0.1: Video: flv, yuv420p, 240x180, 30.00 tb(r)
Output #0, flv, to 'lptv_01_hi_uncomp.swf.flv':
Stream #0.0: Video: flv, yuv420p, 240x180, q=2-31, 30.00 tb(c)
Stream #0.1: Audio: libmp3lame, 44100 Hz, mono, 64 kb/s
Stream #0.1 -> #0.0
Stream #0.0 -> #0.1
Press [q] to stop encoding
frame= 0 fps= 0 q=-1.0 Lsize= 3943kB time=470.9 bitrate= 68.6kbits/s
video:0kB audio:3662kB global headers:0kB muxing overhead 7.699562%
+ Reply to Thread
Results 1 to 13 of 13
Thread: Extracting video from SWF
Originally Posted by noemi7
Would be perfect if it could extract both video and audio into the same file..... But it does it in separate files....
OK I used ffmpeg to make them in one file, but video seems to be extracted incorrectly. It has some glitches and is very speed up.
it even plays in SWF decompiler faster than it should be played, and when extracted to FLV has except faster speed some glitches.
When I play whole SWF file it shows that there are 14000 frames, and in video options shows the same, but when I expand SWF file and select only video and it starts playing it shows in progress bar that there are only 7000 frames, and plays twice faster.
What's the reason?
Originally Posted by roma_turok
I need to extract it, not just screen capture - that it the worst way of doing it.
Do your swf have image based assets or video based? If the former, you will have to re-encode anyways
Can you upload a small sample?
This is video based, and non-VFR , so you can remux pretty easily with avidemux. The header reads ~65 fps which is wrong, so you can re-write the fps. Everything is copied using this method (no re-encoding), unfortunately it takes a few steps (I don't know of a batch method). Clues that the real fps was 15 CFR: 1) the relative durations of the demuxed audio & video (use mediainfo). 2) When dropping the .flv into flvextract, you can get a timecodes sheet which shows CFR and 15 fps
1) Demux your assets using swf decompiler
2) Load the flv video into avidemux
3) Video=>frame rate 15
4) Audio=>Main track=>Audio source external MP3 (select the MP3)
5) Make sure video & audio sidebar set to "copy" , format to FLV
6) Press save & enter extension (e.g. "myvideo.flv")
I know you already tried ffmpeg, but there should be a way you can do it with that as well