TiVo Community Forum banner
  • TiVoCommunity.com Ambassador Program Now Open! >>> Click Here

pyTivo - Transcoding server

2M views 6K replies 596 participants last post by  mlippert 
#1 ·
pyTivo lets you stream most videos from your PC to your unhacked TiVo. It uses the HMO server protocol, so no hacking of the TiVo is required.

* It will guess if your video is 4:3 or 16:9 and pad your video if it thinks it is needed (looked good on my tests).
* It will not transcode an mpeg that is supported by your TiVo.
* It will stream TiVo recordings (.tivo).

http://pytivo.armooo.net/

* Master changes
* Subfolder changes
 

Attachments

#1,477 ·
I need a list video types that ffmpeg will support. That way in my metagenerator I can have the whole list available to the user.

Anyone know off the top of their head?
That's a loooong list! You can find it in the official ffmpeg documentation under "General Documentation." And of course the catch is the list is rather terse and some codecs have variations, etc., and there is no guarantee a specific file will be properly handled. As an example some H264 encodings in MKV (Matroska) file containers are decoded OK -- others are not.

You can also get the version of this info for a specific rev of ffmpeg by running ffmpeg -formats in a command window.

For pyTivo use all you care about is what formats can be decoded, of course. Based on the list I wonder what format cannot be handled.
 
#1,478 ·
I have been using PyTivo-208 and regard it as excellent. Recently on wcbrine's suggestion (and the desire to use streaming radio) I installed pyTivo-2007-12-09-master-d42194527ba4796a8afd6bba586ded94df0d8c7a. In addition I copied my working PyTivo CONF file from ver 208, and also the latest wcbrine pyTivo-music-playlists-0.7

Note. Streaming radio / audio is being added by wcbrine and is covered in another thread "XM radio via PyTivo?"

But I have problems with the video section pertaining to the folders etc. The (abbreviated) structure on the PC is as follows :-

C:\videos\vid1
C:\videos\vid2
C:\videos\RKN\vid3
C:\videos\RKN\vid4

On the Tivo these show as

RKN (0)
vid1 with info, title duration etc.
vid2 with info, title duration etc.
vid3 no information available.
vid4 no information available.
I can transfer any video file, but they all appear in the NPL list with the same name "videos" (clicking into the video symbol does reveal the video file name etc).

In addition. Sometimes when I click into a file that I have not yet transfered I see the message "the recording is being transfered" (which is wrong), but if I back out and go back in then it changes to "transfer this recording" (which is correct), I am then able to transfer it.

Up till now I have used Ver208 and regard this solid and the one I keep going back to. But my question, have I done everything correctly or have I missed something in the PyTivo CONF file?
 
#1,479 ·
MasterCephus, there is already a website: http://pytivo.armooo.net/

and it has a wiki. (The front page is a wiki.) No forum at the moment.
True, but it's kind of lacking and the wiki (unless updated within the last couple of weeks) is never updated to the most current information.

And I appreciate Armoo and the work he has been doing, but figuring out what to download is very difficult for the novice.

I am not trying to criticize, just trying to give some honest critiques. I think the application is wonderful. I also think the documentation surrounding the forum is severely lacking...
 
#1,480 ·
That's a loooong list! You can find it in the official ffmpeg documentation under "General Documentation." And of course the catch is the list is rather terse and some codecs have variations, etc., and there is no guarantee a specific file will be properly handled. As an example some H264 encodings in MKV (Matroska) file containers are decoded OK -- others are not.

You can also get the version of this info for a specific rev of ffmpeg by running ffmpeg -formats in a command window.

For pyTivo use all you care about is what formats can be decoded, of course. Based on the list I wonder what format cannot be handled.
Well maybe the better question is what types of video should I include then? Right now, I have:

Divx/xVid (*.avi)
Mpeg (*.mpg)
All files (*.*)

What else is common that people use?
 
#1,481 ·
Any chance for a new full blown windows installer .exe? It's been awhile since the last compiled one and it is soooo hard to get the updates installed correctly and working (atleast for me). I'm missing out on soo much. Plus an included FFmpeg update would be nice.

And yes.. you can consider this my X-mas wish.
 
#1,482 ·
Well maybe the better question is what types of video should I include then? Right now, I have:

Divx/xVid (*.avi)
Mpeg (*.mpg)
All files (*.*)

What else is common that people use?
I would like .mp4 and .flv also. Some are using .vob too.
 
#1,484 ·
ok, I put up the subfolder version 12/3/2007 pytivo. I turned on subfolders, setup one video directory, that has 2 folders of items in it and a music share.

The tivoHD correctly shows the 2 folders and a generic folder for video. All folders show empty. Thre conf points to a USB drive letter, I:\TV_Underground

So the videos do not show.

The second problem is the music appears on the Tivo, but if you try to open it, I get error 3-5-6. The music folder points to a std disk, E:\MP3s

Anything to be done? Anyone seen this?


Also, what does the metagenerator do? Is there a way to use it to override avi files names? My avis are named 'Chuck s01e01 This is the name'. I'd obviously like to name it Chusk, episode title 'This is the name', Episode number S01E01. Can metafilegenerator do that?

Thanks!
 
#1,485 ·
ok, I put up the subfolder version 12/3/2007 pytivo. I turned on subfolders, setup one video directory, that has 2 folders of items in it and a music share.

The tivoHD correctly shows the 2 folders and a generic folder for video. All folders show empty. Thre conf points to a USB drive letter, I:\TV_Underground

So the videos do not show.

The second problem is the music appears on the Tivo, but if you try to open it, I get error 3-5-6. The music folder points to a std disk, E:\MP3s

Anything to be done? Anyone seen this?
.................................
Thanks!
I don't use the subfolders versions. What I know should work is to use the latest version (9 Dec 2007) and as a minimum apply the fixes given in Tickets 56-58 and 62 on the Wiki.
 
#1,486 ·
ok

I put up master 12/09

Much better. I have done the wiki ticket patches 56-58,62 and restarted the service, changing a folder namecin my vieo section so I know it is restarted

I now see folders with files underneath in the subfolder pc's 'mysvr/program'
The main video folder, which has the folders in it 'MySvr', shows folders with 0 items as the number but if you open them, it shows the items inside correctly.

I have tried playing the videos. THEY WORK!. They are avi files, fyi and tivo desktop 2.51 plays them without error. Transfer of shows to the TIVO works too. The only problem I have is that I did run the metadata generator on them (really cool, see next thread).
The data is right, I did put in the seriesID as setup and they still did not group on the receiving TIVO :( Is pyTivo using the seriesID? Is it getting to the receiving Tivo? Is there any way to see it on the receiving Tivo? I know you can with the info button if you know the backdoor for thae model of tivo, but no-one knows this for a tivoHD.

Music, now opens and i see its folders and folders inside the folders, but going into the folders to the actual music files gives error 3-0-65535. Not trying to play them, just display them. If I try to play a folder, I get 1-0-65535 or 'a network error has occured or the server is busy'. Once I had to stop and start the pytivo service after the error. These folders contain mp3 files that tivo desktop plays without error
 
#1,487 ·
hi

I started playing with this. It is fantastic.

You asked for enhancements, so here goes :)

1) Do a batch file of an entire folder. Have an option to dump ALL of a shows .txt meta files into a directory without asking for each one. Probalby easy to match up since most dl'ed ones have a 2x01 or 2e01 as an example in the title for season 2 expisode 1 or whatever.

2) Remember the last directory the user selected. You keep going back to C:\

3) Series ID. If the user selected the same show, just a different episode, then keep the series ID you last found

4) Are you going to have a newer version of the db3 file? Can you download it automatically upon startup if newer?

5) Fields you should have rating, episode number and a few more. zap2it has all the bits defined in the xml output for tv shows. They do not do the xml outputs anymore for personal guides, but a successor has been made that does.

I wrote parsexmlguide.vb for canadian tivo owners a few years ago. So I know all the ratings, bits (letterbox, repeat, color, etc) , etc stored in all tivo slice files and would be happy to share them with you.

I actually wrote an interface to IMDB to get movie names, desc and bits and built slices for them on the fly to load into tivos.

Here is an example of one of my txt files for a ppv movie. Note all the extra data in it. I also mapped mpaa and tv ratings systems so both showed, as well as advisories, set the movie bit for movies, and set all the correct tivobits for the description stuff in parens. All this info is available from zap2it and its successor:

cc = 1
stereo = 1
color = 4
day = 12610
description = An American Civil War vet travels to Japan to help modernize their army and becomes seduced by the way of the samurai.
duration = 9900
end = 20040710224500 -0500
genre = 1006
is_episode = 0
program = 131701831
series = 130050982
start = 20040710200000 -0500
station = 1200703
time = 3600
advisory1 = 5
title = The Last Samurai
year = 2003
actor = Cruise|Tom
actor = Watanabe|Ken
director = Mayersberg|Paul
producer = Zwick|Edward
writer = Zwick|Edward
tvrating = tvpg
mpaarating = pg
movie = 1
tivobits = 131075
 
#1,489 ·
Seconded. :up:
It is easy to do the updates from the zips.

Just unzip to a new directory, like c:\pytivo-yyymmdd,
cmd, cd to old dir,delete the service,
move your conf file to new dir,
cmd, cd to new dir,
remake the service and start it

Or am I missing something?
 
#1,490 ·
ok

I put up master 12/09

Much better. I have done the wiki ticket patches 56-58,62 and restarted the service, changing a folder namecin my vieo section so I know it is restarted

I now see folders with files underneath in the subfolder pc's 'mysvr/program'
The main video folder, which has the folders in it 'MySvr', shows folders with 0 items as the number but if you open them, it shows the items inside correctly.

I have tried playing the videos. THEY WORK!. They are avi files, fyi and tivo desktop 2.51 plays them without error. Transfer of shows to the TIVO works too. The only problem I have is that I did run the metadata generator on them (really cool, see next thread).
The data is right, I did put in the seriesID as setup and they still did not group on the receiving TIVO :( Is pyTivo using the seriesID? Is it getting to the receiving Tivo? Is there any way to see it on the receiving Tivo? I know you can with the info button if you know the backdoor for thae model of tivo, but no-one knows this for a tivoHD.

Music, now opens and i see its folders and folders inside the folders, but going into the folders to the actual music files gives error 3-0-65535. Not trying to play them, just display them. If I try to play a folder, I get 1-0-65535 or 'a network error has occured or the server is busy'. Once I had to stop and start the pytivo service after the error. These folders contain mp3 files that tivo desktop plays without error
Try wmcbrine's complete replacement for the music plugin.

Regarding seriesID and grouping see this recent post on this thread.
 
#1,491 ·
1) Do a batch file of an entire folder. Have an option to dump ALL of a shows .txt meta files into a directory without asking for each one. Probalby easy to match up since most dl'ed ones have a 2x01 or 2e01 as an example in the title for season 2 expisode 1 or whatever.
I could probably do that, but the problem is the naming of the files...it would probably take longer to rename the files what you want than it would just using the app to do each one...I'll think about a way to do this though...

How about this, make it where you can right click a season and choose "export entire season" then it prompts for the folder, then prompts for the seriesID, then just does it...would that be good?

2) Remember the last directory the user selected. You keep going back to C:\
I am kind of fixing that in the release I'll probably let out tomorrow. What I am doing there is allowing you to specify a default video directory and the folder search starts there every time.

3) Series ID. If the user selected the same show, just a different episode, then keep the series ID you last found
I'll have to think about the best way to do that, but I probably can.

4) Are you going to have a newer version of the db3 file? Can you download it automatically upon startup if newer?
The next version will come with 2 DB files for seriesID, a small one (what's in there now), and a big one. The small one came from PaulS a couple of pages ago...it has about 3523 entries and the big one from Reneg which as 10216 entries...

Why 2 you ask? Well I was only going to use the big one, but there is a lot and I mean a lot of series in there and it was hard to find a show you wanted sometimes. So in my vision, I would use the smaller one until I couldn't find a series I watch, then switch over to the big one and get it and then go back to the small one...or just use the big one..it doesn't matter.

With these, I don't know if seriesID updates will be needed...

5) Fields you should have rating, episode number and a few more. zap2it has all the bits defined in the xml output for tv shows. They do not do the xml outputs anymore for personal guides, but a successor has been made that does.
I am actually capturing that data, I just don't know how to use the data. If someone would show me how to populate the text file with that data, then I would be more than happy to add those.

It sounds like you do, can you send me a PM with all the information you have for the bits and all that info?

here is the post that I where I announced my application. It has examples of the kinds of data I am getting.

You said that zap2it has an xml interface to get data from them? Do you know how I can get to it?

Another option that I am adding is the ability to append the IMDB score (X out of 10) to the end of the description of movies...
 
#1,492 ·
Hey, just installed pyTivo, configured and tried to run, but getting this error. Please advise.

C:\Program Files\pyTivo>pytivo.py
Traceback (most recent call last):
File "C:\Program Files\pyTivo\pyTivo.py", line 11, in <module>
httpd = httpserver.TivoHTTPServer(('', int(port)), httpserver.TivoHTTPHandle
r)
File "C:\Program Files\pyTivo\httpserver.py", line 14, in __init__
BaseHTTPServer.HTTPServer.__init__(self, server_address, RequestHandlerClass
)
File "C:\Python25\lib\SocketServer.py", line 330, in __init__
self.server_bind()
File "C:\Python25\lib\BaseHTTPServer.py", line 101, in server_bind
SocketServer.TCPServer.server_bind(self)
File "C:\Python25\lib\SocketServer.py", line 341, in server_bind
self.socket.bind(self.server_address)
File "<string>", line 1, in bind
socket.error: (10013, 'Permission denied')
 
#1,495 ·
I could probably do that, but the problem is the naming of the files...it would probably take longer to rename the files what you want than it would just using the app to do each one...I'll think about a way to do this though...

How about this, make it where you can right click a season and choose "export entire season" then it prompts for the folder, then prompts for the seriesID, then just does it...would that be good?
Yes, that would be cool

The next version will come with 2 DB files for seriesID, a small one (what's in there now), and a big one. The small one came from PaulS a couple of pages ago...it has about 3523 entries and the big one from Reneg which as 10216 entries...

Why 2 you ask? Well I was only going to use the big one, but there is a lot and I mean a lot of series in there and it was hard to find a show you wanted sometimes. So in my vision, I would use the smaller one until I couldn't find a series I watch, then switch over to the big one and get it and then go back to the small one...or just use the big one..it doesn't matter.

With these, I don't know if seriesID updates will be needed...
Yes you would, as new episodes are added and new series.

I am actually capturing that data, I just don't know how to use the data. If someone would show me how to populate the text file with that data, then I would be more than happy to add those.

It sounds like you do, can you send me a PM with all the information you have for the bits and all that info?
I sent a pm

Another option that I am adding is the ability to append the IMDB score (X out of 10) to the end of the description of movies...
Yes, I used that too for the stars

BTW, lets start a thread for your program. Comments can get lost in this long thread
 
#1,496 ·
Isnt that replacement for xm radio and stuff? Does it also do regular music files?

And #2, you are right, I forgot, you need one recorded show to make a group work. I used to take series, find a series on my tivo, rename it using a tcl script, one that would not be seen again or one I didnt care about, and add that serisID to the files to be downloaded.

I forgot the step of the seriesID had to already exist in the tivo db.

So, if I record a Chuck, it will group the dl'ed ones to it too.
 
#1,497 ·
I just installed pyTivo for the first time (version 2.5.1) and am having the following problem. I can see the Share in the Tivo Now Playing list, and when I select it I can see all of the subdirectories in the share directory. However, I cannot see any of my video files, including the ones in the top level of the share. This is on a Tivo series 2 DT. Any ideas?

My config file is included below. Thanks!

# 12/28/07 by Don

[Server]
port=9032

#Full path to ffmpeg including filename
#For windows: ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
ffmpeg=C:\Documents and Settings\JNCS Customer\My Documents\My Software\pyTivo\plugins\video\ffmpeg_mp2.exe

#This will make a large debug.txt file in you base directory. It only debugs
#transcode.py right now.
#debug=false

# Audio bit-rate, default 192K
#audio_br=192K

# Video bit-rate, default 4096K
#video_br=12Mi

#Beacon broadcast address(es)
#Typically use 255.255.255.255 but on some multihomed machines you may
#need to specify the subnet broadcast address(es) of your Tivo boxes
#beacon=255.255.255.255

#Output Pixel Width: if you have an HDTV you might want to try 720 or 704
#Valid: 720, 704, 544, 480, 352
#width=1440
#height=720
#ffmpeg_prams=-vcodec mpeg2video -r 29.97 -b %(video_br)s -maxrate %(max_video_br)s -bufsize %(buff_size)s %(aspect_ratio)s -comment pyTivo.py -ac 2 -ab %(audio_br)s -ar 44100 -f vob -

##Per tivo options
# section named _tivo_TSN with the tsn in all caps
#[_tivo_00000DEADBEEF]

#If you want to use 16:9 or 4:3 on this tivo
#aspect169=true
#width=1440
#height=720
#audio_br=320K
#video_br=12Mi
#ffmpeg_prams=-vcodec mpeg2video -r 29.97 -b %(video_br)s -maxrate %(max_video_br)s -bufsize %(buff_size)s %(aspect_ratio)s -comment pyTivo.py -ac 2 -ab %(audio_br)s -ar 44100 -f vob -

#audio_br=320K
#video_br=12Mi

[Web Videos]
#Type can be either 'video' or 'music'
type=video

#Path is the full path to your files (No trailing slash needed)
#For windows: path=c:\videos
#For linux: path=/media
path=C:\Documents and Settings\JNCS Customer\My Documents\My Videos

#Make all subfolders in to top level shares
#auto_subshares= True

##You can have more than one share
#[MyTelevision]
#type=video
#path=d:\television
 
#1,498 ·
I just installed pyTivo for the first time (version 2.5.1)
Huhh??? Version 2.5.1 sounds like a TiVo Desktop version number.

The only version of pyTivo I can recommend is the latest one (9 Dec 07) and then you need to apply the fixes in Tickets 56-58 and 62 on the Wiki at a minimum.

Your config file uses the defaults for everything and that should be OK for a S2DT. The '#' characters comment out a line so it has no effect.
 
#1,500 ·
Isnt that replacement for xm radio and stuff? Does it also do regular music files?
Well it wouldn't be a replacement for the music plugin if it didn't. :) It's actually a modification of the existing plugin, to add support for playlists; but I fixed some bugs while I was at it.

And, it doesn't actually do XM. (Yet?)
 
#1,501 ·
Well it wouldn't be a replacement for the music plugin if it didn't. :) It's actually a modification of the existing plugin, to add support for playlists; but I fixed some bugs while I was at it.

And, it doesn't actually do XM. (Yet?)
ok, i downloaded it and the photo module

They go in tonight.

Anyone know why the folders under the main pc server share on the tivo show 0 items inside each folder? But if you go into the folder, the correct items show and are counted?
 
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top