PDA

View Full Version : Inserting Video INTO Tivo (spud1458, greggreg?)


JasonJLee
06-29-2002, 09:26 PM
OK, first post, but I don't think its stupid, so Please read this mr moderator before you kill it for that reason.

I've had my Turbonet card for 2 days. I've got it installed. I've got Tivoweb TivoBin, newtxt2osd, edited the path extracted video with tytool.

Like a few people here, I'm chasing for information on inserting video back ONTO the Tivo. So if its something I'm gonna keep, lets say a season of buffy, I can kill all the adds and put them back, saving 15mins per episode.

Thus far everything I've done is in /var/hack.

So, having read the post at the end of this thread starting with spud1458

http://www.dealdatabase.com/forum/showthread.php?s=&threadid=9340&perpage=15&highlight=set%20info%20mfs&pagenumber=5

Ive tried the text that spud 1458 posted. The following is cut from telnet session... (I've already transfered the files which are tiny into /var/hack as I didn't know where else to put them!)

bash=2.02# tivosh
%set path "/Recording/Active/t0"
/Recording/Active/t0
%set db [dbopen]
db1
%set info [mfs find $path]
invalid command name mfs

If I exit the tivosh session nicely the Tivo stays up.

Looking at the next post from greggreg he mentions that this works ok for split for him.. He also mentions..

/tvlib/tcl/tv/file-to-recording.tcl

Looking at this and I don't know tcl at all (yet?) it seems very close to the script that was stated in the post before...

Rather than touch that original, I made a copy in the same place with a different name.

Executing it under tivosh gives masses of errors.
Now am I missing something obvious? As I said, I haven't been at this long, and I know barely any Linux, let alone Tivo, but if this is straight forward then I'd love to know the secret.

Is there something I haven't installed? Are these scripts supposed to be compiled or something? Or are they just red herrings or leftovers from older Tivo versions not cleared up.

Any help very gratefully recieved!

J

JasonJLee
06-30-2002, 08:41 AM
OK.

The problem is that the system does not seem to understand the mfs command??

So I looked around for .tcl things that I know are working that are using that command.

Guess what.. Tivoweb1.9.4beta2 thats in my var/hacks is working perfectly.

So I'm off to explore what thats 'including' that lets it use the mfs command or syntax and works.

Slow progress at the moment. I expect someone will post with the simple answer 3 minutes before I figure it out!

JasonJLee
06-30-2002, 05:23 PM
OK Think I might have got it figured, but very roughly. I certainly don't want to post anything here until I've thrown it around a lot more.

So I think I'll leave the experts to it until I understand things a little better.

If anyone has any info, such as a complete working method, please post it here.

At time of writing the threads been viewed 50 odd times. So I guess a quite few people are interested.

mpauley
06-30-2002, 07:25 PM
JasonJLee -

I have played around with this a little and found this new thread on Yahoo Groups: Woohoo: streams back INTO the TiVo (http://groups.yahoo.com/group/ExtractStream/message/1988) . I tried this TCL script and my TiVo had a critical error. I remember reading that the audio had to be redone (a post by Tridge I think). I would love to be able to put in MPG files or even a old TY file.

MP

gregggreg
07-03-2002, 08:40 PM
Unfortunately I can't post the scripts I've used because I don't own them. But the basic gist is this:

Take a ty stream and split it with jdiner's vsplit into file.m2v and file.mpa

Run ele2pestriple like this:

ele2pestriple file.m2v file.mpa /MFS/PATH

where /MFS/PATH is some path in MFS where you want to put the file. I'm not sure where in MFS to put the files so it doesn't screw up your Tivo.

Then run file-to-recording.tcl:

tivosh /tvlib/tcl/tv/file-to-recording.tcl /MFS/PATH -1

That's it. If you know tcl, you can make your own file-to-recording.tcl that sets the title, description, etc.

NOTE:

1) ele2pestriple will reboot your Tivo if you are not completely careful. For instance, if you mistype an argument to ele2pestriple it will reboot your Tivo immediately. It also is pretty finicky with the input files and is possible that it will reboot your Tivo for no apparent reason. I haven't seen any serious damage as a result of this.

2) By sticking things randomly into MFS as a result of playing around with this stuff I made it so that my Tivo would no longer record programs. I had to restore my Tivo from a backup to repair this. I was putting the videos in /Recording/Active and it is possible that this was an ill-advised place to put them. It is also possible that no matter where you put them, you will cause your Tivo to stop recording, I have no idea. Make backups and be careful. when ele2pestriple reboots, it leaves the output files around. This might be what was breaking my Tivo, but I'm not really sure. Good luck.

JasonJLee
07-04-2002, 07:13 AM
Cheers for that greggreg.

I now know the state of play.

I did have my Tivo not recording as well. Using Tivoweb, the file I had ele2pstripe to /Recording/Active/t0 seemed to be blocking at least the on the fly recordings. You know, watching something on live tv and hitting record.

As soon as I managed to process the file into now showing the problem went away.

So as a guess, the Tivo doesn't accept that state, with a tystream in /Recording/Active as opposed to a tydb, and gets upset.

So I guess that makes the rule to process immediately.
However, having only one Tivo and a Girlfriend who has fallen in love with it, I get it in the neck if anything goes wrong with it now!

Next time they come up cheap in the UK, I'll get a spare and play a little more.

gregggreg
07-04-2002, 01:49 PM
Originally posted by JasonJLee
Cheers for that greggreg.

I now know the state of play.

I did have my Tivo not recording as well. Using Tivoweb, the file I had ele2pstripe to /Recording/Active/t0 seemed to be blocking at least the on the fly recordings. You know, watching something on live tv and hitting record.

As soon as I managed to process the file into now showing the problem went away.

So as a guess, the Tivo doesn't accept that state, with a tystream in /Recording/Active as opposed to a tydb, and gets upset.

So I guess that makes the rule to process immediately.
However, having only one Tivo and a Girlfriend who has fallen in love with it, I get it in the neck if anything goes wrong with it now!

Next time they come up cheap in the UK, I'll get a spare and play a little more.

Yeah that sounds right. I think the problem I was seeing was that ele2pestriple choked and rebooted the Tivo and when it does it leaves the file in MFS where it was writing it. So I had stray video files in /Recording/Active and Tivo got errors when trying to record.

Unfortunately I didn't know that that was the problem. I thought it had to do with power outages I had the night before. I too have a girlfriend who is in love with the Tivo and was none too happy to have me recover from backup and kill all of our recordings so I have given up the experimentation for now. :-)

SuperVHS
07-04-2002, 05:57 PM
Congratulations Guys. Glad to see someone working on this. May I suggest that you could still experiment if you do it on a second hard drive, leaving your recordings intact on the first hard drive.

Also, ele2pestriple does not work in 3.0.

Good Luck.

AlphaWolf
07-07-2002, 05:24 PM
Gregggreg: I noticed your post over here (http://www.tivocommunity.com/tivo-vb/showthread.php?threadid=46239&highlight=cleanmpeg) about cleanmpeg. Does it ultimately turn out that you don't need to clean the mpeg headers? No matter what I try, ele2pestriple reboots tivo.

TheDoctor
07-07-2002, 08:45 PM
I believe that the 16 byte header mentioned is from the SA version. Made up of 00 00 01 C0 header and time stamp ending in ff ff or fe ff. It appears as a seperate record in the ty stream.

On the Dtivo version the header is shorter and mixed into the steam data instead of being a seperate record. I think it's 11 or 12 bytes bytes, (it skips the closing padding and priority info.) The starting position of the header moves in the dtivo steam, but should be within the first 5 bytes of the record, the previous bytes really belong to the last audio record.

AlphaWolf
07-07-2002, 09:10 PM
damn....that post is way beyond me :) so what do we do to import video then?

JasonJLee
07-08-2002, 05:07 AM
TheDoctor..

I had a set of files from tytool4 which I had split and then transfered back in that worked fine.

I'm in the UK running an SA Thomson v2.5.5.

Now I only did this once, but I assume that the splitter in tytool was doing this 'cleaning'?

As I've posted before, its hard for me to get time on the Tivo, but I just thought I'd post this for others.

J

TheDoctor
07-08-2002, 01:04 PM
I believe so, generally if a seperate audio file was produced the mpeg header is stripped leaving raw PCM audio. The problem is that while all 3 record modes on the SA use the same audio format, the Dtivo uses several diffrent audio rates. If the tivp supplied muxing program is looking for the SA based tivo rates, it will choke on the much shorted dtivo PCM records even if they are cleaned. I believe even the dtivo video clips, like the opening sequence, are actually the same ones used on the SA systems. I don't know that anyone has used the tivo mux (PES2Triple or whatever it is called) to put dtivo data back in, you probably could load the SA data in with the program.

TivoDvlpr
07-11-2002, 12:37 AM
Ok, so things look pretty good for getting stuff back onto the TIVO and into now playing, assuming we can get the files into the proper format, and make sure to complete the job so as not to leave a mess in MFS (and assuming that we can all hold off our significant other while we play with this thing!:) )

Now, a question.

Can I simply use the FromMFS tcl proc in mfslib to copy the actual tivo MFS file to unix, archive it off, later put it back into mfs with ToMFS, run file-to-recording and get it back in the now playing list?

I wouldn't be able to do anything with the files except put them back onto the TIVO, but thats what I want to do anyway, archive my stuff to watch later!

Lemme know...

TivoDvlpr
07-12-2002, 11:49 AM
Hey guys, haven't heard back from my previous post, anybody know the answers? Is there any kind of FAQ for developers? Maybe something underground...way underground.

I really think I could do some stuff with this thing, but I need some more info. I've read virtually every post on this forum as well as tivocommunity, I've read every FAQ I can get my hands on, and I've downloaded every piece of software I can find, and dug through a lot of source code.

The big issue is the MFS, and if nobody really knows the answers, tell me that and I'll try to figure it out. I just don't want to waste a lot of time screwing up my tivo when there are others that have been through it and I could benefit from their hard work and knowledge.

Of course the problem I have is the darn thing just keeps filling up with good TV for me to watch and doesn't leave enough time for tinkering!! :)

So, with all that said, if anybody knows of a FAQ or doc or anything on the MFS, send it to me!

Thanks a bunch!

dlang
07-12-2002, 02:47 PM
when I attempt to use the ToMfs I get a error on the line that does the mfs allocate $size command (invalid command error IIRC)

I have attempted to do this with small .ty files so it should not be a case of exceeding the max size allowed

TivoDvlpr
07-15-2002, 05:31 PM
Has the mfs procedure gone away or something? Whenever I call it, I get that it doesn't exist. I've tried it directly from tivosh, after sourcing the mfslib as well as from within a tivoweb module that I've created. Same results, unrecognized command. But if I look in the tivoweb mfs browser, it uses it and appears to work.

What am I missing here?

:confused:

TheDoctor
07-15-2002, 05:52 PM
I had read a post on avs awhile back that you sould only call mfs from within a transaction. Check the code that works for statments like start and end transaction. (A transaction is used when a block of commands must be completed together or aborted cleanly if they cannot be completed. Do updates in this way prevents 2 processes from trying to use the same data.)

gregggreg
07-15-2002, 09:28 PM
Originally posted by AlphaWolf
Gregggreg: I noticed your post over here (http://www.tivocommunity.com/tivo-vb/showthread.php?threadid=46239&highlight=cleanmpeg) about cleanmpeg. Does it ultimately turn out that you don't need to clean the mpeg headers? No matter what I try, ele2pestriple reboots tivo.

Well I successfully got 2 differnet kinds of audio streams inserted into my DTivo using ele2pestriple:

1) A tystream that was vsplit w/ jdiner's vsplit into separate video and audio streams. I was able to ele2pestriple these into MFS without rebooting the Tivo.

2) An MPEG-2 file I ripped from a DVD which was re-encoded to 540x480 MPEG-2 video w/ an MPEG-1 96kb/s audio stream. When I tried 160 and 128 kb/s audio streams, ele2pestriple rebooted. It didn't with the 96kb/s streams. No idea why and I didn't try too many other bitrates.

Good luck.

gregggreg
07-15-2002, 09:38 PM
Originally posted by TivoDvlpr
Ok, so things look pretty good for getting stuff back onto the TIVO and into now playing, assuming we can get the files into the proper format, and make sure to complete the job so as not to leave a mess in MFS (and assuming that we can all hold off our significant other while we play with this thing!:) )

Now, a question.

Can I simply use the FromMFS tcl proc in mfslib to copy the actual tivo MFS file to unix, archive it off, later put it back into mfs with ToMFS, run file-to-recording and get it back in the now playing list?

I wouldn't be able to do anything with the files except put them back onto the TIVO, but thats what I want to do anyway, archive my stuff to watch later!

Lemme know...

I tried to do this for a while to no avail. Well, something like this:

1) Use mfs_stream to extract out the ty stream

2) Use ToMFS tcl function to put the tystream back into MFS

3) Call file-to-recoding.tcl on the newly inserted tystream to get its entry into Now Showing

Now what happened when I did this was I got an entry in Now Showing, but when you tried to play it you would get an error screen that said something like "Error trynig to play this show".

I'm not sure why there is this problem, but my guesses are:

1) I put the file in the wrong place in MFS. I have no idea what the path is for a regular tystream or even if they have paths?

2) When I put the tystream in MFS I didn't have any tydb entry referencing the tystream and therefore the garbage-collection of MFS marked the tystream as deleted as soon as the transaction that inserted the tystream ended. This is a total guess as I have no idea how the garbage collection works in MFS. A point to the contrary is that I was still able to mfs_stream the tystream back out based on its id after the fact.

Good luck, let us know if you get this to work. It would be the holy grail of the dream of having a Tivo video archive or Tivo-to-Tivo show transfers, IMO.

-Greg

TivoDvlpr
07-16-2002, 12:25 AM
Dinkin around with MFS is fun...until this happens.

Guess I'll wait and see if MFSchk fixes it or if I have to restore.

And all I did was mis-type an fsid, go figure!!:)

21aloysius
07-16-2002, 03:16 PM
Can someone point me to the ele2pestriple and the file-to-recording.tcl scripts?

gregggreg
07-16-2002, 03:41 PM
Originally posted by 21aloysius
Can someone point me to the ele2pestriple and the file-to-recording.tcl scripts?

ele2pestriple is a binary program in /tvbin if you are running anything below v3.0 software.

file-to-recording.tcl lives in /tvlib/tcl/tv.

gregggreg
07-16-2002, 03:43 PM
Originally posted by TivoDvlpr
Dinkin around with MFS is fun...until this happens.

Guess I'll wait and see if MFSchk fixes it or if I have to restore.

And all I did was mis-type an fsid, go figure!!:)

All you have to do is typo a filename to get ele2pestriple to reboot your Tivo. It gets old. Never got the GSOD as a result, though. Hopefully your Tivo recovered from that OK.

TivoDvlpr
07-16-2002, 04:49 PM
I don't have ele2pestriple, I'm on version 3.0.

Actually, what killed it was doing an mfs size <fsid> and the fsid was invalid...it flagged the mfs as errored and then fixed it...all is OK now.

So without ele2pestriple, you think we'll be able to figure out how to do it with ToMfs? The code is pretty simple, what I'm not sure about is what else ele2pestriple did? Did it simply combine the stripped stream and put it up on mfs?

Anyways...dinkin is slow, and tedious.

21aloysius
07-17-2002, 05:15 PM
Thanks for the info on the program locations. I remember running into something like file-to-recording.tcl before but didn't realize it was the same thing. I need to warm up my broken unit and play around.

BTW, everytime I played with this before I produced the GSOD, which I assume means the "green screen of death"? Actually, on my TV it has sort of a sickly yellow-green and it always required a full restore to get things working again. Now that I have a unit with a bad sat-in that isn't being used anyway this isn't as big a deal.

I'm also very interested in the FromMFS and ToMFS method of archiving video.

TivoDvlpr
07-18-2002, 11:50 AM
I'm dinkin with these routines as well, but not having a ton of luck.

If you look at the following post under the tivoweb thread

http://www.dealdatabase.com/forum/showthread.php?s=&postid=56253#post56253

I've taken the code from FromMFS and attempted to create a tivoweb content handler to download mfs file/streams.

I can't seem to get it to work properly though, maybe you could shed some light. I'm really new to the MFS stuff and I'm not sure I understand a lot of things there.

It seems this code may be able to download TyDb items, as the [mfs size <fsid>] seems to work for those, but if I do this on an fsid for a stream I get the GSOD. (mine too is more puke-yellow).

Also, the [mfs getpart] call always throws a wierd error about only reading <x> bytes of <y>, where <x> is a huge number and <y> is the amount I asked for.

Dump any info you have in my lap if possible.

Thanx