# Codec Hacking (Part I)



## riffer (Feb 23, 2002)

I spent some time today hacking around with codecs and the TivoToGo stuff, trying to get the video to play right.

So here's the facts:

a) .tivo files are proprietary formats, containing the MPEG-2 stream of a program in encrypted form, along with an identifying fingerprint, license statement, and creation date/time stamp.

b) In order for the file to play, you MUST have a codec that can handle MPEG-2 installed. There is no such codec provided by default with any version of Windows.

c) Only *certain* MPEG-2 codecs will work (currently) with the .tivo format. Tivo has listed some, but not all, of the compatible codecs on 
their website. I'm not sure yet what makes their format incompatible with some codecs, though it's probably at least in part the DRM stuff.

d) Even if you DO have a support MPEG-2 codec installed, *.tivo files may not play correctly!* This is due to Windows automatically selecting what it thinks is the best codec to play a media stream. Chances are the file is being played with another codec entirely.

--------

I had a pretty painless upgrade of the Tivo Series2 unit as well as my Tivo Desktop software. And I transferred a program from my Tivo to my home PC in about 9 minutes, over a wirless network connection.

The .tivo file plays, but the video is stretched out. Sound is great though, and video _quality_ looks fine. So apparently I'm not using a "compatible" codec. Like I get to choose which codec to play with, Tivo! 

I downloaded both the DirectShow Filter Manager and RadLight FilterManager tools mentioned here in this forum in an attempt to force Windows to use the proper codec. FilterManager has a nice interface, but doesn't actually change the Merit settings of a codec, so don't waste your time with it. DirectShow Filter Manager works pretty nice, though it's got a slightly kludgy UI.

I had already downloaded the *only* codec for Win2K that Tivo listed as being compatible. So I installed AC3 Filter and surprise, it didn't do any good as the .tivo file still plays stretched out. I checked File|Properties of Windows Media Player and found the codec being used was MainConcept Video Decoder.

Unfortunately, even after raising the Merit value of the AC3 filter, the .tivo file will not play with the correct codec. I even restarted my PC. No luck. So I do the next best thing, I unregister the MainConcept video codec and try playing the .tivo file again. This time, I get no video but I do get sound (and WMP complains about trying to download a codec but failing to do so).

So I re-install the AC3 filter and try again. At first I thought I had succeeded because I got video this time, and the aspect ratio was right. However, the sound was very quiet, and the video contrast was too light (images with a lot of white in them tended to bleed out the rest of the image, and colors were all washed-out). I checked and discovered I was now using the CyberLink Video/SP Decoder (came with the PowerDVD player that I got with my DVD Rom drive).

I ended up repeating this process multiple times. I'd unregister a codec, try and play the file, get no video, re-install the AC3 Filter and get video but not from the right codec. Both the MainConcept and CyberLink codecs were unsuitable for watching the .tivo file. However, the Nero Video Decoder and Nero DVD Decoder codecs worked quite well (they came with Nero 6 Deluxe). However, once I finished unregistering all the other MPEG-2 codecs besides AC3Filter, I *could not* get the AC3 Filter codec to play the clip. Which is quite odd, since Tivo is listing it as compatible.

--------

e) MainConcept MPEG Video Decoder and CyberLink Video/SP Decoder codecs are not compatible with the .tivo format (at least under Win2K with WMP 9)

f) Nero Video Decoder and Nero DVD Decoder *are* compatible with .tivo files under Win2K with WMP 9.

g) There is some mechanism about unregistering and registerig codecs helps determine codec order. Unregistering a codec did not allow WMP 9 to automatically select the next available codec, instead it acted like it couldn't play video at all. The process of re-installing a different codec appeared to "refresh" the codecs list so that the .tivo file could be played with a new codec.

h) *The single most critical problem with getting .tivo files to play is getting Windows Media Player to select a correct, compatible codec.*

I think that last fact underscores the real issue here. WMP isn't going to let you choose a codec to use. Futzing around with Merits is a waste of time. Uninstalling and re-installing codecs _might_ help but frankly should *not* be necessary and may have unintended consequences.

The best solution would be to have a media player that can be configured to use a specific video codec when playing. Then modify the file types preferences for .tivo files to use that media player instead of .WMP 9. I haven't done that much research on it yet, so I don't know how possible this is.

Hopefully I'll have some more useful solutions by next week.


----------



## PaulaBerge (Dec 6, 2002)

> _Originally posted by riffer _
> 
> h) *The single most critical problem with getting .tivo files to play is getting Windows Media Player to select a correct, compatible codec.*
> 
> [/B]


Changing the merit value of the codec you want to use to 00800001 (MERIT_PREFERRED+1) and the one that is currently being used to 00400000 (MERIT_UNLIKELY) should work (at least it does in XP and for WMP 10).


----------



## TechDreamer (Jan 27, 2002)

I wouldn't even mess with Win2k for this stuff, just too many problems.


----------



## OvrrDrive (Dec 14, 2004)

The Ligos mpeg decoder codec seems to be working very well for everyone that has tried it. It's available in the Klite codec pack.

Give it a shot.


----------



## anonymouscoward (Jan 7, 2005)

ac3filter does not include a mpeg2 *video* decoder so obviously it isn't going to work. ( I don't know why TiVo would recommend it?)
Newer versions of ac3filter (1.01a) include a mpeg2 *audio* decoder so you can use it to decode the audio portion of a .tivo file, but not for the video.

You could use the DScaler Mpeg2 Filters.
They are free/open source and they work well with .tivo files.


----------



## riffer (Feb 23, 2002)

You know, I had assumed that Tivo would only post a link to a useful codec, so even though i thought it was odd to call an MPEG2 codec "AC3Filter" I believed them.

What ****** thought that up? "Hey, let's link to a completely useless codec for Win2K users, and then mislead people into thinking it's useful!"
Clearly, some dickweed in upper management forced engineering to put this product out. It is *NOT* ready!

(And Win2K works just fine, dude).

I haven't tried the Ligos codec but the REAL problem isn't finding a codec that works. It's getting Windows Media Player to use the _right_ codec. WMP 9 doesn't seem to be a good alternative for playing .tivo files.

And yes, I adjusted the Merit settings for the codecs as suggested. No affect.


----------



## rlcarr (Jan 18, 2003)

The RadLight Filter Manager *does* change merit settings. I've used it quite a lot to do so in the past two weeks.

You have to click on the codec, pick a merit setting, and then hit the _Set Value_ button.

And then after exiting the program you need to log out and log back in (or
reboot) for the new merit values to take effect.


----------



## PaulaBerge (Dec 6, 2002)

Just installed TiVo Desktop on a notebook PC that's running Win2K and WMP 9. Got the codec warning on install, but playback is perfect - it's using InterVideo video and audio codecs. 

Sure was easy compared to the hell I went through trying to get playback on an XP/WMP 10 machine.


----------



## danxmanly (Jan 8, 2005)

This tivo to go is just a "buggy" program as far as window media player is concerned when it comes to the codecs. I've found another program where I can launch the .tivo files and it plays them fine where windows media player 10 doesn't. ( sound gets outta sync??? ) Still messing with it to see what works best.. but I'm wishin I wasn't one of the "lucky" ones that got the update so quickly. I'm spending too many late night hours trying to get rid of the bugs!


----------



## cluteman (Jun 30, 2004)

I've been playing around with the merits on the installed codecs I have on my system.. funny thing happened when I tried using the Pinnacle Studio MPEG2 Decoder 4.0.0.215 it flipped the image upside down!  (See attachment)

I get the correct aspect ratio with my Intervideo Decoder, but I can't FF, REW, or even scroll to a part of the video I want to watch.. Anyone know if there is a fix for that? I checked Intervideo's website, and they claim I have the latest version (6.0.6.56)..

Oh, and I am using Windows XP BTW (If you couldn't tell by looking at the screenshot  )


----------



## TiVoBill (Jun 8, 2002)

> _Originally posted by riffer _
> *You know, I had assumed that Tivo would only post a link to a useful codec, so even though i thought it was odd to call an MPEG2 codec "AC3Filter" I believed them.
> *


I don't have a Win2K machine, but according tot he AC3Filter website:

AC3Filter - it is DirectShow filter for AC3 decoding to play .AVI with AC3 audio tracks and MPEG2 (DVD).

That would seem to include that it can play video (MPEG2). We had internal people test this during beta and they were able to get it to work with the current version at that point. Anybody able to get it to work on Win2K?


----------



## chuckimus (Jul 27, 2002)

I'll admit... I'm a lurker. I got the update a few days ago and have been attempting to research this audio codec issue on my own. I have come to the conclusion thtat TiVo could really care less... that is unless we want to pay one of their partners $15 to fix their problem.

Actually, I could give a rat's butt whether or not this TTG works or not, but I'm a tinkerer. I'm pulling what I want off of my TiVo with a player/burner that is hooked to my series 2. That doesn't make up for the fact that there are others that are out there experiencing these problems and all we get is, "Not all MPEG-2 codecs will play TiVo recordings properly." Well, provide one then! 

The release is buggy as all get-out... I have duplicate response on my remote presses (though sometimes it is laggy as heck), the time display is gone while FFWD / RWD on recorded or in time delay programs. Oh, but wait... I can trade that in on a guide that loads hella fast.


----------



## morac (Mar 14, 2003)

> _Originally posted by TiVoBill _
> *I don't have a Win2K machine, but according tot he AC3Filter website:
> 
> AC3Filter - it is DirectShow filter for AC3 decoding to play .AVI with AC3 audio tracks and MPEG2 (DVD).
> ...


I'm pretty sure that AC3filter will only decode the mpeg2 encoded audio and not the video. So it will play the audio from TiVo files but is not capable of decoding the video. The reason I believe this is because AC3 is the format audio is stored on a DVD. That and they have graphs on their page showing AC3filter running with both the Intervideo and Cyberlink video codecs.


----------



## Karlp327 (Aug 24, 2004)

I am just happy that I am not alone int he world. I have decided not to worry about it since there is no much I need to transfer, edit and record. I will try the Sonic for the trial period and then relax until some company sees that there is a demand in the market and respond with something that works. Meanwhile, I will play with my 18 month old and read a book.


----------



## gonzotek (Sep 24, 2004)

> _Originally posted by morac _
> *I'm pretty sure that AC3filter will only decode the mpeg2 encoded audio and not the video. So it will play the audio from TiVo files but is not capable of decoding the video. The reason I believe this is because AC3 is the format audio is stored on a DVD. That and they have graphs on their page showing AC3filter running with both the Intervideo and Cyberlink video codecs. *


That is correct, ac3filter WILL NOT decode video. What has worked for me(on both xp and 2000) is ffdshow, also a sourceforge project. I use the latest alpha version and had to turn on the mpeg2 decoding support in the filter preferences:

(After installing from sourceforge)
Start menu->ffdshow->configuration->codecs->change MPEG2 format entry from disabled to libmpeg2 (or libavcodec, one or the other may give better performance).

There are also settings for aspect ratio, scaling, cropping, and other post-processing techniques.


----------



## riffer (Feb 23, 2002)

AC3Filter definitely an audio-only codec, though the website is not very clear about that. The author's native language is not english as far as I can tell, so he probably didn't realize the lack of clarity.

If Tivo engineers tested it, they didn't pay close enough attention. Or are blind.

PLEASE be sure to update the TivoToGo FAQ. There's other codecs that work just fine under Win2K, such as Nero DVD Decoder and Nero Video Decoder, or ffdshow (ffdshow.sourceforge.net).


----------



## lasergecko (Mar 13, 2003)

anonymouscoward said:


> You could use the DScaler Mpeg2 Filters.
> They are free/open source and they work well with .tivo files.


Here's a thumbs up and thanks for that suggestion. It appears to be working perfectly after a quick download and installation. No other tweaking necessary for me.


----------



## audioscience (Feb 10, 2005)

anonymouscoward said:


> =You could use the DScaler Mpeg2 Filters.
> They are free/open source and they work well with .tivo files.


I just used these as well and they solved my problems. Thanks!


----------



## Bob Brodie (Dec 20, 2004)

Let's make it three in a row!!!!!!!

The DScaler link was just what I wanted. I do have a little bit of artifacting/static like appearance at the very top of the video, but everything else is perfect! The sound and video are synced. The artifacting is present in the Windows Media 10 player, and in full screen mode.

I'm running Win XP Home, Service Pack 2


----------



## OvrrDrive (Dec 14, 2004)

Just thought for the heck of it, I thought I'd bring something up. 

When I downloaded the Moonlight codecs fror use with graphedit, I got one that screwed up my .avi files and made them play in 480x480 res. I right clicked the file in WMP and it said the file in question was the Moonlight Stream something... 

I opened up graphedit and navigated to the file in question in the 'add filter/directshow filters' dialogue, then clicked the plus beside the file to show its location. I then navigated there and renamed the file and now my avi files play correctly. 

Btw, the file was at C:\Program Files\Common Files\Moonlightmlcsc.ax. 



It's just a little technique I thought others might find usefull for killing bad codecs.


----------



## NightOwwl (Feb 12, 2005)

Bob Brodie said:


> I do have a little bit of artifacting/static like appearance at the very top of the video, but everything else is perfect!


Artifacting - is that the strange horizontal line at the top of my screen when I play back my .tivo file? Is it possible to use video editing software to correct the image?


----------



## lampebp (Feb 23, 2005)

The "artifacting" refers to digital noise produced by digitally recording the incoming video signal, and then by showing it again. It is often seen as large pixels or jagged diagonal lines on your screen. It is most often seen when watching a DVD on a HD television that has poor 3-2 pull down. Most regular TVs are so out of focus that you wouldn't notice. In any case, what you are seeing here is actually the television broadcaster's way of synching the audio with the video of your television shows. It is normally hidden above the image on a regular television(your TV overscans slightly, so the black/white bars you see are actually shining on the plastic above your screen). TV techs can run the video image through filters and actually show you the image on a regular TV, if you are that interested. I am assuming that the Tivo records everything including this synching information. When your watching the Tivo recording on your TV the lines do not show up because they are overscanned, but they do on the computer screen. In my case, I have a digital projector as my video source, and they don't show up. There is no overscan on a digital projector, but somehow the synching signals to no show up. There must be a built in filter in my projector that is not built into the windows media player or whatever other program you use to watch the Tivotogo files. Anyway, the lines are just part of the TV broadcast, and yes... they are annoying.


----------



## Nosmo Rex (Feb 13, 2003)

anonymouscoward said:


> ac3filter does not include a mpeg2 *video* decoder so obviously it isn't going to work. ( I don't know why TiVo would recommend it?)
> Newer versions of ac3filter (1.01a) include a mpeg2 *audio* decoder so you can use it to decode the audio portion of a .tivo file, but not for the video.
> 
> You could use the DScaler Mpeg2 Filters.
> They are free/open source and they work well with .tivo files.


Great find! :up:

Includes two very important qualities: *free* and *works well*.

Thanks very much!

FWIW - I'm using XP Pro SP2 and WM10 on my laptop, and XP Pro SP1 and WM10 on my desktop.


----------



## dwaldron (Mar 22, 2005)

Guess I'm the only one with problems with the Dscaler filters... Actually, they made the video work, which is an improvement, but I have absolutely no sound. I already used the TTG Sound booster, I'm not muted, etc. Any ideas?


----------



## gonzotek (Sep 24, 2004)

DScaler's video-only, perhaps use it in conjunction with ac3filter? Or ffdshow should also work.


----------



## tonyf3 (Oct 12, 2003)

riffer said:


> I spent some time today hacking around with codecs and the TivoToGo stuff, trying to get the video to play right.
> 
> So here's the facts:
> 
> ...


Any thought to a useful solution for Mac??


----------



## ZeoTiVo (Jan 2, 2004)

This is TiVoToGo version 1 folks. anyone else remember the huge push in this forum to release TiVoToGo? All the partner anouncements at CES that meant TTG needed to be "out" by CES time?

TiVo was forced into the date for releasing TTG. They have as much as said they will release updates to it again in early reponses to problems reported. I suspect one of the big things is that they chose to release a very light weight desktop app for TTG on the first go around. Hopefully they have had more time to beat on the desktop app part of TTG and can do more there to make this an install it and use it.

Till then the moonlight mpeg player wroks very well, though it costs 20$ because it comes with its own codec that works very, very well even on Windows 2000. No idea why TiVo will not point to those codecs. 

TiVo can not point to the free Dscaler codecs as they violate MPEG royalty licensing. So the forum buzz about them will just have to do.

But all this is not the final version of TTG and it should be treated as the version 1, released early becasue we demanded it, software that it is. Anytime you come upon a hard release date, scope has to change and features/platforms are dropped to get out what can be released. this always adds on more time to the next release unfortunately as you have to do the things needed for a release and divert resources to that.


----------



## dwaldron (Mar 22, 2005)

gonzotek said:


> DScaler's video-only, perhaps use it in conjunction with ac3filter? Or ffdshow should also work.


I'll try ac3filter again, though the setup seems possibly intimidating. ffdshow would play about 5 secs (with distorted audio) then locked up MediaPlayer.


----------



## dwaldron (Mar 22, 2005)

dwaldron said:


> I'll try ac3filter again, though the setup seems possibly intimidating. ffdshow would play about 5 secs (with distorted audio) then locked up MediaPlayer.


Well, ac3filter is a no go...I forgot to mention that I am running XP and apparently ac3filter isn't supported on XP...


----------



## Papzi (Jul 19, 2005)

anonymouscoward said:


> ac3filter does not include a mpeg2 *video* decoder so obviously it isn't going to work. ( I don't know why TiVo would recommend it?)
> Newer versions of ac3filter (1.01a) include a mpeg2 *audio* decoder so you can use it to decode the audio portion of a .tivo file, but not for the video.
> 
> You could use the DScaler Mpeg2 Filters.
> They are free/open source and they work well with .tivo files.


I had an upside-down picture in Microsoft Media Player 10 when trying to play my "Now Playing" selection. Downloading DScaler did the trick, and now it works. Thank you Anonymouscoward.


----------



## snarkwife (Jul 16, 2005)

I don't understand...how are you guys getting the DScaler Mpeg2 Filters to work? For the last week, my WMP 10 decoder has displayed as "MainConcept MPEG Video Decoder" on my desktop PC and the display is taller and smushed in on the sides. I was able to change the aspect ratio to make it display correctly, but that shouldn't be a permanent workaround.

Prior to 1/2/06, all of my files displayed correctly with the proper viewable dimensions on my desktop. Now, everything displays all screwy...both older files AND new ones.

I downloaded the Windows XP Video Decoder Checkup Utility and THAT said my default codec was the InterVideo Video Decoder along with the necessary checkmarks next to "MCE Compatible" and "Preferred Decoder". If that's the case, then why are all of my files using MainConcept?

I tested the same files (both .tivo and .mpg file types) on my laptop and they play fine there. My laptop's WMP however, is correctly using InterVideo Video Decoder for the files. Same version of WMP (10) and same file...different codecs being used when both computers say InterVideo is the default.

This is driving me nuts.

I downloaded DScaler Mpeg2 Filters but...what's supposed to happen now? I downloaded another file from my Tivo to my Tivo Desktop and sure enough...it played back with MainConcept.

Help! What am I missing here??


----------

