# ffe

ffe is a simple, powerful Windows® front-end for FFmpeg, designed for rapid testing of its many multimedia conversion parameters, enabling you to save lots of slightly different versions of a file very, very quickly; in other words, "find the best settings". You basically throw in video files, set the output format, and click "Do It!", at which point FFmpeg leaps into action.

FFmpeg, by Fabrice Bellard, et al., is a quite incredible command-line-only multimedia converter, capable of converting a truly vast number of input and output media formats, and depending on which binary you use, supports either a HUGE number of control parameters, or a REALLY HUGE number of control parameters.

I find it most handy for converting YouTube FLV files, and the raw video from my camera. As well as converting DVD VOBs, of course.

You can basically convert anything to anything, whilst doing crazy stuff like mixing MP3 audio tracks with H264 video, and adding ID3 tags to AVI files. Big fun. Of course, it allows you do do things the correct way, too. No limits.

While converting, the console output from FFmpeg can be viewed live inside ffe, and when complete, the entire process log is available for viewing/searching.

ffe uniquely uses MATOF™ technology to automatically update the output file name (and extension) to match your encoding parameters; you can tweak-and-go, working at a rapid pace, without obliterating any of your previous tests. And then know exactly what parameters were used to encode each and every one of them, all without making notes.

ffe is FREE (though possibly not bug-free!), and can be download as a ready-built Windows program, or a full source pack, with AutoIt code, icons, includes, all that stuff, below. And that's all you need, right?

That and an FFmpeg binary, of course. It's also free, open-source software, and there are quite a few different versions kicking around. If you have some developer tools onboard, I recommend you checkout the source and build it yourself. Or else Google and take your pick..

This is generally reliable - all versions should work fine, though available options/flags/codes sometimes change between version; simply add/remove strings from your prefs; very easy to do in a decent text editor.

The latest version of ffe was built against ffmpeg.rev12665, which at the time of writing, is the most recent build there (and has been for months, so can be considered stable). Some options have changed from earlier versions of FFmpeg, notably the codec strings; xvid is now libxvid, for example, and mp3 is now libmp3lame, amongst other similarly obscure changes. These definitions have been updated in the new version of ffe.

There are still many items other that could be added to the codec drop-downs; you can do that in your prefs file, I added only a few that I recognize and/or use. See the formats.nfo document that comes with ffe (or run ffmpeg.exe -formats > formats.nfo to create your own) for cryptic details of the many other possible audio and video output formats.

NOTE: FFmpeg now has the option to not overwrite existing files. In fact, they made it the default! In light of this, I've added a preference to ffe's application menu, and set the default to overwrite files, as before. With MATOF™, this safety feature is rarely required.

If you disable overwrite (from ffe's application menu), and FFmpeg finds an existing file of the same name, it will prompt you, in the console, to respond with y/n to overwrite it - worry not, ffe can handle your y/n response, and pass it back to FFmpeg no problem - but if you have the console output disabled for some reason, you will miss this, and it will seem as if FFmpeg has hung. In this case, ffe will activate itself, and post a notice in its title bar, but if you have disabled overwriting, it is recommended that you run ffe with the console output enabled, which you surely do, anyway. I mean, how cool is it!

## Command-line usage..

ffe can accept instructions on its command line. You can send it files, and they will be loaded into the input upon launch. You can also load presets at launch time..load(Preset Name). Or both. Finally, you can instruct ffe to jump right to it, start the conversion immediately.. go(Preset Name) Path to File. Examples..

To load a file at launch..
C:\path\to\ffe.exe E:\path\to\video.flv

To load a preset at launch (in this example, a preset named FLV to AVI)..
C:\path\to\ffe.exe load(FLV to AVI)

To load that same preset at launch, but override its input files with a different file..
C:\path\to\ffe.exe load(FLV to AVI) E:\path\to\video.flv

Load a file (with a long path, including spaces, enclosed in "quotes"), and begin conversion immediately, using the quite fictional Convert to MPG preset..
C:\path\to\ffe.exe go(Convert to MPG) "E:\very\long path\to some\video.flv"

Load a file, and begin conversion immediately, using your ffe default parameters..
C:\path\to\ffe.exe go(ffe) E:\path\to\video.flv

If you supply an input file path on the command-line, your output file input [sic] will be automatically filled with its converted counterpart, and if MATOF™ is enabled, the preset's parameters inserted into its name, ready-to-go.

## Portable Install..

Like most of my software, if ffe finds an ini file next to itself, it switches to portable mode. In other words, if you want a portable installation, simply copy an ffe.ini file next to ffe.exe. You're done. Your ffe.ini is probably here..

C:\Documents and Settings\<Username>\Application Data\corz\ffe

On Vista, here..

C:\Users\<Username>\AppData\Roaming\corz\ffe

If you are new to ffe, and want to start with a fresh portable install, do your first run using the special portable switch..

C:\path\to\ffe.exe portable

Which will create a fresh ini file right next to ffe, for instant portable operation. Tada! Remember to drop your FFmpeg binary (ffmpeg.exe) in there, too. Using portable preference files, you can also run multiple copies of ffe on a single system, each with a different set of options, which sounds handy for someone.

Replace your old ffe.exe with the new one. That's it.

ffe will update your ini file automatically, adding any new settings, whilst keeping your existing preferences and presets intact. However …

If you are upgrading from an ffe version < 0.9 :   Because ffe will always honour your existing settings when upgrading your preferences file, you won't get the FFmpeg-updated codec strings in your codec drop-downs (as these are user preferences). Solution: rename/move ffe.ini. ffe will create a fresh ini file for you, containing updated everything - then copy back any presets out of old-ffe.ini.

## Itstory..

ffe's itstory is too lengthy to include here. If you want to know what's been changed, fixed, updated, broken, and so on, check out the version.nfo

## Quick Start..

If you can't be bothered reading this page right now, there's a short, quick-start type guide, here. I'll include it in the next release.

Like FFmpeg, ffe is free to download, and free to use, though all donations are warmly accepted. If you discover a bug, please let me know about it.

Note: You will need a unicode capable Windows® system to run ffe, that is; Windows 2000, 2K3, XP, Vista, and later Windows operating systems. ffe will not  run on Windows 9x.

LIVE MD5+SHA1 Multi-Hashes..
﻿# made with checksum..  point-and-click hashing for windows.
# from corz.org.. http://corz.org/windows/software/checksum/
#
81b6a5c3cc075b6a8db4d2e212e214d6 *ffe.zip
cd09ce51500471bfe2cdb5d8931a6e5cbac42445 *ffe.zip


The source pack contains everything you need (at least from me) to build ffe for yourself; AutoIt code, icons, includes, documentation, etc. Note, you will need to use AutoItWrapper to add the icons for the buttons.

LIVE MD5+SHA1 Multi-Hashes..
﻿# made with checksum..  point-and-click hashing for windows.
# from corz.org.. http://corz.org/windows/software/checksum/
#
683399742f9d2478b913c7d5c7b724fa *ffe source pack.zip


Have fun!

;o) Cor

cor - 14.04.09 6:49 pm

Stew, I have no experience of using ffmpeg with subtitles. I'd need to search the man page for a clue. And on a similar topic..

Thanks for your kind words, Alexander.

No, I don't mind what you do with the code. It's all yours. I'd love to see the finished program, though, even if it is in Russian.

One of these days, I may get around to writing some kind of translation plug-in module for my apps, it often crosses my mind. I think I've avoided this so far because I know it will instantly render my source code ugly and unreadable. But there must be a way around that… Also, everyone understand English! Just thinking out loud!

Have fun with the source!

;o)
(or

Terry - 29.04.09 11:27 am

Hello!

I just wanted to say how much I loved ffe and the source and wondered if it would be okay to use parts of it for my own AutoIt program? Pretty Please!

cor - 01.05.09 3:21 pm

READ MY LIPS! (or my previous post!) YES! DO WHAT YOU LIKE WITH IT!

Feel free to recompile it, call it "Terry's Magic FLV Converter" and sell it for Fifty bucks on Amazon!

;o)
(or

knizz - 06.05.09 8:27 pm

My Virus-scanner always detects a Generic.StartPage in ffe. Why? :(

Mike - 10.05.09 1:28 am

I love FFE, and came back for a newer version.

But AVG Free v8.5 is now claiming it found an infection of worm/autoit.wgy. Virus database 270.12.23/2106, AVG version 8.5.325.

<report - snipped>

cor - 10.05.09 3:13 am

;o)
(or

Qriist - 25.05.09 10:00 am

"One of these days, I may get around to writing some kind of translation plug-in module for my apps, it often crosses my mind. I think I've avoided this so far because I know it will instantly render my source code ugly and unreadable."

While it isn't the most elegant solution, but one that WILL allow for readability, you could always make the translations distributable as a .ini. Though I use AutoHotKey as a language for scripting things (that will never be released!), I do know that AutoIt and AHK are quite similar, so you should be able to use the following example with only minor changes, if any.

<snipped, ta! -ed>

This creates a program with an at least fairly manageable source code, though much larger for sure. (Truthfully, roughly 300%.)

For the first time, I have looked at AutoIt, the iniread command is identical. Variables seem to be a bit different, though mostly in syntax and not so much in function. (It appears %LANGBu0001% would be called as \$LANGBu0001, etc) Please point out any mistakes I have made!

cor - 25.05.09 11:40 am

I could have sworn I mentioned that an ini file was exactly how I would do it! Perhaps that was elsewhere. I use them for all the user stuff, luv 'em!

Thanks for your AutoHotKey code example! (which I will snip). You are right in that AutoHotKey and AutoIt share similar functionality, and again, that the syntax is very different. Looking at your example, I remember why I prefer AutoIt by a mile!

The code itself will be trivial. The real problem is that as soon as I do it, I create a layer of complexity for myself, and it's this problem that I would like to overcome. The nearest I have to a solution is to simply leave the English version of everything in the source, as comments, so I can still see what's-what. That's actually not a bad solution.

The real bottom line is that I haven't been motivated to do get around to it, perhaps realizing that when I do, I'll have to do it to everything. Maybe one day!

;o)
(or

Qriist - 25.05.09 1:53 pm

I'm not entirely sure what the snipping implies, but you are very welcome for the code example. ^^;

Please note that variables can be defined as just about anything, as I suspect au3's can; I simply used LANGbu0001 etc as a reference for you, for readability. If it will motivate you to tackle my issue with checksum (soon to be posted, rather discovered in the middle of this post...!) I would be willing to collaborate on some of the 'grunt work' of reformatting your source code for ffe. (That is, if it isn't offensive to you....some people are MY WORK purists, but the offer is there.)

Cheers!
---Qriist

PS
I mean reformatting in AutoIt, not AHK. Wouldn't do to swipe your entire code base from you!

oifbaby - 15.06.09 3:17 am

Heh, AVG says this is a worm

In fact several scanners are suspcious

http://www.virustotal.com/analisis/9ba0d2545316e5c1c72cb303f1bd8b732ce4b38d3f75778677011fce32e880a3-1245032192

( http://tinyurl.com/lxfvb4 )

Of course that's not preventing me from trying it

seems to work fine, though it doesn't take into account that a user might have changed the DPI setting of windows (like me) so some of the text is a bit overlapping.

Also, even with the portable setting, it creates a "corz" directory in %appdata%

But keep it up, much appreciated

cor - 15.06.09 9:10 am

Yeah oifbaby, I don't guarantee bug-free-ness, but being open source, you can tweak anything you don't like (Qriist - swipe it if you like! re-brand it and sell it as "ffmpeg interface" and make a million!).

Creates a user folder in portable mode, eh? That's one I'll definitely add myself, cheers!

As for DPI settings, DUDE! Every time I create a GUI, I think to myself, "I wonder if anyone out there uses unusual DPI settings, cuz I bet this is gonna look like shit", but no one's ever complained along these lines, and so I've not considered a solution at all. Darn! I guess I'll have to look into it!

Virii yeah, see up the comments a bit, and the faq page. On the bright side, it lets you know, at a glance, which AVs are brain-dead; relying on generic pattern recognition and similar old-school technologies.

Having said that, I quite like this for ffe's new logo..

### ffe.. Medium Risk Malware

Have fun with ffe!

;o)
(or

Kerry - 29.06.09 9:42 pm

the-FFE covert tool is great.
I found your site looking for a different type of FFE but turns out I used your FFEtool once before- its super fast and free-- thanks cor .. great work

oifbaby - 03.07.09 1:26 am

Hey!
Something is going wrong now - I just selected a preset and get this error from the output "unrecognized option '-flags'"

I check the ffmpeg i got and its version "SVN-r15986"

and I see you say ffe works with "rev12665" - so where do i find this older version?

(or is there an upgrade coming?

scarbies2 - 23.07.09 5:36 pm

run ffe.exe "sandboxed". check the registry keys it adds and tell me its not a virus?

virus? - 29.07.09 6:53 pm

If you don't use any anti-virus software, how can you verify that your downloads aren't, in fact, infected? I verified the md5sum of the download, but unless you can show that the file was clean at the time that you calculated that checksum, all I know is I have the exact same infected file that you uploaded.

Sorry, but that's not really a good thing.

Paul Dufresne - 13.08.09 6:01 am

When I build the executable from source with http://www.autoitscript.com/cgi-bin/getfile.pl?autoit3/autoit-v3-setup.exe (a freeware Basic like programming language) I don't get a virulent file (well, almost not), like the executable inside http://corz.org/engine?section=windows&download=ffe.zip
Edit3: It is easy to generate the ffe.exe from the ffe.au3 file in the source archive... Start Menu/Auto It v3/Compile script to .exe... then simply browse to the ffe.au3 file in the uncompressed directory.

The file I get is a 424 Ko (435 099 octets) file.
Perhaps I could send it to corz.

I had to remove URL tags because they were not showing in the message.

BTW: I noted that AutoIt uses upx compression...
maybe this is linked to recognizing it as a virus ... with previous version.

Edit2: Well, in fact, once decompress with upx, only the
Trojan/StartPage.cco seems to stay:
http://www.virustotal.com/fr/analisis/0165eaea7198d1920af8f33e109711584ecbfdf322499dfb4f92e38b9a347e6d-1250142335

The ffe.exe generated by autoit3 does give 2 (1 if you don't count suspicious file) virus:
http://www.virustotal.com/fr/analisis/03f2d54998d5ee152334cdb22d809990801323038757cd26a9ef13c3b4daf6a9-1250142619

And if I 'upx -d ffe.exe' before resubmiting:
http://www.virustotal.com/fr/analisis/ffc22e72561dd1b10f05d69fd5f950887b85e8a209d69ef1d4c78594181f515a-1250143016
Then all virus (and suspicions) disappears.

Edit3: I have send a message to virus@avg.com with the file that generate Worm/Autoit.WGY following the guidelines in http://forums.avg.com/ww.avg-free-forum?sec=thread&act=show&id=395 telling them that I believe it is a false-positive because once decompress with UPX it is not recognized as a worm anymore.

Paul Dufresne - 13.08.09 4:47 pm

Seems that I cannot edit my post anymore... let's start a new one.

Finally, it is probably better to generate an .exe from ffe.au3 file that is not UPX compressed, rather than to use 'upx -d ffe.exe' to decompress it after. Anyway... Cor distribute it in a .zip file, so it does not seems very much usefull to compress it before compressing it.
When you use the gui interface of Aut2Exe (Start Menu/Auto It v3/Compile script to .exe...) you have a 'compression' (I think) menu, in it, simply uncheck 'UPX compression' to make the .exe.

Then, the result is only a malware according to chinese Jiangmin antivirus. (when using latest AutoIt (v.3)).

Paul Dufresne - 13.08.09 8:22 pm

AVG did not took long to confirm the false positive by email to me, and the program is not listed anymore by AVG as a malware by latest updates, as you can see on TotalVirus

I don't know where you guys get your ffmpeg, but I like this place., moreover this place which have almost always the latest version.

I seems to have a bug with 'Magic Auto-Tranforming Output Filename' technology. I think it is when there is too much parameters... then it seems to work but the output files stays at 0 bytes. And no, this is not because my hard disk is full!

Probably the 'dvd' target should be replaced by 'ntsc-dvd' and 'pal-dvd'. For now I just let it empty and add '-target ntsc-dvd' to extra parameters.

I wished the 352x240 size would be made in the preset sizes, although it does not have a special names... since this is a predefined size for DVD players... as described in: http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-vcd-dvd.html

A 'Play the result' button would be nice... and could call ffplay that is made with recent version of ffmpeg (don't know for how long it exists). Read the ffplay doc. Finally I begin to understand how to add links. ;-)

I tend to use extra-parameter '-t 60' to test the cropping parameters.
Don't know if it would be a good idea to have a check box 'Test only the' Combo Box 'seconds'. Maybe it would make too much parameters.

cor - 22.09.09 2:57 am

oifbaby, you can make your own presets - see the ini. I designed them this way because they vary with each version of ffmpeg, and I have no control over that. But YOU do.

Thanks for your input, Paul. I do know how to disable UPX (I don't use the GUI, anyway), but I choose not to. The size of the final exe is what I'm looking to reduce - how it's transported is not relevant.

As for your MATOF issue, yes, it's possible that there are so many parameters that the path length has become illegally long. Perhaps use less parameters, or do your encoding in the root of your hard drive "C:\x", for shortness. I'ts not something I plan to look into, but if you want to code in some kind of concatenation or UNC path handling; I'd certainly consider adding it to the next release.

The presets in ffe are completely customizable. Check the ini. ffmpeg's switches are another matter, but I know that if you bug the developers or use the right binary, you can usually get what you want.

A "Play the result" button is a good idea, maybe even an option to automatically send all output to another program (I coded up a nice routine to handle this sort of thing for another program, so it should be easy enough to implement). Perhaps ffmpeg even has a switch for this we could simply tap into.

I must rtfm again!

;o)
Cor

ps. All issues related to supposed virii or imaginary registry keys will be ignored - I've no more time left to correct AV Vendor's incompetence, or anyone else's. The source is right there - build your own effin copy!

If you can't be bothered to research me or my software, and consequently don't trust my downloads, then don't download them; simple as that. Further whining and "reporting" along these lines will be deleted. If you want my full opinion, see the comments on the checksum page - link above.

Dan - 24.09.09 2:04 am

Hi,
i'm trying to convert a video file to mp4 and when i choose the audio to be convert to aac it says it is not installed. How do i add the aac codec to ffe? I am using a standalone install.

Thanks for the great software!
Regards,
Dan

cor - 24.09.09 5:54 pm

Dan, the "trick" is to get the right binary. ffmpeg is open source, and which codecs are present depends entirely on the compile switches used to create that particular binary. Some are fairly minimal, some have *everything*; which is why ffe enables you to edit the presets yourself, add whatever you need/is available. Many links above.

I'm assuming you downloaded some ffmpeg binary, and placed it next to ffe, as per instructions, right?

;o)
Cor

ps. You don't have a little sister, do you?

Enter the 5-digit code this text sounds like : lower-case jay, Upper-Case Zed, thuree, lower-case arrgh, Upper-Case Aitch