Monday, December 26, 2005
iPodDrop v1.0
I am pleased to announce the release of iPodDrop v1.0, an extremely quickly written iPod video encoder utility that I've thrown together over the last four hours or so.
There isn't NEARLY as much error detection as there should be, and it is probably easy to mess it up. There are lots of places where it is making assumptions that could cause trouble if you do strange things to it. However, when used exactly as intended, it seems to work fine. I mean, it doesn't actually check that the output video is ipod compatible, it makes assumptions that you've fed it 16-bit video and such things. So normal MPEG-4 stuff downloaded off the net should encode fine, but if you tried to give it exotic content, it'd encode it to a format that the iPod might not support.
What it does is simply determine the resolution of the input video, sees if the resolution needs to be shrunk in order to be decoded by an iPod, if so figures out the highest resolution with as close an aspect ratio as possible that can be decoded on an iPod (the iPod's screen is 320x240, but it can output higher resolution to a TV), then runs ffmpeg with a bunch of hardcoded parameters that are known to produce working iPod video in the QuickTime format.
The application itself has two parameters, the video bitrate (optional, defaults to 2mbit), and the source filename. All other encoding parameters are hardcoded in (only one you'd be able to change anyhow is sound settings, which I've locked at 160kbit stereo AAC), because the goal of this program is to work with drag-and-drop.
That's right, just drag an AVI file (or another format ffmpeg can decode) onto the executable in Explorer and it just starts encoding "_ipod.mp4" in the same directory as the source file. It defaults to 2mbit, but I've provided a variety of shortcuts that you can drag/drop onto that use a few different bitrates.
The obvious intention behind this is to make it stupid-easy to make high quality iPod videos destined to be played back on a TV. All you have to do is drag and drop a video file onto it (The icon, I mean, since it is a console app) and it does it's thing.
Download v1.0 Here
EDIT: OK, none of the shortcuts will work for you, but you can look at them and make your own. I can't figure out how to make relative shortcuts in Windows, so when I release v1.1 I'll switch to relative paths in BATCH scripts. The app itself can work from any directory though, it is only the shortcuts for alternate bitrates that are broken (And again you can make your own, takes all of 30 seconds)
Yes, I do intend to introduce future versions. This version is barely tested and was done super-quick to get something working. I will probably tweak the encode parameters to get some more speed out of it (SMP support might be nice, might not need some of the slow settings used, need to implement a push-any-key-to-continue for exit conditions), and to fix any bugs I encounter while using it. For now, this version works in most cases, so should be a good first release for such a quickly written program. I just dragged two random files onto it (The "Doctor Who Christmas Invasion" special, and an episode of "American Dad", and both output files played back on the iPod just fine. It might even run on Mono under Linux. It isn't really using anything particularly special.
Now that I've got this thing working and usable, I am going to collapse into bed onto my new memory foam mattress topper.
There isn't NEARLY as much error detection as there should be, and it is probably easy to mess it up. There are lots of places where it is making assumptions that could cause trouble if you do strange things to it. However, when used exactly as intended, it seems to work fine. I mean, it doesn't actually check that the output video is ipod compatible, it makes assumptions that you've fed it 16-bit video and such things. So normal MPEG-4 stuff downloaded off the net should encode fine, but if you tried to give it exotic content, it'd encode it to a format that the iPod might not support.
What it does is simply determine the resolution of the input video, sees if the resolution needs to be shrunk in order to be decoded by an iPod, if so figures out the highest resolution with as close an aspect ratio as possible that can be decoded on an iPod (the iPod's screen is 320x240, but it can output higher resolution to a TV), then runs ffmpeg with a bunch of hardcoded parameters that are known to produce working iPod video in the QuickTime format.
The application itself has two parameters, the video bitrate (optional, defaults to 2mbit), and the source filename. All other encoding parameters are hardcoded in (only one you'd be able to change anyhow is sound settings, which I've locked at 160kbit stereo AAC), because the goal of this program is to work with drag-and-drop.
That's right, just drag an AVI file (or another format ffmpeg can decode) onto the executable in Explorer and it just starts encoding "
The obvious intention behind this is to make it stupid-easy to make high quality iPod videos destined to be played back on a TV. All you have to do is drag and drop a video file onto it (The icon, I mean, since it is a console app) and it does it's thing.
Download v1.0 Here
EDIT: OK, none of the shortcuts will work for you, but you can look at them and make your own. I can't figure out how to make relative shortcuts in Windows, so when I release v1.1 I'll switch to relative paths in BATCH scripts. The app itself can work from any directory though, it is only the shortcuts for alternate bitrates that are broken (And again you can make your own, takes all of 30 seconds)
Yes, I do intend to introduce future versions. This version is barely tested and was done super-quick to get something working. I will probably tweak the encode parameters to get some more speed out of it (SMP support might be nice, might not need some of the slow settings used, need to implement a push-any-key-to-continue for exit conditions), and to fix any bugs I encounter while using it. For now, this version works in most cases, so should be a good first release for such a quickly written program. I just dragged two random files onto it (The "Doctor Who Christmas Invasion" special, and an episode of "American Dad", and both output files played back on the iPod just fine. It might even run on Mono under Linux. It isn't really using anything particularly special.
Now that I've got this thing working and usable, I am going to collapse into bed onto my new memory foam mattress topper.