Main Page

From IPodifier Wiki

Revision as of 23:41, 24 September 2008; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

iPodifier Wiki

This wiki is intended to provide support for the iPodifier software. In addition to this wiki, you can also find support at the iPodifier Google Group. While you should feel free to ask a question at the group, this should be your first resource.

Contents

What is iPodifier ?

iPodifier is a Windows application that automates transcoding video for the Apple iPod. While it is primarily designed to generate video for the Apple iPod, it has been used to transcode video for the Zune, Blackberry and Apple TV as well since the transcoding options can be customized to produce any video output. While there are number of very good applications out there for transcoding single videos for the iPod, if you have a DVR (digital video recorder) such as Windows Media Center, SageTV or BeyondTV, these applications can generate a lot of video. Say you ride the train into work every morning and can't stay up late enough to watch Jay Leno every night and want to watch it on you iPod on the train in the morning. With iPodifier, you can tell it to keep the 5 most recent Tonight Shows on your iPod. iPodifier will monitor your DVR's video directory. As soon as your DVR application has finished recording the Tonight Show, iPodifier will see this, transcode it into a version compatible for your iPod, add it to iTunes and sync your iPod, so when its waiting for you in the morning. You can setup subscriptions for how every many TV shows or movies you want to keep on your iPod. iPodifier was designed to work primarily with Windows Media Center, SageTV and BeyondTV and will get the metadata (i.e. showname, episode, description) from the DVR application and transfer this to iTunes as well. You can setup iPodifier to work with multiple video sources. So, in addition to monitoring you DVR directory, if you download a TV series or have some home movies, you create other video sources in iPodifier for these.

Like many of the other transcoding applications out there iPodifier uses FFMPEG to do all the transcoding heavy lifting. FFMPEG is a wonderful open source transcoding engine. iPodifier does all the automation, scheduling and interactions with iTunes, Windows Media Player and the DVR applications, but hands the transcoding off the FFMPEG. Because some have wanted to use iPodifier for creating video for devices other than the iPod, iPodifer allows access to the command line that is passed to FFMPEG. This allows the user to take advantage of all the automation that iPodifier allows, but then customize the transcoding output to the device they are using. Wizards are setup to make it easy for iPod users, though.




iPodifier Version History

Download the current iPodifier version here

  • iPodifier v1.507 (Note - this version has not yet been released)
-fixed issues that caused custom ffmpeg commands not to be saved when editing video sources
-fixed issue that caused the metadata of network shared WMCE videos to be unrecognized in some instances
-added additional characters to those stripped from TV show titles/episode names to prevent filename issues (current list of characters stripped is \/:*?"<>|-.;!)
-added "-ac 2 -ab 128" to ffmpeg command line. The -ac 2 forces ffmpeg to use only 2 audio channels. I found that video files that had dolby 5.1 audio caused ffmpeg to crash unless this was included. The "-ab 128" limits the audio bit rate to 128.
  • iPodifier v1.505
- added ";" to the list of characters stripped from showname/episodes - although it is not an invalid filename character, it appears that iTunes will reject entries with a semicolon
  • iPodifier v1.504
- re-fixed the infinite transcoding bug due to invalid characters, turns out I didn't fix it in v1.503
- Show description in dvr-ms files is also xferred to iTunes
- Files with SXXEXX at start of episode name will be parsed for season and episode numbers which will be sent to iTunes
- When ipodifier is started with the /START commandline switch, in addition to start with encoding enabled it will now also start with the application minimized
  • iPodifier v1.503
- fixed bug that was causing transcoding infinite loops when a showname or episode had an invalid character in it
  • iPodifier v1.500
- 1st iPodifier versiont to grab metadata from dvr-ms files
- DVRMSToolbox no longer necessary, FFMPEG that supports dvr-ms files used
- Better wizards that include resolutions for iPhone/iPod Touch
  • iPodifier 1.008
- Stable version that lasted for quite some time that has now been retired

Frequently Asked Questions

  • I've installed iPodifier, run the setup wizard, setup my video sources, clicked on Enable Transcoding and nothing happens, what's going on?
By default iPodifier does not transcode any of the TV shows or movies in your video source directory. You first need to go into the iPod vido management panel (lower left side of iPodifier) and double click on each show you want to appear on your iPod. There you can setup how many of each show you want iPodifier to transcode. iPodifier does this because most people have a crapload of video in their DVR video directory and want only select shows and movies moved to their iPod.
  • Does iPodifier work with Windows Vista?
Yes, iPodifier works fine with Windows Vista.
  • How long does it take to transcode a video?
That depends upon how fast a PC you have and the options you choose for video quality. For a 30 min TV show, it can vary any where from 5-30min. The nice thing about iPodifier is, though, is that it automatically monitors your DVR directory. It will setup a queue of programs you have selected and transcode them in the middle of the night if you like.
  • Do I need DVRMSToolbox to convert the dvr-ms files created by Windows Media Center to a format readable by iPodifier?
No, the current version of iPodifier (v1.5) uses a version of FFMPEG that fully supports dvr-ms files. A previous version of iPodifer (v1.008) did require that DVRMSToolbox be installed so that it could be used to "pre-process" the videos prior to transcoding, but this is no longer necessary.
  • Is there a Mac version of iPodifier available?
No, currently there is only a windows version available
  • How much does iPodifier cost?
I don't charge anything for iPodifier and I am not accepting any donations. I really do appreciate the offers for donations, but as soon as you start charging something or accepting donations, I feel that you need to commit to providing a level of support that I don't have the time for. I use a lot of applications other programmers have worked hard at developing, so I don't mind giving a little back. You may start seeing some ads appear in the top banner of iPodifier to help defray the cost of running the website, tho.

Known Issues

There's a couple known issues that keep cropping up. These are feature requests that people have asked for but are difficult to implement or a bug that I am trying stamp out.

  • Infinite Transcoding loop
There's a couple flavors of this issue
You may experience a situation where iPodifier gets stuck transcoding the same video over and over again. Once it finishes transcoding the video normally and adds the video to iTunes, it starts transcoding the same video again. This cycle repeats infinitely. This error usually occurs when the video source is Windows Media Center Edition, and either the TV showname or episode has a character in it that can not be used in a filename. Once iPodifier transcodes the video, it renames it showname-episode{TV}.mp4. If the TV show was South Park - Who Shot Kenny?, then this would cause this error, because the question mark can not be used as a filename character. Actually, this is a bad example, because I have filters in the code to watch for all the obvious characters that cannot be used in filenames. Some still get through, though, that I didn't anticipate. So, if you are having this problem, you can either delete the video so your queue can proceed, or use this tool that allows you to edit dvr-ms meta data. You can change the offending character. If you find a character that was giving you a problem I'd appreciate it if you'd put a post on the google group to let me know, and I'll update iPodifier to include it in the filter in the next release of iPodifier.
The other type of infinite transcoding loop occurs much faster and is where iPodifier just keeps cranking through the same video very quickly and says its transcoding it, but is not, actually. This usually means that FFMPEG is having an issue trying to transcode the video and is spitting out an error. The best way to try to diagnose these types of problems is to copy the FFMPEG command line by going to the log (middle of the iPodifier screen, one of the tabs), open up a command prompt (i.e. Start menu, Run, enter CMD) then navigate to your iPodifier directory (i.e. cd \Program Files\iPodifier) and paste the FFMPEG command line and watch the response that FFMPEG spits out. This will show you the error that FFMPEG is having with your video file. If you don't understand what it is saying, head over to the iPodifier google groups for help.


  • Everything is setup, you've added your video source, selected which shows you want to transcode, there is video in your video source that should be ready to transcode, but nothing is showing up in the transcoding queue, what's going on?
This usually means that the DVR application you are using has some sort of lock on the video files, or has the read-only bit set on them. iPodifier monitors the videos in your DVR application's directory to see when a new video is available for transcoding. Because it doesn't want to start transcoding a video that is still being recorded to, it checks to see if videos in the DVR's directory are in use before adding them to the queue. It does this by trying to open them for write access. If this fails, it assumes that the video is still being recorded and it does not add it to the transcoding queue. BeyondTV is notorious for this and I think there is a workaround for it - I think it sets the read-only bit on the file. Windows Media Center also has a tendency to hold onto the file for awhile after recording it as well, so it may not show up in iPodifier right after its done recording. Exiting the DVR application will usually clear up the problem.


  • You can not select which movies to transcode
In iPodifier, movies show up in one big bucket [Movie]. The [Movie] category is like a TV show, you can not select which movies to transcode, or individual movies, only how many movies or to keep all. I'm thinking of a way to resolve this, but I haven't got any easy ways to fix this yet.

Tips and Tricks

There's an number of undocumented features in iPodifier that will be described here. Ok, an ndocumented feature usually means bug, and I'm sure there's plenty of those still lurking around, but there are a number of truly undocumented features in iPodifier as well.

  • Starting iPodifier up minimized, transcoding enabled
Normally, when you start iPodifier, it starts as a fully maximized window, and you need to click on Enable transcoding to start it processing your queue, or monitoring your video sources. But, if you want to add iPodifier to your Startup folder so it automatically starts when you restart your computer, you'll want it to start minimized and with transcoding enabled. To do this, create a shortcut in your startup folder for iPodifier, but change the Target to ""C:\Program Files\iPodifier\iPodifier.exe /START" By adding the /START commandline switch, iPodifier will start minimized and with transcoding enabled.


  • Using a custom FFMPEG command line
To make it easy for beginner user, iPodifier creates FFMPEG command lines that generate video suitable for the various types of iPods. If you would like to tweak these settings to obtain slightly better video or audio quality or compression, or even use a completely different transcoding tool, you can enter a custom transcoding statement. There are only a couple basic things that you have to know. To create a custom transcoding statement, open up a video source and click on the "Use custom encoding command" check box. You will see that the encoding command window will no longer be grayed out, and you can edit it. If you look at a standard FFMPEG command, it looks something like this
ffmpeg.exe -y -i %IF% -f mp4 -s 480x320 -acodec libfaac -ac 2 -ab 128 -async 4800 -dts_delta_threshold 1 -threads auto -vcodec libxvid -qscale 7 %OF%
To use a different transcoding tool, you'll need to enter the path to it first, then enter all the command line parameters it needs and use %IF% and %OF% where the input and output filenames would go. If you just want to tweak the FFMPEG settings, then that's easy, just add/delete parameters to the statement, but just make sure you leave the %IF% and %OF% where they are.


  • iPodifier registry settings
iPodifier stores all its settings in the registry. If you're not familiar with editing the registry, you might want to ignore this, if you're comfortable editing your registry, read on. Open up regedit and navigate to HKEY_CURRENT_USER\Software\iPodifier. You'll see how iPodifier stores all its settings. Navigate to one of your video sources, you'll see that it stores all the settings for the video source including the ffmpeg command line there. You can edit those here instead of in iPodifier if you wish. NOTE: When you are editing the registry, make sure iPodifier is not running, because, as soon as iPodifier shuts down, it will write to the registry, overwriting any changes you made.


  • Using the video preprocessor
In the bullet above, take a look at the registry entry for one of your video sources. You'll notice that there is are registry entries for PreProcApp, PreProcEnabled and PreProcParam. You can use these to specify a preprocessor to be used on your videos prior to running ffmpeg. For example, if you wanted to remove commercials you could preprocess your videos first using something like Comskip. Since this preprocessor function does not show up in the UI for iPodifier, you need to make the changes in the registry, so its not for the faint of heart. To use something like comskip, you would specify the path to the comskip program in the PreProcApp registry entry, and in the PreProcParam, setup whatever comskip parameters are appropriate, and use %IF% and %OF% as the input and output file names. For example, DVRMSToolbox provides an application that does commercial removal. To use this with iPodifier, edit the registry settings for the video source as follows:
Set PreProcApp to C:\Program Files\DVRMSToolbox\DVRMStoMPEG.exe
Set PreProcParam to /if="%IF%" /of="%OF%" /act="dvrmscutoutcommercials" /p=16384 and finally
Set PreProcEnabled to 1.
When you restart iPodifier and start transcoding, if you did it right, you'll notice that each video will first be preprocessed prior to transcoding.


  • Using iPodifier with BitTorrent or other downloaded TV shows
While iPodifier works great with DVR applications and will automatically grab the TV show and episode information associated from these from either the metadata embedded in the video file. For dvr-ms files, iPodifier grabs this metadata out of the video file. For all other video types, it relies on the following file naming convention for TV shows: Showname-Episode.ext. iPodifier will parse this format to extract the showname and episode information to pass onto iTunes. Unfortunately, BitTorrent and Newsgroup feeds seem to follow different file naming conventions. But, at least within a TV series downloaded, they are consistent, though. That's where Bulk Naming Utility comes in handy. Once you download a series, open up the directory and in a snap you can rename the entire series to conform to the convention Showname-episode.ext. Now, iTunes recognizes series number and episode number as well as episode ID. So, if you have all this information, iPodifier will recognize this as well, parse it and transfer it to iTunes. Here's how to name a file so iPodifier will properly parse it:
Showname-S01E01 Episode.ext (Example: The Wire-S02E02 Collateral Damage.avi)
iPodifier will recognize "The Wire" as the showname, that it was from Season 1, it was Episode 2, and the episode was called "Collateral Damage." All this information will be passed to iTunes (which will be passed onto your iPod). In the season and episode numbers, the preceding zeros are required. It is not necessary to have the season/episode numbers if you have an episode description, and likewise, if you just have the season/episode numbers, it is not necessary to have the description. Both of the following would be fine
The Wire-Collateral Damage.avi
The Wire-S02E02.avi
Again, I have found Bulk Naming Utility to be extremely useful in renaming entire TV series to conform to this format.

Using the Podcasting Feature in iPodifier

So the first question you might ask yourself is: "Why would I want to use the podcast feature?" Actually, the first question you might be asking is "What the hell is a podcast?" Both good questions. In brief, a podcast is a series of either a video or audio files that are updated regularly using and RSS feed. Before you ask yourself, an RSS feed is simply a text file that keeps track of all the files available for a particular podcast. The RSS feed contains links to new videos and/or audio files as they become available. The RSS feed will also contain "meta" information like show descriptions as well.

Unless you've been living under a rock over the last year, you'll have noticed that everything out there now has an RSS feed. Every blog, website, forum has an RSS feed that allows its users/subscribers to track of any new information posted without having to actually visit the site. There are lots of RSS readers or aggregators available that will keep track of all your RSS feeds. Rather than visit a dozen websites you frequent everyday, you can just glance at the RSS feeds in your aggregator to see if there's anything new.

Ok, so what does this have to do with iPodifier? Well, TV shows are well suited to RSS feeds. iPodifier can create an RSS feed for every TV show you manage in iPodifier. While there are lots of tools you can use to keep track of this RSS feed, iTunes provides a podcast interface that allows you to monitor RSS feeds. You can use the iTunes directory to find audio or video podcasts. When you select a podcast you are interested in the iTunes directory, iTunes will find the RSS feed for that show and automatically monitor the feed and watch for any new content to appear. Once it sees that a new audio or video is available, it will download the file and add it to your iPod. Instead of finding podcasts using the iTunes library, you can manually add an RSS feed. You just need to give iTunes the URL of the RSS feed you want it to monitor. Ok, now you're probably putting two and two together. If iPodifier can create an RSS feed for your TV shows and iTunes can monitor the RSS feed, then you can add the RSS feed produced by iPodifier into iTunes.

Now, iPodifier already adds TV shows and movies to iTunes, but it does it in another way. Apple provided programmers with hooks into iTunes so that external applications could interact with it. This is called the COM interface. iPodifier uses this COM interface to manipulate the iTunes library. But the only problem with the COM interface is that it only works if the program that wants to interface with iTunes is running on the same computer as iTunes. So, if you have a video server that runs your DVR app, you can't run iPodifier on this if you have iTunes installed on another computer. Also, if you have other family members with their own computers and their own iPods, you would have to run iPodifier on each computer if they wanted to get TV shows on their iPod. What would be better if you could run iPodifier on one computer, maybe your server, and use the podcast feature to generate RSS feeds for each TV show. Your family members could then just subscribe to the RSS feeds for shows that they are interested in.

For you ubergeeks out there who have your own web server, the podcast feature also allows you to create RSS feeds that you can have access to wherever you are. Say you are travelling and want to get the latest Colbert Report? Just download it using the RSS feed.

Setting up the podcast feature in iPodifier is relatively trivial (more later). But, in order to be a host for RSS feeds (even for just a home network), you need to have a web server running. Windows XP comes with a web server built in, but is not installed and setup by default. I won't go into how to setup the Windows XP IIS server, link but here's a how-to description here. Once you've got your web server running come back here and learn how to setup iPodifier.

I will assume from this point on that you are using the IIS server that comes with Windows XP. If you're not using it, you're probably smart enough to figure out how to do the following on your web server.

You need to setup a virtual web directory that points to your iPod video directory. This is the directory you specified in iPodifier to hold all your iPod video. For me, this directory is c:\iPodVideo. The easiest way to add this directory as a virtual web directory is to open file explorer, find that directory, right click on it and select Properties from the pop-up menu. If you properly installed the IIS web server, you will see a tab labeled "Web Sharing." Click on this tab, and you should see something like what is shown to the right. As shown, click on "Share this folder." When asked for an alias, use something like "iPodVideo," and make sure access permisions are set for Read. That's all you need to do for the web server side.

To setup iPodifier to create RSS feeds, start iPodifier and click on the "Transcoding options" button (in the Transcoding queue panel). In the Podcast feed options section, enter the name of the PC your webserver is running on. This could be an IP address, or the network name for the PC. Then, enter the alias you gave for your iPod video directory (i.e. "/iPodVideo). Don't forget to include the "/" before the alias. Now, close the Transcoding options form and double click on a show in the iPod video management panel that you want to create an RSS feed for. This will bring up the Show info dialog box. Check the "Create podcast..." check box. The RSS feed URL should be now shown in the box below. Select the URL and copy it to the clipboard (i.e. select it, right click and select copy) so you can add it to iTunes. Start iTunes and from the menu bar along the top, click on Advanced->Subscribe to Podcast. Paste the URL you copied from iPodifier into the box and hit OK. Now, go to the Podcasts section of iTunes and see if it is correctly checking the feed and downloading the shows.

Image:ShowInfoDialog.JPG. . Image:VirtualDirProperties.JPG


Personal tools