Initial commit: HPR Knowledge Base MCP Server
- MCP server with stdio transport for local use - Search episodes, transcripts, hosts, and series - 4,511 episodes with metadata and transcripts - Data loader with in-memory JSON storage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
345
hpr_transcripts/hpr1013.txt
Normal file
345
hpr_transcripts/hpr1013.txt
Normal file
@@ -0,0 +1,345 @@
|
||||
Episode: 1013
|
||||
Title: HPR1013: Saving Programs From TiVo
|
||||
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr1013/hpr1013.mp3
|
||||
Transcribed: 2025-10-17 17:24:02
|
||||
|
||||
---
|
||||
|
||||
Hello, this is Ahuka, and welcome to the latest program.
|
||||
I want to do something a little bit different.
|
||||
I just finished a long series called Freedom is Not Free, and I thought that was important
|
||||
stuff to talk about, but I want to do something a little bit different today, talk about
|
||||
something maybe a little more technical than what I did before.
|
||||
And that is, I want to talk about how you can save programs from Tivo.
|
||||
My wife and I both love Tivo, and I know I've thought about Myth TV, and I may go there
|
||||
at some point, but I'm actually pretty happy with Tivo right now.
|
||||
And we record programs, it's fact in my household, we have his and her setups.
|
||||
She has her own television, Tivo, DVD player, what have you, and I have mine.
|
||||
So I record programs of various kinds, and some of them I want to keep, for future reference.
|
||||
One of the things that I really enjoy are great performances at the Met, where they broadcast
|
||||
operas from the Metropolitan Opera in New York, and I happen to be a fan of that.
|
||||
And I would love to keep those, well, if I just left them on Tivo, the hard drive there
|
||||
does fill up, so that's not really a very good option.
|
||||
So what I found I needed to do was find some way to get the programs off of Tivo, get
|
||||
them onto my hard drive, and figure out what to do.
|
||||
And I started looking around, and Tivo does have a program, if you're on windows that you
|
||||
could use, it's the Tivo to go desktop program, and that allows you to download the stuff,
|
||||
and you can buy that program from Tivo.
|
||||
And they have an arrangement with Roxio, that the Roxio DVD recorder will take those files,
|
||||
and the thing I need to explain to you is that the files are essentially MPG, but they've
|
||||
got some proprietary stuff, DRM basically, that means you can't just treat it as an ordinary
|
||||
MPG file and go with it, but Roxio knows how to handle that.
|
||||
And on windows, that's a reasonable way to go, I suppose, but I don't really use windows
|
||||
all that much.
|
||||
So what are the options if you have a Linux setup and you would like to keep these files?
|
||||
And I did a little looking around, and I think I have the answer now.
|
||||
So I want to explain what you need to do to take files off of your Tivo, convert them,
|
||||
edit them, save them, burn them to a DVD, whatever it is that you want to do.
|
||||
So that's really the topic of this program.
|
||||
Now the first thing I want to do is just mention that there is this program called KMTTG.
|
||||
And I've put all of the links for this and for every other program that I mentioned.
|
||||
The links are all in the show notes, so please don't worry if you can't get it out of
|
||||
what I'm saying here, they will all be there.
|
||||
So KMTTG, and if you want to find it, it's at http colon slash slash code dot google dot com
|
||||
slash p slash KMTTG.
|
||||
Again, all of this stuff is in the show notes, so don't worry about it.
|
||||
So if you download this program, really all you have to do, you don't even install it
|
||||
so much as you just, you know, it's a tarball and you just expand it into a directory.
|
||||
I've got it in my home directory, my kabuntu box, and then you can just run it from there.
|
||||
Just make sure that you've marked the file KMTTG as executable, and it'll run.
|
||||
Well it'll run when you've got all the pieces in place.
|
||||
That's the other thing about this.
|
||||
You cannot run this without first having the Java runtime environment, okay?
|
||||
Now, generally speaking, I suggest that if you're going to get something like the Java
|
||||
runtime environment, I prefer to do it from the repository for my distro.
|
||||
Now mine is kabuntu, but whatever your distro is, chances are they've got Java runtime
|
||||
environment in the repositories there.
|
||||
And the reason I recommend that is that it's likely to work a little bit better if there
|
||||
are any changes that needed to be made to make it work with your particular distro that
|
||||
should already have happened, so that kind of makes sense.
|
||||
So that's a dependency for KMTTG.
|
||||
Now if it was actually packaged the way that Linux programs are normally packaged by
|
||||
the different distros that would have been taken care of, but as I said, this isn't
|
||||
really packaged.
|
||||
It's just this tarball you expand and then you run.
|
||||
So what you need to know is install the Java runtime environment first.
|
||||
So that's the first thing you have to do.
|
||||
Second thing, at the same site that has KMTTG, there is a helper program called TVO decode,
|
||||
and you need to download that.
|
||||
TVO decode is important because remember what I said before about TVO files have a little
|
||||
bit of proprietary stuff in the file format that makes them unreadable to normal video
|
||||
players and CD burners, DVD burners, what have you.
|
||||
So what you need to do is you need to transcode from the TVO format into a standard format.
|
||||
And that's what TVO decode is for.
|
||||
Now say you can download TVO decode from the same page, same site as KMTTG, it's a great
|
||||
little helper program, but it is source code only.
|
||||
And what that means is you're going to have to download the source code and compile
|
||||
it and install it.
|
||||
Now that's not that big a deal.
|
||||
Most people who have been running Linux for a while have done this many times.
|
||||
But it is basically you have to do .slash configure, then make, then make install.
|
||||
And I've got some stuff on my website about that, or just look it up on any, there's
|
||||
a ton of different sites that explain how to do it.
|
||||
You can call it the three step dance or whatever you want to call it, .slash configure, make,
|
||||
install, very, very simple.
|
||||
And then once you do that, well, you can now download and convert all of the programs
|
||||
that are on your TVO.
|
||||
Now the next thing that I want to talk about is the various helper programs.
|
||||
What KMTTG is doing is basically treating your TVO box like a remote server and logging
|
||||
into it and grabbing the files.
|
||||
And it uses curl, c-u-r-l.
|
||||
It's a standard Linux program that is used to grab things over the internet.
|
||||
So you can probably, I would again say, go to your distros repository, whatever that is,
|
||||
and grab curl and install it.
|
||||
During the KMTTG, when you open it up, there's a place that you can configure that program.
|
||||
And when you configure it, it'll want to know, where do I find this?
|
||||
So you can put the path to curl in there.
|
||||
Couple of other helper programs that you will definitely want to have.
|
||||
One is M&CODER, M-E-N-C-O-D-E-R.
|
||||
The other is FFMPEG, F-F-M-P-E-G.
|
||||
Now chances are that FFMPEG, you may well have that installed already.
|
||||
You might also have M&CODER installed already.
|
||||
But if not, again, go to the repository for your distro, that's really, I think, the best
|
||||
way for most people to do that.
|
||||
And the reason you want to have those is that's going to allow you to basically transcode
|
||||
the T-Vo decode is going to remove the T-Vo special stuff, but you may want to transcode
|
||||
it into some other kind of file format.
|
||||
This would give you an opportunity to do some of that.
|
||||
And KMTTG can do some of that as part of the download if it can make use of these other
|
||||
kind of helper programs.
|
||||
Another helper program I want to mention is Handbreak.
|
||||
That's it, HTTP, colon slash slash h-a-n-d-b-r-a-k-e dot f-r slash d-o-n-l-o-a-d-s dot php.
|
||||
Handbreak.fr, it's a French site, slash downloads dot php.
|
||||
The reason you want to have Handbreak, it's not absolutely essential, it depends on what
|
||||
you want to do.
|
||||
The Handbreak is a program that it specializes in transcoding video files into formats
|
||||
that'll play on mobile devices.
|
||||
So your smartphone, your tablet, things like that, it really it's specialized for doing
|
||||
that.
|
||||
So that's a good, if you wanted to put something on a tablet or a smartphone, I think Handbreak
|
||||
would be a very handy way to do that.
|
||||
And so I would suggest you download that.
|
||||
You may find that it gives, I know for Ubuntu, it mentions the Debian repository, I've had
|
||||
problems with it.
|
||||
I don't know if the problems are just me.
|
||||
I once wrote to the maintainer and he sort of asked me a question, I answered the question
|
||||
and I never heard anything from him, so you know, I don't know.
|
||||
As it turns out, I don't actually need to have Handbreak, so I decided I could live
|
||||
without it.
|
||||
Another program, that the last two helper programs I'm going to mention are Windows Only.
|
||||
Now KMTTG could be run as a Windows program, I, you know, and TVO decode, I'm not exactly
|
||||
sure how you start dealing with all of the stuff that has to be compiled or getting
|
||||
out of repositories.
|
||||
But these, these last two things are Windows programs, which means you're going to have
|
||||
to run them with wine if you want to use them.
|
||||
And the first one I'm going to mention is Com Skip, and that's for skipping commercials.
|
||||
And it also has a program that, called Com Clean, that will actually delete the commercials
|
||||
out of a file, and that's all part of that.
|
||||
So that is http colon slash slash www dot K-A-S-H-O-E-K dot com slash C-O-M-S-K-I-P.
|
||||
And so you can get the program there, as I say, you're going to have to set it up to run
|
||||
with wine.
|
||||
That's a little additional wrinkle.
|
||||
And then finally I'm going to mention something called Atomic Parsley, which is at http colon
|
||||
slash slash AtomicParsley dot source forge dot net.
|
||||
And that is a program that basically is for writing meta tags, and it says that it writes
|
||||
it in the iTunes format.
|
||||
It's not something I particularly care a whole lot about, so I'm just mentioning that
|
||||
it's there.
|
||||
Now let's say you want to run KMTTG.
|
||||
Well, that's not hard to do.
|
||||
As I said, you would have expanded, untard all of this into a directory, minus in my home
|
||||
directory, just slash KMTTG.
|
||||
And there is a program, there, it's just called KMTTG, no file extension or anything.
|
||||
And if that's your executable, so if you haven't already done so, make sure you mark it
|
||||
as an executable file, and then just run it, and that's going to come up.
|
||||
And it's going to give you a screen.
|
||||
And if you take a look at the file menu, there's an option that says configure.
|
||||
And so you can get into the configure, there's a lot of stuff going on in there.
|
||||
But a couple of things I want to mention, programs.
|
||||
So I mentioned curl, all right?
|
||||
So on the programs tab, you would go to put in the path, which on mine is slash usr slash
|
||||
bin slash curl, tvo decode, all right?
|
||||
So on mine, that's slash home slash Kevin, it's my actual name, slash KMTTG slash tvo decode
|
||||
slash emin coder slash usr slash bin slash emin coder, ffm peg slash usr slash bin slash
|
||||
ffm peg, et cetera.
|
||||
Now it will, when you install KMTTG, it'll put in the most common path.
|
||||
And if you then try and save your configuration, and there's something not wrong, it's going
|
||||
to say, hey, there's some errors.
|
||||
Here.
|
||||
So for instance, on mine, I open it up, I take a look at this, and I say, okay, fine, I'm
|
||||
finished configuring this, and I get two errors.
|
||||
Well they're highlighted.
|
||||
One of them is handbrake, because I don't have handbrake installed.
|
||||
Any other is atomic parsley, because I don't have atomic parsley installed.
|
||||
So it's looking for those where it thinks it would be, but it's not finding that.
|
||||
So to proceed to save settings anyway, yeah, sure, save settings anyway.
|
||||
Another thing you need to take a look at, the fourth tab in is tvo's.
|
||||
Now it used to be harder, but now they've gotten to the point where they can kind of search
|
||||
the network, and I have a home network, and I've got both my tvo and my wife's, and so
|
||||
it'll just take a look on the network and come back and say, hey, you know, here's this
|
||||
DVR on the network, and it's got an IP address, 192.168.1.16, and yeah, it sounds about right.
|
||||
Now if you could put in this stuff manually, but I've had excellent luck with having it
|
||||
just search for it.
|
||||
It also has the ability to search using Bonjour, which is Apple's way of doing network searching.
|
||||
Tvo Beacon is another thing, so there's a few things you can do.
|
||||
So that's one of the options you have.
|
||||
So once you've got it configured, what happens?
|
||||
Now you go to your, it'll put a tab up like about four lines down with the name of that DVR,
|
||||
and so it'll go to that DVR, you know, give it a few seconds, and it will start pulling
|
||||
down program information.
|
||||
So I can see all of these different programs, and oh, lookie, live from Lincoln Center,
|
||||
and a Fleming at the Penthouse, oh, I've got to get that one.
|
||||
So all I have to do is click on that line to highlight it, and then say, start jobs,
|
||||
which is a green button in the upper left, and I click on it, and by golly, it's going
|
||||
to start downloading it.
|
||||
And what I am going to wind up with when it downloads is a file in my input directory
|
||||
that is just a plain MPG file, because that's really the underlying format for T-Pro.
|
||||
Okay, so now I've got this file there that's an MPG file, and I could just say I'm done.
|
||||
All right, I've downloaded it, I got rid of the DRM or whatever you want to call it
|
||||
that was messing up the file format.
|
||||
It's now playable with any video player, so I could use VLC or Dragon Player or whatever
|
||||
it is that I particularly like to use for all of my videos.
|
||||
However, you might want to do a little bit more.
|
||||
There are two things that you might want to consider at this point.
|
||||
One of them is file size, okay?
|
||||
A lot of these things end up being like 10 to 15 gigabytes in size.
|
||||
Now it may depend on whether you're recording something that was in HD to begin with, because
|
||||
those HD files, you know, if something is a 1080p program to begin with, and it's an
|
||||
hour and a half, two hours long, you're going to get an insanely large file size.
|
||||
So that's one of the issues.
|
||||
The other issue is you're just getting the start and stop of the program as it was recorded.
|
||||
So let's say a program is some of the operas that I like might be two hours and 15 minutes,
|
||||
let us say.
|
||||
There's no 15 minutes kind of setting, so Tivo would have recorded two and a half hours
|
||||
on that.
|
||||
I don't need the last 15 minutes of, you know, promos for other programs, et cetera, et cetera.
|
||||
So what do I do at that point?
|
||||
Well, that's where I bring up a program.
|
||||
Now there are a number of ones that can do this.
|
||||
A video editor that I like is called Kden Live, K-D-E-N-L-I-V-E.
|
||||
Now that's, as you might guess from the name, is kind of a part of K-D-E in some sense.
|
||||
And you can get it either from here, again, the repository of your distro or HTTP colon slash
|
||||
slash www.kde-N-L-I-V-E.org.
|
||||
Now the thing I like about it, I've gotten used to it when you want to edit a program
|
||||
like this, you first have to tell Kden Live, well, what kind of file format resolution should
|
||||
I expect.
|
||||
When you're dealing with video, there are a couple of different variables.
|
||||
Kden is the frame size, so for instance, 1080p, that's 1,920 horizontal pixels by 1,080
|
||||
vertical pixels.
|
||||
Another common one that's not quite as detailed is 720, or you can get your standard DVD,
|
||||
which is like 520 by 480 or something like that, and so on, even down to standard NTSC.
|
||||
So what will happen is, in Kden Live, when you open it up, there is going to be, and I'm
|
||||
going to bring that up right now, you're going to have an opportunity to add a program
|
||||
at a file, and when you do that, it's going to tell you, okay, there's going to be
|
||||
a window there, and you're going to have to take a little bit of time to get used to
|
||||
where everything is, but where I have it, it's a window that says project tree, and then
|
||||
at the end of a bar that you could type in, there's something that looks like a little
|
||||
bit of film with a green plus above it, and that's add clip, so I can say add clip, and
|
||||
then go to my KMTTG slash input directory, and select one of the files that I downloaded.
|
||||
And when I do that, it's going to pop up something that's probably going to say, oh, this
|
||||
won't fit the format you've selected, because you're in, for instance, right now, if I
|
||||
just open it, NTSC, and so it's going to say, well, this is an NTSC, this is HD, it's
|
||||
said 1920 by 1080, this won't work.
|
||||
So what I'll do is say fine, and I'll just click the new button on the upper left, and
|
||||
now when I do that, I can say select a profile, I can go into profile, and see, yeah, here
|
||||
we go, HD, 1080p.
|
||||
So that's the frame size.
|
||||
The other thing, the other variable is the frames per second, or FPS.
|
||||
How many frames per second is this video?
|
||||
And again, the standard in the United States, NTSC is a US one, would be 29.97 frames per
|
||||
second.
|
||||
The same, they just rounded up to 30.
|
||||
Well, neither the timer or the place for me, I knew the answer once, I don't remember
|
||||
it now, but there are, that's for broadcast television, right?
|
||||
When you're dealing with HD, with digital television, frames per second could be almost
|
||||
anything, they really don't care.
|
||||
I would say get as close as you reasonably can on that, and don't worry, I haven't had
|
||||
any problems, if I selected 30 frames per second, and the original was 35 or 40, you know,
|
||||
a Kaden Live as part of the transcoding process, we'll just sort of figure out how to delete
|
||||
unneeded frames, and what I wind up with is fine.
|
||||
So what you do is you pull that in by adding a clip, and then drag it down, because under
|
||||
that project tree there's going to be something that says video one, and NTSC, you could have
|
||||
multiple tracks and edit them together, this is a very powerful program.
|
||||
We're just doing something very simple here, so all we have to do is drag the file down
|
||||
to video one, and put it in there.
|
||||
And then at the very bottom you're going to see some buttons.
|
||||
One of them is the Razer tool, another is the Spacer tool, and then there's a slider
|
||||
that you can move back and forth that is going to either expand or shrink the amount of
|
||||
data in the window at any one time, and if you move it all the way to the right, then
|
||||
it's like zooming in as much as possible until you can actually see individual frames.
|
||||
If you go all the way to the left, then it's like zooming out, and then you can't see
|
||||
individual frames, but you can move around, perhaps a little more easily.
|
||||
And so with the video dragged down into the video one, all I have to do is use the pointer,
|
||||
the selection tool, and start dragging the marker until I get to a place where I want
|
||||
to make a cut.
|
||||
And then at that point I go click on the Razer tool, and go make the cut, and then if
|
||||
I'm deleting something, just click on it with the selection tool, and it will be highlighted
|
||||
in red, and delete it.
|
||||
Then I can use the Spacer tool to basically move the file over to get rid of that blank
|
||||
spot, because I don't want to create a file that has two minutes of blank, that really sucks.
|
||||
So the Spacer tool lets me drag the whole video over to cover up the blank spot.
|
||||
Now one of the things that I find helpful when I'm editing is that slider for the zoom
|
||||
level, when I get to where I think I want to make a cut, I start moving the slider over
|
||||
to the right, so I can zoom in more and more until I can get just to the frame that I want
|
||||
to make the cut at.
|
||||
So it can really be that precise, and say I want to cut at this precise frame, it's
|
||||
30 frames per second, you know, that's a pretty high degree of control.
|
||||
So you know, just play around with it.
|
||||
Now if you don't want to use Kaden Live, the PTV is another one, P-I-T-I-V-I, I think
|
||||
that's more commonly used by some of the people on the GNOME side, you know, there's other
|
||||
ones out there.
|
||||
This is what I use, and I'm used to it, and you know, it seems to work pretty well for
|
||||
me, and after all, what else is there in life.
|
||||
And once you have finished editing the file, the last thing you're going to want to do
|
||||
is you're going to want to, sorry, bring this up again, you're going to want to render
|
||||
it, and there's a button that says render.
|
||||
And when you render it, you're going to have a number of different options here.
|
||||
And you might want to check those out.
|
||||
You know, if you're going to burn a DVD, then you would want to select a format that is
|
||||
good for DVD, and that would be an MPEG2, because that's the format that DVD uses.
|
||||
Now I used to do that, I don't so much anymore, the DVDs start piling up after a while.
|
||||
And one of the things that I was listening to a podcast the other day by someone who
|
||||
was talking about how we've reached the point where no one will ever delete anything,
|
||||
because hard drive capacities just keep going up and up.
|
||||
So what I've tended to do now when I render is to simply select a format, and I tend to use
|
||||
XVID, XVID 4 is what is available to me here.
|
||||
And by the way, if you don't have all of these formats, what you might need to do is
|
||||
take a look at adding some of the codecs that you may not already have.
|
||||
But I can select the bitrate, and the bitrate is for video.
|
||||
And that's the only one I bother with.
|
||||
The audio is already set to 128 on my XVID.
|
||||
For video, if what I have is an HD file to begin with, I'll set the video to 4000.
|
||||
If it was just a normal TV, then I would set it to 2000.
|
||||
And for me that works out okay.
|
||||
There's a trade-off always between bitrate and file size.
|
||||
The higher the bitrate, you're going to get more detailed data, but the file size is going to be bigger.
|
||||
And what I tend to find is with my HD, if I have it set to 4000.
|
||||
If I stand up a footer to away from the TV, I can see the difference.
|
||||
But why would I stand a footer to from the TV?
|
||||
Normally, I'm sitting 6, 8, 10 feet away from the TV.
|
||||
And in a case like that, no, I can't see the difference.
|
||||
So I have larger file size, but that's one of the things you get to decide for yourself.
|
||||
So pick the file size, figure out what you want to do with it.
|
||||
And I think at this point, I have told you pretty much everything I do about all of this.
|
||||
So I want to leave you with one more.
|
||||
Just a reminder here, the Ohio Linux Fest is looking for speakers.
|
||||
We would love to have you come and do a talk for us.
|
||||
So I will make sure that we have something in the show notes.
|
||||
Show notes about that for our, it's at OhioLinux.org.
|
||||
And I'll put the URL there.
|
||||
We're looking for all kinds of talks from all kinds of people.
|
||||
They can be beginner talks. They can be advanced or somewhere in the middle.
|
||||
And we would love to have talks on anything involving free and open source software of various kinds, free hardware, accessibility, I mean, you name it.
|
||||
So I'll direct you to a place where you can see all the things that we're interested in doing.
|
||||
And I'd love to have you submit a proposal for a talk for us.
|
||||
So this is Ahuka signing off. Thanks.
|
||||
You have been listening to Hacker Public Radio at Hacker Public Radio.
|
||||
We are a community podcast network that releases shows every weekday Monday through Friday.
|
||||
Today's show, like all our shows, was contributed by an HBR listener by yourself.
|
||||
If you ever consider recording a podcast, then visit our website to find out how easy it really is.
|
||||
Hacker Public Radio was founded by the Digital Dark Pound and the Infonomicom Computer Club.
|
||||
HBR is funded by the binary revolution at binref.com.
|
||||
All binref projects are crowd-responsive by linear pages.
|
||||
From shared hosting to custom private clouds, go to lunarpages.com for all your hosting needs.
|
||||
Unless otherwise stasis, today's show is released under creative comments,
|
||||
attribution, share a like, lead us our license.
|
||||
Reference in New Issue
Block a user