Tivo Source Code Released
notsosilentbob writes "
Philip's Tivo Linux changes are up on their website." I've been lusting over a tivo for quite some time now. Its super cool to see a big company make good on the GPL tho. Now I just got to buy one. (for those who don't know, the tivo is a digital VCR that runs linux and stores up to 30 hours of tv on an internal harddrive).
I wonder how long it is before people start
hacking/modifying their Tivo's...
"Is that your tivo?"
"Yeah...I added a couple of self modifications"
"Like what?"
"You can't get UPN anymore."
"About time!"
(Now, if there were enough good programs on TV
to make this buyable...)
Well, now someone with the TIVO remote control has to create a configuration file for the Linux Infrared Remote Control program.
Okay, I've never played with the Tivo, but I've been thinking about the one feature that would make this thing perfect. Digital commercial deletion. I'd love to be able to watch my favorite shows with VCR automatically skipping commercials.
I remember reading about a VCR that had this as a feature. It detected the commercials by the half second or so of blank screen that precedes the commercials. It kept track of these blanks, and those that were only a few minutes long were judged to be commercial breaks. These were auto fast forwared through by the VCR. I understand it worked pretty well except for the fact that it occasionally cut out the credits.
Now the random access of the Tivo offers the oportunity of instantly skipping the commercials instead of waiting for the fast forward. Even better, the TIVO could delete the commercials and save on disk space.
With the release of the code, I would think this would be a great open source project for someone to try. I might even consider buying a TIVO if someone got this feature working.
I pulled down the README and was very surprised to find out they're using e2fsrprogs based on version 1.06; that version dates back to October 7, 1996, and there have been a huge number of bug fixes since then, including some that prevent data loss when faced with certain "interesting" kinds of filesystem corruption.
Given that they're using a 2.1 kernel, I don't know why they didn't bother to use a more recent version of e2fsprogs. Hopefully all of the programs are on a romfs, and the only thing on the data disks is data that on a powerhit you can just recover from by running mke2fs on the data partition. (After all, the data is just broadcast TV shows --- it can't be very valuable. :-)
What I hope to see by next xmas is several companies come out with these things. Possibly a standard or two. And a 30-50 hour version for about $400-$600, instead of $1000. Then, I'd buy one in a snap.
I thought it would be cool to add a voice synthesizer. You come home from work, turn it on, and it tells you "Hello, Duane. Jenna Jameson was on Good Morning America this morning, and I thought you might like that so I recorded it."
d
www.HearMySoulSpeak.com
I've been scoping them out for a while. Their competition just released a 20 hour version, so I can't imagine tivo being far behind. But tivo has a $100 rebate if you buy this year (clearing out the old drives???)
Tivo is only $500 compared to ReplayTV's $700, but the scam is that tivo charges you for the "subscription" necessary to use their service - $10/month vs $200/lifetime - so the costs are really comparable.
I think I read that the 30 hour tivo only gets 9.3 hours at the best compression rate, but many reviewers have said that the highest compression rate is usually acceptable. I think it's still better than VHS.
Note to all who think they can convert their Linux PC into a TiVo now, please remember that the GPL requires Philips to release the changes they make to the Linux kernel and all GPL'ed untilities, but not to the TiVo application itself. (Although Philips are going above and beyond the call of duty here, by releasing changes to GPL'ed development tools which are not shipped as part of Tivo, something they are not obligated to do).
From the README --
This directory contains three different archives - "commands", "kernels", and "toolchain". The archives are in GNU "tar" format, and have been compressed using GNU Zip (.gz suffix) and BZIP2 (.bz2 suffix). The .gz and .bz2 versions of each archive are identical except for the compression format - you need only one version of each.
If you're reading this README from our FTP site, and don't want to spend the time to download these archives via your Internet connection, you can receive a copy of the software on CD-ROM if you wish. A nominal copying-and-distribution charge applies if you order the CD-ROM. Please contact "webmaster@tivo.com" for information if you're interested in order a CD-ROM copy of this software.
Please refer to the COPYING file in each directory for detailed information on the license and distribution terms which apply to each specific tool, utility, compiler, kernel, or whatever. Most of this software is under the GPL, while some of it (e.g. libraries) are under the LGPL.
The "commands" archive contains the source code for all of the GPL-licensed programs which are included in the TiVo Personal Television System software. These versions are current as of the 1.2.0 and 1.2.1 versions of the TiVo software.
total 17
dr-xr-xr-x 10 dplatt root 3072 Oct 14 10:56 bash-2.02/
dr-xr-xr-x 2 dplatt root 2048 Oct 14 10:56 cpio-2.4.2/
dr-xr-xr-x 12 dplatt root 1024 Oct 14 10:56 e2fsprogs-1.06/
dr-xr-xr-x 9 dplatt root 1024 Oct 14 10:56 fileutils-3.16/
dr-xr-xr-x 8 dplatt root 1024 Oct 14 10:57 grep/
dr-xr-xr-x 10 dplatt root 1024 Oct 14 10:57 gzip-1.2.4/
dr-xr-xr-x 10 dplatt root 1024 Oct 14 11:00 modutils-2.1.85/
dr-xr-xr-x 6 dplatt root 1024 Oct 14 11:00 net-tools-1.432/
dr-xr-xr-x 5 dplatt root 1024 Oct 14 11:00 procps-1.2.9/
dr-xr-xr-x 5 dplatt root 1024 Oct 14 11:00 ps/
dr-xr-xr-x 11 dplatt root 1024 Oct 14 11:01 sh-utils-1.16/
dr-xr-xr-x 3 dplatt root 1024 Oct 14 11:01 sysklogd-1.3.26/
dr-xr-xr-x 10 dplatt root 1024 Oct 14 11:01 textutils/
dr-xr-xr-x 2 dplatt root 1024 Oct 14 11:01 tnlited/
The "kernels" archive contains the source code for the Linux kernel in the TiVo Personal Television System software. The "linuxdist-2.1.24" source tree is configured for use on an Intel X86 development platform. The "linux-2.1" source tree is configured for use on the PowerPC-based hardware system on which the TiVo software actually runs.
total 2
dr-xr-xr-x 15 dplatt root 1024 Oct 14 10:58 linux-2.1/
dr-xr-xr-x 15 dplatt root 1024 Oct 14 11:00 linuxdist-2.1.24/
The "toolchains" archive contains the source code for various GNU software development tools and libraries used in the development of the PowerPC-based TiVo software releases. Although the compilers and development utilities are not shipped with the TiVo-based receivers, they are provided here as a courtesy to developers and other curious individuals.
total 14
dr-xr-xr-x 3 dplatt root 1024 Oct 14 11:01 binutils/
dr-xr-xr-x 3 dplatt root 1024 Oct 14 11:03 gcc/
dr-xr-xr-x 5 dplatt root 1024 Oct 14 11:09 gdb/
dr-xr-xr-x 59 dplatt root 8192 Oct 14 11:13 libc/
dr-xr-xr-x 2 dplatt root 1024 Oct 14 11:13 libc-ppc/
dr-xr-xr-x 2 dplatt root 1024 Oct 14 11:13 tcdmem/
dr-xr-xr-x 2 dplatt root 1024 Oct 14 11:13 xppcbt/
Tivo obviously has a program which does copy-from-TV-signal-to-disk and play-from-disk-to-TV. I did not recognize that program, and if they wrote their own they do not have to publish it. With the Linux video interfaces it might not be technically difficult, but it sounds like they created a nice user interface and that's what is important (well, picture quality probably is most important..and a lot of Monday Night Football fans just found how important sound is to them when it failed).
Looking at the back of the TiVo box (on their site), it looks like there are only A/V connectors along with the serial remote. How would you go about getting a shell open on the TiVo and start tweaking? Via a remote session on the modem port (can it auto-answer) or rig up something via the infrared/serial connection?
Once that's done, it seems like it would be easy to upgrade the hard drive inside and mount other volumes. And if we open the box up (voiding the warranty of course), maybe there's even a hidden PCI slot in there, for some 100BT ethernet action!
Now I'm just speculating of course, without having read in-depth about the TiVo hardware...
-CausticPuppy "Of all the people I know, you're certainly one of them." -Somebody I don't know
The uptime message isn't all that useful because slashdot.org is made up of more than one machine. I don't know which machine the uptime message is taken from, but it's possible that the machine with a 60 day uptime went down and its responsibilities were moved to the machine with the 18 day uptime.
"I'm sorry Duane, but I cannot allow you to watch Regis and Kathy Lee today."
"Let me see Regis, Hal"
"I think you should sit back calmly, take an aspirin, and watch 'Meet the Press', Duane."
"That does it"
"Just what do you think you're doing, Duane. My memory is going. I can feel it... My mind is... LILO: Loading Linux........."
Recipe for your own Tivo:
Take one ATI All-in-Wonder video card
1 40Gb HD
Mix in a little Linux and for kicks an IR port so you can set up a remote (or PDA) to run it (for the couch potatos or geeks!) Anyone who would like to contribute source?
AF-Design, web development.
It's a tempting device, but I don't like its needing its own telephone line. I wish there were a 10BaseT connector so I could just let it use HTTP to chat with its server.
I have a 14hr Tivo. It's amazing! 14 hrs is plenty, I have yet to complain about recording space. I love the suggestions it makes. It's great to come home to find out that Tivo recorded The Simpsons for you without having to tell it. The GUI is easy to use and it works without a problem. It's hard to watch TV without Tivo. When I go to a friend's place and watch TV I always want to pause or rewind, or to get the program summary, or to see what's playing next, but I can't because they don't have one. It's addictive. I don't work for Tivo or anything, I just have one and I couldn't live without it.
In my experience, low quality is only good for talking heads, just like Tivo says. But the medium quality is good for just anything else. I record everything in medium quality and you can never tell if you are watching TV or Tivo. Even during action scenes. I have recorded a couple things in high quality, but I was never able to see a difference big enough to justify using it.
www.ktet.Fh-Muenster.de/ina/:
/dev/video and the remote controll device /dev/ttyS*.
:-)
The "Initiative No Advertise" has the goal of preventing the recording of commercial blocks when a program is recorded on a VCR.
Subsections:
[...]
Download the Linux Software:
Here are the current results of Thorsten Janke's and Markus Koppers' Thesis. An application has been developed which runs on Linux using the KDE Desktop. Like most applications under Linux, the installation is thankfully very simple: 1) download, 2) untar, 3) configure, 4) make, and 5) make install (as root). The program requires access to the video4linux device
202104 Sep 30 13:07 noad2-0.1.tar.gz
The Thesis is available online (No, I'm not gonna translate their thesis)
The Future of Human Evolution: Autonomy
I don't think that the pause feature is included for "freeze frame" analysis of Kramer's entrance into Jerry's apartment.
Rather, it is intended to allow a person to "pause" the playback of live TV to answer the telephone, get the door, grab a snack, or otherwise engage in normal, non-TV behavior.
I myself have a Tivo, and have used the Pause feature to make it much easier to skip commercials. I simply pause the show for the first five or ten minutes (depending on the show length), do something else, and then start it up. This allows me to keep a buffer behind the show to skip the commercials.
Actually, I've discovered a couple things from having my Tivo. Number one, I have NO idea when shows are on anymore. I set the box to record X-Files, the Simpsons, Drew Carey, and various others, and just watch them when convenient (usually around 10 PM when I'm going to bed). I also saw that even after only having the box for two weeks, it has spoiled me. I was at a friend's house on Sunday, and was very irritated that I couldn't fast-forward through the commercials during Futurama.
Another nice feature of the Tivo is the three-second rewind after you stop the fast forward. When fast-forwarding through the commercials, one tends to hit "play" after two-three seconds of program playback have passed...this buffer is pretty much dead-on. It's one of my favorite features.
The only real drawback I've seen so far is that it has a slight error in my programming lineup - it has the wrong channel number for my local cable's BBC America channel, which meant I couldn't record the French and Saunders marathon the other day.
And speaking to recording quality...I don't use this thing to tape movies, so the second-highest recording quality gives me more than enough recording space and the quality still kicks the crap out of VHS.
m.
Photography, technology, and my dog Scout - http://mattstratton.com
A couple of considerations:
1) Recording stuff based on what you've enjoyed in the past is all well and good -- but won't your viewing get more and more homogenous? Maybe they could build communities, so that people could recommend stuff to each other, or something -- some human element to keep it from getting too samey.
2) I'd be interested to know how cheap/easy a tivo-alike would be to build. I'd love to have a direct-to-disk VCR which I could control remotely: if I could check its status from work, ask it to record a program via email (or via an SMS->email gateway), that would be so cool.
--
Anyone interested in purchasing a TIVO, I know of four different rebates out there.
1) $100 christmas rebate. Buy unit between dec 15 and dec 31 and you qualify!
2) $100 DirecTV rebate. You have DirecTV? Then you get $100 back.
3) Referral. $50 for you, $50 for existing customer. Anyone want me to refer them, send me (steven-tivorebate@evatt.com) some email and we can each make $50!
4) $20 rebate if you get the lifetime membership. I didn't do this, so I don't know the details. Check out www.tivo.com for more info.
I don't know about all the rebates, but I do know that the Christmas rebate can be used with any other rebate with upto $500 in total rebates.
I love the TIVO and would highly suggest it to anyone with a dish or more than basic cable.
Quack
In the PPC kernel tree, the only new filesystem (at least for me) was bext2, a cut-and-paste version of ext2 that stores all of the data on disk in big-endian order so you don't have to cpu_to_le32()/le32_to_cpu() all of your int's. That certainly would make the filesystem incompatible with normal kernels, but it's a trivial change. Does anyone know if they even use this filesystem?
Does anyone have anymore information about their method to prevent the files from being transferred to the PC? bext2 can't be it; it's too simple a change.
I have a 14 hour Tivo. I record everything on the highest compression rate, and while I notice the MPEG artifacts especially in high action scenes, unless you're a real videophile, it doesn't detract from most programs. So, I get 14 hours
of video on it.
Additionally, 14 hours is plenty unless you want to use it to record lots of movies and then be able to sit down whenever you want and pick one.
Despite my original skepticism, the recommendation feature is outstanding. Having the disk always full with programs I generally like is very cool.
Overall, it's a great device, well worth it.
Isn't it time we came up with an appropriate TLA for devices like the TIVO?
Digital VCR is an OK analogy, but since that means "Video Cassette Recorder," it's a little silly to describe a device based on a hard drive. "VR" unforuntunately has other connotations already, and besides would not be very descriptive. "Video Recorder" is all that would be left.
How about "DVR"? (Digital Video Recorder)
Or "CFT"? (Cool Toy)
timothy
jrnl: http://tinyurl.com/c2l8yr / foes: http://tinyurl.com/ckjno5
I answer the phone, I pause the playback, not missing a beat.
I *REALLY* need to goto the bathroom, I pause playback.
DAMNED, the kids where screaming, what the heck did I miss? *rewind*
I'm in commercial, and need to check dinner. I come back, and it's 1 minute into the show again.. *Rewind*. On next commercial, *FF* to catchup with the live broadcast.
I can think of many, and by testimony of other users, it's a VERY handy and addictive feature..
-- I'm the root of all that's evil, but you can call me cookie..
I believe there are now multiple servers.
DNA just wants to be free...
I emailed TiVO a long time ago.... and got one of their tech geeks responding..
he said that the things that are planned for TiVO next were built-in DSS/pay cable decoding (thus no longer requiring a separate box) and Firewire to allow for not only expansion.. but transport..
"Dood, i recorded X-Files last night... should i ring it by?"
"Yeah, and put a copy of Unreal Tourney on there, would ya? @Home crashed on me again so i couldn't download it."
guns kill people like spoons make Rosie O'Donnell fat.
Yes, they probably are using an old devel tree. In set-top boxes you don't worry about upgrading to the latest greatest, you make sure it works. With the amount of time that the Tivo has been out, it would seem that they were very early adopters of 2.1. Matter of fact, they probably started R&D with the devel model 2.0.
BTW, the 2.1 devel tree would be a prerelease of 2.2 anyway and the 2.4 is not yet stable.
~Jason
One of the biggest stumbling blocks to such a thing would be the lack of the Tivo service. The station listings and keyword database. The most impressive feature of the Tivo service is the "record what you might like" scenario, and you would need up to date station listings and a cross referenced database that would know the shows by type.
The recording and playback of video is not new, and could still be done even without the GPL additions of Phillips. It is the service that is exciting and original. Perhaps some entrepenuer out there will offer the service with some basic hardware options and distribute it as a downloadable prog.
And to reply to some of the later posts after this, the 2 hard drive solution would not be as practical as a good cacheing scheme. Of course you will want the box SCSI, not IDE, and there should be no problem streaming out and in with video. And yes, compression tech would be a pain to implement. (Gee, you mean we're actually paying Phillips for having a decent product??)
~Jason
There have been some comments made about the "High Quality" (HQ) vs. "Low Quality" (LQ) recording. the LQ recording is fine for most things, and you do indeed get 14 hours. A few small visual defects, but for watching "Meet the Press" or "Babylon 5" it's fine. HQ is great for recording something you plan to "port" to VCR. You get about 4 hours with this mode. There is also an in-between quality that would be good for movies you don't want to move to VCR, but you still want fairly sharp. This comes in at about 8 hours. The Matrix comes to mind.
Naturally, double these for the 30 hour version.
There are still alot of desirable features that are not included in the Tivo, so if you are cautious, I'd wait. They'll have bigger drives to work with in a year, cheaper, and competition will drive them to include more features.
~Jason