As an embedded developer you may be asking, " What has graphics to do with embedded processing?".
When my family and friends ask me about my work, I still throw out buzzwords like embedded procesors, but my definition of embedded has changed in the past few years. I used to define embedded as a "hidden" processor that provides the smarts in a device, but the hidden piece is changing.
Traditional embedded developers are not accustomed to working with graphics, or even a display. Those developers may have been used to a few indicator lights, but today's embedded processors can have dual displays, with movies on one screen and a navigation menu on the other. These same developers are often not familiar with the various video formats that need too be supported, including YouTube style flash videos, full length DVD movies, and QuickTime episodes of "The Office", just to name a few.
This article highlights a tool I have used for several years that provides easy conversion between one video format to another. This tool enables an embedded developer to benchmark various codecs or resize material to fit a particular screen dimension. There is an added benefit in that you can also convert your media to play on your iPod Touch.
Not Just a Converter
SUPER, as its full name implies, includes a player for viewing your converted masterpieces. Also a handy display of internal file info can be called up by double clicking on any file name that you have added to the drop list. I particularly like the ability to drop a bunch of files onto the program and have SUPER run a batch process to convert them all. Or you can drop a playlist file (*.asx, *.m3u, *.pls or *.wmx) into the drop box.
The most difficult part of installing this program can often be just finding the actual download link on the website. I've had friends give up, but the secret is to scroll down to the bottom of the /long/ screens. The first time I saw this, I thought it was just a teaser site for a spam site, but now I think its just an unfortunate web design. Don't be put off by this.
Despite being just a front end for the command line programs, it actually includes FFPMPEG, X264, and other programs. See the compatibility section if you have these installed already.
Cygwin is more of a problem and you will likely get a warning message on startup, however I have ignored this for years with no apparent problems.
Another problem you might encounter during Installation is the apparent lack of resources; see the biggest warning dialog I have ever seen below. This is a foreshadowing of the website I'm always running low on disk space on my laptop, and SUPER will complain if there's less than 20GBytes of free disk space . The reasoning behind this, I presume, is that this is the amount of disk space needed for copying a large DVD. I'm not advocating the practice of converting a set of VOB files from a commercial movie. My suggested use in this article is to modify content that you own, in order to have it fit your particular screen or device that you want to test . http://www.flickr.com/photos/31079567@N03/3074410773/
Compatibility - Under the Covers.
- ffmpeg -i input -acodec libfaac -ab 128kb -vcodec mpeg4 -b 1200kb -mbd 2 -flags +4mv -trellis 2 -aic 2 -cmp 2 -subcmp 2 -s 320x180 -title X output.mp4
I think most reasonable people will agree a GUI has its advantages when you are a new user of FFMpeg
While looking for the location of the FFMpeg executable I did a search of my PC and discovered that I have a dozen different copies of the FFMpeg.exe file. Because this is a command line program each invocation is unique so I haven't detected any interaction between the different versions, but my rant is this- why do I need so many copies. Any suggestions on how to fix this would be welcomed. Disk space is cheap, but I never have enough. I ran a quick find on Microsoft Visual C run time libraries, and that's what really triggered the rant. I have copies of Visual C version 2 through 8 on my system. Do you want to see what you have, have a search for MSVC*.* and rant away.
Rant time!, please join in.
I've not had any compatibility problems, and in fact it's the only program I have that can play my videos from my Canon and Sony cameras and my hacked version of a CVS Pharmacy Video Camera Make: HOW TO CVS Video Camera Hacking for PC & Macs
Resources and Links
- A difficult to navigate, three-page maze, but worth the effort
- More options than you can shake a stick at. Very intimidating (for me at least). You can even read the source files.
A very good FFMpeg tutorial http://howto-pages.org/ffmpeg/
- How to tame the "Swiss army knife" of audio and video manipulation… is the tagline on this very readable site
The Graphics and Media Lab at Moscow State University http://graphics.cs.msu.ru/index.html.en
- This has some great info on all kinds of video codecs, although how can I criticize a site that states "The main known problem is sysop's lack of beer, please mail us if you find any more!" :)
On his forum the author of SUPER gives his reasons for limiting his program to run only on Windows, becuase he states there are several good alternative GUI's available for Linux and Mac users. While re-searching some websites and forums for this article, many people have recommended ffmpegx, handbrake and Nero. YMMV. If you have other recomendations please add your comments below.
Over the years, I've found a few files that SUPER hasn't been able to convert, but generally speaking I've found this tool a great asset. I'm also keen on photography, and I've used it create a movie from a set of 1600 JPG images. I've used it to strip the audio from a movie and create mp3's. There's a decent forum, and the program author's comments and replies to questions are quite entertaining. He doesn't suffer fools gladly. If you can ignore the warning messages on startup, then go ahead and give it a try.