# pyTivo - Transcoding server



## armooo

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


----------



## armooo

I did a bit of reading and it should like you need >= 7.2 for this to work. I have tested it on 7.3.1 and 8.1. I am curious if anyone else has had any luck with it.


----------



## Yog-Sothoth

I just tried this with an HR10-250 running 6.3b with the HMO/HME patches. "Video" shows up at the bottom on the NPL, but selecting it just reverts back to the NPL.


----------



## cheer

Yog-Sothoth said:


> I just tried this with an HR10-250 running 6.3b with the HMO/HME patches. "Video" shows up at the bottom on the NPL, but selecting it just reverts back to the NPL.


That's because this essentially uses the "GoBack" portion of TTG -- no TTG available on 6.3x.


----------



## jasonpot

Using your latest build. Works really good. Thank you so much


----------



## TerminalE

I am trying to run PyTivo w/Python 2.5 installed and am receiving the following error when entering the Tivo menu "Music & Photos":

C:\PyTivo\pyTivo\Cheetah\Compiler.py:1508: UserWarning:
You don't have the C version of NameMapper installed! I'm disabling Cheetah's us
eStackFrames option as it is painfully slow with the Python version of NameMappe
r. You should get a copy of Cheetah with the compiled C version of NameMapper.
"\nYou don't have the C version of NameMapper installed! "


Any thoughts


----------



## abacus

I tried out pytivo and it appears to work OK. The problem I have is if I transfer a show and let it complete without viewing it it seems to disappear from my now playing list on the tivo. If I cancel the transfer part way through it stays in the Now playing list.

Anyone have this problem?


----------



## armooo

TerminalE said:


> I am trying to run PyTivo w/Python 2.5 installed and am receiving the following error when entering the Tivo menu "Music & Photos":
> 
> C:\PyTivo\pyTivo\Cheetah\Compiler.py:1508: UserWarning:
> You don't have the C version of NameMapper installed! I'm disabling Cheetah's us
> eStackFrames option as it is painfully slow with the Python version of NameMappe
> r. You should get a copy of Cheetah with the compiled C version of NameMapper.
> "\nYou don't have the C version of NameMapper installed! "
> Any thoughts


This is just a warning, I did not include the C version of NameMapper, but it will still work.



abacus said:


> I tried out pytivo and it appears to work OK. The problem I have is if I transfer a show and let it complete without viewing it it seems to disappear from my now playing list on the tivo. If I cancel the transfer part way through it stays in the Now playing list.
> Anyone have this problem?


This is a side effect from not knowing the file size when I start streaming. If anyone has fix (or a thought on one) I would be happy to hear it.

I also added music (only mp3 now) support.


----------



## abacus

armooo said:


> This is just a warning, I did not include the C version of NameMapper, but it will still work.
> 
> This is a side effect from not knowing the file size when I start streaming. If anyone has fix (or a thought on one) I would be happy to hear it.
> 
> I also added music (only mp3 now) support.


Any Idea why scrolling through files listed by PyTivo it takes so long. When I page down on Now Playing it takes 10-20 seconds for it to get file names. This happens every page down. It is a directory that has about 80 files.


----------



## colin1497

FYI, I've got this up and running with my series 3 except (of course) that it doesn't work for video since this seems to be disabled on the S3's right now. Video shows up at the bottom of now playing but it just puts the transfer into the "todo" list and nothing ever happens. The MP3 functionality works fine.


----------



## armooo

abacus said:


> Any Idea why scrolling through files listed by PyTivo it takes so long. When I page down on Now Playing it takes 10-20 seconds for it to get file names. This happens every page down. It is a directory that has about 80 files.


It is filtering the files to only display supported files. And this is done by running ffmpeg on every file in the directory. I will look in to caching the results to speed it up.

Update: A new version is up that should be quicker.


----------



## abacus

armooo said:


> It is filtering the files to only display supported files. And this is done by running ffmpeg on every file in the directory. I will look in to caching the results to speed it up.
> 
> Update: A new version is up that should be quicker.


Works much better now. Takes a while to come up at first, but scrolling works much better now. Thanks!


----------



## turnipsun

Any Chance someone could compile a MAC client.

I try to run it, and every time Python just crashes..

Any advice would be awsome..

Chris


----------



## KRKeegan

First nice work. I had to make 10-12 mods to get this to work on Linux(Debian/Sarge).


I found an error and I don't think this is your problem but a problem with TiVo.

Here is the issue. I have subfolders in my video directory. I can safely navigate to them and select videos to transcode.

However after I select a video in a subfolder if I chose "Continue browsing" TiVo then thinks I am at the base folder. When I use the left arrow to exit out of the folder TiVo never makes it out.

In fact what eventually happens is that the Now Playing screen is replaced with the base folder of the pyTivo Video folder. There appears no way to correct this problem without restarting the tivo.

I have not fiddled with it enough, but at first glance i dont know but maybe after selecting a video that the program return to the base folder???? 

Again I think this is more a glitch with TiVo but it would be nice to hack a solution since I doubt that this will be fixed by TiVo anytime soon.


----------



## abacus

KRKeegan said:


> In fact what eventually happens is that the Now Playing screen is replaced with the base folder of the pyTivo Video folder. There appears no way to correct this problem without restarting the tivo.
> 
> I have not fiddled with it enough, but at first glance i dont know but maybe after selecting a video that the program return to the base folder????
> 
> Again I think this is more a glitch with TiVo but it would be nice to hack a solution since I doubt that this will be fixed by TiVo anytime soon.


I found this happens too. The way I've gotten around it is by browsing another TiVo and then it will return the Now Playing list correctly. Beats having to restart.


----------



## VinceA

I found that paging to the bottom on the list where Deleted Programs lies and just sitting there will cause the real list to regen eventually.

Other than that yesterday's build worked great for a variety of DiVx files. Any chance of including audio-transcoding like the WMA plugin for TiVoDesktop?


----------



## KRKeegan

abacus said:


> I found this happens too. The way I've gotten around it is by browsing another TiVo and then it will return the Now Playing list correctly. Beats having to restart.


Thanks that worked well. Even just finding the same pyTivo Server at the bottom of the page selecting it and then exiting fixes it. That is much faster than restarting 

Next problem. I can't seem to get the script to run as a daemon on linux. I mean it runs, and while I keep that terminal session alive it is fine. But once I exit that terminal it no longer works. If I ssh back in I can see 3 proceses of python still running, but it no longer loads on the TiVo.

Any suggestions, I am thinking maybe all the output that shows up in the terminal has no where to go and that causes an error. Do I need to go through and recode all lines that print to screen or is there a simple solution. I tried " > /dev/null" but that didnt solve anything.

Thanks again for your help.


----------



## KRKeegan

Ok solved the daemon problem.

The key was:

pyTivo.py > /dev/null 2>&1 &

pyTivo kicks out a lot of errors and i didnt realize that > only kicks out the stdout 2> kicks out the stderr too.

Anyways, very excited i have a effortless Transcoding server running.

Thanks again armooo.


----------



## EmptyH

I downloaded and installed everything, customized pytivo.conf and ran pytivo.py. I've got the command window open (c:\python25\python.exe as the window title) with no errors displayed, but I do not see anything in my NPL. 

I do see my other TiVo, so I know the network is still working. What am I doing wrong?


----------



## KRKeegan

EmptyH said:


> I downloaded and installed everything, customized pytivo.conf and ran pytivo.py. I've got the command window open (c:\python25\python.exe as the window title) with no errors displayed, but I do not see anything in my NPL.
> 
> I do see my other TiVo, so I know the network is still working. What am I doing wrong?


Sorry not running a PC, but it sounds like a firewall problem??? Make sure the port listed in pyTivo.conf is open.

Any other PC users have a comment?


----------



## EmptyH

> Sorry not running a PC, but it sounds like a firewall problem??? Make sure the port listed in pyTivo.conf is open.
> 
> Any other PC users have a comment?


I've got XP firewall disabled - nothing should be blocking ports anywhere on my network.


----------



## EmptyH

I read one of the known problems:
"GUID in beacons hardcoded. So only 1 server per network"

I'm not sure if that means only one pyTivo server per network, or if that includes Galleon and TiVo Desktop. In any case, I shut down Galleon on my computer, and Galleon and Tivo desktop on my roommate's computer, restarted pyTivo and still don't get anything new on my NPL. I tried rebooting the TiVo just for S&Gs, but still no luck. 

Anybody got any other ideas for me to try?

Thanks.


----------



## KRKeegan

EmptyH said:


> I read one of the known problems:
> "GUID in beacons hardcoded. So only 1 server per network"


That just means pyTivo servers and pyTivo can easily be modified to add more.

You really get no response at all in the cmd window huh?? Normally pyTivo spits out a few minor errors. I kinda wonder if it is even up and running.

I dont know how much experience you have with coding, but you can add a line at the top of pyTivo.py:

print "Started"

if you dont see this output when you run pytivo then something isnt right with your python setup


----------



## EmptyH

I figured out what it was! I use Hamachi to connect to my computer at work. I tried closing Hamachi down and it works now. However Hamachi hooks into the system, it messes with pyTivo.


----------



## armooo

KRKeegan said:


> First nice work. I had to make 10-12 mods to get this to work on Linux(Debian/Sarge).
> 
> I found an error and I don't think this is your problem but a problem with TiVo.
> 
> Here is the issue. I have subfolders in my video directory. I can safely navigate to them and select videos to transcode.
> 
> However after I select a video in a subfolder if I chose "Continue browsing" TiVo then thinks I am at the base folder. When I use the left arrow to exit out of the folder TiVo never makes it out.
> 
> In fact what eventually happens is that the Now Playing screen is replaced with the base folder of the pyTivo Video folder. There appears no way to correct this problem without restarting the tivo.
> 
> I have not fiddled with it enough, but at first glance i dont know but maybe after selecting a video that the program return to the base folder????
> 
> Again I think this is more a glitch with TiVo but it would be nice to hack a solution since I doubt that this will be fixed by TiVo anytime soon.


I am able to reproduce this and am looking in to it. Galleon seems to be working correctly so I must be doing something wrong.



KRKeegan said:


> Ok solved the daemon problem.
> 
> The key was:
> 
> pyTivo.py > /dev/null 2>&1 &
> 
> pyTivo kicks out a lot of errors and i didnt realize that > only kicks out the stdout 2> kicks out the stderr too.
> 
> Anyways, very excited i have a effortless Transcoding server running.
> 
> Thanks again armooo.


I think the http logs get sent to stdout and the ffmpeg output to stderr.



turnipsun said:


> Any Chance someone could compile a MAC client.
> 
> I try to run it, and every time Python just crashes..
> 
> Any advice would be awsome..
> 
> Chris


I don't have MAC, but I am using Python 2.5 some of KRKeegan's fixes may have gotten it running on 2.4(If you run it from a console you should get a better error). You will also need to find a ffmpeg build to your MAC and edit plugins\video\transcode.py line 4 to the path of it.

I also added a link to a change log in the first post.


----------



## turnipsun

thanks for a response..

I am super busy, but when I get a chance I will try to work on getting it working on my PPC MAC..
I'll report back here with my info, so maybe I can help others and if you wana take my steps and post them somewhere..


ALSO:::!!
I have the program running on a PC on the network..
IT IS AMAZING.. It has made me so excited.. I can't wait for updates to make it even better.. I just wanted to say great job and this is a HUGE advancement in TIVO.. atleast in my eyes..

Chris


----------



## KRKeegan

EmptyH said:


> I figured out what it was! I use Hamachi to connect to my computer at work. I tried closing Hamachi down and it works now. However Hamachi hooks into the system, it messes with pyTivo.


Sorry I had to look up what hamachi was.

Yes running a VPN will block pyTivo from working. The VPN essentially places your computer on your office lan, so TiVo is never able to see it on your home lan.

I have never used hamachi but there should be some place in the options to make exceptions for local addresses, but be careful if you use a NAT at the office with the same IP range as home, you may make some problems.

Kevin


----------



## sconfusion1

I'm having a bit of trouble getting this set up. I have Python 2.5 (WinXP) installed and I'm running pyTivo.py from the command prompt, with no Firewalls running.

The server starts and runs fine, periodically spitting out get requests to the TiVo. However, when I bring up the Now Playing list, there's no Videos folder listed.

I left the server running overnight and checked the Now Playing list when I woke up, and Videos was listed. After restarting my computer, running the script for five hours, and forcing a service connection, the Videos folder still isn't listed.

Suggestions, please?


----------



## dsandor

I am having a similar situation. Running on Windows XP with no firewall. I can go to a remote pc and hit the pyTivo server with a browser using 'computername:9032' and I get a document 'This is a tivoPY server' which is great.. it shows the program is working. 

Nothing shows in my NPL though. Is there a way to troubleshoot this? I am going to look into the python code a bit to see if I can emit some debug info... any idea of how the tivo discovers other DVR's on the network? I would expect that it pings the active machines in the subnet with an h.t.t.p get..?

Thanks,
dsandor


----------



## sconfusion1

dsandor,

Try going to:

h.t.t.p://127.0.0.1:9032/TiVoConnect?Command=QueryContainer&Container=Video

...and see if it returns anything. Mine returns a list of the first ten videos. I'm going to try adding port forwarding to my router and see if that helps.

ETA: Port forwarding doesn't work.


----------



## KRKeegan

Dsander and Sconfusion

It is hard to say what isnt working for you. I hate to do this but if you download TiVo desktop and enable tivo-to-go does it put a folder at the bottom of your now playing list??

You must obviously be on the same subnet as your TiVo, I think have 7.2 or greater firmware on TiVo. Must be a tivo standalone box, hmm not sure what the other basic requirements are.

If you use the link above and see the XML page load then you are having a network or TiVo problem not a pyTivo problem.


----------



## Deadpan Science

I just tried to install this. Maybe I'm doing something really stupid that is causing me to have this problem.

I downloaded python 2.2, installed it, then installed pywin32-210, then I extracted pyTivo146.zip to C:\pyTivo-146. Then I edited pyTivo.py with Notepad++ so that it says:


> [Server]
> port=9032
> 
> [Video]
> type=video
> path=c:\tivo\


I also turned off my firewall just for testing. (If I use the tivo desktop software and put a file in c:\videos it shows up in the now playing list, even with the firewall on)

then I went to start-> Run and ran



> C:\pyTivo-146\pyTivo\pyTivoService.py --startup auto install


After I did this I ran services.msc to see if there was a service installed. I saw one for tivo beacon, but nothing obviously related to pyTivo.

What am I doing wrong here?


----------



## sconfusion1

KRKeegan, sorry for the delayed response... I just noticed the Page 2. *sigh*

I have Tivo Desktop installed and I can transfer files between my PC and Tivo, but the only folder I have in the Now Playing List (with Grouping turned off) is Recently Deleted. The Tivo's visible via my network, and I can access its built-in web browser.

Do you have any other suggestions?


----------



## armooo

Deadpan Science said:


> I just tried to install this. Maybe I'm doing something really stupid that is causing me to have this problem.
> 
> I downloaded python 2.2, installed it, then installed pywin32-210, then I extracted pyTivo146.zip to C:\pyTivo-146. Then I edited pyTivo.py with Notepad++ so that it says:
> 
> I also turned off my firewall just for testing. (If I use the tivo desktop software and put a file in c:\videos it shows up in the now playing list, even with the firewall on)
> 
> then I went to start-> Run and ran
> 
> After I did this I ran services.msc to see if there was a service installed. I saw one for tivo beacon, but nothing obviously related to pyTivo.
> 
> What am I doing wrong here?


I have been using python 2.5 and pywin32 build 210. You may also want to try running it in a console, that way you will be able to see any errors.



> cd C:\pyTivo-146\pyTivo\
> pyTivoService.py --startup auto install


----------



## KRKeegan

*armooo*

Looks like you have been taking a much needed coding break. Pipakin has a similar server called Tivo.net. It is substantially more bulky and prone to many more bugs, but from what I understand he is able to avoid the transfer interrupted error at the end of the file.

He said he passes the same 404 error as you at the end of the file, but the one thing that he does that is different is that he tells TiVo the duration of the file on the front end in the container.tmpl file. I have tried messing with this a little bit, but so far not so much luck for me. I thought maybe you would have more luck.

Keep up the good work. I like that pyTivo is rather lightweight.

_Edit: On closer inspection I still get an error with Tivo.net, however pipakin and others don't so there is something else going on there._


----------



## pipakin

KRKeegan said:


> ...Tivo.net. *It is substantially more bulky and prone to many more bugs*, but from ...


Ouch man...very ouch.


----------



## KRKeegan

pipakin said:


> Ouch man...very ouch.


aww sorry man. I am not meaning to complain. pyTivo is the southwest of transcoding servers. No frills nothing fancy just do the job. And for many of us Linux guys we prefer that method. Tivo.net has many more features and I think these additional features make it substantially more bulky.

Plus I dunno, I kinda like how pyTivo only builds a cache if you actually load that folder from TiVo. Now I dont have any folder with more than 30 files in it, and I have a fast server so maybe other people would have problems.

And I think mono maybe some of my problem, but I ended up with quite a few defunct ffmpeg instances running.

Honestly I appreciate the work you have done, you have a nice piece of software there, but at the moment it just isn't for me. Maybe some time in the future.


----------



## pipakin

*chuckle* I wasn't being 100% serious. Keep up the good work overe here. If I figure out anything on the transfer interrupted front, I'll let you guys know.


----------



## KRKeegan

*New Version 147*

I think armooo needed a little break. In the mean time I made a few alterations. The major addition is that the code should work on any python platform now. It has been tested on Windows and Linux.

*Please Note:* The configuration file has changed a little please read more below.

And many thanks again for armooo for starting this. Hopefully he can join us again when he has time.

Download pyTivo Version 147

---Changes
- Duration has been added
so now the green bar on the bottom of the screen is accurate. I thought this would help the deleting problem but it didn't.

- Single form of code
so now this works with no changes on linux and windows

- ffmpeg entry in config file
allows you to move ffmpeg and allows a single version of code for multiple platforms

---Usage

You need to edit pyTivo.conf in 3 places

1. ffmpeg=
2. [<name of share>]
3. path=

ffmpeg should be the full path to ffmpeg including filename. For windows users the exe has been included and is in the plugins/video directory.
path is the absolute path to your media

run pyTivo.py


----------



## Enrique

just ran pytivo.py and got this:
Traceback (most recent call last):
File "C:\pyTivo-146\pyTivo\pyTivo.py", line 12, in <module>
httpd = httpserver.TivoHTTPServer(('', int(port)), httpserver.TivoHTTPHandle
r)
File "C:\pyTivo-146\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')

missing something?


----------



## armooo

I have merged the changes KRKeegan's 147. It is now killing mmpeg when you stop the transfer early on linux (it looks like it was being killed then the thread was ending anyway). And fixed the type line in the config file, from x-container/tivo-videos to video. This was changed when I moved to the plugin system.


----------



## KRKeegan

teehee, literally last night I also fixed the abandoned ffmpeg threads on linux too.

As an fyi I don't know if you saw but Desktop 2.4 is out and the paid version offers the ability to transcode from WMV to TiVo. From what I am reading it sounds like you just toss the WMV files into the correct folder and they show up on the NPL.

I am plugging away trying to find someone out there with a paid version to tell me what the XML looks like for the wmv files. I would imagine that if TiVo is offering this they have fixed the glitch with video file sizes.

Kevin


----------



## zpimpa

Hi,

I can connect manually (via my laptop) to:
h.ttp://127.0.0.1:9032/TiVoConnect?Command=QueryContainer&Container=Video

However, Video does not showup on my Tivo.

I am running Python 2.5 and the latest build of PyTivo. 

Any help or help troubleshooting would be appreciated greatly. Thanks


----------



## KRKeegan

zpimpa said:


> Hi,
> 
> I can connect manually (via my laptop) to:
> h.ttp://127.0.0.1:9032/TiVoConnect?Command=QueryContainer&Container=Video
> 
> However, Video does not showup on my Tivo.
> 
> I am running Python 2.5 and the latest build of PyTivo.
> 
> Any help or help troubleshooting would be appreciated greatly. Thanks


What do you get when you load that web page?

If you see XML with your videos in there then there is either something blocking the TiVo or your TiVo doesnt support video transfers. You need to have version 7.2 of the software.

Check and make sure that there are no firewalls or anything blocking TiVo from talking to your pc.


----------



## Jabo4

I'm running Vista and having a bit of an issue. I have python installed with no issues, but running the pyTivoService.py --startup auto install isn't working. It seems like a syntax error but everytime I try to install the service it just spits out the usage commands...like I put nothing in. I'm sure it's something dumb but any help would be nice.

Oh and if I just try to run pyTivo.py it spits out lots of errors. Not sure what this means to you. 

No module Named x-containter etc.. So I'm not sure if I did something wrong or whether vista doesn't like whats going on.


----------



## armooo

The "No module Named x-containter" is caused by an error in KRKeegan's included config file. If you change the type=video under your share name it should start right up.


----------



## KRKeegan

armooo said:


> The "No module Named x-containter" is caused by an error in KRKeegan's included config file. If you change the type=video under your share name it should start right up.


hehe oops 

Sorry all.

Kevin


----------



## Jabo4

Great! That works. Any clue as to why it won't install as a service? It just ignores my parameters in python. Thanks in advance! Also, what would I change to make it get music and videos? Thanks


----------



## armooo

I am working on a windows installer/config tool now. The first release is going to be bare bone, but it will work (kinda).

If you want to add music just create a new config section and set the type to music.

[Mp3's]
path=d:\mp3s
type=music


----------



## Jabo4

Yeah I got it to work finally. The latest 157 version is missing the Transcode.py python file  the music part works great now! Is there anyway to put music on the NPL? I know it's probably a weird request but even linking straight from there instead of like 3 screens would be great! I'm sure tivo has limitations though.


----------



## KRKeegan

Jabo4 said:


> Yeah I got it to work finally. The latest 157 version is missing the Transcode.py python file  the music part works great now! Is there anyway to put music on the NPL? I know it's probably a weird request but even linking straight from there instead of like 3 screens would be great! I'm sure tivo has limitations though.


1. Transcode.py - Hmm this is in the plugins/video directory as it should be. But armoo recently deleted an extra copy form the base folder. Is that what you had to replace?

2. Music in NPL - I dont think that is something we can do on the server end. That is up to TiVo to handle that one.

---------------------------

So I am messing around with Desktop 2.4. It appears that they use a constant bit rate in order to be able to predict the streamed file size. It looks like the bit rate is 3367kbytes/second

_Edit_
Well cool, the file size TiVo reports pre-transcoding is not the same as the resulting file size. So I just have to figure out how Desktop gracefully tells TiVo that there is no more. So a solution does appear likely.


----------



## armooo

It seems that when running as a windows service os.getcwd() is not the pyTivo directory so it was not able to find the pyTivo.conf file. This has been fixed.

I have also added GUID support. So you can now have more than one server on your network.

And finally I have an installer to try out. pyTivo 161 Setup. It should install Python 2.5 and pywin32. It will install pyTivo as a service and start it. It will also run the configurator to let you set up shares.

The configurator is not done yet, so it has some bugs. You need to double click to select a share, and you need to make sure you hit save before you quit. The configurator is also linked to from the start menu and will let you restart the pyTivo service, which you need to do after making changes.

You also need to make sure that port 9032 is open, the installer dose not do anything to the windows firewall.


----------



## Jabo4

Yeah for it to work I still have to have the transcode code file in the main directory. I am having issues with the service too, running pyTivo by itself works fine, I am not familar with Python so if you want me to pull some kind of log from it or just tell me how to fire the pyTivoService from inside the command line then I could catch the error it's recieving and maybe give some insight on what is causing the failure.


----------



## KRKeegan

Wahoo!

I purchased Desktop 2.4 and watched how it handles the transcoding of WMV files. Long story short, I was able to solve the Transfer interrupt problem that many of us saw at the end of file transfers.

This should also fix the rapid deletion problem. After $25 bucks and a lot of packet sniffing it turns out to be a very simple fix. It has been updated and versions 163 and onward should have no problem.

Enjoy, I am off to bed. http://armooo.net/~armooo/pyTivo/

Kevin

_Next Fixes_1. Overestimating file size may cause TiVo to delete programs prematurely to make room for an overly large file. 2. Aspect ratio tweaks. 3. Attempt to add some meta data features


----------



## armooo

Damn I tried return a 206 response code, I guess if I read rfc2616 better I would have seen http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.10 .


----------



## KRKeegan

Version 164 is up.

Changes:
- No longer limited to a 6gig transfer. File sizes are now estimated with extra buffer. This should stop TiVo unnecessarily deleting programs early to make room for a 6gig file everytime.

- Ratio stretch. Files that are nearly 4:3 or 16:9 will be stretched to those aspects. I noticed many bittorrent videos are slightly off because the videos have been cropped.

- Left and Right padding. While rare there was no ability to view a video that had a lower ratio than 4:3. This is now enabled and will add black bars to the left and right side of the screen.

Enjoy


----------



## ocntscha

So do I really need python 2.4 for this? I've got 2.3.4 which is the latest availalble to me via my yum repositories. (Not much going on in the Tivo.Net thread, I think Pipakin overdosed on Benadryl, figured I'd wander into here) Congratulations on snooping out how to do the graceful transfer terminations.


----------



## KRKeegan

ocntscha said:


> So do I really need python 2.4 for this?


oops sorry, the interpreter line should read python not python2.4. This is a holdover from when I was converting this from a windows to a linux script.

Umm you probably only need 2.3 but I am not sure. The only limitation is getting the imports to work. Namely cheetah. Sorry I dont specifically know the requirements. Tinker with it and let me know.

Kevin


----------



## windracer

ocntscha said:


> (Not much going on in the Tivo.Net thread, I think Pipakin overdosed on Benadryl, figured I'd wander into here)


I'm in here too. 

Giving it a try ... took a long time for the NPL to populate. At first I thought it wasn't working but eventually it came up. Now to actually try a transfer ...


----------



## KRKeegan

Sorry everyone in my rush to merge in my own modifications I missed a correction i had made to the original code. You may have inadvertantly been getting some very narrow video. Sorry that should be fixed now in version 165.


----------



## KRKeegan

windracer said:


> took a long time for the NPL to populate.


Yeah pyTivo checks for ffmpeg compatibility the first time it opens a folder, it is then cached so it should be fast. TiVo.Net checks for compatibility when it loads. I can't decide what is preferable.


----------



## armooo

ocntscha said:


> So do I really need python 2.4 for this?


You are going to need python 2.4. I am using the subprocess module which was introduced in 2.4.


----------



## armooo

I prefer the scanning the first time a folder is opened for a few a few reasons.

1) Ever time you start your computer do you want to to scan all your files?

2) Do you want to keep the status of every file in memory? Right now it will only keep the 100 most recently seen.

3) Finding an item in the tivo menu gets painful when there are more the 40 items. I just opened a folder with 60 videos and it took about 5 sec. And I sort my videos in to folders and sub folder so I never have more than 22 in a folder.


----------



## dlfl

Hmmm..... Doesn't seem to work 

Using Windows XP SP2. Tivo.Net and Desktop and goback all work fine on this machine. Downloaded and installed Python 2.5 and pyTivo Ver. 165. No pyTivo ("video" ??) shows up on the NPL.

Here is my .conf file:

[Server]
port=9032
ffmpeg=C:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe

[<Name of Share>]
type=video
path=C:\Video\pyTivoVideos

I don't use Windows firewall. I have a hub but it isn't keeping tivo.net from running. I get the "Cheetah" warning at startup but that's not supposed to be a problem per prior posts.

Is the desktop TiVo server supposed to be running or not?

Any ideas, please ?

EDIT:
Realized I needed to put a name in instead of <Name of Share> and that got it working to the point of showing up on the NPL.

However the first two files I tried to transfer failed with ffmpeg errors. Here is an example of pyTivo response for one of them:

192.168.0.153 - - [03/Mar/2007 10:17:54] "GET /pyTivoShare/CleeseMartinOutTowner
s.mp4 HTTP/1.1" 200 -
ffmpeg version 0.4.9-pre1, build 4747, Copyright (c) 2000-2004 Fabrice Bellard
configuration: --enable-memalign-hack --enable-mingw32 --enable-mp3lame --ena
ble-gpl --enable-a52
built on Mar 21 2005 16:41:12, gcc: 3.4.2 (mingw-special)
Input #0, mov,mp4,m4a,3gp,3g2, from 'C:\Video\pyTivoVideos/CleeseMartinOutTowner
s.mp4':
Duration: 00:03:52.8, start: 0.000000, bitrate: 596 kb/s
Stream #0.0 Id: 1: Video: h264, 320x240, 29.97 fps
Stream #0.1 Id: 2: Audio: 0x6134706d, 48000 Hz, stereo
Output #0, vob, to 'pipe:':
Stream #0.0 Id: 0: Video: mpeg2video, 720x480, 29.97 fps, q=2-31, 4096 kb/s

Stream #0.1 Id: 1: Audio: mp2, 48000 Hz, stereo, 192 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Unsupported codec (id=86018) for input stream #0.1

Can't imagine it would actually fail on mp2 audio 

The other file was a .wmv file and it complained about top crop or something like that. Both files transfer OK with Tivo.Net.

Seems like a pretty old build of ffmpeg (??). The one that comes with Tivo.Net is about twice the file size (??)

Hah !! Substituted the ffmpeg_mp2.exe that comes with Tivo.Net and it worked, although the video was blocky compared to transfering with Tivo.Net. Looks like the encoding bitrate is too low -- any way to adjust that?


----------



## ocntscha

armooo said:


> You are going to need python 2.4.


Doh! Ok, I'll check into making that happen. I did try it with Python 2.3.4 though, it seemed to at least start up but never showed in my NPL. I fired up tcpdump and it appears pyTivo is broadcasting out my public ip address and not the LAN one. I had the exact same problem with Tivo.Net until Pipakin addeded the option of picking which ip address to bind to.


----------



## windracer

I originally had Python 2.3 on my Mandrake box and pyTiVo wouldn't run either, so I upgraded to 2.5.


----------



## KRKeegan

dlfl said:


> Hah !! Substituted the ffmpeg_mp2.exe that comes with Tivo.Net and it worked, although the video was blocky compared to transfering with Tivo.Net. Looks like the encoding bitrate is too low -- any way to adjust that?


Hmm okay let me check out *Pipakin's* windows ffmpeg binary. If it is an updated version we can replace ours.

Choppy video?? Hmm i don't have a setting to change the bit rate, but I would be surprised if that was the issue. Currently the bit rates are hard coded at 4096kbits/second video and 192kbits/second audio.

I will look into adding this as an option the config file.



ocntscha said:


> I fired up tcpdump and it appears pyTivo is broadcasting out my public ip address and not the LAN one.


Hmm okay, let me see if I can add an ip as an option in the config file

*Feature Request*
Ok so it would be nice to add metadata. But I don't know what is the best way to handle this:
1. I would love to use embedded data in the video file itself such as RIFF data. This would be ideal, any changes to the file would not destroy the metadata. However I dont think there is a good python module for doing this without requiring a major install.

2. Central DB. This is still very clean, but changing the name or moving an video files would delete the metadata. Additionally the loss or damage to the main DB would mean the loss of ALL data.

3. Individual files. Messy ugly and prone to create excess files. Not really an option.

Let me know what you think


----------



## Ron667

I believe that the newer version of ffmpeg that is packaged with Tivo.net changed the way the bitrate was defined. In the old version, you specified in kbytes, in the new version you specify in bytes. I seem to remember when Pipakin switched over and had this same problem of the resolution suddenly going through the floor.

Sorry I don't have a link to that post in the other thread.


----------



## dlfl

Ron667 said:


> I believe that the newer version of ffmpeg that is packaged with Tivo.net changed the way the bitrate was defined. In the old version, you specified in kbytes, in the new version you specify in bytes. I seem to remember when Pipakin switched over and had this same problem of the resolution suddenly going through the floor.
> 
> Sorry I don't have a link to that post in the other thread.


Yep, in the newer version you have to use "4000k" instead of "4000" (for example). I'm going to look at transcode .py to see if there is an obvious place to insert the 'k'.

Edit:
Found it, line 23 of transcode.py:
cmd = [FFMPEG, '-i', inFile, '-vcodec', 'mpeg2video', '-r', '29.97', '-b', '4096K'] + select_aspect(inFile) + ['-comment', 'pyTivo.py', '-ac', '2', '-ab', '192', '-f', 'vob', '-' ]

Note the 'k' added to 4096.

*This worked fine for my .mp4 (H264 video, mp2 audio) file.*

Thus just copy a better version of ffmpeg_mp2.exe (e.g., the one that comes with Tivo.Net) in to replace the original, and make this simple edit to transcode.py and you are in business. (Warning: have not tried it as a service yet.)


----------



## KRKeegan

dlfl said:


> Thus just copy a better version of ffmpeg_mp2.exe (e.g., the one that comes with Tivo.Net) in to replace the original, and make this simple edit to transcode.py and you are in business.


Yup that will do it, and it won't have any bad effects when running as a service.

_Edit_ Ok adding K to the older version of ffmpeg has no negative effects. So I will change this in the release tonight. Other things in the list for tonights release: One final tweak to the transfer error.


----------



## dlfl

I'm having trouble with several files I transfer that are 1 to 5 minutes long. They transfer and view fine and ask if you want to save them. However when you try to play them from the NPL they cannot be played and it says TiVo was unable to record them perhaps because the signal was lost. (I sse this sometimes with TiVo.Net too)

Here is an excerpt from the pyTivo command window:

frame= 8997 q=1.6 Lsize= 118824kB time=300.2 bitrate=3242.9kbits/s
video:110261kB audio:7038kB global headers:0kB muxing overhead 1.300029%
192.168.0.153 - - [03/Mar/2007 21:59:56] "GET /pyTivoShare/CivWarPhotogNorth5min
Fix.wmv HTTP/1.1" 206 -
192.168.0.153 - - [03/Mar/2007 22:01:16] "GET /TiVoConnect?Command=QueryContaine
r&Container=pyTivoShare&Recurse=Yes&SortOrder=!CaptureDate&ItemCount=8&Filter=x-
tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video
%2F* HTTP/1.1" 200 -

This excerpt starts with the final 2 output lines from ffmpeg when it finished encoding. The time it gives is exactly correct for the clip. Notice the "GET ....... 206" that comes next. Is that a clue as to the problem?

Also, you posted on the Tivo.Net thread that the solution to end of transfer involved sending TiVo a 206 with certain headers. I don't see those headers in the GET....206 command, but I don't know if they should be visible there.

You may notice the bitrate is well below 4096k. That's partly because I had changed it to 3072k in transcode.py as an experiment to see how it affected this problem. The behavior was the same when it was at 4096k. The WMV file I'm transfering is highly compressed to around 600 kbps, and I don't think ffmpeg can meet the high bitrate targets. (Perhaps that is part of the problem?)


----------



## dsandor

When I post this url from a browser on the pyTivo machine I get this error:

h.t.t.p:./. / 127.0.0.1:9032 /TiVoConnect?Command=QueryContainer&Container=Video

generates:

C:\Program Files (x86)\pyTivo\Cheetah\Compiler.py:1508: UserWarning:
You don't have the C version of NameMapper installed! I'm disabling Cheetah's useStackFrames option
as it is painfully slow with the Python version of NameMapper. You should get a copy of Cheetah with
the compiled C version of NameMapper.
"\nYou don't have the C version of NameMapper installed! "
stewie - - [03/Mar/2007 22:56:33] "GET / H.T.T.P/1.1" 200 -
stewie - - [03/Mar/2007 22:56:33] "GET /favicon.ico H.T.T.P./1.1" 200 -
192.168.210.234 - - [03/Mar/2007 22:56:40] "GET /TiVoConnect?Command=QueryContainer&Container=%2F H.T.T.P/1.0" 200 -
----------------------------------------
Exception happened during processing of request from ('192.168.210.234', 2381)
Traceback (most recent call last):
File "C:\Program Files (x86)\Python\lib\SocketServer.py", line 463, in process_request_thread
self.finish_request(request, client_address)
File "C:\Program Files (x86)\Python\lib\SocketServer.py", line 254, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Program Files (x86)\Python\lib\SocketServer.py", line 521, in __init__
self.handle()
File "C:\Program Files (x86)\Python\lib\BaseH.T.TPServer.py", line 316, in handle
self.handle_one_request()
File "C:\Program Files (x86)\Python\lib\BaseH.T.TPServer.py", line 310, in handle_one_request
method()
File "C:\Program Files (x86)\pyTivo\h.t.tpserver.py", line 49, in do_GET
self.RootContiner()
File "C:\Program Files (x86)\pyTivo\h.t.tpserver.py", line 73, in RootContiner
self.wfile.write(t)
File "C:\Program Files (x86)\Python\lib\socket.py", line 261, in write
self.flush()
File "C:\Program Files (x86)\Python\lib\socket.py", line 248, in flush
self._sock.sendall(buffer)
error: (10053, 'Software caused connection abort')
----------------------------------------
192.168.210.234 - - [03/Mar/2007 22:57:39] "GET /TiVoConnect?Command=QueryContainer&Container=%2F H.T.T.P/1.0" 200 -
192.168.210.234 - - [03/Mar/2007 22:58:39] "GET /TiVoConnect?Command=QueryContainer&Container=%2F H.T.T.P/1.0" 200 -
192.168.210.234 - - [03/Mar/2007 22:59:39] "GET /TiVoConnect?Command=QueryContainer&Container=%2F H.T.T.P/1.0" 200 -


----------



## KRKeegan

dlfl said:


> I'm having trouble with several files I transfer that are 1 to 5 minutes long. They transfer and view fine and ask if you want to save them. However when you try to play them from the NPL they cannot be played and it says TiVo was unable to record them perhaps because the signal was lost.


Hmm I not sure what is causing this. But I noticed that Desktop sent 3 hexcodes at the end of a transfer. Adding this seems to help, I think maybe they mean end of file??

Anyways try the new version, I hope that it will solve your problem.


dlfl said:


> Notice the "GET ....... 206" that comes next. Is that a clue as to the problem?


Nope that is exactly how it should work. The "GET" command comes from TiVo requesting more of the file that isnt there. The 206 is our response back to TiVo the headers are sent but not printed in the output.



dlfl said:


> I don't think ffmpeg can meet the high bitrate targets. (Perhaps that is part of the problem?)


Hmm, i am not sure what you mean here. ffmpeg handles fine for me at 4096K. I am able to transcode about 30% faster than realtime. But this is on linux and using a 2.8GHz processor. Lower bitrates should run better on slower machines.

*NEW VERSION*
Just minor changes:
- Added some final code to end transfers properly
- Changed code to allow for use of newer version of ffmpeg

I didn't switch to pipakin's ffmpeg because it is pretty large. In fact I think we should pull ffmpeg out of the distro so people dont have to download it for every new version. Armooo what do you think?


----------



## KRKeegan

dsander, could you describe to me more of your problem.

First is pyTivo working at all?? What XML comes up when you use this URL

:9032/TiVoConnect?Command=QueryContainer&Container=

And we will work from there


----------



## dlfl

Three WMV files (1, 2.5 and 5 mins long) that would transfer but not play later from the NPL using 165 now both transfer and play later OK with 166.

Thanks KRKeegan and Armooo :up: 

The only slight glitch was at the end of transfering the 1 min clip. It stopped and gave the wait-and-hit-play message. I had to do that several times, taking perhaps 20 seconds before it finished up in a normal way. This is not a result of slow video serving from my PC -- it was well ahead of real-time at all times during the transfer. It must be a file-length issue, I would think.

@KRKeegan:
I'll try to clarify what I was trying to say before. Normally with a 4096k bitrate specified, ffmpeg will encode at that rate plus a few 100 kbps for the audio. However for very low bitrate input files (such as my WMV's) it can't see its way clear to do this and ends up encoding with a smaller bitrate. I assume you are basing the file length estimates you send to TiVo on the specified bitrate, but the lower actual rate results in a smaller actual file size. It would be plausible to me for this to make end-of-transfer problems more likely. (???)

I am still using the ffmpeg from TiVo.Net just FYI.

I notice a delayed response to clicks when doing things in the pyTivo section of the NPL and it looks like messages are occuring about every ten seconds in the pyTivo command window. Is this timing set by pyTivo or by the TiVo itself?

Looking good so far -- thanks again


----------



## Zothar

Great program guys. I had to do a few tweaks to get things to work for me and I hope they're useful for others as well.

For one video, which as 720x304 IIRC, the select_aspect_ratio() function was coming up with negative padding values, which my ffmpeg complains about. The changes are in svn diff format in the attached aspect_ratio_change patch file.

My ffmpeg's output is formatted slightly differently, so I made a change so both the old and new formats should work. The changes are in svn diff format in the attached ffmpeg_change patch file.

I've noticed that ffmpeg seems to be called several times to get various bits of info about the video file before transcoding. I'm thinking about making a generalized file info mechanism using the LRU caching mechanism, but haven't coded it up yet as it'll be a refactor compared to the above mentioned changes.

BTW, setting the svn:eol-style property to "native" on the various files in Subversion would make things easier for me and perhaps others since I'm on a Debian Linux box and it appears others may be using Windows.


----------



## Jabo4

Cool great updates. Couple questions/issues.
1. I know you said you weren't sure which method you liked on scanning the files, I much prefer populating that list as fast as possible on the tv as opposed to the current way. Is there a way to put both methods in code and give us a setting for that?

2. Windows service still doesn't work, I am unfamiliar with Python so I have no clue how to "run" that without just clicking on it. The screen pops by too fast to read the error. It is in my services, but it just doesn't start properly. How can I get this error logged so I can get a better look at what might be causing it?

But thanks! the transfers are working flawlessly for me since the updates as well.


----------



## KRKeegan

dlfl said:


> The only slight glitch was at the end of transfering the 1 min clip. It stopped and gave the wait-and-hit-play message. I had to do that several times, taking perhaps 20 seconds before it finished up in a normal way.


Yeah this is a function of how TiVo requests the file. The process works like this.
1. TiVo asks for the information about a video
2. pyTivo sends back a file size that is as large as the file could possibly be (Example 1Gig)
3. TiVo sends a get request for the Video
4. pyTivo streams the video as it transcodes
5. Stream abrubtly ends at the end of the video (Example 800MB)
NOTE: At this point TiVo is still expecting another 200MB
6. TiVo waits thinking that network traffic has slowed down the packets, TiVo seems to wait 30 seconds or so.
7. TiVo then requests the file again asking for the last 200MB
8. pyTivo responds with a 206 which tells TiVo that the file has ended and sends a short bit of code which I believe equals and End of File line.

The problem occurs in steps 6-8. Until TiVo receives the 206 response it leaves the file open expecting more to come. I don't think I can force TiVo to respond any faster. And I dont think i can just send the 206 until TiVo requests it. As for bad estimations in the file size. They dont really matter, too large just clears more space than necessary but it doesnt affect the delay at all in steps 6-8. Too small clearly would cause the video to end prematurely, so I would rather err on the much to large side than be super accurate.

I think for very short files we may always have small problems trying to play them live. I will look into this but since playing files 1 minute in length is rare I won't consider it critical.



dlfl said:


> I notice a delayed response to clicks when doing things in the pyTivo section of the NPL and it looks like messages are occuring about every ten seconds in the pyTivo command window. Is this timing set by pyTivo or by the TiVo itself?


Hmm, the TiVo UI is a little slow, but 10 seconds sounds excessive. 10 seconds may occur the first time you load a folder after starting pyTivo. But if you exit the NPL and come back that folder should load in seconds because the info is in the cache the second time.



Zothar said:


> For one video, which as 720x304 IIRC, the select_aspect_ratio() function was coming up with negative padding values, which my ffmpeg complains about. The changes are in svn diff format in the attached aspect_ratio_change patch file.


Oops I thought I fixed all of these issues. Thanks for the help



Zothar said:


> My ffmpeg's output is formatted slightly differently, so I made a change so both the old and new formats should work. The changes are in svn diff format in the attached ffmpeg_change patch file.


Again thanks for the help.



Zothar said:


> I've noticed that ffmpeg seems to be called several times to get various bits of info about the video file before transcoding. I'm thinking about making a generalized file info mechanism using the LRU caching mechanism, but haven't coded it up yet as it'll be a refactor compared to the above mentioned changes.


Hmm, I think(??) that ffmpeg is only called at most twice per file. Once to get the video info(Size, Duration, Type) which is then cached in LRU. And a second time to transcode the file. If there are places where it is calling ffmpeg unnecessarily please let me know, but I think we caught them all.



Zothar said:


> BTW, setting the svn:eol-style property to "native" on the various files in Subversion would make things easier for me and perhaps others since I'm on a Debian Linux box and it appears others may be using Windows.


I not in charge of SVN, and I dont even know what that is so maybe armooo can fix that for you.

As for your updates, since they are not critical I will toss them into a cumulative update tonight.


----------



## KRKeegan

teehee, you snuck in there while I was writing my previous message.


Jabo4 said:


> Cool great updates. Couple questions/issues.
> 1. I know you said you weren't sure which method you liked on scanning the files, I much prefer populating that list as fast as possible on the tv as opposed to the current way. Is there a way to put both methods in code and give us a setting for that?


Yeah I was thinking about that too. I think this is doable.



Jabo4 said:


> 2. Windows service still doesn't work, I am unfamiliar with Python so I have no clue how to "run" that without just clicking on it. The screen pops by too fast to read the error. It is in my services, but it just doesn't start properly. How can I get this error logged so I can get a better look at what might be causing it?


Hmm, the windows service has been armooo's teritory.

But to run it so you can see the errors:
1. Start->Run
2. Type "cmd"
3. browse to the folder where pyTivo is located. For example "cd c:\program files\pytivo"
4. Type "pyTivoService.py"

That will run the service in the command window, all errors will be displayed there. If you need to end a python program it can be accomplished by presseing CTRL-BREAK


----------



## dlfl

I just transfered a 5 minute .mpg clip that was edited from a TiVo recording using VideoReDo. I thought it should have transfered without re-encoding, as stated in the first post of this thread:


> It will not transcode an mpeg that is in a format supported by tivos


However, not only did it start re-encoding, but the aspect ratio on the TV was wrong (corresponding to the 480x480 format of the file). 

This same clip will go back using TiVo go back and plays with the correct AR. The VideoReDo info says the display resolution is 720x480 (but encoding resolution is 480x480), as it does for all TiVo recordings or edited versions thereof.


----------



## Zothar

KRKeegan said:


> Hmm, I think(??) that ffmpeg is only called at most twice per file. Once to get the video info(Size, Duration, Type) which is then cached in LRU. And a second time to transcode the file. If there are places where it is calling ffmpeg unnecessarily please let me know, but I think we caught them all.


Here are the lines where I see it:


Code:


46:    type, width, height, fps, millisecs =  video_info(inFile)
110:    type, width, height, fps, millisecs =  video_info(inFile)
144:    if video_info(inFile)[0]:
145:        return video_info(inFile)[4]

For video, the only use of LRU that I see currently is in video.py to keep the playable or not boolean. video_info() itself should probably do an LRU internally, which would keep the other code simple.


----------



## Jabo4

Yea I'm not sure what's up with the service. It just spits out the usage stuff when I run it. I can try start/stop install/update/remove w/e it just does nothing. Not a big deal I may write a service myself in .net to accomplish it. Thanks for all the hard work!


----------



## KRKeegan

dlfl said:


> However, not only did it start re-encoding, but the aspect ratio on the TV was wrong (corresponding to the 480x480 format of the file).


Hmm, I am trying to reproduce this. I have a TiVo file that is 352x480 and it worked properly.

Can you tell me the following details about the video:
Type: I am assuming mpeg2video, but just confirm for me
FPS
Dimensions

And I will try and figure out what is going on.

Kevin


----------



## dlfl

KRKeegan said:


> Hmm, I am trying to reproduce this. I have a TiVo file that is 352x480 and it worked properly.
> 
> Can you tell me the following details about the video:
> Type: I am assuming mpeg2video, but just confirm for me
> FPS
> Dimensions
> 
> And I will try and figure out what is going on.
> 
> Kevin


Here is what mediaInfo says:



> General #0
> Complete name : C:\Video\CleeseMartinOutTowners.mpg
> Format : MPEG-2 Program
> Format/Family : MPEG-2
> File size : 166 MiB
> PlayTime : 3mn 52s
> Bit rate : 5970 Kbps
> 
> Video #0
> Codec : MPEG-2 Video
> Codec profile : [email protected]
> Codec settings/Matri : Custom
> PlayTime : 3mn 52s
> Bit rate : 9000 Kbps
> Bit rate mode : CBR
> Width : 480 pixels
> Height : 480 pixels
> Aspect ratio : 4/3
> Frame rate : 29.970 fps
> Standard : NTSC
> Chroma : 4:2:0
> Interlacement : Interlaced
> Bits/(Pixel*Frame) : 1.303
> 
> Audio #0
> Codec : MPEG-1 Audio layer 2
> PlayTime : 3mn 52s
> Bit rate : 192 Kbps
> Bit rate mode : CBR
> Channel(s) : 2 channels
> Sampling rate : 48 KHz
> Resolution : 16 bits


This was edited out of a Best-Quality TiVo recording using VideoReDo. I'm pretty sure these specs are exactly those of the original TiVo file. VideoReDo does no re-encoding -- ever.

If you load a file in VideoReDo it will tell you specs too:


> File Name: C:\Video\CleeseMartinOutTowners.mpg
> File Size: 173688836 ( 0.16 GB )
> Program Duration: 00:03:52.21
> File Type: PS - MPEG2
> Encoding: MPEG 2
> Video stream Id: xE0
> Encoding Dimensions: 480 x 480
> Display Size: 480 x 480
> Aspect Ratio: 4/3
> Frame Rate: 29.97 FPS
> Bit Rate: 9.000 Mbps
> VBV_Buffer: 224 KB
> Profile: Main/Main
> Progressive: Prog or Int
> Chroma: 4:2:0
> Audio Format: Layer 2
> Audio Stream Id: xC0
> Audio Bit Rate: 192 Kbps
> Audio Sampling Rate: 48000 Hz


For the original TiVo recording you get exactly the same thing except the name and duration are different (expected) but also the Display Size is 720x480. However the mpeg2 plays with correct AR in WMP11 and when transfered to the TiVo via TiVo go back.

Actually, I remember having this same aspect ratio problem initially with TiVo.net (which always re-encodes even TiVo compliant mpeg2's as you know). It was in response to this that Pipakin added the two choices for aspect ratio. I think if you can keep it from re-encoding the problem might vanish. I'm wondering if the "Display Dimensions" are being reported by ffmpeg to pyTivo and since they are not 720x480 pyTivo thinks it needs to be re-encoded? This could be a difference between versions of ffmpeg -- I'm using the one that comes with TiVo.net.


----------



## dlfl

I've tested with a short DivX file and a 1.5 hour AVI (XVID + mp3). No end-of-file problems.

Score one for Zothar's aspect ratio patch, however. The AVI file was a 320x192 and without the patch it would not encode, throwing a top crop error (IIRC). With the patch it encoded fine. It ended up stretched about 9% vertically, but this probably would not be noticed by most viewers. I determined this by measuring a stop sign in one scene on the TV screen. When transfered with TiVo.net (with the correct aspect ratio choice) it was compressed vertically by about 4% -- I'm not sure my TV is any better than that.


----------



## KRKeegan

Ok sorry folks I am dead tired tonight. I was up at 4:30 for a bike tour before the marathon here in LA.

*Zothar* Alright I will agree to the bad algebra in the vertical padding. But I double checked the horizontal and I think I have that one correct. I don't know look at them both again and let me know. It has been a long time since I had algebra.

*Update*
Other than fixing that minor bug. I didn't do anything else tonight. *dlfl* I will do my best to figure out why ffmpeg is still transcoding a TiVo file. *Zothar* I tried to move LRUcache from video.py to transcode.video_info(), but it just gave me a headache and I think I am too tired to think properly. *Jabo4* Once I move the cache to it's new location I think I can create a quick extra file that can optionally be spawned at start to query all files.

So maintenance update tonight, nothing big. Have a good night all.


----------



## dlfl

@KRKeegan
Sleep well, oh good and faithful servant!


----------



## dlfl

KRKeegan said:


> ...... *dlfl* I will do my best to figure out why ffmpeg is still transcoding a TiVo file. .....


Since I am using a different ffmpeg, it could be as simple as using Zothar's ffmpeg patch, or a similar problem related to the way ffmpeg reports file specs. I haven't looked at the patch yet.


----------



## KRKeegan

dlfl said:


> Since I am using a different ffmpeg, it could be as simple as using Zothar's ffmpeg patch, or a similar problem related to the way ffmpeg reports file specs. I haven't looked at the patch yet.


The patch is in 167, but i dont think that is your problem. pyTivo determines by a list if a file is compatible. The only thing I can think of is that the dimensions are not in the list.


----------



## dlfl

KRKeegan said:


> The patch is in 167, but i dont think that is your problem. pyTivo determines by a list if a file is compatible. The only thing I can think of is that the dimensions are not in the list.


The 480x480 is already in the table. However the format of the line returned from ffmpeg is different for the one I'm using and it messes up the return from video_info().

pyTivo-supplied ffmpeg:


> Stream #0.0 Id: 1e0: Video: mpeg2video, 480x480, 29.97 fps, 9000 kb/s


ffmpeg I'm using:


> Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 480x480, 9000 kb/s, 29.97 fps(r)


I changed transcode.py as follows:


Code:


    rezre = re.compile(r'.*Video: (.+), (.+), (\d+)x(\d+), (.+), (.+) fps.*')
    m = rezre.search(output)
    if m:
        millisecs = ((int(d.group(1))*3600) + (int(d.group(2))*60) + int(d.group(3)))*1000 + (int(d.group(4))*100)
        return m.group(1), int(m.group(3)), int(m.group(4)), m.group(6), millisecs

and it returned the correct info. Then a TiVo-compatible mpeg transfered without re-encoding and played with the correct aspect ratio.

However there was still a problem. The clip was 3 min 52 sec long and it stopped transfering at about 80% and the following error message appeared in the pyTivo command window:



> mpeg2video 480 480 29.97 232300
> ----------------------------------------
> Exception happened during processing of request from ('192.168.0.153', 1445)
> Traceback (most recent call last):
> File "C:\Python25\lib\SocketServer.py", line 463, in process_request_thread
> self.finish_request(request, client_address)
> File "C:\Python25\lib\SocketServer.py", line 254, in finish_request
> self.RequestHandlerClass(request, client_address, self)
> File "C:\Python25\lib\SocketServer.py", line 521, in __init__
> self.handle()
> File "C:\Python25\lib\BaseHTTPServer.py", line 316, in handle
> self.handle_one_request()
> File "C:\Python25\lib\BaseHTTPServer.py", line 310, in handle_one_request
> method()
> File "C:\Program Files\pyTivo167\httpserver.py", line 31, in do_GET
> plugin.SendFile(self, container, name)
> File "C:\Program Files\pyTivo167\plugins\video\video.py", line 34, in SendFile
> 
> transcode.output_video(container['path'] + path[len(name)+1:], handler.wfile
> )
> File "C:\Program Files\pyTivo167\plugins\video\transcode.py", line 27, in outp
> ut_video
> shutil.copyfileobj(f, outFile)
> File "C:\Python25\lib\shutil.py", line 24, in copyfileobj
> fdst.write(buf)
> File "C:\Python25\lib\socket.py", line 261, in write
> self.flush()
> File "C:\Python25\lib\socket.py", line 248, in flush
> self._sock.sendall(buffer)
> error: (10054, 'Connection reset by peer')
> ----------------------------------------


Note the first line was not part of the error message -- I just added a print statement in tivo_compatable() to indicate what info was being parsed from ffmpeg. Note the millisecs value is correct for the clip duration.

I repeated the transfer just to verify it did exactly the same thing. The part that transfers before the error does stay in the NPL and can be played.

I can't help suspecting this error is a result of underestimating the file size (???).

EDIT:
It was the estimate, I think.
I modified video.py as follows:


Code:


        def est_size(file):
	    #Size is estimated by taking audio and video bit rate adding 2%
	    return int((duration(file)/1000)*((6200 * 1.02 * 1000)/8))

(i.e., substituting 6200 for the 4288 that was there).
The entire file transfered -- after a short while the 206 response was sent, and all was well.

This was done because this clip was recorded at TiVo Best Quality which is around 5800 kbps. Of course this is just a test hack and probably shouldn't be left that way -- it overestimates re-encoded files by way too much. There needs to be a more accurate file size estimate for TiVo-compatible files, right ?


----------



## dlfl

I've modified video.py and transcode.py (from Version 167) with two goals in mind:

1. Adjust estimated file size properly for TiVo-compatible mpeg2 files that will be transfered without re-encoding. The actual bitrate reported by ffmpeg is used in the estimated size computation for those files. (For re-encoded files the already existing computation continues to be used.) Without this fix, a mpeg with bitrate of around 6000 kbps (e.g., TiVo Best Quality) would not transfer completely, and lower bitrate files (e.g., TiVo Medium Quality) would have greatly overestimated file sizes.

2. Make the video_info() function, which parses the data reported by ffmpeg, more robust to variations of format due to either ffmpeg version used or type of file. This has been tested on the pyTivo-distributed ffmpeg and on the TiVo.Net ffmpeg and on several different files.

Code mods are as follows:

In transcode.py, the tivo_compatable() and video_info() functions were modified as follows:



Code:


def tivo_compatable(inFile):
    suportedModes = [[720, 480], [704, 480], [544, 480], [480, 480], [352, 480]]
    type, width, height, fps, millisecs, bitrate =  video_info(inFile)
    #print type, width, height, fps, millisecs, bitrate

    if not type == 'mpeg2video':
        #print 'Not Tivo Codec'
        return 0

    if not fps == '29.97':
        #print 'Not Tivo fps'
        return 0

    for mode in suportedModes:
        if (mode[0], mode[1]) == (width, height):
            #print 'Is TiVo!'
            return bitrate
        #print 'Not Tivo dimensions'
    return 0

def video_info(inFile):
    cmd = [FFMPEG, '-i', inFile ] 
    ffmpeg = subprocess.Popen(cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE, stdin=subprocess.PIPE)
    output = ffmpeg.stderr.read()
    durre = re.compile(r'.*Duration: (.{2}):(.{2}):(.{2})\.(.), (.+),.*bitrate: (\d+)')
    d = durre.search(output)

    rezre = re.compile(r'.*Video: ([^,]+),.*')
    x = rezre.search(output)
    if x:
        codec = x.group(1)
    else:
        return None, None, None, None, None, None

    rezre = re.compile(r'.*Video: .+, (\d+)x(\d+),.*')
    x = rezre.search(output)
    if x:
        width = int(x.group(1))
        height = int(x.group(2))
    else:
        return None, None, None, None, None, None

    rezre = re.compile(r'.*Video: .+, (.+) fps.*')
    x = rezre.search(output)
    if x:
        fps = x.group(1)
    else:
        return None, None, None, None, None, None

    millisecs = ((int(d.group(1))*3600) + (int(d.group(2))*60) + int(d.group(3)))*1000 + (int(d.group(4))*100)
    return codec, width, height, fps, millisecs, int(d.group(6))

The video_info() function uses separate regular-expression searches for video parameters where a single search was used before. It also returns an additional (6th) parameter, which is the actual bitrate.

The tivo_compatable() function no longer returns True or False. It returns 0 if the file is not TiVo compatible but returns the actual bitrate otherwise.

The select_aspect() function also needed a trivial modification because of the extra parameter returned by video_info ().

In video.py, the est_size() function is modified as follows:


Code:


        def est_size(file):
            full_path = os.path.join(path, file)
            bitrate = transcode.tivo_compatable(full_path)
           #Size is estimated by taking audio and video bit rate adding 2%
            if bitrate > 0:  # Is TiVo compatible mpeg2
              return int((duration(file)/1000)*((bitrate * 1.02 * 1000)/8))
            else:  # Must be re-encoded
	      return int((duration(file)/1000)*((4288 * 1.02 * 1000)/8))

Thus if the file is TiVo compatible, the bitrate returned by tivo_compatable will be greater than zero and it will be used instead of the constant 4288 in the computation.

This tests fine in my limited testing so far but I am definitely not an experienced Python programmer so .......


----------



## dlfl

Verified my code mods (previous post) work with two additional versions of ffmpeg: 7760 and 8047.


----------



## KRKeegan

dlfl said:


> Verified my code mods (previous post) work with two additional versions of ffmpeg: 7760 and 8047.


Sorry I have been busy the past few days.

Thank you for the help though. All of you modifications seem good, except the file size of TiVo Compatible files. There is nothing wrong with it, in fact the way you handled it is very ingenius. However, since we are just sending a whole file the best way to handle this would just be to get the exact file size and use that. This means TiVo doesnt have to get into that whole 206 issue. Not a big deal, but probably the more proper thing to do.

I will add your changes tonight and hopefully change the TiVo compatible file size too.

Thanks for you patience everyone. And you exhaustive testing


----------



## KRKeegan

ok again another minor update to fix some small bugs.

New in this version:
- More versions of ffmpeg output supported
- TiVo compatible files are reported to TiVo as actual size.

Thanks to *dlfl* for the bug testing and solutions.

I made a change to your file size solution though. As previously discussed I report TiVo compatible file sizes as there actual file size. This circumvents any need to get into that whole 206 area. And it is the proper way to transfer a non-transcoded file. Who knows it may prevent issues in the future.

Future planned minor update(maybe tomorrow)
Transfer of .tivo files. Since ffmpeg can't be used to verify correct format we will just have to assume that all ".tivo" files are compatible. A reasonable assumption.

Alright night all.

Kevin


----------



## dlfl

KRKeegan said:


> .......... since we are just sending a whole file the best way to handle this would just be to get the exact file size and use that. ....


Yeah, I thought of that first but being the newbie to Python that I am, I couldn't figure out how to get the file size !  That is obviously the best way.

All I could think of was an fseek, ftell sequence. I'm guessing there is a better way to get the file size.

I don't know what's going on with Pipakin..... I've kind of gotten to like pyTivo anyway. All I do is start it with a shortcut and it's off and running -- actually simpler than TiVo.Net and serves my purposes fine.

I do prefer the ffmpeg that Tivo.Net uses ... I think it's significantly better than the current one. It handles wmv3 video (encoded with WMV9 codec). It is build 7215 and the Windows version is downloadable from  this web page  -- it is the one named ffmpeg-SVN-r7215-static-gpl-win32.zip Of course it is just called ffmpeg.exe in the zip. If you run "ffmpeg -i dud" you get all the build information and it is identical for this one and the TiVo.Net one, including the build date/time right down to the second. I just tested by substituting and it worked fine although I only tested it on one WMV3 video. I've tested the Tivo.Net one on a wide variety of formats.

Glad to see you back "on the job" again.


----------



## dlfl

KRKeegan said:


> ok again another minor update to fix some small bugs.
> 
> New in this version:
> - More versions of ffmpeg output supported
> - TiVo compatible files are reported to TiVo as actual size.
> 
> Thanks to *dlfl* for the bug testing and solutions.
> 
> I made a change to your file size solution though. As previously discussed I report TiVo compatible file sizes as there actual file size. This circumvents any need to get into that whole 206 area. And it is the proper way to transfer a non-transcoded file. Who knows it may prevent issues in the future.
> 
> Future planned minor update(maybe tomorrow)
> Transfer of .tivo files. Since ffmpeg can't be used to verify correct format we will just have to assume that all ".tivo" files are compatible. A reasonable assumption.
> 
> Alright night all.
> 
> Kevin


Just tested 168 on one TiVo compatible and one WMV. Worked fine! I did notice some indenting irregularities in est_size () and corrected them before running. In this case the logic would work the same whether the last return statement was indented or not I think, i.e., whether it was in the else: clause. The first return was only indented 3 spaces (all other indents are 4) and I don't know enough about Python to know how important that might be so just made both indents 4 spaces.

Your plans to handle .tivo sound good. :up:


----------



## sabu

Is there a minimum machine spec required for running pyTivo? 

Will an older, slower machine still work but just have the transfer take longer because the transcoding takes longer or could it be too slow and timeout the process?


----------



## KRKeegan

sabu said:


> Is there a minimum machine spec required for running pyTivo?
> 
> Will an older, slower machine still work but just have the transfer take longer because the transcoding takes longer or could it be too slow and timeout the process?


Exactly, as long as you can run python2.4 and ffmpeg, which is I think just about any machine, you can run pyTivo.

You will however not be able to watch your videos while they stream live however.

It might be nice for people to post their Network, CPU speeds and the rate at which pyTivo is able to transfer an average file??

For example I have a 2.8Ghz processor, running 100Mbps wired ethernet and I can stream an average downloaded TV show at about 125% of real time.


----------



## dlfl

Just subjective because I haven't done any careful measurements, but it seems like pyTivo can transfer at a higher encoding bitrate than TiVo.Net. I have two PC's networked to my TiVo via a router:

1. 3 GHz Pentium 4, hyperthreaded, wired ethernet
2. 2.8 GHz Pentium 4, wireless ethernet
The TiVo is wired to the router.

With TDN, I limited bitrates to 3 kbps on #1 and 2 kbps on #2 in order to transfer slightly greater than real-time. pyTivo always encodes at 4 kbps and it has no trouble keeping ahead of real-time on either PC.

Anyone else get this impression?


----------



## ocntscha

dlfl said:


> Just subjective because I haven't done any careful measurements, but it seems like pyTivo can transfer at a higher encoding bitrate than TiVo.Net. I have two PC's networked to my TiVo via a router:
> 
> 1. 3 GHz Pentium 4, hyperthreaded, wired ethernet
> 2. 2.8 GHz Pentium 4, wireless ethernet
> The TiVo is wired to the router.
> 
> With TDN, I limited bitrates to 3 kbps on #1 and 2 kbps on #2 in order to transfer slightly greater than real-time. pyTivo always encodes at 4 kbps and it has no trouble keeping ahead of real-time on either PC.
> 
> Anyone else get this impression?


Since you asked, I run Tivo.Net on a 2Ghz Athlon XP, Centos Linux. I've settled on leaving ffmpeg configured at 4096/kbs which gives me slightly faster than real time.


----------



## sabu

With a PIII-850 - dual processor (ffmpeg appears to be running single threaded though) and a 100MB ethernet connection, I get a 1 hour show transcoded from Xvid and transferred to the TiVo (unhacked SA Dual Tuner) in about 2.5 hours. I didn't change the bitrate or any of the other settings from the initial installed values.

I had been thinking about putting it on my file server, but I think the PII-333 in that would have to run overnight for a transfer. I may try it just for fun over the weekend.


----------



## dlfl

Tested simple mods to transfer .TiVo files back. They seem to be OK:

Two mods, both in transcode.py:

1. Added two lines at top of tivo_compatable ():



Code:


def tivo_compatable(inFile):
    if (inFile[-5:]).lower() == '.tivo':
        return True

2. Added two lines at top of video_info ():



Code:


def video_info(inFile):
    if (inFile[-5:]).lower() == '.tivo':
        return True, True, True, True, True

Before I added the 2nd mod, there were times when it would scan a folder with a .tivo in it and ffmpeg would take off running and never stop.

This approach doesn't feed TiVo a duration (although it does send the file size) so all it has to display is the duration of the original program from the meta-data, I presume. Thus if the file is a small clip it will not show the true duration in the info display until after it has transfered completely and you look back in the NPL. I don't see this as much of a problem. That's the only difference I could detect compared to transfering with the TiVo beacon.

See what you think --- hope I haven't built in a bug with this.


----------



## KRKeegan

VERSION 171


dlfl said:


> See what you think --- hope I haven't built in a bug with this.


 No issues, you did a great job!

*New Feature*
- Thanks to *dlfl* pyTivo will now transfer TiVo encrypted files as well.

Known Issues:
- While transfering the green play bar at the bottom of the screen will be solid green and the duration will just get longer and longer, instead of the normal thermometer effect. This is because ffmpeg is unable to read these files and cannot determine the duration. But funcationally everything else works great.

*dlfl*
Thanks again for the update, you actually solved a bug that hadn't come up yet. Specifically on windows ffmpeg could get stuck on ".tivo" files. This may also suggest the need to use a mask of known ffmpeg recognized file types. It is possible that there are other file types which could equally cause ffmpeg to hiccup.

Where are versions 169 and 170?
Our ever gracious benefactor, Armooo, went through and fixed my tab mistake for me , thank you! And made an alteration to the music plugin. He is like underwear gnome of coding, secretly fixing bugs in the night.

Step 1: Steal Underwear
Step 2: - - - - - - - 
Step 3: Profit!!


----------



## dlfl

KRKeegan said:


> ........ This may also suggest the need to use a mask of known ffmpeg recognized file types. It is possible that there are other file types which could equally cause ffmpeg to hiccup. ........


What frequency are you tuned to? We must be on the same wavelength ... I had exactly the same thought overnight!


----------



## dlfl

I've tested a code mod to transcode.py based on the following idea:

In video_info(), launch the ffmpeg cmd in the shell (i.e., non-blocking mode). Then wait for a maximum time (e.g., 4 secs) while polling the ffmpeg subprocess to see if it is done. If it isn't done after the max time, kill the subprocess and return None's. If it finishes before the 4 secs, stop waiting and proceed as before.

Here's the modified code:


Code:


    cmd = [FFMPEG, '-i', inFile ] 
    ffmpeg = subprocess.Popen(cmd, shell=True, stderr=subprocess.PIPE, stdout=subprocess.PIPE, stdin=subprocess.PIPE)
    for i in range(80):
        time.sleep(.05)
        if not ffmpeg.poll() == None:
            break
#    print 'ffmpeg time = ', (i*.05), ' for ', inFile
    if ffmpeg.poll() == None:
        if mswindows:
            win32kill(ffmpeg.pid)
        else:
            import os, signal
            os.kill(ffmpeg.pid, signal.SIGKILL)
#        print 'killed ffmpeg'
        return None, None, None, None, None
    output = ffmpeg.stderr.read()
#    print output

Also, an "import time" statement was added near the top of the file.

Note the commented out debug print statements I used while testing.

I learned several things from testing:
1. The times reported for ffmpeg to run averaged about .05 sec.

2. I had one .tivo file that I knew locked up ffmpeg with the old code. So I commented out the code recently added to declare .tivo's OK just based on the file extension. Amazingly, with the new code it didn't lock up ffmpeg -- the kill clause never executed, i.e., just running it in a non-blocking process apparently made that difference. FYI, The output text returned from ffmpeg for this .tivo and another one was: 


> 'C:\Program' is not recognized as an internal or external command, operable program or batch file.


 

3, Since no file was hanging ffmpeg, I had to make sure the polling and kill code actually worked. So I commented out the for loop with the sleep delays in it. Then the ffmpeg process was indeed killled for every file before it could complete, and nothing went onto the pyTivo NPL. I also verified that the info returned for non-Tivo files was still valid, i.e., identical to what it had been with the old code for these same files.

Thus, I think this code is bullet-proof in the sense that the call to ffmpeg to get info cannot hang the program or leave ffmpeg running forever regardless of what "video" file is passed to ffmpeg.

Obviously this needs to be tested on Linux since the changes involve os functions.

Filtering based on file extensions may still make sense and definitely should be done if this mod is not adopted.


----------



## dlfl

I had a mpeg file that I knew should be TiVo-compatible which started re-encoding when transfered. It had been edited with VideoReDo. The ffmpeg version I use (build 7215, same as Tivo.Net) reported the fps as 59.94. However there is a line in the ffmpeg return info something like:
"Appears to be film source: 29.97..."
The proposed patch allows the fps to be corrected back to 29.97 if this line is found.

The patch is a few lines in the video_info() function in transcode.py. I have repeated the existing fps reading code just for context:


Code:


    rezre = re.compile(r'.*Video: .+, (.+) fps.*')
    x = rezre.search(output)
    if x:
        fps = x.group(1)
    else:
        return None, None, None, None, None

    # fps can come back 59.94 on VRD-edited tivo's with ffmpeg build 7215 (TDN version)
    #  but in this case there is a line that includes "...film source: 29.97..."
    if not fps == '29.97':
        rezre = re.compile(r'.*film source: 29.97.*')
        x = rezre.search(output.lower() )
        if x:
            fps = '29.97'

The version of ffmpeg currently being distributed with pyTivo does not have this problem. However the patch does no harm in that case and it helps those of us who might be using the later build (and I continue to hope the later build will become the recommended one).

Oh and BTW, the file in question played fine when transfered without re-encoding.


----------



## ocntscha

I've got pyTivo going on my Linux box now. As I mentioned in a previous post the beacon was being sent out from my WAN ip address so my Tivo would never see it. I enventually came up with a solution, I changed this line in beacon.py

self.UDPSock.sendto(self.format_beacon(), ('255.255.255.255', 2190))

to this..

self.UDPSock.sendto(self.format_beacon(), ('192.168.1.255', 2190))

theorizing if I gave it the broadcast ip address of my LAN it would have to broadcast from the LAN ip address. It worked!

The web server on port 9032 is listening on both my ip addresses and the loop back interface, I'd like to just limit it to the LAN ip but haven't figured out how. Oh well, its listenting on port 9032 of my public ip but thanks to Shorewall/iptables it won't respond to anything coming in off the internet.

Anyhoo, seems pretty cool. Among other things, the biggest advantage it has over Tivo.Net is that new videos are just automatically available. Very nice.

I did have a couple issues with it though, one was a video I got off youtube, a .flv file, ffmpeg would refuse to play it, kept saying bit rate of 192 is not supported for mp2 audio. I knew I could play that in Tivo.net so I "borrowed" Pipakin's settings and got it working. Actually, the one that mattered was -ar 48000, just adding that one parameter to the ffmpeg command line lets the video transcode fine. Had another one, I think the original source was PAL and it was ending up looking horizontally squished so I started playing around with the other stuff like aspect ratio.

So, at the moment I've ended up with pretty much, if not exactly, what Tivo.Net uses.. I changed the ffmpeg line of transcode.py to this, haven't got to test a whole lot but I suspect it will do nicely, particularly since I have done a lot with Tivo.Net and have had fantastic success with it, so here's what I've got right now..

cmd = [FFMPEG, '-i', inFile, '-vcodec', 'mpeg2video', '-r', '29.97', '-b', '4096K', '-aspect', '4:3', '-s', '720x480', '-acodec', 'mp2', '-ar', '48000', '-ac', '2', '-ab', '192', '-f', 'vob', '-' ]


----------



## dlfl

Regarding needing "-ar 48000" in ffmpeg command line:

Yep, I see the same behavior, same solution in the Windows world. Had a few .flv from google/youtube but hadn't tried them with pyTivo until now.

Can't see how this could cause problems for other files (tested only on .wmv so far). The TiVo go back specs don't say anything about audio sampling rate and 48000 is the spec for NTSC DVD.

Perhaps most relevant: *If you load a TiVo recording into VideoReDo and look at the file parameters, the audio sampling rate is .... 48000 Hz.*
The ffmpeg doc says default sampling rate is 44000 without a -ar option. I don't understand WHY this is a problem, but.... there it is.


----------



## dlfl

ocntscha said:


> I've got pyTivo going on my Linux box now. ..........
> ...... seems pretty cool. Among other things, the biggest advantage it has over Tivo.Net is that new videos are just automatically available. Very nice.


AND it transfers .TiVo files and TiVo-compatible MPEG2 files *without re-encoding*....AND one click (shortcut) gets it going ... AND ... it really does handle the end-of-transfer/file-length issue (in a way that has been fool proof in all my testing so far).

Kind of grows on you, doesn't it?


----------



## sabu

sabu said:


> I had been thinking about putting it on my file server, but I think the PII-333 in that would have to run overnight for a transfer. I may try it just for fun over the weekend.


Well, the PII-333 over 100Mbit Ethernet only took 6 hours to transfer a 1 hour 15 minute show. Not as bad as I thought it would be.


----------



## armooo

I added a bunch of the above patches and fixed one bug that should be a large speed up for anyone who's tivo dose not have a domain name. (4.5 sec per request speed up)

pyTivo
- Don't do reverse DNS lookups when logging (adds 4.5 sec to response time)
- Check for Appears to be film source: (\d+) and override fps with it
- Set an audio sample rate
- Caching video info
- Timeout for ffmpeg getting video info


----------



## dlfl

armooo said:


> I added a bunch of the above patches and fixed one bug that should be a large speed up for anyone who's tivo dose not have a domain name. (4.5 sec per request speed up)
> 
> pyTivo
> - Don't do reverse DNS lookups when logging (adds 4.5 sec to response time)
> - Check for Appears to be film source: (\d+) and override fps with it
> - Set an audio sample rate
> - Caching video info
> - Timeout for ffmpeg getting video info


Thanks armooo ! The speedup is very welcome!

Glad to see the upgrade to build 8047 of ffmpeg too.

I think I've learned a python lesson (remember I'm a newbie to this language):
Apparently the blocking after the video_info() call of the ffmpeg subprocess comes from the ffmpeg.stderr.read () statement, *not* from the Popen call.

One slight problem:
"- Check for Appears to be film source: (\d+) and override fps with it" doesn't work with build 8047 -- it returns a different string than 7215, so the "...film source: 29.97" doesn't match anything.

I wonder if trying to chase this around for different builds of ffmpeg is worth it? At least for the file I've been testing with (which is 352x480) the re-encoded version has the correct aspect ratio and looks pretty good.

Also, at least on my python (windows, 2.5) the RE "(\d+)" doesn't match "29.97" because the \d doesn't match the decimal point (or period). I would have to use "(\d+)\.(\d+)" and combine the two groups. Am I missing something?

On this patch (if you decide to keep it), I still prefer gating the whole patch with 
if not fps == '29.97':
because the sole purpose of the patch is to allow a chance to correct the fps to 29.97 if the usual matching returned something else. (Actually I prefer my origiinal patch, which required an explicit 29.97 match for the override.)

If you decide to keep the patch, I will be happy to supply the additional patch to make it work with build 8047 if you would like. The patches are accumulative, i.e., you don't have to remove the one for 7215 when you add the one for 8047.


----------



## ocntscha

armooo said:


> I added a bunch of the above patches and fixed one bug that should be a large speed up for anyone who's tivo dose not have a domain name. (4.5 sec per request speed up)
> 
> pyTivo
> - Don't do reverse DNS lookups when logging (adds 4.5 sec to response time)
> - Check for Appears to be film source: (\d+) and override fps with it
> - Set an audio sample rate
> - Caching video info
> - Timeout for ffmpeg getting video info


You guys rock! Getting every last little gremlin out, I love it.

I haven't actually tried this latest release but I did download and look at it. I see you've now got -ar 44100 in the ffmpeg command line. According to the ffmpeg man page 44100 is the default for that parameter anyway. Changing it to 48000 is what enables youtube .flv files to work for both dlfl and I, he details it pretty thoroughly a few posts back.

Thank you for creating pyTivo and sharing it with us.


----------



## dlfl

ocntscha said:


> You guys rock! Getting every last little gremlin out, I love it.
> 
> I haven't actually tried this latest release but I did download and look at it. I see you've now got -ar 44100 in the ffmpeg command line. According to the ffmpeg man page 44100 is the default for that parameter anyway. Changing it to 48000 is what enables youtube .flv files to work for both dlfl and I, he details it pretty thoroughly a few posts back.
> 
> Thank you for creating pyTivo and sharing it with us.


I noticed this too, but it transcoded one of my .flv files OK with 44.1k. I wonder if the ffmpeg doc is just not correct on this -- or it's something that varies with the many builds. Still -- seems like 48k generally would be prefered since that's what TiVo files have. 

This thing is really getting sweet, isn't it!


----------



## KRKeegan

Sorry I have been neglecting you all. And I am glad to see Armooo is more then happy to pickup the slack.

I only have one concern with the above modifications. And it is a minor one. Setting the timeout on the ffmpeg loop to .05 seconds means that even if a users computer operates faster than .05 seconds he will still be limited by this loop.

Like I said, it is only a minor concern, and probably doesn't affect anyone in any form that is noticable.

Other than that I am very excited about working out all the little bugs.

The one main bug I would still like to fix:
- Moving the LRU cache from video.py to transcode.py into the video_info() block. 
_OOPS: WAHOO Armooo already did this. I guess I should pay attention more. Thanks Armoo_

Future Features:
- After moving the LRU cache to video_info(), add the _option_ to scan all subdirectories on start up for video files.
- Some how add titles and descriptions and maybe other data to the videos.

What is this new dll??
Armooo, what is this new dll in the plugins/video folder?? pthreadcg2.dll??


----------



## dlfl

KRKeegan said:


> .......What is this new dll??
> Armooo, what is this new dll in the plugins/video folder?? pthreadcg2.dll??


From having tried ffmpeg build 8047 previously, I know this dll must accompany it for it to operate. (You find out by trying to run it without the dll in the path and it tells you it can't find that dll!). IIRC, the dll is downloadable from the same site as the ffmpeg build but just up one directory.

Also: I understand your concern about the .05 sec ffmpeg wait.... who knows? It's a judgement call. The computer I tested on is no slouch (3 GHz P4, hyper-threaded) and it was averaging about .05 secs (some zeros, some .1 and an occasional .15). It was probably the cache changes Armooo made that made the difference, but my NPL list is populating MUCH faster than before -- very satisfying!


----------



## dlfl

I'm going to post my proposed changes in transcode.py (starting from ver. 173) to handle the case where a tivo-compatible file has fps reported as 59.94 by ffmpeg, either Build 7215 (Tivo.Net version) or Build 8047 (current pyTivo version).

*In video_info() replace:*


Code:


    rezre = re.compile(r'.*film source: (\d+).*')
    x = rezre.search(output.lower())
    if x:
        fps = x.group(1)

*with:*


Code:


    # fps can come back 59.94 on VRD-edited tivo's with ffmpeg build 7215 (TDN version)
    #  or with build 8047 (latest pyTivo distribution) but in this case there 
    #  is a line that includes "...film source: 29.97..." for build 7215 or 
    #  one that contains "...frame rate differs from container frame rate: 29.97..."
    #  for build 8047.

    # Allow override only if it is mpeg2 and frame rate was doubled to 59.94
    if (not fps == '29.97') and (codec == 'mpeg2video'):
        # First look for the build 7215 version
        rezre = re.compile(r'.*film source: 29.97.*')
        x = rezre.search(output.lower() )
        if x:
            fps = '29.97'
        else:
            # for build 8047:
            rezre = re.compile(r'.*frame rate differs from container frame rate: 29.97.*')
            x = rezre.search(output.lower() )
            if x:
                fps = '29.97'

I'm not trying to force these on anyone and I realize mssrs. KRKeegan and Armooo may prefer to ignore or change them. I just have this strange desire to share. 

Bon appetit!


----------



## dlfl

I posted on the Tivo.Net thread suggesting people having problems with it give pyTivo a try. So far two people (see Posts #1147 and #1151 on that thread) have responded saying they couldn't get pyTivo installed and working. I posted back suggesting they post pyTivo problems on THIS thread since I don't want to hijack the Tivo.Net thread.

BTW, is pyTivo known to work on MAC's ?


----------



## Chew

^ To answer your question from the TiVo.net thread, those three attempts to get it installed (and it failed everytime) occured just this past weekend.

I'll give it another go after work and post exactly where it gets hung up.


----------



## dlfl

Chew said:


> ^ To answer your question from the TiVo.net thread, those three attempts to get it installed (and it failed everytime) occured just this past weekend.
> 
> I'll give it another go after work and post exactly where it gets hung up.


Good deal. If you have problems again, please post your computer specs and a copy of the pyTivo.conf file you used. (If you didn't edit this file, that would explain pyTivo not running. The required edits are very simple however.)

You have to install python version 2.4 or later. (Why not 2.5 ?). To verify installation select the command line version from the start menu and type in something simple like: a = 'hello' and hit the return key.

I've never used the pyTivo windows installer. AFAIK there are no registry mods for pyTivo so using the Windows installer isn't important. There is a .zip file with the same version number. Just put everything in the zip file into a folder of your choice. Edit the pyTivo.conf file. Launch program by double clicking the pyTivo.py file (or a shortcut pointing to it). You may see nothing in the command window that pops up until you look at the NPL in tivo, or you may see a long warning about a Cheetah something or other not being installed -- ignore this warning.

(I've been assuming you are on a Windows system.)


----------



## CheezWiz

OK,

Tivo.net user here (Barely)

Got this up and running via remote desktop during a meeting at work.. hehe
Anyways, is there a FAQ anywhere yet? If not, could we newbies fire off some Q's and get answers and get a FAQ assembled? Ill be glad to do it...


----------



## KRKeegan

CheezWiz said:


> OK,
> 
> Tivo.net user here (Barely)
> 
> Got this up and running via remote desktop during a meeting at work.. hehe
> Anyways, is there a FAQ anywhere yet? If not, could we newbies fire off some Q's and get answers and get a FAQ assembled? Ill be glad to do it...


I would love to have a wiki up and running. I have no problems hosting it on my site, but I don't want to take away from Armooo.


----------



## sabu

I have an xvid file encoded at a resolution of 640x368. When I transfer from a windows box using version 173 of pyTivo/ffmpeg it doesn't look right on the TV. The image is shifted right by almost 1/4 of the screen, and the right side of the video can't be seen. When I look at it on the PC, the title and credits are centered, not off-center like they are on the TiVo.

What can I do to fix the guesstimate it is making for ffmpeg?

Thanks,
Bob

Here is the output from the log if that helps:
FFmpeg version SVN-r8047, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --
enable-liba52 --enable-avisynth --enable-libdts --enable-libfaac --enable-libfaa
d --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libogg --enable-l
ibtheora --enable-libvorbis --enable-x264 --enable-xvid --enable-amr_nb --enable
-amr_wb --cpu=i686 --enable-memalign-hack --extra-ldflags=-static
libavutil version: 49.3.0
libavcodec version: 51.34.0
libavformat version: 51.10.0
built on Feb 21 2007 23:20:24, gcc: 4.3.0 20070126 (experimental)
Input #0, avi, from 'c:\tivo/Torchwood S01E01 Everything Changes.avi':
Duration: 00:50:45.0, start: 0.000000, bitrate: 962 kb/s
Stream #0.0: Video: mpeg4, yuv420p, 640x368, 25.00 fps(r)
Stream #0.1: Audio: mp3, 48000 Hz, stereo, 128 kb/s
Output #0, vob, to 'pipe:':
Stream #0.0: Video: mpeg2video, yuv420p, 720x480, q=2-31, 4096 kb/s, 29.97 fps
(c)
Stream #0.1: Audio: mp2, 44100 Hz, stereo, 192 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1


----------



## sabu

sabu said:


> Well, the PII-333 over 100Mbit Ethernet only took 6 hours to transfer a 1 hour 15 minute show. Not as bad as I thought it would be.


And for the other extreme:

Core2Duo T7200 (2GHz laptop) over 100Mbit Ethernet to Dual Tuner SA: 51 minute show transfered in 17 minutes.


----------



## [email protected]

ok I need a hand here. Got this running in Mac OS X by installing python 2.4. IDLE shows the beacon running but there are no videos showing. If I check 127.0.0.1:9032 I get 


Code:


This is a tivoPY server

if I go here it's blank: http://127.0.0.1:9032/TiVoConnect?Command=QueryContainer&Container=Video

my conf file looks like so:


Code:


[Server]

port=9032

#Full path to ffmpeg including filename

#For windows: ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe

#For linux:   ffmpeg=/usr/bin/ffmpeg

ffmpeg=/pyTivo/ffmpeg



[<TiVoNet>]

type=video

##Full path to your files (No trailing slash needed)

#For windows: path=c:\videos

#For linux:   path=/media

path=/Volumes/HD2/TiVoNet/

it does not look like it is seeing any videos.


----------



## dlfl

[email protected] said:


> ok I need a hand here. Got this running in Mac OS X by installing python 2.4. IDLE shows the beacon running but there are no videos showing. If I check 127.0.0.1:9032 I get
> 
> 
> Code:
> 
> 
> This is a tivoPY server
> 
> if I go here it's blank: http://127.0.0.1:9032/TiVoConnect?Command=QueryContainer&Container=Video
> 
> my conf file looks like so:
> 
> 
> Code:
> 
> 
> [Server]
> 
> port=9032
> 
> #Full path to ffmpeg including filename
> 
> #For windows: ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
> 
> #For linux:   ffmpeg=/usr/bin/ffmpeg
> 
> ffmpeg=/pyTivo/ffmpeg
> 
> 
> 
> [<TiVoNet>]
> 
> type=video
> 
> ##Full path to your files (No trailing slash needed)
> 
> #For windows: path=c:\videos
> 
> #For linux:   path=/media
> 
> path=/Volumes/HD2/TiVoNet/
> 
> it does not look like it is seeing any videos.


Ah I love it when I can correct someone else's mistake, especially when it's *exactly* the same one I made!

Instead of: "[<TiVoNet>]" you need to put in a label or title for this folder and do not enclose it in "<>", e.g., "[Videos-Part1]" (or "[TiVoNet]"). In other words the "<>" seems to be a no-no.

@KRKeegan: Perhaps a helpful hint not to use "<>" here in the distributed .conf file ??


----------



## dlfl

KRKeegan said:


> I would love to have a wiki up and running. I have no problems hosting it on my site, but I don't want to take away from Armooo.


I second (third?) this motion and am willing to contribute.


----------



## dlfl

sabu said:


> I have an xvid file encoded at a resolution of 640x368. When I transfer from a windows box using version 173 of pyTivo/ffmpeg it doesn't look right on the TV. The image is shifted right by almost 1/4 of the screen, and the right side of the video can't be seen. When I look at it on the PC, the title and credits are centered, not off-center like they are on the TiVo.
> 
> What can I do to fix the guesstimate it is making for ffmpeg?
> ........


A simple experiment to see if it might be a problem with Build 8047 of ffmpeg:

Replace ffmpeg_mp2.exe with the version used in TiVo.Net (build 7215). The link you need to download this is given in this prior post  (if you don't already have it via Tivo.Net). The download will be a zip and the only file you need from it is ffmpeg.exe. Either rename it to ffmpeg_mp2.exe (rename the existing ffmpeg_mp2.exe first to save it) or change your pyTivo.conf ffmpeg path.


----------



## CheezWiz

[email protected] said:


> ok I need a hand here. Got this running in Mac OS X by installing python 2.4. IDLE shows the beacon running but there are no videos showing.


Just curious,

Does the Linux version of FFMPEG work with OSX (BSDish/Unix) or did you download an OSX version from somewhere? I have a MacBook I was going to try this out with as well..


----------



## [email protected]

CheezWiz said:


> Just curious,
> 
> Does the Linux version of FFMPEG work with OSX (BSDish/Unix) or did you download an OSX version from somewhere? I have a MacBook I was going to try this out with as well..


I built my own. Or you can download ffmpegX and get contents of the application and borrow it out of there


----------



## dlfl

dlfl said:


> A simple experiment to see if it might be a problem with Build 8047 of ffmpeg:
> 
> Replace ffmpeg_mp2.exe with the version used in TiVo.Net (build 7215). The link you need to download this is given in this prior post  (if you don't already have it via Tivo.Net). The download will be a zip and the only file you need from it is ffmpeg.exe. Either rename it to ffmpeg_mp2.exe (rename the existing ffmpeg_mp2.exe first to save it) or change your pyTivo.conf ffmpeg path.


Just noticed on the tivo.net thread that Build 7215 is an "Alternative FFMPEG download"  I have the latest version of TDN and that is the build that was distributed with it. Anyway this seems to imply that if you have an older version of TDN the ffmpeg build may not be 7215.

Easy way to find the Build number: In a command window logged to the folder containing ffmpeg (or ffmpeg_mp2), just enter "ffmpeg -i dud".


----------



## dlan1000

Hey, 

Is there any chance for adding subtitle support? I watch a lot of foreign films.

Pytivo is really great, btw. Its added new life to my tivo.


----------



## KRKeegan

dlan1000 said:


> Hey,
> 
> Is there any chance for adding subtitle support? I watch a lot of foreign films.
> 
> Pytivo is really great, btw. Its added new life to my tivo.


I am assuming subtitles are in a separate ".srt" file??


----------



## CheezWiz

Well, I am going to start an "Official PyTivo FAQ & Q&A" thread if there are no objections. This thread should be dedicated to development, feature requests and bug reports. I hate how no one around here seems to follow that kind of logic. You end up with one thread 100's of posts in length with peple getting rude saying "If you had read the entire thread..." or refer to post #xxx for the first issue and post #yyy for the other. Seems really idiotic, but seems to happen alot here and on other forums... I dont see how we could be stealing any glory for doing so since the developers rarely have time for documentation..


----------



## dlfl

CheezWiz said:


> Well, I am going to start an "Official PyTivo FAQ & Q&A" thread if there are no objections. This thread should be dedicated to development, feature requests and bug reports. I hate how no one around here seems to follow that kind of logic. You end up with one thread 100's of posts in length with peple getting rude saying "If you had read the entire thread..." or refer to post #xxx for the first issue and post #yyy for the other. Seems really idiotic, but seems to happen alot here and on other forums... I dont see how we could be stealing any glory for doing so since the developers rarely have time for documentation..


I stated in an earlier post that I favored a FAQ and/or Wiki and I applaud your inititiative. However I'm wondering how another thread really serves the purpose? How would it differ from the current thread, which largely covers the same topics you mentioned (development, feature requests and bug reports)?

To me the advantage of an FAQ or Wiki is that the information is condensed, organized and edited by a gatekeeper (or several). I don't see how you can achieve that in a thread (since anyone can post anything, and no gatekeeper can change it). 

Paraphrasing a line in "Ghost Busters", are you a moderator?  (Only a moderator would have the power to make such a thread anything more than just another thread.)


----------



## CheezWiz

dlfl said:


> I stated in an earlier post that I favored a FAQ and/or Wiki and I applaud your inititiative. However I'm wondering how another thread really serves the purpose? How would it differ from the current thread, which largely covers the same topics you mentioned (development, feature requests and bug reports)?
> 
> To me the advantage of an FAQ or Wiki is that the information is condensed, organized and edited by a gatekeeper (or several). I don't see how you can achieve that in a thread (since anyone can post anything, and no gatekeeper can change it).
> 
> Paraphrasing a line in "Ghost Busters", are you a moderator?  (Only a moderator would have the power to make such a thread anything more than just another thread.)


What I am saying is that this thread SHOULD be for development, feature requests and bug reports. The first post of this thread would be edited to point to the QA/FAQ thread for installation/usage issues. The first post of that thread would be regularly updated with reasonable Q & A's as the thread grows. That way, no one needs to span the entire thread looking for answers and this one does not get polluted with senseless garbage. All the relevant Q&A info would be added to the first post of the Q&A thread...

No moderator powers required for this simple task..


----------



## dlfl

CheezWiz said:


> What I am saying is that this thread SHOULD be for development, feature requests and bug reports. The first post of this thread would be edited to point to the QA/FAQ thread for installation/usage issues. The first post of that thread would be regularly updated with reasonable Q & A's as the thread grows. That way, no one needs to span the entire thread looking for answers and this one does not get polluted with senseless garbage. All the relevant Q&A info would be added to the first post of the Q&A thread...
> 
> No moderator powers required for this simple task..


Sorry, I didn't understand you. I'm still not sure this is better than a wiki or something that could be filtered by the developers. You of course would be the sole gatekeeper of your proposed thread which implies quite a responsibility.

KRKeegan has offered to host a wiki. What do you think of that?


----------



## CheezWiz

dlfl said:


> Sorry, I didn't understand you. I'm still not sure this is better than a wiki or something that could be filtered by the developers. You of course would be the sole gatekeeper of your proposed thread which implies quite a responsibility.
> 
> KRKeegan has offered to host a wiki. What do you think of that?


I too agree that it would be a better solution, but that appears to currently be at the sole discretion of the developer.

So we gotta start somewhere, at least the thread would be a launch point for wiki information should that route be approved. It would be a responsibility, but not much work. I am so pleased with how well this is working that I am inspired to contribute what little I can.

Anyone ever considered SourceForge for this? I am assuming that it is still all free? It has message boards that break into the proper categories for this kind of thing. As well as bug and feature request tracking and overall development management. The home page could point to the authors home page and the documentation page could be the wiki..


----------



## KRKeegan

nah, i will start it tonight, give me a few hours.


----------



## armooo

KRKeegan said:


> nah, i will start it tonight, give me a few hours.


I setup Trac at http://pytivo.armooo.net. It has a wiki that is open to the public . So you can start creating loads of documation.


----------



## [email protected]

dlfl said:


> Ah I love it when I can correct someone else's mistake, especially when it's *exactly* the same one I made!
> 
> Instead of: "[<TiVoNet>]" you need to put in a label or title for this folder and do not enclose it in "<>", e.g., "[Videos-Part1]" (or "[TiVoNet]"). In other words the "<>" seems to be a no-no.
> 
> @KRKeegan: Perhaps a helpful hint not to use "<>" here in the distributed .conf file ??


Still no love... changed the conf file to get rid of the trailing slash to the video directory and corrected the <> issue...


Code:


[Server]
port=9032
#Full path to ffmpeg including filename\
#For windows: ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
#For linux:   ffmpeg=/usr/bin/ffmpeg
ffmpeg=/pyTivo/ffmpeg

[TiVoNet]
type=video
##Full path to your files (No trailing slash needed)
#For windows: path=c:\videos
#For linux:   path=/media
path=/Volumes/HD2/TiVoNet

ffmpeg is not showing it's running at all in the process viewer and no videos show using the port 9032 connection

IDLE does give me some sort of strange error which may or may not be related:


Code:


Warning (from warnings module):
  File "/pyTivo/Cheetah/Compiler.py", line 1508
    "\nYou don't have the C version of NameMapper installed! "
UserWarning: 
You don't have the C version of NameMapper installed! I'm disabling Cheetah's useStackFrames option as it is painfully slow with the Python version of NameMapper. You should get a copy of Cheetah with the compiled C version of NameMapper.

I'll be more than happy to write up a mac section of a tutorial once I get this working BTW.


----------



## dlfl

armooo said:


> I setup Trac at http://pytivo.armooo.net. It has a wiki that is open to the public . So you can start creating loads of documation.


Great!


----------



## dlfl

[email protected] said:


> Still no love... changed the conf file to get rid of the trailing slash to the video directory and corrected the <> issue...
> 
> 
> Code:
> 
> 
> [Server]
> port=9032
> #Full path to ffmpeg including filename\
> #For windows: ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
> #For linux:   ffmpeg=/usr/bin/ffmpeg
> ffmpeg=/pyTivo/ffmpeg
> 
> [TiVoNet]
> type=video
> ##Full path to your files (No trailing slash needed)
> #For windows: path=c:\videos
> #For linux:   path=/media
> path=/Volumes/HD2/TiVoNet
> 
> ........


I guess this is a Linux system -- so you don't need drive letters (e.g., "C:") at the front of your paths (??).

The warning can be ignored (covered in previous posts)

You won't see ffmpeg running until it actually starts transcoding a video and sending it to your TiVo -- well actually it runs for a few milliseconds for each file it scans for the Now Playing List, but you may not catch that. Can you see TiVoNet on your Now Playing List ?

You should see python on your process list -- at least that's the way it works on windows. Or maybe IDLE -- I don't run from IDLE.


----------



## armooo

[email protected]

With your config you should be able to go to this URL and see a list of your videos.

http://localhost:9032/TiVoConnect?Command=QueryContainer&Container=TiVoNet

The Cheetah error is normal.


----------



## [email protected]

dlfl said:


> I guess this is a Linux system -- so you don't need drive letters (e.g., "C:") at the front of your paths (??).


It's a Mac running 10.4.9 which is built upon FreeBSD. So it's UNIX not Linux but same kinda thing.



armooo said:


> With your config you should be able to go to this URL and see a lit of your videos.


I get an xml like response now with that link


Code:


&#8722;
	<TiVoContainer>
<ItemStart>0</ItemStart>
<ItemCount>0</ItemCount>
&#8722;
	<Details>
<Title>TiVoNet</Title>
<ContentType>x-container/tivo-videos</ContentType>
<SourceFormat>x-container/folder</SourceFormat>
<TotalItems>0</TotalItems>
</Details>
</TiVoContainer>

no files showing though... could it be having an issue since my files are on a different volume than the boot volume?


----------



## dlfl

What if you set up an alias on the pyTivo volume and put that in the .conf path? Sorry if that doesn't make sense. Long time since I touched Unix and I wasn't that great even then.


----------



## armooo

I would try creating a subfolder in /Volumes/HD2/TiVoNet if do don't have one.

If the subfolder shows up you have a problem with your ffmpeg.

If not the have a problem with the path.


----------



## [email protected]

it shows the folder. Nothing is wrong with my ffmpeg... it's the one I used with Tivo.Net and works fine there. These files a .mp4 (all of them) let me throw an AVI in the mix.

::Edit::
not even the AVI shows. The path to my ffmpeg is correct since I've got one in the pyTivo folder.


----------



## dlfl

[email protected] said:


> it shows the folder. Nothing is wrong with my ffmpeg... it's the one I used with Tivo.Net and works fine there. These files a .mp4 (all of them) let me throw an AVI in the mix.
> 
> ::Edit::
> not even the AVI shows. The path to my ffmpeg is correct since I've got one in the pyTivo folder.


To see what info ffmpeg is returning about your files do this:

In transcode.py, in the video_info() function, find the line
output = ffmpeg.stderr.read()

Insert after that line:
print output
Be sure the indent exactly matches the previous line. Do not use tabs for the indent -- use spaces (unless you see that tabs have been used for all the other indents in the file).

Run pyTivo and go to the NPL to the pyTivo folder(s). You should see 6-10 lines of ffmpeg text output for every file scanned. This output is the same you would get if you ran ffmpeg -i filename from a command line.

pyTivo parses this text to determine type(codec) width height fps and duration in milliseconds. If it fails to find any of these, the file is not recognized as a video file. If ffmpeg running on your platform has some variation of format that causes the parsing to fail, that would explain things -- and it probably can easily be fixed!


----------



## KRKeegan

[email protected] said:


> it shows the folder. Nothing is wrong with my ffmpeg... it's the one I used with Tivo.Net and works fine there. These files a .mp4 (all of them) let me throw an AVI in the mix.


Hmm, I am wondering if ffmpeg is even starting at all. I have suspicions that subprocess may function slightly different on a Mac??

*Armooo*
Thanks for the wiki. I will be more than happy to toss in a few hours of work into that tonight. I think documentation is what we are currently lacking.


----------



## [email protected]

well something isn't kosher... I get some fairly strange errors now with 173


> Exception happened during processing of request from ('127.0.0.1', 51551)
> Traceback (most recent call last):
> File "/Library/Frameworks/Python.framework/Versions/2.4//lib/python2.4/SocketServer.py", line 463, in process_request_thread
> self.finish_request(request, client_address)
> File "/Library/Frameworks/Python.framework/Versions/2.4//lib/python2.4/SocketServer.py", line 254, in finish_request
> self.RequestHandlerClass(request, client_address, self)
> File "/Library/Frameworks/Python.framework/Versions/2.4//lib/python2.4/SocketServer.py", line 521, in __init__
> self.handle()
> File "/Library/Frameworks/Python.framework/Versions/2.4//lib/python2.4/BaseHTTPServer.py", line 316, in handle
> self.handle_one_request()
> File "/Library/Frameworks/Python.framework/Versions/2.4//lib/python2.4/BaseHTTPServer.py", line 310, in handle_one_request
> method()
> File "/pyTivo/httpserver.py", line 64, in do_GET
> method(self, query)
> File "/pyTivo/plugins/video/video.py", line 84, in QueryContainer
> t.files, t.total, t.start = self.get_files(handler, query, VideoFileFilter)
> File "/pyTivo/plugin.py", line 52, in get_files
> files = filter(filterFunction, files)
> File "/pyTivo/plugins/video/video.py", line 72, in VideoFileFilter
> millisecs = transcode.suported_format(full_path)
> File "/pyTivo/plugins/video/transcode.py", line 188, in suported_format
> if video_info(inFile)[0]:
> File "/pyTivo/plugins/video/transcode.py", line 135, in video_info
> ffmpeg = subprocess.Popen(cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE, stdin=subprocess.PIPE)
> File "/Library/Frameworks/Python.framework/Versions/2.4//lib/python2.4/subprocess.py", line 543, in __init__
> errread, errwrite)
> File "/Library/Frameworks/Python.framework/Versions/2.4//lib/python2.4/subprocess.py", line 975, in _execute_child
> raise child_exception
> OSError: [Errno 2] No such file or directory


----------



## armooo

That error is saying that your ffmpeg path is incorrect.


----------



## [email protected]

woops forgot to copy it in when I upgraded to 173. I've fixed that and it's no longer got those errors. I added those two lines of code to the transcode.py file within that one function and it never prints anything to the terminal. I don't think it's calling ffmpeg properly at all as a previous poster suggested... most likely just a mac thing. ffmpeg never runs as I could see it in the activity viewer and no videos are in the folder (but on a positive note the server shows up on the NPL with no videos). These files are valid video files most I ripped with handbrake as mp4 files and I know ffmpeg can handle them ok since they work with Tivo.Net.

updated to python 2.5 since it updated the way subprocess worked and it does now call ffmpeg upon starting the script... no videos still though.

moved that print output around and I can tell that ffmpeg works and it does go through the files but they do not show in the container file...


> FFmpeg version CVS, Copyright (c) 2000-2004 Fabrice Bellard
> Mac OSX universal build for ffmpegX
> configuration: --enable-memalign-hack --enable-mp3lame --enable-gpl --disable-vhook --disable-ffplay --disable-ffserver --enable-a52 --enable-xvid --enable-faac --enable-faad --enable-amr_nb --enable-amr_wb --enable-pthreads --enable-x264
> libavutil version: 49.0.0
> libavcodec version: 51.9.0
> libavformat version: 50.4.0
> built on Apr 15 2006 04:58:19, gcc: 4.0.1 (Apple Computer, Inc. build 5250)
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Volumes/HD2/TiVoNet/You Me and Dupree.mp4':
> Duration: 01:49:24.1, start: 0.000000, bitrate: 1021 kb/s
> Stream #0.0(und), 23.98 fps(r): Video: h264, yuv420p, 640x352
> Stream #0.1(und): Audio: aac, 48000 Hz, stereo
> Must supply at least one output file


what could be going on?


----------



## sabu

dlfl said:


> A simple experiment to see if it might be a problem with Build 8047 of ffmpeg:
> 
> Replace ffmpeg_mp2.exe with the version used in TiVo.Net (build 7215). The link you need to download this is given in this prior post  (if you don't already have it via Tivo.Net). The download will be a zip and the only file you need from it is ffmpeg.exe. Either rename it to ffmpeg_mp2.exe (rename the existing ffmpeg_mp2.exe first to save it) or change your pyTivo.conf ffmpeg path.


Okay tried build 7215 from that link - same problem with the video being offset on the TiVo. Anything else I can try?

FFmpeg version SVN-r7215, Copyright (c) 2000-2006 Fabrice Bellard, et al.
configuration: --extra-cflags=-I/static/include --extra-ldflags=-L/static/lib
--enable-memalign-hack --enable-mp3lame --enable-xvid --enable-a52 --enable-lib
ogg --enable-vorbis --enable-faac --enable-faad --enable-x264 --enable-pp --enab
le-amr_wb --enable-amr_nb --enable-avisynth --enable-dts --enable-libgsm --enabl
e-gpl
libavutil version: 49.1.0
libavcodec version: 51.25.0
libavformat version: 51.6.0
built on Dec 3 2006 00:27:56, gcc: 3.4.6
Input #0, avi, from 'c:\TiVo/Torchwood S01E01 Everything Changes.avi':
Duration: 00:50:45.0, start: 0.000000, bitrate: 962 kb/s
Stream #0.0: Video: mpeg4, yuv420p, 640x368, 25.00 fps(r)
Stream #0.1: Audio: mp3, 48000 Hz, stereo, 128 kb/s
Output #0, vob, to 'pipe:':
Stream #0.0: Video: mpeg2video, yuv420p, 720x480, q=2-31, 4096 kb/s, 29.97 fps
(c)
Stream #0.1: Audio: mp2, 44100 Hz, stereo, 192 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1


----------



## armooo

[email protected] said:


> woops forgot to copy it in when I upgraded to 173. I've fixed that and it's no longer got those errors. I added those two lines of code to the transcode.py file within that one function and it never prints anything to the terminal. I don't think it's calling ffmpeg properly at all as a previous poster suggested... most likely just a mac thing. ffmpeg never runs as I could see it in the activity viewer and no videos are in the folder (but on a positive note the server shows up on the NPL with no videos). These files are valid video files most I ripped with handbrake as mp4 files and I know ffmpeg can handle them ok since they work with Tivo.Net.
> 
> updated to python 2.5 since it updated the way subprocess worked and it does now call ffmpeg upon starting the script... no videos still though.
> 
> moved that print output around and I can tell that ffmpeg works and it does go through the files but they do not show in the container file...
> 
> what could be going on?


Your ffmpeg output is different that what I have seen from other versions. The current code is expecting the fps to come after "Video:" so it can't find the fps and says it is not a supported type.


----------



## [email protected]

armooo said:


> Your ffmpeg output is different that what I have seen from other versions. The current code is expecting the fps to come after "Video:" so it can't find the fps and says it is not a supported type.


more recent builds do put the FPS after Video: sort of...
That build is from 2006 



> FFmpeg version SVN-r8222, Copyright (c) 2000-2007 Fabrice Bellard, et al.
> configuration: --enable-shared --disable-ffserver --disable-ffplay --enable-liba52 --enable-libfaac --enable-libmp3lame --enable-libogg --enable-libvorbis --enable-x264 --enable-xvid --enable-gpl
> libavutil version: 49.3.0
> libavcodec version: 51.38.0
> libavformat version: 51.10.0
> built on Mar 11 2007 23:25:40, gcc: 4.0.1 (Apple Computer, Inc. build 5367)
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Volumes/HD2/TiVoNet/You Me and Dupree.mp4':
> Duration: 01:49:24.1, start: 0.000000, bitrate: 1021 kb/s
> Stream #0.0(und): Video: h264, yuv420p, 640x352, 23.98 fps(r)
> Stream #0.1(und): Audio: mp4a / 0x6134706D, 48000 Hz, stereo
> Must supply at least one output file


will that work? or does it have to directly follow Video:?


----------



## ocntscha

[email protected] said:


> more recent builds do put the FPS after Video: sort of...
> That build is from 2006
> 
> will that work? or does it have to directly follow Video:?


That ffmpeg output looks like mine and pyTivo works for me, so I'd expect that yes, switch in that ffmpeg and you'll be good to go.


----------



## KRKeegan

sabu said:


> Okay tried build 7215 from that link - same problem with the video being offset on the TiVo. Anything else I can try?
> Stream #0.0: Video: mpeg4, yuv420p, 640x368, 25.00 fps(r)


hmm, this is very strange, because that is within the range i provide to fit into 16:9 without any mesing with padding or anything like that.

I think maybe we should try and convert it and view it on a computer first and verify that this is truly a ffmpeg issue. Run this command from the folder where ffmpeg resides:

ffmpeg -i ''c:\TiVo\Torchwood S01E01 Everything Changes.avi' -vcodec mpeg2video -r 29.97 -b 4096K -aspect 16:9 -s 720x480 -comment pyTivo.py -ac 2 -ab 192 -ar 44100 -f vob -t 60 'c:\TiVo\test.mpg'

That will transcode 60 seconds into a file named test.mpg. Try and play this file on a pc and tell me what happens. Additionally you should be able to play this file, test.mpg, from the TiVo too. But first I want to see what it looks like on the pc.

Thanks
Kevin


----------



## dlfl

[email protected] said:


> more recent builds do put the FPS after Video: sort of...
> That build is from 2006  .....
> will that work? or does it have to directly follow Video:?


It doesn't have to directly follow "Video", just come later in the line.

I suspect the problem is worse than that though if you didn't get anything from the print statement in video_info as follows:



Code:


    output = ffmpeg.stderr.read()
    print output

This should print whatever ffmpeg prints regardless of how formatted. If you got nothing it must mean one of these things:
1. ffmpeg was never called.
2. ffmpeg was called but its printout wasn't piped into stderr
3. ffmpeg was called and timed out (4 secs per call)


----------



## panacea

I downloaded and installed pytivo yesterday (latest version, Windows installer). I think it's fabulous(!), but I did have one issue.

My TV is 4:3, and my preferences on the Tivo are set to 4:3. I transferred an AVI file with the following specs:
Bit rate: 1151kbps 
Format: mpeg4 
Size: 512x288 
Frame rate: 25.00fps

When viewing the file on the Tivo, the image is distorted. Switching the Tivo to 16:9 mode in preferences fixes the image, except that it's a little horizontally squished because the whole 16:9 image is displayed in the 4:3 space. 

This is not a huge deal, but is there any way to tell pytivo to letterbox anything in 16:9? I'm using the version of ffmpeg distributed with the installer.

Thanks all for a great program!


----------



## dlfl

panacea said:


> I downloaded and installed pytivo yesterday (latest version, Windows installer). I think it's fabulous(!), but I did have one issue.
> 
> My TV is 4:3, and my preferences on the Tivo are set to 4:3. I transferred an AVI file with the following specs:
> Bit rate: 1151kbps
> Format: mpeg4
> Size: 512x288
> Frame rate: 25.00fps
> 
> When viewing the file on the Tivo, the image is distorted. ......!


As I understand it (those are weasel words so you can't blame me if I'm wrong) some mpeg4 formats (e.g., Xvid, frequently found in an AVI container) have an aspect ratio specifier in the file and this may need to be changed to 4:3.

Try mpeg4modifier, a little (30kB) free program that can do things like change the aspect ratio. It will be quick -- you are not re-encoding the file.

I've experienced this encoding to AVI/XVID using AutoMKV but I didn't use mpeg4modifier to fix it. I just re-encoded using the feature in AutoMKV that allows you to specify the Xvid AR you want. Another handy small free program is mediaInfo. With it installed you can right click on a video and it will tell you the properties, including the AR in an Xvid video.


----------



## sabu

KRKeegan said:


> ffmpeg -i ''c:\TiVo\Torchwood S01E01 Everything Changes.avi' -vcodec mpeg2video -r 29.97 -b 4096K -aspect 16:9 -s 720x480 -comment pyTivo.py -ac 2 -ab 192 -ar 44100 -f vob -t 60 'c:\TiVo\test.mpg'
> 
> That will transcode 60 seconds into a file named test.mpg. Try and play this file on a pc and tell me what happens. Additionally you should be able to play this file, test.mpg, from the TiVo too. But first I want to see what it looks like on the pc.


Okay, both versions of ffmpeg convert that into a 16:9 aspect ratio file that plays fine on the PC.


----------



## KRKeegan

sabu said:


> Okay, both versions of ffmpeg convert that into a 16:9 aspect ratio file that plays fine on the PC.


Ok give me a few minutes, let me see if I can encode something with those specs and figure out what is going on.

Kevin


----------



## CheezWiz

Sabu,

Are you playing to a 4:3 or 16:9 TV?
The reason I ask is that I too have come across an XVID that does exactly what yours is doing on a 4:3 TV , but works fine going to my 16:9 TV.

Here is what I am seeing:
Seems stream 0 codec frame rate differs from container frame rate: 23.98 (65535/2733) -> 23.98 (2997/125)
Input #0, avi, from 'R:\Video\/Movies/Jackass.Number.Two.UNRATED..XviD.avi':
Duration: 01:33:28.7, start: 0.000000, bitrate: 1042 kb/s
Stream #0.0: Video: mpeg4, yuv420p, 624x336, 23.98 fps(r)
Stream #0.1: Audio: mp3, 48000 Hz, stereo, 128 kb/s
Output #0, vob, to 'pipe:':
Stream #0.0: Video: mpeg2video, yuv420p, 720x480, q=2-31, 4096 kb/s, 29.97 fps(c)
Stream #0.1: Audio: mp2, 44100 Hz, stereo, 192 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Press [q] to stop encoding


----------



## KRKeegan

CheezWiz said:


> Sabu,Are you playing to a 4:3 or 16:9 TV?
> The reason I ask is that I too have come across an XVID that does exactly what yours is doing on a 4:3 TV , but works fine going to my 16:9 TV.


hmm it should still play fine on a 4:3 tv.

I made a new update. There is a minor fix to an error in the code i doubt it was causing your problem.

More importantly I added a debug feature. This will write a file in the base directory called debug.txt. I would not leave this on as it slows down pyTivo a lot and will make a huge file in on your drive.

To Activate debuging in version 174 and up:
Add the following line under the [Server] Block
debug=True

To deactivate debugging:
Delete that ENTIRE LINE

Sorry there is a mistake in my programming and if the option debug exists it will debug, so to stop it you must remove the line completely. Future versions will fix this.

SABU
if you could:
1. update to this version.
2. enable debugging as described above
3. start pytivo
4. try and load your video
5. stop pyTivo
6. post debug.txt from base folder to here
7. REMOVE debug line from pyTivo.conf
8. restart pytivo

Thanks


----------



## dlfl

Please review my prior post  about handling 59.94 fps reported by ffmpeg for tivo compatible mpegs. The patch that is still in transcode.py in ver. 174 has two problems:

1. It doesn't work for the currently used build of ffmpeg (8047).
2. I don't believe it will work even for the build it was targeted at (7215) because the regular expression will not match 29.97. Am I wrong here?

Anyway, I would suggest at least removing or fixing the current patch, and why not use the patch I gave in the post, which covers both builds? I've been using it and it works fine. There are four VideoReDo-edited files in my archive that are allowed to transfer without re-encoding with this patch.


----------



## KRKeegan

dlfl said:


> Please review my prior post  about handling 59.94 fps reported by ffmpeg for tivo compatible mpegs. The patch that is still in transcode.py in ver. 174 has two problems:
> 
> 1. It doesn't work for the currently used build of ffmpeg (8047).
> 2. I don't believe it will work even for the build it was targeted at (7215) because the regular expression will not match 29.97. Am I wrong here?
> 
> Anyway, I would suggest at least removing or fixing the current patch, and why not use the patch I gave in the post, which covers both builds? I've been using it and it works fine. There are four VideoReDo-edited files in my archive that are allowed to transfer without re-encoding with this patch.


 Whoa, easy there. Sorry I thought this problem had already been solved, no need to get upset.

Armooo added the following line:
rezre = re.compile(r'.*film source: (\d+).*')

I assumed this fixed your problem. You are right it does only return 29 and not 29.97. I will do my best to fix this in the next update.


----------



## jacques

I just wanted to post a thank you.

Thank you!

This is just the coolest thing for watching my MythTV recordings on my TiVo. I'm a linux newbie and getting it working on my KnoppMyth box was simple.

Thanks again!


----------



## sabu

KRKeegan said:


> SABU
> if you could:
> 6. post debug.txt from base folder to here
> 
> Thanks


Here is the debug.txt file. The TiVo is a Dual Tuner SA attached to a 4:3 standard res TV and set to 4:3 output.

I found a 4:3 aspect ratio file and it transferred and played without any problems.

Thanks for all your help on this!


----------



## dlfl

Couple of small suggested edits to your first post to make life easier for newcomers:

1. Make it clear there is a Wiki (I know the link is there but there is nothing to indicate it is a Wiki link.)

2. Correct the typo in: "type = vid*w*o"

Thanks


----------



## dlfl

I just added an item to the "Known Issues" section of the Wiki describing a NPL problem and a work-around. If this is happening to other TiVo models, the wording could be made more general. Or maybe other/better work-arounds could be added/substituted.

Anyway, take a look and have at it!


----------



## KRKeegan

Ahhh, there are times I love microsoft. Ok I am attempting to figure out the video display problems some people are still seeing. I found a bunch of test files of different aspect ratios from Microsoft.

http://www.microsoft.com/windows/windowsmedia/howto/articles/NonSquarePixel.aspx


----------



## inthewoods

I have the display problem where the screen gets whacked like every other scanline is shifted and the picture ends up in 3 interlaced sections. Very strange looking.

I solved the problem on my Series-2 540 by changing from 720x480 to 544x480.

I also tried the newest ffmpeg I could find, r8310, but it still was screwing up. Only switching to 544 fixed it for me. I've had this problem in the past using Videora and VLC, so maybe it is a bug or hardware problem in some of the Series 2s.

Thanks for all the work on pyTivo, I like how clever yet simple it is! The code is a great intro to Python for me. I've been making some minor source code tweaks and I'd like to donate them to the cause. 

Specifically:
* Configurable broadcast address to address beacon problems on multi-homed machines
* Configurable output resolution
* Uses "k" suffix for audio bitrate (needed for newer ffmpeg)

Where do I post patches?

-Tony


----------



## KRKeegan

inthewoods said:


> ...I solved the problem on my Series-2 540 by changing from 720x480 to 544x480.I also tried the newest ffmpeg I could find, r8310, but it still was screwing up. Only switching to 544 fixed it for me. I've had this problem in the past using Videora and VLC, so maybe it is a bug or hardware problem in some of the Series 2s.


Yeah I am starting to think there may be some minor differences out there with TiVo's.

*Sabu* I think this is where your problem is. I relooked over the code for 16:9 videos and how it functions. pyTivo is sending a 16:9 video to your TiVo even though your TiVo can only support 4:3. For the rest of us the TiVo just fixes this. A good way to test this out is change your TiVo settings to 16:9, all 16:9 videos that have been transfered will now be stretched vertically. But 4:3 videos will still look fine.

Sabu, I think the problem is possibly that your version of TiVo doesn't handle 16:9 gracefully like most of us. Don't worry though. I think *pipakin* solved this by allowing users to preselect their aspect ratios. I am working on recoding transcode.py to send files only in their preselected format. I am hoping this will solve your problems.



inthewoods said:


> Where do I post patches?-Tony


 You can post them here. And thanks for your help.

Kevin


----------



## CheezWiz

I just set my S2DT that is on my HD TV to 4:3 and set the Tivo's resolution to 4:3 and played the same file mentioned earlier and the results are the same. The right 1/3 of the movie is missing.

Upon setting the Tivo to 16:9 but leaving the TV in 4:3 I do see the expected results of tall and skinny, but all is there.

The question I have is, can pyTivo determine which of my two Tivos is requesting the file and select aspect ratio appropriately? Or does the requester never ID itself to pyTivo?

Also, is all this protocol documented somewhere or have you guys just figured it out through trial and error?

ps, thanks to everyone involved with this!


----------



## KRKeegan

CheezWiz said:


> Upon setting the Tivo to 16:9 but leaving the TV in 4:3 I do see the expected results of tall and skinny, but all is there.


Cool, i think that means I am on the right track. I almost have a dramtically changed transcode.py file ready for anyone having aspect issues to try.



CheezWiz said:


> The question I have is, can pyTivo determine which of my two Tivos is requesting the file and select aspect ratio appropriately? Or does the requester never ID itself to pyTivo?


 F, hmm, I had not thought of this issue. Umm no in its first iteration the setting will be the same as TivodotNet, which is a global setting of 16:9 or 4:3. The TiVo does identify itself when it requests files, but this will require two additional mods, 1. Add code to pull the TSN from the request, 2. Add code to the conf file to allow you to choose which TiVo gets what.



CheezWiz said:


> Also, is all this protocol documented somewhere or have you guys just figured it out through trial and error? ps, thanks to everyone involved with this!


Umm like much of the TiVo development a lot of it comes from looking at TiVo's software and reverse engineering it. Armooo did 99% of the hard work and started this thing. I think he just watched packets from TiVo Desktop. I can say that when I had to solve the transfer error problem I had to purchase TiVo Desktop 2.4 and do some packet sniffing while it was running to solve the issue.

So the answer is no, not to my knowledge. TiVo has not released an SDK since the HMO/HME days and has not expanded either of those since then. I know a few developers, namely the developer for galleon, have been quite upset about this.


----------



## KRKeegan

- I made some major changes to how select_aspect() works. Unless you specify in the conf file that you want to allow 16:9 aspect ratio all files will be sent to TiVo in the 4:3 format. Additionally the code for padding of videos has been updated to be more accurate. A circle should indeed be a circle on the TV now. And *Sabu* I hope this fixes your issue.

Read about how this works AspectRatio

Hmm, my brain is dead and I can't figure this out right now. When I pad the left and right, do I need to pad with distorted pixels?? Can someone play a video which is skinnier than 4:3 and tell me if it looks distorted at all on TV. We might only need to pad with true pixels on left and right.

- A new conf file has been provided, but to allow 16:9 files set the following option in the conf file:
aspect169=true

Even if you allow 16:9 videos files which are 4:3 or lower aspect(very skinny) will still be sent in 4:3 format and your TV can handle them however you normally handle 4:3 broadcast images.

- The debug code had been simplified. To create a debug.txt file in the base directory of what transcode.py is doing set the following option in the conf file:
debug=true

Leave it set to off(debug=false, or delete the line) unless you want to slow pyTivo down and create a wasted file in your base directory.

- I also added dlfl's code for the fps issue he was having.

Later Updates:
*Cheezwiz* Sorry buddy the aspect setting is global, I will work on a per TiVo setting later.


----------



## dlfl

KRKeegan said:


> ............Hmm, my brain is dead and I can't figure this out right now. When I pad the left and right, do I need to pad with distorted pixels?? Can someone play a video which is skinnier than 4:3 and tell me if it looks distorted at all on TV. We might only need to pad with true pixels on left and right.


Results of an experiment (not sure what you will make of it):

I used a tivo-compatible mpeg2 file (a tivo file edited by VideoReDo and saved as mpeg2). It has 480x480 (encoding) resolution.

I changed tivo_compatable() so if would return False for this file, i.e., forcing a re-encode, and looked at the ffmpeg command line for that transcode.

I'm 4:3 all the way (tivo settings, TV and aspect169 = false).

The encoding -s option was 540x480 and left and right pads were both 90, bringing it to 720x480. The -aspect option was 4:3. (The 540 obviously is the 9/8 ratio times 480.)

The TV picture was squeezed horizontally and had black bands left and right.

Obviously some pixel distortion (PAR not 1:1) is needed. However, if tivo is sent the original (not-transcoded) 480x480 mpeg it will do the scale up to 4:3 aspect for display.

My guess is (at least for this case) the -s should be 720x480 and left and right pads should be 0. I *think* this is what you call padding "with distorted pixels" (?)

Like you said in your Wiki addtion, PAR is the "annoying one". 

As I see it, the basic problem is ffmpeg doesn't give enough information. It gives you the encoded dimensions but not the frame (or display) dimensions intended for the video. (Or equivalently, it doesn't give you the PAR.) Even worse, this information is probably not even available in some video file formats (?). You have to assume target display dimensions based on 4:3 or 16:9. For 4:3, it seems unlikely (but not impossible) that the intended display AR would be less that 4:3 --- which seems to imply you should pad with distorted pixels for those cases -- but then ..... yep, it's annoying!.


KRKeegan said:


> - I also added dlfl's code for the fps issue he was having.


Thanks. I'm assuming (hoping?) this will help OP too.


----------



## KRKeegan

dlfl said:


> Obviously some pixel distortion (PAR not 1:1) is needed. However, if tivo is sent the original (not-transcoded) 480x480 mpeg it will do the scale up to 4:3 aspect for display.
> 
> My guess is (at least for this case) the -s should be 720x480 and left and right pads should be 0. I *think* this is what you call padding "with distorted pixels" (?)


Exactly, I am hoping that Armooo, list of possible PAR ratios will catch files that have non 1:1 PAR.

But yes ffmpeg does not return enough information for me to know what the PAR is. I think for most computer files a PAR of 1:1 will work, AVIs i think are pretty much always in 1:1. The problem is going to come in with MPGs, some of them as *dlfl* demonstrated have nonsquare pixels.


----------



## sabu

KRKeegan said:


> - And *Sabu* I hope this fixes your issue.


Yes, the 16:9 ratio file now transfers and plays with the content centered!

One alternative option for how to specify the 16:9 setting would be on a share by share basis instead of a TiVo by TiVo basis. That way it would be easy to try the variations of the flag going forward as new versions of the TiVo software are released. Just a thought.

Thanks again for all your efforts! This is a great little program.


----------



## KRKeegan

sabu said:


> One alternative option for how to specify the 16:9 setting would be on a share by share basis instead of a TiVo by TiVo basis. That way it would be easy to try the variations of the flag going forward as new versions of the TiVo software are released. Just a thought.
> 
> Thanks again for all your efforts! This is a great little program.


I thought of that but they you would have multiple shares showing up at the bottom of the screen and people may not like that as much.

Currently my thought is to select it by IP address, this would require static IPs but I think it is a doable solution.

Very happy to hear that solved your problem.


----------



## Tegan

HELP! Ok, I'm a stupid newbie. Installed Python. Installed PyTivo according to the directions on the site. I tried to run it, and got this:

C:\Program Files\pyTivo>pyTivoService.py
Traceback (most recent call last):
File "C:\Program Files\pyTivo\pyTivoService.py", line 2, in <module>
import win32serviceutil
ImportError: No module named win32serviceutil

Clearly I've missed a step or something. Help?


----------



## dlfl

Tegan said:


> HELP! Ok, I'm a stupid newbie. Installed Python. Installed PyTivo according to the directions on the site. I tried to run it, and got this:
> 
> C:\Program Files\pyTivo>pyTivoService.py
> Traceback (most recent call last):
> File "C:\Program Files\pyTivo\pyTivoService.py", line 2, in <module>
> import win32serviceutil
> ImportError: No module named win32serviceutil
> 
> Clearly I've missed a step or something. Help?


Looks like you're trying to run it as a service. I've never done that but I know you have to download and install pyWin32 (assuming you're on Windows OS -- you didn't say). See this post  for details on this download.

I would suggest you try running it in command line mode by just double-clicking pyTivo.py. Get it running good that way before making it a service.

Not sure what "directions on the site" you used, but be sure to check out the new pyTivo Wiki. Unfortunately I just checked it and couldn't find the deal about needing pyWin32 to run as a service -- I'm sure this will be corrected soon! (Or maybe I just missed it  )


----------



## Tegan

C:\Program Files\pyTivo>pyTivo.py
Traceback (most recent call last):
File "C:\Program Files\pyTivo\pyTivo.py", line 10, in <module>
httpd = httpserver.TivoHTTPServer(('', int(port)), httpserver.TivoHTTPHandler)
File "C:\Program Files\pyTivo\httpserver.py", line 14, in __init__
BaseHTTPServer.HTTPServer.__init__(self, server_address, RequestHandlerClass)
File "C:\Program Files\python25\lib\SocketServer.py", line 330, in __init__
self.server_bind()
File "C:\Program Files\python25\lib\BaseHTTPServer.py", line 101, in server_bind
SocketServer.TCPServer.server_bind(self)
File "C:\Program Files\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')


----------



## dlfl

I'm sure someone more expert than me will jump in here soon but I'm pretty certain this means you failed to make a network connection to your TiVo. Do you have TiVo Desktop installed? If so does it work?

Try to ping your Tivo:
1. Get the IP address for your tivo: Settings->Phone & Network
2. Open a Command Prompt Window and enter "ping <Tivo IP #>"

Yous should see something like this:



Code:


C:\Documents and Settings\Dave>ping 192.168.0.153

Pinging 192.168.0.153 with 32 bytes of data:

Reply from 192.168.0.153: bytes=32 time=3ms TTL=64
Reply from 192.168.0.153: bytes=32 time=1ms TTL=64
Reply from 192.168.0.153: bytes=32 time=1ms TTL=64
Reply from 192.168.0.153: bytes=32 time=1ms TTL=64

Ping statistics for 192.168.0.153:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 1ms, Maximum = 3ms, Average = 1ms

If you don't get the replies, you are not able to reach the Tivo via your network. This could be due to a firewall (e.g. Windows firewall) on your PC. Try temporarily disabling your firewall (OR) open up ports 9032 and 9033 on whatever firewall you have (at least one of these is used by pyTivo).

Another way to test network connection to a TiVo is via the http interface which will display the now playing list in your browser, see this post  for details.

Do you have "Allow Transfers" checked in the DVR Preferences section of your on-line TiVo account management? Note it can take hours after this is checked for it to be pushed into your TiVo from their network.


----------



## dlan1000

KRKeegan said:


> I am assuming subtitles are in a separate ".srt" file??


 KRKeegan,

yes, I was referring to subtitles in a separate .srt file.

Great job on the new Wiki you started on armooo's site btw... should I assume that discussions should be migrated to there?


----------



## KRKeegan

Tegan said:


> C:\Program Files\pyTivo>pyTivo.py
> ...
> socket.error: (10013, 'Permission denied')


I will do my best to help you:
1. Yes you should run pyTivo.py alone first and make sure everything works before trying to install it as a service. Here you can find instructions for installing pyTivo. If you want to install as a service the instructions are at the bottom. I added the note that this requires pywin32.

2. A search of your socket area gives us this reponse from microsoft:



Code:


WSAEACCES
10013 
Permission denied. 
An attempt was made to access a socket in a way forbidden by its access permissions. An example is using a broadcast address for sendto without broadcast permission being set using setsockopt(SO_BROADCAST). 
Another possible reason for the WSAEACCES error is that when the bind function is called (on Windows NT 4 SP4 or later), another application, service, or kernel mode driver is bound to the same address with exclusive access. Such exclusive access is a new feature of Windows NT 4 SP4 and later, and is implemented by using the SO_EXCLUSIVEADDRUSE option.

What it looks like this error means is that pyTivo.py cannot bind to the socket 9032. I don't know what is causing this but I have some suggestions. 
1. If you are running something that uses socket 9032 such as TivodotNet or TiVo desktop?? Try closing these first and try again. 
2. Maybe your firewall is blocking pyTivo.py from using this port?? Try opening port 9032 in your firewall.


----------



## KRKeegan

dlan1000 said:


> KRKeegan,
> 
> yes, I was referring to subtitles in a separate .srt file.
> 
> Great job on the new Wiki you started on armooo's site btw... should I assume that discussions should be migrated to there?


No you can keep discussions here. In terms of bugs or feature requests you can add them as a new ticket. Which I already did for subtitles. But this is still a good place to discuss pyTivo in general.


----------



## armooo

I am going to be making pyTivo auto select 16:9 or 4:3 based on the tivo making the request. I am going to do this by making a blacklist of tivo models that do not honor the aspect ratio set in the mpeg. 16:9 files will be a better quality even on a 4:3 tv because we will be wasting less of the resolution encoding black bars. 

I am going to need people to report if 16:9 mode works on there tivo and the first 3 digits of the tivo's service number.

I have 2 240's and they both can play back 16:9 files with out any problems.


----------



## KRKeegan

armooo said:


> I am going to be making pyTivo auto select 16:9 or 4:3 based on the tivo making the request. I am going to do this by making a blacklist of tivo models that do not honor the aspect ratio set in the mpeg. 16:9 files will be a better quality even on a 4:3 tv because we will be wasting less of the resolution encoding black bars.
> 
> I am going to need people to report if 16:9 mode works on there tivo and the first 3 digits of the tivo's service number.
> 
> I have 2 240's and they both can play back 16:9 files with out any problems.


To clarify, this means 16:9 videos play fine on your TV if you have 4:3 mode selected in your TiVo settings.

Very cool I like the idea. *Sabu* since I know it doesn't work for you be sure to tell us the first three of your TSN. I think someone said their DT tivo didn't work either.

Mine is 230 and 16:9 works great.


----------



## [email protected]

Got the version of 173 working on Mac OS 10.4.9 with python 2.5 installed. Let me know if anyone wants my compile of ffmpeg which did it. I built it from source with as many libraries as I could compile. I could also make a preference pane for pyTivo like I made for Tivo.Net if there is an interest in it.


----------



## gonzotek

armooo said:


> I am going to be making pyTivo auto select 16:9 or 4:3 based on the tivo making the request. I am going to do this by making a blacklist of tivo models that do not honor the aspect ratio set in the mpeg. 16:9 files will be a better quality even on a 4:3 tv because we will be wasting less of the resolution encoding black bars.
> 
> I am going to need people to report if 16:9 mode works on there tivo and the first 3 digits of the tivo's service number.
> 
> I have 2 240's and they both can play back 16:9 files with out any problems.


You may be interested in this technical note from Justin Thyme:
http://www.tivocommunity.com/tivo-vb/showthread.php?p=3199608&&#post3199608

He started a table of TiVo model numbers and how they handle 16:9/4:3 issues. It's incomplete, but lists the 240, 540 and a Toshiba RS-TX.


----------



## CheezWiz

KRKeegan said:


> To clarify, this means 16:9 videos play fine on your TV if you have 4:3 mode selected in your TiVo settings.
> 
> Very cool I like the idea. *Sabu* since I know it doesn't work for you be sure to tell us the first three of your TSN. I think someone said their DT tivo didn't work either.
> 
> Mine is 230 and 16:9 works great.


How will this change effect Tivos who do not handle when in 4:3, but in 16:9 connected to a 16:9 TV look great. I guess I am worried that this will add black bars to the sides or the top and bottom, or require the TV to be run in 4:3 stretched mode?

I think it would be nice to be able to specify a full TSN that would get the 4:3 setting, but allow others to remain at 16:9.. Or deoes that even matter?


----------



## sabu

KRKeegan said:


> To clarify, this means 16:9 videos play fine on your TV if you have 4:3 mode selected in your TiVo settings.
> 
> Very cool I like the idea. *Sabu* since I know it doesn't work for you be sure to tell us the first three of your TSN. I think someone said their DT tivo didn't work either.
> 
> Mine is 230 and 16:9 works great.


TSN starting with 649 that does not play 16:9 videos with 4:3 mode selected.


----------



## KRKeegan

CheezWiz said:


> How will this change effect Tivos who do not handle when in 4:3, but in 16:9 connected to a 16:9 TV look great. I guess I am worried that this will add black bars to the sides or the top and bottom, or require the TV to be run in 4:3 stretched mode?
> 
> I think it would be nice to be able to specify a full TSN that would get the 4:3 setting, but allow others to remain at 16:9.. Or deoes that even matter?


Well I think, armooo is working on this so I can't be sure, pyTivo will still be able to handle this. I am a big fan of flow charts so here is what I think it will do with a 16:9 video on the pc:

1. If the TiVo is capable of playing nice with 16:9 videos even when the TiVo is in 4:3 mode, then just send the file as 16:9.
2. If the TiVo is a listed black list device then send as 4:3, UNLESS
3. Some override setting has been set in the configuration file then send as 16:9

Again this override will probably be global, to all TiVos, in the first iteration. But this can be a per TiVo setting in the future.


----------



## MT-Hand

[email protected] said:


> Got the version of 173 working on Mac OS 10.4.9 with python 2.5 installed. Let me know if anyone wants my compile of ffmpeg which did it. I built it from source with as many libraries as I could compile. I could also make a preference pane for pyTivo like I made for Tivo.Net if there is an interest in it.


 [email protected],

Yes Please! I have your TiVo.Net Preferance Pane running on my 20" iMac G5 (OS X 10.4.9). I too had installed the latest version of Python and pyTivo, and saw the same results that you had. I would be very interested in trying pyTivo for comparison (especially if it had a slick Preferance Pane front-end like the one you did for TiVo.Net!).

Todd


----------



## KRKeegan

[email protected] said:


> Got the version of 173 working on Mac OS 10.4.9 with python 2.5 installed. Let me know if anyone wants my compile of ffmpeg which did it. I built it from source with as many libraries as I could compile. I could also make a preference pane for pyTivo like I made for Tivo.Net if there is an interest in it.


 So far I understand the requirements of installing on OS X to be:
1. python 2.5
2. a different compiled version of ffmpeg?

If you could post some note here I am sure all OSX users would appreciate it. And if you want you can send me the compiled ffmpeg in some format that won't corrupt it, "zip" maybe?? I dunno.


----------



## panacea

The updates in the 178 build fixed my aspect ratio issue (16:9 videos not playing correctly on a Tivo set to 4:3). Apologies for my inarticulate description, it was exactly as inthewoods said, "the screen gets whacked like every other scanline is shifted and the picture ends up in 3 interlaced sections".

If it helps, the first 3 of my TSN is 540.

You guys rock!


----------



## inthewoods

This patch has a few edits from the baseline 178:

 Configuration to specify if you want 720, 704 or 544 pixel output
 Enhanced the beacon code to take a list of broadcast addresses to work around problems with multi-interface (multi-home) machines
 Configuration for Audio and Video bitrate in case you are using a newer version of ffmpeg that doesn't like 192 and 4096 but needs 192K and 4096K, respectively
 Aspect code works with variable output resolution (WARNING: it has only been tested going to 4:3 output though... so I might've messed up for screen size != 720)
 Rewrote 4:3 padding algorithm to assume square pixels in the source, which is usually safe for files downloaded from the internet. I get better results on my 540 Tivo when viewing widescreen source on my 4:3 TV with this algorithm.
 Updated config file to include all the new options along with documentation


----------



## KRKeegan

inthewoods said:


> This patch has a few edits from the baseline 178:
> 
> Configuration to specify if you want 720, 704 or 544 pixel output
> Enhanced the beacon code to take a list of broadcast addresses to work around problems with multi-interface (multi-home) machines
> Configuration for Audio and Video bitrate in case you are using a newer version of ffmpeg that doesn't like 192 and 4096 but needs 192K and 4096K, respectively
> Aspect code works with variable output resolution (WARNING: it has only been tested going to 4:3 output though... so I might've messed up for screen size != 720)
> Rewrote 4:3 padding algorithm to assume square pixels in the source, which is usually safe for files downloaded from the internet. I get better results on my 540 Tivo when viewing widescreen source on my 4:3 TV with this algorithm.
> Updated config file to include all the new options along with documentation


Thank you for the updates I will look them over. Already I have a few issues. 
1. you can safely add 'K' to the bitrates on old versions of ffmpeg and is doesnt pose a harm. I know I am missing it on the audio i forgots to fix that part.
2. "Rewrote code to assume square pixels in 4:3" hmm the original code did this. You should see a .888 multiplier or its inverse. This is because TV's while having 4:3 frame aspect only have 720x480 lines or 3:2. Thus when determining the aspect or padding, you have to remember that a line in the output is not equal to a line in the input.

_Edit_ Ok further review. You appear to come to the same conlusion your stretch_ratio factor is equal to .8888 under the default setting. But you are right if we start allowing other dimensions we will need this change. Give me a day or two to put this in a branch and check it out there are a lot of changes here.


----------



## armooo

I just committed version 179. It adds the 16:9 blacklist while defaulting to use 16:9. It also has per tivo settings for aspect ratio. The per tivo config block will look like

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

#If you want to use 16:9 or 4:3 on this tivo
aspect169=true


----------



## inthewoods

KRKeegan said:


> Give me a day or two to put this in a branch and check it out there are a lot of changes here.


Cool... thanks for the code review... Sorry for so many edits at once. I just got excited 

pyTivo is so much better than dealing with scripting VLC or fighting Tivo desktop or Galleon on Windows Vista!


----------



## ocntscha

pyTivo rules!! Its working fantastic for me, I just start it up, it runs for days with me using it frequently but never once having to go and restart it or touch it in anyway on my server! Yeah!

All my videos are displaying nicely now too. They mostly where all ready but the last couple rounds of your guys improvements in the ffmpeg settings has got the only couple troublesome videos I have displaying nicely now too.

I've been watching LOTs of video podcasts on my Tivo thanks to pyTivo. Here's a great source to find them, http://digg.com/podcasts. Here's the podcatcher I use.. http://linc.homeunix.org:8080/scripts/bashpodder/

Something entirely unrelated, well just barely because its also written in Python. Unrelated even to Tivos but I suspect a lot of you folks might like this. I've been using a web based mp3 streamer for years which is entirely written it Python. Its called edna , its works fantastic. I can point and click listen to my entire music collection from anywhere. Its another program I've got configured to autostart when my system boots and then I just use it frequently but never ever have to mess with any glitches because like pyTivo, it just works.


----------



## CheezWiz

armooo said:


> I just committed version 179. It adds the 16:9 blacklist while defaulting to use 16:9. It also has per tivo settings for aspect ratio. The per tivo config block will look like
> 
> ##Per tivo options
> # section named _tivo_TSN with the tsn in all caps
> [_tivo_2400000DEADBEEF]
> 
> #If you want to use 16:9 or 4:3 on this tivo
> aspect169=true


Awesome armoo!
I look forward to trying it out.

BTW, I have a very talented (computer graphics artist) student worker who has some free time in my office. I am going to have him draw up some logo's for everyones perusal. Perhaps one of them will be good enough to become the official pyTivo logo..


----------



## [email protected]

KRKeegan said:


> If you could post some note here I am sure all OSX users would appreciate it. And if you want you can send me the compiled ffmpeg in some format that won't corrupt it, "zip" maybe?? I dunno.


Ok the wiki page is edited and a compiled version of ffmpeg which works for me is also linked there as well. Just out of curiosity is pyTivo limited to 56 files in one directory? Tivo.Net sees all 60 of my mp4 files (using the same ffmpeg as pyTivo too) but pyTivo only shows 56.


----------



## armooo

There should be no limit to the number of file in a directory. I would try turning on the debug option and see if the output says anything about them being incompatible.


----------



## windracer

I've been poking around with pyTivo on Linux a bit more since pipakin has been MIA for a few weeks over on the TiVo.Net thread. Finally got it working and was able to successfully transfer a file. 

So what's the point of type=audio? Will this play music as well? I tried setting up an audio section:


Code:


[pyTiVo Audio]
type=audio
path=/home/nas/Music

But when I start up pyTivo, I get this:


Code:


----------------------------------------
Exception happened during processing of request from ('192.168.1.77', 2187)
Traceback (most recent call last):
  File "/usr/local/lib/python2.5/SocketServer.py", line 463, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/local/lib/python2.5/SocketServer.py", line 254, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/local/lib/python2.5/SocketServer.py", line 521, in __init__
    self.handle()
  File "/usr/local/lib/python2.5/BaseHTTPServer.py", line 316, in handle
    self.handle_one_request()
  File "/usr/local/lib/python2.5/BaseHTTPServer.py", line 310, in handle_one_request
    method()
  File "/usr/share/TiVo/pyTivo/httpserver.py", line 54, in do_GET
    self.RootContiner()
  File "/usr/share/TiVo/pyTivo/httpserver.py", line 78, in RootContiner
    self.wfile.write(t)
  File "/usr/local/lib/python2.5/socket.py", line 254, in write
    data = str(data) # XXX Should really reject non-string non-buffers
  File "/usr/share/TiVo/pyTivo/Cheetah/Template.py", line 990, in __str__
    def __str__(self): return getattr(self, mainMethName)()
  File "_usr_share_TiVo_pyTivo_templates_root_container_tmpl.py", line 104, in respond
  File "/usr/share/TiVo/pyTivo/plugin.py", line 7, in GetPlugin
    module = __import__(module_name, globals(), locals(), name)
ImportError: No module named audio.audio
----------------------------------------

If I comment out that section (leaving just my video one) it starts up just fine. Am I missing something? I'm using the latest build (180).


----------



## Jabo4

I had that too, I haven't tried it in this version but I'm guessing it's still looking for transcode.py in the root folder, not the plugins folder like it was.


----------



## armooo

It looks like a documentation error. The "audio" plugin is called music not audio. I will go fix that now.

The the music plugin it a very simple plugin for the Music and Photos section. It only supports mp3s, you can not fast forward / rewind in a song, but it takes very few resources. Unlike galleon I can run it while I am playing games without problems.


----------



## windracer

I changed to 'music' and now get a zlib error (and I do have zlib installed ... this is on Linux):


Code:


----------------------------------------
Exception happened during processing of request from ('192.168.1.75', 2765)
Traceback (most recent call last):
  File "/usr/local/lib/python2.5/SocketServer.py", line 463, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/local/lib/python2.5/SocketServer.py", line 254, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/local/lib/python2.5/SocketServer.py", line 521, in __init__
    self.handle()
  File "/usr/local/lib/python2.5/BaseHTTPServer.py", line 316, in handle
    self.handle_one_request()
  File "/usr/local/lib/python2.5/BaseHTTPServer.py", line 310, in handle_one_request
    method()
  File "/usr/share/TiVo/pyTivo/httpserver.py", line 54, in do_GET
    self.RootContiner()
  File "/usr/share/TiVo/pyTivo/httpserver.py", line 78, in RootContiner
    self.wfile.write(t)
  File "/usr/local/lib/python2.5/socket.py", line 254, in write
    data = str(data) # XXX Should really reject non-string non-buffers
  File "/usr/share/TiVo/pyTivo/Cheetah/Template.py", line 990, in __str__
    def __str__(self): return getattr(self, mainMethName)()
  File "_usr_share_TiVo_pyTivo_templates_root_container_tmpl.py", line 104, in respond
  File "/usr/share/TiVo/pyTivo/plugin.py", line 7, in GetPlugin
    module = __import__(module_name, globals(), locals(), name)
  File "/usr/share/TiVo/pyTivo/plugins/music/music.py", line 7, in <module>
    import eyeD3
  File "/usr/share/TiVo/pyTivo/eyeD3/__init__.py", line 42, in <module>
    import eyeD3.frames;
  File "/usr/share/TiVo/pyTivo/eyeD3/frames.py", line 21, in <module>
    import sys, os, os.path, re, zlib, StringIO, time, mimetypes;
ImportError: No module named zlib
----------------------------------------


----------



## ocntscha

Personally I'm pretty happy with Galleon which is always running on my box so I'd never bothered to try the music in pyTivo. Tried it just now though, works fine for me. I'm running Linux also Windracer. May as well say I know nothing about Python but hey this is the internet where lack of knowledge is no reason to refrain from spouting off an opinion  -- to me it looks like even though you have zlib on your system your Python doesn't have support for zlib.


----------



## windracer

ocntscha said:


> Personally I'm pretty happy with Galleon which is always running on my box so I'd never bothered to try the music in pyTivo.


Same here, just trying to give pyTivo a fair shake. 



> to me it looks like even though you have zlib on your system your Python doesn't have support for zlib.


Ah, a very distinct possibility. I'll check that out, thanks.


----------



## bcooper367

I've recently played around with Tivo.Net and pyTivo. I love them both. I do like the simplicity of pyTivo, but I like the added configuration allowed with Tivo.Net.

One example, I like being able to set the quality of the video. Although I'm no expert and it's hard for me to tell sometimes, I believe the quality of the video stream is higher with Tivo.Net (when using the higher quality video settings).

Can anyone tell me what the bitrate is of the pyTivo stream?

Thanks,
Brian


----------



## dlfl

4096 kbps for video + 192 kbps for audio. And I believe it would be very easy to make this configurable via pyTivo.conf .


----------



## armooo

I added a new ticket for bitrate settings. I bet it will get done this week. http://pytivo.armooo.net/ticket/8


----------



## KRKeegan

armooo said:


> I added a new ticket for bitrate settings. I bet it will get done this week. http://pytivo.armooo.net/ticket/8


Sorry everyone I have been swamped with work the past few days, and it doesn't look like it is going to get much better. I will be out of town from th 29th to the 9th so I will be absolutely no help.

But in the mean time, I never got to it, but *inthewoods* made a bunch of mods that I never got to check out. But included in it was the ability to change bitrate settings and width settings. Everything looked pretty good to me but like I said I had little chance to tinker with it. *Armooo* check it out in his post here it should save you some time.

In the mean time again I apologize for sneaking away for a few days, but hopefully when I get back I can kick in some more time for new features.

Kevin


----------



## TreborPugly

dlfl said:


> 4096 kbps for video + 192 kbps for audio. And I believe it would be very easy to make this configurable via pyTivo.conf .


This is higher quality than most things I'd be transferring from my PC, so I just edited this number in the file "transcode.ty" (to 1024), and now I'm getting smaller (and faster) transfers. I particularly like the speed to be such that I can watch it as I transfer.

I don't know if this is related however, but my Tivo warns me that it might have to delete a number of recordings early or not be able to record things if I transfer a video now. I only just started with pyTivo a week ago, so I don't know if this is because I changed the bitrate, or because of the video I happen to be transferring.

The file isn't actually large once it's transferred. (I think 0.75 GB for a 43 minute video)


----------



## armooo

Take a look at est_size() line 64 in trunk/plugins/video/video.py. http://pytivo.armooo.net/browser/trunk/plugins/video/video.py#L64 The that is the file size that is reported to your tivo, and if you change the bitrate constant there as well you will have better results.


----------



## TreborPugly

armooo said:


> Take a look at est_size() line 64 in trunk/plugins/video/video.py. http://pytivo.armooo.net/browser/trunk/plugins/video/video.py#L64 The that is the file size that is reported to your tivo, and if you change the bitrate constant there as well you will have better results.


Excellent. Thanks.

Next question: I have an external, Network attached hard drive. It is a bit slow, but I can use Videora to transcode a video that is sitting on that drive (and the transcoding takes less time than the length of the video), so it is fast enough for that. However, if I try to make my Video directory for pyTivo some directory on that hard drive, I get the message in the Now Playing list that it couldn't create the list due to an error. (Can't remember exact message, but it isn't descriptive)

Note that I've never had success using this network drive for my "My Tivo Recordings" directory either.


----------



## etsolow

armooo said:


> I just committed version 179. It adds the 16:9 blacklist while defaulting to use 16:9. It also has per tivo settings for aspect ratio. The per tivo config block will look like
> 
> ##Per tivo options
> # section named _tivo_TSN with the tsn in all caps
> [_tivo_2400000DEADBEEF]
> 
> #If you want to use 16:9 or 4:3 on this tivo
> aspect169=true


What a great app! I've got 4:3 video working fine under version 181, but I can't get 16:9 to play correctly -- it's all a jumble. I've set the 'aspect169=true' flag for this Tivo... what am I missing?

Oh, and TiVo? I'm ready for video transfers on the ol' S3, k? Thanks!


----------



## armooo

If you are outputting to a 4:3 tv some tivos are know to not be a be able to correctly play back 16:9 encoded files to 4:3 TVs. Right now tivos with TSNs starting with '540', '649' are known not to work. If you set aspect169=false for your tivo and it starts to work report the first 3 digits of your TSN and I will add it to the default blacklist.

If you are using a 16:9 tv make sure to have the tivo set to output 16:9.


----------



## armooo

TreborPugly said:


> Excellent. Thanks.
> 
> Next question: I have an external, Network attached hard drive. It is a bit slow, but I can use Videora to transcode a video that is sitting on that drive (and the transcoding takes less time than the length of the video), so it is fast enough for that. However, if I try to make my Video directory for pyTivo some directory on that hard drive, I get the message in the Now Playing list that it couldn't create the list due to an error. (Can't remember exact message, but it isn't descriptive)
> 
> Note that I've never had success using this network drive for my "My Tivo Recordings" directory either.


I am having no problem using path=\\Steph\Desktop\Videos to access from a different pc. You may want to try mounting it to a drive letter. It may take a very long time if you have a lot of videos in one folder. So trying with just one video first may help.


----------



## pufftissue

Could someone put together a guide for the dumb dummy no detail is too trivial, talk to me like I'm a retarded baby tutorial on how to install this pytivo thing?

Tivo.net has an installation issue even on a clean install of windows, so that's out.

For pytivo, I have installed python. It grabbed pywin32 or something automatically.

Now I have tivo desktop installed already.

In the configurater that pops up, I selected "My movies" and pointed it to c:/documents.......... all the way to my video folder

It installs


I fire up my tivo and there is nothing.

I have no idea if I should see something running in the system tray at the bottom right hand corner or what.

Thanks


----------



## windracer

pufftissue said:


> Tivo.net has an installation issue even on a clean install of windows, so that's out.


Just wanted to point out that the 0.97 version (the one that says 'fixed' in the filename) is a bad installer ... it's a known problem. The earlier version should install just fine.


----------



## etsolow

armooo said:


> If you are outputting to a 4:3 tv some tivos are know to not be a be able to correctly play back 16:9 encoded files to 4:3 TVs. Right now tivos with TSNs starting with '540', '649' are known not to work. If you set aspect169=false for your tivo and it starts to work report the first 3 digits of your TSN and I will add it to the default blacklist.
> 
> If you are using a 16:9 tv make sure to have the tivo set to output 16:9.


I do have a 16:9 TV, and the Tivo is set to output 16:9. My TSN starts with 595. So I take you would say that should be working?


----------



## reneg

pufftissue said:


> Could someone put together a guide for the dumb dummy no detail is too trivial, talk to me like I'm a retarded baby tutorial on how to install this pytivo thing?
> 
> Tivo.net has an installation issue even on a clean install of windows, so that's out.
> 
> For pytivo, I have installed python. It grabbed pywin32 or something automatically.
> 
> Now I have tivo desktop installed already.
> 
> In the configurater that pops up, I selected "My movies" and pointed it to c:/documents.......... all the way to my video folder
> 
> It installs
> 
> I fire up my tivo and there is nothing.
> 
> I have no idea if I should see something running in the system tray at the bottom right hand corner or what.
> 
> Thanks


I installed PyTivo for the first time this week. I've given up on Tivo.net for now because of lack of updates and too much fiddling with getting transfers to stay on my Tivo.

Kudos to the PyTivo installation program, pyTivo_XXX_setup.exe. It is a good place to start for non-technical users as it installs Python and pyTivo. I didn't even mess with the PyTivo.zip files. Configuration of PyTivo requires a bit more technical knowledge as it requires manually editing a configuration file.
The Wiki pages for windows installation helped a lot: http://pytivo.armooo.net/wiki/WindowsInstall.

Firewall settings also require tinkering but is required for both Tivo.net and PyTivo.


----------



## etsolow

pufftissue said:


> In the configurater that pops up, I selected "My movies" and pointed it to c:/documents.......... all the way to my video folder
> 
> It installs
> 
> I fire up my tivo and there is nothing.
> 
> I have no idea if I should see something running in the system tray at the bottom right hand corner or what.


You won't see anything in the system tray, but if you check your services you should see a pyTivo service.

I didn't have much luck using the configurator, and I found it unintuitive. Editing the pytivo.conf by hand worked much better for me.

Here's a basic config that works for me, with the exception of 16:9 videos, as noted above:



Code:


[DownloadedTV]
type = video
path = C:/Data/Download/VIDEO

[_tivo_595-snip-]
aspect169 = true

[Server]
guid = {-snip-}
port = 9032
ffmpeg = C:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe

(I've snipped out unique identifying numbers.)


----------



## reneg

armooo said:


> I just committed version 179. It adds the 16:9 blacklist while defaulting to use 16:9. *It also has per tivo settings for aspect ratio.* The per tivo config block will look like
> 
> ##Per tivo options
> # section named _tivo_TSN with the tsn in all caps
> [_tivo_2400000DEADBEEF]
> 
> #If you want to use 16:9 or 4:3 on this tivo
> aspect169=true


Maybe I'm reading more into this than is there in the code. Is this TSN section a generic blacklist section or is it referring to each of the Tivos that PyTivo sees? If it is the latter, it might be nice to have an enable/disable PyTivo flag so you can turn PyTivo on or off in a multiple Tivo household.


----------



## pufftissue

Just to know: 

does tivo.net or pytivo work on the series 3 tivos? That's what I have and maybe that's why it isn't working for me.


----------



## muzician

armooo said:


> Originally Posted by TreborPugly
> Excellent. Thanks.
> 
> Next question: I have an external, Network attached hard drive. It is a bit slow, but I can use Videora to transcode a video that is sitting on that drive (and the transcoding takes less time than the length of the video), so it is fast enough for that. However, if I try to make my Video directory for pyTivo some directory on that hard drive, I get the message in the Now Playing list that it couldn't create the list due to an error. (Can't remember exact message, but it isn't descriptive)
> 
> Note that I've never had success using this network drive for my "My Tivo Recordings" directory either.
> -------------------------------
> 
> I am having no problem using path=\\Steph\Desktop\Videos to access from a different pc. You may want to try mounting it to a drive letter. It may take a very long time if you have a lot of videos in one folder. So trying with just one video first may help.


I am having the same issue. I am using Windows XP and I get the same error when trying to use any mapped drive as a source for my videos. I did try to create a test directory with only one video in it that worked on a local drive to no avail. I tried using the mapped drive letter as well as trying to map directly to the \\server/share. I've tried it on 2 different mapped drives on 2 different computers.

Any help would be appreciated.

Otherwise... a very cool program! Thanks for your efforts! :up:


----------



## etsolow

pufftissue said:


> Just to know:
> 
> does tivo.net or pytivo work on the series 3 tivos? That's what I have and maybe that's why it isn't working for me.


Nope!


----------



## pufftissue

etsolow said:


> Nope!


Well that was one night's sleep that I won't get back.

Hehe. Please tell me it's not plastered all over the FAQ/Wiki that series 3 is not supported yet. That would only add insult to stupidity.


----------



## armooo

muzician said:


> I am having the same issue. I am using Windows XP and I get the same error when trying to use any mapped drive as a source for my videos. I did try to create a test directory with only one video in it that worked on a local drive to no avail. I tried using the mapped drive letter as well as trying to map directly to the \\server/share. I've tried it on 2 different mapped drives on 2 different computers.
> 
> Any help would be appreciated.
> 
> Otherwise... a very cool program! Thanks for your efforts! :up:


The only other thing I can think of trying is adding '\\' to the end of your path. So you should try

path=\\server\share\\


----------



## etsolow

pufftissue said:


> Well that was one night's sleep that I won't get back.
> 
> Hehe. Please tell me it's not plastered all over the FAQ/Wiki that series 3 is not supported yet. That would only add insult to stupidity.


Nah, I don't think it is. This forum, on the other hand, is littered with cries pleading with TiVo to enable video transfers on the S3. (Like this one: c'mon already TiVo!!)


----------



## jkomaha

I'm running build 180 or 181 and am running into an issue....

I have files named:
Star Trek Voyager - 306 - Remember 
Star Trek Voyager - 307 - Sacred Ground

and many others..... I was unable to get any files with odd numbers in them to play. For example filename - 305 - morefilename and filename - 307 - morefilename would not encode. pyTivo would throw errors.

When I renamed 'Star Trek Voyager - 307 - Sacred Ground' to '3x7 Sacred Ground' the encoding kicked right in. Might there be an issue with having - ### - in filenames the the more recent releases? I didn't have this issue until i upgraded recently from the 16?? builds to 180/181.

Thanks


----------



## ocntscha

jkomaha said:


> I'm running build 180 or 181 and am running into an issue....
> 
> I have files named:
> Star Trek Voyager - 306 - Remember
> Star Trek Voyager - 307 - Sacred Ground
> 
> and many others..... I was unable to get any files with odd numbers in them to play. For example filename - 305 - morefilename and filename - 307 - morefilename would not encode. pyTivo would throw errors.
> 
> When I renamed 'Star Trek Voyager - 307 - Sacred Ground' to '3x7 Sacred Ground' the encoding kicked right in. Might there be an issue with having - ### - in filenames the the more recent releases? I didn't have this issue until i upgraded recently from the 16?? builds to 180/181.
> 
> Thanks


what the heck?? That is bizarre. So what exactly did the errors say? What happens if you rename '3x7 Sacred Ground' back to 'Star Trek Voyager - 307 - Sacred Ground' and attempt to transfer it again, does it fail again?


----------



## armooo

jkomaha said:


> I'm running build 180 or 181 and am running into an issue....
> 
> I have files named:
> Star Trek Voyager - 306 - Remember
> Star Trek Voyager - 307 - Sacred Ground
> 
> and many others..... I was unable to get any files with odd numbers in them to play. For example filename - 305 - morefilename and filename - 307 - morefilename would not encode. pyTivo would throw errors.
> 
> When I renamed 'Star Trek Voyager - 307 - Sacred Ground' to '3x7 Sacred Ground' the encoding kicked right in. Might there be an issue with having - ### - in filenames the the more recent releases? I didn't have this issue until i upgraded recently from the 16?? builds to 180/181.
> 
> Thanks


Could you in include the error message, I tried to recreate this but had no luck.


----------



## dlfl

Interesting thread starter  by Tobashadow on how to handle podcasts with pyTivo. Haven't tried it yet but if it works well we should ask his permission to paste his post into the Wiki.


----------



## Tobashadow

copy paste away


----------



## dlfl

Seems to work fine for me! Just watched dl.tv #152.

For a while I thought it was too good to be true -- I started the pyTivo transfer before the complete file had downloaded (just to see what would happen). It played OK! But only for part of the program. So I waited until the download completed then restarted the pyTivo transfer -- worked great!


----------



## inthewoods

armooo said:


> Take a look at est_size()....


I've added my updated patch to your change ticket #8. The patch is attached to the Wiki ticket and this post (I can't post a URL yet).

It supports configuration for the following:

Audio and Video bitrates, including size est
Output width (defaulting to 544)
Beacon IP list instead of single 255.255.255.255 (for multihome machines, python appears to only broadcast to one interface using the default)


----------



## dlfl

dlfl said:


> Interesting thread starter  by Tobashadow on how to handle podcasts with pyTivo. Haven't tried it yet but if it works well we should ask his permission to paste his post into the Wiki.


With Tobashadow's permission, and after testing the podcast feature, I added this to the Wiki. In connection with this I made the following changes:

1. Added a "Special Features" heading to the main Wiki page and made the podcast item/link the first subheading under it.

2. Created a linked podcast page that currently just contains a link to Tobashadow's post giving instructions for podcasts. We have Tobashadow's permission to paste the content of his post here if desired -- perhaps that would be preferable ?

3. Since the main page is getting rather long, inserted a topic outline macro near the top which links to the headings on the page. I used the "inline" version of this macro but the other version, "pullout", is kind of nice too. See what you think. (Edit the page, change "inline" to "pullout", and preview.)


----------



## etsolow

armooo said:


> If you are outputting to a 4:3 tv some tivos are know to not be a be able to correctly play back 16:9 encoded files to 4:3 TVs. Right now tivos with TSNs starting with '540', '649' are known not to work. If you set aspect169=false for your tivo and it starts to work report the first 3 digits of your TSN and I will add it to the default blacklist.
> 
> If you are using a 16:9 tv make sure to have the tivo set to output 16:9.


I set aspect169=false and widescreen videos are working fine now. Since it's a 16:9 TV they play with black bars on all 4 sides, but I can just use the TV's zoom and it looks fine.

E


----------



## dlfl

inthewoods said:


> I've added my updated patch to your change ticket #8. The patch is attached to the Wiki ticket and this post (I can't post a URL yet).
> 
> It supports configuration for the following:
> 
> Audio and Video bitrates, including size est
> Output width (defaulting to 544)
> Beacon IP list instead of single 255.255.255.255 (for multihome machines, python appears to only broadcast to one interface using the default)


I think the default width you chose is good for your 540. Do we know if it will be good for other models? (e.g., 649 and 240).

544x480 (3/4 D1) is listed as an acceptable size in the Tivo-go-back specs  but I haven't tried it on my 649. (It does not record to that size for any quality setting.)

I believe pyTivo is already reading the model number from info sent by the Tivo, so it should be possible to set the output width differently for different models -- if necessary.

Edit:
I just edited my transcode.py file to force it to encode to 544 width and transfered a 320x240 WMV to my TiVo. Seemed to work fine.


----------



## armooo

The width of 544 is working on my 240. And the patch has been applied to the trunk.


----------



## ocntscha

dlfl said:


> For a while I thought it was too good to be true -- I started the pyTivo transfer before the complete file had downloaded (just to see what would happen). It played OK! But only for part of the program.


I run it on Linux and use bashpodder as my podcatcher. I can start watching a podcast on my Tivo via pyTivo as its being downloaded with bashpodder and it will view all the way through until the end no problem.

I wonder dlfl if maybe your podcatcher was downloading kind of slow and pyTivo "caught up" with it.


----------



## dlfl

ocntscha said:


> Hmm, I run it on Linux and use bashpodder as my podcatcher and I can start watching a podcast on my Tivo via pyTivo as its being downloaded with bashpodder and it will view all the way until the end no problem.


Hmm.... and hmm again! I tried to repeat this today and Doppler now is appending ".incomplete" to every file name it is downloading -- which means it isn't recognized at all in the NPL list. (Presumably it will be after the download completes and [presumably] Doppler removes the incomplete extension). I uninstalled Doppler and installed a different version and it did the same thing.

So now I'm wondering how I ever started transfering a file via pyTivo while Doppler was still downloading it !  
Any recommendations for solid Windows XP podcatcher software will be appreciated! Although I can't fault Doppler for this behavior since it probably prevents some bad effects resulting from trying to use the downloaded file before it is complete. Just seems strange that its behavior has changed overnight!

@Tobashadow: Does your Doppler act like this?

I looked up bashpodder but it seems to be unix/linux only so I can't use it.

*EDIT: Never mind! Must have been a brain fart!*
What must have happened:
1. While I was getting familiar with Doppler it downloaded at least one complete episode of DL.TV and was working on another.
2. I started playing the complete already downloaded episode via pyTivo but thinking I was transfering the one that was currently downloading.
3. All this downloading and transfering was funneling through my wireless laptop connection into my router and it got behind on the pyTivo transfer.

I suspect that (bandwidth permitting) I could pyTivo transfer a file while it was still downloading -- but it would require a different podcatcher that didn't assign a temporary name (with a non-video extension) to the file being downloaded. For this to work requires the duration to be available from the file header, which it must be or *ocntscha* wouldn't be able to do it! (I think.)

Well I hope this has been a valuable learning experience for someone besides me!


----------



## Tobashadow

dlfl said:


> Hmm.... and hmm again! I tried to repeat this today and Doppler now is appending ".incomplete" to every file name it is downloading -- which means it isn't recognized at all in the NPL list. (Presumably it will be after the download completes and [presumably] Doppler removes the incomplete extension). I uninstalled Doppler and installed a different version and it did the same thing.
> 
> So now I'm wondering how I ever started transfering a file via pyTivo while Doppler was still downloading it !
> Any recommendations for solid Windows XP podcatcher software will be appreciated! Although I can't fault Doppler for this behavior since it probably prevents some bad effects resulting from trying to use the downloaded file before it is complete. Just seems strange that its behavior has changed overnight!
> 
> @Tobashadow: Does your Doppler act like this?
> 
> I looked up bashpodder but it seems to be unix/linux only so I can't use it.
> 
> *EDIT: Never mind! Must have been a brain fart!*
> What must have happened:
> 1. While I was getting getting familiar with Doppler it downloaded at least one complete episode of DL.TV and was working on another.
> 2. I started playing the complete already downloaded episode via pyTivo but thinking I was transfering the one that was currently downloading.
> 3. All this downloading and transfering was funneling through my wireless laptop connection into my router and it got behind on the pyTivo transfer.
> 
> I suspect that (bandwidth permitting) I could pyTivo transfer a file while it was still downloading -- but it would require a different podcatcher that didn't assign a temporary name (with a non-video extension) to the file being downloaded. For this to work requires the duration to be available from the file header, which it must be or *ocntscha* wouldn't be able to do it! (I think.)
> 
> Well I hope this has been a valuable learning experience for someone besides me!


No bad effect's on my end, i choose Doppler for the low memory usage and that it allows you to pick the download folder on a per podcast feed ability, and for the automatic cleanup feature.

My net connection download's a average 200mb video file fast enough that i wouldnt have a problem with incomplete file's. I also tend to not watch stuff while it is being transcoded on the fly to the tivo right after it start's. I give it 5-15 min's or so of a headstart incase of bottleneck's in the network or glitch's on the computer or for large area's in the video i wish to skip.


----------



## windracer

Here's a weird problem ...

I have a bunch of subfolders (like I'm sure most of you do) under /home/nas/Videos (which pyTivo is pointed to). They all show up properly via the NPL and I can browse them and see the recordings inside them ...

... except for the folder called Movies. If I go into that folder, it comes up empty. It's got a bunch of files in it: .mp4, .mpg., .TiVo, .avi, etc. None of them show up. I have the same variety in the other folders and they work ... it's just the Movies folder.

Any ideas?


----------



## etsolow

Determine if it's the name of the folder causing problems by renaming it to something else?


----------



## ocntscha

windracer said:


> Here's a weird problem ...
> 
> I have a bunch of subfolders (like I'm sure most of you do) under /home/nas/Videos (which pyTivo is pointed to). They all show up properly via the NPL and I can browse them and see the recordings inside them ...
> 
> ... except for the folder called Movies. If I go into that folder, it comes up empty. It's got a bunch of files in it: .mp4, .mpg., .TiVo, .avi, etc. None of them show up. I have the same variety in the other folders and they work ... it's just the Movies folder.
> 
> Any ideas?


Maybe the user pyTivo's running as doesn't have permission into that folder and/or to read the files?


----------



## windracer

It's not permissions ... every subdirectory under /home/nas/Videos has the same owner and rights.

I tried shutting down pyTiVo then renamed 'Movies' to 'Films' and started pyTiVo again. Now, no matter what folder I pick, I'm presented with two subfolders: Season 1 and Season 2. If I pick one of _those_ folders I'm just shown Season 1 and Season 2 again. This is the structure under my "Dead Like Me" folder under /home/nas/Videos and I'm not sure why pyTiVo is stuck in it. I've tried restarting multiple times and now can't get it to show anything but those two folders when I pick a subfolder.

For illustration:



Code:


Videos
  Da Ali G Show (folder)
    <files>
  Day Break (folder)
    <files>
  Dead Like Me (folder)
    Season 1
      <files>
    Season 2
      <files>
  Doctor Who Season 2 (2006)
    <files>
  Films
    <files>
  Heroes
    <files>
  Lost
    Season 1
      <files>
    Season 2
      <files>
    <files>
  Robot Chicken
    <files>
  <files>

So where I'm stuck now ... when I go into pyTiVo, I can see all the subfolders under "Videos" and the <files> in that same folder. As soon as I pick a subfolder (say, "Heroes") I see two folders (Season 1 and Season 2). I can pick either of those and see the same two folders again and again and again and never get to any files.

WTF? Is there a cache or something I should be clearing?


----------



## etsolow

windracer said:


> I tried shutting down pyTiVo then renamed 'Movies' to 'Films' and started pyTiVo again. Now, no matter what folder I pick, I'm presented with two subfolders: Season 1 and Season 2.


Well, that at least _seems_ to indicate that the behavior is changing based on the name of this folder. Rename it to something arbitrary... maybe the code looks for folders with common names and behaves differently (and buggily) when it finds them?


----------



## armooo

windracer, this is very strange could get me the output from http://localhost:9032/TiVoConnect?Command=QueryContainer&Container=MyMovies (replace MyMovies with the name of your share.


----------



## Chew

I just installed this over the weekend and it's been working great except for one weird problem. 

My podcast folder includes subfolders for each podcast. When I go into that subfolder and come back out of it through the now playing list, my now playing list continues to show those subfolders now plus the MyMovies icon. Sorta like that's the actual now playing list. When I back out again, I'm at the main menu. Going back into now playing will show that again, my actual now playing list "disappears".

I usually have to do a few things to get it to come back properly, like go to live TV or play a video in the Showcase area or something like that. 

Example of what it should look like:
"24"
"Prison Break"
MyMovies icon
Podcasts icon

What is does look like when this happens:
The Ask a Ninja folder
The DL.TV folder
MyMovies icon
Podcasts icon

I'm using iTunes for podcasts and I couldn't find an option to not create subfolders. I believe Doppler doesn't have that option either?


----------



## windracer

armooo said:


> windracer, this is very strange could get me the output from http://localhost:9032/TiVoConnect?Command=QueryContainer&Container=MyMovies (replace MyMovies with the name of your share.


PM sent.

The XML stopped after 10 items, even though there are more in my high-level folder. Is that normal?


----------



## armooo

Chew said:


> I just installed this over the weekend and it's been working great except for one weird problem.
> 
> My podcast folder includes subfolders for each podcast. When I go into that subfolder and come back out of it through the now playing list, my now playing list continues to show those subfolders now plus the MyMovies icon. Sorta like that's the actual now playing list. When I back out again, I'm at the main menu. Going back into now playing will show that again, my actual now playing list "disappears".
> 
> I usually have to do a few things to get it to come back properly, like go to live TV or play a video in the Showcase area or something like that.
> 
> Example of what it should look like:
> "24"
> "Prison Break"
> MyMovies icon
> Podcasts icon
> 
> What is does look like when this happens:
> The Ask a Ninja folder
> The DL.TV folder
> MyMovies icon
> Podcasts icon
> 
> I'm using iTunes for podcasts and I couldn't find an option to not create subfolders. I believe Doppler doesn't have that option either?


This is a Know Issue the same problem has been seen with galleon's goback, so I think it is a TiVo problem seeing how there goback has no subfolders.


----------



## armooo

windracer said:


> PM sent.
> 
> The XML stopped after 10 items, even though there are more in my high-level folder. Is that normal?


Yes the default ItemCount is 10. You can add &ItemCount=26 and you will see a max of 26 items.


----------



## Chew

armooo said:


> This is a Know Issue the same problem has been seen with galleon's goback, so I think it is a TiVo problem seeing how there goback has no subfolders.


Thanks.


----------



## PeteTV

First... I have a Series 3, but as I understand from a previous post Music should work, just not Video. I'm running pyTivo-181 from a Linux box. When I go into "Music, Photos, & More", I can see the "MyMusic" entry and if I select it I can see all the music files (mp3s), but if I try to play any the TiVo says unsupported format and on my Linux terminal where pyTivo is running I see:



Code:


Exception happened during processing of request from ('192.168.0.10', 2032)
Traceback (most recent call last):
  File "/usr/local/lib/python2.4/SocketServer.py", line 463, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/local/lib/python2.4/SocketServer.py", line 254, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/local/lib/python2.4/SocketServer.py", line 521, in __init__
    self.handle()
  File "/usr/local/lib/python2.4/BaseHTTPServer.py", line 316, in handle
    self.handle_one_request()
  File "/usr/local/lib/python2.4/BaseHTTPServer.py", line 310, in handle_one_request
    method()
  File "/usr/local/pyTivo/httpserver.py", line 36, in do_GET
    plugin.SendFile(self, container, name)
  File "/usr/local/pyTivo/plugin.py", line 28, in SendFile
    path = unquote_plus(o.path)
AttributeError: 'tuple' object has no attribute 'path'


----------



## armooo

PeteTV said:


> First... I have a Series 3, but as I understand from a previous post Music should work, just not Video. I'm running pyTivo-181 from a Linux box. When I go into "Music, Photos, & More", I can see the "MyMusic" entry and if I select it I can see all the music files (mp3s), but if I try to play any the TiVo says unsupported format and on my Linux terminal where pyTivo is running I see:
> 
> 
> 
> Code:
> 
> 
> Exception happened during processing of request from ('192.168.0.10', 2032)
> Traceback (most recent call last):
> File "/usr/local/lib/python2.4/SocketServer.py", line 463, in process_request_thread
> self.finish_request(request, client_address)
> File "/usr/local/lib/python2.4/SocketServer.py", line 254, in finish_request
> self.RequestHandlerClass(request, client_address, self)
> File "/usr/local/lib/python2.4/SocketServer.py", line 521, in __init__
> self.handle()
> File "/usr/local/lib/python2.4/BaseHTTPServer.py", line 316, in handle
> self.handle_one_request()
> File "/usr/local/lib/python2.4/BaseHTTPServer.py", line 310, in handle_one_request
> method()
> File "/usr/local/pyTivo/httpserver.py", line 36, in do_GET
> plugin.SendFile(self, container, name)
> File "/usr/local/pyTivo/plugin.py", line 28, in SendFile
> path = unquote_plus(o.path)
> AttributeError: 'tuple' object has no attribute 'path'


Looks like you are running on python 2.4. In 2.5 the return value of urlparse changed. I just committed a a version that will work in 2.4 and 2.5 it is 185.


----------



## dlfl

OK, how many of you noticed this example video bitrate line in recent pyTivo.conf distributions:


> #video_br=3Mi


Now how many of you are honest enough to admit that, like me, you thought this must be a typo? (But you knew what was really needed was something like "4096K" so it didn't phase you.)

Well I've gotten into the habit of googling "wiki <xxxx>" for any <xxxx> that puzzles me so finally I ended up at this Wikipedia page  and lo and behold, "Mi" is an abbreviation for the binary prefix "mebi" which means (unambiguously) 2^20. These IEC prefixes are intended to avoid the ambiguity where "M" and "k" and "K" can mean different mulipliers depending on context -- and on the eyes of the beholder sometimes.

OK, now 'fess up -- don't leave me thinking I was the only one...... 

BTW, I found you can use k, K, M, or Mi for the bitrate number in the .conf file. They are all accepted by ffmpeg . k and K have identical meanings. but M and Mi will give encoding rates that differ by a factor of 1.024. And 4Mi gives 4194kb encoding rate.


----------



## PeteTV

armooo said:


> Looks like you are running on python 2.4. In 2.5 the return value of urlparse changed. I just committed a a version that will work in 2.4 and 2.5 it is 185.


That works... well... that fixes the problem playing the music anyway.... now there's a different problem which also appears to be a 2.4 vs 2.5 problem.

This appears right when starting the server.



Code:


$ python pyTivo.py
Traceback (most recent call last):
  File "pyTivo.py", line 4, in ?
    import beacon, httpserver, os, sys
  File "/usr/local/pyTivo/beacon.py", line 3, in ?
    from Config import config
  File "/usr/local/pyTivo/Config.py", line 52
    return reduce(lambda a, b: a if abs(x-a) < abs(x-b) or (abs(x-a) == abs(x-b)and a>b) else b, list)
                                  ^
SyntaxError: invalid syntax

I compiled Python 2.5 and this error goes away and I can play music.

NOW if only TiVo would enable video on the S3 I'd be a happy camper.


----------



## cyclone

I believe the blacklist is overly broad with regards to 16:9. My Tivo, TSN#540xxxxxxxxxxxx (Tivo-brand S2 80GB), works fine with 16:9, but "540" is in the blacklist in Config.py. Removing it allows the aspect ratio to work correctly.

Perhaps more digits need to be used to set this appropriately?


----------



## windracer

cyclone said:


> My Tivo, TSN#540000xxxxxxxxx (Tivo-brand S2 80GB)


You might want to edit your post and take out the entire TSN since that's unique to your box (and account).

Plus, IIRC, only the first three digits are needed to identify the actual hardware.


----------



## inthewoods

PeteTV said:


> Code:
> 
> 
> ^
> SyntaxError: invalid syntax
> 
> I compiled Python 2.5 and this error goes away and I can play music.


Dang, that is my fault...

I'm a Python n00b and didn't realize that I was using a new language feature.

If you want to preserve the 2.4 compatibility of pyTivo, then apply this patch, the symantics are slightly different in that when given an invalid width, this version will choose the next higher resolution instead of the nearest resolution, but in practice it shouldn't matter and it definitely is simpler:



Code:


Index: Config.py
===================================================================
--- Config.py	(revision 185)
+++ Config.py	(working copy)
@@ -1,5 +1,4 @@
 import ConfigParser, os
-import re
 from ConfigParser import NoOptionError
 
 BLACKLIST_169 = ('540', '649')
@@ -46,13 +45,13 @@
 def getValidHeights():
     return [480] # Technically 240 is also supported
 
-# Return the number in list that is nearest to x
-# if two values are equidistant, return the larger
-def nearest(x, list):
-    return reduce(lambda a, b: a if abs(x-a) < abs(x-b) or (abs(x-a) == abs(x-b)and a>b) else b, list)
-
 def nearestTivoWidth(width):
-    return nearest(width, getValidWidths())
+    widths = getValidWidths()
+    widths.sort()
+    for w in widths:
+        if (width <= w):
+            return w
+    return max(widths)
 
 def getTivoWidth():
     try:


----------



## ScaryMike

I just wanted to say thanks to all of you who are working on this. I've got this running on my winxp machine and so far its great. I have one 260 connected to a 16x9 tv, and one 590 connected to a 4:3. Its all working great (had to aspect169=false the 590)

Anyhow, keep up the good work, and thanks!

-Mike


----------



## slestak

Hi Guys,

I'm trying to get pyTivo running on my lan. I believe I have everything on my ubuntu server correct, but seem to be having a total MRV failure. None of my 3 series2's list each other on their NPL's, much less the new pyTivo on the lan.

Does MRV have anything to do with the "Manually Add Server" option on the tivo?


----------



## windracer

No, the "Manually Add Server" is for HME apps.

MRV should be working assuming a) all of your TiVos have the same MAK and b) they are all on the same subnet.

Try the Advanced Troubleshooting screen. It's under Messages & Settings, Troubleshooting, Transfers, then press Enter.


----------



## Expunged

windracer said:


> Here's a weird problem ...
> 
> I have a bunch of subfolders (like I'm sure most of you do) under /home/nas/Videos (which pyTivo is pointed to). They all show up properly via the NPL and I can browse them and see the recordings inside them ...
> 
> ... except for the folder called Movies. If I go into that folder, it comes up empty. It's got a bunch of files in it: .mp4, .mpg., .TiVo, .avi, etc. None of them show up. I have the same variety in the other folders and they work ... it's just the Movies folder.
> 
> Any ideas?


I am having the same problem. Full reinstall of pytivo and restarting the tivo didnt take care of the issue. Running build 185. Reverting back to the older build (181) which was working fine still does not fix the issue.



armooo said:


> windracer, this is very strange could get me the output from http://localhost:9032/TiVoConnect?Command=QueryContainer&Container=MyMovies (replace MyMovies with the name of your share.


armooo: I'll produce the output tonight and send you the results.


----------



## slestak

windracer said:


> MRV should be working assuming a) all of your TiVos have the same MAK and b) they are all on the same subnet.


All three use tivo wireless G adapters, so they all associate with the same AP. They are all on the 192.168.0 network.



windracer said:


> Try the Advanced Troubleshooting screen. It's under Messages & Settings, Troubleshooting, Transfers, then press Enter.


I went through those steps. No joy.

I wonder. The newest tivo may not have the media access key set. Is that set by the network update from tivo by the DVR preferences? If one of the three does not have it set, i wonder if that will prevent all of MRV from working on the lan...

Thanks.

btw. I went to the localhost url for my pyTivo server and I do see the media folder i set up on there, so I know its just the tivo's at this point.


----------



## windracer

I would think that even if one TiVo on the LAN did not have a MAK, the others would still be able to communucate. Have you checked the Advanced Troubleshooting screen on the old boxes (the ones with the MAK)?

Can you access the https interface on all three boxes using your browser?


----------



## windracer

windracer said:


> Now, no matter what folder I pick, I'm presented with two subfolders: Season 1 and Season 2. If I pick one of _those_ folders I'm just shown Season 1 and Season 2 again.


Well, this might not be pyTivo's fault. I switched back to TiVo.Net and am seeing similar strange subfolder results.


----------



## Justin Thyme

pufftissue said:


> Just to know:
> 
> does tivo.net or pytivo work on the series 3 tivos? That's what I have and maybe that's why it isn't working for me.





etsolow said:


> Nope!


It doesn't work on S3's only because the system settings for TivoToGo are i,i,i on practically every S3 in Tivodom. However, there are a few lucky folks that have TivoToGo accidentally enabled on their machines, apparently due to some configuration Snafu during installation. I don't know how it happenned on my machine, but I have a,a,a. There may be a way to hack the S3 to set the flags, but there is no concensus on the subject. In any case, I can't confirm there is any way to switch the TTG flags from i,i,i to a,a,a.

Anyway, I can report that PyTivo works on an S3. I have transfered both .mpg and .divx shows. As I reported earlier this week in another thread, I have done the same with Tivo.Net.

If there are any experiments I can run, let me know. My pytivo.conf has no special settings- as installed except for path.


----------



## Justin Thyme

Ok, just for fun I tried:
width = 1440
height = 720
video_br=12Mi 

My old version of PyTivo (182) output it as 720x480, yuv420p. Input was a 1440x1080 25mbps VBR hidef mpeg2.

Should have given me 720 or 1080 high, so I can't confirm HD transfers. Anyway, PyTivo on the S3 is great.


----------



## armooo

Justin Thyme said:


> Ok, just for fun I tried:
> width = 1440
> height = 720
> video_br=12Mi
> 
> My old version of PyTivo (182) output it as 720x480, yuv420p. Input was a 1440x1080 25mbps VBR hidef mpeg2.
> 
> Should have given me 720 or 1080 high, so I can't confirm HD transfers. Anyway, PyTivo on the S3 is great.


pyTIvo is setup to only allow height/width settings that are supported by s2 tivos. If you edit line 44 and 47 in Config.py you can add the new sizes.

I just updated it to support 1440x720 output version 186. It looks to output a correct mpeg (I think we should be padding the bottom 4 lines or something but I am not)

Input #0, avi, from '/media/media/video/Bleach/[DB]_Bleach_55_[E8C96F59].avi':
Duration: 00:24:34.8, start: 0.000000, bitrate: 967 kb/s
Stream #0.0: Video: mpeg4, yuv420p, 640x480, 23.98 fps(r)
Stream #0.1: Audio: mp3, 48000 Hz, stereo, 128 kb/s
Output #0, vob, to 'pipe:':
Stream #0.0: Video: mpeg2video, yuv420p, 1440x720, q=2-31, 4096 kb/s, 29.97 fps(c)
Stream #0.1: Audio: mp2, 44100 Hz, stereo, 192 kb/s


----------



## Justin Thyme

Okey dokey. The machine I have there is not configured for anything but casual mucking with Python, so I'll just pick up your fix and report back. I have no way of guessing what standard resolution and framerate Tivo will eventually recommend for transcoding to the S3. 1440x1080 appears to be the commonest format for Hidef applications and camcorders, but it is a lot of data and I seem to swamp the decode buffer. I have found 15mbps VBRs generally work on the S3, but it went blockey on me during fast change sequences. I didn't play with it long enough to figure out a 95% solution, but Tivo devs may retune the decoder as part of support for tivoToComeBack, making all such preliminary work pointless. 

By the way, thanks a solution that would run on Linux. It was a curious language to choose- Odd language because of the whitespace philosophy, but I have found it exceptionally powerful for large volumes of text manipulation.


----------



## dlfl

In transcode.py at line 91:

this:


Code:


                   if endHeight < 470:

is replaced by this: 


Code:


 if endHeight < TIVO_HEIGHT * 0.01:

I'm having a hard time seeing how that could be correct. Now you are comparing it to a number like 1% of 480 (i.e., 4.8) or 1% of 720 (i.e., 7.2).


----------



## johnkfisher

Problem I'm seeing:

Installed it today - pyTivo 186, OS X 10.4.9, Python 2.5 from the installer on the macpython site, the ffmpeg build linked to from the pytivo site.

I begin pytivo, and my share(s) show up on the now playing list. However, selecting them from the tivo shows "cannot be displayed because of an unknown error" .

When I look at the console, I see the following:



> ----------------------------------------
> Exception happened during processing of request from ('192.168.2.3', 1283)
> Traceback (most recent call last):
> File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/SocketServer.py", line 463, in process_request_thread
> self.finish_request(request, client_address)
> File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/SocketServer.py", line 254, in finish_request
> self.RequestHandlerClass(request, client_address, self)
> File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/SocketServer.py", line 521, in __init__
> self.handle()
> File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/BaseHTTPServer.py", line 316, in handle
> self.handle_one_request()
> File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/BaseHTTPServer.py", line 310, in handle_one_request
> method()
> File "/Users/jkfisher/Desktop/pyTivo/httpserver.py", line 64, in do_GET
> method(self, query)
> File "/Users/jkfisher/Desktop/pyTivo/plugins/video/video.py", line 81, in QueryContainer
> t.files, t.total, t.start = self.get_files(handler, query, VideoFileFilter)
> File "/Users/jkfisher/Desktop/pyTivo/plugin.py", line 52, in get_files
> files = filter(filterFunction, files)
> File "/Users/jkfisher/Desktop/pyTivo/plugins/video/video.py", line 75, in VideoFileFilter
> return transcode.suported_format(full_path)
> File "/Users/jkfisher/Desktop/pyTivo/plugins/video/transcode.py", line 293, in suported_format
> if video_info(inFile)[0]:
> File "/Users/jkfisher/Desktop/pyTivo/plugins/video/transcode.py", line 224, in video_info
> ffmpeg = subprocess.Popen(cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE, stdin=subprocess.PIPE)
> File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/subprocess.py", line 593, in __init__
> errread, errwrite)
> File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/subprocess.py", line 1051, in _execute_child
> raise child_exception
> OSError: [Errno 8] Exec format error


I cry a little inside.
I'm very hopeful to get this working, as I have, oh, 600 shows or so and it's just too unwieldy in the flat-file format of the Tivo Desktop.


----------



## tusk1113

i've tried looking through the posts, but can't seem to find an answer for this one. i'm using build 186 on my linux box and my ffmpeg is outputting everything at 480 tall.

I've looked in my pytivo conf, and i anloy have the width defined. i cannot get it to keep the ratio the same without entering a definition for the height (which makes the whole thing a huge pain) i've used it on my windows box with no problems but i've just built dedicated linux box for using this.

so what am i just being an idiot about? i assume i'm just missing something simple, but i can't figure out what it is.


----------



## Justin Thyme

I posted the PyTivo results on the S3 thread about MRV/TTG

The short version of the story is Yay!

The slightly longer version is that PyTIvo/FFMPEG did remarkably well on the Hidef test files. I verified I was getting 720p because I told the S3 to display Native, and in that mode, my televion tells me when it is switching to other resolutions, and what those resolutions are.

Bad news is that I had to go all the way down to 6Mi in order to get uniform results, even on the acid test high motion HD test files. Is this average or minimum VBR bitrate? I am baffled how the picture could be as nice as it was if that was the max or absolute bitrate.

Other bad news is that I was able to force the S3 to stop playing sound for any show- had to reboot. So the TTG stuff they have is tantilizingly close, but still not ready for prime time.


----------



## dlfl

tusk1113 said:


> i've tried looking through the posts, but can't seem to find an answer for this one. i'm using build 186 on my linux box and my ffmpeg is outputting everything at 480 tall.
> 
> I've looked in my pytivo conf, and i anloy have the width defined. i cannot get it to keep the ratio the same without entering a definition for the height (which makes the whole thing a huge pain) i've used it on my windows box with no problems but i've just built dedicated linux box for using this.
> 
> so what am i just being an idiot about? i assum:3 e i'm just missing something simple, but i can't figure out what it is.


See my post #278 above. If my understanding of this is correct it could cause prolbems of the nature you are experiencing. Try ver. 185 (?)

However I would also note that even when ffmpeg is letterboxing to achieve aspects other than 4:3 on a 4:3 TV, you will still see 480 as the height when it is encoding. If you look at the actual command sent to ffmpeg however, you will see -padtop and -padbottom options and the -s option (size) will not be 480 height. pyTivo adjusts these three options so the total is 480 and that's what you see in the encoding info as ffmpeg runs. Your TiVo needs 480 lines. Letterboxing is achieved by just making some of them black lines.


----------



## johnkfisher

Let me withdraw my previous Exec format error question - it worked when I replaced the provided ffmpeg with the one from Visualhub. My guess is that, as my media box is an older PPC mac, maybe that was the problem, but not sure. either way, fixed.


----------



## tusk1113

dlfl,

thanks, rolling back to 185 did the trick. sorry for not recognizing your post above as being the solution, but python is not QUITE a language i understand


----------



## slestak

windracer said:


> Can you access the interface on all three boxes using your browser?


Can anyone post the url needed? Not the pyTivo url, I have already verified that.


----------



## windracer

slestak said:


> Can anyone post the url needed? Not the pyTivo url, I have already verified that.


https://{your TiVo IP}

Login with a username of 'tivo' and your MAK as the password.


----------



## slestak

windracer said:


> Login with a username of 'tivo' and your MAK as the password.


I thought this was failing, but it does work... pebcak...problem exists between computer and keyboard...

my two original tivos, i can log into. the newer one (bought used on ebay) i can log in, but it tells me

This feature is not supported. The TiVo license agreement allows you to transfer content to up to ten devices within your household, but not outside your household. Unauthorized transfers or distribution of copyrighted works outside of your home may constitute a copyright infringement. TiVo reserves the right to terminate the TiVo service accounts of users who transfer or distribute content in violation of this Agreement.

I hope i didnt get a good deal on a non-mrv unit. Can all series 2's do hmo and mrv? Its running version 8.1a of the tivo software.

I verified the media access key on it is mine.


----------



## windracer

What model are they? This won't work on S3s.


----------



## slestak

tcd540 80 hour unit. unhacked. the other two are 649's.


----------



## dlfl

tusk1113 said:


> dlfl,
> 
> thanks, rolling back to 185 did the trick. sorry for not recognizing your post above as being the solution, but python is not QUITE a language i understand


You're welcome! Note the problem I saw has been fixed in Ver. 187, in case you want to try it.


----------



## windracer

slestak said:


> I thought this was failing, but it does work... pebcak...problem exists between computer and keyboard...
> 
> my two original tivos, i can log into. the newer one (bought used on ebay) i can log in, but it tells me
> 
> This feature is not supported. The TiVo license agreement allows you to transfer content to up to ten devices within your household, but not outside your household. Unauthorized transfers or distribution of copyrighted works outside of your home may constitute a copyright infringement. TiVo reserves the right to terminate the TiVo service accounts of users who transfer or distribute content in violation of this Agreement.
> 
> I hope i didnt get a good deal on a non-mrv unit. Can all series 2's do hmo and mrv? Its running version 8.1a of the tivo software.
> 
> I verified the media access key on it is mine.


Well, that disclaimer appears at the bottom of the web-based NPL. You should see it at the bottom of each page. So you're saying on the third box, you just get the disclaimer text and no list of recordings?

Yes, all S2s with a subscription on the same account are eligible for MRV.


----------



## slestak

windracer said:


> Well, that disclaimer appears at the bottom of the web-based NPL. You should see it at the bottom of each page. So you're saying on the third box, you just get the disclaimer text and no list of recordings?
> 
> Yes, all S2s with a subscription on the same account are eligible for MRV.


Well, there is nothing in the npl, so yes, it is empty.

So basically, I do have access to all three via browser. Also verified that a single instance of tivoserver 2.3a can dl .tivo files from the dvrs, and pics and music can be seen from this win pc to the tivos. THey just cannot see each other. I have been working with tivo level 2 support for about an hour now. Will report back.


----------



## windracer

So your "new" box doesn't have any recordings on it? I guess that explains the empty NPL.

Definitely something strange going on. Good luck with TiVo support.


----------



## slestak

After 2 hours with tivo support, still not quite there. We ended up disabling Allow Transfers for all dvr's then reenabling it. Im going to give it a few days. 

The new dvr has had items in its npl, when i rented from unbox. I intended to use this as just a "pytivo headunit". I have a comcast hddvr on the same tv that everyone uses for series links and whatnot.


----------



## tadtadtadtadtad

How DO I get pyTivo running? I see a bunch of files that end in py but I'm not sure what to do. I'm trying to switch from TIVOdotnet because it quits working each time I reinstall it. Works for 2 weeks then nothing. I've tried 4 versions with no luck and would like to get pyTivo working. I've downloaded all the appropriate files but can't figure out what to do with them. Python is installed and running.
Please help me out.


----------



## slestak

tad* ,

have you looked at the wiki? there are instructions for running pytivo on several os's.

http://pytivo.armooo.net/


----------



## dlfl

tadtadtadtadtad said:


> How DO I get pyTivo running? I see a bunch of files that end in py but I'm not sure what to do. I'm trying to switch from TIVOdotnet because it quits working each time I reinstall it. Works for 2 weeks then nothing. I've tried 4 versions with no luck and would like to get pyTivo working. I've downloaded all the appropriate files but can't figure out what to do with them. Python is installed and running.
> Please help me out.


You didn't say what OS you are using -- I will assume Windows.



> You may want to create a desktop shortcut to the pyTivo.py file. The program is started by double-clicking pyTivo.py (or the shortcut).


This is a quote from the pyTivo wiki. It also tells you how to install it as a Windows service. And it tells you how to install it for Linux and MAC OSX.

When it runs all you will see is a black Windows command window, which you can minimize. You should see the videos you put in your PC pyTivo video folders showing up on your TiVo NPL (Now Playing List).

To shut pyTivo down just close the command window.

*You didn't know there was a Wiki ?* I've been nagging Armoo (the author of pyTivo) to edit his first post in this thread to make the presence of a WiKi more obvious......


----------



## TracerBullet

I had everything working but I changed something in my conf file and now I can't see any videos either from a browser or the TiVo- however, the TiVo can see the folder. When I open it, it returns the message "The Videos PC's Now Playing List could not be displayed because of an unknown error."

This is what my conf file looks like:

[Server]
aspect169=true
GUID={318B9C6C-3EDE-4D2C-B2B7-C234F5EF2775}
guid = {7E481A56-0F09-4FC7-B153-5EB30817E402}
ffmpeg = C:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
width = 720
port = 9032

[PC Videos]
path = G:\BitComet Downloads
type = video

#Full path to ffmpeg including filename
#For windows: ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
#For linux: ffmpeg=/usr/bin/ffmpeg
ffmpeg=C:\Program Files\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=3Mi

#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=704

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

#If you want to use 16:9 or 4:3 on this tivo
#aspect169=true
GUID={318B9C6C-3EDE-4D2C-B2B7-C234F5EF2775}

#Path is the full path to your files (No trailing slash needed)
#For windows: path=c:\videos
#For linux: path=/media
path=d:\video

##You can have more than one share
#[MyTelevision]
#type=video
#path=d:\television


----------



## armooo

You can try:



> [Server]
> 
> GUID={318B9C6C-3EDE-4D2C-B2B7-C234F5EF2775}
> 
> ffmpeg = C:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
> width = 720
> port = 9032
> 
> [PC Videos]
> path = G:\BitComet Downloads
> type = video


Also if you are running it in the command prompt do you see an error. It it is running as a windows service check C:\Program Files\pyTivo\log.txt


----------



## mkleiman

After successfully using pyTiVo for several weeks, it started exhibiting strange behavior recently. Although pyTiVo displayed, transferred and transcoded any videos in the "root" of my share folders properly, I started have weird behavior when trying to access videos in subfolders. pyTiVo displayed the contents of every one of my subfolders as though they contained the three video in one specific subfolder (in other words, every subfolder showed the three files that are actually in the subfolder called "The Tudors"). Then, when I moved the specific subfolder away, pyTiVo now displays that the contents of all my subfolders are empty.

Based on this behavior, I suspect this is a cache issue. Perhaps my cache is corrupted or frozen, and pyTiVo isn't rescanning the share folders to correct the problem.

Is there a way to force a rescan, dump the cache, or otherwise diagnose this?


----------



## CheezWiz

OK,

For your perusal.....

I told him to have fun with it, I like number two myself..


----------



## armooo

mkleiman said:


> After successfully using pyTiVo for several weeks, it started exhibiting strange behavior recently. Although pyTiVo displayed, transferred and transcoded any videos in the "root" of my share folders properly, I started have weird behavior when trying to access videos in subfolders. pyTiVo displayed the contents of every one of my subfolders as though they contained the three video in one specific subfolder (in other words, every subfolder showed the three files that are actually in the subfolder called "The Tudors"). Then, when I moved the specific subfolder away, pyTiVo now displays that the contents of all my subfolders are empty.
> 
> Based on this behavior, I suspect this is a cache issue. Perhaps my cache is corrupted or frozen, and pyTiVo isn't rescanning the share folders to correct the problem.
> 
> Is there a way to force a rescan, dump the cache, or otherwise diagnose this?


The only cache that pyTivo uses is for the results of running ffmpeg to get video info, this cache is stored in ram so restarting pyTivo will clear it. But it uses os calls to list the files in each directory on each load. A few other people have seen this and it looks like the tivo is sending the wrong path in its request. I think this may be a tivo bug like the now playing list replacement. There must be reasons why the real tivo software has no support for folders.


----------



## mkleiman

armooo said:


> The only cache that pyTivo uses is for the results of running ffmpeg to get video info, this cache is stored in ram so restarting pyTivo will clear it. But it uses os calls to list the files in each directory on each load. A few other people have seen this and it looks like the tivo is sending the wrong path in its request. I think this may be a tivo bug like the now playing list replacement. There must be reasons why the real tivo software has no support for folders.


Is there any diagnostic information I can send you to help fix this problem? Or am I forced to simply dump my subfolders for now?


----------



## TracerBullet

Another stupid question: can anyone tell me the correct procedure for getting 16x9 material to fill a 16x9 TV? I have aspect169=true and width=720 and my TiVo is set at 16x9, but 16x9 material is boxed. Any suggestions?


----------



## ocntscha

mkleiman said:


> Is there any diagnostic information I can send you to help fix this problem? Or am I forced to simply dump my subfolders for now?


I've been using all the various versions of tivo.net and pytivo the last few months I know I ran into this at least once some where along the way, I think probably 2 or 3 times but I don't recall it ever being any long term problem. I doubt I even had to reboot my Tivo or restart the pyTivo or tivo.net software as I'd probably remember having to do that and I don't. My standard way of dealing with the folder display glitches is go into the deleted items folder and then come back out. Maybe you haven't tried that and the solution is that simple?

All that being said, I have to agree with armoo, its not just by sheer chance that the Tivodesktop Plus software doesn't support folders. There definately seem to be issues with folders in the Tivo software itself and I suspect Tivo worked around the problem instead of fixing the problem. I'm hoping the 8.3 version of the Tivo software, which some people have already received btw, makes folders function properly.


----------



## mkleiman

ocntscha said:


> My standard way of dealing with the folder display glitches is go into the deleted items folder and then come back out. Maybe you haven't tried that and the solution is that simple?


No dice. I've tried all the simple folder refresh methods, as well as upgrading pytivo, downgrading pytivo, restarting tivo, and restructuring the pc folders. The problem persists.


----------



## armooo

What software version is your Tivo running? It could be that 8.3 is even more broken.

As for seeing if it is a Tivo problem watch the output and it should have something like Container=Video/FolderName in the URL make sure that path matches what you are trying to display on your tivo. If it dose not match the tivo seems to be making the wrong requests.


----------



## ocntscha

CheezWiz said:


> OK,
> 
> For your perusal.....
> 
> I told him to have fun with it, I like number two myself..


Ha, very cool! I like number three.


----------



## windracer

armooo said:


> What software version is your Tivo running? It could be that 8.3 is even more broken.


Found another reference to this ... 
http://www.tivocommunity.com/tivo-vb/showthread.php?p=5061399&&#post5061399


----------



## ocntscha

mkleiman said:


> No dice. I've tried all the simple folder refresh methods, as well as upgrading pytivo, downgrading pytivo, restarting tivo, and restructuring the pc folders. The problem persists.


I'd try changing the unique identirifier of pyTivo, that way the Tivo will think its talking to an all together different server. I think you could either edit beacon.py and change guid = '123456' to something else like guid = '123457' or if I'm reading it right there's an undocumented feature (at least I can't come up with it being documented in the past 5 minutes of looking) where you could accomplish the same thing by sticking GUID=123457 into the [Server] section of pyTivo.conf.


----------



## TreborPugly

armooo said:


> I am having no problem using path=\\Steph\Desktop\Videos to access from a different pc. You may want to try mounting it to a drive letter. It may take a very long time if you have a lot of videos in one folder. So trying with just one video first may help.


I think I figured out the problem I was having with a network drive, via a NAS hard drive. It is using share security, where you specify username(s) and password(s) to have access to each share you create. The pyTivo service however, does not have the right username and password. I created a share with just the video files and turned on the "guest" account on the hard drive, which doesn't require a password, and it now works. (Although it is pretty slow)


----------



## ocntscha

armooo said:


> What software version is your Tivo running? It could be that 8.3 is even more broken.


That is a distinct possibility.


----------



## slestak

mkleiman said:


> No dice. I've tried all the simple folder refresh methods, as well as upgrading pytivo, downgrading pytivo, restarting tivo, and restructuring the pc folders. The problem persists.


I wonder if running multiple shares or multiple instances of pytivo might help?
Maybe where you would want a folder, make it a separate share? i havent tried it, just thinking.


----------



## ThatBozGuy

armooo said:


> What software version is your Tivo running? It could be that 8.3 is even more broken.


There was a bug repaired in the new 8.3 that was related to directory listings like in now playing. This fix was so if you were several pages into a list and chose an item when you returned you would return to the same page you left.

Previous behavior was it would return to the first page and you would have to go back to where you wanted.

I believe this much needed fix is the culprit.

From the boards today and over a few days in a thread about tivo net and a thread I started about galleon titled Did 8.3 update kill galleon goback for good? it has become clear that pytivo, galleon and tivo net are all experiencing the same directory listing communication errors because of the 8.3 update.

It is not configuration, it is not firewall related, it is not some fluke, so *dont change anything in your configs or your settings* they will only make things worse until the behavior is fixed in the various programs as they adapt to the change in communication structure in the tivo update.

.


----------



## mkleiman

ocntscha said:


> That is a possibility.


Yes, I'm running 8.3. It seems to have broken subfolders for pytivo and tivo_net.


----------



## Chew

Is there any podcast client that doesn't do subfolders and cleans up after itself? Does Doppler do subfolders? If there isn't, I guess I'll have to set the paths to each vodcast instead of the main "Podcast" folder with each title in a subfolder?

I don't have 8.3 yet, but want to be proactive to avoid this problem.

_Edit_: If anyone is interested in the answer to this, it appears the "Happy Fish" podcast client will allow you download all feeds to a single folder without subfolders. :up:


----------



## morac

See my post here for what's happening and how programs can work around this.


----------



## dlfl

slestak said:


> I wonder if running multiple shares ............. might help?
> Maybe where you would want a folder, make it a separate share? i havent tried it, just thinking.


Me too. Don't have 8.3 yet. If you don't use sub-folders under a shared folder do you still get the "8.3 problem" ?


----------



## mkleiman

dlfl said:


> Me too. Don't have 8.3 yet. If you don't use sub-folders under a shared folder do you still get the "8.3 problem" ?


If you do not use subfolders, you should have no problems under 8.3.

If you do use subfolders, you can indeed use separate shares to point to subfolders, although its a klutzy workaround.

So if before, you had a share with the following contents:

Video 1
Video 2
\Subfolder A
\Subfolder B

with 8.3 you will be able to transfer/play Video 1 and Video 2 just fine. When you navigate to Subfolder A it will appear normal, but when you next navigate to Subfolder B (or any other subfolder in this or any other share) it will show only the contents of Subfolder A.

So, to do the workaround, you'd need to create 2 additional shares, 1 pointing to Subfolder A and 1 pointing to Subfolder B. You can now get to the files in those subfolders through your new shares. (Of course, if any of your subfolders have further subfolders, then you'll need additional shares for them too, etc. etc. etc.)


----------



## TreborPugly

I don't have 8.3 yet, but periodically(usually when I'm in a sub folder) the list gets messed up and it shows the contents of my video folder when you go to Now Playing, and you can't get "out" to the normal Now Playing. I've found that if I enter Kid's Zone (which is still at the top of this list that otherwise looks like my video folder) and come back out, the Now Playing list gets fixed up. This might be a way to get 8.3 to reset it's folder request as well.


----------



## dlfl

TreborPugly said:


> I don't have 8.3 yet, but periodically(usually when I'm in a sub folder) the list gets messed up and it shows the contents of my video folder when you go to Now Playing, and you can't get "out" to the normal Now Playing. I've found that if I enter Kid's Zone (which is still at the top of this list that otherwise looks like my video folder) and come back out, the Now Playing list gets fixed up. This might be a way to get 8.3 to reset it's folder request as well.


This sounds like one of the "known issues" described in the Wiki, and apparently you have a fourth work-around.


----------



## mkleiman

TreborPugly said:


> I don't have 8.3 yet, but periodically(usually when I'm in a sub folder) the list gets messed up and it shows the contents of my video folder when you go to Now Playing, and you can't get "out" to the normal Now Playing. I've found that if I enter Kid's Zone (which is still at the top of this list that otherwise looks like my video folder) and come back out, the Now Playing list gets fixed up. This might be a way to get 8.3 to reset it's folder request as well.


The new subfolders problem with 8.3 is unrelated to the problem you describe, and is not fixed by this behavior. This was already discussed above.


----------



## jwreiner

My understanding is that pytivo doesn't re-encode what it thinks are TiVo compliant videos. Is there a way to force it to do so?

I have two reasons for wanting this. One, I have a 540 TiVo which doesn't like 16:9 mpegs, so I'd like pytivo to transcode it to 4:3. Yes, I could do this myself and have a 16:9 version of the file and a 4:3 version, but it would be nice to have just one file and be able to skip the manual conversion step.

Two, transcoding to a lower bitrate allows streaming to the TiVo more quickly.

If I am misunderstanding the cause of the problems with the 16:9 file, please let me know. It looks fine on the computer, but on the TiVo, the video is identifiable, but messed up.


----------



## dlfl

jwreiner said:


> My understanding is that pytivo doesn't re-encode what it thinks are TiVo compliant videos. Is there a way to force it to do so?
> .........................


Try this:

Save a copy of Transcode.py under a different name.

Edit transcode.py substituting this replacement function:


Code:


def tivo_compatable(inFile):
    if (inFile[-5:]).lower() == '.tivo':
        debug_write(['tivo_compatible: ', inFile, ' ends with .tivo\n'])
        return True
    return False

*Warning:* Indentation matters -- match the above.

Now any file that doesn't have the .tivo extension will be re-encoded.

Of course the settings in pyTivo.conf have bearing on 16:9 aspect, e.g.:


Code:


#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

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

#If you want to use 16:9 or 4:3 on this tivo
#aspect169=true

I assume width=544 and aspect169=false would apply to your case.

Good luck! Nothing will explode..... you can always just replace the original files and be no worse off than when you started. 

Edit -- after trying this myself:

If the encoding frame size of the mpeg has an aspect ratio less than 4:3 pyTivo will pad the right and left sides of the transcoded mpeg giving you black bars on the sides and an incorrect aspect ratio. My test file was a 480x480 mpeg that originated as a Tivo recording so this happened.

The logic determining this is in function: *def select_aspect(inFile, tsn = ''): * in transcode.py. As you can see it's pretty complex. I was able to fix it for the 480x480 case by a "hack" as follows:

Replace the line:


Code:


                if endHeight < TIVO_HEIGHT * 0.99:

by


Code:


                if endHeight < 0:

However I can't vouch for what will happen for different encoding frame sizes and choices of width and height in the pyTivo.conf file.

My initial thinking was that the correct way to do this would be if the "type" (codec) of the file is "mpeg2video" and aspect169 is False, just return:
"-aspect 4:3 -s <width>x<height>" , where <width> and <height> are the values in the pyTivo.conf file. (???). However, if the input mpeg2 is 16:9 display AR this wouldn't be correct -- you would need letterboxing in the encoded file. I think this all gets back to the basic problem that ffmpeg can't tell pyTivo what the display aspect ratio of the input file is, only the encoding frame AR. One approximate approach would be to assume if the encoding frame AR is less than 4:3 and not on of the "magic" 4:3 list, then the correct display AR is made 4:3, which AFAIK is the effect of my hack.

What about the common case of mpeg2 video captures, which are typically 720x480 encoding with 4:3 display AR ? I believe the current code would end up letterboxing that, no? (Of course the current code would not re-encode that file because it is a compatible one.)

What size(es) are the mpeg2's you are concerned with and what (display) aspect ratios?


----------



## comandercody

First off, thank you for this program.

Here is my "Config" file:

[DEFAULT]
path = <Pick A Path>
type = video

ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe

[MyTVShows]
type = video
path = C:\Program Files\PipKin Technologies\TiVo.Net\Videos

[Paris]
type = video
path = N:\dvd movies\Paris Hilton

[Server]
height = 720
width = 1440
port = 9032
ffmpeg = /usr/bin/ffmpeg

[TIVO Porn]
type = video
path = N:\dvd movies\Porn\!!Tivo Porn

[Howard Stern]
type = video
path = N:\dvd movies\Howard Stern on Demand

beacon = 255.255.255.0
-----------------------------------------------------------------
When I look at my NPL, I see the individual folders (TIVO porn, Howard Stern), but when I select them it says "The "blah blah blah" now playing list could not be displayed because of an unknow error"

Any suggestions?


----------



## comandercody

comandercody said:


> First off, thank you for this program.
> 
> Here is my "Config" file:
> 
> [DEFAULT]
> path = <Pick A Path>
> type = video
> 
> ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
> 
> [MyTVShows]
> type = video
> path = C:\Program Files\PipKin Technologies\TiVo.Net\Videos
> 
> [Paris]
> type = video
> path = N:\dvd movies\Paris Hilton
> 
> [Server]
> height = 720
> width = 1440
> port = 9032
> ffmpeg = /usr/bin/ffmpeg
> 
> [TIVO Porn]
> type = video
> path = N:\dvd movies\Porn\!!Tivo Porn
> 
> [Howard Stern]
> type = video
> path = N:\dvd movies\Howard Stern on Demand
> 
> beacon = 255.255.255.0
> -----------------------------------------------------------------
> When I look at my NPL, I see the individual folders (TIVO porn, Howard Stern), but when I select them it says "The "blah blah blah" now playing list could not be displayed because of an unknow error"
> 
> Any suggestions?


Sorry, I am running Windows XP and have a Series 2 Tivo, 240(two of them, networked, one wirelessly, one directly wired into my router).

I am also running Tivo desktop 2.3.


----------



## jwreiner

dlfl said:


> Try this:
> 
> Save a copy of Transcode.py under a different name.


Thanks for the advice. I didn't know Python was so easy to modify.

I got it to work by just removing the section in transcode where it compares the file to supported modes. I was working with an mpeg that wasn't a .tivo file ever.

I suppose the absolute best solution is to check the TSN and if the aspect ratio is 16:9 but the TiVo doesn't support it, to transcode. I'll have to go back and read all the discussion of aspect ratios I didn't really understand the first time through.


----------



## dlfl

jwreiner said:


> Thanks for the advice. I didn't know Python was so easy to modify.
> 
> I got it to work by just removing the section in transcode where it compares the file to supported modes. I was working with an mpeg that wasn't a .tivo file ever.
> 
> I suppose the absolute best solution is to check the TSN and if the aspect ratio is 16:9 but the TiVo doesn't support it, to transcode. I'll have to go back and read all the discussion of aspect ratios I didn't really understand the first time through.


Revisit my original post, I edited it big time after you read it. I suspect very few people completely understand AR and I suspect I'm not one of them.

I wonder if it would be feasible to have pyTivo also run another program, such as mediaInfo, which does seem to return the display AR in its info ?


----------



## dlfl

Your problems are due to the built in anti-trash filters of pyTivo, which exclude anything related to porn, Howard Stern or Paris Hilton.

 Sorry, just couldn't resist.

Seriously, your pyTivo.conf file has to have a section called [Server] and the ffmpeg= and beaon= must be in that section, i.e., before any other sections (defined by names in [square brackets]).

You also need
port=9032
in the server section.

Also, in your [DEFAULT] share, I wouldn't know what to predict pyTivo will do with:
path = <Pick A Path>
unless you actually have a folder called "<Pick A Path>" on your root folder. (I suspect you should just delete this share and path.)


----------



## Deadpan Science

I'm currently using pyTivo 187, and I'm having a problem with getting a video to be the correct size on my tv screen. I have a normal 4:3 tv.

these are the config settings for the video portion of the conf file



> #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
> 
> ##Per tivo options
> # section named _tivo_TSN with the tsn in all caps
> #[_tivo_2400000DEADBEEF]
> 
> #If you want to use 16:9 or 4:3 on this tivo
> #aspect169=true


Currently when I transfer videos, I get only a small portion of the video(with sound) to display on screen. (Basically the middle-top of the video when played on the computer.)

What should I do?


----------



## jwreiner

dlfl said:


> Revisit my original post, I edited it big time after you read it. I suspect very few people completely understand AR and I suspect I'm not one of them.
> 
> I wonder if it would be feasible to have pyTivo also run another program, such as mediaInfo, which does seem to return the display AR in its info ?


Based on what I read in the last hour, mpeg2 files have a flag that indicates the display AR. So 720x480 could either be 4:3 or 16:9. You can't tell from the pixel counts. I think ffmpeg probably knows the DAR, then, so I was hoping that if I just give it the original file and tell it I want 4:3, it would do the rest.

Now that I think about it, my experience with gui4ffmpeg suggests this might not be so. I think I had to select 16:9 -> 4:3 to get it to behave.

Anyway, my situation is if I rip a 16:9 DVD, and use DVDShrink to combine it into a single mpeg file, I want that to be the end of the manual processing. I gather with many TiVo's, that would be the end. But mine doesn't like 16:9 mpeg files.


----------



## dlfl

Deadpan Science said:


> I'm currently using pyTivo 187, and I'm having a problem with getting a video to be the correct size on my tv screen. I have a normal 4:3 tv.
> 
> these are the config settings for the video portion of the conf file
> 
> Currently when I transfer videos, I get only a small portion of the video(with sound) to display on screen. (Basically the middle-top of the video when played on the computer.)
> 
> What should I do?


Try:
width=544
height=480

The values you are using are in the file as installed but they would apply only to a super high res HD set -- kind of misleading perhaps.


----------



## dlfl

Be sure to check out the pyTivo Wiki  !


----------



## TreborPugly

commandercody,

is your drive labeled "N" a networked drive? If so, the pyTivo service might need to be running with an account that can authenticate to that share. I had a similar problem with a NAS drive, and it was corrected when I added guest access to that share, rather than changing the account attached to the pyTivo service.


----------



## windracer

comandercody said:


> [TIVO Porn]
> type = video
> path = N:\dvd movies\Porn\!!Tivo Porn


Couldn't you have edited that part out?  

TiVo Guy was young ... he needed the money back then and was unfairly exploited.


----------



## dlfl

jwreiner said:


> Based on what I read in the last hour, mpeg2 files have a flag that indicates the display AR. So 720x480 could either be 4:3 or 16:9. You can't tell from the pixel counts. I think ffmpeg probably knows the DAR, then, so I was hoping that if I just give it the original file and tell it I want 4:3, it would do the rest.
> 
> Now that I think about it, my experience with gui4ffmpeg suggests this might not be so. I think I had to select 16:9 -> 4:3 to get it to behave.
> 
> Anyway, my situation is if I rip a 16:9 DVD, and use DVDShrink to combine it into a single mpeg file, I want that to be the end of the manual processing. I gather with many TiVo's, that would be the end. But mine doesn't like 16:9 mpeg files.


Source Forge program mediaInfo has a CLI version. I've experimented with it and it can be called so as to return just the AR (or whatever else you want). This could be called from pyTivo just as ffmpeg is now. As with ffmpeg it has precompiled windows versions and for Linux you have the same situation as ffmpeg, i.e., regarding getting a version that runs on your box.

This could be used to get the display AR for mpeg2 inputs and used to setup AR and padding for two cases:
1. For mpeg2's that are not TiVo compatible (which are already re-encoded).
2. For mpeg2's that are TiVo compatible but which users such as *jwreiner * want to force re-encoding anyway.

It could be set up with a config variable or two that would default to the current functionality.

If you think this is worth the additional complexity (including adding mediaInfo CLI version to the distribution), I can rough out a version of the code to implement it, which you could then review/modify. Or if someone else wants to do the coding, I can let them know the CL that works. I wonder how many cases of type (1) are encountered and how many users of type (2) ?

@jwreiner: Even if pyTivo doesn't elect to do this, I may do it just for fun. Maybe it could be structured to ease the pain of editing it into future versions of pyTivo.


----------



## jwreiner

dlfl said:


> Source Forge program mediaInfo has a CLI version. I've experimented with it and it can be called so as to return just the AR (or whatever else you want). This could be called from pyTivo just as ffmpeg is now. As with ffmpeg it has precompiled windows versions and for Linux you have the same situation as ffmpeg, i.e., regarding getting a version that runs on your box.


Does ffmpeg not return or process the frame AR? I read that somewhere, but it seems odd to me.

I found out that I can get my 540 version tivo to play back 16:9 mpegs if I set the TiVo itself to 16:9 in the settings menu. Just using TiVo Desktop, this works. However, the image is squeezed horizontally just like you would expect. I really wish that TiVo would just fix this bug.


----------



## dlfl

jwreiner said:


> Does ffmpeg not return or process the frame AR? I read that somewhere, but it seems odd to me. ..............
> .


ffmpeg does report the *frame* AR but pyTivo needs to know the *display* AR to set up proper encoding format. FAR is the digital array size width:height for the encoded data. DAR is the ratio that is supposed to be seen by the eye on the TV. See here for a good discussion. And you're above average if you come away with a firm understanding after reading it!


----------



## dlfl

jwreiner said:


> ..........I found out that I can get my 540 version tivo to play back 16:9 mpegs if I set the TiVo itself to 16:9 in the settings menu. Just using TiVo Desktop, this works. However, the image is squeezed horizontally just like you would expect. ..............


Let me see if I can get this straight:
1. Your mpeg2 is 16:9
2. You have aspect169 set to true in pyTivo.conf (??)
3. Your Tivo is set for 16:9
4. Your TV is 4:3 (??)
In that case I would expect a squeezed image as you said. If pyTivo was modified to encode mpeg2's using DAR information, you could set aspect169 to false and set your TiVo back to 4:3 and get a letterboxed video that would have the correct aspect ratio on your TV, I believe.


----------



## jwreiner

dlfl said:


> Let me see if I can get this straight:
> 1. Your mpeg2 is 16:9
> 2. You have aspect169 set to true in pyTivo.conf (??)
> 3. Your Tivo is set for 16:9
> 4. Your TV is 4:3 (??)
> In that case I would expect a squeezed image as you said. If pyTivo was modified to encode mpeg2's using DAR information, you could set aspect169 to false and set your TiVo back to 4:3 and get a letterboxed video that would have the correct aspect ratio on your TV, I believe.


If I transfer a 16:9 mpeg2 with TiVo Desktop (not pytivo), and set the TiVo to 16:9, I get a distorted but otherwise acceptable image on my 4:3 TV (I think this is the same result I would get using pytivo regardless of the the aspect169 setting unless transcode.py has been modified).

If I set aspect169 to false and my TiVo back to 4:3 and force pytivo to re-encode the mpeg2 after hacking transcode.py, I get a less distorted image, but still not right. I'm pretty sure that is because pytivo is assuming a pixel aspect ratio of 1:1 for my 720x480 mpeg2. To get to 4:3, it pads the top and bottom, but not by enough, because the pixel aspect ratio is not 1:1. So the image is stretched vertically.

If I gave it a 4:3 mpeg2 to process, it would do the same thing, pad the top and bottom, and squeeze the image vertically, when it should do no padding at all.

Regarding the frame aspect ratio, I was trying to adopt the language from the pytivo wiki, which makes it sound like the frame ratio is the actual width on a TV to the actual height (not the # of pixels). Whatever it is called, I would think that ffmpeg would know and return the intending display type.


----------



## comandercody

windracer said:


> Couldn't you have edited that part out?
> 
> TiVo Guy was young ... he needed the money back then and was unfairly exploited.


I should have edited it, lol, sorry. It was late and I was a cut and paste whore. I have not been able to get this to work. It seems that every time I restart my computer, the CONFIG file changes to this:

[Paris]
type = video
path = N:\pyTIVO\Paris Hilton

[Howard Stern]
type = video
path = N:\pyTIVO\Howard Stern on Demand

[TIVO Barney and friends(not porn)]
type = video
path = N:\pyTIVO

[Server]
ffmpeg = /usr/bin/ffmpeg
height = 720
width = 1440
beacon = 255.255.255.0
port = 9032

Then I edit back to:

[Server]
port = 9032
ffmpeg = c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
ffmpeg = /usr/bin/ffmpeg
height = 720
width = 1440
beacon = 255.255.255.0

[Paris]
type = video
path = N:\pyTIVO\Paris Hilton

[Howard Stern]
type = video
path = N:\pyTIVO\Howard Stern on Demand

[TIVO Barney and friends(not porn)]
type = video
path = N:\pyTIVO\!!Tivo Porn

path = N:\pyTIVO

Also, when I "edit" the config file, do I have to restart the computer? or is there a way to restart the service? And, does the Tivo need to be restarted to recognize any changes? Thanks in advance for any help.


----------



## comandercody

TreborPugly said:


> commandercody,
> 
> is your drive labeled "N" a networked drive? If so, the pyTivo service might need to be running with an account that can authenticate to that share. I had a similar problem with a NAS drive, and it was corrected when I added guest access to that share, rather than changing the account attached to the pyTivo service.


No, it is not a networked drive.


----------



## dlfl

@comandercody
Suggest running as a program rather than a service until you get it running correctly.
width and height are too large -- just delete them and they default to 544x480 which should be OK.
Unless you're sure about your subnet mask needing zeros at the end, use 255.255.255.255 or just delete that and it will default to those values.

I don't run Linux (or pyTivo as a service). Hope someone else can help you more.

You should not need to restart your TiVo.


----------



## windracer

comandercody, I also see you have two lines for ffmpeg in your config file: one with the Windows syntax and one with the Linux syntax. Since you're on XP, remove the one that references /usr/bin/ffmpeg.

Also, why do you have the beacon set to 255.255.255.0? I would try commenting that out (the default is 255.255.255.255). That could be why nothing appears on your TiVos.

I have no idea why the file would revert to an old version after you reboot. That's a little strange. Try editing the file while pyTiVo is not running.


----------



## TreborPugly

On Vista, with UAC active, you can open a ty file with notepad, edit it, appear to save it, but actually fail, since you aren't running notepad as an administrator, and Vista therefore denies you the access to change the file. (But it saves it somewhere, because the changed file is still available from "recent files.") This one had me stuck for a while when I was trying to adjust the encoding rate.


----------



## windracer

That's messed up.

"You are trying to edit a text file, accept or deny."


----------



## Jabo4

Yeah, annoying. The way around it is open notepad as admin then you can open/save whatever file you want.


----------



## TreborPugly

1. I really love how pyTivo can transcode just about anything, including *.flv's from youtube. (I save them as *.swf, but I bet *.flv would be fine, huh?

2. I also really love how "low quality" stuff that look bad on a computer, like this:My Generation Cover Video look just fine on a TV.


----------



## dmullig

pyTivo has been working great for me! Thanks! ... until recently that is.

I started a transfer through pyTivo, then realized that I had watched it before, so I cancelled the transfer. Since then, I haven't been able to transfer ANYTHING. (It's been a couple of weeks.) The play list is still there, and I can attempt to transfer videos over, but I always get the same thing :

"This program has been added to the To Do list and will be transferred onto the [Tivo name} after previously requested programs have finished transferring."

I go to the To Do list in Tivo, and I see an entry (for each attempt at transferring) like this:

" Transfer from Videos [name of video]"

The "Transfer from Videos" is in place of the date and time, and Videos is my pyTivo shared name.

When I look at that entry, it says

"This program will be transferred after previously requested programs have finished transferring"

Well, that was two weeks ago, and besides, I cancelled it within a few minutes of starting the transfer. Since then, I've upgraded to the newest version of pyTivo, and installed the Windows service, to now avail.

Ay suggestions as to how I can tell pyTivo that the "previously requested program" will never finish?

Thanks for pyTivo, and thanks for listening.
David.


----------



## windracer

That's not pyTivo saying that, it's the software on the TiVo itself. It thinks there is already a transfer in progress, so when you initiate another transfer through pyTiVo, the TiVo returns that message.

Does the "stuck" transfer appear in the To Do List at all? Have you tried rebooting your TiVo?


----------



## dlfl

*dmullig*,
I get that too, but all I have to do is go to the To Do list, select the offending entry and cancel the transfer. That clears it.


----------



## dmullig

windracer said:


> That's not pyTivo saying that, it's the software on the TiVo itself. It thinks there is already a transfer in progress, so when you initiate another transfer through pyTiVo, the TiVo returns that message.
> 
> Does the "stuck" transfer appear in the To Do List at all? Have you tried rebooting your TiVo?


I cancelled the original transfer that TiVo thinks is still transferring long ago. It no longer appears in the To Do list. I will reboot the TiVo to see if that helps. Sometimes a fresh start is good. Thanks.



dlfl said:


> *dmullig*,
> I get that too, but all I have to do is go to the To Do list, select the offending entry and cancel the transfer. That clears it.


Yep, like I said above, I cancelled the offending transfer long ago, but TiVo apparantly thinks it's still transferring, because I can't send anything back to the TiVo...well, through pyTivo anyway. I haven't tried bringing something back from my PC through TiVo Desktop (2.3a). Yet something else I could try.

Thanks for your help(s).
Dmullig


----------



## murezor

Hello. I read through this whole post. Good stuff here.

I have a pyTivo 187 up and running on a Linux Server. Using a sniffer I can see the heartbeats going out from my 2 hacked DTV series2 TiVos and the 1 pyTivo server. The TiVos show up in each other's NPL lists but not the pyTivo server.

*When I goto:*
h.t.t.p://localhost:9032/

*It returns:*
This is a tivoPY server

*When I goto:*
h.t.t.p://localhost:9032/TiVoConnect?Command=QueryContainer&Container=MyMovies

*It returns:*
0 1 x-container/tivo-videos x-container/folder 1 video/x-tivo-mpeg video/x-ms-wmv 1910675460 6501000 video/x-tivo-mpeg No /MyMovies/MI.mpg video/* No urn:tivo:image:save-until-i-delete-recording

So it looks like pyTivo is doing just fine.

How come I don't see the pyTivo server in my NPL list?

Thanks in advance.


----------



## armooo

murezor, what version of the tivo software do you have running on your DTV series2? I think goback came out in version 7.1 which as far as I know will not run on a DTV tivo.


----------



## murezor

Hello Armooo. Thanks for the response. I'll have to lookup "goback", is that something I need to install on the TiVo's?

Just in case I'm confusing people, when I say DTV, I mean DirectTV.

Here's the version:
Software System: 6.2-01-2-301 

Of course it has been "zippered", another great tool I found here.

Thanks.


----------



## murezor

Got it now. TivoToGo is a Tivo Service. DirectTV uses MRV. So I'm SOL.


----------



## gonzotek

murezor said:


> Got it now. TivoToGo is a Tivo Service. DirectTV uses MRV. So I'm SOL.


Your hacked DTV units should be able to work with tivoserver, another open source project that provides a MRV-protocol pc server.


----------



## Justin Thyme

On large directories , I am seeing some huge latency (like minute plus waits), and I was wondering if this is some io bound thing on the Tivo side or the PC side. 

If the PC side, wouldn't caching the top level directories into ram speed things up significantly?

Or is it basically hopeless- (A Tivo latency issue)- eg- that's how slow it is if it is building a huge (like 80 element) list of shows.


----------



## comandercody

windracer said:


> comandercody, I also see you have two lines for ffmpeg in your config file: one with the Windows syntax and one with the Linux syntax. Since you're on XP, remove the one that references /usr/bin/ffmpeg.
> 
> Also, why do you have the beacon set to 255.255.255.0? I would try commenting that out (the default is 255.255.255.255). That could be why nothing appears on your TiVos.
> 
> I have no idea why the file would revert to an old version after you reboot. That's a little strange. Try editing the file while pyTiVo is not running.


OK, thanks to those that have posted and tried to help me, but ever since I clicked on Windracer's season passes, I have been busy adding them to my NPL, and watching them. 

JK, Wind, removing the MAC reference like you suggested worked like a charm. Also, my beacon was wrong, not sure why I changed it to 255.255.255.0, but changing it back worked. Also, the config file does not revert, it stays just like I saved it.

One thing I am still struggling with: In my NPL, I see each "Folder" that I put in my config file, however, when I select the "You Tube" folder, it shows all the other folders in the Config file(Howard, Paris, You Tube, P0rn), which would be the same folders you would see if you were to click on the (absolute, I think that is the right terminology) "path" of all my videos, N:\pyTIVO.

I have copied and pated the config file:

[Server]
port=9032

#Full path to ffmpeg including filename
ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
beacon=255.255.255.255

#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

#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

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

#If you want to use 16:9 or 4:3 on this tivo
#aspect169=true

[Stern]
path=N:\pyTIVO\Howard Stern on Demand
type=video

[Porn]
path=N:\pyTIVO\Tivo Porn
type=video

[You Tube]
path=N:\pyTIVO\You Tube
type=video

#Path is the full path to your files (No trailing slash needed)
#For windows: path=N:\pyTIVO

##You can have more than one share
#[MyTelevision]
#type=video
path=N:\pyTIVO

Anyway, thanks again, Tivo is a great product, and the open source software, and the fact that they(Tivo) does not mind modifications/additions(read, not hacked), makes this a really great consumer product.


----------



## dlfl

The mods and instructions for having pyTivo read DAR using mediaInfo.exe, and use DAR in mpeg2 transcodings, are attached. Let me know how it goes.

All others: you are welcome to try this also. Tested on Windows with pyTivo running as a program (not a service) only. For linux, the CLI version of mediaInfo will have to be built and there may be some additional debugging to get it to work right with pyTivo.

If ffmpeg would report DAR for mpeg2 files, this all would be so easy!


----------



## dlfl

*comandercody*,

You still have the outrageously large width and height settings. As I suggested in an earlier post:


> width and height are too large -- just delete them and they default to 544x480 which should be OK.


That is unless you have an S3 TiVo with a seriously HD TV attached. 

Also, you have two different paths in your last video share section, [You Tube].
I'm not sure what pyTivo does with that but there should only be one path per share.

I assume you are aware that the pound sign (#) comments out a line, i.e., as far as pyTivo is concerned, the line might as well not be there (?)

If your TiVo is running software version 8.3, that could explain some of your folder problems on NPL -- Armoo and others are trying to find a solution to this (apparent) bug in that version.


----------



## comandercody

dlfl said:


> *comandercody*,
> 
> You still have the outrageously large width and height settings. As I suggested in an earlier post:
> 
> That is unless you have an S3 TiVo with a seriously HD TV attached.
> 
> Also, you have two different paths in your last video share section, [You Tube].
> I'm not sure what pyTivo does with that but there should only be one path per share.
> 
> I assume you are aware that the pound sign (#) comments out a line, i.e., as far as pyTivo is concerned, the line might as well not be there (?)
> 
> If your TiVo is running software version 8.3, that could explain some of your folder problems on NPL -- Armoo and others are trying to find a solution to this (apparent) bug in that version.


Thanks dlfl. I took all the garbage out of the config file. I read that you need an "absolute" path, thats is why that last line was in there, but gone now, thanks again.


----------



## windracer

comandercody said:


> OK, thanks to those that have posted and tried to help me, but ever since I clicked on Windracer's season passes, I have been busy adding them to my NPL, and watching them.


  :up:



comandercody said:


> JK, Wind, removing the MAC reference like you suggested worked like a charm. Also, my beacon was wrong, not sure why I changed it to 255.255.255.0, but changing it back worked. Also, the config file does not revert, it stays just like I saved it.


Glad I could help out!

As previously mentioned, the folder "bug" is a known issue now since the 8.3 software update has rolled out. We're all dealing with this in our own way with various workarounds, but none of them are ideal.


----------



## windracer

So I've run into my first transfer problem file with pyTiVo. 

I tried transferring an .avi (Xvid) and I got just a black screen with the audio, no video at all. The audio was fine. I checked and I do have --enable-xvid compiled into ffmpeg. I'm pretty sure I've transfer Xvid before, so maybe it's just this particular file. Any ideas?


----------



## dlfl

windracer said:


> So I've run into my first transfer problem file with pyTiVo.
> 
> I tried transferring an .avi (Xvid) and I got just a black screen with the audio, no video at all. The audio was fine. I checked and I do have --enable-xvid compiled into ffmpeg. I'm pretty sure I've transfer Xvid before, so maybe it's just this particular file. Any ideas?


Yeah, run (at a command prompt):

ffmpeg -i <avi file name>

What does it report about the file, in particular the input video stream ?

If you run pyTivo with debug=true you should get the complete ffmpeg command line used for the transcoding in the debug.txt file. Try running that (modified to have an output file name) and see what warnings you get. The last thing in the command line used by pyTivo is a dash ('-') which causes output to standard output instead of a file. Replace this by your desired output file name (.mpg) or you will have millions of bytes streaming to your command prompt window.

A different version of ffmpeg may work --- I know this may be a hassle for linux.


----------



## windracer

I can't kick off a transfer from work to try the debug.txt method (will do that tonight) but here's what ffmpeg says about the file:



Code:


Input #0, avi, from 'Doctor Who 3x04 - Daleks in Manhattan.avi':
  Duration: 00:46:52.5, start: 0.000000, bitrate: 1042 kb/s
  Stream #0.0: Video: mpeg4, yuv420p, 640x368, 25.00 fps(r)
  Stream #0.1: Audio: mp3, 48000 Hz, stereo, 128 kb/s

I ran this on a file that worked, and it looks about the same:


Code:


Input #0, avi, from 'Doctor Who 3x03 - Gridlock.avi':
  Duration: 00:44:59.5, start: 0.000000, bitrate: 1086 kb/s
  Stream #0.0: Video: mpeg4, yuv420p, 640x368, 25.00 fps(r)
  Stream #0.1: Audio: mp3, 48000 Hz, stereo, 112 kb/s


----------



## ocntscha

windracer said:


> So I've run into my first transfer problem file with pyTiVo.
> 
> I tried transferring an .avi (Xvid) and I got just a black screen with the audio, no video at all. The audio was fine. I checked and I do have --enable-xvid compiled into ffmpeg. I'm pretty sure I've transfer Xvid before, so maybe it's just this particular file. Any ideas?


Stupid question, my apology in advance, but sometimes it pays to rule out the obvious..

Have you played the source file in mplayer or some other video player and verified with your eyes that it does contain usable video?


----------



## dlfl

windracer said:


> I can't kick off a transfer from work to try the debug.txt method (will do that tonight) but here's what ffmpeg says about the file:
> 
> 
> 
> Code:
> 
> 
> Input #0, avi, from 'Doctor Who 3x04 - Daleks in Manhattan.avi':
> Duration: 00:46:52.5, start: 0.000000, bitrate: 1042 kb/s
> Stream #0.0: Video: mpeg4, yuv420p, 640x368, 25.00 fps(r)
> Stream #0.1: Audio: mp3, 48000 Hz, stereo, 128 kb/s
> 
> I ran this on a file that worked, and it looks about the same:
> 
> 
> Code:
> 
> 
> Input #0, avi, from 'Doctor Who 3x03 - Gridlock.avi':
> Duration: 00:44:59.5, start: 0.000000, bitrate: 1086 kb/s
> Stream #0.0: Video: mpeg4, yuv420p, 640x368, 25.00 fps(r)
> Stream #0.1: Audio: mp3, 48000 Hz, stereo, 112 kb/s


Hmmm... No obvious smoking guns there. Let's see if ffmpeg gives any warnings when you try to run it directly with the command line.

*ocntscha*'s question is a good one, obviously.


----------



## windracer

Sure, it plays fine in Windows Media Player on my PC. That was the first thing I checked after downloading it. 

I'll try the command-line manual conversion attempt tonight. Thanks guys.


----------



## windracer

Ok, strange.

I turned on debug and then kicked off the transfer from my TiVo and then stopped it. The debug.txt showed:



Code:


video_info:  /home/nas/Videos/Doctor Who 3x04 - Daleks in Manhattan.avi  cache hit!
tivo_compatible:  /home/nas/Videos/Doctor Who 3x04 - Daleks in Manhattan.avi  is not mpeg2video it is  mpeg4
output_video:  /home/nas/Videos/Doctor Who 3x04 - Daleks in Manhattan.avi  is not tivo compatible
video_info:  /home/nas/Videos/Doctor Who 3x04 - Daleks in Manhattan.avi  cache hit!
tsn: 230000080xxxxxx
aspect169: True
select_aspect: File= /home/nas/Videos/Doctor Who 3x04 - Daleks in Manhattan.avi  Type= mpeg4  width= 640  height= 368  fps= 25.00  millisecs= 2812500  ratio= 173  rheight= 23  rwidth= 40
select_aspect: 16:9 aspect allowed, file is narrower than 16:9 padding left and right
 -aspect 16:9 -s 1408x720 -padleft 16 -padright 16
transcode: ffmpeg command is  /usr/local/bin/ffmpeg-i/home/nas/Videos/Doctor Who 3x04 - Daleks in Manhattan.avi-vcodecmpeg2video-r29.97-b4096K-aspect16:9-s1408x720-padleft16-padright16-commentpyTivo.py-ac2-ab192K-ar44100-fvob-

Ok, so I took the command-line, put back all the missing spaces (not sure why they were missing) and ran it. Saw normal output:



Code:


FFmpeg version SVN-r7788, Copyright (c) 2000-2006 Fabrice Bellard, et al.
  configuration:  --enable-memalign-hack --enable-gpl --enable-pp --enable-xvid --extra-cflags=-I/usr/include --extra-ldflags=-L/usr/lib --enable-mp3lame --enable-x264 --enable-pthreads --enable-faad --enable-faac --enable-a52 --enable-libogg --enable-vorbis --enable-libgsm
  libavutil version: 49.2.0
  libavcodec version: 51.29.0
  libavformat version: 51.8.0
  built on Jan 31 2007 19:16:11, gcc: 3.3.2 (Mandrake Linux 10.0 3.3.2-6mdk)
Input #0, avi, from '/home/nas/Videos/Doctor Who 3x04 - Daleks in Manhattan.avi':
  Duration: 00:46:52.5, start: 0.000000, bitrate: 1042 kb/s
  Stream #0.0: Video: mpeg4, yuv420p, 640x368, 25.00 fps(r)
  Stream #0.1: Audio: mp3, 48000 Hz, stereo, 128 kb/s
Output #0, vob, to 'test.mpg':
  Stream #0.0: Video: mpeg2video, yuv420p, 1440x720, q=2-31, 4096 kb/s, 29.97 fps(c)
  Stream #0.1: Audio: mp2, 44100 Hz, stereo, 192 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Compiler did not align stack variables. Libavcodec has been miscompiled
and may be very slow or crash. This is not a bug in libavcodec,
but in the compiler. Do not report crashes to FFmpeg developers.
Press [q] to stop encoding
frame=  155 q=4.1 Lsize=    2914kB time=5.1 bitrate=4645.6kbits/s

Stopped the transcode and played the test.mpg file in Windows Media Player and it was fine! Video and audio ... and yet the file transferred to the TiVo has no video.


----------



## dlfl

*windracer*
I see you are encoding to 1440x720. That must be for your S3 right? (This size would not be compatible with other TiVo's and would be overkill also.) As I understand it the Tivo go-back capability is not officially available for S3's. Thus in a way your glass is half full -- i.e., at least some of your go-backs are good.  It is puzzling that two files with apparently identical characteristics behave differently.

Do you really need the 1440x720 size to get a good picture? Maybe a smaller size would make the difference. Is it known what sizes are native to the S3?

If I have a problem with an mpeg2, I look at it with mediaInfo, gspot and dgindex, all free programs linked through videohelp.com/tools. mediaInfo is very easy to install and use -- the other two are not quite as easy. Media info and gspot can also be used to look at your AVI files.


----------



## windracer

Actually, I don't think I ever changed those settings in pyTivo.conf and haven't had a problem before. Obviously I'm not sending these to my S3, just to an old S2 (230). 

I'll try playing with those settings tomorrow and see if it helps.


----------



## dlfl

windracer said:


> Actually, I don't think I ever changed those settings in pyTivo.conf and haven't had a problem before. Obviously I'm not sending these to my S3, just to an old S2 (230).
> 
> I'll try playing with those settings tomorrow and see if it helps.


First try removing the width and height lines completely. This will default those values to 544 and 480 which seem to be good for most or all TiVo's. I'm impressed your 230 will handle any 1440x720 files. If still a problem enter width=480, then try the other widths listed as compatible in the distributed .conf file. Height should be left at 480 I believe. I recently added to the Wiki section on configuration to try to clarify the width and height settings.


----------



## delvxe

Thank you to everyone who has put together this excellent app. I was skeptical it would work on vista since Tivo Desktop does not and I could not get PipKin's to work either, but pyTivo works perfectly for transferring over my network. 

A couple of questions.

I have a Humax box with a 595 TSN. It looks like I am having the same transcode problems a few other have had. Transcoded images seem to be overlayed on itself and split into vertal bars and completely whacked (I have a 4:3 television). The videos I have previously transcoded using Videora come across fine. I am going to try altering the config file to 544x480 as inthewoods mentioned in post 173 to see if that works. 

One question, the transferr rate seems to be painfully slow (like 25%-50% of real time). When Tivo Desktop worked before I upgraded from XP, transfer rates were slightly better than 100%.

Last night I had a copy of a 1hr television show in divx format. When pytivo couldn't transcode it correctly for my tivo I went back to Videora as I have done in the past. When I then tried to transfet it, it was achingly slow. Any thoughts?

Thanks,
Terry


----------



## etsolow

delvxe said:


> I have a Humax box with a 595 TSN. It looks like I am having the same transcode problems a few other have had. Transcoded images seem to be overlayed on itself and split into vertal bars and completely whacked (I have a 4:3 television).


I had that problem (on a 16:9 TV and a 4:3 TV). Setting aspect169=false fixed it for me.

E


----------



## windracer

dlfl said:


> First try removing the width and height lines completely. This will default those values to 544 and 480 which seem to be good for most or all TiVo's.


That did it! The file is transferring with video now! Thanks!

I did a little more digging to figure out why this happened. It turns out on 4/19 I "upgraded" to the 187 build. Apparently the pyTivo.conf file has the default height/width lines set to those values and uncommented.


----------



## TreborPugly

delvxe said:


> One question, the transferr rate seems to be painfully slow (like 25%-50% of real time). When Tivo Desktop worked before I upgraded from XP, transfer rates were slightly better than 100%.
> 
> Thanks,
> Terry


The default quality setting is fairly high, so you are maybe getting bigger files than videora was making. (What bit rate did you set up videora to do? You can edit the transcode.ty file to give you that bit rate) Look back in the thread where I asked the same question for details.


----------



## dlfl

TreborPugly said:


> The default quality setting is fairly high, so you are maybe getting bigger files than videora was making. (What bit rate did you set up videora to do? You can edit the transcode.ty file to give you that bit rate) Look back in the thread where I asked the same question for details.


You don't need to edit transcode.py to change the bit rate --- it is a configurable parameter in the pyTivo.conf file, in the [Server] section, e.g.:
video_br=4096k (or 2048k, etc.)
If this is not in the file, it defaults to 4096kbps. Unless you have a very slow PC or network, you should be able to transfer faster than real time with this rate.

Also, check the width and height settings --- see this post.


----------



## TreborPugly

dlfl said:


> You don't need to edit transcode.py to change the bit rate --- it is a configurable parameter in the pyTivo.conf file, in the [Server] section, e.g.:
> video_br=4096k (or 2048k, etc.)
> If this is not in the file, it defaults to 4096kbps. Unless you have a very slow PC or network, you should be able to transfer faster than real time with this rate.
> 
> Also, check the width and height settings --- see this post.


Sorry, right, this was added as a config option after my post about this. (I haven't updated, since everything's working fine for me right now - if it ain't broke... )


----------



## dlfl

armooo said:


> The only cache that pyTivo uses is for the results of running ffmpeg to get video info, this cache is stored in ram so restarting pyTivo will clear it. But it uses os calls to list the files in each directory on each load. A few other people have seen this and it looks like the tivo is sending the wrong path in its request. I think this may be a tivo bug like the now playing list replacement. There must be reasons why the real tivo software has no support for folders.


Finally got my "Spring" update last night and sure enough -- subfolders are broken in pyTiVo.

If you check out the timeline in the wiki you see that *Armooo* has been attacking this problem and in fact has a version of video.py checked in (Changeset 192) that does seem to handle one level of subfolders -- but note his other comments about it, and it hasn't been included in a "release" download.

I downloaded this version of video.py and put it in my pyTiVo 187 installation. It did handle one level of subfolders (I don't have any 2-level subs). 

Thanks Armooo!


----------



## Deadpan Science

I'm having trouble getting the sound to sync up with the video on some of my videos. Is there an option in ffmpeg that would help this? Also, how do I make pytivo use this option every time?


----------



## delvxe

TreborPugly said:


> The default quality setting is fairly high, so you are maybe getting bigger files than videora was making. (What bit rate did you set up videora to do? You can edit the transcode.ty file to give you that bit rate)s.


Videora was set to 2024k using a profile I have used many times before. The file size seemed very high - about 650 megs for 41 minutes of television. Can anyone confirm that this is unusually large? I would estimate that it took about an hour to transfer.

I resolved the interlaced video problem. I vannot tell you which one fixed it, but I deleted the size settings defaulting to 544 x 480, entered my TSN, changed the 169 to false, and changed the bit rate to 2024k. Not sure which one of these fixed the problem, but it works fine now. 3 have to do some tests tonight to see if my transfer rate is better now. I will report back.

Thanks again for the help and good work.

Terry


----------



## johnkfisher

Stupid Tivo. 8.3 ruined everything. Why they can't just make Tivo Desktop for Mac support folders.... seriously - it's like they want to ruin the goodwill they have for their product.

Anyway, I tried the 192 video.py file on top of a 191 install, and, lo and behold, SELECTING A PROGRAM INSTANTLY CRASHES MY TIVO. Completely reproducible, puts me right back to "powering up..."

(sigh)

( as a sidenote, even if it worked, it would be infuriating for the single level and paging issues - I'm sorting literally hundreds of prgrams this way - but it is awesome that it's being worked on so quickly, and I blame tivo for this, not armooo, whom I hope gets this straightened out soon.)


----------



## Tobashadow

Files from my internal hardrive are moved and used perfect but i tryed to use a folder on my network share since i was running out of internal hardrive room on my server machine and it threw a unknown error up on the tivo's screen when the folder in the NPL is opened.

No firewalls in the way and i can access the files from the server machine from it's desktop with no problem.


----------



## TreborPugly

I found that the service had to be using an account that could access the network drive, or that the network share had to allow guest access.


----------



## ocntscha

I've been banging around on Solaris 10 x86 this weekend, trying to learn more about it. Figured something fun to try would be running pyTivo on it.

Unfortunately I'm stuck. It starts fine, and I can see it in Tivo's Now Playing List. But then attempting to "go into it" on the Tivo immediately results in an uknown error on the Tivo side and the following on the Solaris side.

Help.

Thanks,
ocntscha



Code:


bash-3.00# python pyTivo.py 
/usr/local/pyTivo/Cheetah/Compiler.py:1508: UserWarning: 
You don't have the C version of NameMapper installed! I'm disabling Cheetah's useStackFrames option as it is painfully slow with the Python version of NameMapper. You should get a copy of Cheetah with the compiled C version of NameMapper.
  "\nYou don't have the C version of NameMapper installed! "
192.168.1.8 - - [29/Apr/2007 09:31:38] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
192.168.1.8 - - [29/Apr/2007 09:31:38] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
192.168.1.8 - - [29/Apr/2007 09:32:00] "GET /TiVoConnect?Command=QueryContainer&Container=MyMovies&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
----------------------------------------
Exception happened during processing of request from ('192.168.1.8', 1796)
Traceback (most recent call last):
  File "/usr/local/lib/python2.5/SocketServer.py", line 463, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/local/lib/python2.5/SocketServer.py", line 254, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/local/lib/python2.5/SocketServer.py", line 521, in __init__
    self.handle()
  File "/usr/local/lib/python2.5/BaseHTTPServer.py", line 316, in handle
    self.handle_one_request()
  File "/usr/local/lib/python2.5/BaseHTTPServer.py", line 310, in handle_one_request
    method()
  File "/usr/local/pyTivo/httpserver.py", line 64, in do_GET
    method(self, query)
  File "/usr/local/pyTivo/plugins/video/video.py", line 81, in QueryContainer
    t.files, t.total, t.start = self.get_files(handler, query, VideoFileFilter)
  File "/usr/local/pyTivo/plugin.py", line 52, in get_files
    files = filter(filterFunction, files)
  File "/usr/local/pyTivo/plugins/video/video.py", line 75, in VideoFileFilter
    return transcode.suported_format(full_path)
  File "/usr/local/pyTivo/plugins/video/transcode.py", line 293, in suported_format
    if video_info(inFile)[0]:
  File "/usr/local/pyTivo/plugins/video/transcode.py", line 287, in video_info
    millisecs = ((int(d.group(1))*3600) + (int(d.group(2))*60) + int(d.group(3)))*1000 + (int(d.group(4))*100)
AttributeError: 'NoneType' object has no attribute 'group'
----------------------------------------


----------



## KRKeegan

Hello all, sorry it has been so long since i have been here. It will probably be another few days before I can contribute much.  Sorry to the person who keeps bugging me for .srt support.

Well I was blessed with the 8.3 update this morning. I have been running pyTivo 182 or something for a long time. But, this morning forced me to update. I updated pyTivo to the most current and patched in the 192 beta from armooo. It works, but only for one level deep folders. This is a good start I guess. I really really hate TiVo for this crap, this is a bushleague mistake on their part.

I also had a problem with the reduce function in the nearest() subroutine of config.py. I don't know if this is a linux thing, but I can't have an "if" function nested in the reduce function. I found that pulling out the "if" function and making it another subroutine worked fine.

I am glad to see pyTivo is still going strong as ever. Give me till about May 4th or so and I will start contributing again. Hopefully we can clean up this 8.3 mess pretty quickly.

Kevin


----------



## dave843

KRKeegan said:


> I also had a problem with the reduce function in the nearest() subroutine of config.py. I don't know if this is a linux thing, but I can't have an "if" function nested in the reduce function. I found that pulling out the "if" function and making it another subroutine worked fine.
> 
> Kevin


I am having this problem on Linux. Is there a release with this fix in it?


----------



## dlfl

Deadpan Science said:


> I'm having trouble getting the sound to sync up with the video on some of my videos. Is there an option in ffmpeg that would help this? Also, how do I make pytivo use this option every time?


My first suspicion would be the particular videos involved (does this happen for all videos, including some that transcoded OK before?).

However, if you're running Windows, you could try a different version of ffmpeg. You can download a large selection from *** here ***. I've used ver. 8731 some with no problems. The distributed ver. is 8047.

Remember the name of ffmpeg (ffmpeg_mp2.exe or ffmpeg.exe) must match what is in the pyTivo.Conf ffmpeg path parameter. You can rename ffmpeg or change the .conf file, whatever it takes.

Have you changed your bitrate, width or height recently?

Is the audio off by a constant offset throughout the video? There is an audio sync control command line option for ffmpeg "-async" which isn't used in pyTivo but I have seen it used typically in straight file-to-file cases. There is a possibility it doesn't work for the streaming output used by pyTivo. Anyway it is frequently set to "-async 1", which causes ffmpeg to adjust audio sync once at the start of the encoding (i.e., it would help you only if your offset is constant in a video).

A simple edit of one line in transcode.py is all that would be needed to add this to the ffmpeg command line, if you want to try something like that.


----------



## KRKeegan

dave843 said:


> I am having this problem on Linux. Is there a release with this fix in it?


Hrm, I don't want to post a change without checking to see if there is a mre efficient way to do this. But here is the solution I scraped together at first glance.

REPLACE:


Code:


def nearest(x, list): 
     return reduce(lambda a, b: a if abs(x-a) < abs(x-b) or (abs(x-a) == abs(x-b)and a>b) else b, list)

WITH:


Code:


def nearest(x, list):
    return reduce(lambda a, b: closest(x,a,b), list)

def closest(x,a, b):
    if abs(x-a) < abs(x-b) or (abs(x-a) == abs(x-b)and a>b):
        return a
    else:
        return b

That should fix you up. Give me a day or two to make sure I am not missing anything and I will commit it to the SVN.

Armooo and Others:
I know reduce() is going to be dropped from the next version of python. I don't know if that should be something we should take into account.

Kevin


----------



## Tobashadow

dlfl said:


> Finally got my "Spring" update last night and sure enough -- subfolders are broken in pyTiVo.
> 
> If you check out the timeline in the wiki you see that *Armooo* has been attacking this problem and in fact has a version of video.py checked in (Changeset 192) that does seem to handle one level of subfolders -- but note his other comments about it, and it hasn't been included in a "release" download.
> 
> I downloaded this version of video.py and put it in my pyTiVo 187 installation. It did handle one level of subfolders (I don't have any 2-level subs).
> 
> Thanks Armooo!


You mind to give a how-to on that?

I did the obvouis of replacing the file that came in the 187 install with the one that was in the zip file 192 found in the changes page and restarted the computer now i can still see the folder's in the NPL like before but cannot see what is in them it is blank. And so is one folder i have that has no sub folder's just files.

Everything worked perfect before the 8.3

I have a link called Movies which is just files - blank
One called TV Show's - Show's subfolder name of the show but nothing inside.
One Called Internet Downloads - Has aroun 10 different folders with stuff in them all blank now.

The 187 showed everything that wasnt in a folder which was only my Movies folder after i got the 8.3 and before the 8.3 everything showed and worked.


----------



## KRKeegan

Tobashadow said:


> You mind to give a how-to on that?


OK Quick howto to patch pyTivo for 8.3.

Download a new copy of video.py and place it in the plugins/video folder. Replace the old one. And restart pyTivo.

Here is the link to the new one video.py version 192

Known issues with this patch:
It will only go one folder deep. This isnt much of a fix. So it can open a pyTivo server from the NPL list and then go one more folder deep beyond that. But if you have another folder beyond that it wont be able to handle it.

I know that armooo is working on this, and I will put in a few hours on the 4th to hopefully put an end to this new glitch that TiVo has created.

Kevin


----------



## Airey001

I am new to pyTivo, I trying to move over to it from Tivo.Net. However I am having issues with pyTivo adding black bars (Buffers). There are 2 issue with this one i think is just how pyTivo work and the other can't figure out. I have 2 Tivos first a standard 2.5 series unit and and a DVD Tivo, both are connected to widescreen HDTV's.

This first one i think is the way pyTivo works however being new to it I am unsure.
I have a few files that are 4:3 formated when i transfer them with pyTivo they get these buffers going up the sides. Now i know with Tivo.Net I had to option to reconfigure files to the format i prefered. I can't stand watching them with the bars so i set them to be 16:9 and they strech to fill the whole screen. I don't see anything like this with pyTivo, and don't think it is possible yet.

The second issue is I have videos that are encoded at 16:9 format and they also are getting the black bars up and down the side and the picture seems to be compressed into 4:3?

I beleive i have the configuration set up correct and the aspect ratio on the Tivo is set to 16:9 so i am confused on this second one?



Code:


[Server]
port=9132

ffmpeg=/usr/bin/ffmpeg

width=720
height=480

#Bed Room Tivo - Series2 - 200 GB
[_tivo_565############]
aspect169=true

#Living Room Tivo - Series2 - 120 GB
[_tivo_540############]
aspect169=true

[My Movies]
type=video
path=/Data_Drive/Tivo_Media_Library/Videos/

[My Music]
type=music
path=/Data_Drive/Tivo_Media_Library/Music/

Can any one help me out or point me in the right direction?

Thanks

PS:

Its possible it maybe the way I encoded these files. I have been using the goback feature as a DVD on demand service. Up untill recently i was ripping my dvd's vob file and renaming it mpg since the tivos can play that data. But i started to use dvd::rip to convert the files to xvid to save hard drive space.

The videos look good when displayed on the PC so i am not sure.


----------



## KRKeegan

Airey001 said:


> I can't stand watching them with the bars so i set them to be 16:9 and they strech to fill the whole screen. I don't see anything like this with pyTivo, and don't think it is possible yet.
> 
> The second issue is I have videos that are encoded at 16:9 format and they also are getting the black bars up and down the side and the picture seems to be compressed into 4:3?


First your config file looks good, i dont think we have any issues there.

1. Stretching 4:3 to 16:9. No pyTivo doesnt do this. IMHO I dont think this should be a "feature" in pyTivo. I would assume that you can just stretch 4:3 video using the settings on your TV as if it was a broadcast 4:3 image.

2. Your 16:9 videos being compressed to 4:3 format. That is strange. Can you enable the debug feature for me??

Steps:
1. Stop pyTivo
2. Edit pyTivo.conf and insert the following line under the server settings:
debug=true
3. Start pyTivo
4. Play one of the videos that you think should be in 16:9 format but is being compressed to 4:3, you can stop the transfer after the first few seconds.
5. Stop pyTivo
6. Remove the debug line from the config file
7. Post the debug.txt file from the base directory as an attachment to a post here.

Kevin


----------



## Airey001

Thanks for you help!

I assume you are looking for this part of the debug file. Though the whole thing is attached.



Code:


select_aspect: File= /Data_Drive/Tivo_Media_Library/Videos//DVD's/A_NIGHT_AT_THE_MUSEUM_D1_WS-001.avi  Type= mpeg4  width= 720  height= 480  fps= 23.98  millisecs= 6515400  ratio= 150  rheight= 2  rwidth= 3 
select_aspect: 16:9 aspect allowed, file is narrower than 16:9 padding left and right
 -aspect 16:9 -s 606x480 -padleft 56 -padright 58

I don't understand why it tells me the file is 720x480 then later on tells me it is only 606x480 and needs to pad it.

If i open this avi file in xine or mplay it states the file is 720x480. Also if i take a screen shot from xine the pic it produces is 720x480.

Also i am not using the newer video.py file for the 8.3 subfolder issue it is crashing my Tivo when i try to view files info.

Thanks Again!


----------



## KRKeegan

Airey001 said:


> Thanks for you help!
> I don't understand why it tells me the file is 720x480 then later on tells me it is only 606x480 and needs to pad it.
> 
> If i open this avi file in xine or mplay it states the file is 720x480. Also if i take a screen shot from xine the pic it produces is 720x480.


Well shoot!

Well you have a problem that I have discussed for a while but have not come across yet. Read this page for a description of what is occuring.

The problem is ffmpeg cannot read the DAR as thus we have no way to know if you have non-square pixels. Most computer videos have square pixles, even the ones that are transcoded from DVDs.

The only solution I can tell you right now is to transcode your videos using square pixels. I do however suspect videophiles will tell you that your way is better for preserving image quaility. Although I can say I can't see the difference.

Actually, here if you want you can alter your script with the following. This will take any video with the dimensions of a DVD and assume it is 16:9. However, I must warn you that if you come across another video out there that is 720x480 and is not 16:9 it will look funny.

Find this in plugins/video/transcode.py


Code:


    elif ((rwidth, rheight) in [(16, 9), (20, 11), (40, 33), (118, 81), (59, 27)]) and aspect169:
        debug_write(['select_aspect: File is within 16:9 list and 16:9 allowed.\n'])
        return ['-aspect', '16:9', '-s', str(TIVO_WIDTH) + 'x' + str(TIVO_HEIGHT)]
    else:
        settings = []

And replace it with this:


Code:


    elif ((rwidth, rheight) in [(16, 9), (20, 11), (40, 33), (118, 81), (59, 27)]) and aspect169:
        debug_write(['select_aspect: File is within 16:9 list and 16:9 allowed.\n'])
        return ['-aspect', '16:9', '-s', str(TIVO_WIDTH) + 'x' + str(TIVO_HEIGHT)]
    elif (width=720) and (height=480) and aspect169:
        debug_write(['select_aspect: File is 720x480 forcing 16:9, this is a HACK.\n'])
        return ['-aspect', '16:9', '-s', str(TIVO_WIDTH) + 'x' + str(TIVO_HEIGHT)]
    else:
        settings = []

That should do what you want.

Kevin

_EDIT_
The more I think about that edit the less I am thrilled with it. A resolution of 720x480 can be either 4:3 or 16:9. Thus I really don't recommend using the above edit.


----------



## dlfl

Airey001 said:


> Thanks for you help!
> 
> I assume you are looking for this part of the debug file. Though the whole thing is attached.
> 
> 
> 
> Code:
> 
> 
> select_aspect: File= /Data_Drive/Tivo_Media_Library/Videos//DVD's/A_NIGHT_AT_THE_MUSEUM_D1_WS-001.avi  Type= mpeg4  width= 720  height= 480  fps= 23.98  millisecs= 6515400  ratio= 150  rheight= 2  rwidth= 3
> select_aspect: 16:9 aspect allowed, file is narrower than 16:9 padding left and right
> -aspect 16:9 -s 606x480 -padleft 56 -padright 58
> 
> I don't understand why it tells me the file is 720x480 then later on tells me it is only 606x480 and needs to pad it.
> 
> If i open this avi file in xine or mplay it states the file is 720x480. Also if i take a screen shot from xine the pic it produces is 720x480.
> 
> Also i am not using the newer video.py file for the 8.3 subfolder issue it is crashing my Tivo when i try to view files info.
> 
> Thanks Again!


For another take on aspect ratio see this link..

If you want your xvid avi's to be handled correctly by pyTivo, encode them to a format that matches the aspect ratio you want, e.g., 640x480 for 4:3 or 640x360 for 16:9 (This is equivalent to KRKeegan's advice to use "square pixels".) You can use larger or smaller numbers as long as the ratio stays the same and it's advisable to make both numbers multiples of 4. Do not be concerned with matching the xvid encoding dimensions either to the height or width of your input DVD, mpeg2 or VOB files -- doesn't matter. If your encoding software has DAR signaling in it you should set the DAR to 4:3 or 16:9 as desired (or set pixel aspect ratio PAR to 1:1). However pyTivo won't read either of these, it has to assume the DAR based on the dimensions you encoded to.

Your Night at Museum xvid is encoded to 720x480 which pyTivo, having no other information, assumes means a DAR of 720:480 (i.e., square pixels) or 3:2 or 1.5. You have configured to display at 16:9 or 1.77. Thus your video isn't wide enough for 16:9 and pyTivo thus inserts the black sidebars. The encoding dimension from ffmpeg is 720x480 because that's what you've configured. The 720 is ths sum of the 608 plus the padleft and padright values. But it would be 720x480 whether you were encoding for 4:3 or 16:9 display. FFmpeg is putting the DAR value into the encoded mpeg2 stream and TiVo uses this to know whether the 720 width gets spread across 853 pixels (for 16:9) or across 640 pixels (for 4:3). (Note square pixels are not being used in either case.)

For your 720x480 DVD (mpeg2 or vob) pyTivo sources, you have to set the aspect169 and your TiVo display aspect to whatever your TV is (16:9 in your case I think.) I agree with KRKeegan that I would not want pyTivo to stretch a 4:3 video just to avoid the black side-bars on a 16:9 display.

This stuff is hard to explain -- ,and even worse maybe I don't really understand it myself!


----------



## ocntscha

This is really directed at armoo, krkeegan, and/or anyone else who might be trying to code up a work around to the 8.3 problem.

Surely you guys have at least considered having pyTivo just export a flat listing of files ala Tivo Desktop. I'm curious what your guys thinking on that is?

My two cents worth on the topic would be, if you can't beat 'em join 'em. It ought to be possible to impliment a 100% glitch free flat file listing considering Tivo Desktop does. While certainly not as functional as folders it would completely remove the one and only rough edge pyTivo has. Even under 8.2 the user had to use any of several tricks with her remote control to work around folder display problems. I think it might be best to just forego folders in the interest of making pyTivo 100% polished all the way around. Yes, it would be a little less functional, but then there would be no glitches with it what so ever. I suspect making it that polished an application would make it appealing to all sorts of Tivo owners, not just the computer geeks.

Now don't get me wrong, if you guys can pull off a nice glitch free folder implimentation then I'm all for it. Or, if its not possible to impliment folders without quirks, then maybe a configuration option flat=yes or flat=no. Flat=yes, the default, would yield a flat but glitch free listing. flat=no would let the user select an "experimental" folders option.

One more thing, suppose you guys do code up some kind of genius work around for 8.3 problems, there's no guaruntee that no sooner will you be done coding it up than Tivo will roll out an 8.3a and muck everything up again. If you code pyTivo to be equivalent to Tivo Desktop "on the wire" then you shouldn't have to worry to much about Tivo OS releases breaking things.


----------



## Tobashadow

KRKeegan said:


> OK Quick howto to patch pyTivo for 8.3.
> 
> Download a new copy of video.py and place it in the plugins/video folder. Replace the old one. And restart pyTivo.
> 
> Here is the link to the new one video.py version 192
> 
> Known issues with this patch:
> It will only go one folder deep. This isnt much of a fix. So it can open a pyTivo server from the NPL list and then go one more folder deep beyond that. But if you have another folder beyond that it wont be able to handle it.
> 
> I know that armooo is working on this, and I will put in a few hours on the 4th to hopefully put an end to this new glitch that TiVo has created.
> 
> Kevin


Well i guess i offical mucked my install of PyTivo since even after doing the above i have no change.


----------



## dlfl

Tobashadow said:


> Well i guess i offical mucked my install of PyTivo since even after doing the above i have no change.


Yeah. I was using the Ver. 192 video.py for the partial subfolder fix. It navigates the subfolders (one level down) OK but when I try to actually transcode a video from that level it *reboots * my TiVo! Tried it twice to be sure, then reverted to the Ver. 187 (same as 191) video.py. Then was able to navigate to the same video and transcode it, but of course the subfolders were no longer accessible after that one shot.

Went back to ver. 192 video.py again to see if choosing a different subfolder video made a difference and now it won't even navigate to the subfolders -- just says they are empty or not available. Seems like the TiVo is remembering subfolders that were tried before and flagging them as unavailable.

Looks like no subfolders for now at least.


----------



## Tobashadow

I may try 187 again and see if i can recover some use for now


----------



## dlfl

Tobashadow said:


> I may try 187 again and see if i can recover some use for now


You can define separate shares for subfolders of other shared folders. Tedious but does allow you to show contents of your subfolders without having to move files. Shortcuts to either folders or individual videos do not work however.

*@ocntscha*:
Do you mean have all the files in subfolders of a share show up as a combined flat listing for that share on the NPL? That might be worthwhile.


----------



## KRKeegan

ocntscha said:


> Surely you guys have at least considered having pyTivo just export a flat listing of files ala Tivo Desktop. I'm curious what your guys thinking on that is?


Let me first apologize to everyone out there who is having issues. I am also having the same problems and I truly do apologize for failing to fix it yet.

To quickly address the issue. This is a bug in TiVo. This is some coder making a mistake in fixing something. I don't believe that TiVo intended to stop our subfolder functionality. If they had intended to do that they could have done it in a much more blatant manner.

To that end. I think subfolders are extremely helpful, I am sure some of you have tens if not hundreds of videos to sort.

Rest assured this can and will be fixed. On friday I can put in a solid day of effort into this and I think I should be able to come up with a solution.

The patch in 192 that some people have been using still has a lot of bugs and this is why it has not been released in a current form.

Again I apologize for the issues and hopefully we can solve them for you soon.

Kevin


----------



## TreborPugly

ocntscha said:


> Now don't get me wrong, if you guys can pull off a nice glitch free folder implimentation then I'm all for it. Or, if its not possible to impliment folders without quirks, then maybe a configuration option flat=yes or flat=no. Flat=yes, the default, would yield a flat but glitch free listing. flat=no would let the user select an "experimental" folders option.


If you want glitch free, just put all your videos in one folder, or create multiple shares, each with just one folder, and you'll have glitch free operation.


----------



## ocntscha

dlfl said:


> *@ocntscha*:
> Do you mean have all the files in subfolders of a share show up as a combined flat listing for that share on the NPL? That might be worthwhile.


Yes, that is how TivoDesktop + does it. You can have folders and shortcuts to folders and folders inside of folders inside your "My Tivo Recordings" folder which is what TivoDesktop+ shares out.

But then when you sit down in front of your Tivo, use your remote control to navigate to whats being shared out by TivoDesktop+, all the video files anywhere in that entire tree will just be listed there at the root level and there are no folders listed on the Tivo at all.

Yes, thats certainly far from ideal, particularly if you have a lot of video files, but that's how Tivo Desktop + does it and therefore ought to be completely emulable.

Apparently KR thinks he can make folders work though, so more power to him. Obviously a functioning folder implimentation would be the best if it can be pulled off.


----------



## TreborPugly

A couple of questions unrelated to the folder problems with 8.3:


1. Is is possible to adjust the descriptors of files you transfer to the Tivo to have more info, or even the same "series" name so they will get put into "folders" on the Now Playing list once they've been transfered? 
2. Is it possible for shows sent to the Tivo to be "Kidzoneable?" Currently, you can't put anything you've transfered from your computer into the Kid Zone.


----------



## KRKeegan

TreborPugly said:


> A couple of questions unrelated to the folder problems with 8.3:
> 1. Is is possible to adjust the descriptors of files you transfer to the Tivo to have more info, or even the same "series" name so they will get put into "folders" on the Now Playing list once they've been transfered?
> 2. Is it possible for shows sent to the Tivo to be "Kidzoneable?" Currently, you can't put anything you've transfered from your computer into the Kid Zone.


1. Yes it is "possible" but, no pyTivo doesn't support this yet. This is something I really want to add, but have not been able to do yet.

2. Umm, I don't know the answer to this. Maybe??? I have not used this feature at all.


----------



## TreborPugly

Kid zone can be useful even if you don't have kids, but have visiting non-Tivo people with unsupervised access to your Tivo. When it is in Kid Zone, they can't stop recordings, or delete your shows.


----------



## gonzotek

Can someone who is both a kidzone and ttg user answer something for me? If you transfer back normal "*.tivo" recordings via Tivodesktop, can you then add them to kidzone? What I'm wondering is if pyTiVo sent the rating field(and/or some other 'magic' field(s)), would the tivo react differently with respect to kidzone?


----------



## greg_burns

gonzotek said:


> Can someone who is both a kidzone and ttg user answer something for me? If you transfer back normal "*.tivo" recordings via Tivodesktop, can you then add them to kidzone? What I'm wondering is if pyTiVo sent the rating field(and/or some other 'magic' field(s)), would the tivo react differently with respect to kidzone?


Yes, normal .tivo files work. I think it needs the meta-data contained in the .tivo file.

http://www.tivocommunity.com/tivo-vb/showthread.php?p=4115161&&#post4115161


----------



## johnkfisher

KRKeegan said:


> To that end. I think subfolders are extremely helpful, I am sure some of you have tens if not hundreds of videos to sort.


I have Thousands. Subfolders are the ONLY reason I use pytivo. I don't need its transcoding (or whatever the term is) functionality. It's neat, in theory, and maybe one day I won't have the space to maintain two trees of original format and tivo format, but for now I use VisualHub to 'tivo-ize' my files in advance, and am very happy with that.

If pytivo drops multiple folder support, I drop pytivo. Don't get me wrong, I am very grateful to those who maintain it, and they have every right to decide what they do and don't support. And I understand that this is Tivo's screwup and am more than willing to take occasional 'outages' such as this in stride as part and parcel of using non-official programs. I just wanted to put an opposing view out there about this. -- As long as there is no official way to have multiple folders served from a Macintosh, I'll be looking elsewhere for that functionality, and that is why I use pytivo which has done this job beautifully for me in the past, and hopefully will again soon.


----------



## ocntscha

ocntscha said:


> I've been banging around on Solaris 10 x86 this weekend, trying to learn more about it. Figured something fun to try would be running pyTivo on it.
> 
> Unfortunately I'm stuck. It starts fine, and I can see it in Tivo's Now Playing List. But then attempting to "go into it" on the Tivo immediately results in an uknown error on the Tivo side and the following on the Solaris side.
> 
> Help.
> 
> Thanks,
> ocntscha


Maybe bad form to reply to my own post but for the record I've got pyTivo going on Solaris now, works as flawlessly as on Linux. Problem was I was using a very old ffmpeg and the output off ffmpeg -i is a bit different than the current ffmpeg. I'll probably add a Solaris section to the wiki in the days to come.


----------



## KRKeegan

ocntscha said:


> Maybe bad form to reply to my own post but for the record I've got pyTivo going on Solaris now, works as flawlessly as on Linux. Problem was I was using a very old ffmpeg and the output off ffmpeg -i is a bit different than the current ffmpeg. I'll probably add a Solaris section to the wiki in the days to come.


Yeah this is a major problem with using ffmpeg in my opinion.

It annoys me that they change so much of the output and even the command inputs so often. It is an amazing piece of software but I just wish they would make the interface more consistent.


----------



## Tobashadow

ocntscha said:


> Maybe bad form to reply to my own post but for the record I've got pyTivo going on Solaris now, works as flawlessly as on Linux. Problem was I was using a very old ffmpeg and the output off ffmpeg -i is a bit different than the current ffmpeg. I'll probably add a Solaris section to the wiki in the days to come.


Would that stop the files from listing?

I installed 182 when it came out using the windows installer and ran it up till 8.3 bit me in the A$$ then i manualy updated it to 187 and i now have that error. But i moved over the ffmpeg that was in the folder but off hand im not sure if that is what it is using.


----------



## ocntscha

KRKeegan said:


> Yeah this is a major problem with using ffmpeg in my opinion.
> 
> It annoys me that they change so much of the output and even the command inputs so often. It is an amazing piece of software but I just wish they would make the interface more consistent.


Well frequently changing the command inputs is hard to excuse. But as far as the ouput of -i changing around.. the authors of ffmpeg may have only figured it was for human eyes and not have considered that someone may want to automate parsing of that information and make use of it as you guys have. It might be worth the time to contact the ffmpeg folks, tell them what you guys have done and ask them to please leave the ffmpeg -i output alone.


----------



## ocntscha

Tobashadow said:


> Would that stop the files from listing?


It did for me.


Tobashadow said:


> I installed 182 when it came out using the windows installer and ran it up till 8.3 bit me in the A$$ then i manualy updated it to 187 and i now have that error. But i moved over the ffmpeg that was in the folder but off hand im not sure if that is what it is using.


If I'm understanding correctly you moved the ffmpeg from the 182 folder to the 187 folder, if thats what you did I'd say that ought to almost certainly work, I doubt your accidentally using some old version of ffmpeg because I don't think it searches your path for an ffmpeg, I think it just uses the ffmpeg that's specified in pyTivo.conf so unless you accidentally specified some old version of ffmpeg in there I think you've got some other issue.


----------



## MacBrian

Just got pyTivo operational last night on a garage-sale eMachines PC so I can easily watch podcast videos downloaded via iTunes. 

:up: pyTivo is AWESOME! It's one of the few HME things I've tried that actually works for me! I was disappointed about the sub-folders thing, but I rather like having the individual shares showing up in Now Playing.

Just one wish -- after I'm done watching a podcast video, I delete the streamed video file transferred to Now Playing and would also like to be able to delete the video file on the PC from the Tivo interface. Otherwise, I have to remember to go back to the PC and manually delete the files I've watched -- which is sure to be a problem with my faulty biological RAM.  

Anyone else have this or a similar need to remove video files that aren't intended to be kept?


----------



## dlfl

Tobashadow said:


> Would that stop the files from listing?
> 
> I installed 182 when it came out using the windows installer and ran it up till 8.3 bit me in the A$$ then i manualy updated it to 187 and i now have that error. But i moved over the ffmpeg that was in the folder but off hand im not sure if that is what it is using.


I'm curious what version of ffmpeg you are using?

I assume you know the ffmpeg.exe or ffmpeg_mp2.exe you are using is the one specified by the ffmpeg= line in your pyTivo.conf file (?).

To find out what version of ffmpeg (sometimes renamed to ffmpeg_mp2) you are using just start a command window, log it to the folder containing the program and enter the command: " ffmpeg -i dud " (or "ffmpeg_mp2 -i dud" ).
The version # is the first thing that will display.

The version currently distributed with pyTivo is 8047. Here is the site  where you can download many Windows versions of ffmpeg (including 8047). These files are in 7z (7-zip) compressed format. You can get the free 7-zip program here. It's very well behaved and integrates with Windows explorer so you can right-click a file to get to it. A side benefit is this program also expands .rar files, frequently used to distribute free programs.

Note there is a .dll file "pthreadGC2.dll" that needs to be in the same folder (or on the path) with ffmpeg ver. 8047 (and for many other versions). This is distributed with pyTivo also, and I don't think it changes very often. If you run ffmpeg and it needs the .dll file and can't find it, it will give you a message to that effect. This .dll is actually downloadable from the parent directory of the ffmpeg download page if you need it.


----------



## Chew

TivoBrian said:


> Just one wish -- after I'm done watching a podcast video, I delete the streamed video file transferred to Now Playing and would also like to be able to delete the video file on the PC from the Tivo interface. Otherwise, I have to remember to go back to the PC and manually delete the files I've watched -- which is sure to be a problem with my faulty biological RAM.
> 
> Anyone else have this or a similar need to remove video files that aren't intended to be kept?


I just use the iTunes setting to only keep one podcast per show on my computer at any one time. It automatically deletes an old one when a new one becomes available.

Since most of the files tend to have an episode number or a date in the file name (and there's only one file there to begin with!), going into those files in Now Playing makes it pretty easy to figure out when something is new.


----------



## Tobashadow

Verison i have is 8047


----------



## ocntscha

I've been continuing to play with pyTivo on Solaris. I was having a performance issue and would like to submit a patch that corrected it. Whenever I would transfer a file it would be at about 1/3 to 1/4 of real time. Odd because issuing the same ffmpeg command in a UNIX shell would convert the files at right around real time. I determined with prstat (more or less the Solaris equivalent to Linux's top) that when a transfer was taking place python would be eating up about 66% CPU and ffmpeg only got 33%. Unlike on my LInux box where its like 98% ffmpeg and 1% python.

I found where in transcode.py its sending the file over and googled up http://pydoc.org/2.4.1/subprocess.html where I learned about the bufsize option to Popen. Since pyTivo doesn't specify bufsize it defaults to unbuffered, I added the bufsize option and set it to -1 which "means to use the system default". Lo and behold it worked! That one little option gave like a 3 to 4 fold increase in performance, I can transfer right around real time now, ffmpeg eats 98% CPU, python eats 1% just like on my Linux box.

I don't know if this the best fix, or the correct fix, all I can say is it works. I added the same bufsize=-1 option on my Linux box and it doesn't have any negative effect. I'll leave it to you experts to decide.

Also included in this patch is just a new, commented section for pyTivo.conf. At the moment I've got 2 pyTivos running on my network, one on Linux one on Solaris so they needed unique guids. One of you programmers already have programmed beacon.py to check for a guid in pytivo.conf and it definately works so I figured it ought to be documented in pyTivo.conf.


Code:


diff -L proposed-changes-to-pyTivo191 -r -u proposed-changes-to-pyTivo191 pyTivo/plugins/video/transcode.py
--- proposed-changes-to-pyTivo191
+++ pyTivo/plugins/video/transcode.py   2007-05-03 23:31:45.000000000 -0500
@@ -47,6 +47,7 @@
 def transcode(inFile, outFile, tsn=''):
     cmd = [FFMPEG, '-i', inFile, '-vcodec', 'mpeg2video', '-r', '29.97', '-b', VIDEO_BR] + select_aspect(inFile, tsn) +  ['-comment', 'pyTivo.py', '-ac', '2', '-ab', AUDIO_BR,'-ar', '44100', '-f', 'vob', '-' ]   
     debug_write(['transcode: ffmpeg command is ', ''.join(cmd), '\n'])
+    ffmpeg = subprocess.Popen(cmd, bufsize=-1, stdout=subprocess.PIPE)
     ffmpeg = subprocess.Popen(cmd, stdout=subprocess.PIPE)
     try:
         shutil.copyfileobj(ffmpeg.stdout, outFile)
@@ -221,7 +222,7 @@
         return True, True, True, True, True
 
     cmd = [FFMPEG, '-i', inFile ] 
-    ffmpeg = subprocess.Popen(cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE, stdin=subprocess.PIPE)
+    ffmpeg = subprocess.Popen(cmd, bufsize=-1, stderr=subprocess.PIPE, stdout=subprocess.PIPE, stdin=subprocess.PIPE)
 
     # wait 4 sec if ffmpeg is not back give up
     for i in range(80):
diff -L proposed-changes-to-pyTivo191 -r -u proposed-changes-to-pyTivo191 pyTivo/pyTivo.conf
--- proposed-changes-to-pyTivo191
+++ pyTivo/pyTivo.conf  2007-05-03 23:45:54.000000000 -0500
@@ -22,6 +22,11 @@
 #need to specify the subnet broadcast address(es) of your Tivo boxes
 #beacon=255.255.255.255
 
+# Global unique identifier of this pyTivo, can be any six digits.  Defaults
+# to 123456 if not explicitly set here.  If you have 2 or more pyTivos running
+# on your network, they will each need a unique guid.
+#guid=123456
+
 #Output Pixel Width: if you have an HDTV you might want to try 720 or 704
 #Valid: 720, 704, 544, 480, 352
 #width=1440


----------



## bschuler2007

Love pytivo.. but I got a quick question:

Since spring update 8.3, I had to enlarge my pytivo config file considerably. When I edit the config file manually, I'll have say, Music Videos ABC and then Music Videos DEF right next to each other. When I launch Pytivo configurator.. it suddenly reorganizes my config file and nothing is in order anymore. This matches what I am seeing on tivo. I've tried everything I can think of.. and I can't get it to be sorted.

SO basically my question is... how does pytivo organize it's folders? Is there anyway to get alphabetically sorted listings of folders? Is it based on folder size content? Time, etc?


----------



## dlfl

ocntscha said:


> I've been continuing to play with pyTivo on Solaris. I was having a performance issue and would like to submit a patch that corrected it. Whenever I would transfer a file it would be at about 1/3 to 1/4 of real time. Odd because issuing the same ffmpeg command in a UNIX shell would convert the files at right around real time. I determined with prstat (more or less the Solaris equivalent to Linux's top) that when a transfer was taking place python would be eating up about 66% CPU and ffmpeg only got 33%. Unlike on my LInux box where its like 98% ffmpeg and 1% python.
> 
> I found where in transcode.py its sending the file over and googled up http://pydoc.org/2.4.1/subprocess.html where I learned about the bufsize option to Popen. Since pyTivo doesn't specify bufsize it defaults to unbuffered, I added the bufsize option and set it to -1 which "means to use the system default". Lo and behold it worked! That one little option gave like a 3 to 4 fold increase in performance, I can transfer right around real time now, ffmpeg eats 98% CPU, python eats 1% just like on my Linux box.
> 
> I don't know if this the best fix, or the correct fix, all I can say is it works. I added the same bufsize=-1 option on my Linux box and it doesn't have any negative effect. I'll leave it to you experts to decide. ...............


I just tested this on one of my Windows XP systems (2.8 GHz laptop, wireless .11g to hub, wired hub-to-tivo). I used a 121 sec XviD clip encoded at 1200 kbps, transcoding at 4096kbps. The transfer time was the same with or without the mod, i.e, 67 seconds.

In other words, it seems to do no harm to Windows systems.


----------



## TreborPugly

Bummer, I got 8.3 last night. I went into a subfolder and out, without anything dying, but I didn't really mess with it. I'll be checking out the updated code though I guess.

I wasn't paying enough attention to the complaints about 8.3. Does it crash your Tivo or just mess up your Now Playing list?


----------



## dlfl

TreborPugly said:


> Bummer, I got 8.3 last night. I went into a subfolder and out, without anything dying, but I didn't really mess with it. I'll be checking out the updated code though I guess.
> 
> I wasn't paying enough attention to the complaints about 8.3. Does it crash your Tivo or just mess up your Now Playing list?


Another user and I have had TiVo crashes when using the video.py file from changeset 192 (Occuring when you select a subfolder file to transcode). However this changeset was never released as a version for downloading.

On 191 or 187 I haven't seen or heard of crashes, but subfolders are broken for TiVo 8.3. In my case you can sometimes go to a subfolder and successfully transcode a video there, but from then on if you go to any subfolder it is empty.

Note you can create video shares in pyTivo that are subfolders of other video shares. This at least gives you a solid way to get all your subfolder videos into the NPL without having to move them around on your PC. Unfortunately, neither folder nor file shortcuts seem to work.


----------



## bschuler2007

> Note you can create video shares in pyTivo that are subfolders of other video shares. This at least gives you a solid way to get all your subfolder videos into the NPL without having to move them around on your PC.


Yes.. but then you'll have my issue of trying to organize them in a coherent way. Your shares seem to show up in random order. Not that big of a deal..but would be nice to be able to organize your shares.


----------



## Tobashadow

Well i got the files to show up again, it seems the conf file was changed somehow when i went back to the 187.

But when i select a file everything goes as normal but when i hit play i can hear everything just fine but the video looks like im looking thru one of those privacy frosted windows for like a shower. And it's in large blocks of this.

Oh joy config problems hehe.

Any pointers or specific files to look in?

The defualt 182 was perfect before.


----------



## dlfl

Tobashadow said:


> Well i got the files to show up again, it seems the conf file was changed somehow when i went back to the 187.
> 
> But when i select a file everything goes as normal but when i hit play i can hear everything just fine but the video looks like im looking thru one of those privacy frosted windows for like a shower. And it's in large blocks of this.
> 
> Oh joy config problems hehe.
> 
> Any pointers or specific files to look in?
> 
> The defualt 182 was perfect before.


I would suspect the video bitrate is way to low. This is the "video_br= " line in the config file. If you just delete that line it will default to 4096k which is a good value for most systems. If you need a lower rate (for example if your network connection or computer are slower than average) then try 3072k or 2048k. Quality will be reduced but not to the blockiness you are seeing.

This parameter (if present) must be in the [Server] section of the file. See "About the file format" in the configuration page of the Wiki  for the definition of "being in a section."


----------



## Tobashadow

Ok im back in business with 187 on both Tivo's now ( i added a second one to my account last night) and everything looks and acts right except for the folder problem on the 8.3 box.

Turned out the defualt video viewing size setting was messing with it.

I # it out and everything was fine.


----------



## KRKeegan

Ok people as promised I spent about 4 hours yesterday tinking with 8.3 trying to figure out the problem. I have made some good insights, but TiVo really f***ked us on this one.

So here is what happens.

It seems that the first time you use the TiVoComeBack feature it works fine, and I think after a period of time a cache in TiVo empties and it will work fine again for another single use.

But after you use TiVoComeBack once every future request from TiVo becomes messy. TiVo starts requesting the very first folder you used for no reason in every request. And it sticks to this folder, like it is stuck in a cache somewhere.

I wrote up a summary of where I am at over on the wiki. 8.3Software

Please anyone read it and tell me what you think.


----------



## TreborPugly

What about an HME interface other than Now Playing? Isn't that what some of the tools for Galleon use?


----------



## morac

KRKeegan said:


> I wrote up a summary of where I am at over on the wiki. 8.3Software
> 
> Please anyone read it and tell me what you think.


Seems about right. Unfortunately, the problem with trying to work around the issue is that it is basically one big hack with unpredictable results.

The best fix would be to get TiVo to fix the issue themselves. Right now, they're probably not even aware of the problem. Pointing it out to TiVoJerry and asking politely if that was intentional and if not could it be fixed in the next TiVo software release would probably be the best course of action.


----------



## KRKeegan

TreborPugly said:


> What about an HME interface other than Now Playing? Isn't that what some of the tools for Galleon use?


The interface is actually 90% identical to the HMO interface. But no, videos can only appear in the NPL. Galleon uses HME for a lot of features, but even the GoBack option in Galleon appears in the NPL.


----------



## johnkfisher

KRKeegan said:


> Ok people as promised I spent about 4 hours yesterday tinking with 8.3 trying to figure out the problem. I have made some good insights, but TiVo really f***ked us on this one.


I'd be cool with 192's limitations in the interim, but unfortunately it causes some tivos, including mine, to reboot. If that can be fixed or if a way to alphabetize the list when we set up multiple shares as a workaround, well, that'd be neat


----------



## 1up

Hoping someone can help me out here. I have a Tivo Series2 and started using pyTivo. I can't get any decrypted vob files to show up in the NPL.

My pyTivo.conf contains:


Code:


[Server]
port=9032
ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe

debug=true

video_br=3072K

[My Vids]
type=video
path=z:\pemm532

[Torrents]
type=video
path=e:\torrents

[DVD]
type=video
path=z:\ForTivo

I used the debug function of pyTivo and here's the relevant data:


Code:


Seems stream 0 codec frame rate differs from container frame rate: 29.97 (30000/1001) -> 59.94 (60000/1001)

Input #0, mpeg, from 'Z:\ForTivo\VTS_01_0.VOB':

  Duration: 00:00:04.9, start: 0.280633, bitrate: 106147 kb/s

  Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x480, 9800 kb/s, 59.94 fps(r)

  Stream #0.1[0x80]: Audio: ac3, 48000 Hz, stereo, 192 kb/s

Must supply at least one output file

 
video_info: Bug in VideoReDo
video_info: Codec= mpeg2video  width= 720  height= 480  fps= 29.97  millisecs= 4900 
video_info: ffmpeg output= FFmpeg version SVN-r8047, Copyright (c) 2000-2007 Fabrice Bellard, et al.

  configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-liba52 
--enable-avisynth --enable-libdts --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame 
--enable-libnut --enable-libogg --enable-libtheora --enable-libvorbis --enable-x264 --enable-xvid 
--enable-amr_nb --enable-amr_wb --cpu=i686 --enable-memalign-hack --extra-ldflags=-static

  libavutil version: 49.3.0

  libavcodec version: 51.34.0

  libavformat version: 51.10.0

  built on Feb 21 2007 23:20:24, gcc: 4.3.0 20070126 (experimental)

There are multiple errors exactly the same as above for each of the vob files in the directory. I'm not at all knowledgeable about this, but shouldn't the debug data show "--enable-vob" as well? I can't find anywhere in any file where I can change the ffmpeg2 command line options. I was previously using Tivo[.]net and it worked fine with that program. I even tried moving all files into their own directory so that there weren't any subdirectories. Does any have any suggestions?

Thanks,
1up


----------



## dlfl

1up said:


> Hoping someone can help me out here. I have a Tivo Series2 and started using pyTivo. I can't get any decrypted vob files to show up in the NPL.
> .................


.vob files are one kind of mpeg2 file and your debug data indicates it is tivo-compatible and thus should be transfered without even requiring transcoding by ffmpeg. I've never tried to transfer a .vob file but I took one of my TiVo compatible mpeg2 files and changed the extension to .vob and it showed on the NPL and transfered fine (without transcoding).

What version of pyTivo? 
Per my understanding of the pyTivo code, it should be furnishing your VOB file names to the tivo NPL. As a quick experiment, try renaming the .vob to .mpg, although my experiment indicates it shouldn't matter. Still, it could be a difference between your Series2 and my Series2 DT.

Heres a link to some good info on ripped vob files. It's a VideoReDo web page but it's helpful even if you don't have the program. In particular note you should ignore the usually small .vob's, i.e. " Do not include VIDEO_TS.VOB or VTS_xx_00.VOB if present. " To get the complete video you need to combine the other .vob's using one of the methods described. The .vob files are split at arbitrary points just determined by a 1 GB max file size, not by logical scene boundaries.


----------



## ocntscha

I've had great luck with a little freeware program named vob2mpg the few times I've tried it, takes a vob set and makes a normal mpeg out of it, very quickly, few minutes to do the whole movie..

http://www.svcd2dvd.com/downloads.aspx#VOB2MPG


----------



## Tobashadow

dlfl said:


> I would suspect the video bitrate is way to low. This is the "video_br= " line in the config file. If you just delete that line it will default to 4096k which is a good value for most systems. If you need a lower rate (for example if your network connection or computer are slower than average) then try 3072k or 2048k. Quality will be reduced but not to the blockiness you are seeing.
> 
> This parameter (if present) must be in the [Server] section of the file. See "About the file format" in the configuration page of the Wiki  for the definition of "being in a section."


The bitrate wasnt the problem BUT i did change it to the 3072k spec that you stated above and i cant see a change in quality even on my 62 inch tv (good source count's) , but now on my 802.11b adapter's on both tv im getting a encoding transfer ratio of almost 2:1 now where as i was before having to keep from starting it for 5mins or so after start of transfer to give it enough headstart, now i can instantly hit start playing and it will keep getting further ahead as it goes now.

BTW i just got done breaking down my folder's to a more single folder type system so that the 8.3 shouldnt bother me in the future and so i can stick with the 187 stable for now.

Thanks for the help.


----------



## Tobashadow

dlfl said:


> .vob files are one kind of mpeg2 file and your debug data indicates it is tivo-compatible and thus should be transfered without even requiring transcoding by ffmpeg. I've never tried to transfer a .vob file but I took one of my TiVo compatible mpeg2 files and changed the extension to .vob and it showed on the NPL and transfered fine (without transcoding).
> 
> What version of pyTivo?
> Per my understanding of the pyTivo code, it should be furnishing your VOB file names to the tivo NPL. As a quick experiment, try renaming the .vob to .mpg, although my experiment indicates it shouldn't matter. Still, it could be a difference between your Series2 and my Series2 DT.
> 
> Heres a link to some good info on ripped vob files. It's a VideoReDo web page but it's helpful even if you don't have the program. In particular note you should ignore the usually small .vob's, i.e. " Do not include VIDEO_TS.VOB or VTS_xx_00.VOB if present. " To get the complete video you need to combine the other .vob's using one of the methods described. The .vob files are split at arbitrary points just determined by a 1 GB max file size, not by logical scene boundaries.


When i get a chance i'll upload a .vob to my server machine and try it.

Ive got the luxury starting as of this weekend of having both my DT in the living room and my older model total black front Single tuner S2 that i just got for the bedroom.

If there's a difference i'll be able to help.


----------



## Tobashadow

Both machines threw a error when going into a folder with a unencrypted mpeg2 DVD compatable encoded .vob file in it.

Both Machines did fine if it was rencoded as a tivo compatable file.

Seem's Pytivo doesnt like dvd files.


----------



## dlfl

Tobashadow said:


> Both machines threw a error when going into a folder with a unencrypted mpeg2 DVD compatable encoded .vob file in it.
> 
> Both Machines did fine if it was rencoded as a tivo compatable file.
> 
> Seem's Pytivo doesnt like dvd files.


I wouldn't be too quick to blame it on pyTivo. Take one of the longer VOB's, rename it with a .mpg extension and see if it will go back using Tivo-go-back, i.e., not using pyTivo. You could also try it without renaming, just to see what happens.

From your debug file I can see that pyTivo is identifying it as tivo-compatible and should be just directly transfering it without transcoding. (Of course it has to be showing on the NPL, and selected for viewing, before this can happen.) Thus I suspect the problem is the TiVo's choking on VOB files. (AFAIK it doesn't say anywhere that VOB's are TiVo-compatible.) This will show during a go-back transfer too.

Where were the errors thrown? (Tivo or PC?) Did They occur before you even selected a file from NPL to view?


----------



## Tobashadow

Neither machine would even show a folder with even one .vob file in it.

But renaming it to mpeg the tivo compatatible one worked.


----------



## 1up

dlfl, ocntscha & Tobashadow: Thanks for your replies everyone, they're much appreciated.

I've been trying to post a reply for the past half an hour now, but can't because I keep getting the following error message when trying to post anything:


> Your Post contains one or more URLs or image calls, please remove them before submitting your message again. To prevent the abuse of spam, we have set this restriction in place until after you make 5 posts.


 But I have no image calls nor any links in my post. I do have a bunch of windows paths from the error logs (but I don't even know what's the offending item!). I've tried enclosing all periods (.) in brackets [], but that didn't work. Aggravating


----------



## 1up

I'm using pyTivo v1.91. I know that transcoding isn't required for the video portion of a vob, but I thought it was required for the audio portion (if I'm correct in thinking that the audio portion of DVD vob files are encoded as AC3 and my non-DVD Series 2 Tivo needs it to be encoded as mpeg-1 layer-2). Whether I'm correct or not, as you say, pyTivo should be either transcoding (if required) or simply streaming whichever .vob file I try to play from my Tivo. The 2 lines from my debug.txt file that would point me to a solution seem to be:


Code:


Must supply at least one output file
 
video_info: Bug in VideoReDo

Like you all said, it should be working...

I just joined the vob files into one large mpg and tried again, but I got the same error messages in the debug log. The file plays fine in VLC, Windows Media Player, & PowerDVD.


----------



## 1up

Here's some error info from the Windows/DOS command window after getting the error message on the Tivo. (I don't have pyTivo starting automatically as a service, so pyTivo.py starts in a command window.)


Code:


Exception happened during processing of request from ('10.0.0.10', 1743)
Traceback (most recent call last):
  File "C:\Program Files\Python25\lib\SocketServer.py", line 464, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Program Files\Python25\lib\SocketServer.py", line 254, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\Program Files\Python25\lib\SocketServer.py", line 522, in __init__
    self.handle()
  File "C:\Program Files\Python25\lib\BaseHTTPServer.py", line 316, in handle
    self.handle_one_request()
  File "C:\Program Files\Python25\lib\BaseHTTPServer.py", line 310, in handle_one_request
    method()
  File "C:\Program Files\pyTivo\httpserver.py", line 36, in do_GET
    plugin.SendFile(self, container, name)
  File "C:\Program Files\pyTivo\plugins\video\video.py", line 36, in SendFile
    transcode.output_video(container['path'] + path[len(name)+1:], handler.wfile, tsn)
  File "C:\Program Files\pyTivo\plugins\video\transcode.py", line 41, in output_video
    shutil.copyfileobj(f, outFile)
  File "C:\Program Files\Python25\lib\shutil.py", line 24, in copyfileobj
    fdst.write(buf)
  File "C:\Program Files\Python25\lib\socket.py", line 262, in write
    self.flush()
  File "C:\Program Files\Python25\lib\socket.py", line 249, in flush
    self._sock.sendall(buffer)
error: (10054, 'Connection reset by peer')


----------



## 1up

> Originally Posted by *dlfl:*
> _I wouldn't be too quick to blame it on pyTivo. Take one of the longer VOB's, rename it with a .mpg extension and see if it will go back using Tivo-go-back, i.e., not using pyTivo. You could also try it without renaming, just to see what happens.
> 
> From your debug file I can see that pyTivo is identifying it as tivo-compatible and should be just directly transfering it without transcoding. (Of course it has to be showing on the NPL, and selected for viewing, before this can happen.) Thus I suspect the problem is the TiVo's choking on VOB files. (AFAIK it doesn't say anywhere that VOB's are TiVo-compatible.) This will show during a go-back transfer too.
> 
> Where were the errors thrown? (Tivo or PC?) Did They occur before you even selected a file from NPL to view?_


dlfl, thanks for the tips. The errors were originally thrown on both the Tivo & the PC. The Tivo said there was a problem & wouldn't show any of the files in the folder that contained the vobs. I then checked the PC & found the errors I posted above. After I joined the vobs into one large .mpg file and moved it into it's own directory, it showed up in the Tivo NPL (technically, just showing as available on the PC Server), but after trying to watch it I got an error on the Tivo. The PC showed the same error messages in the debug file as posted above.

BTW, as I said, this worked fine earlier this week with Tivo.net. It not only showed the vobs, but I could even watch them on the Tivo without a problem. So I'm pretty sure this is a problem with pyTivo.


----------



## dlfl

1up said:


> dlfl, thanks for the tips. The errors were originally thrown on both the Tivo & the PC. The Tivo said there was a problem & wouldn't show any of the files in the folder that contained the vobs. I then checked the PC & found the errors I posted above. After I joined the vobs into one large .mpg file and moved it into it's own directory, it showed up in the Tivo NPL (technically, just showing as available on the PC Server), but after trying to watch it I got an error on the Tivo. The PC showed the same error messages in the debug file as posted above.
> 
> BTW, as I said, this worked fine earlier this week with Tivo.net. It not only showed the vobs, but I could even watch them on the Tivo without a problem. So I'm pretty sure this is a problem with pyTivo.


OK, here's a theory:
The reason these files work on TDN is because it IS transcoding them. Although the specs used by pyTivo to define a TiVo compatible file are all met, there is still something about the VOB's that chokes the Tivo, so they need ffmpeg to re-encode (transcode) them.

So, let's test this -- if you're willing to insert three lines of code into transcode.py:



Code:


def tivo_compatable(inFile):
    suportedModes = [[720, 480], [704, 480], [544, 480], [480, 480], [352, 480]]
    type, width, height, fps, millisecs =  video_info(inFile)
    #print type, width, height, fps, millisecs
[COLOR=Blue]
    if (inFile[-4:]).lower() == '.vob':
        debug_write(['tivo_compatible: ', inFile, ' is .vob, will transcode\n'])
        return False[/COLOR]

    if (inFile[-5:]).lower() == '.tivo':
        debug_write(['tivo_compatible: ', inFile, ' ends with .tivo\n'])
        return True

The additional three lines are shown in blue. This is in function tivo_compatable () and I've included the lines before and after so you can orient yourself. Warning: Indentation is of critical importance in Python. The inserted "if" line should be indented exactly like the next "if" line. The two lines following the "if" line should be indented equally, i.e., 4 spaces more.

This will force pyTivo to transcode any file with a .vob extension. If my theory is correct, this will make your .vob's work OK with pyTiVo. (If not I'll give you a complete refund  ).


----------



## hakukaji

I have to say I love pyTivo. Im a HUGE fan of both python and Tivo  I was wondering if you want/need any help. I've been programming in python for a few years now. I could try creating a gui in wxpython if you are interested.  AWESOME JOB THOUGH!


----------



## KRKeegan

hakukaji said:


> I have to say I love pyTivo. Im a HUGE fan of both python and Tivo  I was wondering if you want/need any help. I've been programming in python for a few years now. I could try creating a gui in wxpython if you are interested.  AWESOME JOB THOUGH!


Help is always graciously accepted. Anything you want to contribute is more than welcome.

Kevin


----------



## KRKeegan

hakukaji said:


> I have to say I love pyTivo. Im a HUGE fan of both python and Tivo  I was wondering if you want/need any help. I've been programming in python for a few years now. I could try creating a gui in wxpython if you are interested.  AWESOME JOB THOUGH!


Help is always appreciated. Anything you want to contribute would be graciously accepted.

Kevin


----------



## KRKeegan

I think I am 95% finished with a solution to the 8.3 issues. So far I have been able to craft a solution that allows browsing through as many folders as you like without any major functionailty changes. The only difference is that each folder may take an additional half second to load.

Tonight I was able to browse 7 levels deep into a folder and come back with no problems.

The only remaining issue is that if I try and play any files in a subfolder TiVo restarts  . Not exactly a highly requested feature. I think this is just a small problem that can be solved tomorrow, but I am just too tired to keep dealing with the 5 minute restart of my TiVo any more tonight.

Hopefully tomorrow I will have it completed. **Fingers Crossed**

Kevin


----------



## Tobashadow

Thanks for the effort!

As slow as my tivo's reboot i can only imagine the pain of multiple's in one day.

Heck i almost shipped back my first one becasue it had to restart 3 times during setup and each one was a 5-10 min affair. Then that same evening i got a upgrade and it took a hour.


----------



## ScaryMike

KRKeegan said:


> I think I am 95% finished with a solution to the 8.3 issues.... [snip]
> Hopefully tomorrow I will have it completed. **Fingers Crossed**
> Kevin


Hey, I just wanted to put a big thank you out there as well. It is really appreciated.

-Mike


----------



## 1up

dlfl said:


> OK, here's a theory:
> The reason these files work on TDN is because it IS transcoding them. Although the specs used by pyTivo to define a TiVo compatible file are all met, there is still something about the VOB's that chokes the Tivo, so they need ffmpeg to re-encode (transcode) them.
> ...snip...
> This will force pyTivo to transcode any file with a .vob extension. If my theory is correct, this will make your .vob's work OK with pyTiVo. (If not I'll give you a complete refund  ).


Works great! Thanks dlfl.

Maybe you (or anyone else) can help me with one other thing: pyTivo isn't padding the top & bottom of transcoded video enough. My TV is a 4:3 and the vob I'm watching is 720x480. Parts of the left & right sides of the video are beyond the TV screen with just a little bit of black padding at the top & bottom of the screen. I've tried playing with the settings in transcode.py and the settings in pyTivo.conf, but without success.
4:3 ratio = 1.333333
640*480 ratio = 1.333333
16:9 ratio = 1.777777
720*480 ratio = 1.5​In the pyTivo.py command window:


Code:


Seems stream 0 codec frame rate differs from container frame rate: 29.97 (30000/1001) -> 59.94 (60000/1001)
Input #0, mpeg, from 'Z:\avi/broken.vob':
  Duration: 02:14:27.2, start: 0.280633, bitrate: 6418 kb/s
  Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x480, 9800 kb/s, 59.94 fps(r)
  Stream #0.1[0x80]: Audio: ac3, 48000 Hz, 5:1, 448 kb/s
  Stream #0.2[0x81]: Audio: ac3, 48000 Hz, 5:1, 384 kb/s
  Stream #0.3[0x20]: Subtitle: dvdsub
[B]Output[/B] #0, vob, to 'pipe:':
  Stream #0.0: Video: mpeg2video, yuv420p, [B]704x480[/B], q=2-31, 3072 kb/s, 29.97 fps(c)
  Stream #0.1: Audio: mp2, 44100 Hz, stereo, 192 kb/s

The debug.txt file shows:


Code:


aspect169: False 
select_aspect: File= Z:\avi/broken.vob  Type= mpeg2video  width= 720  height= 480  
fps= 29.97  millisecs= 8067200  ratio= 150  rheight= 2  rwidth= 3 
select_aspect: File is wider than 4:3 padding top and bottom
 -aspect 4:3 -s 704x426 -padtop 26 -padbottom 28 
[B]transcode: ffmpeg[/B] command is  c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
-iZ:\avi/broken.vob-vcodecmpeg2video-r29.97-b3072K
[B]-aspect4:3-s704x426-padtop26-padbottom28[/B]-commentpyTivo.py-ac2-ab192K-ar44100-fvob-

In pyTivo.conf I tried changing _aspect169_ to _true_ & then to _false_ and also tried changing the _width=_ to _640_ & _height=_ to _480_, but no joy. I think I probably need to alter the transcode.py file, but can't quite figure it out (not a programmer). Specifically, the section with


Code:


            else: #this is a 4:3 file or 16:9 output not allowed
                settings.append('-aspect')
                settings.append('4:3')
                endHeight = int(((TIVO_WIDTH*height)/width) * multiplier4by3)
                if endHeight % 2:
                    endHeight -= 1

I don't know how the "if endHeight % 2:" is interpreted, but I think that's the key to the problem. Any ideas on how to pad the top & bottom more for videos that are 720*480 so that I can see the entire 720 width of the video?


----------



## dlfl

1up,

Glad the .vob fix worked! (It's nice to have a theory confirmed now and then!)

You have now encountered the infamous "Aspect Ratio" issue. If you search this thread for "aspect", you will see it's not a new one. First I believe there is a relatively simple solution (involving a few more lines added to transcode.py) but I won't be able to do it until a few hours from now.

Basically, there is "Display AR" (DAR) and encoding AR or frame AR (FAR). If they are the same, the pixels are said to be square (pixel AR or PAR = 1:1). In general pixels are NOT square for mpegs (or vobs). Typically a 720x480 FAR will be used in all cases but displayed as either 640x480 (4:3) or 853x480 (16:9). There is a value in the mpeg (vob) file that tells the display system what the DAR (or equivalently the PAR) is so it knows how to stretch or shrink the pixels horizontally.

Unfortunately there is no way to get DAR or PAR from ffmpeg, which pyTivo uses to get info about a video file. Thus pyTivo makes the assumption of square pixels, i.e., DAR = FAR (at least in most cases). The input video was 720x480 (FAR) and you had your config AR (actually it is the DAR) set to 4:3. pyTivo assumes square pixels so your desired DAR is 1.5:1. To get that DAR it must put in the padtop and padbottom parameters you see in the debug file ffmpeg command line. The calculation is based on a 640 display width, so a height of 2/3 of 640 or 426 pixels is needed. If you subtract your top and bottom paddings from 480 that is what you get, and what you see in the -s (size) option of the ffmpeg command line.

I think the fix is just to put an if statement near the top of function select_aspect () to detect the file extension of ".vob" (just like my previous patch) and just set the aspect to whatever you have selected (4:3 or 16:9) and set the width and height to whatever you have in your config file (or the defaults) , called TIVO_WIDTH and TIVO_HEIGHT in this function.

For TiVo compatible mpeg2's this issue doesn't arise because they are not re-encoded with ffmpeg and thus this function isn't even called.


----------



## hakukaji

KRKeegan said:


> Help is always appreciated. Anything you want to contribute would be graciously accepted.
> 
> Kevin


Awesome, well im about to wrap up a project, and when that's done, Im going to try and craft up some sweet gui action.


----------



## johnkfisher

KRKeegan said:


> I think I am 95% finished with a solution to the 8.3 issues. So far I have been able to craft a solution that allows browsing through as many folders as you like without any major functionailty changes. The only difference is that each folder may take an additional half second to load.


I think we can all live with that 



KRKeegan said:


> The only remaining issue is that if I try and play any files in a subfolder TiVo restarts  . Not exactly a highly requested feature. I think this is just a small problem that can be solved tomorrow, but I am just too tired to keep dealing with the 5 minute restart of my TiVo any more tonight.


Heh, details, details.



KRKeegan said:


> Hopefully tomorrow I will have it completed. **Fingers Crossed**


As ws said by someone else earlier, great news, can't thank you enough


----------



## dlfl

Try this mod to transcode.py in the select_aspect function:



Code:


    d = gcd(height,width)
    ratio = (width*100)/height
    rheight, rwidth = height/d, width/d

    debug_write(['select_aspect: File=', inFile, ' Type=', type, ' width=', width, ' height=', height, ' fps=', fps, ' millisecs=', millisecs, ' ratio=', ratio, ' rheight=', rheight, ' rwidth=', rwidth, '\n'])
[COLOR=Red]    
    if (inFile[-4:]).lower() == '.vob':
        if aspect169:
            debug_write(['select_aspect: File is VOB, using 16:9 based on config\n'])
            return ['-aspect', '16:9', '-s', str(TIVO_WIDTH) + 'x' + str(TIVO_HEIGHT)]
        else:
            debug_write(['select_aspect: File is VOB, using 4:3 based on config\n'])
            return ['-aspect', '4:3', '-s', str(TIVO_WIDTH) + 'x' + str(TIVO_HEIGHT)][/COLOR] 

    multiplier16by9 = (16.0 * TIVO_HEIGHT) / (9.0 * TIVO_WIDTH)
    multiplier4by3  =  (4.0 * TIVO_HEIGHT) / (3.0 * TIVO_WIDTH)

(Mods in red.) Be sure your config is set for the AR you want.


----------



## 1up

dlfl said:


> Try this mod to transcode.py in the select_aspect function:
> 
> 
> Code:
> 
> 
> [COLOR=Red]    if (inFile[-4:]).lower() == '.vob':
> if aspect169:
> debug_write(['select_aspect: File is VOB, using 16:9 based on config\n'])
> return ['-aspect', '16:9', '-s', str(TIVO_WIDTH) + 'x' + str(TIVO_HEIGHT)]
> else:
> debug_write(['select_aspect: File is VOB, using 4:3 based on config\n'])
> return ['-aspect', '4:3', '-s', str(TIVO_WIDTH) + 'x' + str(TIVO_HEIGHT)][/COLOR]
> 
> multiplier16by9 = (16.0 * TIVO_HEIGHT) / (9.0 * TIVO_WIDTH)
> multiplier4by3  =  (4.0 * TIVO_HEIGHT) / (3.0 * TIVO_WIDTH)


dlfl, thanks for taking the time to help out & for writing the detailed instructions, but your suggestion didn't quite work. After your mod, the video is taking up the full height of the TV screen (480), but the video is still coming out of pyTivo as 704 pixels in height. I _think_ I want 720x426 (instead of 704x426) - both of which are later padded to be 7--x480.

The main thing I wanted was to get the entire 720 width, but it's still coming out as 704 pixels - actually, I think it might really be less than that on the TV screen. *Debug log*:


Code:


video_info: Bug in VideoReDo
video_info: Codec= mpeg2video  width= 720  height= 480  
fps= 29.97  millisecs= 8067200 
tivo_compatible:  Z:\avi/broken.vob  is .vob, will transcode
output_video:  Z:\avi/broken.vob  is not tivo compatible
video_info:  Z:\avi/broken.vob  cache hit! 
tsn: 5400001707D0BF8 
aspect169: False 
select_aspect: File= Z:\avi/broken.vob  Type= mpeg2video  width= 720  
height= 480  fps= 29.97  millisecs= 8067200  ratio= 150  rheight= 2  rwidth= 3 
select_aspect: File is VOB, using 4:3 based on config
transcode: ffmpeg command is  c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
-iZ:\avi/broken.vob-vcodecmpeg2video-r29.97-b3072K-aspect4:3-s704x480-commentpyTivo.py-ac2-ab192K-ar44100-fvob-

*pyTivo.py command window*:


Code:


Seems stream 0 codec frame rate differs from container frame rate: 29.97 (30000/1001) -> 59.94 (60000/1001)
Input #0, mpeg, from 'Z:\avi/broken.vob':
  Duration: 02:14:27.2, start: 0.280633, bitrate: 6418 kb/s
  Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x480, 9800 kb/s, 59.94 fps(r)
  Stream #0.1[0x80]: Audio: ac3, 48000 Hz, 5:1, 448 kb/s
  Stream #0.2[0x81]: Audio: ac3, 48000 Hz, 5:1, 384 kb/s
  Stream #0.3[0x20]: Subtitle: dvdsub
Output #0, vob, to 'pipe:':
  Stream #0.0: Video: mpeg2video, yuv420p, 704x480, q=2-31, 3072 kb/s, 29.97 fps(c)
  Stream #0.1: Audio: mp2, 44100 Hz, stereo, 192 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
No accelerated IMDCT transform found

I then spent the last few hours trying to play with the transcode settings (without your latest mod), but without success. The part I specifically kept playing with was:


Code:


            else: #this is a 4:3 file or 16:9 output not allowed
                settings.append('-aspect')
                settings.append('4:3')
                endHeight = int(((TIVO_WIDTH*height)/width) * multiplier4by3)
                if endHeight % 2:
                    endHeight -= 1
                if endHeight < TIVO_HEIGHT * 0.99:
                    settings.append('-s')
                    settings.append(str(TIVO_WIDTH [B][COLOR=Red]+ 16[/COLOR][/B]) + 'x' + str(endHeight[B][COLOR=Red]-20[/COLOR][/B]))

                    topPadding = ((TIVO_HEIGHT - endHeight)/2)
                    if topPadding % 2:
                        topPadding -= 1
                    
                    settings.append('-padtop')
                    settings.append(str(topPadding[B][COLOR=Red]+10[/COLOR][/B]))
                    bottomPadding = (TIVO_HEIGHT - endHeight) - topPadding
                    settings.append('-padbottom')
                    settings.append(str(bottomPadding[B][COLOR=Red]+10[/COLOR][/B]))
                else:   #if only very small amount of padding needed, then just stretch it
                    settings.append('-s')
                    settings.append(str(TIVO_WIDTH) + 'x' + str(TIVO_HEIGHT))
                debug_write(['select_aspect: File is wider than 4:3 padding top and bottom\n', ' '.join(settings), '\n'])

I was able to get the output to be 720 pixels, but it made no difference on the TV screen, it still didn't show the complete width of the actual DVD video.  Here's the result I got with the last set of mods:


Code:


aspect169: False 
select_aspect: File= Z:\avi/broken.vob  Type= mpeg2video  width= 720  
height= 480  fps= 29.97  millisecs= 8067200  ratio= 150  rheight= 2  rwidth= 3 
select_aspect: File is wider than 4:3 padding top and bottom
 -aspect 4:3 -s 720x406 -padtop 36 -padbottom 38 
transcode: ffmpeg command is  c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
-iZ:\avi/broken.vob-vcodecmpeg2video-r29.97-b3072K-aspect4:3-s720x406-padtop36-padbottom38-commentpyTivo.py-ac2-ab192K-ar44100-fvob- 
kill: killing pid= 1356

As you can tell, I don't know what I'm talking about here!  Any other ideas?


----------



## dlfl

1up,
I infer that from the 704 width in the ffmpeg output stream that you had width=704 in your pyTivo.conf file, correct? If so, try the transcode.py with my mods but with width set to 544, or just delete the width= line. Using width=720 may also work but try 544 first.

Other than that, I can see no possible problem with the video and audio output streams from ffmpeg. In fact the 704 width does not cause a width problem on my S2 DT. My only thought is that I see from your tsn (540xxxx....) that this was going to your S2 and it's possible it doesn't handle the 704 width correctly. Different models will handle a different subset of the recommended widths in the distributed pyTivo.conf file comments. 544 was determined by experimentation to be most compatible with most tivo models.

When you use a width that is compatible with your TiVo model (whether it is 480, 544, 720 or whatever), the TiVo knows from the (Display) AR encoded in the file (4:3 in this case) that that width needs to be spread across the full width of your screen (corresponding to a 640x480 display in this case).

Good luck. Other than this, I can't think of anything else for the moment.


----------



## 1up

Thanks for all the help dlfl! After screwing around for about 20 hours  (running back & forth between the living room & my office dozens of times) I finally got it working. It's an ugly cludge, but it works ;-) Here's what I changed in pyTivo.py (I also indented the original code.):


Code:


            else: #this is a 4:3 file or 16:9 output not allowed
                [COLOR=Red]if (inFile[-4:]).lower() == '.vob':#EWB custom - if vob assume 740x480 and pad
                    settings.append('-aspect')
                    settings.append('4:3')
                    settings.append('-s')
                    settings.append(str(634) + 'x' + str(360))
                    endHeight = int(((TIVO_WIDTH*height)/width) * multiplier4by3)
                    topPadding = ((TIVO_HEIGHT - endHeight)/2)
                    settings.append('-padtop')
                    settings.append(str(+60))
                    bottomPadding = (TIVO_HEIGHT - endHeight) - topPadding
                    settings.append('-padbottom')
                    settings.append(str(+60))
                    settings.append('-padleft')
                    settings.append(str(40))
                    settings.append('-padright')
                    settings.append(str(46))
                else:[/COLOR]
                    [COLOR=Blue]settings.append('-aspect')
                    settings.append('4:3')
                    endHeight = int(((TIVO_WIDTH*height)/width) * multiplier4by3)
                    if endHeight % 2:
                        endHeight -= 1
                    if endHeight < TIVO_HEIGHT * 0.99:
                        settings.append('-s')
                        settings.append(str(TIVO_WIDTH) + 'x' + str(endHeight))

                        topPadding = ((TIVO_HEIGHT - endHeight)/2)
                        if topPadding % 2:
                            topPadding -= 1
                    
                        settings.append('-padtop')
                        settings.append(str(topPadding))
                        bottomPadding = (TIVO_HEIGHT - endHeight) - topPadding
                        settings.append('-padbottom')
                        settings.append(str(bottomPadding))
                    else:   #if only very small amount of padding needed, then just stretch it
                        settings.append('-s')
                        settings.append(str(TIVO_WIDTH) + 'x' + str(TIVO_HEIGHT))
                    debug_write(['select_aspect: File is wider than 4:3 padding top and bottom\n', ' '.join(settings), '\n']
[/COLOR]
            return settings
        #If video is taller than 4:3 add left and right padding, this is rare. All of these files will always be sent in
        #an aspect ratio of 4:3 since they are so narrow.

I also used your first code snippet:


Code:


def tivo_compatable(inFile):
    suportedModes = [[720, 480], [704, 480], [544, 480], [480, 480], [352, 480]]
    type, width, height, fps, millisecs =  video_info(inFile)
    #print type, width, height, fps, millisecs
[COLOR=Red]
    if (inFile[-4:]).lower() == '.vob':#EWB custom addition for vob file types
        debug_write(['tivo_compatible: ', inFile, ' is .vob, will transcode\n'])
        return False[/COLOR]

    if (inFile[-5:]).lower() == '.tivo':
        debug_write(['tivo_compatible: ', inFile, ' ends with .tivo\n'])
        return True

Finally, I kept the defaults in the pyTivo.config file. This works for my 4:3 television - for this DVD rip anyway. I'll have to see if my cludge ruins it for rips that aren't 720x480 and for TIVO compatible files. <fingers crossed>


----------



## dlfl

1up,

Well, looks like you're having fun and getting control of it! I can't completely analyze what you've done without knowing for sure what width you had set in the config file (or none?). You say the "defaults". Do you mean values that were already in the file as distributed or the true default, which is 544 width (which you get if you don't have a width= line at all)? (One distributed version had width=1440 and height=720, which are definitely not defaults in any sense.)

You didn't say if you tried my last suggestion:


> ... try the transcode.py with my mods but with width set to 544, or just delete the width= line.


 If not, I hope you will try it -- I'm very curious to see if it works.


----------



## KRKeegan

WAHOOOO!

OMG, I can't even begin to explain how frustrating this whole process was, nor can I estimate the number of hours wasted on this. I would say I want to strangle an engineer's neck at TiVo, but I received some good news from them(more on that later).

2 Good things to report:

*1. Version 194* is stable and supports subfolders in TiVo software version 8.3  . It is available on the wiki. If after you install it you have issues, try restarting your TiVo once to clear the cache, and note that you can only have ONE server(pyTivo, or TiVo.net(*I think)) on your network.

The bad news, there are caveats to it I am afraid. Here is what I can think of so far, I am sure there are more.

*MAJOR CAVEAT * - YOU CAN ONLY HAVE ONE SERVER IP ON YOUR NETWORK
You can still have multiple folders listed in your configuration file. You just can't have a server at one IP and another server at another IP. ** I believe you can still have a non-subfolder server at another IP, such as desktop 2.4, but I am not positive about this.​
Browsing is slower - I had to add a sleep function of 25 milliseconds. Plus there are a lot of extraneous commands and lookups.

Title Wrong - When descending from a folder the title will remain as the highest folder you entered. This is stuck this way till you reach the root folder. It is only cosmetic and is an error inside the TiVo code that I can't fix.

*New Setting* in Config File - hack83 is a new setting under the server settings within the config file, if it is not present it will default to TRUE. So if you don't have version 8.3 on your machine or you just want to disable this function set hack83=false. For most people you don't need to worry about this since the default is true using your old config file will enable 8.3 support by default.

That is all the problems I can think of right now.

*2.* The next piece of good news is that I received a response from an individual at TiVo who said he will forward the issue onto the correct department and requested contact information for me. So hopefully this means we can get this bug solved soon and go back to using pyTivo normally. **Fingers Crossed**


----------



## TreborPugly

Thanks for all your work! I'll be trying this out soon!


----------



## ScaryMike

KRKeegan said:


> *MAJOR CAVEAT * - YOU CAN ONLY HAVE ONE SERVER IP ON YOUR NETWORK


First off, THANKS! You rock. I'll give this a try tomorrow.

Second, does this mean that we can't run the Unbox ondemand preview server? (if you are familiar with that).

-Mike


----------



## dlfl

I started with version 191 installation, replaced config.py, transcode.py, and httpserver.py with changeset 193 versions and video.py with the 194 version.

Any time I enter a subfolder in the NPL I get the "This Group is empty" message.  I've restarted pyTivo several times and gone in and out of the NPL several times.

Here's some cut-n-paste from the command window:


> =========================================================================
> Tivo said: LapTop pyTivo Main || Hack said: LapTop pyTivo Main
> 192.168.0.155 - - [09/May/2007 00:51:58] "GET /TiVoConnect?Command=QueryContaine
> r&Container=LapTop%20pyTivo%20Main&Recurse=Yes&SortOrder=!CaptureDate&ItemCount=
> 8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo
> -mpeg,video%2F* HTTP/1.1" 200 -
> =========================================================================
> Tivo said: LapTop pyTivo Main/More || Hack said: LapTop pyTivo Main/More
> 192.168.0.155 - - [09/May/2007 00:52:01] "GET /TiVoConnect?Command=QueryContaine
> r&Container=LapTop%20pyTivo%20Main%2FMore&SortOrder=!CaptureDate&ItemCount=8&Fil
> ter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg
> ,video%2F* HTTP/1.1" 200 -
> =========================================================================
> Tivo said: LapTop pyTivo Main || Hack said: LapTop pyTivo Main
> 192.168.0.155 - - [09/May/2007 00:56:25] "GET /TiVoConnect?Command=QueryContaine
> r&Container=LapTop%20pyTivo%20Main&Recurse=Yes&SortOrder=!CaptureDate&ItemCount=
> 8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLapTop%2520
> pyTivo%2520Main%2FMore&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-t
> ivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
> 192.168.0.155 - - [09/May/2007 00:56:28] "GET /TiVoConnect?Command=QueryContaine
> r&Container=%2F HTTP/1.0" 200 -


Note the middle one is when I entered a subfolder (pyTivo Main/more).

TiVo and PC specs are in my signature block below.


----------



## KRKeegan

*ScaryMike* No it only means video services similar to pyTivo. Like I said I think only another pyTivo or TiVo.net on another machine would cause an issue.



dlfl said:


> I started with version 191 installation, replaced config.py, transcode.py, and httpserver.py with changeset 193 versions and video.py with the 194 version.
> 
> Any time I enter a subfolder in the NPL I get the "This Group is empty" message.  I've restarted pyTivo several times and gone in and out of the NPL several times.
> 
> Here's some cut-n-paste from the command window:
> 
> Note the middle one is when I entered a subfolder (pyTivo Main/more).
> 
> TiVo and PC specs are in my signature block below.


hmm, ok not sure what is going on. First are you getting any errors on the PC. Second, can you enable debug and try going into a problematic folder for me and then post the debug log?


----------



## dlfl

KRKeegan said:


> .............hmm, ok not sure what is going on. First are you getting any errors on the PC. Second, can you enable debug and try going into a problematic folder for me and then post the debug log?


First, no not getting errors on the PC end.

I tried to isolate the portion of the debug file starting when I went into the subfolder:


> Video.py - Hack we are entering a new folder
> Transcode.py - video_info: ffmpeg output= FFmpeg version SVN-r8047, Copyright (c) 2000-2007 Fabrice Bellard, et al.
> 
> configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-liba52 --enable-avisynth --enable-libdts --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libogg --enable-libtheora --enable-libvorbis --enable-x264 --enable-xvid --enable-amr_nb --enable-amr_wb --cpu=i686 --enable-memalign-hack --extra-ldflags=-static
> 
> libavutil version: 49.3.0
> 
> libavcodec version: 51.34.0
> 
> libavformat version: 51.10.0
> 
> built on Feb 21 2007 23:20:24, gcc: 4.3.0 20070126 (experimental)
> 
> Seems stream 1 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 29.97 (30000/1001)
> 
> Input #0, asf, from 'C:\Video\pyTivoVideos\More\CivWarPhotogNorth5minFix.wmv':
> 
> Duration: 00:05:00.2, start: 5.000000, bitrate: 635 kb/s
> 
> Stream #0.0: Audio: wmav2, 44100 Hz, stereo, 128 kb/s
> 
> Stream #0.1: Video: wmv1, yuv420p, 320x240, 29.97 fps(r)
> 
> Must supply at least one output file
> 
> Transcode.py - video_info: Codec= wmv1 width= 320 height= 240 fps= 29.97 millisecs= 300200
> Transcode.py - video_info: ffmpeg output= FFmpeg version SVN-r8047, Copyright (c) 2000-2007 Fabrice Bellard, et al.
> 
> configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-liba52 --enable-avisynth --enable-libdts --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libogg --enable-libtheora --enable-libvorbis --enable-x264 --enable-xvid --enable-amr_nb --enable-amr_wb --cpu=i686 --enable-memalign-hack --extra-ldflags=-static
> 
> libavutil version: 49.3.0
> 
> libavcodec version: 51.34.0
> 
> libavformat version: 51.10.0
> 
> built on Feb 21 2007 23:20:24, gcc: 4.3.0 20070126 (experimental)
> 
> Seems stream 0 codec frame rate differs from container frame rate: 30000.00 (30000/1) -> 29.97 (30000/1001)
> 
> Input #0, avi, from 'C:\Video\pyTivoVideos\More\Original Tivo - DSD-QSF.divx':
> 
> Duration: 00:01:52.7, start: 0.000000, bitrate: 1216 kb/s
> 
> Stream #0.0: Video: mpeg4, yuv420p, 656x480, 29.97 fps(r)
> 
> Stream #0.1: Audio: mp3, 48000 Hz, stereo, 128 kb/s
> 
> Must supply at least one output file
> 
> Transcode.py - video_info: Codec= mpeg4 width= 656 height= 480 fps= 29.97 millisecs= 112700
> Transcode.py - video_info: ffmpeg output= FFmpeg version SVN-r8047, Copyright (c) 2000-2007 Fabrice Bellard, et al.
> 
> configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-liba52 --enable-avisynth --enable-libdts --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libogg --enable-libtheora --enable-libvorbis --enable-x264 --enable-xvid --enable-amr_nb --enable-amr_wb --cpu=i686 --enable-memalign-hack --extra-ldflags=-static
> 
> libavutil version: 49.3.0
> 
> libavcodec version: 51.34.0
> 
> libavformat version: 51.10.0
> 
> built on Feb 21 2007 23:20:24, gcc: 4.3.0 20070126 (experimental)
> 
> Input #0, avi, from 'C:\Video\pyTivoVideos\More\Original Tivo - ReDo.avi':
> 
> Duration: 00:01:52.8, start: 0.000000, bitrate: 1162 kb/s
> 
> Stream #0.0: Video: mpeg4, yuv420p, 640x480, 29.97 fps(r)
> 
> Stream #0.1: Audio: mp3, 48000 Hz, stereo, 128 kb/s
> 
> Must supply at least one output file
> 
> Transcode.py - video_info: Codec= mpeg4 width= 640 height= 480 fps= 29.97 millisecs= 112800
> Video.py - Hack Tivo said: LapTop pyTivo Main/More || Hack said: LapTop pyTivo Main/More
> Transcode.py - video_info: C:\Video\pyTivoVideos\More\CivWarPhotogNorth5minFix.wmv cache hit!
> Transcode.py - video_info: C:\Video\pyTivoVideos\More\Original Tivo - DSD-QSF.divx cache hit!
> Transcode.py - video_info: C:\Video\pyTivoVideos\More\Original Tivo - ReDo.avi cache hit!
> Transcode.py - video_info: C:\Video\pyTivoVideos\More\CivWarPhotogNorth5minFix.wmv cache hit!
> Transcode.py - tivo_compatible: C:\Video\pyTivoVideos\More\CivWarPhotogNorth5minFix.wmv is not mpeg2video it is wmv1
> Transcode.py - video_info: C:\Video\pyTivoVideos\More\CivWarPhotogNorth5minFix.wmv cache hit!
> Transcode.py - video_info: C:\Video\pyTivoVideos\More\CivWarPhotogNorth5minFix.wmv cache hit!
> Transcode.py - video_info: C:\Video\pyTivoVideos\More\Original Tivo - DSD-QSF.divx cache hit!
> Transcode.py - tivo_compatible: C:\Video\pyTivoVideos\More\Original Tivo - DSD-QSF.divx is not mpeg2video it is mpeg4
> Transcode.py - video_info: C:\Video\pyTivoVideos\More\Original Tivo - DSD-QSF.divx cache hit!
> Transcode.py - video_info: C:\Video\pyTivoVideos\More\Original Tivo - DSD-QSF.divx cache hit!
> Transcode.py - video_info: C:\Video\pyTivoVideos\More\Original Tivo - ReDo.avi cache hit!
> Transcode.py - tivo_compatible: C:\Video\pyTivoVideos\More\Original Tivo - ReDo.avi is not mpeg2video it is mpeg4
> Transcode.py - video_info: C:\Video\pyTivoVideos\More\Original Tivo - ReDo.avi cache hit!
> Transcode.py - video_info: C:\Video\pyTivoVideos\More\Original Tivo - ReDo.avi cache hit!


The transcode messages correspond to the three video files that are in that subfolder.

Hope this helps!


----------



## armooo

dlfl's, problem is fixed. The changes were half committed to the branch half to the trunk. So the post commit hook built a zip of the broken trunk. The branch will now build zip files as well. But my quick test with it I did have my tivo reboot, so I am going to leave it on the branch for a bit longer.


----------



## dlfl

armooo said:


> dlfl's, problem is fixed. The changes were half committed to the branch half to the trunk. So the post commit hook built a zip of the broken trunk. The branch will now build zip files as well. But my quick test with it I did have my tivo reboot, so I am going to leave it on the branch for a bit longer.


Huh? 

I got my new files by downloading the plain text full files from the appropriate changesets (193 and 194, trunk or branch per the changeset).

Is there a fix to my empty subfolder problem? If so how do I get it? Is the distribution ver. 199 zip on the download page my fix? Is this the one that rebooted your TiVo?


----------



## 1up

dlfl said:


> Well, looks like you're having fun and getting control of it! I can't completely analyze what you've done without knowing for sure what width you had set in the config file (or none?). You say the "defaults". Do you mean values that were already in the file as distributed or the true default, which is 544 width (which you get if you don't have a width= line at all)? (One distributed version had width=1440 and height=720, which are definitely not defaults in any sense.)


dlfl, after your pevious post , I checked my pyTivo.config and you were right, it was set to 640x480 when I first tried inserting your code into transcode.py


Code:


   [COLOR=Red] if (inFile[-4:]).lower() == '.vob':
        if aspect169:
            debug_write(['select_aspect: File is VOB, using 16:9 based on config\n'])
            return ['-aspect', '16:9', '-s', str(TIVO_WIDTH) + 'x' + str(TIVO_HEIGHT)]
        else:
            debug_write(['select_aspect: File is VOB, using 4:3 based on config\n'])
            return ['-aspect', '4:3', '-s', str(TIVO_WIDTH) + 'x' + str(TIVO_HEIGHT)] [/COLOR]

    multiplier16by9 = (16.0 * TIVO_HEIGHT) / (9.0 * TIVO_WIDTH)
    multiplier4by3  =  (4.0 * TIVO_HEIGHT) / (3.0 * TIVO_WIDTH)

But even after commenting out the width & height lines in my pyTivo.config the result was the same - the picture was filling the TV screen with no padding.

By 'defaults', I meant that the width & height (W&H) were commented out (I'm pretty sure that's how it was upon installing). But I also tried every permutation possible. I tried the following changes to pyTivo.config first with, and then without, your mod to transcode.py:
W&H commented out; aspect ratio (AR) set to 16:9
W&H commented out; AR 4:3
width=720; height commented out; AR 16:9
width=720; height commented out; AR 4:3
width=640; height commented out; AR 16:9
width=640; height commented out; AR 4:3

I also tried some of the above with the height at 426 and then at 360. And I also tried some of the above with the width at 544. Still no joy. Only after playing around with the padding in the select_aspect(inFile, tsn = '') function did I start seeing some results. I then tried all those permutations again with different changes to select_aspect function, but found that I could only get the results I wanted by using what I finally came up with. (I tried combining all of my custom code lines into one line, but I don't know enough about python coding and it kept breaking, so I left it as is.)

I tried it today with another 720x480 DVD and it works great, but I haven't tried it with a vob file that isn't 720x480 yet. Hopefully this solution can be incorporated in some fashion into pyTivo by the developer(s). (Like write some code that detects 720x480 videos and pads according to my coding?)

Anyway, thanks again for all your help dlfl!


----------



## dlfl

*1up*,

I'm confused. 
As I understand it, when you tried it "my way" you observed:


> .....the result was the same - the picture was filling the TV screen with no padding.


 Isn't that the desired result if your source is a 4:3 VOB and your TV is 4:3 ? (Why would you want black bands at sides or top/bottom in that case?)


----------



## johnkfisher

I'm also confused, sorry. if i have 8.3, and my Tivo had been rebooting under 191 (or whatever), etc.

But am I supposed to use 
http://armooo.net/~armooo/pyTivo/downloads/pyTivo-199.zip
or
http://armooo.net/~armooo/pyTivo/downloads/pyTivo-subfolders-8.3-198.zip ?


----------



## armooo

dlfl:

Always getting an empty folder seems to be a result of having or recently having had a other server serving subfolders running.

johnkfisher:
Any file named pyTivo-xxx.zip is from the trunk and is the "stable" version, which at this point has no extra support for subfolders on 8.3

Any file named pyTivo-subfolders-8.3-xxx.zip is from the subfolders-8.3 branch and has experimental support for subfolders on 8.3, but being experimental may cause tivo crashes , burn your house down and eat your dog (Not that I am saying the trunk will not, it is just much less likely).


----------



## KRKeegan

armooo said:


> but being experimental may cause tivo crashes , burn your house down and eat your dog (Not that I am saying the trunk will not, it is just much less likely).


 You forgot and leave you daughter knocked up.


----------



## dlfl

KRKeegan said:


> You forgot and leave you daughter knocked up.


And don't forget: steal your pickup truck. You guys are getting loopy from all the hacking on the 8.3 problem, I think! 

I get the same subfolder result with 191, 194, 198 and 199: Nothing shows in the NPL for subfolders.  Maybe a reboot before each test would make a difference (?) (But not tonight.)

I suppose TiVo won't change anything until their next scheduled update.

Thanks for your efforts. :up: Even if I had to live with the 191 functionality indefinitely it's a great app!


----------



## TreborPugly

johnkfisher said:


> I'm also confused, sorry. if i have 8.3, and my Tivo had been rebooting under 191 (or whatever), etc.
> 
> But am I supposed to use
> http://armooo.net/~armooo/pyTivo/downloads/pyTivo-199.zip
> or
> http://armooo.net/~armooo/pyTivo/downloads/pyTivo-subfolders-8.3-198.zip ?


I just put the subfolders-8.3-198.zip up, replacing everything in my pyTivo folder with the stuff in this zip, and then editing the config file to look at the right ffmpeg location, to look at the right folders for my videos, and to use 1024K as the video bitrate.

Subfolders appear to be working fine, without rebooting my Tivo or my computer. I started a transfer of a video in a subfolder, and that started transferring fine too.

So thanks a bunch!

one question:
In the pyTivo,conf file, why is the video bitrate setting, which is commented out by default, "3Mi"? What does that mean? Am I correct that I can edit this to be something like 1024K or 2048K?


----------



## dlfl

TreborPugly said:


> I just put the subfolders-8.3-198.zip up, replacing everything in my pyTivo folder with the stuff in this zip, and then editing the config file to look at the right ffmpeg location, to look at the right folders for my videos, and to use 1024K as the video bitrate.
> 
> Subfolders appear to be working fine, without rebooting my Tivo or my computer. I started a transfer of a video in a subfolder, and that started transferring fine too.
> 
> So thanks a bunch!
> 
> one question:
> In the pyTivo,conf file, why is the video bitrate setting, which is commented out by default, "3Mi"? What does that mean? Am I correct that I can edit this to be something like 1024K or 2048K?


You are correct about the bitrate setting. It is defaulting to 4096k if commented out. The 3Mi means 3 mega-bits per second .

Question: What model is your TiVo? As you see above my model 649 can't even see anything in subfolders with the 198 version (or any other version).


----------



## TreborPugly

Series 2 stand alone, with serial number starting with 140.


----------



## KRKeegan

Update - SubFolders version 200

This might be slightly faster in scrolling. I had an epiphany this morning and I went back and simplified the code.

I also fixed some logic errors that were present in the code. I dont think it will change anything, but now the path to each step makes more sense.

Finally, I also added some more debug points to try and help solve some issues.

*dlfl* I am not giving up on you. I am still willing to try and solve your issue if you are willing to tinker some more with me. If you could install Subfolder 8.3 and repost your debug file that would help. It was lacking some information for me before. Hopefully this will help me figure out what is happening.


----------



## dlfl

KRKeegan said:


> Update - SubFolders version 200
> 
> This might be slightly faster in scrolling. I had an epiphany this morning and I went back and simplified the code.
> 
> I also fixed some logic errors that were present in the code. I dont think it will change anything, but now the path to each step makes more sense.
> 
> Finally, I also added some more debug points to try and help solve some issues.
> 
> *dlfl* I am not giving up on you. I am still willing to try and solve your issue if you are willing to tinker some more with me. If you could install Subfolder 8.3 and repost your debug file that would help. It was lacking some information for me before. Hopefully this will help me figure out what is happening.


Absolulutely, will do! (As soon as I can get to it this evening) Thanks! 

Will probably post the debug file (and perhaps cut-n-paste from command window) as attachments, since they get pretty large for a post. Any problems with that? BTW, do you think re-booting my TiVo before testing further is advisable?


----------



## ScaryMike

KRKeegan said:


> Update - SubFolders version 200


Just FYI:

I installed this version, and I am able to browse and watch shows from subfolders (have tried up to 3 deep, as thats all the further I have things stored).

This is on a 140 tivo (S2 60 hour) and on a 590 (humax 80 hour)

Thanks!!

-Mike


----------



## 1up

dlfl said:


> *1up*,
> 
> I'm confused.
> As I understand it, when you tried it "my way" you observed:
> Isn't that the desired result if your source is a 4:3 VOB and your TV is 4:3 ? (Why would you want black bands at sides or top/bottom in that case?)


*dlfl*, 
No, the vob that I've been working with is 720x480 (fairly standard widescreen DVD AR, I think?). The defaults that pyTivo (and & Tivo.net, by the way) uses to transcode a 720x480 video to fit a 4:3 television screen has two problems (at least with my TV & my Tivo):
1. The left and right sides of the video on the TV are beyond the screen limits by about 8% on the left and another 8% on the right. In other words, the picture is cut off on both sides.
2. The video is distorted slightly (didn't try to figure how much) in that the picture is 'squeezed' so that things look too elongated. For example, people are stretched & seem too tall.

By padding the top, bottom, left & right as I did with my custom code, I got the picture to look exactly the same on the TV whether played through the DVD player or my Tivo. Whoo-hoo 

I couldn't have done it without your help. Thanks again.


----------



## dlfl

KRKeegan said:


> Update - SubFolders version 200
> ...............
> *dlfl* I am not giving up on you. I am still willing to try and solve your issue if you are willing to tinker some more with me. If you could install Subfolder 8.3 and repost your debug file that would help. It was lacking some information for me before. Hopefully this will help me figure out what is happening.


Did it. Before I rebooted my TiVo I could go into subfolders but they were all empty. This produced debug1.txt and CommandWindow1.txt in the attached zip.

After rebooting, everything worked fine (I only have one level of subfolders), except if I tried to left-arrow out while a subfolder video was transcoding (so I could cancel the transfer), the NPL was messed up. It would say the folder I was just in was empty, for example.

In general, I had to use a "work around" (enter key followed by left arrow) to get the NPL back in shape -- fairly often -- however this was not all that unusual even before 8.3 and it's not a major pain IMHO.

The stuff after rebooting is more extensive and is in debug2.txt.

Looks like a major step forward! :up: :up: (I'm now wishing I had tried the NPL work around BEFORE I rebooted -- that might have been all that it needed.)

Thanks again!


----------



## dlfl

1up said:


> *dlfl*,
> No, the vob that I've been working with is 720x480 (fairly standard widescreen DVD AR, I think?). The defaults that pyTivo (and & Tivo.net, by the way) uses to transcode a 720x480 video to fit a 4:3 television screen has two problems (at least with my TV & my Tivo):
> 1. The left and right sides of the video on the TV are beyond the screen limits by about 8% on the left and another 8% on the right. In other words, the picture is cut off on both sides.
> 2. The video is distorted slightly (didn't try to figure how much) in that the picture is 'squeezed' so that things look too elongated. For example, people are stretched & seem too tall.
> 
> By padding the top, bottom, left & right as I did with my custom code, I got the picture to look exactly the same on the TV whether played through the DVD player or my Tivo. Whoo-hoo
> 
> I couldn't have done it without your help. Thanks again.


You're very welcome!

I can't resist preaching about AR some more.  NTSC DVD's of any DAR (display AR) are typically encoded to dimensions of 720x480, i.e., whether intended for widescreen or 4:3 display. There is AR signalling data in the file that tells the display device what DAR is required. Note that 720x480 is 1.5:1 which doesn't match either 16:9 (1.77:1) or 4:3 (1.33). The display device knows from the DAR signaling how to stretch or compress the video horizontally, and how to letterbox or pillorize if necessary so the active video is at the desired DAR and uses the available screen efficiently. Unfortunately pyTivo can't get the DAR signalling info from the input file so it has to guess based on encoding dimensions and whether you have aspect169 set true or not. For display of 16:9 on a 4:3 TV, the size argument for ffmpeg needs to be 720xXXX where XXX is 480 scaled down by the ratio of the DARs. For 16:9 and 4:3, XXX is (1.33/1.77) times 480 = 360. Then top and bottom pads (letterboxing) of 45 each are needed so the total output height comes out to 480. The fact that 720:360 is not 4:3 or 16:9 does not matter. The 720 could also be 544 or 480 (whatever is one of the standard widths for your TiVo) and the displayed picture would come out the same AR. Basically the TiVo is just stretching or shrinking those pixels horizontally to the equivalent of 640 pixels at the display (640:480 = 4:3).

Thus you need -s 720x360 (or -s 544x360 or -s 480x360) plus -padtop 45 , -padbottom 45, and -aspect 4:3. The pad numbers may need to be multiples of 2 so use 44 and 46. There isn't any way for pyTivo to know the right thing to do in this case. Fortunately most non-mpeg2 video formats use square pixels (most of the time) so you can just assume DAR = ratio of encoding dimensions, as pyTivo does.

Well that's what I think, anyway. It does get complicated doesn't it!


----------



## Iluvatar

Ok so this is my first post in this thread but first I would like to acknowledge the hard work that has been put into this program it has definitely been enormous time saver (coming from Videora TivoConvert).

After editing some of the transcoding options to my liking (namely hardcoding in specific padding on 4:3 content to properly see subtitles that were being cut off on my tv) I have noticed that some video files do not properly obey the bitrate setting of 4096 kb/s and are varying in the 1500-2000 kb/s speeds. It only happens with a few video files but it seems random as all my videos are the same type of video (divx). No matter how many times I cancel the transcode and restart it these particular files never reach the full 4096 kb/s bitrate, which makes for a very poor video on my TiVo.

Having reached my abilities already with changing the padding options I am not sure how to analyze the problem and hope some one would have better information on this issue.

BTW this is something I saw with Videora as well periodically so it is possible that it may be some issue within FFMPEG.

Taylor


----------



## dlfl

*Iluvator*,
I've seen this too, but I haven't noticed the lower video quality. What I think happens is ffmpeg finds it doesn't need the full bitrate to encode with good quality. It's always seemed to happen for input videos that had low quality. In the command window while transcoding there is a last line output by ffmpeg that is continuously updated. Toward the left end is a q value that fluctuates. This is a measure of how well ffmpeg thinks it is capturing the quality of the input. Lower values mean better quality and usually when I see sub-target output bitrates, this q value is bouncing around 2 or less.

However, ffmpeg shouldn't lower bitrate below target if it isn't capturing the quality of the input. Maybe there is a problem with its bitrate control (or how it computes the q value).

My TV is a mediocre quality 27" so maybe that's why I don't notice the quality degradation.


----------



## KRKeegan

Iluvatar said:


> I have noticed that some video files do not properly obey the bitrate setting of 4096 kb/s and are varying in the 1500-2000 kb/s speeds. It only happens with a few video files but it seems random as all my videos are the same type of video (divx). No matter how many times I cancel the transcode and restart it these particular files never reach the full 4096 kb/s bitrate, which makes for a very poor video on my TiVo.


This is a function of ffMpeg I am afraid. Ages ago(It seems like ages now) we struggled with trying to force ffMpeg to a specific bitrate. After hours of tampering I discovered you can't.

Someone mentioned it earlier, but yes the answer is that simply the videos just cant get any better. Here is a test you can try: If have a file that is not filling all 4mbps encode it and determine the overal bit rate after the file is done. Now do the same file but set ffMpeg to 8mbps, you should end up with roughly the same bitrate. I think this is a function of ffMpeg's speed, I really dont know.

Sorry nothing we can do on our end.


----------



## TreborPugly

Also, if you are talking about a DivX file for a 40 minute show that is 300 MB, then transcoding it up to a bitrate that makes it take up 1200 MB isn't giving you higher quality, it's just making it bigger. Why bother to do that?

(I use a low bitrate because my home wireless isn't up to the task of sending higher quality in real time, and because the source is often low bitrate)

I must say I'm always pleased with how much better stuff looks on my TV than on my computer, particularly really low res stuff from youtube.


----------



## Iluvatar

KRKeegan said:


> This is a function of ffMpeg I am afraid. Ages ago(It seems like ages now) we struggled with trying to force ffMpeg to a specific bitrate. After hours of tampering I discovered you can't.
> 
> Someone mentioned it earlier, but yes the answer is that simply the videos just cant get any better. Here is a test you can try: If have a file that is not filling all 4mbps encode it and determine the overal bit rate after the file is done. Now do the same file but set ffMpeg to 8mbps, you should end up with roughly the same bitrate. I think this is a function of ffMpeg's speed, I really dont know.
> 
> Sorry nothing we can do on our end.


OK, well I thought this might be the case. Thanks.


----------



## govardha

Hello,

I tried to get pyTivo going on my Intel iMac, but I was having issues with the ffmeg binary which is alluded to in the installation documents found in the Wiki. I have included steps to compile a version of ffmpeg which is relatively straightforward and further helped me resolve the issues I had. 

My pyTivo instance works like a champ now(save for the issues with navigating through sub directories, which seems more like a Tivo SW issues rather than anything to do with pyTivo).

My apologies in advance if I was not supposed to edit the wiki. Please let me know if anybody here needs any further assistance in getting pyTivo to work in their Macs.

Best,
G


----------



## KRKeegan

govardha said:


> My apologies in advance if I was not supposed to edit the wiki. Please let me know if anybody here needs any further assistance in getting pyTivo to work in their Macs.


No apologies needed. That is why it is a wiki, if you figure something out please tell everyone else.

As for your subfolders issue, you should try the subfolders branch. The most recent zip is pytivo-subfolders-8.3-200.zip. I think it will work for you without any issues.

Kevin


----------



## CheezWiz

So what do you do when Python just stops working for no reason?
I have uninstalled it, installed the newest version, etc.. But I just get a blank box when I start pytivo.py. Just stopped working while I was playing with the newest version of pyTivo.


----------



## dlfl

CheezWiz,
Are you sure it isn't running? Sometimes I get a blank command window at first until the TiVo sends a message. In other words, have you checked the NPL?

Will Python run at all? On your Python submenu start "Python (command line)". A command window should pop up with a ">>>" prompt. Enter "a=3" then "print a". It should print "3". 

Make sure no Python-based programs or services are running, then open Task Manager and look for python.exe on the Processes tab. It should not be there. If it is, my theory is you have a rogue python process running and it's blocking starting up any other python process -- just a theory. If it's there, select it and click the End Process button.

Have you been running pyTivo as a service? If so look on the MyComputer | Manage | Services list. Maybe a pyTivo service was left running (?). (If so stop the service and you probably need to uninstall it -- not sure because I don't run pyTivo as a service.)

Beyond this, my only thought is there is something left in your Registry from the previous Python installations that needs to be removed.

Edit: Yeah, the firewall should have been my first thought  (see next post). You should be able to leave it running if you just open up the port that pyTivo uses (as set in pyTivo.conf). This applies to either software or hardware firewalls.


----------



## govardha

Hello Cheezwiz,

I was walking through a family member with their pyTivo setup in Windows, we had a similar issue and I noticed that there was a firewall program which was holding up pyTivo from broadcasting. The moment we shut down the firewall, pyTivo was up and the Tivo noticed it.

I do have a question about the Mac though. Is there anyway to start up pyTivo in verbose mode to see what is going on ? I was working on my brother's Mac yesterday.

When I start up the pyTivo in his desktop, nothing happens in the prompt and neither do I see anything showing up on his TiVos. 

Any thoughts?

G


----------



## ScaryMike

Note: SubFolders version 200 running with a 140 tivo (S2 60 hour upgraded to 180gig)

Just a note. If I use this slowly, it works great. But if I try to get to "wild" with it, for example, que up a bunch of transfers, navigate through a lot of folders back and forth while a transfer is happening, and so on, I can consistently cause the Tivo to reboot. 

Just FYI.


----------



## dlfl

ScaryMike said:


> Note: SubFolders version 200 running with a 140 tivo (S2 60 hour upgraded to 180gig)
> 
> Just a note. If I use this slowly, it works great. But if I try to get to "wild" with it, for example, que up a bunch of transfers, navigate through a lot of folders back and forth while a transfer is happening, and so on, I can consistently cause the Tivo to reboot.
> 
> Just FYI.


I wonder how well "normal" TiVo-go-back handles queuing up a lot of transfers?


----------



## KRKeegan

ScaryMike said:


> Note: SubFolders version 200 running with a 140 tivo (S2 60 hour upgraded to 180gig)
> 
> Just a note. If I use this slowly, it works great. But if I try to get to "wild" with it, for example, que up a bunch of transfers, navigate through a lot of folders back and forth while a transfer is happening, and so on, I can consistently cause the Tivo to reboot.
> 
> Just FYI.


 Yeah that is kinda the nature of the beast I am afraid. I am doing my best to compensate for an error in TiVo, but unfortunately I can't fix that. My hope is that TiVo will fix this bug in the next release and then we can disable the HACK

Kevin


----------



## armooo

KRKeegan said:


> Yeah that is kinda the nature of the beast I am afraid. I am doing my best to compensate for an error in TiVo, but unfortunately I can't fix that. My hope is that TiVo will fix this bug in the next release and then we can disable the HACK
> 
> Kevin


From my tests this happens when the over one second go up a folder condition is met.


----------



## TreborPugly

armooo said:


> From my tests this happens when the over one second go up a folder condition is met.


Sorry, I don't understand that. Can you spell out what to avoid?

(I never "queue up" transfers because I never had much success with Tivo Desktop doing that, and since I encode them at a lower bit rate, transfer speed is always a bit faster than play speed)


----------



## cuzzinjim

Just want to say thanks for all the hard work you guys have done on this program. It is a feature set that I found indispensable as soon as I tried it - and I cheered when you solved the 8.3 bug - I was lost without PyTivo.

Thank you!!


----------



## mkleiman

What is the last stable version that supports multiple pytivo servers on the same network?


----------



## TreborPugly

mkleiman said:


> What is the last stable version that supports multiple pytivo servers on the same network?


I would imagine anything on the trunk. The stuff for dealing with version 8.3, which added the problem with multiple pytivo servers, is a branch.


----------



## Sicklybutsexy

This might be unneccessary, but do you know if it is possible to have both TDN and pyTivo on the same computer. I tried it and had troubles converting AVI files.


----------



## windracer

I've never tried, but you might need to change some ports. I believe they both use 9032/9033.


----------



## buffalova

First I would like to say what a great program. I have installed the 8.3 with subfolder 200 version and it works great on 2 tivos and does a fantastic job of converting wmv and other files as well as browsing subfolders. I added 5 shares with no problem except for one share. When I browse the folder I can an "error occurred" and it doesn't display anything. The share in question has many folders in it and probably 100 gb of files. 

My question is am I asking too much by such a large folder or is it possibly one particular file within that folder that is causing the error or are there just too many folders in that folder. 

It's really no big deal anyway I am more than pleased with the results I have. I was just wondering if there was something to look for. Many thanks to the developer(s).


----------



## mkleiman

TreborPugly said:


> I would imagine anything on the trunk. The stuff for dealing with version 8.3, which added the problem with multiple pytivo servers, is a branch.


You are correct. My problem with multiple pytivo servers was a result of the undocumented guid feature. Once I sent the guid's manually in the .conf files, everything worked as expected.

Any reason this hasn't been added to the documentation/wiki?


----------



## etsolow

KRKeegan said:


> Sorry not running a PC, but it sounds like a firewall problem??? Make sure the port listed in pyTivo.conf is open.
> 
> Any other PC users have a comment?


No comment here, but a question:

What ports need to be open between the Tivos and the pyTivo machine? I opened the port that's in pyTivo.conf (TCP/9032) as well as UDP/3560 that I found with Netstat, but I'm not seeing anything on the Tivos. This setup worked fine before I separated my wireless network from my "main" network with an IPCop firewall.


----------



## greg_burns

etsolow said:


> No comment here, but a question:
> 
> What ports need to be open between the Tivos and the pyTivo machine? I opened the port that's in pyTivo.conf (TCP/9032) as well as UDP/3560 that I found with Netstat, but I'm not seeing anything on the Tivos. This setup worked fine before I separated my wireless network from my "main" network with an IPCop firewall.


It is TCP/9032 and TCP/9033 for Tivo.Net. With those two open pyTivo also works on my system...


----------



## etsolow

greg_burns said:


> It is TCP/9032 and TCP/9033 for Tivo.Net. With those two open pyTivo also works on my system...


Hmm. I have both of those open now and still nothing. I just realized that I've got two subnets with the new system, that must be the problem. I might need to re-architect a little!


----------



## TreborPugly

Cool, I think I found an undiscovered but with the 8.3 folders fix!

1. Go into Folder "A" - see the proper list 
2. Go back out to the top of your share, or back to the Now Playing list, whatever,
3. Go into Folder "B" - see the proper list for folder "B". Scroll through files with arrows, no problem.
4. Use your "skip to tick" button, which normally will jump you to the end of the list, right? It jumps, but now you are seeing the contents of Folder "A"!

If you go back out and into Folder "B", or Folder "C", it will show stuff right, but whenever you use the skip to tick to jump to the end, it will go back to Folder "A".

(Oh, well, after trying to leave folder "C", I had my Tivo Crash, so, maybe not...)


----------



## sraveh

Hi,

I've been using pyTivo for a couple of month now and I love it. 
I used Galleon before and I think pyTivo is doing great job.
One thing that I miss or do not know how to configure is mp3 playlist. I tried pointing pyTivo to a directory that contains my playlist but it complains that it empty.
Does pyTivo support playlist?


Thanks,
Simon


----------



## brunson

Has anyone reported this to TiVo? It seems like they could fix it in a future release.


----------



## KRKeegan

brunson said:


> Has anyone reported this to TiVo? It seems like they could fix it in a future release.


 Yeah I did, I even got a response back that they were forwarding it to the correct department and requesting my contact information.

That was however, almost a month ago and I have not heard anything back from them at all. But I hope it gets fixed.

Kevin


----------



## cr33p

First of all I have been using pytivo ever since I stumbled on it when it first dropped might I just add its the whip, much thanks  Anywho on to my question, does pytivo support any info details like xml data? When I choose a vid out of my NPL it just tells me the name of the file but does not tell me the duration or any other data. Is there a way to have this info imputted with pytivo ?

Thanks

Chris


----------



## KRKeegan

cr33p said:


> First of all I have been using pytivo ever since I stumbled on it when it first dropped might I just add its the whip, much thanks  Anywho on to my question, does pytivo support any info details like xml data? When I choose a vid out of my NPL it just tells me the name of the file but does not tell me the duration or any other data. Is there a way to have this info imputted with pytivo ?


No nothing yet I am afraid, that is a project of mine that has been stumbling around in my head for a while. I have 2 issues to solve:
1. How to store the data, (Database, or individual files, or some embedded tag like ID3)
2. How to input the data, (probably need some html interface to add titles and the like)

It is on the list of things to do, but I am afraid it is a big step, so it might take me a while to get around to it. 

Kevin


----------



## gonzotek

KRKeegan said:


> No nothing yet I am afraid, that is a project of mine that has been stumbling around in my head for a while. I have 2 issues to solve:
> 1. How to store the data, (Database, or individual files, or some embedded tag like ID3)
> 2. How to input the data, (probably need some html interface to add titles and the like)
> 
> It is on the list of things to do, but I am afraid it is a big step, so it might take me a while to get around to it.
> 
> Kevin


My vote would be for #1, using an ajax-ified html form to pre-fill in as many fields as possible(for instance different episodes of the same series will contain many similar meta fields the same way different tracks of an album will). Using a DB also gives the opportunity to query it independently of pyTiVo functions, to (for example) create an output file in another format for another device(ipod or whatever), with metadata transported over. If there's a standard for tagging mpeg2 video (I'm not aware of any, will id3v2 or ape tags work???), tagging the files would be useful for some things, but I think a db would provide faster results, since once the files are added(or updated) they wouldn't need to be read from disk (unless updated again).


----------



## KRKeegan

gonzotek said:


> My vote would be for #1, using an ajax-ified html form to pre-fill in as many fields as possible(for instance different episodes of the same series will contain many similar meta fields the same way different tracks of an album will).


That would be very cool, someone may have to help me with ajax, I have never worked with it.


gonzotek said:


> Using a DB also gives the opportunity to query it independently of pyTiVo functions, to (for example) create an output file in another format for another device(ipod or whatever), with metadata transported over.


 My only problem with a db is that moving or renaming files will of course cause an issue.


gonzotek said:


> If there's a standard for tagging mpeg2 video (I'm not aware of any, will id3v2 or ape tags work???), tagging the files would be useful for some things, but I think a db would provide faster results, since once the files are added(or updated) they wouldn't need to be read from disk (unless updated again).


There is, but it is not available in all of the video formats that ffMpeg supports, thus it is not a good idea.


----------



## buffalova

Hello all. I have read this entire post and believe my problem has been discussed but am not sure how to proceed.

On my TSN240 tivo when I transfer a video with a ratio greater than 4:3 specifically 1.37 or 704x512 I receive a conversion that has black bar on both sides where as 704x528 works. 
If I set the tivo to display 4:3 instead of 16:9 it produces a correct video but is now enclosed in a frame of black bars so to speak. 

I even tried the suggested mpeg4 modifier to make it a true 4:3 ratio. I tried it for pixel AR as well as display AR but that didn't see to help either.

I was going to try changing this statement to false but it doesn't even appear in my pytivo.conf file

#If you want to use 16:9 or 4:3 on this tivo
#aspect169=true


If I use Gui4fmpeg and convert manually to the tivo desktop folder it works fine which to me seems like an edit is possible I just don't know what to edit.

Is there a simple edit I can do or is it that some files with this machine will not convert correctly? 

What is odd it that it doesn't do this on my TSN540 tivo. Many thanks

I have WinXP


----------



## dlfl

buffalova said:


> Hello all. I have read this entire post and believe my problem has been discussed but am not sure how to proceed.


Have you tried the *** Wiki ***? Particularly the 'Notes" in the configuration section and the discussion of aspect ratio.



buffalova said:


> On my TSN240 tivo when I transfer a video with a ratio greater than 4:3 specifically 1.37 or 704x512 I receive a conversion that has black bar on both sides where as 704x528 works.
> If I set the tivo to display 4:3 instead of 16:9 it produces a correct video but is now enclosed in a frame of black bars so to speak.


Just out of curiosity, what is the source of the videos, and what type are they? 


buffalova said:


> I even tried the suggested mpeg4 modifier to make it a true 4:3 ratio. I tried it for pixel AR as well as display AR but that didn't see to help either.


pyTivo cannot find out the PAR (or DAR) from ffmpeg. Thus it must assume square pixels, i.e., that the desired DAR is that represented by the input file dimensions.


buffalova said:


> I was going to try changing this statement to false but it doesn't even appear in my pytivo.conf file
> 
> #If you want to use 16:9 or 4:3 on this tivo
> #aspect169=true


Read the Wiki notes on the configuration page describing the format of the pyTivo.conf file. Many parameters, including aspect169, will get default values if they don't appear in the file. Default for aspect169 is false. If you want a different value just add the line in the proper section.

To get better help here, post your pyTivo.conf file, at least the parts before the sections defining shares.


buffalova said:


> If I use Gui4fmpeg and convert manually to the tivo desktop folder it works fine which to me seems like an edit is possible I just don't know what to edit.
> 
> Is there a simple edit I can do or is it that some files with this machine will not convert correctly?


In general there are some files (specifically those with non-square pixels) that will not be handled properly by pyTivo (because it has no knowledge of PAR or DAR). 


buffalova said:


> What is odd it that it doesn't do this on my TSN540 tivo. Many thanks


There are differences in the Tivo models in this regard. The width and height settings in your .conf file can make a difference here.


----------



## buffalova

Thanks for the suggestions dlfl Iwill do some more reading in the interim here is the data on the file I am trying that adds the padding left and right. Any file that seems to have a ratio larger than 4:3 seems to be doing this. I suspect 16:9 will too although the one I tried looked squished without the side bars.

File data

General #0
Complete name : M:\Current\Friends Season 2\209_the one with phoebe's dad.avi
Format : AVI
Format/Info : Audio Video Interleave
Format/Family : RIFF
File size : 193 MiB
PlayTime : 21mn 51s
Bit rate : 1227 Kbps
StreamSize : 2.02 MiB

Video #0
Codec : DivX 5
Codec/Family : MPEG-4
Codec settings/Packe : Yes
Codec settings/BVOP : Yes
Codec settings/QPel : No
Codec settings/GMC : 0
Codec settings/Matri : Default
PlayTime : 21mn 51s
Bit rate : 1094 Kbps
Width : 704 pixels
Height : 512 pixels
Aspect ratio : 1.375
Frame rate : 25.000 fps
Resolution : 8 bits
Chroma : 4:2:0
Interlacement : Progressive
Bits/(Pixel*Frame) : 0.121
StreamSize : 171 MiB
Writing library : DivX503b894p

Audio #0
Codec : MPEG-1 Audio layer 3
PlayTime : 21mn 51s
Bit rate : 126 Kbps
Bit rate mode : CBR
Channel(s) : 2 channels
Sampling rate : 48 KHz
Resolution : 16 bits
StreamSize : 19.8 MiB
Writing library : Lame

And this is my Pytivo.conf file

[DEFAULT]
path = <Pick A Path>
type = video

[Series]
type = video
path = P:/series

[Server]
guid = {413878CF-5198-4540-96DF-266DA141A276}
ffmpeg = C:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
width = 544
port = 9032

[Current]
type = video
path = M:\current

[MyMovies]
type = video
path = M:\movies

[Next]
type = video
path = M:\Next

I did try changing the 544 to 720 but received the same results. I think I even tried 480 but can't be positive I did.

Thanks again for any guidance


----------



## buffalova

Just a quick note dlfl. I got it to work. 

I have no idea what I did to make it work. 

I added each tivo separately into the pytivo.conf file with aspect169=false and then I added debug=true to try to print out the error and it works perfectly now. I did remove the debug line because of an earlier post that said it would create a useless huge file. Thanks again.


----------



## dlfl

buffalova said:


> Just a quick note dlfl. I got it to work.
> 
> I have no idea what I did to make it work.
> .............


Me neither! I don't see a problem with your original .conf file and I can't see how anything you said you changed would make a difference.

Assuming:
1. Your TV is 4:3
2. Your TiVo is set to 4:3 (if that is settable on a 240)
3. aspect169 was set false (or missing from the .conf file)
4. 1:37 AR in your input AVI

I would have expected the file to display with a very small amount of letterboxing (top and bottom black bands) but NOT black bands at the sides. The letterboxing would be so small that it would probably not be visible due to the vertical overscan in the TV.

If your TV is actually 16:9 then the file WOULD display with black pillars at the sides if it had logic to know it was trying to display a 4:3 aspect video coming out of ffmpeg via pyTivo. (ffmpeg does set the DAR in the transferred mpeg2 to correspond to what aspect169 is set to.)

Glad it's working OK for you now, anyway


----------



## morac

dlfl said:


> Unfortunately there is no way to get DAR or PAR from ffmpeg, which pyTivo uses to get info about a video file. Thus pyTivo makes the assumption of square pixels, i.e., DAR = FAR (at least in most cases).


Why not use mencoder instead of ffmpeg? This program can encode to mpeg2 and is capable of extracting the aspect ratio data. It even has an option to automatically encode the output file with the same aspect ratio (page is for mpg4, but it works with mpg2 as well.

http://www.mplayerhq.hu/design7/news.html
http://ffdshow.faireal.net/mirror/mplayer/


----------



## govardha

I have a question on pyTivo/ffmpeg functionality and how to extend it? 

I have 2 different types of files which I have issues with. I have a .ts file which causes pyTivo to barf and a divx file which has the audio track in ac2/ac3 which fails with unknown codec or so.

I further use ffmpegx to convert them(.ts to svcd & the divx file to divx/mp3) and it works just fine in my tivo. Is there any way I can add this step that negates my manual intervention to handle these file encoding/decoding?

Thanks!
G


----------



## Justin Thyme

May be mentioned somewhere, but here is an installation note for those using PyTivo with Firewall software.

Firewall software, and Trend Micro PC-Cillin in particular will block the program PYTHONSERVER from touching your home network. It's really PyTivo that is making the request, and you will see no PyTivo folders if you don't fix it. What you do is to give permission. Norton and I think zonealarm will ask you the first time it tries. If you mistakenly deny, you have to go into the program list and give back permission.

For Trend Micro users, it won't warn you- it will just block access. To fix, go into
Network Security -> Firewall -> [double click profile- eg Direct Connection] -> Exception list tab -> click Add

Permit outgoing UDP access to Pythonservice. for all IP addresses. Where is Pythonservice.exe? XP users that use default installation will find it here- c:\Python25\lib\site-packages\win32\pythonservice.exe


----------



## ScaryMike

I just wanted to toss out another thank you to the people involved in this project/program.

I use PyTivo daily and find it completely invaluable. The latest version with the folder fix has been running great for me since you released it. 

Thanks again.


----------



## Dajad

Does PyTiVo work with Vista? Vista 64?

...Dale


----------



## gonzotek

Dajad said:


> Does PyTiVo work with Vista? Vista 64?
> 
> ...Dale


According to this post from late March, it does. The poster doesn't mention if he's on a 32 or 64 bit system. Let us know if you also get going it under vista(or vista 64) and we'll add it to the wiki.


----------



## Stu_Bee

Thanks for Pytivo! 
I've been running it for the last month on my PC (after the last Tivo Update broke the folders in Tivo.Net). 
Installed Ubuntu yesterday, and got Pytivo up and running fairly quickly utilizing the already existing video files in my PC's NTFS volume.
Great app!


----------



## gonzotek

Stu_Bee said:


> Thanks for Pytivo!
> I've been running it for the last month on my PC (after the last Tivo Update broke the folders in Tivo.Net).
> Installed Ubuntu yesterday, and got Pytivo up and running fairly quickly utilizing the already existing video files in my PC's NTFS volume.
> Great app!


I should note I've also been happily running it under Ubuntu (first 6.10/Edgy, and now 7.04/Feisty) and various modern flavors of Windows(2000, 2003, XP, Media Center).


----------



## bjmarte

I'm having a problem getting pyTivo working correctly. I installed C:\pyTivo. I changed the ffmped location in the configuration file to point to c:\pyTivo\plugins\video\ffmpeg_mp2.exe. I used the MyMovies share and pointed it to the directory where I have a bunch of .Tivo and .mpg files in subdirectories. Everything else in the config is unchanged.

When I go to either of my Tivos I can see the MyMovies share and navigate to it and see any files in that directory and the subdirectories. The problem is that when I navigate to a subdirectory I can't see any of the movies there. Anybody have any ideas on how to fix this?


----------



## bjmarte

Ok, nevermind. After reading the posts about dlfl's similar problems I rebooted my TIVO and it looks like it is working fine now. I didn't read it closely enough the first time and kept rebooting my computer and wondering why it didn't work.


----------



## Justin Thyme

For some odd reason, when I initiated a pyTivo transfer the other day, everything appeared to start as the other hundred or so transfers I've done, but when I checked back later, I found it in still in the to do list with an X by it as if it were waiting for another transfer to complete first. I fiddled with a few obvious things on the PC server side with no resolution.

Fix- Rebooted the Tivo and it worked fine again. It hadn't been rebooted in about 4 months so I guess it had accumulated some cruft.


----------



## etsolow

Is there a new download location? I can't get to armooo.net.


----------



## KRKeegan

Hrm, well that isn't a good sign. I will see what I can do about finding armooo. In the meantime I can probably post up a zip of both current versions on my server.

And I apologize for being so absent, I have a bad commute to my current job that is just sucking all my time away. In a few weeks I should be back with some more updates.

Kevin


----------



## cyclone

I'm getting the following exception on my Mac (I had to replace all instances of "ht-tp" with "ZZZZ" because it thought I was posting links):


Code:


/Users/Bill/pyTivo/Cheetah/Compiler.py:1508: UserWarning: 
You don't have the C version of NameMapper installed! I'm disabling Cheetah's
useStackFrames option as it is painfully slow with the Python version of NameMapper.
You should get a copy of Cheetah with the compiled C version of NameMapper.
  "\nYou don't have the C version of NameMapper installed! "
192.168.0.6 - - [19/Jun/2007 22:01:00] "GET /TiVoConnect?Command=QueryContainer&Container=%2F ZZZZ/1.0" 200 -
720
----------------------------------------
Exception happened during processing of request from ('192.168.0.6', 4868)
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/SocketServer.py", line 464, in process_request_thread
    self.finish_request(request, client_address)
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/SocketServer.py", line 254, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/SocketServer.py", line 522, in __init__
    self.handle()
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/BaseZZZZServer.py", line 316, in handle
    self.handle_one_request()
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/BaseZZZZServer.py", line 310, in handle_one_request
    method()
  File "/Users/Bill/pyTivo/ZZZZserver.py", line 54, in do_GET
    self.RootContiner()
  File "/Users/Bill/pyTivo/ZZZZserver.py", line 78, in RootContiner
    self.wfile.write(t)
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/socket.py", line 255, in write
    data = str(data) # XXX Should really reject non-string non-buffers
  File "/Users/Bill/pyTivo/Cheetah/Template.py", line 990, in __str__
    def __str__(self): return getattr(self, mainMethName)()
  File "_Users_Bill_pyTivo_templates_root_container_tmpl.py", line 104, in respond
  File "/Users/Bill/pyTivo/Cheetah/NameMapper.py", line 235, in valueFromSearchList
    executeCallables=executeCallables)
  File "/Users/Bill/pyTivo/Cheetah/NameMapper.py", line 215, in _valueForName
    _raiseNotFoundException(key, obj)
  File "/Users/Bill/pyTivo/Cheetah/NameMapper.py", line 175, in _raiseNotFoundException
    raise NotFound(excString)
NotFound: cannot find 'type'

Any suggestions?

Bill


----------



## gimgol

KRKeegan said:


> Hrm, well that isn't a good sign. I will see what I can do about finding armooo. In the meantime I can probably post up a zip of both current versions on my server


armoo seems well and truly down at the moment. Could you post the latest on your server and let me know where to get the files? I would like to try this out and all links seem to point to armoo.

Thanks.


----------



## KRKeegan

*cyclone* can you post your config file for me?

Sorry all I forgot to upload the script last night. I will do my best to remember tonight.


----------



## cyclone

Sure - here's my conf file. It's essentially identical to the one I used successfully under XP, other than changing paths for ffmpeg and the shares.


Code:


[Server]
port=9032

#Full path to ffmpeg including filename
ffmpeg=/opt/local/bin/ffmpeg

#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=128K

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

#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=720
#height=720

#If you want to use 16:9 or 4:3 on this tivo
aspect169=true

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

[MyMovies]
#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
[CyMac Videos]
path=/Users/Bill/Videos


----------



## khermans

Armooo's site is down. I want to try this on Linux. Does anyone have the latest ZIP file? All googling results in no files on any other host. And btw, we should get this code up on sourceforge so that this doesn't happen again...

Please someone post the latest ZIP file ASAP and/or email me with a working link!
--
Kristian Hermansen


----------



## cyclone

I believe this is the latest version: pyTivo-201.zip

Note - I've never used that upload site, i don't know how reliable or intrusive it is - it appears you need to click "Next Page" several times to get to the actual download.

Bill


----------



## dave843

Will this transcode audio files? 

I pointed it at a directory of .flac audio files, and the list does not show up on my tivo. According to the ffmpeg website, it should be able to work.

However, I have noticed that the transcode.py is only in the plugins/video directory.


----------



## KRKeegan

Sorry guys it is a late night for me here. But I have uploaded the latest 2 builds, I dont know what the build number is up to ufortunately. Hopefully armooo will pay his hosting bill and we can get the site back up soon 

Seriously though, Armooo, I hope you are doing alright.

I don't know what it is with transcoding developers, we lost pipakin for a while too. I am slightly worried what is going to happen to me next.

Kevin

PYTIVO Temporary Downloads


----------



## Deadpan Science

I'm trying to watch an avi on my tivo using pytivo. The video and audio are transcoded beautifully, except that it seems like the video is a little too big for my screen, which results in words getting cut off of the subtitles on the left hand side, and the lower line in the subtitle is sometimes half-in/half-out of the bottom of the screen. Is there a way to make the video slightly smaller and if so what is it?


----------



## ocntscha

KRKeegan said:


> Seriously though, Armooo, I hope you are doing alright.
> 
> I don't know what it is with transcoding developers, we lost pipakin for a while too. I am slightly worried what is going to happen to me next.


Hmm, yes why is it that people suddenly start vanishing, getting peculiar illnesses or what not when they start infringing on the Tivo Desktop plus turf. Reads like a possible episode of the Sopranos.


----------



## dlfl

Deadpan Science said:


> I'm trying to watch an avi on my tivo using pytivo. The video and audio are transcoded beautifully, except that it seems like the video is a little too big for my screen, which results in words getting cut off of the subtitles on the left hand side, and the lower line in the subtitle is sometimes half-in/half-out of the bottom of the screen. Is there a way to make the video slightly smaller and if so what is it?


Does this happen just on one particular video, or type of video? If it happens on all videos it sounds like your TV has too much overscan. Otherwise you could post your pyTivo.conf file and a copy-paste of the info that ffmpeg spits out in the command window when it starts transcoding.


----------



## Iluvatar

Deadpan Science said:


> I'm trying to watch an avi on my tivo using pytivo. The video and audio are transcoded beautifully, except that it seems like the video is a little too big for my screen, which results in words getting cut off of the subtitles on the left hand side, and the lower line in the subtitle is sometimes half-in/half-out of the bottom of the screen. Is there a way to make the video slightly smaller and if so what is it?


I have this problem with certain 4:3 video files with subtitles (such as subbed anime). I have fixed the problem by modifying the 'transcode.py' file to pad all the sides.

I changed:



Code:


  if (rwidth, rheight) in [(4, 3), (10, 11), (15, 11), (59, 54), (59, 72), (59, 36), (59, 54)]:
        debug_write(['select_aspect: File is within 4:3 list.\n'])
        return ['-aspect', '4:3', '-s', str(TIVO_WIDTH) + 'x' + str(TIVO_HEIGHT)]

to read



Code:


  if (rwidth, rheight) in [(4, 3), (10, 11), (15, 11), (59, 54), (59, 72), (59, 36), (59, 54)]:
        debug_write(['select_aspect: File is within 4:3 list.\n'])
        [COLOR=Red]return ['-aspect', '4:3', '-s', '680' + 'x' + '440', '-padtop', '20', '-padbottom', '20', '-padleft', '20', '-padright', '20'][/COLOR]

This fixed the problem perfectly for my 27" 4:3 television.

I have attached the 'transcode.py' to the message if you want to use it (its based off of pytivo subfolder branch v.201) You need to replace the .txt extension with .py You may have to restart your Tivo.


----------



## dlfl

*Iluvatar*'s code looks good. It is correct if you have selected width=720 and height=480 as your desired parameters in pyTivo.conf.

To make it more general use:


Code:


[COLOR=Red]return ['-aspect', '4:3', '-s', str(TIVO_WIDTH - 40) + 'x' + str(TIVO_HEIGHT - 40), '-padtop', '20', '-padbottom', '20', '-padleft', '20', '-padright', '20'][/COLOR]

This will give you the final width and height as specified by the config file and the 20 pixel padding all around. Presumably some TiVo's need width set to another value, e.g. 544, the default value, for good operation.


----------



## steve1968

I've installed pyTIVO, and it's working great...but I did have a question I hope someone can answer. 

I previously installed Tivo.Net, and although it worked, it didn't allow for multiple folders (in the sense that I want to navigate through a folder tree to find movies). I was told that pyTIVO supported this, but I'm having the same issues....I see the folders, but they are all blank.

Has anyone else gotten multiple folder trees to work with pyTIVO?

Thanks....
Steve


----------



## Stu_Bee

I have no problem with multiple one-level deep folders. I haven't tried anything deeper than that.


----------



## buffalova

> I previously installed Tivo.Net, and although it worked, it didn't allow for multiple folders (in the sense that I want to navigate through a folder tree to find movies). I was told that pyTIVO supported this, but I'm having the same issues....I see the folders, but they are all blank.
> 
> Has anyone else gotten multiple folder trees to work with pyTIVO?


Not sure if I did the quote thing right but anyway, I put a share in the pyconfig file for the entire drive instead of individual folders and it seems to work pretty well. Of course if there aren't any video files in the folder it will just be empty. I have been able to browse many folders deep but after I select something to transfer it doesn't return smoothly so I just choose the "Now Playing" function and scroll to the drive again.

Make sure you click to start pytivo service. I also found that when the folders appeared but were empty I had to reboot the computer and then restart the pytivoservice.py function within the directory.

I made a shortcut on the desktop to the Pytivo folder so that I could periodically restart the pytivoservice.py when there was a problem.

Sometimes I have to restart the tivo but rarely and mainly after something was transfering and got stuck. Hope this helps a bit.


----------



## Chew

Can I ask what might be a dumb question?  

I have v182 running perfectly on XP (I initially used the windows installer and set it to run as a service). The settings are where I want them and I'm hesitant to change anything as 16x9 input actually fills my HDTV when I watch it--I want to keep it that way! 

But, I also want to upgrade to a newer version to make use of subfolders.

If I download the subfolder zip file, what should I and what shouldn't I be doing? Do I just overlay the new files over the old but keep my config file from v182? Or what? (can we keep any answer in layman terms please?)


----------



## buffalova

> But, I also want to upgrade to a newer version to make use of subfolders.
> 
> If I download the subfolder zip file, what should I and what shouldn't I be doing? Do I just overlay the new files over the old but keep my config file from v182? Or what? (can we keep any answer in layman terms please?)


I believe the first time I installed I used the windows installer version also. Before you do anything I would keep a backup copy so you can reinstall if things go awry.

Copy everything in the Pytivo folder to another disk or location on your computer. I also made several copies of the Pytivo.conf file so I didn't have to setup all the shares again and again.

Since the sub-folder version isn't with a windows installer I just copied and pasted all the files from the Pytivo folder to the pytivo folder in the directory on your C drive most likely in program files. These files include the folders Cheetah, Eye3d etc. It will ask you if you want to overwrite and say ok. There are a few files from the windows installer version that will remain that you can still use to run the config pytivo from the program listing to add shares.

As long as you have a back up of version 182 you should be able to just reinstall like you did orginally if things go wrong. Now you should copy the pytivo.conf file from the backup you made from version 182 that you already have installed to the directory since you have now overwritten the file with a version from the subfolder version. Hope this helps.


----------



## Chew

^ Thanks, that's the route I expected.

The very first thing I tried to transfer, I backed out of (one subfolder deep). *TiVo crashed!*

After it rebooted, I tried a few other things to transfer. But instead of backing out, I just clicked on the TiVo button to go to my NPL when the "now transferring" message came up. That worked. Hopefully, it continues to do so.


----------



## MT-Hand

Cyclone were you ever able to get pyTivo working correctly on your Mac? I have been getting the same kinds of errors as you reported.


----------



## cyclone

Nope, I'm still stuck. Hoping Kevin can shed some light...


----------



## Deadpan Science

Thanks Iluvatar, I used your file and it works perfectly!


----------



## Iluvatar

Deadpan Science said:


> Thanks Iluvatar, I used your file and it works perfectly!


Glad it worked. The issue was very frustrating (not being able to read the subtitles) and not knowing any code for pyTivo it took me quite awhile to fix.


----------



## gonzotek

Iluvatar said:


> Glad it worked. The issue was very frustrating (not being able to read the subtitles) and not knowing any code for pyTivo it took me quite awhile to fix.


I worked dlfl's modification to your code into the config system, so you can just specify the pad size you need in pytivo.conf(defaulting to none at all). With armoo's site being down, I'm not sure how to submit the changes for addition into the project. I can post the modifications here, if some kind soul would be interested in explaining how to get diff (or the correct tool) to produce the proper output. I could also just zip up the changed files, but I'm hoping not to fragment the number of versions floating about.

Question: are there other situations where overscan needs correcting, or is this pretty much the only case? Do 16x9 videos on 16x9 tvs ever have the same issue?


----------



## kajal88

THANX 
THANX 
THANX 
THANX 
gogoo


----------



## KRKeegan

Wahooooo, armooo.net is back.

So the pyTivo wiki is back as is the DL page.

Again, sorry guys I am still super swamped at work. I will get back to you soon though.


----------



## Iluvatar

Heres a new issue that maybe someone who has experienced this can help. Whats going on is that the transcoding process has become unreliable. It will start transfering the video and very very often (like every 15 sec.) the entire process will pause (transcoding & network activity) for a minute or more. So where as transfering a 30 min. video used to take 15 min. now it can take hours.

I have tried reinstalling pyTivo + anything python related, newer versions of ffmpeg_mp2, disabling any network services from other programs, nothing has worked so far. I have no firewall enabled and am running Vista.

I have updated the network drivers some time ago, so I will try to find the old versions to test that (although I am pretty sure I have had good performance until just recently.

I need to figure this out before the girlfriend starts taking it out on me,


----------



## buffalova

> Heres a new issue that maybe someone who has experienced this can help. Whats going on is that the transcoding process has become unreliable. It will start transfering the video and very very often (like every 15 sec.) the entire process will pause (transcoding & network activity) for a minute or more. So where as transfering a 30 min. video used to take 15 min. now it can take hours.


Ok I will take a stab at this. First I would check firewall settings to make sure that it isn't interfering. Make sure port 9032 is open.

What version of Python and Pytivo are you using? I use Python 2.5.1 and Pytivo version subfolders 8.3.

Also I noticed that once I added the actual tivo(s) that I have to the pytivo.conf file it straightened out a lot of problems.

Add this line to your pytivo.conf file and substitute your actual tivo number in the field.

[_tivo_540XXXXXXXXXXX]
aspect169 = false

Maybe this will help. Good luck.


----------



## Iluvatar

buffalova said:


> Ok I will take a stab at this. First I would check firewall settings to make sure that it isn't interfering. Make sure port 9032 is open.
> 
> What version of Python and Pytivo are you using? I use Python 2.5.1 and Pytivo version subfolders 8.3.
> 
> Also I noticed that once I added the actual tivo(s) that I have to the pytivo.conf file it straightened out a lot of problems.
> 
> Add this line to your pytivo.conf file and substitute your actual tivo number in the field.
> 
> [_tivo_540XXXXXXXXXXX]
> aspect169 = false
> 
> Maybe this will help. Good luck.


well after reinstalling pyTivo + Python a million times and finally settling on an older version of Python (2.5.0) it seems to have worked. I am not sure what changed (because all the drivers and program settings I changed certainly did not help), but I am transcoding care free again. Talk about messed up.


----------



## jkomaha

Hopefully someone can help me out with this - I posted about it awhile back, but wasn't able to follow up.

Every few files I stream from my computer to my Tivo, i have to shut down pyTivo, delete lrucache.pyc. 

I'm attaching a text file with the errors that pyTivo throws.

I'm running windows XP Pro and have the movie files stored on a WD USB Drive. I'm not sure on the build number, as I haven't upgraded since armoo's website has been down, but its been consistent for quite a few builds.

Hopefully with the pytivo output, someone can help me


----------



## armooo

gonzotek said:


> I worked dlfl's modification to your code into the config system, so you can just specify the pad size you need in pytivo.conf(defaulting to none at all). With armoo's site being down, I'm not sure how to submit the changes for addition into the project. I can post the modifications here, if some kind soul would be interested in explaining how to get diff (or the correct tool) to produce the proper output. I could also just zip up the changed files, but I'm hoping not to fragment the number of versions floating about.
> 
> Question: are there other situations where overscan needs correcting, or is this pretty much the only case? Do 16x9 videos on 16x9 tvs ever have the same issue?


The best way to make a patch would be to get a subversion client. If you are using windows TortoiseSVN (http://tortoisesvn.tigris.org/) is a nice client. Checkout http://svn.armooo.net/pyTivo/trunk/ , make your changes and make a patch. And submitting a bug on trac with it attached.

http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-checkout.html
http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-patch.html#tsvn-dug-patch-1


----------



## jkomaha

Anyone have any suggestions?


----------



## gonzotek

armooo said:


> The best way to make a patch would be to get a subversion client. If you are using windows TortoiseSVN (http://tortoisesvn.tigris.org/) is a nice client. Checkout http://svn.armooo.net/pyTivo/trunk/ , make your changes and make a patch. And submitting a bug on trac with it attached.
> 
> http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-checkout.html
> http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-patch.html#tsvn-dug-patch-1


Thanks, and sorry it's taking me so long. I've switched over to Ubuntu, but I think I now know enough to get the command line svn to make the patch..I'm still trying to find the time to double check everything and actually make and upload it.


----------



## richklein

This might be a dumb question, but I downloaded the windows MSI file, it installed Python, Pytivo & I set the share directory for C:/video.

I then ran pytivo.py & a dos window stays open with no data on it. Does that dos window need to stay open ?

I cant seem to see the share file on my NPL. Am I doing something very basic wrong?

Thanks,
Rich

EDIT: I am using whatever version came with the software - pyTivo_182_setup.


----------



## Stu_Bee

richklein said:


> This might be a dumb question, but I downloaded the windows MSI file, it installed Python, Pytivo & I set the share directory for C:/video.
> 
> I then ran pytivo.py & a dos window stays open with no data on it. Does that dos window need to stay open ?


You can install pytivo as a service instead:
http://pytivo.armooo.net/wiki/WindowsInstall

Assuming you edited the pytivo.conf file correctly, you may want to try turning off your windows firewall...rebooting...starting pytivo again, then checking if you see it listed on your Tivo. Put some AVI's in the c:\video folder to test.
If it works with your firewall turned off, you may just need to add python.exe as an exception.


----------



## richklein

Im a schmoo. This is a case of user error. 

I ran pytivo.py, then shut the dos window that pops up & didnt bother to notice that Ptivo.py was running in my services  

Once I rebooted all was well!


----------



## ocntscha

richklein said:


> Im a schmoo.


I never knew there was such a thing as a schmoo. 
http://en.wikipedia.org/wiki/Shmoo


----------



## Dajad

OK, I'm taking my first shot at this.

- I am using 64 bit Vista Ultimate Edition with all firewalls shut off
- I downloaded and installed pyTiVo_182_setup.exe
- Everything seemed to install well (cool how it downloaded and installed the proper Python and ffmpeg for me).
- I opened up ports 9032 and 9033 in my router to both UDP & TCP to the IP address of my Tivo. 
- I'm not trying to get this to run as a service. I'm content with just running it whenever I want to make a transfer.
- I was able to get TiVo.Net and TiVoDesktop to work off my XP Laptop - all on this same network. All my network devices are running through the same router. 
- After getting the error message below I set the Python Executable up so that it ran in "Administrator" mode in Vista 64. That changed nothing.
- I have shut off TiVoDesktop and TiVo.Net on the Laptop before running PyTiVo on my Vista 64 Desktop.
- My TiVo sees the PyTiVo MyMovies service but when I click on it I see no available movies to transfer and I get this error:


The MyMovies PC's Now Playing List could not be displayed because it is unavailable. Press Left to return to the Now Playing list​
Here's the error message I'm getting in the pyTyiVo.py DOS box:


Code:


----------------------------------------
Exception happened during processing of request from ('192.168.1.132', 2428)
Traceback (most recent call last):
  File "C:\Python25\lib\SocketServer.py", line 463, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python25\lib\SocketServer.py", line 254, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\Python25\lib\SocketServer.py", line 521, in __init__
    self.handle()
  File "C:\Python25\lib\BaseHTTPServer.py", line 316, in handle
    self.handle_one_request()
  File "C:\Python25\lib\BaseHTTPServer.py", line 310, in handle_one_request
    method()
  File "C:\Program Files (x86)\pyTivo\httpserver.py", line 64, in do_GET
    method(self, query)
  File "C:\Program Files (x86)\pyTivo\plugins\video\video.py", line 46, in Query
Container
    if not handler.server.containers.has_key(cname) or not self.get_local_path(h
andler, query):
  File "C:\Program Files (x86)\pyTivo\plugin.py", line 39, in get_local_path
    path = container['path']
KeyError: 'path'

Another Message I got at one point in the PyTiVo.py window was:



Code:


C:\Program Files (x86)\pyTivo\Cheetah\Compiler.py:1508: UserWarning:
You don't have the C version of NameMapper installed! I'm disabling Cheetah's us
eStackFrames option as it is painfully slow with the Python version of NameMappe
r. You should get a copy of Cheetah with the compiled C version of NameMapper.
  "\nYou don't have the C version of NameMapper installed! "
192.168.1.132 - - [17/Jul/2007 15:07:32] "GET /TiVoConnect?Command=QueryContaine
r&Container=%2F HTTP/1.0" 200 -

Help!!!!

...Dale


----------



## pedxing

FYI, I have successfully installed pyTivo on a Linksys NSLU2 running the latest Unslung firmware. This is, as we New Englanders say, "wicked pissah" since now I have a tiny 4-Watt server with half a terabyte of storage space serving up music to my Roku Soundbridge and video to my TiVo!

Now if only it worked with my new Series 3...

http://www.nslu2-linux.org/wiki/HowTo/TiVoServer

Ped Xing


----------



## gonzotek

Dajad said:


> ...Help!!!!
> 
> ...Dale


PyTiVo has a default config file "pytivo.conf", located in the directory pytivo was installed to (on windows, this is usually "c:/program files/pytivo"). You need to edit it, to (at the minimum) point pytivo to the location of the directory you wish to share. You should see a section like this near the bottom of the file:


Code:


[MyMovies]
#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=d:\video

##You can have more than one share

#[MyTelevision]
#type=video
#path=d:\television

 The '#' symbols indicate comment lines, and are ignored by the program. Change "path=d:\video" to the path you want to share and then restart pytivo.

It may also be necessary to edit the ffmpeg entry to point to the ffmpeg executable:


Code:


#Full path to ffmpeg including filename
#For windows: ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
#For linux:   ffmpeg=/usr/bin/ffmpeg
ffmpeg=C:\Documents and Settings\Armooo\Desktop\pyTivoSrc\plugins\video\ffmpeg_mp2.exe

Most of the other settings also have explanations as to what they do.

There is a configuration script included with pytivo, but I think it is still under construction(it was the last time I tried it), requiring you to hand edit the config file.

The "C version of NameMapper" warning can be ignored, pytivo functions correctly despite the message.


----------



## gonzotek

pedxing said:


> FYI, I have successfully installed pyTivo on a Linksys NSLU2 running the latest Unslung firmware. This is, as we New Englanders say, "wicked pissah" since now I have a tiny 4-Watt server with half a terabyte of storage space serving up music to my Roku Soundbridge and video to my TiVo!
> 
> Now if only it worked with my new Series 3...
> 
> http://www.nslu2-linux.org/wiki/HowTo/TiVoServer
> 
> Ped Xing


Nice, I've been planning on picking up some NAS box soon. Bookmarked your instructions for future use!


----------



## Dajad

gonzotek said:


> PyTiVo has a default config file "pytivo.conf", located in the directory pytivo was installed to (on windows, this is usually "c:/program files/pytivo"). You need to edit it, to (at the minimum) point pytivo to the location of the directory you wish to share. You should see a section like this near the bottom of the file:
> 
> 
> Code:
> 
> 
> [MyMovies]
> #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=d:\video
> 
> ##You can have more than one share
> 
> #[MyTelevision]
> #type=video
> #path=d:\television
> 
> The '#' symbols indicate comment lines, and are ignored by the program. Change "path=d:\video" to the path you want to share and then restart pytivo. It may also be necessary to edit the ffmpeg entry to point to the ffmpeg executable:
> 
> 
> Code:
> 
> 
> #Full path to ffmpeg including filename
> #For windows: ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
> #For linux:   ffmpeg=/usr/bin/ffmpeg
> ffmpeg=C:\Documents and Settings\Armooo\Desktop\pyTivoSrc\plugins\video\ffmpeg_mp2.exe
> 
> Most of the other settings also have explanations as to what they do.
> 
> There is a configuration script included with pytivo, but I think it is still under construction(it was the last time I tried it), requiring you to hand edit the config file.
> 
> The "C version of NameMapper" warning can be ignored, pytivo functions correctly despite the message.


Thanks Gonzotek!

Oh my Gosh! Goes to show what another set of eyes can do. I had actually edited the pyTivo.conf file - just forgot to mention it above. But your comment pointed me in the right direction - at least for now. Some how I had deleted the "path=" part and just put in

D:\Movies​
rather than:

path=D:\Movies​
So, onto the next problem. I might be able to solve this as I initially had the same problem on the TiVoDesktop but if anyone has any ideas I'd appreciate it.

The movies now show up on my TiVo, but when I click on one, instead of transferring immediately, it says the movie will be transferred after previously transferred movie is done. Of course there is no previous movie transfer going on.

As I said, I had this exact same problme with TiVo.Net and TiVo Desktop a couple weeks ago before I got them working. But at the moment I can't remember what the solution was.

Any guesses?

...Dale


----------



## windracer

pedxing said:


> FYI, I have successfully installed pyTivo on a Linksys NSLU2 running the latest Unslung firmware.


Interesting. I've considered trying to get pyTiVo/TiVo.Net to run on my Buffalo Linkstation using the OpenLink firmware but what's holding me back is the CPU. How does the NSLU2 hold up to transcoding on the fly? Can you watch in near-real time?


----------



## windracer

Dajad said:


> As I said, I had this exact same problme with TiVo.Net and TiVo Desktop a couple weeks ago before I got them working. But at the moment I can't remember what the solution was.


Try rebooting your TiVo. That seems to clear strange things like that up.


----------



## pedxing

windracer said:


> Interesting. I've considered trying to get pyTiVo/TiVo.Net to run on my Buffalo Linkstation using the OpenLink firmware but what's holding me back is the CPU. How does the NSLU2 hold up to transcoding on the fly? Can you watch in near-real time?


I haven't tried real-time transcoding, actually. I'm just serving up .tivo and .mpg files already in the correct format. The NSLU2 will stream these to my Series 2 faster than real-time in Medium and near real time in Best.

I imagine transcoding would be SLOW. My NSLU2 has been "de-underclocked" so it runs at 266 MHz, but I still can see the slowness on CPU-intensive tasks. Considering that my home Celeron 4 1.7 Ghz PC can't transcode in real time, I doubt the slug will even come close!

The Linkstation should be able to run pyTivo just fine, assuming it can run Python and ffmpeg. But don't count on transcoding. Instead, just load it up with disk space and serve up native mpeg or .tivo files!

I also tried Galleon and couldn't get it to work with phoneme, jamvm, or kaffe. Tivo.Net will not work since it uses Microsoft's Windows-only .net programming stuff...

Ped Xing


----------



## pedxing

gonzotek said:


> Nice, I've been planning on picking up some NAS box soon. Bookmarked your instructions for future use!


If you're a hacker type, I strongly recommend the NSLU2. It has great potential with the Unslung firmware. It's especially nice with the mt-daapd (aka Firefly) server for iTunes and Roku Soundbridge use! And now we know it runs pyTivo too!

If you're not interested in hacking, though, then save yourself some grief and effort and pick up a name-brand NAS like the Western Digital or Buffalo systems. Watch out for the Ximeta NetDisk and Netgear StorageCentral since they are not NAS but weird proprietary disk-over-Ethernet things!


----------



## windracer

pedxing said:


> I haven't tried real-time transcoding, actually. I'm just serving up .tivo and .mpg files already in the correct format.


Ok, makes sense.



pedxing said:


> Tivo.Net will not work since it uses Microsoft's Windows-only .net programming stuff...


TiVo.Net will run on Linux through mono (I'm doing that now). There's a PPC build of mono, so theoretically I could get TiVo.net working on the Linkstation, but pyTiVo would be the smaller-footprint way to go (without transcoding, as you pointed out).

I might have to make this a little weekend experiment ...


----------



## Dajad

windracer said:


> Try rebooting your TiVo. That seems to clear strange things like that up.


*Houston, we have lift off!*

Ha! Took me a day to actually try this - BUT IT WORKED! I rebooted my TiVo and now all seems to be working. I did my first transfer and am now doing another. Thanks Windracer!

*1. 16x9 Aspect Ratio Issue*

I think I need to futz with the aspect ratio settings. I watch on a 16x9 Plasma TV. The first 16x9 video I transferred (ie: a 16x9 movie I ripped from a DVD - it is 16.x9 when I watch on my PC) was stretched wide on my TiVo/Plasma with lots of blank space above and below. When I changed my TV's aspect ratio to 4:3 the video looked fine (16x9 in a 4x3 box) with black bars around all four sides. Argh! Probably just need to change some settings.

The second transfer seems to be doing the 16x9 thing properly - a 16x9 TV show (well it does leave some very thin black lines on the top and bottom. Much thinner than the first trasnfer).

*Update 1:* I did try futzing with the "aspect169=true" line and also tried setting "width=704" and "width=720" and none of this seemed to make any difference. This is not a big deal though. Everything is watchable so far.

*Update 2:* I'm doing my catchup back-reading in this thread. In this post TiVo's witn SN's starting with 649 are supposed to not display 16x9 on 4:3 TVs. I wonder if this is relevant to me. My TiVo has a 649 SN. But, I also just noticed that my TiVo S2 was not set to output in 16x9. I know I set this up when I first set up the TiVo a few weeks ago. I guess this must have been reset in one of my reboots. So I'll need to do more testing to see if I still have a problem or not.

*Update 3:* I still dn't know what width I should set in the pyTiVo.conf file for output to a 16x9 plasma TV. I've tried 720 and 704 and I can't see a difference. It could be that my TV is doing some upscaling or whatever on its own. Can someone explain clearly what the difference is with the "Output Pixex Width:" field is supposed to do? My TV is 1024x720. I'd ideally like to code to that but this doesn't seem to be an option. The options are 720, 704, 544, 480, 352. But none of the documentation that I've found so far tells me what the height will be when I choose them.

*2. Problems Navigating the Shares' Subdirectories*

I'm also having problems navigating up and down directories of my shares. If I go down one directory and back up then down another, the TiVo shows the movies in the prior subdirctory. I know this has been an issue. I will keep reading this forum from the beginning to see if there is a solution. Or if someone has a solution, please let me know. Do I just have to wait a certain amount of time between navigating/returning?

*Update:* I found this description of the problem. However, the solution, to navigate gingerly (ie: wait 2 seconds before navigating up and down folders) doesn't work. Is this where we are on this issue? Do we need to set up dozens of single level shares rather than being able to navigate subdirectories? This would really bite because I have my videos all nicely organized into subfolders.

*3. Can PyTiVo Be Set to Use more CPU Cycles?*

I'm also surprised that PyTiVo is only using about 33% of my system CPU cycles. I've got a VERY fast machine. I don't think the bottleneck is my network speed as I have a 100 Mbps wired Ethernet connection to my TiVo. I'd be surprised if that is slowing things down. I'd like somehow to get PyTiVo to use more CPU cycles to make the transcoding and transfer faster if there is a way.

*4. Network Share Issue*

I can transfer content from the local C & D drive fine. I tried to set up a share to my W:\ drive - a shared directory from another computer in my network - actually 1 foot away from my main Vista machine. I called the share "Vids Long". TiVo "sees" the Vids Long share in the Now Playing list, along with my two other shares, setup in the PyTiVo.conf file but when I navigate to it on the TiVo I get this error message:

The Vids Long PC's Now Playing LIst could not be displayed because of an unknown error. Press LEFT to retrun to the Now Playing List.​
I get this error message in the Python box.



Code:


----------------------------------------
Exception happened during processing of request from ('192.168.1.132', 1204)
Traceback (most recent call last):
  File "C:\Python25\lib\SocketServer.py", line 463, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python25\lib\SocketServer.py", line 254, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\Python25\lib\SocketServer.py", line 521, in __init__
    self.handle()
  File "C:\Python25\lib\BaseHTTPServer.py", line 316, in handle
    self.handle_one_request()
  File "C:\Python25\lib\BaseHTTPServer.py", line 310, in handle_one_request
    method()
  File "C:\Program Files (x86)\pyTivo\httpserver.py", line 64, in do_GET
    method(self, query)
  File "C:\Program Files (x86)\pyTivo\plugins\video\video.py", line 91, in Query
Container
    t.files, t.total, t.start = self.get_files(handler, query, VideoFileFilter)
  File "C:\Program Files (x86)\pyTivo\plugin.py", line 50, in get_files
    files = os.listdir(path)
WindowsError: [Error 2] The system cannot find the path specified: 'W:\\files\\v
ids long/*.*'
----------------------------------------

Note that the double slashes "\\" in the path in the error message above are NOT in the share path I set up in the PyTiVo.conf file. This is what I have in the PyTiVo.conf file:



Code:


[Vids Long]
type=video
path=W:\files\vids long

Does Python not work with Networked shares? Would UNC paths' work?

*Update:* I just remembered I back my W:\drive up on my D:\drive so I don't really need this. Doh! I pointed the share to the backup on my D:\ drive and this problem is solved. It would be interesting for future reference to know if networked shares will work though.

*5. Slow Mo Doesn't Work:*

I'm a bit surprised by this one. The Slow-mo button on my peanut does not work with any of the 7 or 8 videos that I've transferred. If I press "Slow-Mo" the video actually speeds up. My slow-mo button otherwise works with broadcast TV.

*6. Pause Button Slow to React:*

I find that pause doesn't pause as quickly as it does on a regular TiVo recording. It sometimes waits and pauses a second later. And, when I try to go frame by frame backwards to where I wanted it to pause I often can't pause there. Or, if I try to pause in advance so it will stop where I want it usually doesn't. It's really a catch as catch can pause.

*7. Future of pyTiVo:*

If/when TiVo opens up TiVoComeBack on S3s and H.264 is supported, will PyTiVo work with the S3s and be able to transcode to and send H.264 videos to the S3? That would be ideal.

...Dale


----------



## BigT4187

Hey all. pyTivo is simply amazing. I have just started reading my way through all of the 20 pages of posts, so bear with me if this question has been asked.

I have some TV shows on DVD that I want to rip to my pyTivo server. What is the best/easiest format to rip them to for pyTivo to be able to transcode them and what software should I use to do the ripping? I was thinking Dr Divx but if in the future I ever get an AppleTV or something else, maybe MP4 would be better. Any thoughts or suggestions would be greatly appreciated either here of via PM.

By the way I run WindowsXP on my "server".

Thanks!!


----------



## windracer

windracer said:


> There's a PPC build of mono, so theoretically I could get TiVo.net working on the Linkstation, but pyTiVo would be the smaller-footprint way to go (without transcoding, as you pointed out).
> 
> I might have to make this a little weekend experiment ...


Well, I've got pyTivo running on my Linkstation now. It took _forever_ to compile Python 2.5 and ffmpeg on the little box, but eventually I got both working. Since I'm not going to attempt serious transcoding on the LS2, I didn't bother with all of the extra add-ins to ffmpeg and just went with the basic configure/make.

I'm transferring my first .tivo file directly from the LS2 to my S2 now ...


----------



## buff23

sraveh said:


> Hi,
> 
> I've been using pyTivo for a couple of month now and I love it.
> I used Galleon before and I think pyTivo is doing great job.
> One thing that I miss or do not know how to configure is mp3 playlist. I tried pointing pyTivo to a directory that contains my playlist but it complains that it empty.
> Does pyTivo support playlist?


I am a long time user of PyTivo and would also like to know whether PyTivo supports playlists (m3u) files. I tried to add some to my share, but the Tivo does not detect/display these files. If it does not support this, any plan to support playlists in the future?

Thanks and keep up the good work.


----------



## windracer

pedxing said:


> I haven't tried real-time transcoding, actually. I'm just serving up .tivo and .mpg files already in the correct format. The NSLU2 will stream these to my Series 2 faster than real-time in Medium and near real time in Best.


My results are similar. I was able to send a 900mb (44 minute) .tivo file through pyTivo on the Linkstation to my S2 in about 20 minutes. It appears pyTivo doesn't even need to invoke ffmpeg to do that, so maybe all that trouble and time compiling ffmpeg wasn't necessary.

I tried transcoding a 35mb .wmv file ... after 1 hour only 2 minutes had transferred over.


----------



## Dajad

BigT4187 said:


> Hey all. pyTivo is simply amazing. I have just started reading my way through all of the 20 pages of posts, so bear with me if this question has been asked.
> 
> I have some TV shows on DVD that I want to rip to my pyTivo server. What is the best/easiest format to rip them to for pyTivo to be able to transcode them and what software should I use to do the ripping? I was thinking Dr Divx but if in the future I ever get an AppleTV or something else, maybe MP4 would be better. Any thoughts or suggestions would be greatly appreciated either here of via PM.
> 
> By the way I run WindowsXP on my "server".
> 
> Thanks!!


I know Justin Thyme (a forum guru) uses DVDFAb Platinum. I intend to purchase it at some point but am still looking into it.

Whatever DVD Ripper you use, my suggestion is to be sure it can rip into H.264 format because that has become the defacto supported standard of ALL current settops (PS3, TiVo S3, Apple TV, Xbox 360 etc.). All the majors have avoided DivX/Xvid to placate Hollywood. Given that H.264 (an MP4 variant) has become THE settop standard my guess is the bittorrent crowd will migrate to it over time.


----------



## BigT4187

Dajad said:


> I know Justin Thyme (a forum guru) uses DVDFAb Platinum. I intend to purchase it at some point but am still looking into it.
> 
> Whatever DVD Ripper you use, my suggestion is to be sure it can rip into H.264 format because that has become the defacto supported standard of ALL current settops (PS3, TiVo S3, Apple TV, Xbox 360 etc.). All the majors have avoided DivX/Xvid to placate Hollywood. Given that H.264 (an MP4 variant) has become THE settop standard my guess is the bittorrent crowd will migrate to it over time.


Thanks for the reply! I appreciate it.


----------



## davesanti

pedxing said:


> FYI, I have successfully installed pyTivo on a Linksys NSLU2 running the latest Unslung firmware. This is, as we New Englanders say, "wicked pissah" since now I have a tiny 4-Watt server with half a terabyte of storage space serving up music to my Roku Soundbridge and video to my TiVo!
> 
> Now if only it worked with my new Series 3...
> 
> http://www.nslu2-linux.org/wiki/HowTo/TiVoServer
> 
> Ped Xing


Very cool... I am going to try to get this going on my Slug...

Since PY wont serve photos off the Slug.. anyone have any ideas on what to use to pull photos from the Slug to the Tivo.

Dave


----------



## cr33p

What is the latest stable release that I should be using? I downloaded the 182 windows installer ver and for some reason the only way I can get it to run is if I manually start up pytivo.py, even though upon a system reboot the pytivo service starts up however once I click on my share in the NPL nothing happens it just sits there, then I back out to the main NPL and then the share is gone all together until I start pytivo.py then all works well. Any ideas?


----------



## tadtadtadtadtad

HELP! Can someone help me get pytivo running on my Mac? I've tried and failed on my old PC. I've tried to follow the configuration directions at the armooo wiki on how to get it up and running on the mac but cannot run the terminal commands listed for compiling ffmpeg. Like I even know what that means.

I'd appreciate any help you could give me. I was able to run it on a PC for a few weeks and then nothing. No clue why. Any ideas on that front would be helpful also.

Here's what I have in the pyTivo.conf file on my pc where it no longer shows up on any of my 3 tivos. What am I doing wrong?

[Movies]
type = video
path = G:\Video\Movies

[PC Files]
type = video
path = G:\Video

[Server]
subnet = 192.168.1.1
ffmpeg = G:\pyTivo\plugins\video\ffmpeg_mp2.exe
path = G:\pyTivo
port = 9032


----------



## geekasaurus_rex

After quite a bit of searching, I have not yet found the answer to my s(h)ituation, so here goes:

Just got a brand new Series2.

Installed pyTivo, configured, can see the movies in the appropriate directory per the pyTivo directory from the TiVo "Now Playing" Screen.

Trying to show one on the Tv, I select "Show on This TV." It states that the program/movie is Scheduled for Transfer, and it shows up in the "To Do" list.

That's it. I don't see it moving, can't play it, etc. I can cancel the Scheduled Transfer, but can't play it.

Any thoughts? Thanks in advance.


----------



## buffalova

> After quite a bit of searching, I have not yet found the answer to my s(h)ituation, so here goes:
> 
> Just got a brand new Series2.
> 
> Installed pyTivo, configured, can see the movies in the appropriate directory per the pyTivo directory from the TiVo "Now Playing" Screen.
> 
> Trying to show one on the Tv, I select "Show on This TV." It states that the program/movie is Scheduled for Transfer, and it shows up in the "To Do" list.
> 
> That's it. I don't see it moving, can't play it, etc. I can cancel the Scheduled Transfer, but can't play it.
> 
> Any thoughts? Thanks in advance.


If you haven't already try rebooting your tivo and then try again.


----------



## gimgol

This one is stumping me ...

I have pyTivo-subfolders-8.3-200 setup on a linux box. I can see the files / folders on the Tivo. When I select a file to stream Tivo shows the length correctly (e.g 1:36) but indicates that it is a "Partial" file. When I play the file I only get the first minute. I have tried pyTivo-201 with the same results.

Thanks.


----------



## svhawk

I just got my series 2 toshiba to find the my computer but when I click on the folder I get an error on the TIVO indicating it can't see any files. any thoughts?


----------



## etsolow

geekasaurus_rex said:


> Trying to show one on the Tv, I select "Show on This TV." It states that the program/movie is Scheduled for Transfer, and it shows up in the "To Do" list.
> 
> That's it. I don't see it moving, can't play it, etc. I can cancel the Scheduled Transfer, but can't play it.
> 
> Any thoughts? Thanks in advance.


I had a similar problem, that I thought might be related to several ['s and ('s in the file name. I renamed the file to be only alphanumerical and it played fine. YMMV!


----------



## graceland

gimgol said:


> This one is stumping me ...
> 
> I have pyTivo-subfolders-8.3-200 setup on a linux box. I can see the files / folders on the Tivo. When I select a file to stream Tivo shows the length correctly (e.g 1:36) but indicates that it is a "Partial" file. When I play the file I only get the first minute. I have tried pyTivo-201 with the same results.
> 
> Thanks.


gimgol,

Have you had any luck?

I have the same issue using Ubuntu 7.04. I get the first 1 or 2 minutes and it stops. I am running it a terminal window as I haven't figured out how to run is automagically. I'm a bit of a linux noob. I think I'm going to try to list my Tivos separately in the pyTivo.conf file. That seems to resolve issues for others. (Although not this specific one)

graceland


----------



## geekasaurus_rex

etsolow said:


> I had a similar problem, that I thought might be related to several ['s and ('s in the file name. I renamed the file to be only alphanumerical and it played fine. YMMV!


Up and running now... a few reboots, and an update (for it 'twas a new TiVo!) and all is well.

Has anyone investigated / solved the issue of changing the names in the "Now Playing" list? I have done several searches to no avail...

I ask only because my wife does not think the video of our wee one (MOV0015) makes a good listing in "Now Playing."

Thanks again.


----------



## cr33p

geekasaurus_rex said:


> Up and running now... a few reboots, and an update (for it 'twas a new TiVo!) and all is well.
> 
> Has anyone investigated / solved the issue of changing the names in the "Now Playing" list? I have done several searches to no avail...
> 
> I ask only because my wife does not think the video of our wee one (MOV0015) makes a good listing in "Now Playing."
> 
> Thanks again.


You should be able to just name the file whatever you would like it to say. I name all my movies with no problems at all


----------



## johnkfisher

I need to have two different computers running pytivo, but, alas, it won't work, presumably because of the issue in the title.

any workarounds yet?


----------



## sc123

Using pyTivo 201 from an openSUSE 10.2 box with the latest version of python installed, I can browse root folders on my Tivo 2 but subfolders do not display any content when they are selected. Tivo says "This group is empty". If I move the videos from within the subfolders to the root folders they appear properly, however this defeats the purpose of subfolders.

Also, the video doesn't exactly sync with the audio - the audio is a little behind. For example, you can see people's mouths move with no audio for a split second. How can I correct this?


----------



## dlfl

sc123 said:


> ........
> Also, the video doesn't exactly sync with the audio - the audio is a little behind. For example, you can see people's mouths move with no audio for a split second. How can I correct this?


I've never had this problem with pyTivo (Windows XP system). However I have an idea that could easily be tried. This only applies if the sync delay is constant througout your videos (??).

There is an option for FFmpeg (used by pyTivo for transcoding) described as follows in the ffmpeg documentation:



> `-async samples_per_second'
> Audio sync method. "Stretches/squeezes" the audio stream to match the timestamps, the parameter is the maximum samples per second by which the audio is changed. -async 1 is a special case where only the start of the audio stream is corrected without any later correction.


In the pure file encoding (as opposed to streaming) cases I have seen, this option is usually there with value = 1 ("-async 1"). It does not seem to be used in the pyTivo invocation. I've always wondered what difference it might make.

This option would have to be added in by editing transcode.py in the command line sent to ffmpeg, which now looks like:



> cmd = [FFMPEG, '-i', inFile, '-vcodec', 'mpeg2video', '-r', '29.97', '-b', VIDEO_BR] + select_aspect(inFile, tsn) + ['-comment', 'pyTivo.py', '-ac', '2', '-ab', AUDIO_BR,'-ar', '44100', '-f', 'vob', '-' ]


for example:



> cmd = [FFMPEG, '-i', inFile, '-vcodec', 'mpeg2video', '-r', '29.97', '-b', VIDEO_BR] + select_aspect(inFile, tsn) + ['-comment', 'pyTivo.py', '-async', '1', '-ac', '2', '-ab', AUDIO_BR,'-ar', '44100', '-f', 'vob', '-' ]


I don't believe the exact placement among the other options is critical.
Give this a try!


----------



## TracerBullet

So is there no way to get this to work on a Series 3? I use this functionality quite a bit and don't want to keep an extra TiVo sub just for this. It seems kind of crazy.


----------



## windracer

Nope, it won't work on the S3/THD boxes until TiVo enables TTG/MRV on those platforms (rumored to be by the end of the year).


----------



## BigT4187

Hello all.

Here is the problem I am having. Any widescreen video I transcode with pyTivo extends past the width of my TV. I have a 32" standard def TV. I noticed this the other day when watching a Revision3 video. On the bottom right of the screen there is an overlay of "Revision3". All I see is "Revisio" on my screen. Attached is a copy of my config file. Is there anything else that someone needs to help me troubleshoot this issue?

I have tried setting the width to 544 and that doesn't seem to help.

I am running pyTivo on WindowsXP without any problems. It is NOT installed as a service.



Code:


[Server]
port=9032


#Full path to ffmpeg including filename
#For windows: ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
#For linux:   ffmpeg=/usr/bin/ffmpeg
ffmpeg=C:\pytivo-subfolders\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=true

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

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

#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=704

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

#If you want to use 16:9 or 4:3 on this tivo
#aspect169=true

[IPTV]
#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=P:\IPTV

[Movies]
#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=P:\Movies

[Television]
#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=P:\TV

#Path is the full path to your files (No trailing slash needed)
#For windows: path=c:\videos
#For linux:   path=/media


##You can have more than one share
#[MyTelevision]
#type=video
#path=d:\television


----------



## dlfl

BigT4187 said:


> Hello all.
> 
> Here is the problem I am having. Any widescreen video I transcode with pyTivo extends past the width of my TV. I have a 32" standard def TV. I noticed this the other day when watching a Revision3 video. On the bottom right of the screen there is an overlay of "Revision3". All I see is "Revisio" on my screen. Attached is a copy of my config file. Is there anything else that someone needs to help me troubleshoot this issue?
> 
> I have tried setting the width to 544 and that doesn't seem to help.
> 
> I am running pyTivo on WindowsXP without any problems. It is NOT installed as a service. ...........


Look back to post #548 in this thread and you can see how the ffmpeg command in transcode.py can be modified to pad (i.e., shrink) the image. You just have to be careful with the logic to only apply the padding for cases where you need it.


----------



## BigT4187

dlfl said:


> Look back to post #548 in this thread and you can see how the ffmpeg command in transcode.py can be modified to pad (i.e., shrink) the image. You just have to be careful with the logic to only apply the padding for cases where you need it.


Well, I tried the transcode.py file that Iluvatar posted in post #548, but that doesn't appear to change anything with a transcoded video. The transcoded video is still too wide for my TV. I don't know anything about programming or ffmpeg so can someone explain what I need to change? I don't have a problem with trial and error but I don't want to hose it completely.

Thanks.


----------



## buffalova

> Hello all.
> 
> Here is the problem I am having. Any widescreen video I transcode with pyTivo extends past the width of my TV. I have a 32" standard def TV. I noticed this the other day when watching a Revision3 video. On the bottom right of the screen there is an overlay of "Revision3". All I see is "Revisio" on my screen. Attached is a copy of my config file. Is there anything else that someone needs to help me troubleshoot this issue?
> 
> I have tried setting the width to 544 and that doesn't seem to help.
> 
> I am running pyTivo on WindowsXP without any problems. It is NOT installed as a service.





> I am running pyTivo on WindowsXP without any problems. It is NOT installed as a service.
> 
> Code:
> 
> [Server]
> port=9032
> 
> #Full path to ffmpeg including filename
> #For windows: ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
> #For linux: ffmpeg=/usr/bin/ffmpeg
> ffmpeg=C:\pytivo-subfolders\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=true
> 
> # Audio bit-rate, default 192K
> #audio_br=192K
> 
> # Video bit-rate, default 4096K
> #video_br=3Mi
> 
> #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=704
> 
> ##Per tivo options
> # section named _tivo_TSN with the tsn in all caps
> #[_tivo_2400000DEADBEEF]
> 
> #If you want to use 16:9 or 4:3 on this tivo
> #aspect169=true
> 
> [IPTV]
> #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=P:\IPTV
> 
> [Movies]
> #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=P:\Movies
> 
> [Television]
> #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=P:\TV
> 
> #Path is the full path to your files (No trailing slash needed)
> #For windows: path=c:\videos
> #For linux: path=/media
> 
> ##You can have more than one share
> #[MyTelevision]
> #type=video
> #path=d:\television


If this is your pytivo.conf file I don't see where you have width defined. You should add width=544 Where did you add this statement?

I also like to add this line specifying the exact tivo with serial number. It straightened out several formatting problems for me.

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

Hope this helps.


----------



## BigT4187

buffalova said:


> If this is your pytivo.conf file I don't see where you have width defined. You should add width=544 Where did you add this statement?
> 
> I also like to add this line specifying the exact tivo with serial number. It straightened out several formatting problems for me.
> 
> ##Per tivo options
> # section named _tivo_TSN with the tsn in all caps
> #[_tivo_2400000DEADBEEF]
> 
> Hope this helps.


I did add the width=544 line but it didn't change anything so I removed it. I will try that again this evening as well as adding my TSN number and post my results.


----------



## sc123

dlfl said:


> I've never had this problem with pyTivo (Windows XP system).
> In the pure file encoding (as opposed to streaming) cases I have seen, this option is usually there with value = 1 ("-async 1"). It does not seem to be used in the pyTivo invocation. I've always wondered what difference it might make.
> 
> This option would have to be added in by editing transcode.py in the command line sent to ffmpeg, which now looks like:
> 
> for example:
> 
> I don't believe the exact placement among the other options is critical.
> Give this a try!


This resulted in crackly audio - with lots of popping and drops. Any other suggestions? How about the subfolder issue I mentioned?

EDIT: I think it was that particular video that had the cracks and pops, but the sync was still off. So that problem is still present...

On another note, I've tried pyTivo on my Windows Vista Ultimate box and it has the same issue with the subfolders not having videos in them on Tivo.

Thanks!


----------



## BigT4187

Well ... no change in my problem.

I set the width to 544 in the conf file and put my TSN number in as well. Can anyone offer any assistance as to what to change in the transcode.py file to help me out?


----------



## Iluvatar

try the attached transcode.py file (this version is known to fix my issues, which I thought were the same as yours). 

And just to make sure that any old files are not being used:
Reboot your PC
Reboot your TiVo 

Tryout the new transcode.py.


----------



## BigT4187

Iluvatar said:


> try the attached transcode.py file (this version is known to fix my issues, which I thought were the same as yours).
> 
> And just to make sure that any old files are not being used:
> Reboot your PC
> Reboot your TiVo
> 
> Tryout the new transcode.py.


I'll give it a shot, Iluvatar. Thanks!


----------



## BigT4187

Well, no luck. I rebooted both the Tivo and the server after copying Iluvatar's transcode.py file to the correct directory. The problem still persists for me. Anyone have any other ideas?


----------



## dlfl

BigT4187 said:


> Well, no luck. I rebooted both the Tivo and the server after copying Iluvatar's transcode.py file to the correct directory. The problem still persists for me. Anyone have any other ideas?


I took a look at Iluvatar's transcode.py. The right/left padding correction is only done for a particular set of parameters and I suspect your video is not matching them.

Turn on the debug file (debug=true in pyTivo.conf) then start transcoding one of the offending videos. You don't have to complete the transfer.

In the debug file find (near the end I think) the last line starting with:

select_aspect: File <file name> ...... etc. (where <file name> is the video file)

Copy up to 20 lines starting with that line and paste them into a post. This will verify (or not) my theory and then a modified transcode.py that will work for your case can easily be created. This should work either with the distributed transcode.py or Iluvatar's version.


----------



## gimgol

sc123 said:


> Using pyTivo 201 from an openSUSE 10.2 box with the latest version of python installed, I can browse root folders on my Tivo 2 but subfolders do not display any content when they are selected. Tivo says "This group is empty".


Same issue on Ubuntu Server 7.04, Python 2.5, pyTivo-subfolders-8.3-200


----------



## gimgol

graceland said:


> Have you had any luck?
> 
> I have the same issue using Ubuntu 7.04. I get the first 1 or 2 minutes and it stops.


No luck, still having the same issue and the issue with "Empty folder". I am also on Ubuntu Server 7.04 with current Python and pyTivo-subfolders-8.3-200. I am considering dropping back to Ubuntu Server 6.06 LTS as pyTivo seemed to run better on that platform.


----------



## BigT4187

dlfl said:


> I took a look at Iluvatar's transcode.py. The right/left padding correction is only done for a particular set of parameters and I suspect your video is not matching them.
> 
> Turn on the debug file (debug=true in pyTivo.conf) then start transcoding one of the offending videos. You don't have to complete the transfer.
> 
> In the debug file find (near the end I think) the last line starting with:
> 
> select_aspect: File <file name> ...... etc. (where <file name> is the video file)
> 
> Copy up to 20 lines starting with that line and paste them into a post. This will verify (or not) my theory and then a modified transcode.py that will work for your case can easily be created. This should work either with the distributed transcode.py or Iluvatar's version.


Here it is dlfl


Code:


select_aspect: File= P:\IPTV/trs--0020--coop.mov  Type= h264  width= 640  height= 360  fps= 29.97  millisecs= 3047300  ratio= 177  rheight= 9  rwidth= 16 
select_aspect: File is wider than 4:3 padding top and bottom
 -aspect 4:3 -s 544x360 -padtop 60 -padbottom 60 
transcode: ffmpeg command is  C:\pytivo-subfolders\plugins\video\ffmpeg_mp2.exe-iP:\IPTV/trs--0020--coop.mov-vcodecmpeg2video-r29.97-b4096K-aspect4:3-s544x360-padtop60-padbottom60-commentpyTivo.py-ac2-ab192K-ar44100-fvob-

Thanks for any help you (or anyone) can offer.


----------



## dlfl

BigT4187 said:


> Here it is dlfl
> 
> 
> Code:
> 
> 
> select_aspect: File= P:\IPTV/trs--0020--coop.mov  Type= h264  width= 640  height= 360  fps= 29.97  millisecs= 3047300  ratio= 177  rheight= 9  rwidth= 16
> select_aspect: File is wider than 4:3 padding top and bottom
> -aspect 4:3 -s 544x360 -padtop 60 -padbottom 60
> transcode: ffmpeg command is  C:\pytivo-subfolders\plugins\video\ffmpeg_mp2.exe-iP:\IPTV/trs--0020--coop.mov-vcodecmpeg2video-r29.97-b4096K-aspect4:3-s544x360-padtop60-padbottom60-commentpyTivo.py-ac2-ab192K-ar44100-fvob-
> 
> Thanks for any help you (or anyone) can offer.


This confirms what I thought -- your video parameters are not triggering the padright/padleft logic in Iluvatar's code. Based on this I (and probably others) can gen up a transcode.py that will help you. I can't get to if for a few hours so if anyone else wants to jump in that's fine. It would help if you could estimate the percent width reduction that would be best, e.g., 5%, 10% or ??. Iluvatar used pads of 20 on each side IIRC which would be 40/544 = 7% shrinkage. If I do the mod I'll try to make it easy for you to edit in different amounts of shrinkage.


----------



## Iluvatar

Edited: Removed code changes that were wrong.


----------



## dlfl

BigT,

I think Iluvatar changed the wrong part of the code, at least based on the fragment in his post. This portion applies only if the input video is within 1% of already being 4:3 while your video is exactly 16:9.

I was going to send you the entire transcode.py file but I have several versions and it would be dangerous to send the wrong one, so here is the part I edited:



Code:


               if endHeight < TIVO_HEIGHT * 0.99:
                    [COLOR=Red]sidePadding = 20  # vary this to change width shrinkage - use even numbers only
                    settings.append('-s')
                    settings.append(str(TIVO_WIDTH - 2*sidePadding) + 'x' + str(endHeight))[/COLOR] 

                    topPadding = ((TIVO_HEIGHT - endHeight)/2)
                    if topPadding % 2:
                        topPadding -= 1
                    
                    settings.append('-padtop')
                    settings.append(str(topPadding))
                    bottomPadding = (TIVO_HEIGHT - endHeight) - topPadding
                    settings.append('-padbottom')
                    settings.append(str(bottomPadding))
                    [COLOR=Red]settings.append('-padright')
                    settings.append(str(sidePadding))
                    settings.append('-padleft')
                    settings.append(str(sidePadding))[/COLOR]

                else:   #if only very small amount of padding needed, then just stretch it

I've highlighted the added/changed parts in red. Note this change is ONLY at the second place that starts with 


Code:


if endHeight < TIVO_HEIGHT * 0.99:

As you edit be aware that indentation is critical in Python code. It can be dangerous to use tabs instead of spaces to achieve indentation also.

If you want to vary shrinkage all you do is change the 20 to a different even number per the comment.

If you are uncomfortable editing the file, just attach a copy of the version of transcode.py you are using to a post and I will edit it.


----------



## Iluvatar

dlfl said:


> BigT,
> 
> I think Iluvatar changed the wrong part of the code, at least based on the fragment in his post. This portion applies only if the input video is within 1% of already being 4:3 while your video is exactly 16:9.
> 
> I was going to send you the entire transcode.py file but I have several versions and it would be dangerous to send the wrong one, so here is the part I edited:
> 
> 
> 
> Code:
> 
> 
> if endHeight < TIVO_HEIGHT * 0.99:
> [COLOR=Red]sidePadding = 20  # vary this to change width shrinkage - use even numbers only
> settings.append('-s')
> settings.append(str(TIVO_WIDTH - 2*sidePadding) + 'x' + str(endHeight))[/COLOR]
> 
> topPadding = ((TIVO_HEIGHT - endHeight)/2)
> if topPadding % 2:
> topPadding -= 1
> 
> settings.append('-padtop')
> settings.append(str(topPadding))
> bottomPadding = (TIVO_HEIGHT - endHeight) - topPadding
> settings.append('-padbottom')
> settings.append(str(bottomPadding))
> [COLOR=Red]settings.append('-padright')
> settings.append(str(sidePadding))
> settings.append('-padleft')
> settings.append(str(sidePadding))[/COLOR]
> 
> else:   #if only very small amount of padding needed, then just stretch it
> 
> I've highlighted the added/changed parts in red. As you can see this section is just before the one that Iluvatar changed. As you edit be aware that indentation is critical in Python code. It can be dangerous to use tabs instead of spaces to achieve indentation also.
> 
> If you want to vary shrinkage all you do is change the 20 to a different even number per the comment.
> 
> If you are uncomfortable editing the file, just attach a copy of the version of transcode.py you are using to a post and I will edit it.


Whoops...I quickly realized what I had done once I found the video sample online and could not get the changes to show. I had been working on another version but you got there first 

BTW: I am not sure what the differences are between my setup and BigT's but the Revision3 video transcoded just fine on my 27" 4:3 CRT. Only minimal cropping from what I could tell but all action and text was viewable in its' entirety. This was tested using a default transcode.py.


----------



## dlfl

Some consolation knowing I'm not the only one still stuck with a puny 27" 4:3 CRT


----------



## BigT4187

UPDATE -

Thanks dlfl that did the trick! Thanks so much to all of the developers who work on pyTivo! It is an amazing application!

For what it's worth ... I have a 32" 4:3 CRT.


----------



## digititus

This is sooo sweet. First off, Installed pytivo and I'm up and running with no major problems. 

Had an issue where I deleted a show while it was being transfered and it jammed up the queue on the tivo. I now know that I should stop the transfer before I delete from now playing with the transfer is in progress. It would not be removed from my to do list queue and said transfering. Other shows would not transfer even though I selected cancel transfer. I did a soft reboot and everything was fine. show got removed and the other shows in the queue started to transfer.
.


----------



## digititus

sorry I posted 2 times, I couldn't figure out wtf was preventing me from posting (but I found this site is very picky about DOTS)

PyTivo freaking Rocks. I actually did my research before I bought my Tivo and this was the main reason why I got it (well either this or tivo d o t net)! I can't wait to get the video podcast setup with py and Doppler. 

PyTivo puts Tivo Desktop to shame. If PyTivo could pull shows from the tivo like tivo desktop I would get rid of desktop entirely!

I would love to donate to the cause, either programming skills or go ole' hard duckets but didn't see a way to do that on the offical site. 

NE WAY I am a very happy camper

--==digi==--


----------



## windracer

digititus said:


> If PyTivo could pull shows from the tivo like tivo desktop I would get rid of desktop entirely!


Since you're new to TiVo, you might not know that you don't necessarily need TiVo Desktop to pull recordings off of the DVR. Point your browser to https://{your TiVo IP} and when prompted use a username of 'tivo' and your MAK as the password. Granted, you can't queue up a bunch of transfers using this method, but it works. You might also want to check out Galleon if you're looking to dump TiVo Desktop.


----------



## grpsf

I have a couple of movies that I'm trying to get to my pc with pytivo. All looks good till the end. It appears that the whole file transfers, but it seems to not end, the download seems to be "stuck" and doesn't finish. Other files work just fine. Any ideas 

(sorry if this has been covered already)


----------



## jodeca

I am using pyTivo-subfolders-8.3 and I am still unable to view subfolders (This Group is empty is displayed). I looked at the python.exe display and it states "The system cannot find the file specified: then the path. At the end of the path, no matter what folder I look into, I see \test/*.* . Is there a workaround for this?


----------



## sc123

jodeca said:


> I am using pyTivo-subfolders-8.3 and I am still unable to view subfolders (This Group is empty is displayed). I looked at the python.exe display and it states "The system cannot find the file specified: then the path. At the end of the path, no matter what folder I look into, I see \test/*.* . Is there a workaround for this?


A bunch of us are asking the same question jodeca - no answer yet...


----------



## digititus

windracer said:


> Since you're new to TiVo, you might not know that you don't necessarily need TiVo Desktop to pull recordings off of the DVR. Point your browser to hxxp://{your TiVo IP} and when prompted use a username of 'tivo' and your MAK as the password. Granted, you can't queue up a bunch of transfers using this method, but it works. You might also want to check out Galleon if you're looking to dump TiVo Desktop.


I am using a 649. I put in hxxp://{my tivo's ip} and I did not get prompted. All I got was a welcome screen:
Congratulations! 
Youve successfully connected your TiVo® box to your home network, enabling a number of exciting new Home Media features:

that's all. Am I missing something? Also I am now getting the subfolders issue. yuck!


----------



## epsilondelta

I've been using the url https://192.168.0.103/nowplaying/index.html to display the Now Playing list on PC & transfer shows.

Of course, use your own actual IP and the credentials as windracer said.

I think I saw this in the "Webserver on Tivo" thread somewhere; apologies for not remembering/tracking down who discovered it...


----------



## windracer

digititus said:


> I am using a 649. I put in hxxp://{my tivo's ip} and I did not get prompted.


Whoops ... typo. It's http*s*.


----------



## dizziness

I had been having problems getting pyTivo up and running, all related to FFMPEG. After much wrangling I discovered XCode Tools 2.4.0 will not compile ffmpeg properly and FFMPEG needed some optional strings to recognize my AVIs. Check the changes on armoo's MacOSX Install page.

Good luck! Working now on my old-and-busted 17" 1.83 iMac.


----------



## digititus

windracer said:


> Whoops ... typo. It's hxxp*s*.


sweet! thnx bro.


----------



## dizziness

Any of you dual-processor or dual-core users having issues with FFMPEG addressing both cores? It appears that FFMPEG is not multi-threaded. Perhaps transcode.py could be adapted for Handbrake CLI?

On a second note, looking right now at the Activity Monitor, Python is taking 90% of the CPU and FFMPEG 40%. Something is screwy there methinks. Why would the python script be occupying so much CPU resources?

Mac users, any ideas?


----------



## inthewoods

dizziness said:


> Any of you dual-processor or dual-core users having issues with FFMPEG addressing both cores? It appears that FFMPEG is not multi-threaded. Perhaps transcode.py could be adapted for Handbrake CLI?
> 
> On a second note, looking right now at the Activity Monitor, Python is taking 90% of the CPU and FFMPEG 40%. Something is screwy there methinks. Why would the python script be occupying so much CPU resources?
> 
> Mac users, any ideas?


You need to add a threading parameter to FFMPEG to make it use multiple cores (edit transcode.py). Apparently there are bugs in FFMPEG because when I experimented a while ago with that the resulting file tended to be corrupt.


----------



## BigT4187

Here is a question I hope someone can answer for me. 

I am thinking about ripping some of the DVDs I have to MPEG2 format and keeping them on the server. From what I understand since MPEG2 is the "native" format for TiVo, then the pyTivo server won't have to transcode the MPEG2 video. Would the server just stream the MPEG2 file to the server?


----------



## cyclone

Dizziness, I am unable to make PyTivo work on a Mac Pro due to a Python error (see this post for details). Did you do anything special to make things work? Where did you get your Python installation from?


----------



## dlfl

BigT4187 said:


> Here is a question I hope someone can answer for me.
> 
> I am thinking about ripping some of the DVDs I have to MPEG2 format and keeping them on the server. From what I understand since MPEG2 is the "native" format for TiVo, then the pyTivo server won't have to transcode the MPEG2 video. Would the server just stream the MPEG2 file to the server?


If the frame rate is 29.97 and the frame size is one of the following "supported" combinations, it will stream.
Otherwise it will transcode. Either way you're OK.

Supported frame sizes:
[[720, 480], [704, 480], [544, 480], [480, 480], [352, 480]]

If you have VideoReDo or MediaInfo (free) you can find out what these parameters are.


----------



## blah238

Posting until I have 5 posts...


----------



## blah238

5...


----------



## blah238

Hi all I am pretty new to PyTivo, but I've used Tivo.Net in the past. I managed to get PyTivo up and running and was able to stream videos and play them back on the Tivo, but I am experiencing a few issues:

First, my widescreen videos are being letterboxed on the top and bottom as if PyTivo thought I had a 4:3 screen. This leads to them being vertically squashed. I have a 16:9 HDTV and a Series2 DVR with a SN starting in 540. It's currently hooked up to the TV via composite but I could switch to S-Video if needed. I have the flag aspect169 = true and the Tivo is set to output at 16:9 as well. Videos that I transferred earlier with Tivo.Net and the 16:9 flag set look fine and fill the 16:9 screen with no distortion or stretching.

The second issue is that I am getting an "unknown error" when trying to display the "MusicVideos" share (which has no subfolders). It contains a couple dozen .mpg videos but on the Tivo it just says it could not display the folder because of an unknown error.

Finally, and I'm not sure how this is happening since I have the latest version... I am still getting the subfolder issue on the "TV" share, which has about a dozen subfolders with several videos in each. If I go into one folder it works fine and I can play any video in that sub-folder. But if I then back out and go to another sub-folder, only the videos from the first sub-folder I accessed are listed.

I'm running the Windows version of pyTivo (v. 201) with the latest versions of Python 2.5.1 and pywin32 2.10. I have been able to run it as a service successfully but until its working properly I've removed the service and now run the script from a command prompt instead.

Here is my pyTivo.conf:



Code:


[TV]
type = video
path = f:\shared\TV

[MusicVideos]
type = video
path = F:\Shared\Music Videos

[Server]
ffmpeg = c:\Utilities\pyTivo\plugins\video\ffmpeg_mp2.exe
video_br = 2Mi
port = 9032
beacon = 192.168.1.255
aspect169 = true
audio_br = 128K

Here's the MediaInfo summary for a couple different widescreen clips:


Code:


General #0
Complete name        : F:\Shared\TV\test\test1.avi
Format               : AVI
Format/Info          : Audio Video Interleave
Format/Family        : RIFF
File size            : 350 MiB
PlayTime             : 45mn 36s
Bit rate             : 1066 Kbps
Writing application  : VirtualDubMod 1.5.10.2 (build 2542/release)
Writing library      : VirtualDubMod build 2542/release

Video #0
Codec                : XviD
Codec/Family         : MPEG-4
Codec/Info           : XviD project
Codec settings/Packe : Yes
Codec settings/BVOP  : Yes
Codec settings/QPel  : No
Codec settings/GMC   : 0
Codec settings/Matri : Default
PlayTime             : 45mn 36s
Bit rate             : 942 Kbps
Width                : 640 pixels
Height               : 352 pixels
Aspect ratio         : 16/9
Frame rate           : 25.000 fps
Resolution           : 8 bits
Chroma               : 4:2:0
Interlacement        : Progressive
Bits/(Pixel*Frame)   : 0.167
Writing library      : XviD0043

Audio #0
Codec                : MPEG-1 Audio layer 3
Codec profile        : Joint stereo
PlayTime             : 45mn 36s
Bit rate             : 111 Kbps
Bit rate mode        : VBR
Channel(s)           : 2 channels
Sampling rate        : 48 KHz
Resolution           : 16 bits
Writing library      : Lame (old) or m3e




Code:


General #0
Complete name        : F:\Shared\TV\test\test2.avi
Format               : AVI
Format/Info          : Audio Video Interleave
Format/Family        : RIFF
File size            : 1.46 GiB
PlayTime             : 2h 51mn
Bit rate             : 1207 Kbps
Writing application  : VirtualDubMod 1.5.10.2 (build 2542/release)
Writing library      : VirtualDubMod build 2542/release

Video #0
Codec                : DivX 5
Codec/Family         : MPEG-4
Codec settings/Packe : No
Codec settings/BVOP  : Yes
Codec settings/QPel  : No
Codec settings/GMC   : 0
Codec settings/Matri : Default
PlayTime             : 2h 51mn
Bit rate             : 1082 Kbps
Width                : 640 pixels
Height               : 352 pixels
Aspect ratio         : 16/9
Frame rate           : 25.000 fps
Resolution           : 8 bits
Chroma               : 4:2:0
Interlacement        : Progressive
Bits/(Pixel*Frame)   : 0.192
Writing library      : XviD0046

Audio #0
Codec                : MPEG-1 Audio layer 3
Codec profile        : Joint stereo
PlayTime             : 2h 51mn
Bit rate             : 112 Kbps
Bit rate mode        : CBR
Channel(s)           : 2 channels
Sampling rate        : 48 KHz
Resolution           : 16 bits
Writing library      : Xing (old)

And here's one from the MusicVideos share that had the "unknown error" issue:


Code:


General #0
Complete name        : F:\Shared\Music Videos\test.mpg
Format               : MPEG-2 Program
Format/Family        : MPEG-2
File size            : 234 MiB
PlayTime             : 4mn 20s
Bit rate             : 7553 Kbps

Video #0
Codec                : MPEG-2 Video
Codec profile        : [email protected]
Codec settings/Matri : Custom
PlayTime             : 4mn 19s
Bit rate             : 8500 Kbps
Bit rate mode        : CBR
Width                : 720 pixels
Height               : 480 pixels
Aspect ratio         : 4/3
Frame rate           : 29.970 fps
Standard             : NTSC
Chroma               : 4:2:0
Interlacement        : Top Field First
Bits/(Pixel*Frame)   : 0.821

Audio #0
Codec                : AC3
Codec profile        : Dolby Digital
PlayTime             : 4mn 20s
Bit rate             : 256 Kbps
Bit rate mode        : CBR
Channel(s)           : 2 channels
Channel positions    : L R
Sampling rate        : 48 KHz
Video0 delay         : -60ms


----------



## blah238

bump


----------



## joejoethedog

jodeca said:


> I am using pyTivo-subfolders-8.3 and I am still unable to view subfolders (This Group is empty is displayed). I looked at the python.exe display and it states "The system cannot find the file specified: then the path. At the end of the path, no matter what folder I look into, I see \test/*.* . Is there a workaround for this?


Armoo,

I'm willing to help out with this issue as much as possible. Can you post any info on how far you've gotten on tracking down the problem? (and then I can go from there) Or does the wiki note pretty much say it all?

Thanks!! This is an awesome bit of code. I've got my MythTV all set up so I can 
automatically watch my Myth recordings on the Tivo; just looking to get this last little issue resolved before my Tivo subscription runs out, and I have to use my Myth machine for all scheduled recordings


----------



## windracer

joejoethedog said:


> just looking to get this last little issue resolved before my Tivo subscription runs out, and I have to use my Myth machine for all scheduled recordings


Not sure what you're planning, but when your TiVo subscription expires you won't be able to use pyTiVo to transfer videos to it anymore (unless I'm missing something here).


----------



## BigT4187

windracer said:


> Not sure what you're planning, but when your TiVo subscription expires you won't be able to use pyTiVo to transfer videos to it anymore (unless I'm missing something here).


I was under the same impression as windracer.


----------



## mheadroom

will pytivo work with a directivo w/ superpatch?


----------



## BigT4187

According to this post by TiVoPony, there are plans to enable TTG on the Series 3 and TiVoHD in November. Does this mean that pyTiVo will work on those units when that feature is enabled?


----------



## gonzotek

BigT4187 said:


> According to this post by TiVoPony, there are plans to enable TTG on the Series 3 and TiVoHD in November. Does this mean that pyTiVo will work on those units when that feature is enabled?


Assuming TiVo hasn't changed the protocol or file formats, SD content should transfer and playback fine. HD content is a bit of an unknown, some testing was done when another member's S3 mysteriously had TTG activated for a few days. Based on those tests, it is possible, but there were a few odd results that would have to be further investigated, and pyTiVo will likely need some degree of updating before it's *fully* compatible.


----------



## mattorama

Has anyone been able to get pyTivo to run at startup on ubuntu?
The script that is on the pyTivo armoo site doesn't work for me or else I failed to do something. 

Any help is greatly appreciated!

-Matt


----------



## windracer

That init script from the wiki works for me on Mandrake. Are you getting any errors in your boot log when it tries to start? Did you change the cd line to reflect where you've got pyTiVo installed?


----------



## mattorama

I did change the cd line to point to my pyTivo.

I'm a bit of a linux newbie, so I don't know how to check the boot log.

Here's my startup file:



Code:


### INIT INFO
# Provides: pytivo
# Required-Start: $network
# Required-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-description: pyTivo server
# Description: Start and stop the pyTivo server.
### END INIT INFO

RETVAL=0

cd /etc/pyTivo

start() {
echo -n "Starting pyTivo: "
pgrep -f pyTivo.py
RETVAL=$?
[ $RETVAL -eq 0 ] && echo "pyTivo already running: Exiting" && exit 1

python2.5 /etc/pyTivo/pyTivo.py > /dev/null 2>&1 &
#python2.5 /etc/pyTivo/pyTivo.py
RETVAL=$?
[ $RETVAL -eq 0 ] && echo -n "done"
echo
return $RETVAL
}

stop() {
echo -n "Stopping pyTivo: "
pkill -f pyTivo.py
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && echo -n "done"
echo
return $RETVAL
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
sleep 1
start
RETVAL=$?
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $RETVAL

I copied this into /etc/inet.d and made it executable.

I then used sysv-rc-conf and set it up at runlevels 2,3,4,5

If I reboot and then login and run "ps -ax" I don't see it running.

If I run it manually it works and I can see it in "ps -ax".

If you can tell me how to check the boot log, I might be able to figure out what is actually going on.

Thanks!

-Matt


----------



## windracer

You can try the 'dmesg' command, which should list your last boot messages. If that doesn't work, look under /var/log and do an 'ls -lt' to list files by last modified date in descending order, you should see a file called messages. I'm using Mandrake, but this should be pretty much the same.

The only other difference I see in my init script is the line to actually call pyTivo.py. Mine just looks like this:


Code:


/usr/share/TiVo/pyTivo/pyTivo.py > /dev/null 2>&1 &p

I don't have the actual python executable in front there.


----------



## mattorama

Hmm... this is a pickle. 

I changed my script to look like yours.

Still not working.


I grep'd both dmesg and message and found nothing.

When you set up your script to run at startup, how did you do it?

Maybe I screwed that up.

Thanks,

Matt


----------



## windracer

mattorama said:


> When you set up your script to run at startup, how did you do it?


I've got symbolic links to the script (which is under /etc/init.d) under the various runlevel directories:

./init.d/pytivo
./rc0.d/K03pytivo
./rc2.d/S98pytivo
./rc3.d/S98pytivo
./rc5.d/S98pytivo
./rc6.d/K03pytivo


----------



## mattorama

Good news!

I did a ton of googling looking at the way you configure scripts to run at startup, and I couldn't make this work in ubuntu.

At least not using the normal update-rc.d approach that is spelled out all over the web.

What did finally work was editing /etc/init.d/bootmisc.sh and adding the call to pyTivo to it:



Code:


python2.5 /etc/pyTivo/pyTivo.py > /dev/null 2>&1 &

Works like a champ.

Not sure why the other didn't work, but I'm satisfied with this solution.

Thanks for your help!

-Matt


----------



## Deadpan Science

Is there a way to make pytivo choose a particular subtitle track when transcoding .mkv files?


----------



## Tobashadow

The by far easiest is to combine the one you want to the video file.

Here's a freebie tool.

http://www.free-codecs.com/download/Subtitle_Workshop.htm


----------



## mrgreen4242

Great software - works like a charm on my new iMac; took a bit to get it all up and running, but it's extremely effective. I have one feature request/suggestion, though. It would be "neat" if there was a way to select a quality level when you pick the file on the TiVo. If you could store two sets of config settings in the config file, one for a low qual and one for high and then choose which profile you were going to use to transcode and stream that file at the time you select it from the TiVo it would be helpful for a couple groups of people...

First, those with slower computers might want the option to get something to he TiVo with a profile that transcodes in realtime for them, while also easily having the option to "sync" a movie to the TiVo in slower than realtime for later viewing in high quality. Secondly, the same situation may apply to someone who connects to their TiVo wirelessly and so are limited in how much data they can move to the TiVo in realtime.

I was thinking that maybe presenting the choice to the TiVo as if it was a choice between folders. Both would lead to the same place on the host computer, but would simply set a flag for the script to use one of two (or more, I suppose) transcode profiles.

I'd implement this myself, but I don't know Python so it'd be a bit up hill for me... hoping it's easy for someone who already knows the language and the script. If not I'll try to set aside some time to learn Python (looks easy enough) and do it... either way, it's a fantastic piece of work, thank you for offering it up as open source!


----------



## windracer

I wonder if you could achieve something like you are describing by running two separate pyTiVo processes: each with a different config file with the two different quality settings, but pointing at the same videos folder. Then you'd have two entries in your NPL (low quality pyTiVo, high quality pyTiVo).

Obviously this might put a larger load on the server and not be necessarily intuitive on the TiVo interface side, but it might work without any coding changes.


----------



## bilbrelb

Does pytivo support MPG files (mpeg2)? I can see .Tivo files just fine on my server but it doesn't any of my mpg-2 files in the play list. I looked around and couldn't find answer. I've read where it says "tivo compatible mpeg-2". What does that mean?

I assume ffmpeg has to be able to decode it and it should worK?

Thanks


----------



## mrgreen4242

windracer said:


> I wonder if you could achieve something like you are describing by running two separate pyTiVo processes: each with a different config file with the two different quality settings, but pointing at the same videos folder. Then you'd have two entries in your NPL (low quality pyTiVo, high quality pyTiVo).
> 
> Obviously this might put a larger load on the server and not be necessarily intuitive on the TiVo interface side, but it might work without any coding changes.


That's a really great idea. The PyTivo script itself uses almost no resources when it's not in use and since when it would only be used while you're actively transferring a video there wouldn't be much of an issue. I'll have to try it out.

Thanks for the suggestion!


----------



## johnkfisher

Does anyone know if this works with the new 9.1 software?


----------



## qwik3r

Can someone please tell me what to unblock so that the windows firewall will allow pytivo?


----------



## hardax

Trying to get pyTivo running on Mac OS X without much success I'm afraid and was wondering if anyone had any ideas.

Using the most recent python (2.5.1) and ffmpeg from the Trac instructions site.

I have used pyTivo on a PC in the past so I am pretty sure I have my config file set up properly.

Tried this on two different Macs. On my G4 tower every time I run the command "python pytivo.py" I get an error in the Terminal window stating "AttributeError = keys".

On my Mac Pro (Intel), I seem to be able to get pyTivo running (no errors in the terminal window - typing 127.0 etc in a browser window returns the "this is a pyTivo server" message). But when putting a video in the hot folder nothing show's up on my Tivo.

Note really sure how or where to start trouble shooting.


----------



## windracer

qwik3r said:


> Can someone please tell me what to unblock so that the windows firewall will allow pytivo?


The default is 9032. Check your pyTivo.conf file, you can change this under the [server] section.


----------



## BigT4187

johnkfisher said:


> Does anyone know if this works with the new 9.1 software?


Has anyone had a chance to try pyTivo with 9.1 software?


----------



## Chew

BigT4187 said:


> Has anyone had a chance to try pyTivo with 9.1 software?


I have the 9.1 software.

Two different vodcasts I transfered over today (which have both worked fine in the past) resulted in a black screen, but fine audio.

So, I'm guessing an update might be needed.


----------



## BeeEff

johnkfisher said:


> Does anyone know if this works with the new 9.1 software?


Seems to be working for me OK, but it certainly made Tivo cranky for a bit. I was pretty surprised at how fast the new update was making Tivo react, with pretty much no delay between hitting a button and the machine executing the command.

The first few minutes of transferring a video after the update made me think the tivo was going to freeze, or crash. Became unresponsive for ten to 15 seconds at a time when trying to do anything at all during the transfer. (I was watching live tv, and couldn't ff or rewind, go to Now Playing...) Problem disappeared after a few minutes, and the transfer went on as usual.

Overall, not the smoothest software interaction, but it got the job done for me.

Software version 9.1.01-2-590


----------



## ZICRON

Chew said:


> I have the 9.1 software.
> 
> Two different vodcasts I transfered over today (which have both worked fine in the past) resulted in a black screen, but fine audio.
> 
> So, I'm guessing an update might be needed.


So, tytivo is not working for you, but tivo.net is?

What bit rate are you using with the tivo.net.

The bitrate I was using that is not working is 9000.


----------



## Chew

ZICRON said:


> So, tytivo is not working for you, but tivo.net is?
> 
> What bit rate are you using with the tivo.net.
> 
> The bitrate I was using that is not working is 9000.


I have never used TiVo.net and didn't say I had or that it worked?


----------



## windracer

My S2 just rebooted into 9.1 tonight. I tested two separate transfers with pyTiVo and had no problems (audio was present and in-sync).


----------



## Chew

windracer said:


> My S2 just rebooted into 9.1 tonight. I tested two separate transfers with pyTiVo and had no problems (audio was present and in-sync).


I see from the TiVo.net thread, this could possibly be because of the bitrate. With 9.1 laying the groundwork for the S3 and TTG, I guess that makes sense.

What do you have your bitrate set to? Mine is whatever it defaults to.

_Edit_: If I did it correctly, I updated my .conf file to 8mb. It still doesn't work.

The only line I added was video_br, is this correct?



> [Server]
> guid = {FFF037AE-7B5F-453C-AE01-C6A3C311D14D}
> ffmpeg = C:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
> video_br = 8Mi
> width = 544
> port = 9032


----------



## ocntscha

windracer said:


> My S2 just rebooted into 9.1 tonight. I tested two separate transfers with pyTiVo and had no problems (audio was present and in-sync).


Ok, but now for the big question. Did Tivo finally fix things so that navigating up and down in the directory structure served out from pytivo works properly? Remember, 8.1a has the little glitch where sometimes you have to go into and out of deleted items (or some similiar trick) to get back to the root Now Playing menu. Then 8.3 came out and apparently navigating in and out of folders served from pytivo got really messy because of bugs in version 8.3. http://pytivo.armooo.net/wiki/8.3Software

KRkeegan struggled mightily and came up with a version of pytivo that mostly worked around the bugs, but there was only so much he could do trying to remedy the situation from the server side (pytivo) when the real bugs are in the client side (8.3 software).

Way back when 8.3 came out KRkeegan had contacted Tivo about the bugs in the 8.3 software with folder navigation. Hopefully those navigation bugs have been fixed in the new 9.1 software. Anyone know?


----------



## windracer

I don't think I've ever changed the bitrate. My video_br line is commented out, so I'm using the default.


----------



## Chew

What else could it be that pyTiVo works for some and not for others after the update?


----------



## Stu_Bee

pyTivo is still working for me on 9.1. (Default bitrate)

However, if I watch the video via "Watch Now" (rather than reselecting the transferred show in the Now playing list)......when it gets to the end of the show (delete/keep option appears) my Tivo reboots.


----------



## MacBrian

Chew said:


> I have the 9.1 software.
> 
> Two different vodcasts I transfered over today (which have both worked fine in the past) resulted in a black video screen, but the audio was present and OK.
> 
> So, I'm guessing an update might be needed.


 
Ditto. My Humax DRT-800 received the Fall 2007 update and now none of the video podcasts I've transferred successfully in the past have a video signal. Audio is there and is fine, but the video is black.

I wonder if the Humax and/or the other DVD Tivos are affected while a regular Series2 isn't?

I've never adjusted the bitrate. Anyone?

--Brian


----------



## Chew

TivoBrian said:


> Ditto. My Humax DRT-800 received the Fall 2007 update and now none of the video podcasts I've transferred successfully in the past have a video signal. Audio is there and is fine, but the video is black.
> 
> I wonder if the Humax and/or the other DVD Tivos are affected while a regular Series2 isn't?
> 
> I've never adjusted the bitrate. Anyone?
> 
> --Brian


You might have something there. I also have a DVD TiVo (it's a Toshiba).


----------



## Chew

Another update: This morning I transfered WebbAlert, Ask a Ninja, and Geekbrief.

WebbAlert and Ask a Ninja worked, Geekbrief did not.

*Knowing this, it appears 4x3 content is working for me and 16x9 is not.*


----------



## windracer

Chew said:


> You might have something there. I also have a DVD TiVo (it's a Toshiba).


I haven't tried on my TX20 yet since it doesn't have 9.1.

My only other difference is I'm running pyTivo on Linux.


----------



## jessenj

TivoBrian said:


> Ditto. My Humax DRT-800 received the Fall 2007 update and now none of the video podcasts I've transferred successfully in the past have a video signal. Audio is there and is fine, but the video is black.
> 
> I wonder if the Humax and/or the other DVD Tivos are affected while a regular Series2 isn't?
> 
> I've never adjusted the bitrate. Anyone?
> 
> --Brian


I'm in the same boat but with an S2. I have the video playing the sound just fine but the picture is missing, so I think that S2's are also broken too. BTW - I'm transcoding at 1000kbps with 128k audio.


----------



## MT-Hand

hardax said:


> Trying to get pyTivo running on Mac OS X without much success I'm afraid and was wondering if anyone had any ideas.
> 
> Using the most recent python (2.5.1) and ffmpeg from the Trac instructions site.
> 
> Note really sure how or where to start trouble shooting.


I've been trying off and on to get pyTivo working on my Mac since March, and still haven't gotten there yet. I've updated to Python 2.5.1, Downloaded [email protected]'s compile of ffmpeg for Mac OSX from the pyTivo Wiki site, and "attempted" to use the "roll-your-own with MacPorts" method (no luck there).

Like many others I get the "containers" to show up on the Tivo's NPL, but no list of files -- just the message that the list of files cannot be shown due to an "unknown error".

Here's what I get in the Terminal window:


Code:


Last login: Sat Oct  6 20:25:36 on ttyp2
cd /Volumes/BigDog/Users/mtmiles/Downloads/-\ Media\ Tools/MissingMediaBurner.app/Contents/Resources/bin
./cdrecord -checkdrive dev=IOCompactDiscServices/2 ; ./cdrecord -prcap dev=IOCompactDiscServices/2
Welcome to Darwin!
[miMac:~] mtmiles% cd /Volumes/BigDog/Users/mtmiles/Downloads/-\ Media\ Tools/MissingMediaBurner.app/Contents/Resources/bin
tcsh: /Volumes/BigDog/Users/mtmiles/Downloads/- Media Tools/MissingMediaBurner.app/Contents/Resources/bin: No such file or directory.
[miMac:~] mtmiles% ./cdrecord -checkdrive dev=IOCompactDiscServices/2 ; ./cdrecord -prcap dev=IOCompactDiscServices/2
tcsh: ./cdrecord: Command not found.
tcsh: ./cdrecord: Command not found.
[miMac:~] mtmiles% cd /Applications/pyTivo/ 
[miMac:/Applications/pyTivo] mtmiles% python pyTivo.py
/Applications/pyTivo/Cheetah/Compiler.py:1508: UserWarning: 
You don't have the C version of NameMapper installed! I'm disabling Cheetah's useStackFrames option as it is painfully slow with the Python version of NameMapper. You should get a copy of Cheetah with the compiled C version of NameMapper.
  "\nYou don't have the C version of NameMapper installed! "
192.168.2.3 - - [06/Oct/2007 20:33:38] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
544
=========================================================================
Tivo said: pyTivoDownloads || Hack said: pyTivoDownloads
192.168.2.3 - - [06/Oct/2007 20:33:41] "GET /TiVoConnect?Command=QueryContainer&Container=pyTivoDownloads&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
----------------------------------------
Exception happened during processing of request from ('192.168.2.3', 2988)
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/SocketServer.py", line 464, in process_request_thread
    self.finish_request(request, client_address)
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/SocketServer.py", line 254, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/SocketServer.py", line 522, in __init__
    self.handle()
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/BaseHTTPServer.py", line 316, in handle
    self.handle_one_request()
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/BaseHTTPServer.py", line 310, in handle_one_request
    method()
  File "/Applications/pyTivo/httpserver.py", line 78, in do_GET
    method(self, query)
  File "/Applications/pyTivo/plugins/video/video.py", line 264, in QueryContainer
    t.files, t.total, t.start = self.get_files(handler, query, VideoFileFilter)
  File "/Applications/pyTivo/plugin.py", line 52, in get_files
    files = filter(filterFunction, files)
  File "/Applications/pyTivo/plugins/video/video.py", line 258, in VideoFileFilter
    return transcode.suported_format(full_path)
  File "/Applications/pyTivo/plugins/video/transcode.py", line 295, in suported_format
    if video_info(inFile)[0]:
  File "/Applications/pyTivo/plugins/video/transcode.py", line 225, in video_info
    ffmpeg = subprocess.Popen(cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE, stdin=subprocess.PIPE)
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/subprocess.py", line 593, in __init__
    errread, errwrite)
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/subprocess.py", line 1079, in _execute_child
    raise child_exception
OSError: [Errno 8] Exec format error
----------------------------------------
192.168.2.3 - - [06/Oct/2007 20:33:47] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
192.168.2.3 - - [06/Oct/2007 20:33:54] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -

And this is what the "Debug.txt" log contains:


Code:


Video.py -  Hack83 is enabled.
Video.py -  Hack new request ------------------------ 
Video.py -  Hack TiVo request is: 
 {'Container': ['pyTivoDownloads'], 'Command': ['QueryContainer']} 
Video.py -  Hack this was not a TiVo request. 
Video.py -  Hack83 is enabled.
Video.py -  Hack new request ------------------------ 
Video.py -  Hack TiVo request is: 
 {'Filter': ['x-tivo-container/tivo-videos,x-tivo-container/folder,video/x-tivo-mpeg,video/*'], 'Container': ['pyTivoDownloads'], 'ItemCount': ['8'], 'Command': ['QueryContainer'], 'SortOrder': ['!CaptureDate']} 
Video.py -  New TSN. 
Video.py -  Hack our saved request is: 
 {'Filter': ['x-tivo-container/tivo-videos,x-tivo-container/folder,video/x-tivo-mpeg,video/*'], 'Container': ['pyTivoDownloads'], 'ItemCount': ['8'], 'Command': ['QueryContainer'], 'SortOrder': ['!CaptureDate']} 
Video.py -  Hack we are at the root. Saving query, Clearing state[page]. 
Video.py -  Hack Tivo said:  pyTivoDownloads  || Hack said:  pyTivoDownloads 
Video.py -  Hack83 is enabled.
Video.py -  Hack new request ------------------------ 
Video.py -  Hack TiVo request is: 
 {'Filter': ['x-tivo-container/tivo-videos,x-tivo-container/folder,video/x-tivo-mpeg,video/*'], 'Container': ['pyTivoDownloads'], 'ItemCount': ['8'], 'Command': ['QueryContainer'], 'SortOrder': ['!CaptureDate']} 
Video.py -  New TSN. 
Video.py -  Hack our saved request is: 
 {'Filter': ['x-tivo-container/tivo-videos,x-tivo-container/folder,video/x-tivo-mpeg,video/*'], 'Container': ['pyTivoDownloads'], 'ItemCount': ['8'], 'Command': ['QueryContainer'], 'SortOrder': ['!CaptureDate']} 
Video.py -  Hack we are at the root. Saving query, Clearing state[page]. 
Video.py -  Hack Tivo said:  pyTivoDownloads  || Hack said:  pyTivoDownloads 
Video.py -  Hack83 is enabled.
Video.py -  Hack new request ------------------------ 
Video.py -  Hack TiVo request is: 
 {'Filter': ['x-tivo-container/tivo-videos,x-tivo-container/folder,video/x-tivo-mpeg,video/*'], 'Container': ['pyTivoDownloads'], 'ItemCount': ['8'], 'Command': ['QueryContainer'], 'SortOrder': ['!CaptureDate']} 
Video.py -  New TSN. 
Video.py -  Hack our saved request is: 
 {'Filter': ['x-tivo-container/tivo-videos,x-tivo-container/folder,video/x-tivo-mpeg,video/*'], 'Container': ['pyTivoDownloads'], 'ItemCount': ['8'], 'Command': ['QueryContainer'], 'SortOrder': ['!CaptureDate']} 
Video.py -  Hack we are at the root. Saving query, Clearing state[page]. 
Video.py -  Hack Tivo said:  pyTivoDownloads  || Hack said:  pyTivoDownloads

If anybody has a suggestion where to look next, I'd appreciate it.

Todd


----------



## cyclone

jessenj said:


> I'm in the same boat but with an S2. I have the video playing the sound just fine but the picture is missing, so I think that S2's are also broken too. BTW - I'm transcoding at 1000kbps with 128k audio.


From perusing other threads it appears the problem is with 16:9 video. I was getting black screen on my 540 S2, when I changed Tivo dot net to do 4:3 instead of 16:9 I got video (though now letter- and pillar-boxed, since it was originally 16:9 video being transcoded to 4:3).

I've not seen a full solution yet, but updating your .conf to not use 16:9 might work for the time being.


----------



## buffalova

> I'm in the same boat but with an S2. I have the video playing the sound just fine but the picture is missing, so I think that S2's are also broken too.


For the record I have 2 S2's and pytivo seems to be tranferring fine. Actually a little better. It now shows the length of the transfer before you start which never appeared before. FYI I have aspect169 = false if this helps.


----------



## cyclone

buffalova said:


> For the record I have 2 S2's and pytivo seems to be tranferring fine. Actually a little better. It now shows the length of the transfer before you start which never appeared before. FYI I have aspect169 = false if this helps.


Setting aspect169 to false means you're encoding as 4:3, which is working for all of us. It's the 16:9 which seems to have been broken by 9.1...


----------



## greg_burns

cyclone said:


> Setting aspect169 to false means you're encoding as 4:3, which is working for all of us. It's the 16:9 which seems to have been broken by 9.1...


In the Tivo.Net thread I posted about problems I am having. It is 4:3 content. Works on 240, but not my 540. Audio, but no video.

http://www.tivocommunity.com/tivo-vb/showthread.php?p=5572421&&#post5572421

Is 4:3 working for everyone else with 540s, and just not me?

Edit: My bad. I thought I had set Tivo.Net to 4:3. Apparently it didn't stick. Tried again with same video and 4:3, plays fine with audio/video on my 540.

There may still be an issue with 16:9 though as pointed out by others.


----------



## windracer

windracer said:


> I haven't tried on my TX20 yet since it doesn't have 9.1.


Ok, my TX20 got 9.1 last night ... and sure enough, when I did a test transfer with pyTivo I got audio but no video.


----------



## cavanaug

I am experiencing some reboots on my Series2 Tivo (540) right after I initiate transcoding/transferring 16x9 Xvid via pytivo. Im running the 9.1 tivo version.

Whats really wierd is that after it reboots it happily downloads the video and it plays perfectly.

Im using the pytivo subfolders variant. Is anyone else seeing this problem??

Here is a snippet of the logs.

Video.py - Hack new request ------------------------
Video.py - Hack TiVo request is:
{'Container': ['Ubuntu - Video/Heroes'], 'AnchorOffset': ['-1'], 'Filter': ['x-tivo-container/tivo-videos,x-tivo-container/folder,video/x-tivo-mpeg,video/*'], 'Command': ['QueryContainer'], 'SortOrder': ['!CaptureDate'], 'AnchorItem': ['/Ubuntu%20-%20Video/Heroes/Heroes%20S01E20.avi'], 'ItemCount': ['1']}
Video.py - Hack queryAnchor: Ubuntu - Video/Heroes/Heroes S01E20.avi leftAnchor: Ubuntu - Video/Heroes rightAnchor: Heroes S01E20.avi
Video.py - Hack our saved request is:
{'Filter': ['x-tivo-container/tivo-videos,x-tivo-container/folder,video/x-tivo-mpeg,video/*'], 'Container': ['Ubuntu - Video/Heroes'], 'ItemCount': ['8'], 'Command': ['QueryContainer'], 'SortOrder': ['!CaptureDate']}
Video.py - Hack requested a file
Video.py - Hack Tivo said: Ubuntu - Video/Heroes || Hack said: Ubuntu - Video/Heroes
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E12.avi cache hit!
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E13.avi cache hit!
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E14.avi cache hit!
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E15.avi cache hit!
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E16.avi cache hit!
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E17.avi cache hit!
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E18.avi cache hit!
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E19.avi cache hit!
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E20.avi cache hit!
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E21.avi cache hit!
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E22.avi cache hit!
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E23.avi cache hit!
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E20.avi cache hit!
Transcode.py - tivo_compatible: /archive/Video/Heroes/Heroes S01E20.avi is not mpeg2video it is mpeg4
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E20.avi cache hit!
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E20.avi cache hit!
Video.py - Hack new request ------------------------
Video.py - Hack TiVo request is:
{'Container': ['Ubuntu - Video/Heroes'], 'AnchorOffset': ['-5'], 'Filter': ['x-tivo-container/tivo-videos,x-tivo-container/folder,video/x-tivo-mpeg,video/*'], 'Command': ['QueryContainer'], 'SortOrder': ['!CaptureDate'], 'AnchorItem': ['/Ubuntu%20-%20Video/Heroes/Heroes%20S01E20.avi'], 'ItemCount': ['8']}
Video.py - Hack queryAnchor: Ubuntu - Video/Heroes/Heroes S01E20.avi leftAnchor: Ubuntu - Video/Heroes rightAnchor: Heroes S01E20.avi
Video.py - Hack our saved request is:
{'Filter': ['x-tivo-container/tivo-videos,x-tivo-container/folder,video/x-tivo-mpeg,video/*'], 'Container': ['Ubuntu - Video/Heroes'], 'ItemCount': ['8'], 'Command': ['QueryContainer'], 'SortOrder': ['!CaptureDate']}
Video.py - Hack maybe erroneous request, sleeping.
Video.py - Hack Anchor offset was in query. leftAnchor needs to match Ubuntu - Video/Heroes
Video.py - Hack leftAnchor matched.
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E12.avi cache hit!
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E13.avi cache hit!
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E14.avi cache hit!
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E15.avi cache hit!
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E16.avi cache hit!
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E17.avi cache hit!
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E18.avi cache hit!
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E19.avi cache hit!
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E20.avi cache hit!
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E21.avi cache hit!
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E22.avi cache hit!
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E23.avi cache hit!
Video.py - Hack saved page is= Heroes S01E16.avi top returned file is= Heroes S01E16.avi
Video.py - Hack over 1 second, must be request to exit folder
Video.py - Hack Tivo said: Ubuntu - Video/Heroes || Hack said: Ubuntu - Video
Video.py - Hack sending 302 redirect page
Video.py - Hack new request ------------------------
Video.py - Hack TiVo request is:
{'AnchorItem': ['Hack8.3'], 'Container': ['Ubuntu - Video'], 'Command': ['QueryContainer']}
Video.py - Hack our saved request is:
{'Filter': ['x-tivo-container/tivo-videos,x-tivo-container/folder,video/x-tivo-mpeg,video/*'], 'Container': ['Ubuntu - Video'], 'ItemCount': ['8'], 'Command': ['QueryContainer'], 'SortOrder': ['!CaptureDate']}
Video.py - Hack we are at the root. Saving query, Clearing state[page].
Video.py - Hack Tivo said: Ubuntu - Video || Hack said: Ubuntu - Video
Transcode.py - video_info: /archive/Video/c-Dora the Explorer - The Pirate Adventure.divx cache hit!
Transcode.py - kill: killing pid= 9168
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E19.avi cache hit!
Transcode.py - tivo_compatible: /archive/Video/Heroes/Heroes S01E19.avi is not mpeg2video it is mpeg4
Transcode.py - output_video: /archive/Video/Heroes/Heroes S01E19.avi is not tivo compatible
Transcode.py - video_info: /archive/Video/Heroes/Heroes S01E19.avi cache hit!
Transcode.py - tsn: 5400001707484BF
Transcode.py - aspect169: False
Transcode.py - select_aspect: File= /archive/Video/Heroes/Heroes S01E19.avi Type= mpeg4 width= 624 height= 352 fps= 23.98 millisecs= 2548700 ratio= 177 rheight= 22 rwidth= 39
Transcode.py - select_aspect: File is wider than 4:3 padding top and bottom
-aspect 4:3 -s 544x360 -padtop 60 -padbottom 60
Transcode.py - transcode: ffmpeg command is /usr/bin/ffmpeg-i/archive/Video/Heroes/Heroes S01E19.avi-vcodecmpeg2video-r29.97-b4096K-aspect4:3-s544x360-padtop60-padbottom60-commentpyTivo.py-ac2-ab192K-ar44100-fvob-
[email protected]:/opt/pyTivo$


----------



## Sicklybutsexy

I have two main questions for pyTivo as I am new to the program.

1. Under video bitrate I changed it from 2Mi (what does that mean?) to 4062 kb/s. It seems to be working fine, I just don't know if I was supposed to do that.

2. I can't transfer over 4gb movies I had encoded with Videoredo (MPEG-2). You get a black screen with audio. Anyone else have this problem? Also, does pyTivo still try to transcode MPEG-2 files or does it know that it isn't supposed to?

maybe more than 2 questions.


----------



## cyclone

Sicklybutsexy said:


> I have two main questions for pyTivo as I am new to the program.
> 
> 1. Under video bitrate I changed it from 2Mi (what does that mean?) to 4062 kb/s. It seems to be working fine, I just don't know if I was supposed to do that.


No reason to unless you were unhappy with the 2Mb/sec encoding rate. Going to a faster rate will make it slower to transfer your file, though if you have a wired connection this probably won't make an appreciable difference.


> 2. I can't transfer over 4gb movies I had encoded with Videoredo (MPEG-2). You get a black screen with audio. Anyone else have this problem?


This is a known problem with the latest Tivo update on Series 2 540 players when playing video encoded at 16:9. The only known workaround I've seen is to encode at 4:3 (and end up with pillar-boxed / letter-boxed content).


> Also, does pyTivo still try to transcode MPEG-2 files or does it know that it isn't supposed to


I believe it will not re-transcode files already in a supported format.


----------



## Sicklybutsexy

cyclone said:


> No reason to unless you were unhappy with the 2Mb/sec encoding rate. Going to a faster rate will make it slower to transfer your file, though if you have a wired connection this probably won't make an appreciable difference.
> 
> I thought that 4092 kb/s (the default) would be better quality and that 2Mb/sec would lessen the quality. Am I totally confused?
> 
> Also, and I've seen this on other threads, It's definitely quicker than Tivo dot net for some reason.


----------



## cyclone

Sicklybutsexy said:


> I thought that 4092 kb/s (the default) would be better quality and that 2Mb/sec would lessen the quality. Am I totally confused?


You're correct, though I can't see a difference based on my viewing distance from the screen. You might try both and see if it matters, if not the lower number will save space on your Tivo (if you don't delete the file after viewing) and shorten transfer time.


----------



## ocntscha

KRKeegan, Armoo, Where are you?? Huddled in a cave somewhere with Pipakin I guess. I'm sure hoping at least one of you guys resurface and see if maybe pyTivo can be resculpted a bit to fix the audio without video issue, and maybe possibly, subfolders could be made to work entirely without issue now too?


----------



## MacBrian

I, for one, jumped ship and uninstalled pyTivo since there's been no hint of help coming from this forum. I went ahead and bought Tivo Desktop Plus and now all my favorite video casts are working again with both video and audio showing up on the Tivo.

I credit pyTivo with giving me a chance to discover how much I appreciate being able to stream iTunes-downloaded video to my Tivo...enough to justify buying the Tivo product that (hopefully) won't break when Tivo upgrades.

Goodbye, pyTivo -- maybe we'll meet again someday!


----------



## Chew

It was my impression Desktop Plus couldn't handle 16x9 content either after the recent update. Apparently, not the case?


----------



## TreborPugly

TivoBrian said:


> I, for one, jumped ship and uninstalled pyTivo since there's been no hint of help coming from this forum. I went ahead and bought Tivo Desktop Plus and now all my favorite video casts are working again with both video and audio showing up on the Tivo.
> 
> I credit pyTivo with giving me a chance to discover how much I appreciate being able to stream iTunes-downloaded video to my Tivo...enough to justify buying the Tivo product that (hopefully) won't break when Tivo upgrades.
> 
> Goodbye, pyTivo -- maybe we'll meet again someday!


Does Tivo Desktop Plus re-encode video for transfer?


----------



## buffalova

> Does Tivo Desktop Plus re-encode video for transfer?


Yes it does but it doesn't have subfolders like pytivo. Everything shows up as one list. I have both and much prefer pytivo. Same speed and quality from what I can tell.


----------



## Sicklybutsexy

I have noticed something with Pytivo and I don't know if it is just particular to me or not. It says that Pytivo is hard-encoded to give 4096 kb/s. However, I have tried changing the bit rate to 2Mi, 4Mi and 6 Mi and the bit rate doesn't change. I've even put a number sign (#) in front of the bit rate setting in the hopes that it would go to the default.

What I've found is that the Tivo thinks it is a larger file but if you send the file back to the computer you find out that the file is the same size as before and encoded @ around 2500 kb/s. Now, I'm not a quality snob by no means but I have noticed there is a difference between the quality of Tivo dot net and pyTivo. Also, this may explain why Pytivo is much faster (it's only encoding @ 2500 kb/s!).

Does anyone know if this is true and if there is any way to make sure we can get 4096 kb/s (Tivo medium quality) with Pytivo?


----------



## TreborPugly

If you are transferring a file that is already in the right format, I don't think pytivo bothers to convert it.


----------



## Sicklybutsexy

TreborPugly said:


> If you are transferring a file that is already in the right format, I don't think pytivo bothers to convert it.


These files are in AVI format that I'm trying to convert and they continue to be transcoded @ 2500 kb/s.


----------



## Sicklybutsexy

I wander if anyone has really tried this. Maybe Pytivo has only been encoding @ around 2500 kb/s all along and no one bothered to actually look at the files they're transcoding. No wonder it is so fast!


----------



## TreborPugly

No, it was definitely doing high quality for me until I set it much lower. I'm doing about 1500 kb/s, so my slow wireless doesn't delay my watching. My files are definitely going through small. But I haven't updated my pytivo code in a while. Maybe this is a new bug


----------



## Sicklybutsexy

TreborPugly said:


> No, it was definitely doing high quality for me until I set it much lower. I'm doing about 1500 kb/s, so my slow wireless doesn't delay my watching. My files are definitely going through small. But I haven't updated my pytivo code in a while. Maybe this is a new bug


How do you know if it was doing high quality? Did you take the file onto your computer and get the bit rate?


----------



## TreborPugly

Two ways: 

1. the transfer speed couldn't keep up with watching it.
2. The size of the file on the Tivo. (in Now playing, once the file is transferred, it accurately reports the size of the show, when you look at the info)

Also, I've used the same configuration in the pyTivo settings to use ffmpeg to convert files, and gotten the same size that the Tivo reports.


----------



## Sicklybutsexy

TreborPugly said:


> Two ways:
> 
> 1. the transfer speed couldn't keep up with watching it.
> 2. The size of the file on the Tivo. (in Now playing, once the file is transferred, it accurately reports the size of the show, when you look at the info)
> 
> Also, I've used the same configuration in the pyTivo settings to use ffmpeg to convert files, and gotten the same size that the Tivo reports.


I wonder what my problem then is. I transferred over a show last night that was 233 mb and it will only transcode about 3200 kb/s. Why the variation, and why can't I transcode @ the default?


----------



## Iluvatar

Sicklybutsexy said:


> I wonder what my problem then is. I transferred over a show last night that was 233 mb and it will only transcode about 3200 kb/s. Why the variation, and why can't I transcode @ the default?


Read this post LINK

as well as the few replies below it. It explains the q-values and how they relate to the output video bitrate.

There is very good info in the previous pages in this topic, it may be worth it to look back through.


----------



## Sicklybutsexy

Iluvatar said:


> Read this post LINK
> 
> as well as the few replies below it. It explains the q-values and how they relate to the output video bitrate.
> 
> There is very good info in the previous pages in this topic, it may be worth it to look back through.


Thanks Iluvatar, that clears it up. It was starting to drive me crazy that something I wasn't or was doing was messing it up.


----------



## ocntscha

TivoBrian said:


> I, for one, jumped ship and uninstalled pyTivo since there's been no hint of help coming from this forum. I went ahead and bought Tivo Desktop Plus and now all my favorite video casts are working again with both video and audio showing up on the Tivo.
> 
> I credit pyTivo with giving me a chance to discover how much I appreciate being able to stream iTunes-downloaded video to my Tivo...enough to justify buying the Tivo product that (hopefully) won't break when Tivo upgrades.
> 
> Goodbye, pyTivo -- maybe we'll meet again someday!


I, for one, own Tivo Desktop Plus as well but I never use it because pyTivo is so far superior. pyTivo exports folders to the Tivo, Tivo Desktop Plus doesn't. pyTivo can handle about any video format on earth, even Utube videos, Tivo Desktop Plus doesn't even support divx, even the formats it does support, it doesn't do as well as pyTivo. I've got music videos in mpeg format that pyTivo handles flawlessy, Tivo Desktop Plus gets them over to the Tivo but with the lower half of the screen all greenish and screwed up sound. pyTivo runs on about any OS there is, I run it 24x7 on Linux myself, Linux isn't even an option with Tivo Desktop Plus. Heck from what I gather in these forums running Tivo Desktop Plus on Vista is hardly even an option unless your prepared to fight a mighty battle. pyTivo is free. Tivo Desktop plus costs $40 or whatever it is. As far as no support for pyTivo, as far as I'm concerned none has been needed. pyTivo was pretty well flawless, 8.3's bugs made folders kind of funky, a pyTivo update was written to WORK AROUND TIVO'S BUGS, pretty well flawless again. Yes, with 9.1 there seems to be an issue of audio with no video, but from what I gather here, http://www.tivocommunity.com/tivo-vb/showthread.php?p=5593106&&#post5593106 it's the same situation with TivoDesktop Plus, so again its bugs in the Tivo software that are the source of the problem, not pyTivo.


----------



## ufo4sale

ocntscha said:


> pyTivo was pretty well flawless, 8.3's bugs made folders kind of funky, a pyTivo update was written to WORK AROUND TIVO'S BUGS, pretty well flawless again. Yes, with 9.1 there seems to be an issue of audio with no video, but from what I gather here, http://www.tivocommunity.com/tivo-vb/showthread.php?p=5593106&&#post5593106 it's the same situation with TivoDesktop Plus, so again its bugs in the Tivo software that are the source of the problem, not pyTivo.


Do you know if TiVo.net has a work around for the folder problems you have/hade? I also have the same problem in 9.1 with the folders.


----------



## MacBrian

ocntscha said:


> As far as no support for pyTivo, as far as I'm concerned none has been needed. pyTivo was pretty well flawless, 8.3's bugs made folders kind of funky, a pyTivo update was written to WORK AROUND TIVO'S BUGS, pretty well flawless again. Yes, with 9.1 there seems to be an issue of audio with no video, but from what I gather here, http://www.tivocommunity.com/tivo-vb/showthread.php?p=5593106&&#post5593106 it's the same situation with TivoDesktop Plus, so again its bugs in the Tivo software that are the source of the problem, not pyTivo.


Did you _read_ what I wrote? After the Tivo software update:
pyTivo = Audio but no video -- no solution from the forums (yet)
TivoDesktopPlus ($25) = Audio AND Video, thus, it is a solution to restore functionality (at least on the specific video podcasts I subscribe to)

As for having folders, that's not as important to me as having both audio and video show up on transferred shows!

I don't need a laundry list of how great pyTivo is -- having used it for several months I'm well aware of what it is and what it does! And I greatly appreciate the world it opened up for me with regard to watching video podcasts in the comfort of my home theatre.

What I _need_ is a fix or a workaround for the blank video problem. Or at least -- some indication that someone's working on it -- which I haven't yet seen in this thread. TivoDesktopPlus fixed the problem, at least on the particular video podcasts I subscribe to. When (if) pyTivo is fixed, I may return, but for now my intention was just to let people know that (in my case) TivoDesktopPlus restored functionality while we wait for pyTivo's missing video problem to be sorted out.

--Brian


----------



## buffalova

> I, for one, own Tivo Desktop Plus as well but I never use it because pyTivo is so far superior. pyTivo exports folders to the Tivo, Tivo Desktop Plus doesn't.


Can pytivo transfer the entire folder into a folder on the "now playing list"? How do you do that? I have been tranferring individually and if I do more than one show of a season it doesn't group them in a folder. This would be great. By the way I have desktop 2.5 which does divx if you change the extension to avi. If you haven't upgraded to 2.5 you should since you paid for it anyway as a backup. Who knows what mods tivo could do to make pytivo not work.


----------



## Iluvatar

TivoBrian said:


> Did you _read_ what I wrote? After the Tivo software update:
> pyTivo = Audio but no video -- no solution from the forums (yet)
> TivoDesktopPlus ($25) = Audio AND Video, thus, it is a solution to restore functionality (at least on the specific video podcasts I subscribe to)
> 
> As for having folders, that's not as important to me as having both audio and video show up on transferred shows!
> 
> I don't need a laundry list of how great pyTivo is -- having used it for several months I'm well aware of what it is and what it does! And I greatly appreciate the world it opened up for me with regard to watching video podcasts in the comfort of my home theatre.
> 
> What I _need_ is a fix or a workaround for the blank video problem. Or at least -- some indication that someone's working on it -- which I haven't yet seen in this thread. TivoDesktopPlus fixed the problem, at least on the particular video podcasts I subscribe to. When (if) pyTivo is fixed, I may return, but for now my intention was just to let people know that (in my case) TivoDesktopPlus restored functionality while we wait for pyTivo's missing video problem to be sorted out.
> 
> --Brian


As there are seemingly no more updates for this project you may try a last ditch effort by updating your ffmpeg module in pytivo. Updating to a newer version may possibly increase your quality and speed and if your lucky MAY fix some audio/video issues although this is much less likely.

Here is the link to the latest ffmpeg build (sept 07, Windows only) that I have been using without any ill effect. You need to replace the files in your pytivo/plugins/video folder with the ones in the zip file (backups recommended of course).


----------



## cyclone

TivoBrian said:


> Did you _read_ what I wrote? After the Tivo software update:
> pyTivo = Audio but no video -- no solution from the forums (yet)
> TivoDesktopPlus ($25) = Audio AND Video, thus, it is a solution to restore functionality (at least on the specific video podcasts I subscribe to)


The problem with blank video has only been reported on 16:9 video. I'd be surprised if your podcasts are 16:9 - they're almost always 4:3. The blank video problem has been reported with TDP as well as pyTivo, so I think it's very likely that it won't solve your problem if you throw the same 16:9 video at it.


> What I _need_ is a fix or a workaround for the blank video problem.


The workaround is to adjust your pyTivo configuration to output 4:3 rather than 16:9. This will result in videos which are both pillarboxed (on 16:9 displays) and letterboxed, but it's the only known solution until Tivo updates 9.1.


> Or at least -- some indication that someone's working on it -- which I haven't yet seen in this thread.


I've not seen a single report of anyone successfully playing 16:9 content on the affected units regardless of how it was generated (pyTivo, Tivo.net, manually transcoded). Every indication is that it's a Tivo firmware problem which can only be resolved by Tivo (unless someone finds a magic combination of resolution and/or framerate which still works, in which case pyTivo's configuration could be edited to output the "magic combination".


> TivoDesktopPlus fixed the problem, at least on the particular video podcasts I subscribe to.


Again, "podcasts" is the operative word. I'd bet that if you take the podcast and move it to your pyTivo directory it'll work just fine that way as well.

Bill


----------



## Chew

cyclone said:


> I'd be surprised if your podcasts are 16:9 - they're almost always 4:3.


Tekzilla
Diggnation
Totally Rad Show (actually, Revision3 content in general)
Geekbrief
MacBreak
Trailercast
Tiki Bar TV

....just a few podcasts that are definitely 16x9.


----------



## BigT4187

Chew said:


> Tekzilla
> Diggnation
> Totally Rad Show (actually, Revision3 content in general)
> Geekbrief
> 
> ....just a few podcasts that are definitely 16x9.


These podcasts play find on my 649 running 9.1 software using pyTivo.


----------



## Iluvatar

BigT4187 said:


> These podcasts play find on my 649 running 9.1 software using pyTivo.


as do mine.

those having issues need to make sure that this section:

#If you want to use 16:9 or 4:3 on this tivo
#aspect169=true

is commented out in your Pytivo config file.


----------



## BigT4187

Iluvatar said:


> as do mine.
> 
> those having issues need to make sure that this section:
> 
> #If you want to use 16:9 or 4:3 on this tivo
> #aspect169=true
> 
> is commented out in your Pytivo config file.


I have mine set to

aspect169=false

which is probably the same as commenting it out.


----------



## armooo

Sorry I have not been checking the forum much. Work has been very busy. And I have not been having problems on my 240 S2.

The problems with the the video being black sounds like a bug that was happing sending 16:9 videos to some 540 and 649 tivos in the past. Currently there is a BLACKLIST_169 constant in Config.py.

You can also try theaspect169=false option, but it must be in a per tivo config block.

[_tivo_2400000DEADBEEF]
aspect169=false

This option will pad the top and bottom of the file with black and send a 4:3 video, otherwise it sends a 16:9 video and the tivo creates the black bars.

As for crashes with the subfolders version, I have been able to crash my tivo with it even on 8.3. That is why I did not merge the changes in to the trunk. It seems like I had the best luck with it when I moved around slowly. And sounds like after the reboot the tivo makes valid request (at least for the first subfolder you enter) and the is why it works.


----------



## Airey001

I was able to to place a hack in the transcode.py file to get pyTivo semi working with Tivo OS 9.1 and 16:9 videos.

Basically I went updated all the aspect calls from 16:9 to 4:3 in the file. This is forcing the aspect to be stated as 4:3 instead of 16:9.

I am not seeing any differences in the video the tivo displays. My Tivo is displaying it full screen and there are no black bars as when i have 16:9 turned off in pyTivo.

I got this idea when from Dave Zatz site: http://www.zatznotfunny.com/gtt.htm

I use to follow his tutorial for ripping DVDs to a hard drive to share with galleon. Basicly it would rip a single vob file and have you rename it to mpg. The issue with some videos with 16:9 aspect caused video issues (Screen would be extremely scrambled) To correct these files you would need to patch the header of the video file to report 4:3 with a program called DVD Patcher and then they would displayed fine.

That was before I found DVD::RIP for Linux!

Any way like I said this is a Hack, So far I haven't noticed any issue and I am able to watch 16:9 videos without the padding black bars.


----------



## Chew

Airey001 said:


> I was able to to place a hack in the transcode.py file to get pyTivo semi working with Tivo OS 9.1 and 16:9 videos.
> 
> Basically I went updated all the aspect calls from 16:9 to 4:3 in the file. This is forcing the aspect to be stated as 4:3 instead of 16:9.


Could someone possibly post a copy of this updated and working transcode.py file?

I'm afraid I'll screw something up if I try it myself.


----------



## caddywhompus

First of all, BRAVO. I love this software, and so far you all deserve a pat on the back for coming up with it. Fantastic.

However, I do have a couple bugs to report, hoping for a solution.

First, my PC specs.
Dell E521 computer
Athlon 5600 x2 64 bit CPU
4GB of ram
Windows Vista x64 Ultimate
Rock solid stable machine, no known bugs, quirks or crashes.

Now, the first time I installed PyTivo, I went to the Python website and downloaded the 64 bit version of Python for my machine. It installed correctly, no problems. However, when I downloaded and installed PyTivo, it informed me it needed Pywindows32 (or something like that) and downloaded it for me inside the setup program. When it installed, it located my 64bit version of Python but then returned an error message saying it was unable to use that environment. After completing the install, PyTivo didn't work. I removed it, and installed the 32-bit version of Python, now everything works great. Question is, would there be any benefit to running 64-bit Python (I'm assuming more efficient transcoding?) and if so, can we work together to debug it and get it working?

Second issue. When browsing the folders on my Tivo (I have 3 setup in PyTivo), I note that I can only browse 1 folder deep, after that I Tivo just keeps refreshing the same display when i try to drill down into subfolders. So far my workaround for this has been to temporarily move videos I want to watch on Tivo into the first level folder, which works perfectly.

Let me know what other help I can provide, if there's any logs etc. I'd be happy to get them up.


----------



## buffalova

> Second issue. When browsing the folders on my Tivo (I have 3 setup in PyTivo), I note that I can only browse 1 folder deep, after that I Tivo just keeps refreshing the same display when i try to drill down into subfolders. So far my workaround for this has been to temporarily move videos I want to watch on Tivo into the first level folder, which works perfectly.


I can't help you with the 64-bit question but make sure you have the pytivo-subfolders-8.3-198.zip version. Just download unzip and copy and paste into you pytivo directory. I had the same problem until I installed that version from this link. Also as a side note I setup the drive letter i.e. M: as a share and that way I don't need to list each folder separately although it could slow down a bit. Hope this helps.

http://armooo.net/~armooo/pyTivo/downloads/


----------



## MisterWho

I've got pytivo up and running displaying my shares. However, I am having trouble viewing those folders and their files in the share that houses doppler retrieved videocasts. It appears that the problem is that the directory into which doppler deposits its downloads (in separate folders per feed) also houses dopplers config files. 

I believe it is these files which cause the problem as when they are removed, pytivo displays the folders and their videocast files as it should.

How can I configure pytivo to ignore these files as it appears you cannot tell doppler to place them anywhere else but the download folder for all its feeds.

Thanks,

MrW


----------



## MickeS

Airey001 said:


> I was able to to place a hack in the transcode.py file to get pyTivo semi working with Tivo OS 9.1 and 16:9 videos.
> 
> Basically I went updated all the aspect calls from 16:9 to 4:3 in the file. This is forcing the aspect to be stated as 4:3 instead of 16:9.
> 
> I am not seeing any differences in the video the tivo displays. My Tivo is displaying it full screen and there are no black bars as when i have 16:9 turned off in pyTivo.


I don't see how changing all the calls to force 4:3 is any different than having Config.get169Setting(tsn) return false?


----------



## Chew

I wasn't sure I would be able to update transcode.py properly, thus my previous request.

But, I did attempt it when getting home from work and must of done it right.

16x9 videos are now working for me. :up:

Thanks *Airey001* for the workaround!


----------



## Airey001

Here is my version of the transcode.py file.

Now there are 2 HACKs in this file.

The first HACK is for videos with a res of 720x480. Since 720x480 can be either 4:3 or 16:9 pytivo pads them and marks them 4:3. This will HACK forces them though without any padding and as if they where 16:9. (Well 4.3 now with the second Hack).


Second Hack is the for the blank 16:9 video files caused by Tivo OS update 9.1. When the pytivo would normally send the file with aspect of 16:9 this will send it as 4:3.


----------



## Airey001

MickeS said:


> I don't see how changing all the calls to force 4:3 is any different than having Config.get169Setting(tsn) return false?


The reason this is different is if you force this setting in the config file, there is a very good chance when pytivo goes to convert your video it will add padding (Black Bars - Top and bottom and/or Left Right) as it attempts to make the video 4:3 format.


----------



## Chew

Airey001 said:


> Here is my version of the transcode.py file.
> 
> Now there are 2 HACKs in this file.
> 
> The first HACK is for videos with a res of 720x480. Since 720x480 can be either 4:3 or 16:9 pytivo pads them and marks them 4:3. This will HACK forces them though without any padding and as if they where 16:9. (Well 4.3 now with the second Hack).
> 
> Second Hack is the for the blank 16:9 video files caused by Tivo OS update 9.1. When the pytivo would normally send the file with aspect of 16:9 this will send it as 4:3.


Thanks for this.

Even though I got it to work, I'm going to replace mine with somebody who really knows what they're doing.


----------



## MickeS

Airey001 said:


> The reason this is different is if you force this setting in the config file, there is a very good chance when pytivo goes to convert your video it will add padding (Black Bars - Top and bottom and/or Left Right) as it attempts to make the video 4:3 format.


Gotcha! What I missed when I looked at the code briefly were the multiplier16by9 and multiplier4by3 variables.

I created a more general version of this, where all you need to do is change the 169 flag to false, and it will output a 4:3 version of any file with AR 1.36 and up, it's not a special version for 9.1. I think it should cover all cases at least, but who knows. 

All I added was this in the "else" part of the "if (aspect169) and (ratio > 135)" statement:

if (ratio > 135): #if this is a widescreen image being output at 4:3
endHeight = int(((TIVO_WIDTH*height)/width) * multiplier16by9)
else:
endHeight = int(((TIVO_WIDTH*height)/width) * multiplier4by3)

Seems to do it, or did I overlook something?

EDIT: I guess that screws up 16:9 on 4:3 TV's?  Ah, who cares, I don't have a 4:3 TV anyway...


----------



## caddywhompus

buffalova said:


> I can't help you with the 64-bit question but make sure you have the pytivo-subfolders-8.3-198.zip version. Just download unzip and copy and paste into you pytivo directory. I had the same problem until I installed that version from this link. Also as a side note I setup the drive letter i.e. M: as a share and that way I don't need to list each folder separately although it could slow down a bit. Hope this helps.
> 
> http://armooo.net/~armooo/pyTivo/downloads/


Thanks for the help, but it didn't work. I downloaded and updated my version exactly as described. The problem does seem to be better, but not solved. If I try to go more than 2 levels deep into the folder structure, Tivo just keeps showing me the same contents. What's worse, is that sometimes when it does that even if I back all the way out of the share, and go into a different one I still see the same stuck contents from the previous share. Does that make sense?

For example, I have two shares setup. One called "TV Videos" and one called "Movies". Inside the "TV Videos" folder I have subfolders for each TV series, and sometimes even another subfolder for season. Generally I can drill down to the series subfolder, but not to the season. If Tivo gets stuck showing me the contents of the series subfolder, then I can back all the way out and go into a completely different share "Movies" and Tivo will display the "series" subfolder from the "TV Videos" share.

I have read that sometimes selecting a show from the Now Playing list, then going back to the share corrects the problem. It seems that does work most of the time. The couple times it didn't, I went to live TV and then back into the Now Playing list and THAT corrected the issue.

This is a minor bug, and I've worked around it by creating shares for each subfolder rather than just the two mentioned above. Yeah, that means I've got like 15 shares showing up in Now Playing, but it works.

I'll keep monitoring this thread for updates.

Thanks!


----------



## buffalova

> Originally Posted by *caddywhompus*
> Thanks for the help, but it didn't work. I downloaded and updated my version exactly as described. The problem does seem to be better, but not solved. If I try to go more than 2 levels deep into the folder structure, Tivo just keeps showing me the same contents. What's worse, is that sometimes when it does that even if I back all the way out of the share, and go into a different one I still see the same stuck contents from the previous share. Does that make sense?
> 
> For example, I have two shares setup. One called "TV Videos" and one called "Movies". Inside the "TV Videos" folder I have subfolders for each TV series, and sometimes even another subfolder for season. Generally I can drill down to the series subfolder, but not to the season. If Tivo gets stuck showing me the contents of the series subfolder, then I can back all the way out and go into a completely different share "Movies" and Tivo will display the "series" subfolder from the "TV Videos" share.
> 
> 
> 
> Looking back after I posted I realized I use version pytivo-subfolders-8.3-200.zip not 198.zip. Not sure if this will help but worth a try. I also am never able to go back once I am in a share's folder. After selecting 1 file to transfer I hit the now playing button and then scroll down and select the share find the next file etc etc....
Click to expand...


----------



## WelshSage

I wanted to run pyTivo at login on my Mac, and after a couple hours of trial and error I finally found a way to do so. I will outline the steps I took below.

First we will create an "agent" that will start up pyTivo when you log into your user account. The easiest way to create an agent if you are not UNIX savvy is to use the free utility Lingon. Download it from MacUpdate.

Launch Lingon and click on the "Assistant" button. Make sure "Run a job at startup" is selected and click "Next." Then type the label for this agent in the label box. Mine was "com.myname.pyTivo." Make sure "Launch only when I log in is selected" and click "Next."

Now, the following step assumes that you have performed a default install of Python 2.5 and that pyTivo.py is in your "/usr/local/bin/pyTivo" directory. In the job box type, "/Library/Frameworks/Python.framework/Versions/Current/bin /usr/local/bin/pyTivo/pyTivo.py" Now click "Create"

Now, pyTivo will load at login!


----------



## johnkfisher

> As for crashes with the subfolders version, I have been able to crash my tivo with it even on 8.3. That is why I did not merge the changes in to the trunk. It seems like I had the best luck with it when I moved around slowly. And sounds like after the reboot the tivo makes valid request (at least for the first subfolder you enter) and the is why it works.


Well, haven't had any crashes with subfolders for a LONG time, once I upgraded to your subfolder fork, but now, with 9.1, happening CONSTANTLY again, so clearly this is far more than bad luck or not moving slow enough. I hope this is fixed soon. It runs on my parents' comp hours away from me, and I'll have to drive down there just to troubleshoot this for them.


----------



## TreborPugly

johnkfisher said:


> Well, haven't had any crashes with subfolders for a LONG time, once I upgraded to your subfolder fork, but now, with 9.1, happening CONSTANTLY again, so clearly this is far more than bad luck or not moving slow enough. I hope this is fixed soon. It runs on my parents' comp hours away from me, and I'll have to drive down there just to troubleshoot this for them.


This isn't a bug fix, but I've been avoiding crashes by always going back to the TiVo menu and then into the Now Playing list, after I start transferring a program, rather than just watching it there. The folders bugs seem to be much worse when you come out of watching your recording back into the folder. But if you skip out to the Tivo menu, and use the Now Playing list to find your show once it is already transferring, it doesn't crash on me the next time I go into the folders.


----------



## cr33p

Has anyone confirmed that PyTivo is working with MRV & TTG being enabled on all S3 units???


----------



## Narf54321

cr33p said:


> Has anyone confirmed that PyTivo is working with MRV & TTG being enabled on all S3 units???


I got one show to begin transfer, but then the S3 went into super-slow response and eventually rebooted. Upon rebooting, pyTivo restarted the transfer... it seems to complete this time, but once again the S3 rebooted.

The movie is in the Now Playing list and playable, but the reboots make me nervous.

disclaimer: my S3 is apparently still running v9.1 system software.


----------



## kunikos

I'm interested whether HD resolution content from the PC can be streamed to the S3 or HD TiVo now or not.

Also, I've noticed that there seems to be a synchronization issue with the audio of streamed programs if you begin playback on the TiVo (S2) prior to finishing transfer from the PC.


----------



## cr33p

Pony stated that TTCB HD is not supported at this time.


----------



## cr33p

Narf54321 said:


> I got one show to begin transfer, but then the S3 went into super-slow response and eventually rebooted. Upon rebooting, pyTivo restarted the transfer... it seems to complete this time, but once again the S3 rebooted.
> 
> The movie is in the Now Playing list and playable, but the reboots make me nervous.
> 
> disclaimer: my S3 is apparently still running v9.1 system software.


I have 9.2 and will post my results on my Tivo HD later tanite


----------



## MickeS

9.2 and pyTiVo worked fine with my Series 3. Only SD content though. And the aspect ratio bug is still there (fix for it mentioned above, but still...).


----------



## neutral

I've installed pyTivo on NetBSD using python 2.4 and ffmpeg from pkgsrc.

I can see the NPL, and some of the videos will transcode, albeit slow. 

A lot of the videos will error out, 

Unsupported codec 


What gives?

edit: I should mention, these exact videos have no problem transcoiding on Tivo.Net


----------



## mattm29

any ideas on this error message?

It's on Mac OS X ---

Traceback (most recent call last):
File "pyTivo.py", line 15, in ?
settings.update(config.items(section))
AttributeError: keys


----------



## CuriousMark

mattm29 said:


> Traceback (most recent call last):
> File "pyTivo.py", line 15, in ?
> settings.update(config.items(section))
> AttributeError: keys


the key "section" is not found in the Dictionary config.items
Most likely the settings file has a missing group of data or a typo that is preventing the config object from getting all the information needed from the file. Look in the settings file and see if you see anything obviously wrong with it.


----------



## mattm29

Ok, so I trimmed down the configuration file to just this:

[Server]
port=9032
ffmpeg=/opt/local/bin/ffmpeg
[MyMovies]
type=video
path=/Users/mattseattle/TiVoShows

and now when I do 'python pyTivo.py' it just sits there.

grrrrr - any help is appreciated!


----------



## kangolo

mattm29 said:


> any ideas on this error message?
> 
> It's on Mac OS X ---
> 
> Traceback (most recent call last):
> File "pyTivo.py", line 15, in ?
> settings.update(config.items(section))
> AttributeError: keys


You need to be running under python 2.5, then launch using 
python2.5 pyTivo.py

If you need to install python 2.5 there's an OS X installer available from http://www.python.org/download/


----------



## kangolo

I'm running a newly enabled S3, with pyTivo running from a mac (under python 2.5, and ports-compiled lame & ffmpeg).

Whenever I browse through the folders on my shares I see the same file each time.

The first folder's contents I viewed appears on all subsequent folder views, whether the newly selected folder has files in there or not.
This still happened even after stopping the download, and restarting pyTivo.

I got it to reset by restarting the tivo, but it's doing the same thing (with a new file - against the first I viewed) after the restart.

I checked the xml being returned (pasted the relative url into the browser) - and it isn't repeating the same file - it appears valid:

Stuff that isn't in a folder (but has to be scrolled way down to get to) is fine.

Any ideas? I think this may be tivo's end - unless pyTivo's folder responses need modification to identify them as unique.

Update:

It looks like the tivo is sending two requests, one for the new folder, followed immediately by a request for the initial folder (that it keeps re-showing).

You can force it to update itself but viewing the detals of an entry and using the PageUp/Down keys.
When you return to the folder's contents it will update with the correct contents.

If you do this in an empty folder you're stuck, no way to -re-sync

- Chris


----------



## dswartz

Forgive me if this is an obvious booboo, but I can't see anything in the docs about it, so.. I got python 2.5.1 installed and I run it against the modified config and it just sits there (as another poster just observed.) If I surf to my linux box on port 9032, I see:

This is a tivoPY server

I went to my HDTIVO running 9.1 and it doesn't seem to see the pyTivo server. I've requested a 9.2 push, but not even sure if that's needed. There is a lot of confusion going around about what is necessary and such. Here is my config file:

[Server]
port=9032

#Full path to ffmpeg including filename
ffmpeg=/usr/bin/ffmpeg

#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
beacon=10.0.0.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

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

#If you want to use 16:9 or 4:3 on this tivo
#aspect169=true

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

#Path is the full path to your files (No trailing slash needed)
path="/home/dswartz/MyDocuments/My Videos"


----------



## cr33p

dswartz said:


> Forgive me if this is an obvious booboo, but I can't see anything in the docs about it, so.. I got python 2.5.1 installed and I run it against the modified config and it just sits there (as another poster just observed.) If I surf to my linux box on port 9032, I see:
> 
> This is a tivoPY server
> 
> I went to my HDTIVO running 9.1 and it doesn't seem to see the pyTivo server. I've requested a 9.2 push, but not even sure if that's needed. There is a lot of confusion going around about what is necessary and such. Here is my config file:
> 
> [Server]
> port=9032
> 
> #Full path to ffmpeg including filename
> ffmpeg=/usr/bin/ffmpeg
> 
> #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
> beacon=10.0.0.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
> 
> ##Per tivo options
> # section named _tivo_TSN with the tsn in all caps
> #[_tivo_2400000DEADBEEF]
> 
> #If you want to use 16:9 or 4:3 on this tivo
> #aspect169=true
> 
> [MyVideos]
> #Type can be either 'video' or 'music'
> type=video
> 
> #Path is the full path to your files (No trailing slash needed)
> path="/home/dswartz/MyDocuments/My Videos"


Check your system info screen for a MAK key, just because you have 9.2 does not mean that you have the certificates for the MAK key, and double check your DVR preferences on your manage my account page on tivos site


----------



## dswartz

Actually, I still only have 9.1. I did see PC:MyVideos on the NPL, but a weird internal error. Looking at the pyTivo log, I saw:

OSError: [Errno 2] No such file or directory: '"/home/dswartz/MyDocuments/My Videos"'

Wondering if the embedded space wreaked havoc? I'll rename the directory and check again...

*** SOLVED! It wasn't spaces in the pathname. I outsmarted myself and put the pathname in double quotes, and that threw it off. I'm transferring an episode of SG:Atlantis even now


----------



## mattm29

kangolo said:


> You need to be running under python 2.5, then launch using
> python2.5 pyTivo.py
> 
> If you need to install python 2.5 there's an OS X installer available from http://www.python.org/download/


Thanks for the tip but my original install of python was 2.5.1. I relaunched the way you described and it's just sitting there.

iMac:/Applications/pyTivo mattseattle$ python2.5 pyTivo.py

any other ideas?


----------



## cr33p

I have 9.2 and I can see my PyTivo shares but when I click on them to browse I get an error, the Movie PC can not be contacted because of an unknown error. GRRRR, forgive me for my stupididty but can I have Tivo Desktop and Pytivo on the same machine running?


----------



## Hi8

I just setup pyTiVo last night.

I've been playing around with TiVo for about 4 years now and can't get enough of what it can do.

Thanks for this GREAT APP.

My problem is that I installed the server instead of launching pyTiVo.py 's command window. It would show up in the now playing list, but if I selected it it would show no shows and then when I went back to now showing it would no longer be there.

Nothing I tried made any difference. I stopped the service, and launched the pyTiVo.py app, and it works fine.

I would really like to use the server, I tried reading through this thread but could seem to fine a fix.

I'm running version 182


----------



## cr33p

Hi8 said:


> I just setup pyTiVo last night.
> 
> I've been playing around with TiVo for about 4 years now and can't get enough of what it can do.
> 
> Thanks for this GREAT APP.
> 
> My problem is that I installed the server instead of launching pyTiVo.py 's command window. It would show up in the now playing list, but if I selected it it would show no shows and then when I went back to now showing it would no longer be there.
> 
> Nothing I tried made any difference. I stopped the service, and launched the pyTiVo.py app, and it works fine.
> 
> I would really like to use the server, I tried reading through this thread but could seem to fine a fix.
> 
> I'm running version 182


I have had this problem before as well, one thing I found that was my problem was every time I edited the .conf file the service was running so it would never save my changes and point the app to the correct dir with the files. Be sure to have your pytivo shut down, edit the conf file, then restart the app, sometimes rebooting the tivo helps as well.


----------



## buffalova

> I have 9.2 and I can see my PyTivo shares but when I click on them to browse I get an error, the Movie PC can not be contacted because of an unknown error. GRRRR, forgive me for my stupididty but can I have Tivo Desktop and Pytivo on the same machine running?


Yes both work together.


----------



## kangolo

What kind of transfer times are you guys seeing with transcoding from divx?

My aging G4 Mac Mini is managing 3-6fps at width=720.

I can throw an old P4 2.x GHz machine at it instead, but would like to know what I should expect in terms of transfer times before I do.

Thanks,
Chris


----------



## cwbaker

I've install pyTivo according to the instructions but can't seem to get it to work. All I get when I run it is a black DOS box with no messages in it. My stripped down configuration file looks like:

[Server]
port=9032
ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
[MyMovies]
type=video
path=c:\movies

- Any ideas on what could be wrong, or troubleshooting hints?
- What am I supposed to see on my PC and on the Tivo?
- is there something that is supposed to be in the log file? it is zero bytes

TivoDesktop works fine - I have my computer icon in the NPL and I can move programs back and forth. I assume both of them can run at the same time.

Thanks.


----------



## dswartz

I would have thought there would be a conflict on the beacon or something?


----------



## Mark.Tolman

I've been using pyTivo for a while now on my XP desktop and my S2 tivo. After the recent software update from TiVo, I've noticed some odd behavior.

Let's say I have 4 files on my PC, DrWho1.avi DrWho2.avi, and so forth. I start transferring the first file. I can either watch or continue browsing, it doesn't matter. When I view the second file, it has *"Stop Transferring"* instead of *"Transfer this recording"*. If I want to transfer the second file, I first have to stop the transfer - twice. Again, I never actually started transferring that file.

This didn't happen before the update. I have *v9.1* btw.

I don't know enough about the protocol to even begin to debug this. Am I the only one, or is this reproducible?

Thanks
Mark


----------



## AcidReflux

Does pyTivo work with .avi files? I don't see any of my .avi files listed on my tivo. I don't see .wmv files either. If I rename the .wmv to .mpg it shows up.


----------



## buffalova

cwbaker said:


> I've install pyTivo according to the instructions but can't seem to get it to work. All I get when I run it is a black DOS box with no messages in it. My stripped down configuration file looks like:
> 
> [Server]
> port=9032
> ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
> [MyMovies]
> type=video
> path=c:\movies
> 
> - Any ideas on what could be wrong, or troubleshooting hints?
> - What am I supposed to see on my PC and on the Tivo?
> - is there something that is supposed to be in the log file? it is zero bytes
> 
> TivoDesktop works fine - I have my computer icon in the NPL and I can move programs back and forth. I assume both of them can run at the same time.
> 
> Thanks.


What you have should be in your pytivo.conf file and it should be more than 0 bytes. I just double click on pytivoservice.py to start the service and then your path c:\movies should appear at the bottom of your now playing list on the tivo. Nothing appears on you pc. The service should just be running in the background. Your config file looks ok to me. You may need to reboot the computer and the tivo and check again.


----------



## cr33p

Does pytivo have the best quality video enabled by default? And will it handle DD 5.1 ?


----------



## mr2828

Quick question from new S3 / PyTivo user here:

Is there a way to get the S3 to put my streamed videos all into the same folder in the Now Playing list instead of just listing them all at the top level of the list?


----------



## kangolo

kangolo said:


> I'm running a newly enabled S3, with pyTivo running from a mac (under python 2.5, and ports-compiled lame & ffmpeg).
> 
> Whenever I browse through the folders on my shares I see the same file each time.
> 
> The first folder's contents I viewed appears on all subsequent folder views, whether the newly selected folder has files in there or not.
> This still happened even after stopping the download, and restarting pyTivo.
> 
> I got it to reset by restarting the tivo, but it's doing the same thing (with a new file - against the first I viewed) after the restart.
> 
> I checked the xml being returned (pasted the relative url into the browser) - and it isn't repeating the same file - it appears valid:
> 
> Stuff that isn't in a folder (but has to be scrolled way down to get to) is fine.
> 
> Any ideas? I think this may be tivo's end - unless pyTivo's folder responses need modification to identify them as unique.
> 
> Update:
> 
> It looks like the tivo is sending two requests, one for the new folder, followed immediately by a request for the initial folder (that it keeps re-showing).
> 
> You can force it to update itself but viewing the detals of an entry and using the PageUp/Down keys.
> When you return to the folder's contents it will update with the correct contents.
> 
> If you do this in an empty folder you're stuck, no way to -re-sync
> 
> - Chris


Same issue here. so it looks like a tivo thing, rather than a pyTivo issue:
http://www.tivocommunity.com/tivo-vb/showthread.php?p=5591901&&#post5591901



Grimm1 said:


> OK...that is what I was talking about before and the solution should be what I said before "You have to force a refresh of the dir by selecting any show and then using the left arrow to back out which will force a refresh and should now show the correct contents of the directory."
> 
> Part of the confusion we are having is the terminology you are using. Generally when you say you "click" on something or "left click" that is an action you do on your PC with a mouse. If your talking about an action you are doing on the TiVo you would use "select" or "left arrow" instead of click and left click.
> 
> So using your example...you are in your "Lost" folders and it is showing a list of "Desperate Housewives" shows. Highlight and select one of those shows and then left arrow back out to the Lost directory and it should refresh and show all your Lost episodes.


----------



## kangolo

kangolo said:


> What kind of transfer times are you guys seeing with transcoding from divx?
> 
> My aging G4 Mac Mini is managing 3-6fps at width=720.
> 
> I can throw an old P4 2.x GHz machine at it instead, but would like to know what I should expect in terms of transfer times before I do.
> 
> Thanks,
> Chris


An AMD 2100 (old, old box) is able to stream just faster than real time (7 mins per 10 mins of video).

Looks pretty decent too, though I'm going to experiment with increasing the bitrate.


----------



## mr2828

I saw in another thread someone suggests hitting enter twice and then going back to get the folder info to update. Haven't tried it yet.


----------



## mr2828

Hmm, wow yeah I think I have 720p HD x264 .mkv files working on my S3. I tweaked the width/height settings in PyTivo to 1280x720 and it seems to be working. This was at 4 mb/s, but I am trying some different settings later tonight to see if I can max out the quality.

So is it incorrect then that TTCB won't work with HD resolutions?


----------



## windracer

mr2828 said:


> Is there a way to get the S3 to put my streamed videos all into the same folder in the Now Playing list instead of just listing them all at the top level of the list?


Unfortunately, no. Not even TiVo Desktop does this (except for .tivo files where the program information is in the Guide data).


----------



## mr2828

Two configs - how to?

I have some HD files I'm streaming using higher width/height/bitrates, but I don't want to use those settings with my normal SD quality .avi files when I stream them.

Is there some way to have the pyTivo config file set up so I could have two different share directories, and then apply a different config for each directory?


----------



## briankasper

I just discovered pyTivo yesterday after much Googling for a video equivalent of Galleon. First, let me say this: HOLY COW PYTIVO ROCKS MY WORLD.

Ahem. Now, on to my question ....

I installed Python 2.5.1 on my PC, installed and configured pyTivo, configured pyTivo to run as a server, and put an MPEG-4 video file with a 16x9 aspect ratio in the appropriate folder on my PC. I then went to my S3 and browsed to the correct share. The video was listed as available, and I began transferring it.

The video played perfectly for me with no crashes and no apparent aspect ratio glitches. There were small black bars above and below the video, but the aspect ratio of the video may actually have been 2.35:1 instead of 1.78:1.

I've seen the posts about aspect ratio problems and hacked fixes, including one post that indicated the problems do occur on Series3 systems.

How can I demonstrate that I am or am not experiencing this aspect ratio bug? Is there a particular type or aspect ratio of video that triggers the problem? I'm running the latest (9.2J) software update for the S3.

Thanks, and thanks to everyone who has helped create pyTivo.

-B


----------



## kangolo

mr2828 said:


> I saw in another thread someone suggests hitting enter twice and then going back to get the folder info to update. Haven't tried it yet.


http://pytivo.armooo.net/wiki/8.3Software

It's not a new bug ... introduced with 8.3 ... just new to me as with an S3 I'd never had TivoToGo/ComeBack before.


----------



## windracer

mr2828 said:


> Is there some way to have the pyTivo config file set up so I could have two different share directories, and then apply a different config for each directory?


I proposed a possible solution like this here but I don't know if anyone ever tried it (I haven't).


----------



## neutral

I've noticed that ffmpeg fails due to codec issues on a lot of my videos. These are all videos that Tivo.Net has no problem encoding.

Is there a codec pack I need for ffmpeg on linux, or am I missing something somewhere?


----------



## windracer

I take it you were using TiVo.Net on Windows?

If so, yeah, you'll need ffmpeg compiled with the different codes you plan on transcoding. I used this guide when I recompiled ffmpeg on Ubuntu.


----------



## neutral

windracer said:


> I take it you were using TiVo.Net on Windows?
> 
> If so, yeah, you'll need ffmpeg compiled with the different codes you plan on transcoding. I used this guide when I recompiled ffmpeg on Ubuntu.


I'll give it a shot, thanks.

I'm using pkgsrc on NetBSD, so the process is a bit different. I might just do it from source.

Thanks again.


----------



## mr2828

windracer said:


> I proposed a possible solution like this here but I don't know if anyone ever tried it (I haven't).


That might work, if I set it to serve the HD files/share on a different port number. Perhaps the S3 would then pick up both servers on its NPL. I'll give it a shot later tonight.

By the way, does anyone have theories on why using a higher bitrate on 720p files would actually result in worse results? I'm have a problem while experimenting with these 720p transfers where if I set the pyTivo bitrate any higher than about 5mb/s (5Mi) I get odd breaking up in the picture from time to time when I play it back on the S3. Even setting it really high like 15Mi doesn't help.


----------



## lbow

Mark.Tolman said:


> I've been using pyTivo for a while now on my XP desktop and my S2 tivo. After the recent software update from TiVo, I've noticed some odd behavior.
> 
> Let's say I have 4 files on my PC, DrWho1.avi DrWho2.avi, and so forth. I start transferring the first file. I can either watch or continue browsing, it doesn't matter. When I view the second file, it has *"Stop Transferring"* instead of *"Transfer this recording"*. If I want to transfer the second file, I first have to stop the transfer - twice. Again, I never actually started transferring that file.
> 
> This didn't happen before the update. I have *v9.1* btw.
> 
> I don't know enough about the protocol to even begin to debug this. Am I the only one, or is this reproducible?
> 
> Thanks
> Mark


You're not the only one, it happens to me too. The workaround I have found is to start the transfer of the first file, then wait 5-10 seconds to start the transfer of the next file. If you wait about that long, it seems to give you the option to queue the second file to transfer instead of giving you the *Stop Transfer* option. I queued up 6 files that way and it seems to work just fine if you pause between starting the transfers. Hope that helps.


----------



## ScottE

mr2828 said:


> By the way, does anyone have theories on why using a higher bitrate on 720p files would actually result in worse results? I'm have a problem while experimenting with these 720p transfers where if I set the pyTivo bitrate any higher than about 5mb/s (5Mi) I get odd breaking up in the picture from time to time when I play it back on the S3. Even setting it really high like 15Mi doesn't help.


Same thing here. Anything above ~5Mi gets odd macroblock errors. Changing to long-GOP eliminates the errors, but replaces them with inconsistent playback rates (parts of the video go fast-forward). I tried forcing PTS (-genpts 1), to no avail. For now, I'll stick with 5Mi. I'd LOVE to find a solution though!


----------



## ScottE

neutral said:


> I'll give it a shot, thanks.
> 
> I'm using pkgsrc on NetBSD, so the process is a bit different. I might just do it from source.
> 
> Thanks again.


I'm using NetBSD/amd64 -current with ffmpeg (10/25/07 snapshot and Python 2.5.1) built from source. I have liba52, libmp3lame, libx264, libfaac, and libxvid enabled, and so far haven't had anything it can't transcode.

If you're not comfortable building and installing things manually, I encourage you to use packages. pkgsrc.se has a nice web interface, and lots of work-in-progress packages.


----------



## ScottE

kangolo said:


> What kind of transfer times are you guys seeing with transcoding from divx?
> 
> My aging G4 Mac Mini is managing 3-6fps at width=720.
> 
> I can throw an old P4 2.x GHz machine at it instead, but would like to know what I should expect in terms of transfer times before I do.
> 
> Thanks,
> Chris


On my E6600 (Intel Core2Duo @ 2.4GHz), I get much greater than realtime (about 1.5-2x realtime) transcoding from DiVX and h264 sources. In fact, it transcodes (using '-threads 2' in ffmpeg) at a few hundred FPS, but when streaming to Tivo I get 45-60fps. I expect this is due to the way Tivo is fetching the data, but not sure. Certainly Python is consuming a lot more time than it really should.


----------



## ScottE

cr33p said:


> Does pytivo have the best quality video enabled by default? And will it handle DD 5.1 ?


With a small modification to the transcode.py file, pyTivo can transcode to AC3 5.1 just fine. With stereo sources and with 5.1 sources, it does the right thing on my S3. I haven't tried with any other 'odd' input types.


----------



## ScottE

mr2828 said:


> Hmm, wow yeah I think I have 720p HD x264 .mkv files working on my S3. I tweaked the width/height settings in PyTivo to 1280x720 and it seems to be working. This was at 4 mb/s, but I am trying some different settings later tonight to see if I can max out the quality.


You mean source format is x264 in Matroska, right? Or did you make that the output format (rather than mpeg2video inside an MPEG2PS)?


----------



## neutral

ScottE said:


> I'm using NetBSD/amd64 -current with ffmpeg (10/25/07 snapshot and Python 2.5.1) built from source. I have liba52, libmp3lame, libx264, libfaac, and libxvid enabled, and so far haven't had anything it can't transcode.
> 
> If you're not comfortable building and installing things manually, I encourage you to use packages. pkgsrc.se has a nice web interface, and lots of work-in-progress packages.


The only options I'm seeing as configurable are,



> The supported build options for ffmpeg are:
> 
> a52 bktr faac faad lame mmx vorbis
> 
> You can select which build options to use by setting PKG_DEFAULT_OPTIONS
> or the following variable. Its current value is shown:


Or did you configure with the above options another way?


----------



## ScottE

neutral said:


> The only options I'm seeing as configurable are,
> Or did you configure with the above options another way?


I built ffmpeg (and its dependencies) manually. My configure line was:

--prefix=/software/ffmpeg-2007-10-25 --enable-libmp3lame --enable-gpl --enable-shared --enable-pthreads --enable-pp --enable-libx264 --enable-libfaac --enable-liba52 --extra-cflags=-O3 -march=nocona -I/usr/local/include --extra-ldflags=-R/usr/local/lib -L/usr/local/lib --disable-ipv6 --disable-ffserver --disable-ffplay --cpu=core2 --enable-libxvid --disable-shared --enable-swscaler --make=gmake --disable-debug --disable-vhook --enable-memalign-hack

(my libraries and includes are installed into /usr/local/)


----------



## neutral

ScottE said:


> I built ffmpeg (and its dependencies) manually. My configure line was:
> 
> --prefix=/software/ffmpeg-2007-10-25 --enable-libmp3lame --enable-gpl --enable-shared --enable-pthreads --enable-pp --enable-libx264 --enable-libfaac --enable-liba52 --extra-cflags=-O3 -march=nocona -I/usr/local/include --extra-ldflags=-R/usr/local/lib -L/usr/local/lib --disable-ipv6 --disable-ffserver --disable-ffplay --cpu=core2 --enable-libxvid --disable-shared --enable-swscaler --make=gmake --disable-debug --disable-vhook --enable-memalign-hack
> 
> (my libraries and includes are installed into /usr/local/)


thanks for your help, unfortunately i'm recieving another error

faad.c: At top level:
faad.c:130: warning: `faac_init_aac' defined but not used
gmake[1]: *** [faad.o] Error 1
gmake[1]: Leaving directory `/usr/pkgsrc/multimedia/ffmpeg/work/ffmpeg-0.4.9-pre1/libavcodec'

i'll try updating pkgsrc via cvs, maybe my snapshot is bad?


----------



## mr2828

ScottE said:


> You mean source format is x264 in Matroska, right? Or did you make that the output format (rather than mpeg2video inside an MPEG2PS)?


Yes, the source.


----------



## mr2828

windracer said:


> I proposed a possible solution like this here but I don't know if anyone ever tried it (I haven't).


So I tried running two pyTivos on two different ports with different configs to see if that would work, but it doesn't seem to. My S3 will only show either one or the other of them at any time, but not both.


----------



## mr2828

ScottE said:


> Same thing here. Anything above ~5Mi gets odd macroblock errors. Changing to long-GOP eliminates the errors, but replaces them with inconsistent playback rates (parts of the video go fast-forward). I tried forcing PTS (-genpts 1), to no avail. For now, I'll stick with 5Mi. I'd LOVE to find a solution though!


Could it be possible that pyTivo is feeding ffmpeg some strange command line settings that would cause this? I assume that pyTivo simply calls ffmpeg by command line internally whenever its time to stream video. Perhaps it is using some fixed options that are designed to work with SD video, but don't work well with HD?

For example I noticed it is setting up the output stream at 29.97 fps even though my input is around 24 fps. And it is forcing my output to 1440x720 res even though I specified 1280x720 in the config file.


----------



## mr2828

ScottE said:


> Same thing here. Anything above ~5Mi gets odd macroblock errors. Changing to long-GOP eliminates the errors, but replaces them with inconsistent playback rates (parts of the video go fast-forward). I tried forcing PTS (-genpts 1), to no avail. For now, I'll stick with 5Mi. I'd LOVE to find a solution though!


The more I think of this the more it doesn't make sense. I mean, we KNOW the S3 can playback mpeg-2 video at rates up to 19.2mb/s or whatever the top rate of 1080i HD video is, right? My S3 records and plays this back all day long when received OTA. So why can't it play back something at half that rate, and at a lower res?


----------



## buffalova

Some files I transfer the audio seems very muted. I have to adjust the audio on the tv all the way up and still can barely hear it. 

Is this a probably of the original source file or is there something I could tweak in pytivo to help with this?


----------



## Chew

ScottE said:


> With a small modification to the transcode.py file, pyTivo can transcode to AC3 5.1 just fine. With stereo sources and with 5.1 sources, it does the right thing on my S3. I haven't tried with any other 'odd' input types.


And what "small modification" would that be (for those of us less computer savvy)?


----------



## windracer

mr2828 said:


> So I tried running two pyTivos on two different ports with different configs to see if that would work, but it doesn't seem to. My S3 will only show either one or the other of them at any time, but not both.


Hmmm ... I seem to recall that each TiVo server program has a unique server ID. TiVo.Net lets you change the ID but I wonder if pyTiVo has it hardcoded in.


----------



## ScottE

mr2828 said:


> The more I think of this the more it doesn't make sense. I mean, we KNOW the S3 can playback mpeg-2 video at rates up to 19.2mb/s or whatever the top rate of 1080i HD video is, right? My S3 records and plays this back all day long when received OTA. So why can't it play back something at half that rate, and at a lower res?


Yes, the plugins/video/transcode.py file calls ffmpeg with output to stdio (which pyTivo then sends to Tivo via HTTP).

I honestly haven't looked at the ffmpeg output directly to see if it's corrupted or not. That's an excellent idea (duh! I should have thought of that!), and I'll take a look this evening.

It's also possible that since only SD is supported for TTCB, that there's some kind of bitrate limit for non-native streams (say, a bug in 9.2j somewhere).


----------



## ScottE

Chew said:


> And what "small modification" would that be (for those of us less computer savvy)?


Edit plugins/video/transcode.py and change the 'cmd = [FFMPEG, '... line in transcode().

Specifically you want to change "-ac 2 -ab AUDIO_BR -ar 44100" to something like "-acodec ac3 -ab AUDIO_BR -ar 48000".

I recommend also upping the audio_pr in pyTivo.conf, since 192k is pretty slim for AC3 5.1. I'm using 448k and it seems to work fine.

For what it's worth, here's what I'm currently using as the commandline (not perfect, but gives greater than realtime on my system, and almost acceptable results for 4Mbps):

cmd = [FFMPEG, '-threads', '2', '-i', inFile, '-vcodec', 'mpeg2video', '-r',
'29.97', '-b', VIDEO_BR] + select_aspect(inFile, tsn) + ['-comment', 'pyTivo.p
y', '-acodec', 'ac3', '-ab', AUDIO_BR,'-ar', '48000', '-f', 'vob', '-b_strategy'
, '1', '-bf', '2', '-coder', 'vlc', '-mbd', 'rd', '-qmin', '1', '-' ]

(Good grief that's hideous! There's got to be a better way!)


----------



## mr2828

ScottE said:


> Yes, the plugins/video/transcode.py file calls ffmpeg with output to stdio (which pyTivo then sends to Tivo via HTTP).
> 
> I honestly haven't looked at the ffmpeg output directly to see if it's corrupted or not. That's an excellent idea (duh! I should have thought of that!), and I'll take a look this evening.
> 
> It's also possible that since only SD is supported for TTCB, that there's some kind of bitrate limit for non-native streams (say, a bug in 9.2j somewhere).


In this other thread someone else seems to have 16 mb/s 720p mpeg working now. So it really seems to me that ffmpeg isn't encoding correctly. I may have to switch to use something else to encode and then manually transfer over the files. Here is the post:

http://www.tivocommunity.com/tivo-vb/showthread.php?p=5635812#post5635812


----------



## mitch2k2

Hey all, I've just installed pyTivo and I can see the pc from the NPL, and within the main folder I have several secondary folders (this is how it was set up for TiVo.Net, which could handle folders one deep - with necessary workaround to get folders to repopulate after going into and coming out of one, yada yada yada).

Each of these secondary folders is shown as having (0) contents and, sure enough, when I go into the folder, the TiVo shows it as empty. But of course it's not. 

Is it just that pyTivo, thanks to the 8.3 update, just can't do subfolders anymore? or am I doing something wrong??

I'm running the 9.1 Tivo OS, connected to a wireless network.


----------



## TreborPugly

I too have started having zero content in my sub folders on my TiVo. Once, this was fixed by restarting my pyTivo, but that solution isn't working any more.


----------



## ScottE

mr2828 said:


> In this other thread someone else seems to have 16 mb/s 720p mpeg working now. So it really seems to me that ffmpeg isn't encoding correctly. I may have to switch to use something else to encode and then manually transfer over the files. Here is the post:
> 
> http://www.tivocommunity.com/tivo-vb/showthread.php?p=5635812#post5635812


Yeah, I saw that, but since it went through TivoDesktop, I'm not confident that it wasn't transcoded to something else.  (I've never used the Windows software, so don't know if it has a "force pass-through" type function or not for video that's already MPEG2)


----------



## mitch2k2

TreborPugly said:


> I too have started having zero content in my sub folders on my TiVo. Once, this was fixed by restarting my pyTivo, but that solution isn't working any more.


Well, I seem to have found the error on my end, mostly. Since I didn't put the pytivo folder in the Program Files folder (windows installation, obviously), I needed to, but had not, changed the line in the pytivo.conf that points to ffmpeg2.

But now that I can navigate into the folders and find what's there, I still see each of them listed as empty (0) in the initial menu. wonder why that is.


----------



## mr2828

ScottE said:


> Yeah, I saw that, but since it went through TivoDesktop, I'm not confident that it wasn't transcoded to something else.  (I've never used the Windows software, so don't know if it has a "force pass-through" type function or not for video that's already MPEG2)


Have you tried using ffmpeg directly, with the same arguments pyTivo uses, to convert a file, and then playback the mpeg-2 output on your PC to see if it also has the macroblocking errors in it?

I think the first step in debugging this bitrate problem is to first verify that the output seems to be good, and that it really is the S3 playback causing the problem.


----------



## ScottE

mr2828 said:


> Have you tried using ffmpeg directly, with the same arguments pyTivo uses, to convert a file, and then playback the mpeg-2 output on your PC to see if it also has the macroblocking errors in it?


Well, it seems like it's a Tivo decoding issue, at least on the surface. Running:

ffmpeg -threads 2 -i Heroes.avi -vcodec mpeg2video -r 29.97 -b 10Mi -comment 'Test' -acodec ac3 -ab 448k -ar 48000 -f vob -b_strategy 1 -bf 2 -coder vlc -mbd rd -qmin 1 -aspect 16:9 -s 1440x720 Heroes.mpg

(which is what pyTivo transcode.py does in my particular config) results in a file that plays back fine using VLC. When transferred to the Tivo, it shows significant macroblock errors.

The "right" thing to do is to analyze the mpeg bitstream directly, but I'm too lazy.  If I get ambitious, I might replace the ffmpeg calls with calls to mencoder (which generally does a better job, despite using libavutil like ffmpeg!). But I'm not feeling ambitious yet.

Update:

Well, I tried using mencoder with with the settings:

mencoder -of mpeg -mpegopts format=dvd:vaspect=16/9:vframerate=30 -srate 48000 -ofps 30000/1001 -ovc lavc -oac lavc -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:keyint=18:vrc_maxrate=9800:vbitrate=10000:aspect=16/9:acodec=ac3:abitrate=192 Heroes.avi -o Heroes.mpg -endpos 120 -vf scale=1440

..and then letting pyTivo stream that directly (which is !$*%'ing FAST by the way), to no avail. I get odd jerkiness when played on Tivo, but it looks fine locally with VLC.

Mencoder has a lot more options to play with though, so perhaps we can find some workaround using it.


----------



## ScottE

neutral said:


> faad.c: At top level:
> faad.c:130: warning: `faac_init_aac' defined but not used
> gmake[1]: *** [faad.o] Error 1
> gmake[1]: Leaving directory `/usr/pkgsrc/multimedia/ffmpeg/work/ffmpeg-0.4.9-pre1/libavcodec'
> 
> i'll try updating pkgsrc via cvs, maybe my snapshot is bad?


Sorry, I'm not really that familiar with what pkgsrc is building there. You can try asking on [email protected] to see if anyone has any ideas.

Offhand, it looks like you can workaround the issue by removing "-Wall -Werror" from the CFLAGS (in one of the many Makefiles, most likely). That'll let it proceed past the warning.


----------



## neutral

ScottE said:


> Sorry, I'm not really that familiar with what pkgsrc is building there. You can try asking on [email protected] to see if anyone has any ideas.
> 
> Offhand, it looks like you can workaround the issue by removing "-Wall -Werror" from the CFLAGS (in one of the many Makefiles, most likely). That'll let it proceed past the warning.


I did get it past that point, and ffmpeg was compiled. But now when I attempt to execute it I get another error.

I saw this at the end of the make install when building it.

=> Registering installation for ffmpeg-0.4.9pre1nb3
pkg_admin: ffmpeg-0.4.9pre1nb3: File `/usr/pkg/bin/ffserver' is in +CONTENTS but not on filesystem!
pkg_admin: ffmpeg-0.4.9pre1nb3: File `/usr/pkg/lib/libavcodec.la' is in +CONTENTS but not on filesystem!
pkg_admin: ffmpeg-0.4.9pre1nb3: File `/usr/pkg/lib/libavformat.la' is in +CONTENTS but not on filesystem!
pkg_admin: ffmpeg-0.4.9pre1nb3: File `/usr/pkg/man/man1/ffserver.1' is in +CONTENTS but not on filesystem!

And now when I execut ffmpeg, I get this error.

Shared object "libavformat.so.0" not found

I'm going to look into it, but I figured I'd post it incase it's something you've seen already.


----------



## pac_ny

Hi

Great software

Quick question - does anyone have any idea how to direct the PATH statement in the pyTivo.conf file to an external USB drive, which appears in finder as 'MyBook'

can access files stored on local hard disk just fine, by specifying path as / users / name / desktop or similar, but am stumped on connecting to another drive

unfortunately creating an alias doesn't work either

thanks


----------



## mr2828

I hope you keep playing around Scott - there may be a solution.

In the meantime I find the 5 mb/s 720p to be remarkably watchable 99% of the time. I'm going to experiment tonight with some other ffmpeg options directly. Maybe I can get it to use 24 fps as in my source file to help the quality further.

I have run into one other problem though with audio out of sync on the converted files. Sometimes it seems to be out of sync by around a quarter of a second by the time I get near the end of a 40 minute show. It gradually gets worse through the show. Have you seen anything like that, or maybe just my source file is bad?


----------



## mr2828

If there are any options in ffmpeg or other programs to use a very constant bitrate, or to prevent large fluctuations in varying video bitrates that might be worth exploring.


----------



## mr2828

Well I've found that the Tivo Desktop 2.5 (non-Plus) software will transfer over these HD mpeg files without messing with them. I made some 24 fps ones to start with and they went over very fast without reconversion.


----------



## neutral

After the issues I was having with NetBSD and ffmpeg, I decided to build an OpenSUSE box and use that for my pytivo server.

All went well, ffmpeg works great when ran manually. The tivo sees my video share, but when I view the NPL for that share, it's empty. I have videos in that location, I'm confused as to why it shows up empty.

If I run ffmpeg manually, everything seems to work just fine.

ffmpeg -threads 2 -i file.avi -vcodec mpeg2video -r 29.97 -b 10Mi -comment 'Test' -acodec ac3 -ab 448k -ar 48000 -f vob -b_strategy 1 -bf 2 -coder vlc -mbd rd -qmin 1 -aspect 16:9 -s 1440x720 file.mpg seems to work as expected.

So I checked the debug.txt, and this is what it returns.

libavformat version: 51.17.0
built on Oct 27 2007 18:16:02, gcc: 4.2.1 (SUSE Linux)
Input #0, avi, from '/home/neutral/movies/fd.p.x-chwdf.avi':
Duration: 01:46:39.6, start: 0.000000, bitrate: 917 kb/s
Stream #0.0: Video: mpeg4, yuv420p, 576x304 [PAR 1:1 DAR 36:19], 25.00 fps(r)
Stream #0.1: Audio: mp3, 48000 Hz, stereo, 32 kb/s
Must supply at least one output file

video_info: failed at width/height
supported_format: /home/neutral/movies/fd.p.x-chwdf.avi is not supported


----------



## ScottE

neutral said:


> After the issues I was having with NetBSD and ffmpeg, I decided to build an OpenSUSE box and use that for my pytivo server.
> 
> All went well, ffmpeg works great when ran manually. The tivo sees my video share, but when I view the NPL for that share, it's empty. I have videos in that location, I'm confused as to why it shows up empty.
> 
> If I run ffmpeg manually, everything seems to work just fine.
> 
> ffmpeg -threads 2 -i file.avi -vcodec mpeg2video -r 29.97 -b 10Mi -comment 'Test' -acodec ac3 -ab 448k -ar 48000 -f vob -b_strategy 1 -bf 2 -coder vlc -mbd rd -qmin 1 -aspect 16:9 -s 1440x720 file.mpg seems to work as expected.
> 
> So I checked the debug.txt, and this is what it returns.
> 
> libavformat version: 51.17.0
> built on Oct 27 2007 18:16:02, gcc: 4.2.1 (SUSE Linux)
> Input #0, avi, from '/home/neutral/movies/fd.p.x-chwdf.avi':
> Duration: 01:46:39.6, start: 0.000000, bitrate: 917 kb/s
> Stream #0.0: Video: mpeg4, yuv420p, 576x304 [PAR 1:1 DAR 36:19], 25.00 fps(r)
> Stream #0.1: Audio: mp3, 48000 Hz, stereo, 32 kb/s
> Must supply at least one output file
> 
> video_info: failed at width/height
> supported_format: /home/neutral/movies/fd.p.x-chwdf.avi is not supported


The problem is that pyTivo invokes ffmpeg to try and get the dimensions, but it parses them wrong. Old versions of ffmpeg reported like:

Stream #0.0: Video: mpeg4, yuv420p, 576x304, 25.00 fps(r)

New versions use:

Stream #0.0: Video: mpeg4, yuv420p, 576x304 [PAR 1:1 DAR 36:19], 25.00 fps(r)

pyTivo is looking for "WxH,", and so the right square bracket throws it off. You need to edit transcode.py and look for where it's setting rezre before setting width and height (sorry, don't remember the original line number). Change that line to be:

rezre = re.compile(r'.*Video: .+, (\d+)x(\d+) .*')

Basically, just take out the search for the comma after the resolution, and all will be well.

(Overall, pyTivo needs some better error checking...it fails in all kinds of cases, but...why rewrite something that's working 80%?)


----------



## neutral

ScottE said:


> The problem is that pyTivo invokes ffmpeg to try and get the dimensions, but it parses them wrong. Old versions of ffmpeg reported like:
> 
> Stream #0.0: Video: mpeg4, yuv420p, 576x304, 25.00 fps(r)
> 
> New versions use:
> 
> Stream #0.0: Video: mpeg4, yuv420p, 576x304 [PAR 1:1 DAR 36:19], 25.00 fps(r)
> 
> pyTivo is looking for "WxH,", and so the right square bracket throws it off. You need to edit transcode.py and look for where it's setting rezre before setting width and height (sorry, don't remember the original line number). Change that line to be:
> 
> rezre = re.compile(r'.*Video: .+, (\d+)x(\d+) .*')
> 
> Basically, just take out the search for the comma after the resolution, and all will be well.
> 
> (Overall, pyTivo needs some better error checking...it fails in all kinds of cases, but...why rewrite something that's working 80%?)


Worked perfectly, thank you!


----------



## ScottE

mr2828 said:


> Well I've found that the Tivo Desktop 2.5 (non-Plus) software will transfer over these HD mpeg files without messing with them. I made some 24 fps ones to start with and they went over very fast without reconversion.


From a tools-sharing standpoint, you might want to check out MPEG-2 Validator (http://www.geocities.com/gabrielgoc/). I'm trying to see if I can find a correlation between glitches and patterns in the bitstream.

In some quick tests, I see short GOPs around where I see glitches, and occasionally large bitrate spikes (since it's a bit bucket, the encoder sometimes uses LOTS of bits if it has them to spare).

If you (or other folks on this thread) want to take a look at glitchy vs working streams, maybe we can figure out the issue and work around it with mplayer/ffmpeg/transcoder/whatever.


----------



## mr2828

ScottE said:


> From a tools-sharing standpoint, you might want to check out MPEG-2 Validator (http://www.geocities.com/gabrielgoc/). I'm trying to see if I can find a correlation between glitches and patterns in the bitstream.
> 
> In some quick tests, I see short GOPs around where I see glitches, and occasionally large bitrate spikes (since it's a bit bucket, the encoder sometimes uses LOTS of bits if it has them to spare).
> 
> If you (or other folks on this thread) want to take a look at glitchy vs working streams, maybe we can figure out the issue and work around it with mplayer/ffmpeg/transcoder/whatever.


I'm seeing reports of working 720p files if videredo or womble are used. If you have access to one of those, maybe try that, and if it works then compare the differences.


----------



## doconeill

Forgive me, but this thread is huge and I couldn't find what I am looking for.

I'm converting from several hacked DirecTiVos and running tivoserver on my Linux server to a couple TiVoHDs and pyTivo.

I'm used to pre-converting my video files using a modified ffmpeg that creates TY+ files, including the XML data, and a modified video2ty.py script. This allowed me to adjust ffmpeg parameters as needed, and also have the videos have information just like they would if they were normally recorded. It also allowed me to transfer at slightly better than real time over my Wireless-G bridged network.

Will pyTivo accept these TY+ files at all? I think because ffmpeg can create them, but not decode them, pyTivo ignores them.

Otherwise, what is the preferred format that will allow pyTivo to stream the files without doing on-the-fly conversion? Or is it possible?


----------



## WelshSage

pac_ny said:


> Hi
> 
> Great software
> 
> Quick question - does anyone have any idea how to direct the PATH statement in the pyTivo.conf file to an external USB drive, which appears in finder as 'MyBook'
> 
> can access files stored on local hard disk just fine, by specifying path as / users / name / desktop or similar, but am stumped on connecting to another drive
> 
> unfortunately creating an alias doesn't work either
> 
> thanks


Point pyTivo.conf to /Volumes/MyBook/More folders go here

Also, make sure that there are not any spaces in your drive name or any folders that you want pyTivo to read, otherwise it will not see them.


----------



## MT-Hand

WelshSage said:


> Point pyTivo.conf to /Volumes/MyBook/More folders go here
> 
> Also, make sure that there are not any spaces in your drive name or any folders that you want pyTivo to read, otherwise it will not see them.


 There is also a Preference Pane called "Path Snagger" that is very handy for this. It gives you a contextual menu item to copy the full Unix path to the clip board.

It's donation-ware and available at:
http://www.bergenstreetsoftware.com


----------



## Q2112

I can get pytivo.py to run just fine...but I can't get pytivoservice.py to run. I know it's installed because I see it in my services window.

It says " the service did not respond in a timely fashion". That's a very polite error message but I wish it would go away and start the service.

I have even tried going to C:\Python25\Lib\site-packages\win32 and running pythonservice.exe and it says it failed because it can't find python25.dll. I have tried running the repair on the installation and rebooting but still can't get the service to start.

I am using pytivo 182

#######################

I fixed the above problem by uninstalling and reinstalling and this time installing for "ALL USERs" and not just me. But now I have a different error that I will submit a new post for.


----------



## mr2828

ScottE said:


> From a tools-sharing standpoint, you might want to check out MPEG-2 Validator (http://www.geocities.com/gabrielgoc/). I'm trying to see if I can find a correlation between glitches and patterns in the bitstream.
> 
> In some quick tests, I see short GOPs around where I see glitches, and occasionally large bitrate spikes (since it's a bit bucket, the encoder sometimes uses LOTS of bits if it has them to spare).
> 
> If you (or other folks on this thread) want to take a look at glitchy vs working streams, maybe we can figure out the issue and work around it with mplayer/ffmpeg/transcoder/whatever.


I think I'm going to give up on pyTivo and any other software that relies on ffmpeg for my HD -> S3 file needs. Besides pyTivo I've tried a newer version of ffmpeg standalone, and also tried videora xbox 360 converter that also uses ffmpeg. All fail similarly at the higher bitrates.

I'll probably take the rest of this discussion to another thread since it will be non-pyTivo related at this point.


----------



## wgw

ScottE said:


> From a tools-sharing standpoint, you might want to check out MPEG-2 Validator (http://www.geocities.com/gabrielgoc/). I'm trying to see if I can find a correlation between glitches and patterns in the bitstream.
> 
> In some quick tests, I see short GOPs around where I see glitches, and occasionally large bitrate spikes (since it's a bit bucket, the encoder sometimes uses LOTS of bits if it has them to spare).
> 
> If you (or other folks on this thread) want to take a look at glitchy vs working streams, maybe we can figure out the issue and work around it with mplayer/ffmpeg/transcoder/whatever.


I'm hoping someone has time to develop a new version of pyTivo called pyHDtivo.

The limited testing I did seems to indicate that the maximum safe video bitrate HD capable tivo's can handle is 16mbps and maximum safe audio rate is 384kbps.

I'd like to have a pyHDtivo server that checks the video and audio bitrates of the source files and only transcodes mpg files if the bitrates are above 17mbps and 448kbps for video and audio respectively. If the bitrates are at or below these levels, it should pass the file untouched.

For other types of video files that have to be transcoded no matter what, pyHDtivo should check the video bitrate of the source and use a transcoding bitrate that matches the source rather than use a predetermined bitrate.

Since this will result in the occasional mpg that gets passed but will not play on the tivo for whatever reason, a subfolder can be created where the recordings are stored called "force_transcode". The user could then place non-compatible videos in this folder to tell pyHDtivo that you want the video transcoded.

I suppose a quick fix alternative to making pytivo check bitrates might be to create serveral subfolders within the tivo recordings folder using bitrate as the folder name. For example

\\tivo_recordings\4096\video1.mpg
\\tivo_recordings\8192\video2.mpg
\\tivo_recordings\16384\video3.mpg

or

\\tivo_recordings\1080p\video1.mpg
\\tivo_recordings\720p\video2.mpg
\\tivo_recordings\480p\video3.mpg

Then modify the config files to make pytivo obtain the desired bitrate and/or resolution from the folder name instead on using one preset value for all transcoding. This way we could put our videos in whichever folder best defines the bitrate we want to use for transcoding. MPEGValidator could be used to analyze the mpeg stream and then we could drop the video in the folder thats closest to the current bitrate.


----------



## wgw

mr2828 said:


> That might work, if I set it to serve the HD files/share on a different port number. Perhaps the S3 would then pick up both servers on its NPL. I'll give it a shot later tonight.


Using a different port works. I made a copy of my entire pytivo folder and all subfolders. Then changed the port in pytivo.conf as well as the NPL folder name setting. I also pointed it to a different folder on my hard to find files.

However, only one of the 2 pytivo servers shows up in the NPL at a time. But if you stay at the bottom of the NPL and wait 15 seconds for the screen to refresh, the other server name appears. They alternate every 15 seconds.

I need the second config because I'm thinking about trying to hack apart the config files and setup the pyHDtivo server I mentioned above.


----------



## windracer

windracer said:


> Hmmm ... I seem to recall that each TiVo server program has a unique server ID. TiVo.Net lets you change the ID but I wonder if pyTiVo has it hardcoded in.


For those of you trying to run two pyTiVo services at once.

I did a little digging this morning and found that the GUID of the server is set in beacon.py. From looking at the code, it appears that it looks for a GUID setting in the [Server] section of the pyTivo.conf file. If it doesn't find one, it defaults to 123456.

I haven't tried this yet myself, but wgw, try adding a 'GUID=654321' statement to one of your pyTivo.conf files and see if that allows both servers to be seen at once. (Or you can just edit your second beacon.py file and change the hardcoded guid='123456' line).


----------



## MasterCephus

I put this on my PC and run the pyTivo.py and I have two shares: 
C:\movies --which only has xVid files, works perfectly

C:\TV --which has subfolders (multiple in some), all show 0 files 

So when I go into the TV folder, I basically get into a loop where if I choose a subfolder, it just shows me the subfolder that I am in, but remembers how many levels deep I am in the subfolders. It's really weird.

Does pyTivo have a problem with subfolders?


----------



## TreborPugly

If you look back through the thread, you'll see that the TiVo software has a problem with subfolders. When this first appeared, some work-arounds were coded, but evidently the new Tivo software breaks those work-arounds.


----------



## MasterCephus

Ok I see.


Is this application actively updated?


----------



## Q2112

pytivo.py works fine but pytivoservice.py does not.

pytivoservice.py starts and stays running but my video folders defined in the config file do not appear on the TIVO.

any ideas?

I am using version 200.

###########

Ok, I'm not sure what I did but using the pytivo service is now working.


----------



## ScottE

mr2828 said:


> I think I'm going to give up on pyTivo and any other software that relies on ffmpeg for my HD -> S3 file needs. Besides pyTivo I've tried a newer version of ffmpeg standalone, and also tried videora xbox 360 converter that also uses ffmpeg. All fail similarly at the higher bitrates.


After some experimentation yesterday, ffmpeg seems to be working perfectly for me. The issue we were all seeing is that ffmpeg can DRAMATICALLY overshoot the target bitrate when there's a change in scene complexity. Clamping the max bitrate seems to make the glitches go away.

For ffmpeg, this means adding "-maxbitrate 17M -bufsize=1024k". 17M was found experimentally (but seems to match what others have found), and the 1024k buffer size is just a swag. I'm sure there is a more optimal setting.

Using those two additions, the three videos I have which are historically problematic seem to work without issue.


----------



## MasterCephus

> pytivo.py works fine but pytivoservice.py does not.
> 
> pytivoservice.py starts and stays running but my video folders defined in the config file do not appear on the TIVO.
> 
> any ideas?
> 
> I am using version 200.


I am having the same problem. I will try to set the debug.txt and look what the problem is and post what I see when I get home tonight.


----------



## mr2828

ScottE said:


> After some experimentation yesterday, ffmpeg seems to be working perfectly for me. The issue we were all seeing is that ffmpeg can DRAMATICALLY overshoot the target bitrate when there's a change in scene complexity. Clamping the max bitrate seems to make the glitches go away.
> 
> For ffmpeg, this means adding "-maxbitrate 17M -bufsize=1024k". 17M was found experimentally (but seems to match what others have found), and the 1024k buffer size is just a swag. I'm sure there is a more optimal setting.
> 
> Using those two additions, the three videos I have which are historically problematic seem to work without issue.


That sounds sweeeeet. I will try it on my test clip and report back later.

edit: note the correct option is "maxrate"


----------



## mr2828

windracer said:


> For those of you trying to run two pyTiVo services at once.
> 
> I did a little digging this morning and found that the GUID of the server is set in beacon.py. From looking at the code, it appears that it looks for a GUID setting in the [Server] section of the pyTivo.conf file. If it doesn't find one, it defaults to 123456.
> 
> I haven't tried this yet myself, but wgw, try adding a 'GUID=654321' statement to one of your pyTivo.conf files and see if that allows both servers to be seen at once. (Or you can just edit your second beacon.py file and change the hardcoded guid='123456' line).


That seems to have solved it - excellent! Since I have two completely separate pyTivo dirs, with different configs, I just hardcoded the different GUID into the beacon.py file.


----------



## windracer

Excellent! Every now and then I do actually manage to answer a question.


----------



## Terabull

If I missed this in an earlier post I apologize.
I used DVD Shrink, no compression just output a straight VOB.
Renamed to mpg and Tivo Desktop has no problem with it.
So why doesn't pyTivo recognize the file?


----------



## wgw

windracer said:


> For those of you trying to run two pyTiVo services at once.
> 
> I did a little digging this morning and found that the GUID of the server is set in beacon.py. From looking at the code, it appears that it looks for a GUID setting in the [Server] section of the pyTivo.conf file. If it doesn't find one, it defaults to 123456.
> 
> I haven't tried this yet myself, but wgw, try adding a 'GUID=654321' statement to one of your pyTivo.conf files and see if that allows both servers to be seen at once. (Or you can just edit your second beacon.py file and change the hardcoded guid='123456' line).


Thanks Windracer! That did the trick. I changed Guid to 123457 and now both pytivo servers show up at the same time.


----------



## mr2828

mr2828 said:


> That sounds sweeeeet. I will try it on my test clip and report back later.
> 
> edit: note the correct option is "maxrate"


Test 720p file seems to now transcode and play perfectly. ScottE rocks!

I hope the pyTivo author at some point does an "HD" update to the codebase.

One thing I would like would be to configure it all to run at BELOW NORMAL priority in windows.


----------



## Q2112

Terabull said:


> If I missed this in an earlier post I apologize.
> I used DVD Shrink, no compression just output a straight VOB.
> Renamed to mpg and Tivo Desktop has no problem with it.
> So why doesn't pyTivo recognize the file?


 How do you get DVD shrink to output a single VOB file?


----------



## Carl Edman

ScottE said:


> After some experimentation yesterday, ffmpeg seems to be working perfectly for me. The issue we were all seeing is that ffmpeg can DRAMATICALLY overshoot the target bitrate when there's a change in scene complexity. Clamping the max bitrate seems to make the glitches go away.
> 
> For ffmpeg, this means adding "-maxbitrate 17M -bufsize=1024k". 17M was found experimentally (but seems to match what others have found), and the 1024k buffer size is just a swag. I'm sure there is a more optimal setting.
> 
> Using those two additions, the three videos I have which are historically problematic seem to work without issue.


Same results here. Without -maxrate, there were consistent audio/video problems. With it, they all disappeared.

Excellent work! This definitely belongs in the official pyTivo.


----------



## cwbaker

cwbaker said:


> I've install pyTivo according to the instructions but can't seem to get it to work. All I get when I run it is a black DOS box with no messages in it. My stripped down configuration file looks like:
> 
> [Server]
> port=9032
> ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
> [MyMovies]
> type=video
> path=c:\movies
> 
> - Any ideas on what could be wrong, or troubleshooting hints?
> - What am I supposed to see on my PC and on the Tivo?
> - is there something that is supposed to be in the log file? it is zero bytes
> 
> TivoDesktop works fine - I have my computer icon in the NPL and I can move programs back and forth. I assume both of them can run at the same time.
> 
> Thanks.


Does anyone have any troubleshhoting tips for pyTivo? I simply cannot get it to work. See my original message quoted above for details. I've rebooted both boxes. Do not know where to go from here.


----------



## MasterCephus

> Does anyone have any troubleshhoting tips for pyTivo? I simply cannot get it to work. See my original message quoted above for details. I've rebooted both boxes. Do not know where to go from here.


I was playing around last night and I got this problem to...

I just downloaded the zipped version of pyTivo and pointed the ffmpeg link to what was in the \plugin\video\ directory. This caused the same problem you are having.

What I did was I got another version of ffmpeg from somewhere (I think it was a link from videohelp (link here). Once I pointed to this again, it started working properly

It might not help for you, but got me going again.


----------



## gilbreen

I am just joining the Tivo crowd (migrating from ReplayTVs). One of the things that we use alot with our RTVs was a program called DVArchive, a freeware program that lets one offload shows to one's PC and them stream them back to the ReplayTV.

As a result, we have a good number of shows on our PC that we still want to access. My initial thought was to keep one ReplayTV around but then I ran across pyTivo.

I have installed pyTivo on the same PC mentioned above. I have pointed the config file to the folders that contain the ReplayTV mpeg files. On the Tivo, I can see each folder and am able to access the files, transfer them and watch them

My question is this. When I transfer the shows, the green timeline bar (not sure of the real name) stays at 0 (zero). In addition, I can't jump around the show using the FF or RW skip buttons.

Is this normal behavior? If not, is there something else that I must do in order to be able to navigate in the show?

I hope I can sort it out because if I can, then our final ReplayTV's days may be numbered.


----------



## MasterCephus

My transferred movies have the green bar and I can fast forward and rewind.


----------



## mr2828

cwbaker said:


> Does anyone have any troubleshhoting tips for pyTivo? I simply cannot get it to work. See my original message quoted above for details. I've rebooted both boxes. Do not know where to go from here.


I was a bit confused by sometimes getting a blank black cmd.exe box when I ran pyTivo. However in my case it seems to be normal. Once I have that running and then go on my S3 to the Now Playing List I will see the HTTP query pop up in the blank box and the server will appear at the bottom of the now playing list.

Also make sure you are not running the Tivo Desktop software at the same time, and that the Tivo Desktop Server (little icon in your windows taskbar tray) is paused. If you have both running at once you may get unpredictable results, but I haven't tried this myself.


----------



## gilbreen

MasterCephus said:


> My transferred movies have the green bar and I can fast forward and rewind.


That is what I was both afraid of and hopeful to hear. Glad it should work but unfortunate that it isn't for me.

Is there a way to make an mpeg file 'tivo' ready (hopefully freeware)? Perhaps there is something screwy about the actual ReplayTV mepg file in its current format causing the issue.


----------



## greg_burns

gilbreen said:


> Is there a way to make an mpeg file 'tivo' ready (hopefully freeware)?


http://www.videora.com/en-us/Converter/TiVo/


----------



## cr33p

gilbreen said:


> That is what I was both afraid of and hopeful to hear. Glad it should work but unfortunate that it isn't for me.
> 
> Is there a way to make an mpeg file 'tivo' ready (hopefully freeware)? Perhaps there is something screwy about the actual ReplayTV mepg file in its current format causing the issue.


Yeah you can always use videora tivo converter to pre transcode your vids and serve them up via Tivo Desktop software.

Chris


----------



## gilbreen

Well, I ran a file through Videora Tivo converter but no change to the behavior. I even tried letting the show finish transferring but when I played the show, the timeline stayed at zero and I wasn't able to FF or RW.

I may give Tivo.net a shot and see if the issue continues.


----------



## gibbyscott

ScottE said:


> With a small modification to the transcode.py file, pyTivo can transcode to AC3 5.1 just fine. With stereo sources and with 5.1 sources, it does the right thing on my S3. I haven't tried with any other 'odd' input types.


When I try playing back a ac3 encoded .mkv file... I notice it is in dolby digital, but the sounds are coming out of the wrong speakers? Anyone else notice this? The center sounds come out of the right speaker, and the left sounds come out of the left rear surround speak.


----------



## gibbyscott

Carl Edman said:


> Same results here. Without -maxrate, there were consistent audio/video problems. With it, they all disappeared.
> 
> Excellent work! This definitely belongs in the official pyTivo.


I assume you make these changes to your transcode.py file? Could one of you guys post your transcode.py file so others can copy it? Thanks.


----------



## gibbyscott

ScottE said:


> After some experimentation yesterday, ffmpeg seems to be working perfectly for me. The issue we were all seeing is that ffmpeg can DRAMATICALLY overshoot the target bitrate when there's a change in scene complexity. Clamping the max bitrate seems to make the glitches go away.
> 
> For ffmpeg, this means adding "-maxbitrate 17M -bufsize=1024k". 17M was found experimentally (but seems to match what others have found), and the 1024k buffer size is just a swag. I'm sure there is a more optimal setting.
> 
> Using those two additions, the three videos I have which are historically problematic seem to work without issue.


Could you please share with us your transcode.py file with us, or the ffmeg command line you are using?


----------



## PaulS

gibbyscott said:


> Could you please share with us your transcode.py file with us, or the ffmeg command line you are using?


Yes, please! I'd also like to see a working example.


----------



## cr33p

X2


----------



## pmiranda

ScottE said:


> You mean source format is x264 in Matroska, right? Or did you make that the output format (rather than mpeg2video inside an MPEG2PS)?





mr2828 said:


> Yes, the source.


So, both S3's and TiVoHD's have h264 decoders, right? Has anyone tried a config outputting h264 yet to see what happens?

If I ever get the time, my next project will be to set up something to convert .tivo files to mp4 files so I can save more diskspace. If I got my S3 to accept h264, I could compress things on the PC then send them back to TiVo for later consumption. Of course an external drive is probably easier and wouldn't lose all the metadata.

BTW, I've been running TiVo Desktop 2.5.1 and pyTiVo at the same time for a couple days now and haven't had any problems, although I haven't tried doing more than one transfer at once in either direction.


----------



## PaulS

pmiranda said:


> So, both S3's and TiVoHD's have h264 decoders, right? Has anyone tried a config outputting h264 yet to see what happens?
> 
> If I ever get the time, my next project will be to set up something to convert .tivo files to mp4 files so I can save more diskspace. If I got my S3 to accept h264, I could compress things on the PC then send them back to TiVo for later consumption. Of course an external drive is probably easier and wouldn't lose all the metadata.
> 
> BTW, I've been running TiVo Desktop 2.5.1 and pyTiVo at the same time for a couple days now and haven't had any problems, although I haven't tried doing more than one transfer at once in either direction.


I don't think MPEG-4 is possible at this point in time. Way back a ways (perhaps April or so), when JustinThyme noticed that TiVo had accidentally left his transfer settings at "a,a,a" he did a bunch of experimenting. He was able to get a bunch of flavors of MPEG-2 into his TiVo, but he could never get anything MPEG-4 into the S3 successfully. Even though he was running with 8.3 at the time, I suspect things are probably similar now.


----------



## mr2828

gibbyscott said:


> Could you please share with us your transcode.py file with us, or the ffmeg command line you are using?


I modified transcode.py. Here is mine:

cmd = [FFMPEG, '-i', inFile, '-vcodec', 'mpeg2video', '-r', '29.97', '-b', VIDEO_BR, '-maxrate', '17Mi', '-bufsize', '1024k'] + select_aspect(inFile, tsn) + ['-comment', 'pyTivo.py', '-ac', '2', '-ab', AUDIO_BR,'-ar', '44100', '-f', 'vob', '-' ]

In pyTivo.conf I am using video_br of 14Mi, width 1280, height 720.


----------



## PaulS

mr2828 said:


> I modified transcode.py. Here is mine:
> 
> cmd = [FFMPEG, '-i', inFile, '-vcodec', 'mpeg2video', '-r', '29.97', '-b', VIDEO_BR, '-maxrate', '17Mi', '-bufsize', '1024k'] + select_aspect(inFile, tsn) + ['-comment', 'pyTivo.py', '-ac', '2', '-ab', AUDIO_BR,'-ar', '44100', '-f', 'vob', '-' ]
> 
> In pyTivo.conf I am using video_br of 14Mi, width 1280, height 720.


Thanks! I'll give this a shot tonight and report.

Without the maxrate setting, I was getting audio/video break-ups at scene changes. After each of these break-ups, the audio would lag more and more. So, after playing an hour or so of video, the audio would be lagging the video by perhaps a full second or more.

Does that sound like the same behavior you were seeing ?


----------



## gilbreen

Just reporting back with the issue I am seeing when viewing ReplayTV files via pyTivo where the timeline stays pegged at zero and I am not able to FF or RW.

I installed Tivo.net and saw the same behavior so it appears the issue lies with the ReplayTV mpeg files.

To confirm, I added an avi video file to one of the pyTivo shared folders. When I viewed that file from the Tivo, the green bar did not stay pegged at zero and I was able to use FF and RW.

Not sure what could be causing the problem but may have to hold on to our one ReplayTV longer than I originally had hoped.


----------



## gibbyscott

I have confirmed that when decoding then re-encoding a .mkv ac3 5.1 file with ffmpeg, it screws up the sounds channels (or moves them around to the wrong position)! For example, Front left moves to center, front right moves to surround left, center moves to front left, surround right moves to sub, surround left moves to surround right, and sub moves to front left!!!!

Has anyone else noticed this? Someone else must have noticed this, right?

Here is the command I used...

ffmpeg -threads 2 -i test.mkv -vcodec mpeg2video -r 29.97 -b 14Mi -maxrate 17M -bufsize 1024k -comment 'Test' -acodec ac3 -ab 448k -ar 48000 -f vob -b_strategy 1 -bf 2 -coder vlc -mbd rd -qmin 1 -aspect 16:9 -s 1440x720 file.mpg


----------



## wgw

mr2828 said:


> I modified transcode.py. Here is mine:
> 
> cmd = [FFMPEG, '-i', inFile, '-vcodec', 'mpeg2video', '-r', '29.97', '-b', VIDEO_BR, '-maxrate', '17Mi', '-bufsize', '1024k'] + select_aspect(inFile, tsn) + ['-comment', 'pyTivo.py', '-ac', '2', '-ab', AUDIO_BR,'-ar', '44100', '-f', 'vob', '-' ]
> 
> In pyTivo.conf I am using video_br of 14Mi, width 1280, height 720.


Here is mine with ac3 5.1 audio.

cmd = [FFMPEG, '-i', inFile, '-vcodec', 'mpeg2video', '-r', '29.97', '-b', VIDEO_BR, '-maxrate', '17Mi', '-bufsize', '1024k'] + select_aspect(inFile, tsn) + ['-comment', 'pyTivo.py', '-acodec', 'ac3', '-ab', AUDIO_BR, '-ar', '48000', '-f', 'vob', '-']

With options in pyTivo.conf:
audio_br=384K
video_br=14Mi
width=1280
height=720
aspect169=true

If you really want to try to max out the quality you can use this one with the extra strategies at the end, but it increases encoding time by 50 percent.

cmd = [FFMPEG, '-i', inFile, '-vcodec', 'mpeg2video', '-r', '29.97', '-b', VIDEO_BR, '-maxrate', '17Mi', '-bufsize', '1024k'] + select_aspect(inFile, tsn) + ['-comment', 'pyTivo.py', '-acodec', 'ac3', '-ab', AUDIO_BR, '-ar', '48000', '-f', 'vob', '-b_strategy', '1', '-bf', '2', '-coder', 'vlc', '-mbd', 'rd', '-qmin', '1', '-']


----------



## MasterCephus

Has anyone got the pyTivoService running with the new 9.2 software on a Series 3 Tivo?

I run it, but nothing comes up in my Tivo. I can run the regular pyTivo.py and that works perfectly. There are no errors so I don't know where to start to debug. Anyone have a clue where to start?


----------



## Chew

MasterCephus said:


> Has anyone got the pyTivoService running with the new 9.2 software on a Series 3 Tivo?


I have both a S2 and a S3 and had been using Service for months just fine on the S2. As soon as the switch was flipped for the S3, pyTiVo showed right up in my NPL (at the time I had 9.1). I've since been upgraded to 9.2 and it's still running great.

Now I just have to do that 5.1 audio update.


----------



## PaulS

Didn't have a lot of time to fool around with pyTivo last night (trick or treating took most of the night), but did manage to get some things done.

The adjusted ffmpeg2 parameters look good, after a very small amount of viewing. I used settings that are exactly the same as what wgw just posted.

I could get two pyTivo services to run simultaneously, but only one would be recognized by my S3. So far, I've created two pyTivo directories, one for SD and one for HD. Here are my changes to date, in addition to the transcode.py changes listed in the previous posts :

SD configs :

c:\pytivo-201-sd\pyTivo\pyTivo.conf
port=9032
ffmpeg=c:\pytivo-201-sd\pyTivo\plugins\video\ffmpeg_mp2.exe
audio_br=384K
video_br=5Mi
width=720
height=480
aspect169=true

[SD-Sources]
type=video
path=c:\videos-SD​
c:\pytivo-201-sd\pyTivo\beacon.py
guid="123456"​
c:\pytivo-201-sd\pyTivo\pyTivoService.py
_svc_name_ = 'pyTivo-SD'
_svc_display_name_ = 'pyTivo-SD'​
HD configs :

c:\pytivo-201-hd\pyTivo\pyTivo.conf
port=9034
ffmpeg=c:\pytivo-201-hd\pyTivo\plugins\video\ffmpeg_mp2.exe
audio_br=384K
video_br=14Mi
width=1280
height=720
aspect169=true

[HD-Sources]
type=video
path=c:\videos-HD​
c:\pytivo-201-hd\pyTivo\beacon.py
guid="654321"​
c:\pytivo-201-hd\pyTivo\pyTivoService.py
_svc_name_ = 'pyTivo-HD'
_svc_display_name_ = 'pyTivo-HD'​
So, I've changed the service port, service name, the GUID, and paths to ffmpeg and the content. Both services appear in the Windows services list, are automatic, and are started. However, my S3 will only show one service (may be alternating between the two, not sure yet).

I've just noticed that the add_service() call in pyTivoService.py uses the "port" variable, while the add_service() call in beacon.py uses a hard-coded value of 9032. This doesn't seem right to me.

Also, should Config.py::def getValidWidths(): be modified to allow for widths of 1280 ? My read of the code seems to lead me to believe that specifying 1280 will actually result in a value of 1440 (the closest to 1280) being passed into ffmpeg. Is this true ?

I write C code for a living, so I can kinda follow the code paths. However, I really don't grok python, so I'm unsure of how to make the most "clean" changes to the scripts to get these things done.


----------



## PaulS

MasterCephus said:


> Has anyone got the pyTivoService running with the new 9.2 software on a Series 3 Tivo?
> 
> I run it, but nothing comes up in my Tivo. I can run the regular pyTivo.py and that works perfectly. There are no errors so I don't know where to start to debug. Anyone have a clue where to start?


Yes. I'm running 9.2 on my S3, running with pyTivo-201, as you can see in my previous post (above).


----------



## Laserfan

wgw said:


> ... the maximum safe video bitrate HD capable tivo's can handle is 16mbps and maximum safe audio rate is 384kbps. I'd like to have a pyHDtivo server that checks the video and audio bitrates of the source files and only transcodes mpg files if the bitrates are above 17mbps and 448kbps for video and audio respectively.


This is very confusing to me: prior to Tivo Desktop I've been recording ATSC with a MyHD card and HDHomeRun and all the bitrates I see are about 15Mbps. Then I process a .tivo file from my S3 and it's at 18.5Mbps? How does that happen--does the .tivo file include null packets or something to drive the bitrate up that high? And if you just re-process the file to an .mpg and put it back on the Tivo, why wouldn't it play...it CAME FROM the Tivo originally!!!


----------



## bubba1972

Is anyone seeing fast forward problems when viewing web downloaded mpeg 2 files that have been pushed back to an S3? I have tried WinAVI, TivoDesktop Plus, and now PyTivo and cannot create an mpeg that the S3 can fastforward through correctly. They all play and fast forward just fine on my S2. On the S3, they will play, but when fast forwarding at 2x or 3x it appears that the time bar is moving faster than the video. When you hit play, the time bar backs up a little as you would expect, but the video jumps much further ahead then where you were when hitting play. Fast forwarding at 1x doesn't seem any faster than real time playback. I forced the pyTivo script to re-encode a 'tivo compatible' mpeg 2 and I get the same results. I can't believe I am the only one seeing this.


----------



## MasterCephus

> Yes. I'm running 9.2 on my S3, running with pyTivo-201, as you can see in my previous post (above).


Interesting because I am using the exact same version of pyTivo and nothing shows up on my Tivo...

I do have a series 2 and a series 3...would that make a difference? I wouldn't think so becasue when I run the pyTivo.py file, everything works perfectly...

EDIT:

I read somewhere that the Tivo desktop needs to be paused...is that true?
Any help would be appreciated!


----------



## bubba1972

Just to add to my post above, I see the ff problems when converting at 720x480 and 704x480. I tried the HD resolution of 1280x720 and the ff and rw behavior was correct. The resolution was the only change made in the config file. Any ideas on what can be done to the SD mpegs to get them to shuffle correctly for me?


----------



## cr33p

MasterCephus said:


> Interesting because I am using the exact same version of pyTivo and nothing shows up on my Tivo...
> 
> I do have a series 2 and a series 3...would that make a difference? I wouldn't think so becasue when I run the pyTivo.py file, everything works perfectly...
> 
> EDIT:
> 
> I read somewhere that the Tivo desktop needs to be paused...is that true?
> Any help would be appreciated!


I too have recently loaded pytivo on some additional pc's for friends and even though the service is up and running nothing shows up in the NPL, unless I launch pytivo manually, my existing box still works after all updates since 7.x. I dont understand what the problem is though.


----------



## ScottE

gibbyscott said:


> I have confirmed that when decoding then re-encoding a .mkv ac3 5.1 file with ffmpeg, it screws up the sounds channels (or moves them around to the wrong position)! For example, Front left moves to center, front right moves to surround left, center moves to front left, surround right moves to sub, surround left moves to surround right, and sub moves to front left!!!!


The problem is that ffmpeg doesn't know HOW to map those channels in the mkv file to AC3. There are probably extra arguments you can give it to tell it what input channel maps to which output, but I don't know then offhand.

For the 5.1 files that I have (mostly MPEG2 or h264), it seems to map the audio correctly.


----------



## ScottE

The ffmpeg line I'm using is:

cmd = [FFMPEG, '-threads', '2', '-i', inFile, '-vcodec', 'mpeg2video', '-r', '29.97'] + select_aspect(inFile, tsn) + ['-comment', 'pyTivo.py', '-acodec', 'ac3', '-ab', AUDIO_BR,'-ar', '48000', '-f', 'vob', '-b_strategy', '1', '-bf', '2', '-coder', 'vlc', '-mbd', 'rd', '-qmin', '1', '-maxrate', '17M', '-bufsize', '1024k', '-b', VIDEO_BR, '-' ]

This works great for me (~45fps) on my E6600 (Dual core 2.4GHz) running NetBSD. pyTivo.conf contains:

audio_br=448k
video_br=8Mi
width=1280
height=720

Depending on your particular system, you might see additional performance increases by adjusting the buffer size used by the pipe that ffmpeg writes to. Just below the "cmd =" line, I changed the ffmpeg call to be:

ffmpeg = subprocess.Popen(cmd, bufsize=512*1024, stdout=subprocess.PIPE)

(added the "bufsize=" argument)

When streaming to Tivo, this reduces the CPU time consumed by the Python interpreter dramatically.

I've put those two files (my transcode.py and pyTivo.conf) at http://intrepid.warped.com/~scotte/visible/pyTivo/ in case my explanation above doesn't make any sense.


----------



## PaulS

I finally got both pyTivo services up and running. One service for SD (720x480 @ 5Mpbs) running on the default port 9032, and one for HD (1280x720 @ 14Mbps) running on port 9034. They both appear at the bottom of my Now Playing List, along with the folder for TiVo Desktop. It's starting to get a little busy down there... 

The python scripts sometimes use the "port" variable defined in pyTivo.conf, and sometimes they use a hard-coded value of 9032. This is obviously incorrect. I'd like to fix it, but as I said I'm a C code monkey, not a python code monkey. 

There may also have been a conflict with the GUID variable. It's possible to assign it in the pyTivo.conf file, but the default file doesn't specify it. I went with the shotgun approach of defining the variable in the config file, as well as modifying the default value in the beacon.py script.

I'm attaching both the SD and HD sources, should anyone want to use them or make the appropriate changes in the pyTivo sources. There's enough changes that simply listing the diffs would be tedious and error-prone. Anyone who wants to use this set up should just have to overlay the appropriate files, change the paths in my pytivo.conf to their pathing, and plunk in copy of ffmpeg2.exe into the pytivo/plugins/video directory. I didn't enclose it since it's 7MB in size.


The only issue I'm still seeing now on the 1280x720 transfers is the audio lagging over the course of playback. At the start, audio and video are synched up. Over the course of playback, the audio will slowly slip. At the end of an hour, the audio's probably lagging the video by about a second or so.


----------



## wgw

MasterCephus said:


> Has anyone got the pyTivoService running with the new 9.2 software on a Series 3 Tivo?
> 
> I run it, but nothing comes up in my Tivo. I can run the regular pyTivo.py and that works perfectly. There are no errors so I don't know where to start to debug. Anyone have a clue where to start?


Windows Firewall is probably blocking it.

Start the service by typing pytivoservice.py debug

A firewall window should popup asking if you want to Keep Blocking or Unblock. Select Unblock.

Start the service normally thereafter.

Or you can open Windows Firewall through the Control Panel and allow pythonservice on the Exceptions tab.


----------



## wgw

PaulS said:


> There may also have been a conflict with the GUID variable. It's possible to assign it in the pyTivo.conf file, but the default file doesn't specify it. I went with the shotgun approach of defining the variable in the config file, as well as modifying the default value in the beacon.py script.


Oh, I see what you mean, it checks config then defaults. I've added "guid = xxxxxx" after the port variable and returned my beacon.py file to original state. Thanks, it's working fine. :up:


----------



## MasterCephus

> Windows Firewall is probably blocking it.
> 
> Start the service by typing pytivoservice.py debug
> 
> A firewall window should popup asking if you want to Keep Blocking or Unblock. Select Unblock.
> 
> Start the service normally thereafter.
> 
> Or you can open Windows Firewall through the Control Panel and allow pythonservice on the Exceptions tab.


That did it...maybe that should be added to the wiki over at the other site so people will know about that...

I appreciate your help!


----------



## russellneufeld

Hi all, 

I've upgraded to python 2.5.1 on my Mac and am running pyTivo from pyTivo-201.zip. The video folder I'm sharing shows up in the NPL of my Series3 Tivo, however it's empty. No matter what I do I can't seem to make the videos in that folder show up on the Tivo listing. Any ideas? There are two mpeg-2 file in that directory which I downloaded from the same tivo. They have spaces in their file names. Not sure if that matters.

I've read through a bunch of the recent posts and didn't see an answer. Sorry if this topic has been discussed ad nauseum.

Thanks in advance,

Russ


----------



## gibbyscott

ScottE said:


> The problem is that ffmpeg doesn't know HOW to map those channels in the mkv file to AC3. There are probably extra arguments you can give it to tell it what input channel maps to which output, but I don't know then offhand.
> 
> For the 5.1 files that I have (mostly MPEG2 or h264), it seems to map the audio correctly.


Yes, for the life of me, I can not find any info on changing positions, etc. There is a map option, but it is for selecting which audio stream to encode, not the actually speaker positions.

I am really supprised that not more people have complained of this. I guess not many people are trying to transcode .mkv files.

Just to make sure that I am not crazy, does the same happen to you when you transcode .mkv? I tried it on 2 different pc's and the same thing happens on both.


----------



## AnonymousTroll

pyTivo seems to hold a rather tight lock on the folders that it is publishing. I have found that in order to make any changes in the folder, I have to stop the pyTivo service.


----------



## wgw

MasterCephus said:


> That did it...maybe that should be added to the wiki over at the other site so people will know about that...
> 
> I appreciate your help!


No problem, glad to help. I had never tried to run the pytivo service until I read about everyone having trouble. So I gave it try myself and found I had the same problem. I don't remember what I typed on the command line to get the options to show up but saw the debug option and gave it a try and it worked. I like to try and solve problems when if I can and got lucky this time.

Windracer seems to like a puzzle as well. Now that I re-read his post, he even said at the time that guid can be specified in the conf file. I missed that. Thanks bud.

Cheers!


----------



## windracer

wgw said:


> Windracer seems to like a puzzle as well. Now that I re-read his post, he even said at the time that guid can be specified in the conf file. I missed that. Thanks bud.


I was wondering if anyone was going to remember that.   :up:


----------



## mr2828

PaulS said:


> I finally got both pyTivo services up and running.
> 
> The only issue I'm still seeing now on the 1280x720 transfers is the audio lagging over the course of playback. At the start, audio and video are synched up. Over the course of playback, the audio will slowly slip. At the end of an hour, the audio's probably lagging the video by about a second or so.


After considering running two servers I eventually just decided to run one HD one, and just let all my SD files get upconverted to 1280x720. Sure it takes a while longer to encode and will take up more space on the S3's drive, but well *shrug*. 

Regarding audio sync, as an experiment try adding this to your ffmpeg command line: "-async 48000". I'm also experimenting with HD audio sync at the moment, but it is hard because my PC is so old I can't play back the source files properly, and can't tell if any audio sync issues I see on the S3 are due to the transcoding or were in the original source...


----------



## mr2828

One other experiment I want to try is removing the part of the ffmpeg command line where it forces all the output to a framerate of 29.97 fps instead of just leaving it the same as the input file. Many of my input files use ~24 fps. Anyone tried removing this option from the command line?


----------



## wgw

I could not find a way to start pyTivoService in below normal priority. But I found a way to launch pyTivo.py that works just the same. This will result in ffmpeg running in below normal priority so that you can actually still use your computer while it is encoding.

You will need to create 4 text files in your pytivo folder. You can put them anywhere, but this example uses the pyTivo application folder on drive F. You will have to adjust the paths to match your configuration.

1. create file PyStart.bat. Edit the file and copy/paste the following:
wscript.exe "f:\pytivo\hidden.vbs" "f:\pytivo\py.bat"

2. create file hidden.vbs. Edit the file and copy/paste the following:
CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False

3. create file Py.bat. Edit the file and copy/paste the following:
f:\pytivo\pylow.bat

4. create file Pylow.bat. Edit the file and copy/paste the following:
start /belownormal /b c:\python25\python.exe f:\pytivo\pytivo.py -i input.dat

Or download the files I've attached.

That's it. Double click on pyStart.bat. pyTivo will start in a hidden window at below normal priority. You may want to put a shortcut in your Windows Startup folder that points to pyStart.bat so that it will load every time you start your computer. I have only tested this with Windows XP.

If you are running multiple instances of pyTivo, just add extra lines to PyLow.bat to launch each additional pyTivo server.

To forcefully terminate any open instances of pyTivo/python each time you start pyTivo, add the following line to the top of pylow.bat.
taskkill /IM python.exe /FI "pid gt 0" /F

When you want to run pyTivo at low priority, but not in a hidden window, just double click on pylow.bat.


----------



## mutatedmonkey

I have a P4/2.4GHz with 512MB of RAM.

Running pyTivo 2.1 under Ubuntu, I can transcode video to my Tivo faster than real time, and in fact, almost 2x (~35-40fps)

With the same hardware under FreeBSD 6.2, I can only get about 20fps transcoding the same exact video. 

What gives?


----------



## cmonroe

mutatedmonkey said:


> I have a P4/2.4GHz with 512MB of RAM.
> 
> Running pyTivo 2.1 under Ubuntu, I can transcode video to my Tivo faster than real time, and in fact, almost 2x (~35-40fps)
> 
> With the same hardware under FreeBSD 6.2, I can only get about 20fps transcoding the same exact video.
> 
> What gives?


That's interesting, I was wondering why performance on my FreeBSD box was so low (15 fps or so 2Ghz CPU). One thing I notice is that ffmpeg only gets about 3/5 of the CPU time, the other 2/5 or so goes to pyTivo. Isn't pyTivo just spawning a system process of ffmpeg using subprocess and therefor it should be nearly idle during transcoding? Maybe something is broken/different with regards to the BSD Python port and that accounts for our increased CPU and in turn lower frame rates. Is this behavior seen on flavors of Linux?


----------



## cmonroe

BTW, try using the 'top' command on your FreeBSD and Linux boxes, check how much CPU time goes to ffmpeg and how much to pyTivo after say 5 minutes of transcoding.


----------



## mutatedmonkey

I did run "top" and, in fact, python is taking quite a bit of the CPU time.

I'm not much of a programmer, so I'm not sure what the difference is between Ubuntu and FreeBSD in terms of Python implementation.


----------



## cmonroe

Do you still have a Linux box with pyTivo around ( or someone else on here willing to check it out )? I'm curious if pyTivo uses little to no CPU time on Linux. If so I might have to do some digging on my FreeBSD box to see what the problem is.


----------



## mutatedmonkey

I use the same box for both FreeBSD and Linux to figure out which one will work best for a file server/bittorrent downloader/pytivo transcoder.

I just use two 40GB hard drives, with either FreeBSD 6.2 on one and Ubuntu Server 7.10 on the other.

The Python pytivo process definitely takes much less CPU when transcoding under Linux.


----------



## mr2828

wgw thanks for that info on how to start things with lower priority automatically.


----------



## mutatedmonkey

ScottE said:


> The ffmpeg line I'm using is:
> 
> cmd = [FFMPEG, '-threads', '2', '-i', inFile, '-vcodec', 'mpeg2video', '-r', '29.97'] + select_aspect(inFile, tsn) + ['-comment', 'pyTivo.py', '-acodec', 'ac3', '-ab', AUDIO_BR,'-ar', '48000', '-f', 'vob', '-b_strategy', '1', '-bf', '2', '-coder', 'vlc', '-mbd', 'rd', '-qmin', '1', '-maxrate', '17M', '-bufsize', '1024k', '-b', VIDEO_BR, '-' ]
> 
> This works great for me (~45fps) on my E6600 (Dual core 2.4GHz) running NetBSD. pyTivo.conf contains:
> 
> audio_br=448k
> video_br=8Mi
> width=1280
> height=720
> 
> Depending on your particular system, you might see additional performance increases by adjusting the buffer size used by the pipe that ffmpeg writes to. Just below the "cmd =" line, I changed the ffmpeg call to be:
> 
> ffmpeg = subprocess.Popen(cmd, bufsize=512*1024, stdout=subprocess.PIPE)
> 
> (added the "bufsize=" argument)
> 
> When streaming to Tivo, this reduces the CPU time consumed by the Python interpreter dramatically.
> 
> [/QUOTE=ScottE]
> 
> Adding the "bufsize=" etc fixed the overly high python usage under FreeBSD, but it screwed up the audio sync.
> 
> Adding -async 48000 fixed the sync issues.
> 
> Looks like all is well now.


----------



## cmonroe

Nice find! Works great for me too.


----------



## Tico

mr2828 said:


> Regarding audio sync, as an experiment try adding this to your ffmpeg command line: "-async 48000". I'm also experimenting with HD audio sync at the moment,


Where do you input the ffmped command line?


----------



## wgw

I just noticed a new version of pyTivo was released yesterday. It defaults maxrate to 17M and bufsize to 1024k. It also supports Per tivo height/width, and Per tivo audio video bitrates. Thanks armooo!

http://pytivo.armooo.net/


----------



## russellneufeld

Hi all,

I've been trying to get some wmv files to transcode and download to my TiVo. No luck. Here's the output:



Code:


FFmpeg version CVS, Copyright (c) 2000-2004 Fabrice Bellard
Mac OSX universal build for ffmpegX
  configuration:  --enable-mp3lame --enable-gpl --disable-vhook --disable-ffplay --disable-ffserver --enable-a52 --enable-xvid --enable-faac --enable-faad --enable-amr_nb --enable-pthreads --enable-x264 
  libavutil version: 49.0.0
  libavcodec version: 51.9.0
  libavformat version: 50.4.0
  built on Apr 15 2006 08:41:02, gcc: 3.3 20030304 (Apple Computer, Inc. build 1666)

Seems that stream 1 comes from film source: 1000.00 (1000/1) -> 25.00 (25/1)
Input #0, asf, from '/Volumes/Innie 300/russellneufeld/Movies/TV Shows/jkluc1.wmv':
  Duration: 00:03:23.1, start: 5.000000, bitrate: 187 kb/s
  Stream #0.0: Audio: wmav2, 16000 Hz, stereo, 20 kb/s
  Stream #0.1, 25.00 fps(r): Video: WMV3 / 0x33564D57, 384x288
Output #0, vob, to 'pipe:':
  Stream #0.0, 29.97 fps(c): Video: mpeg2video, yuv420p, 544x480, q=2-31, 4096 kb/s
  Stream #0.1: Audio: mp2, 44100 Hz, stereo, 192 kb/s
Stream mapping:
  Stream #0.1 -> #0.0
  Stream #0.0 -> #0.1
[mpeg2video @ 0x45a630]bitrate above max bitrate
Error while opening codec for output stream #0.0 - maybe incorrect parameters such as bit_rate, rate, width or height

Anyone got any ideas? Stupid question - do I not have wmv support in my version of ffmpeg? (I haven't checked if there's a --enable-wmv option.)

Here's the relevant lines from debug.tsxt:



Code:


select_aspect: File
= /Volumes/Innie 300/russellneufeld/Movies/TV Shows/jkluc1.wmv  Type= WMV3 / 0x33564D57  width= 384  height= 288  fps= 25.00  millisecs= 203100  ratio= 133  rheight= 3  rwidth= 4 
select_aspect: File is within 4:3 list.
transcode: ffmpeg command is  /Applications/ffmpegX.app/Contents/Resources/ffmpeg-i/Volumes/Innie 300/russellneufeld/Movies/TV Shows/jkluc1.wmv-vcodecmpeg2video-r29.97-b4096K-maxrate17M-bufsize1024k-aspect4:3-s544x480-commentpyTivo.py-ac2-ab192K-ar44100-fvob-

Thanks in advance,

Russ


----------



## wgw

ScottE said:


> The ffmpeg line I'm using is:
> 
> cmd = [FFMPEG, '-threads', '2', '-i', inFile, '-vcodec', 'mpeg2video', '-r', '29.97'] + select_aspect(inFile, tsn) + ['-comment', 'pyTivo.py', '-acodec', 'ac3', '-ab', AUDIO_BR,'-ar', '48000', '-f', 'vob', '-b_strategy', '1', '-bf', '2', '-coder', 'vlc', '-mbd', 'rd', '-qmin', '1', '-maxrate', '17M', '-bufsize', '1024k', '-b', VIDEO_BR, '-' ]
> 
> This works great for me (~45fps) on my E6600 (Dual core 2.4GHz) running NetBSD. pyTivo.conf contains:
> 
> audio_br=448k
> video_br=8Mi
> width=1280
> height=720
> 
> Depending on your particular system, you might see additional performance increases by adjusting the buffer size used by the pipe that ffmpeg writes to. Just below the "cmd =" line, I changed the ffmpeg call to be:
> 
> ffmpeg = subprocess.Popen(cmd, bufsize=512*1024, stdout=subprocess.PIPE)
> 
> (added the "bufsize=" argument)
> 
> When streaming to Tivo, this reduces the CPU time consumed by the Python interpreter dramatically.
> 
> I've put those two files (my transcode.py and pyTivo.conf) at http://intrepid.warped.com/~scotte/visible/pyTivo/ in case my explanation above doesn't make any sense.


By the way, thanks for providing the ffmpeg commands for the ac3 and extra video strategies. It's been very helpful. And it eliminated the audio frame errors reported by VideoReDo when re-writing the Tivo file to an mpg. The errors might be caused by minimum GOP lengths of 1 output by the default pyTivo command while your command results in minimum length 2. At least that's what I noticed in PVAStrumento. EDIT: Doh, should have tested more files. Resync errors are obviously quite common, especially so when altering original framerate.

After testing different bitrates I found that 8Mi or 14Mi both yield the same output file with basically the same bitrates and quality as reported by ffmpeg. My strategy of trying to adjust the bitrate to improve quality was obviously flawed since ffmpeg tries to compress as much as it can regardless of bitrate setting. So I looked for an alternative and found the -qscale setting in the ffmpeg documentation. Which leads me to my question.

Have you tried the qscale setting? I found that by just deleting the bitrate setting ('-b', video_br) from pyTivo's ffmpeg command and replacing it with ('-qscale', '1.4'), it yields an output with equal or better "q" average and a higher average bitrate than using your command at bitrate 8Mi with b_strategy etc... And encoding takes the same amount of time. The difference in file size between the two commands is also negligable. I've only tried it on a few one minute clips but it looks promising. One note of caution though, qscale settings above 1.4 result in the same audio frame errors I described above. You can use settings as low as 0.1, but I doubt there would be enough benefit to justify the extra encoding time.

By only specifying qscale and not bitrate, it appears that ffmpeg uses as high a bitrate as it needs to try to achieve the qscale setting specified, but also adheres to the maxrate 17M setting. Sounds perfect for HD Tivo users who are more concerned about quality than compression. If that is how it works, armooo may want to consider adding a High_Quality option to the conf. If the user says yes, I want highest quality rather than compression, replace the bitrate command with qscale=1.3.

Another benefit to this approach is that it should minimize any additional loss in quality when re-encoding low quality video sources.

Unless you know of any drawbacks to using qscale, I think I'll be replacing my various bitrate servers with a single qscale=1.3 server.


----------



## Chew

wgw said:


> I just noticed a new version of pyTivo was released yesterday. It defaults maxrate to 17M and bufsize to 1024k. It also supports Per tivo height/width, and Per tivo audio video bitrates. Thanks armooo!
> 
> http://pytivo.armooo.net/


I was just going to question what the new version updated.

Does it address 5.1 too?


----------



## PaulS

Chew said:


> I was just going to question what the new version updated.
> 
> Does it address 5.1 too?


Nope. The only changes in pyTivo-205 are the ones that wgw laid out :

defaults maxrate to 17M 
defaults bufsize to 1024k

Per tivo height/width
Per tivo audio bitrate
Per tivo video bitrate


----------



## mitch2k2

probably a stupid question, but does installing a new version of pytivo require a new config file?


----------



## s2kdave

is it just me or do the files that you transfer to a S3 using pyTivo make it so the fast forward or rewind then hitting play to resume is on a different scale than shows recorded on the tivo itself. I fast forward 3 times and then hit play and it's way off from the location where I hit play. It's almost as if the offsets are magnified. I end up having to rewind for almost a minute or two worth of video content to get it to the point where it should have resumed. My workaround is to use the slower fast forward and it's a little easier to control, but still acts a little quirky.

Just wondering if I'm the only one with this problem. 

David


----------



## PaulS

s2kdave said:


> is it just me or do the files that you transfer to a S3 using pyTivo make it so the fast forward or rewind then hitting play to resume is on a different scale than shows recorded on the tivo itself. I fast forward 3 times and then hit play and it's way off from the location where I hit play. It's almost as if the offsets are magnified. I end up having to rewind for almost a minute or two worth of video content to get it to the point where it should have resumed. My workaround is to use the slower fast forward and it's a little easier to control, but still acts a little quirky.
> 
> Just wondering if I'm the only one with this problem.
> 
> David


The files that I've transferred over seem to behave correctly. I'm using ScottE's settings, and all is well.

What resolution, bandwidth and settings are you using ?


----------



## gonzotek

The FF/RW effect s2kdave described has happened to my transcoded (divx/xvid)+(mp3/ogg) avi's on my S2DT. This is with the '201' version that was the current main build until this month, as well as the subfolder branch.

This is wild speculation, but could it have anything to do with the number of key frames ffmpeg will output to the stream?


----------



## s2kdave

Yes, what I was describing was not the release that just came out a couple days ago. I'll have to double check the version when I get home. I'll also try the new version and see if I get the same problems. It was a transcoded avi that I had the problems with too. Not sure offhand what the audio and video codec was for the avi though. I believe it was an xvid.


----------



## Chew

I haven't updated to 205 just yet. The only change I've made to the settings is the previously posted "no video" on 16x9 workaround.

I'm having the same FF/REW issue: I try to FF through podcast credits, press play, and end up 3 minutes ahead!

This has only been happening for the last week or two though.


----------



## grahamkent

Did anyone else have any trouble getting 205 to work? I replaced the pyTivo folder with the contents of the 205 zip from Armoo's site and the service is running perfectly when I browse from my TivoHD, but when I try to transfer a video I get the following error:

File "C:\Program Files\pyTivo\plugins\video\transcode.py", line 91, in select_aspect
multiplier16by9 = (16.0 * TIVO_HEIGHT) / (9.0 * TIVO_WIDTH)
TypeError: can't multiply sequence by non-int of type 'float'

I was able to hack transcode.py and convert each instance of TIVO_HEIGHT and TIVO_WIDTH to variables of type 'float', but then it seemed that each of the videos I transferred were cut off prematurely.

Any advice?


----------



## TheAmigo

> File "C:\Program Files\pyTivo\plugins\video\transcode.py", line 91, in select_aspect
> multiplier16by9 = (16.0 * TIVO_HEIGHT) / (9.0 * TIVO_WIDTH)
> TypeError: can't multiply sequence by non-int of type 'float'


It's a bug in 205 related to support for per-tivo options. Try commenting out the width in your config file.

It also seems odd that the ChangeLog for 205 calls height "height_br".

I'm having a hard time searching this thread.... the wiki entry on subfolders talks about it like its a solved problem, but as of 205, I'm still have the problem.

If someone knows how to make subfolders work, can you please update the wiki?


----------



## PaulS

TheAmigo said:


> It's a bug in 205 related to support for per-tivo options. Try commenting out the width in your config file.
> 
> It also seems odd that the ChangeLog for 205 calls height "height_br".


This is likely the source of the problem. Looks to be a cut-n-paste problem.

Try changing "height_br" to "height" in Config.py line 66 and try again.



TheAmigo said:


> I'm having a hard time searching this thread.... the wiki entry on subfolders talks about it like its a solved problem, but as of 205, I'm still have the problem.
> 
> If someone knows how to make subfolders work, can you please update the wiki?


By scanning the change logs, it looks like someone got it working with the 8.3 branch. However, that person referred to the "fix" as a hack, so it probably wasn't a very clean change. The logs then indicate that armoo backed out the change later on. Unsure of why.


----------



## wiedmann

In case you're not monitoring the ffmpeg svn repository, it appears a change was checked in a couple of weeks ago to output pixel and display aspect ratios (if available). I haven't tried building it to see whether it works well, but it might be helpful to improve the aspect ratio heuristics.


----------



## grahamkent

Thanks! There is a pretty obvious typo in config.py but I don't believe that's related to the problem I'm having. I assume by correcting the variable name from height_br to height you've solved a problem I hadn't run in to _yet_.

However, I was able to get past my problem with the TypeError by changing the select_aspect function where it defines the TIVO_HEIGHT and TIVO_WIDTH variables. By defining the variables as type, float, I'm able to get FFMPEG to begin transcoding.

Before:
TIVO_WIDTH = Config.getTivoWidth(tsn)
TIVO_HEIGHT = Config.getTivoHeight(tsn)

After:
TIVO_WIDTH = Config.getTivoWidth(tsn)
TIVO_HEIGHT = Config.getTivoHeight(tsn)

TIVO_WIDTH = float(TIVO_WIDTH)
TIVO_HEIGHT = float(TIVO_HEIGHT)


I still don't have 205 working fully though. I'm not seeing any errors in the log or debug files, but if I run pyTivo from the command line (Windows) I am seeing the error "Must supply at least one output file". I'm baffled as to how I broke that but it will have to wait until tonight to be investigated.


----------



## PaulS

grahamkent said:


> Thanks! There is a pretty obvious typo in config.py but I don't believe that's related to the problem I'm having. I assume by correcting the variable name from height_br to height you've solved a problem I hadn't run in to _yet_.
> 
> However, I was able to get past my problem with the TypeError by changing the select_aspect function where it defines the TIVO_HEIGHT and TIVO_WIDTH variables. By defining the variables as type, float, I'm able to get FFMPEG to begin transcoding.
> 
> Before:
> TIVO_WIDTH = Config.getTivoWidth(tsn)
> TIVO_HEIGHT = Config.getTivoHeight(tsn)
> 
> After:
> TIVO_WIDTH = Config.getTivoWidth(tsn)
> TIVO_HEIGHT = Config.getTivoHeight(tsn)
> 
> TIVO_WIDTH = float(TIVO_WIDTH)
> TIVO_HEIGHT = float(TIVO_HEIGHT)
> 
> I still don't have 205 working fully though. I'm not seeing any errors in the log or debug files, but if I run pyTivo from the command line (Windows) I am seeing the error "Must supply at least one output file". I'm baffled as to how I broke that but it will have to wait until tonight to be investigated.


Hmmm... Which version of ffmpeg are you using ? The one included with pyTivo, or something else ?

Also, are you using the per-tivo settings, the global settings, or the defaults for these values in your pytivo.conf file ?

Overall, the diffs between 201 and 205 are not significant. I can't see why you'd be having so many troubles getting 205 up and running. Perhaps the per-tivo logic has a hole in it. I'll take another look at the code...

[edit]

After taking a look at the code again, I see a difference which may or may not be anything at all. As I've said, python is not my strong suit (although I'm learning quickly as a result of this thread). The difference that I can see is how the TSN is being passed into the getTivoWidth and getTivoHeight functions in the Config.py module. The tsn value isn't being defaulted to "None" as it is in the getAudioBR and getVideoBR functdions. Since these functions all seem to follow the same basic template, I'd expect them to follow the same coding conventions, which they currently don't.

line 63 : 
def getTivoHeight(tsn* = None*):

line 76 :
def getTivoWidth(tsn* = None*):

I'll have some time tonight to fool around with 205 myself.


----------



## Airey001

I would recommend staying with what ever version you are running now unless you like to play around with new code  Like me.

Reasons I say this, is that I believe there will be a few more updates with more per tivo options added to support HD Tivos.

Plus the fact that the Tivo Sub Folder issue caused by OS 8.3 was not fixed in 9.1 and currently there is no truck of the newer version for the issue.

But if you are like me of course you will play around with it. 

I am in the middle of testing some of the changes now, and also updating the transcode.py file to get 16:9 video hack added in for OS 9.1.

Right now all seems to be working well. Fingers are crossed.


UPDATE 09:54PM - Looks like I might be right Changeset 206 is now out. It seems to be adding a config for the ffmpeg command.

Changes are:
Added support for ffmpeg command templates
Moved dist config


----------



## fxer

So where does it stand getting 16x9 video to transfer to a 16x9 tv with the latest tivo software? Do you still have to change transcode.py, or can you use the ffmpeg_prams function in pytivo 2.06? How are you guys getting video in this case?


----------



## grahamkent

Paul,

I am using the FFMpeg exe that comes with pyTivo. Here's what I'm seeing in the debug file. I get the same result whether I'm using the per-Tivo settings to specify height, width, audio_br or video_br or if I rely on the defaults:

video_info: ffmpeg output= FFmpeg version SVN-r8047, Copyright (c) 2000-2007 Fabrice Bellard, et al.

configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-liba52 --enable-avisynth --enable-libdts --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libogg --enable-libtheora --enable-libvorbis --enable-x264 --enable-xvid --enable-amr_nb --enable-amr_wb --cpu=i686 --enable-memalign-hack --extra-ldflags=-static

libavutil version: 49.3.0

libavcodec version: 51.34.0

libavformat version: 51.10.0

built on Feb 21 2007 23:20:24, gcc: 4.3.0 20070126 (experimental)

*Seems stream 0 codec frame rate differs from container frame rate: 23.98 (65535/2733) -> 23.98 (2997/125)*
Input #0, avi, from 'D:\shares\Videos\extended pilot.avi':

Duration: 00:41:34.4, start: 0.000000, bitrate: 1177 kb/s

Stream #0.0: Video: mpeg4, yuv420p, 624x352, 23.98 fps(r)

Stream #0.1: Audio: mp3, 48000 Hz, stereo, 96 kb/s

*Must supply at least one output file*

video_info: Codec= mpeg4 width= 624 height= 352 fps= 23.98 millisecs= 2494400 
tivo_compatible: D:\shares\Videos/extended pilot.avi is not mpeg2video it is mpeg4 
output_video: D:\shares\Videos/extended pilot.avi is not tivo compatible
video_info: D:\shares\Videos/extended pilot.avi cache hit! 
tsn: 65200018037EAEF 
aspect169: True 
select_aspect: File= D:\shares\Videos/extended pilot.avi Type= mpeg4 width= 624 height= 352 fps= 23.98 millisecs= 2494400 ratio= 177 rheight= 22 rwidth= 39 
select_aspect: 16:9 aspect allowed, file is narrower than 16:9 padding left and right
-aspect 16:9 -s 1440.0x720.0 
transcode: ffmpeg command is c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe -threads 2 -i D:\shares\Videos/extended pilot.avi -vcodec mpeg2video -r 29.97 -b 4Mi -maxrate 17M -bufsize 1024k -aspect 16:9 -s 1440.0x720.0 -comment pyTivo.py -ac 2 -ab 160K -ar 44100 -f vob -


----------



## PaulS

Airey001 said:


> UPDATE 09:54PM - Looks like I might be right Changeset 206 is now out. It seems to be adding a config for the ffmpeg command.
> 
> Changes are:
> Added support for ffmpeg command templates
> Moved dist config


206 is indeed out. It includes a per-tsn setting to allow the user to define the actual parameter list to ffmpeg (seems like overkill to me), as well as fixing a per-tsn height definition bug (curiously still called "height_br" for per-tsn, and called "height" for a global setting).

I tried fooling around with 205 last night, but ran out of time before I could fire up any definitive tests. Perhaps I'll get more time tonight to further investigate.


----------



## Airey001

For those of us out there with the lovely 16:9 Black Video Bug from Tivo OS 9.1.

Here is the latest transcode.py (from Changeset 206)Hacked to force an aspect of 4:3 instead of 16:9.


And no this can't be changed with the new option in the config. The Transcode.py file looks at the video and goes though some logic to decided if it is 4:3, 16:9 or if its neither and needs padded to become one.


I have 2 versions of the transcode.py in this zip.

First one (transcode.py) is for older version of ffmpeg. Use this one first unless you are certain you have a newer version of ffmpeg installed.

Second one (transcode.py-ForNewer-Versions-of-ffmpeg) is for newer version of ffmpeg since they reformatted their output. You just need to rename to transcode.py and place it in your plugins/video folder.


----------



## PaulS

Well, after fooling around with 205 and 206, I'm back to 201. Not exactly sure why 205 and 206 are giving me such a hard time, but they are. The shares appear in my NowPlaying list, but transfers never commence. 

I'm sure I could mess around with it for a while and get it to work, but I'm quickly running out of time and patience. I just want this to work, and 201 gets me there the quickest.


----------



## grahamkent

Ditto. I've spent hours working on 205 and 206 and can't seem to get the transcoding to work. They both appear to come with the same version of ffmpeg as 201 did, but even with the same command being sent from pyTivo I'm getting errors in 205 and 206.

With a little bit of tweaking 201 is just about as functional anyhow. *shrug*


----------



## digititus

hello all,

please forgive me, I tried to search the thread and couldn't find an answer. Here is my issue. I have been running Pytivo since July with no problems. About a week or so ago whenever I try to transfer from pytivo to my tivo box my tivo will crash and reboot. This happens every time I try to transfer something via pytivo. It'll start the transfer but it seems to reboot when the Tivo tries to go back to the previous screen (which would be the pytivo directory). I am using a tivo 2.5 (and I'd assume the latest update). I'm not sure what version of pytivo that I'm running but I am running python 2.5.1. Another thing that I've noticed is that when I browse my pytivo folder from my tivo the folders have (0) next to them even though there are files under them. Any ideas as to what is going on? I suspect that Tivo did an update that doesn't jive well with my version of pytivo.

Thanks for all the great work you guys do.


----------



## mulscully

ok, I looked through this thread but I didn't find the answer, doesn't mean it's not there, just didn't find it..

I am currently using Tivo Desktop to send my files to the tivo, but I really want folders, and I see that pyTivo can/will do it.. My questions is, all my files are tivo compatable mpeg2 files (not .tivo) files, will pyTivo send my files (HD ones to) without trying to transcode them? and if not can I turn off transcoding...


----------



## s2kdave

mulscully said:


> ok, I looked through this thread but I didn't find the answer, doesn't mean it's not there, just didn't find it..
> 
> I am currently using Tivo Desktop to send my files to the tivo, but I really want folders, and I see that pyTivo can/will do it.. My questions is, all my files are tivo compatable mpeg2 files (not .tivo) files, will pyTivo send my files (HD ones to) without trying to transcode them? and if not can I turn off transcoding...


It won't transcode them if they are using the proper video/audio codec and aspect on your mpegs. But you can't do folders on mpegs. At least no one has figured out how yet. It doesn't use the meta data in the TTCB interface to make folders(groups). It might be the information in the .tivo wrappers and maybe even other meta data in it's internal database.


----------



## mulscully

I thought pyTivo did folders if you have the mpegs in subfolders? I get that impression from the website...

I am using a TivoHD and am not sure all the mpeg heights and widths are consistant, but they dl fine using tivo desktop. I would just like pyTivo to pass the raw mpeg without any transcoding.. Is this possible?


----------



## wmcbrine

It checks for certain allowed sizes, and if the MPEG isn't one of those sizes, it reencodes it. I had to add some additional sizes to avoid reencodes (e.g., width 528 -- many of my Fios channels are this width).


----------



## ScottE

mulscully said:


> I thought pyTivo did folders if you have the mpegs in subfolders? I get that impression from the website...
> 
> I am using a TivoHD and am not sure all the mpeg heights and widths are consistant, but they dl fine using tivo desktop. I would just like pyTivo to pass the raw mpeg without any transcoding.. Is this possible?


You can always change transcode.py to remove the check for tivocompatible() (or something like that..don't have the source handy at the moment).

What I did was change the "if tivo_compatible()" to "if 1" right before the call to FFMPEG. I'm sure there are better ways, but that seemed pretty easy.


----------



## MasterCephus

Just wondering, but does the person who develops pyTivo look at this thread often?

If the person doesn't wouldn't it be a good idea to voice the problems to the person and maybe the coders and the developer could get together and try to figure out some of the major problems (subfolders, etc) and they could also prioritize some of the bugs and features?

Just wondering...


----------



## smilerz

I've been thinking about the subfolder issue and think I have a potential fix. Unfortunately I don't know enough about Python to test the theory. It could possibly offer performance enhancement too. Perhaps someone that knows the code could run with it or let me know if its just not possible.

If you abstract the actual file structure from Tivo by storing the library in an XML document you can present all of the videos in a flatter directory structure. For instance, if you had a file directory like this:

/videos/TV/
/XFiles/
/Season 1/
/Season 2/
/Buffy/
/Season 1/
/Season 2/
/videos/Movies/
/Star Wars/
/X-Men/
/Kill Bill.avi
/Resevoir Dogs.avi

You could have a process populate Library.xml like this:

<Container>TV
<Folder>XFiles - Season 1
Episode 1 
<FilePath>/videos/tv/XFiles/Episode1.avi</FilePath>
<checksum>12345566</checksum>
<TivoCompat>0</TivoCompat>

...
</folder>
<Folder>XFiles - Season 2
....

</Folder>
</Container>
<Container>Movies
.....
</container>

etc, etc.
when browsing with Tivo you would just get a single level of folders without completely rearranging your library.
Xfiles - Season 1
Xfiles - Season 2
Buffy - Season 1
Buffy - Season 2
Movies - Star Wars
Movies - XMen
...
This would also provide a cached version of the library with all of the necessary information without having to spawn ffmpeg to check the files everytime. It would only check if the checksums were different.
The library population could be kicked off at service start or on demand.

thoughts?


----------



## TheAmigo

smilerz said:


> when browsing with Tivo you would just get a single level of folders without completely rearranging your library.


I don't know python either, but was able to hack in similar concept:
recursive dir hack

But since folders don't work at all making it look like a single level doesn't really help (9.2 didn't fix it either).

There is a workaround though...
- Create a folder at the top of each share called "AAA - tivo bug" (or whatever).
- When a request for a folder index is received, wait ~.5sec... if any others are received in that time, answer all requests with the folder listing for the folder not named "AAA - tivo bug".

To the user, it means that when you first boot your tivo, when you browse into a pyTivo share, you have to click on the "AAA - tivo bug" folder first. After that, all other folders would work fine.

But like I said earlier, I don't know python, so I can't code that... I've started learning it though because I really want this to work!


----------



## PaulS

I'm just getting up to speed on python right now by reading the excellent on-line manuals at the python site. It's actually a pretty neat language. Coming from a very extensive C background makes it fairly easy to understand what's going on. I would imagine it would be even easier for a Java coder.

The recursive hack could definitely be implemented as a short-term fix for the folders problem. I might attack the problem slightly differently code-wise, but I think the solution you propose should work.

When I get some time, and get a little more confident in my python ability, I think I might take a crack at it.


----------



## fred2

I'm new and accidently created "shares" (names) that I do not want and I cannot figure out how to DELETE them. I have tried manually editing the CONF file but something is amiss.

I have tried stopping the service (Manage under MyComputer) and editing. 

Any other ideas for newbies?

In other words H E L P!!! 

Thanks


----------



## Tobashadow

fred2 said:


> I'm new and accidently created "shares" (names) that I do not want and I cannot figure out how to DELETE them. I have tried manually editing the CONF file but something is amiss.
> 
> I have tried stopping the service (Manage under MyComputer) and editing.
> 
> Any other ideas for newbies?
> 
> In other words H E L P!!!
> 
> Thanks


What i normaly do is to open the pytivo config program and the config file at the same time.

i delete the share section i dont want (or edit it) then save the config file and hit restart pytivo service button on the config program.

That should do it.


----------



## wgw

One way to handle the subfolder problem until a Tivo or pyTivo fix comes along is to create Hard Links to all of the files in the tivo folder, all subfolders or any other folder on the same drive. Place all the hard links in the root of a different folder and then point pyTivo to the folder with the hard links instead of the folder with the actual files. All of the files appear to pytivo (or Tivo Destop) in one folder.

Works fine but you have to manually select all the files in each subfolder and create the links. I have not found a program that will scan a folder and all subfolders and then create hardlinks. Any volunteers to create one?

Here are links to a couple Windows shell extention programs I'm using.

http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
http://forge.novell.com/modules/xfmod/project/?ntfslink

The option to create hard links using the right mouse button to drag and drop files to the link folder works well.


----------



## John Slider

I'm a newbie at this, I have everything set up to the point that it shows up on my Now Playing list, but whenever I go into any of my folders it shows up as containing the file from the first folder. 

Like lets say I have it set up:
Now Playing List > PC: MyTelevision >
Folder (0)
Folder (0)
Folder (0)
Folder (0)
Folder (0)
Folder (0)

Yes, it actually has (0) when I actually have about 12-24 files in each folder... It doesn't matter which folder I go into it shows the contents from the very first folder on the list, also when I close the commandprompt the source folders in my Now Playing list disappear. :S

Could it be a problem that some of the folders have a folder inside of it that you must go through in order to get to the media files. Also 99&#37; of the media files are AVI's if that's a problem.

I running on that pyTIVO thing..

EDIT: I just read there is some sort of glitch with subfolders, got it, but does TTG+ have a glitch with subfolders?


----------



## fred22

Tobashadow said:


> What i normaly do is to open the pytivo config program and the config file at the same time.
> 
> i delete the share section i dont want (or edit it) then save the config file and hit restart pytivo service button on the config program.
> 
> That should do it.


Hmm. I still have problems. I have tried adding an MP3's section and it won't take.

Also I noticed that my slashes backslashes seem, well, arbitrary.

Ex:

[Space]
path = C:/Program Files/pyTivo
type = video

[MyMovies]
type = video
path = L:\Movies\Various


----------



## glaviolette

John Slider said:


> I'm a newbie at this, I have everything set up to the point that it shows up on my Now Playing list, but whenever I go into any of my folders it shows up as containing the file from the first folder.
> 
> Like lets say I have it set up:
> Now Playing List > PC: MyTelevision >
> Folder (0)
> Folder (0)
> Folder (0)
> Folder (0)
> Folder (0)
> Folder (0)
> 
> Yes, it actually has (0) when I actually have about 12-24 files in each folder... It doesn't matter which folder I go into it shows the contents from the very first folder on the list, also when I close the commandprompt the source folders in my Now Playing list disappear. :S


John,

I have the EXACT same problem, however mine is with Galleon, so I'm wondering if it's a Fall 2007 update issue? Also, if there is more than one page I can't scroll to the next page. I've had to go back to Tivo Desktop. Bleh... It works, but I miss the folder groups..

Anyone else have similar issues??


----------



## BrianAZ

I believe there was something posted on one of these forums indicating that with a recent update, Tivo removed some piece of code that would tell the servers (pyTivo/Galleon/etc) that it was exiting a directory. Something like that. I don't think anyone's found a resolution to it yet.


----------



## glaviolette

BrianAZ said:


> I believe there was something posted on one of these forums indicating that with a recent update, Tivo removed some piece of code that would tell the servers (pyTivo/Galleon/etc) that it was exiting a directory. Something like that. I don't think anyone's found a resolution to it yet.


Brian,

Thanks for the quick reply and additional confirmation. John, after searching further I found this post (http://www.tivocommunity.com/tivo-vb/showthread.php?t=373469) that has a workaround that works for me. It isn't elegant, but what what else can you do!


----------



## Tobashadow

fred22 said:


> Hmm. I still have problems. I have tried adding an MP3's section and it won't take.
> 
> Also I noticed that my slashes backslashes seem, well, arbitrary.
> 
> Ex:
> 
> [Space]
> path = C:/Program Files/pyTivo
> type = video
> 
> [MyMovies]
> type = video
> path = L:\Movies\Various


You have to pick a direction so it knows what its looking for.

Example: My config file



Code:


[Start Cooking]
path = C:/Documents and Settings/Administrator/My Documents/My Music/iTunes/iTunes Music/Podcasts/Start Cooking videoblog
type = video

[Ctrl-Alt-Chicken]
type = video
path = C:/Documents and Settings/Administrator/My Documents/Pytivo/Ctrl+Alt+Chicken (Large Xvid)

[AmateurLogic.TV]
type = video
path = C:/Documents and Settings/Administrator/My Documents/Pytivo/AmateurLogicTV (Video)

[Movie Trailers]
type = video
path = C:/Documents and Settings/Administrator/My Documents/Pytivo/TrailerCast Large mov

[Diggnation]
type = video
path = C:/Documents and Settings/Administrator/My Documents/Pytivo/Diggnation (Large Xvid)

[GeekBrief]
type = video
path = C:/Documents and Settings/Administrator/My Documents/Pytivo/GeekBriefTV  Windows Media Edition (Beta)

[Systm]
type = video
path = C:/Documents and Settings/Administrator/My Documents/Pytivo/Systm (Large Xvid)

[Movies]
type = video
path = C:/Documents and Settings/Administrator/My Documents/Pytivo/Movies

[TV Show's]
type = video
path = C:/Documents and Settings/Administrator/My Documents/Pytivo/TV Show's

[Server]
ffmpeg = C:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
video_br = 2048k
width = 544
path = /media/media/video
debug = true
guid = {4B91BDFF-2960-4D7B-9877-DECA4ECA2B15}
port = 9032

[TekZilla]
type = video
path = C:/Documents and Settings/Administrator/My Documents/Pytivo/Tekzilla (Large WMV)

You notice the line that say's, path = /media/media/video ?

And notice all my folder's go with the / instead of the \ .

Feel free to edit mine to fit your needs.


----------



## mulscully

> File c:/pyTivo/plugins/video/transcode.py", line 301, in video_info
> millisecs = ((int(d.group(1))*3600) + (int(d.group(2))*60) + int(d.group(3)))*1000 + (int(d.group(4))*100)
> AttributeError: 'NoneType' object has no attribute 'group'
> ----------------------------------------


OK, so I am been looking through the thread, does anyone know the reason for my problem???


----------



## PaulS

mulscully said:


> OK, so I am been looking through the thread, does anyone know the reason for my problem???


d is acquired at line 255 :



Code:


[FONT="Courier New"][SIZE="2"]    durre = re.compile(r'.*Duration: (.{2}):(.{2}):(.{2})\.(.),')
    d = durre.search(output)[/SIZE][/FONT]

It looks like it's trying to parse through the output of the initial ffmpeg pass (which is being written to stderr). Specifically, it's looking for the duration of the video file in question. Apparently, in your case, it can't find it. So, you've likely got a poorly encoded video file. pyTivo is kicking an exception because there isn't any error checking being done to ensure that 'd' has a valid value before it's used.

If you look down a few lines, you'll see how 'x' is being handled properly. This is how 'd' should be handled as well. Try this (keep the spacing and indentation, it's important in python) :



Code:


[FONT="Courier New"][SIZE="2"]
    durre = re.compile(r'.*Duration: (.{2}):(.{2}):(.{2})\.(.),')
    d = durre.search(output)

    if d:
        millisecs = ((int(d.group(1))*3600) + (int(d.group(2))*60) + int(d.group(3)))*1000 + (int(d.group(4))*100)
    else:
        info_cache[inFile] = (mtime, (None, None, None, None, None))
        debug_write(['video_info: failed at duration\n'])
        return None, None, None, None, None
[/SIZE][/FONT]

I've entered ticket #30 into pyTivo so that armooo can fix this properly.


----------



## Chew

ScottE said:


> I've put those two files (my transcode.py and pyTivo.conf) at http://intrepid.warped.com/~scotte/visible/pyTivo/ in case my explanation above doesn't make any sense.


I tried to make use of the transcode.py file and pyTiVo did not read any of the files in my folders. I replaced yours with my old copy and it went back to reading the files, but would not transfer anything. Then I replaced all of the files with a copy from a working version and now my folders don't even show in the NPL at all!

Now what do I do? Can't live without my pyTiVo.


----------



## Chew

Uninstalled pyTivo, removed the service, rebooted, reinstalled, restarted the service, rebooted. 

All's good. :up:


----------



## designbot

I'm trying to follow the installation instructions here to install PyTiVo for the first time on my Intel iMac running Mac OS X 10.5.

Specifically, I installed MacPorts, and then tried to run the following commands in terminal:


Code:


sudo port selfupdate

sudo port install lame

sudo port install subversion

sudo port install ffmpeg +lame +libogg +vorbis +theora +faac +faad +xvid +x264 +a52 +dts

Installing MacPorts and LAME seemed to go fine.

When I tried to install Subversion, though, I got this error:


Code:


Error: The following dependencies failed to build: apr-util sqlite3 neon openssl zlib
Error: Status 1 encountered during processing.

I also noticed that the "installation instructions" don't actually tell you how to install or run pyTivo itself. Where do I need to put it, and how do I make it go?


----------



## wmcbrine

You don't need subversion to run pyTivo. I dunno why that's in the instructions.

You can put it anywhere (no installation needed, really), and run it by typing "python pyTivo.py" in Terminal.


----------



## designbot

OK,


Code:


python pyTivo.py

 didn't work, but


Code:


python /Applications/pyTivo/pyTivo.py

 did. I'm getting this message:


Code:


Traceback (most recent call last):
  File "/Applications/pyTivo/pyTivo.py", line 9, in ?
    port = config.get('Server', 'Port')
  File "/sw/lib/python2.4/ConfigParser.py", line 511, in get
    raise NoSectionError(section)
ConfigParser.NoSectionError: No section: 'Server'


----------



## PaulS

designbot said:


> OK,
> 
> 
> Code:
> 
> 
> python pyTivo.py
> 
> didn't work, but
> 
> 
> Code:
> 
> 
> python /Applications/pyTivo/pyTivo.py
> 
> did. I'm getting this message:
> 
> 
> Code:
> 
> 
> Traceback (most recent call last):
> File "/Applications/pyTivo/pyTivo.py", line 9, in ?
> port = config.get('Server', 'Port')
> File "/sw/lib/python2.4/ConfigParser.py", line 511, in get
> raise NoSectionError(section)
> ConfigParser.NoSectionError: No section: 'Server'


The configuration parsing module couldn't locate the "server" section of your conrfiguration file, or the pytivo.conf file itself.


----------



## designbot

OK, for some reason, *pyTivo.conf* was named *pyTivo.conf.dist* when I installed it. I renamed it to *pyTivo.conf*, and it seems to be working!

Thanks!


----------



## designbot

I'm sure this is a clueless newbie question, but...

When I quit the Terminal, it also quits python, which quits pyTivo. How do I keep pyTivo running without leaving a terminal window open all the time? Bonus points for starting it up automatically at login, and for being able to check if it's running.


----------



## reneg

Taking advantage of the lifetime transfer offer, I now have two THDs and two series 2s in the household. I wanted a feature added to PyTivo that restricted which folders can be seen by multiple Tivos. I've never used Python before (and it probably shows to those that have), but this old dog managed to code something that works in my 4 Tivo household. All my Tivos are running at least 9.1x or higher. Thought I'd share my changes with the rest of the community.

*Filtering Folders*
Recognize a new descriptor in the pytivo.conf file called 'folders' in the [_tivo_*] sections. 'folders' is a comma separated list of the shares that are available on a particular Tivo. Invalid shares are ignored. If 'folders is not defined, then all shares defined in the pytivo.conf file are available. Example below.

Partial pytivo.conf file


Code:


[_tivo_2400000DEADBEEF]
folders= Vids1,Vids2,Vids4

[_tivo_652000000C0FFEE]
# Test for white space between shares
folders= Vids1, Vids2 , Vids3

[_tivo_24000000000BABE]
folders= Vids1

[_tivo_65200000BADCAFE]
# Test for invalid share
folders= Vids5

[Vids1]
type=video
path=e:\vids

[Vids2]
type=video
path=e:\vids2

[Vids3]
type=video
path=e:\vids3

[Vids4]
type=video
path=e:\vids4

Source changes modified two files
Changed Config.py:


Code:


<! def getShares():
 !> def getShares(tsn=None):
 !>     if not tsn:
 !>         return filter( lambda x: not(x.startswith('_tivo_') or x == 'Server'), config.sections())
 !> 
 !>     if config.has_section('_tivo_' + tsn):
 !>         if config.has_option('_tivo_' + tsn, 'folders'):
 !> 	    # clean up leading and trailing spaces & make sure ref is valid
 !> 	    tsnfolders = []
 !> 	    for x in config.get('_tivo_' + tsn, 'folders').split(','):
 !> 		y = x.lstrip().rstrip()
 !> 		if config.has_section(y):
 !> 		    tsnfolders += [y]
 !> 	    if tsnfolders:
 !> 	        return tsnfolders
        return filter( lambda x: not(x.startswith('_tivo_') or x == 'Server'), config.sections())

Changed httpserver.py in 3 places:
1) Added a couple of extra imports


Code:


 !> from Config import config
 !> import Config

2) Fixed a spelling error


Code:


<!                 self.RootContiner()
 !>                 self.RootContainer()

3) Modified the code that returns the list of folders back to the Tivo


Code:


<!     def RootContiner(self):
 !>     def RootContainer(self):
 !> 	tsn = self.headers.getheader('TiVo_TCD_ID', '')
 !> 	tsnfolders = Config.getShares(tsn)
 !> 	tsncontainers = {}
 !> 	for section in tsnfolders:
 !> 	    settings = {}
 !> 	    settings.update(config.items(section))
 !> 	    tsncontainers.update({section : settings})
    	t = Template(file=os.path.join(SCRIPTDIR, 'templates', 'root_container.tmpl'))
 <!          t.containers = self.server.containers
 !> 	t.containers = tsncontainers


----------



## PaulS

designbot said:


> I'm sure this is a clueless newbie question, but...
> 
> When I quit the Terminal, it also quits python, which quits pyTivo. How do I keep pyTivo running without leaving a terminal window open all the time? Bonus points for starting it up automatically at login, and for being able to check if it's running.


Put it in the background :



Code:


python /Applications/pyTivo/pyTivo.py &

Yes, the ampersand is important.

To see if it's currently running from a terminal window :



Code:


ps auwx | grep python


----------



## PaulS

reneg said:


> Taking advantage of the lifetime transfer offer, I now have two THDs and two series 2s in the household. I wanted a feature added to PyTivo that restricted which folders can be seen by multiple Tivos. I've never used Python before (and it probably shows to those that have), but this old dog managed to code something that works in my 4 Tivo household. All my Tivos are running at least 9.1x or higher. Thought I'd share my changes with the rest of the community.
> 
> *Filtering Folders*
> Recognize a new descriptor in the pytivo.conf file called 'folders' in the [_tivo_*] sections. 'folders' is a comma separated list of the shares that are available on a particular Tivo. Invalid shares are ignored. If 'folders is not defined, then all shares defined in the pytivo.conf file are available. Example below.
> 
> Partial pytivo.conf file
> 
> 
> Code:
> 
> 
> [_tivo_2400000DEADBEEF]
> folders= Vids1,Vids2,Vids4
> 
> [_tivo_652000000C0FFEE]
> # Test for white space between shares
> folders= Vids1, Vids2 , Vids3
> 
> [_tivo_24000000000BABE]
> folders= Vids1
> 
> [_tivo_65200000BADCAFE]
> # Test for invalid share
> folders= Vids5
> 
> [Vids1]
> type=video
> path=e:\vids
> 
> [Vids2]
> type=video
> path=e:\vids2
> 
> [Vids3]
> type=video
> path=e:\vids3
> 
> [Vids4]
> type=video
> path=e:\vids4
> 
> Source changes modified two files
> Changed Config.py:
> 
> 
> Code:
> 
> 
> <! def getShares():
> !> def getShares(tsn=None):
> !>     if not tsn:
> !>         return filter( lambda x: not(x.startswith('_tivo_') or x == 'Server'), config.sections())
> !>
> !>     if config.has_section('_tivo_' + tsn):
> !>         if config.has_option('_tivo_' + tsn, 'folders'):
> !> 	    # clean up leading and trailing spaces & make sure ref is valid
> !> 	    tsnfolders = []
> !> 	    for x in config.get('_tivo_' + tsn, 'folders').split(','):
> !> 		y = x.lstrip().rstrip()
> !> 		if config.has_section(y):
> !> 		    tsnfolders += [y]
> !> 	    if tsnfolders:
> !> 	        return tsnfolders
> return filter( lambda x: not(x.startswith('_tivo_') or x == 'Server'), config.sections())
> 
> Changed httpserver.py in 3 places:
> 1) Added a couple of extra imports
> 
> 
> Code:
> 
> 
> !> from Config import config
> !> import Config
> 
> 2) Fixed a spelling error
> 
> 
> Code:
> 
> 
> <!                 self.RootContiner()
> !>                 self.RootContainer()
> 
> 3) Modified the code that returns the list of folders back to the Tivo
> 
> 
> Code:
> 
> 
> <!     def RootContiner(self):
> !>     def RootContainer(self):
> !> 	tsn = self.headers.getheader('TiVo_TCD_ID', '')
> !> 	tsnfolders = Config.getShares(tsn)
> !> 	tsncontainers = {}
> !> 	for section in tsnfolders:
> !> 	    settings = {}
> !> 	    settings.update(config.items(section))
> !> 	    tsncontainers.update({section : settings})
> t = Template(file=os.path.join(SCRIPTDIR, 'templates', 'root_container.tmpl'))
> <!          t.containers = self.server.containers
> !> 	t.containers = tsncontainers


Nice! A couple of small points/quibbles.

IMHO, it might be a little more coherent if you renamed your new "folders" config parameter to "shares". This will avoid someone trying to see/hide actual folders (once they're finally working with 9.x, natch), rather than the shares themselves.

As an aside, how can we submit proper changes to the project ? The only interface I see are to submit a ticket and armooo integrates them when/if he sees fit (kinda slow response time), or we all maintain local copies and try to keep track of the changes manually (pain in the ass). Any other options ?


----------



## reneg

PaulS said:


> Nice! A couple of small points/quibbles.
> 
> IMHO, it might be a little more coherent if you renamed your new "folders" config parameter to "shares". This will avoid someone trying to see/hide actual folders (once they're finally working with 9.x, natch), rather than the shares themselves.
> 
> As an aside, how can we submit proper changes to the project ? The only interface I see are to submit a ticket and armooo integrates them when/if he sees fit (kinda slow response time), or we all maintain local copies and try to keep track of the changes manually (pain in the ass). Any other options ?


'Folders' or 'Shares', it doesn't matter to me what they are called.

I had no idea how to submit changes. Will be happy to submit a ticket or whatever the process is, but was hoping someone might try it out on their boxes to see how broken this code might be. I had to use a different string to get the tivo serial number (tsn) than is in video.py file. Not sure why that is but haven't really looked much at the video.py file.


----------



## designbot

PaulS said:


> Put it in the background :
> 
> 
> 
> Code:
> 
> 
> python /Applications/pyTivo/pyTivo.py &
> 
> Yes, the ampersand is important.
> 
> To see if it's currently running from a terminal window :
> 
> 
> 
> Code:
> 
> 
> ps auwx | grep python


Thank you!


----------



## fred22

Well, I have edited, re-edited, UNinstalled pyTivo, used and not used the configuration program.

In the NowPlaying I only see "folders" that contain videos or folders containing videos. I see THREE (3) items:

My Tivos
My Movies
L Drive

I do not see my mp3 associated folders/locations.

Here is my conf file:

[DEFAULT]
path = <Pick A Path>
type = video

[Music]
type = music
path = C:/My Music

[Space]
type = music
path = G:/ZVM Music

[Server]
ffmpeg = C:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
guid = {6FE5C138-138F-4C01-ADC8-50137ECCBB4E}
port = 9032
width = 544

[MyTivo]
path = L:/MyTivoRecordings

[Mp3's]
type = music
path = G:/MP3

[MyMovies]
type = video
path = L:\Movies\Divx

[L drive]
type = video
path = L:\Movies\Divx

...........................................

(oh, WinXP SP2). Newest 9.2axxxxxx on the Tivo. Latest TivoDesktop. Galleon is installed. Tivo S3.

I have successfully transferred videos from computer to tivo.

I cannot seem to find the music.

Maybe I will settle for the MOVIES and just stop trying (although I do get great exercise running up (computer room) and down (tivo/tv) the stairs).


----------



## PaulS

I'd try running pyTivo again, with debug on, to try to get some more definitive answers.

Here are a couple of guesses as to what's going on.

First, I'm not sure you can define shares before the [server] parameter. I believe they need to be in the proper order to be parsed correctly. So, I'd try moving the [Music] and [Space] shares down towards the bottom of your config file and try again.

Secondly, I'd try removing that apostrophe (') character from your [Mp3's] share name. It may be tripping up the config parser.


----------



## fred22

PaulS and others:

my MISTAKE (and now I can chuckle)

I was looking for the results in the WRONG PLACE. I just went to see what was what with Galleon in Photos, music and more (or whatever that list is called) and there were all of my EXPERIMENTS.

I had expected the mp3 lists to show up in NOW PLAYING but that is only for videos.

Jefferson Airplane's White Rabbit is now playing and is a good theme for the magic pills involved/needed in this setup stuff.

pyTivo does not care about apostrophe characters (actually, that was the example the programmer provided) nor does it care whether you use slashes or backslashes in the path statements.

So my Embryonic Journey (more Jefferson Airplane appropriately enough) is now launched.

Thanks for allowing me to experiment on your time.


----------



## Sicklybutsexy

This may have been addressed and I can't find it...But is there a fix to the playing 16:9 videos... Also is there a way to play the 16:9 videos on a 4:3 tv? thanks.


----------



## mitch2k2

Sicklybutsexy said:


> This may have been addressed and I can't find it...But is there a fix to the playing 16:9 videos... Also is there a way to play the 16:9 videos on a 4:3 tv? thanks.


If I'm not mistaken, pytivo does this automatically. Does here, in any case. Unless I'm misunderstanding your question.


----------



## Sicklybutsexy

It won't transcode 16:9 files to a 4:3 tv. not at least on my tivo.


----------



## fred22

Query:

If I recall correctly, the instructions suggest (require?) that Tivo Server but turned OFF??

What is the server doing or why is that required?

Thanks.


----------



## Sicklybutsexy

Ok, pytivo 208 is out. I'm unsure of the differences with this new one. I do know that I've tried the 16:9 videos and they still don't work. Can someone walk me through getting PyTivo to play these 16:9 aspect ratios on my TV.

Thanks to everyone for all the hardwork, especially "the creator"


----------



## Iluvatar

Sicklybutsexy said:


> Ok, pytivo 208 is out. I'm unsure of the differences with this new one. I do know that I've tried the 16:9 videos and they still don't work. Can someone walk me through getting PyTivo to play these 16:9 aspect ratios on my TV.
> 
> Thanks to everyone for all the hardwork, especially "the creator"


There is definitely something wrong with your setup. Displaying 16x9 content on a 4:3 screen is something that has worked properly since pyTivo was introduced. I would start with deleting your pyTivo folder and redownloading the latest version (v.201 seems to be super stable though), taking care to properly resetup your configuration file.

What issues are you seeing with your videos? I have a 27" 4:3 screen that pyTivo has worked properly for since I started using it over a year ago.

Care needs to be taken if files are downloaded off of this topic that users have posted just in case you have, simply because their setup may differ from what works for your setup.


----------



## Sicklybutsexy

I was doing well too. I had no problem downloading 16:9 content. I hadn't messed with my config file in a couple of months. It seems an update that I just received a few days ago (I think) has not allowed me to play 16:9 videos on my 4:3 tv. Can you post your config. I'm running 201 and have been. Right now I started using videora again  for that ability.


----------



## Sicklybutsexy

Iluvatar said:


> There is definitely something wrong with your setup. Displaying 16x9 content on a 4:3 screen is something that has worked properly since pyTivo was introduced. I would start with deleting your pyTivo folder and redownloading the latest version (v.201 seems to be super stable though), taking care to properly resetup your configuration file.
> 
> What issues are you seeing with your videos? I have a 27" 4:3 screen that pyTivo has worked properly for since I started using it over a year ago.
> 
> Care needs to be taken if files are downloaded off of this topic that users have posted just in case you have, simply because their setup may differ from what works for your setup.


What happens is that a black screen is shown with audio only, no picture


----------



## wgw

Sicklybutsexy said:


> What happens is that a black screen is shown with audio only, no picture


Sounds like you are experiencing this problem.

http://www.tivocommunity.com/tivo-vb/showthread.php?t=368352


----------



## PaulS

Sicklybutsexy said:


> Ok, pytivo 208 is out. I'm unsure of the differences with this new one. I do know that I've tried the 16:9 videos and they still don't work. Can someone walk me through getting PyTivo to play these 16:9 aspect ratios on my TV.
> 
> Thanks to everyone for all the hardwork, especially "the creator"


208 changes concern two bug fixes :

- Bug #28 : filenames with spaces crashes conversion
- Bug #29 : unhandled exception in transcode.video_info()

That's it.


----------



## wmcbrine

(Since this thread is directly linked from the pyTivo page, I guess I should post here.) A patch to allow descriptions to be sent along with the videos:

http://www.tivocommunity.com/tivo-vb/showthread.php?t=374735


----------



## dlfl

wmcbrine said:


> (Since this thread is directly linked from the pyTivo page, I guess I should post here.) A patch to allow descriptions to be sent along with the videos:
> 
> http://www.tivocommunity.com/tivo-vb/showthread.php?t=374735


Haven't tried it yet but TVAP already gets the metadata (including description) from TiVo files and could be modified to automatically create the required .txt file.


----------



## dlfl

pyTivo will crash at start of encoding if you don't have an FFMPEG template entered in your pyTivo.conf file. In that case pyTivo uses a default template that is incorrect. The fix is an easy edit in config.py -- see Ticket #34 in the pyTivo Wiki.


----------



## MasterCephus

Someone with knowledge about how pyTivo & the Tivo talk to each other I have some questions:

1) What exactly does pyTivo do in relation to being a media server?

1.a) Does it just tell Tivo "Hey I am a media server and here is the shares?" & and when Tivo requests a certain file, pyTivo transcodes the file using ffmpeg and sends it to the Tivo and Tivo consumes it?

1.b) Does Tivo look through the shares, or does Tivo requests pyTivo to show what's in the shares?

what I mean by that question is does Tivo see the shares and just go through them or if you select a subdirectory, does Tivo send a request to pyTivo and pyTivo finds the subdirectory and shows what's that directory. Then when Tivo wants to go back, pyTivo shows Tivo the content from the previous folder?


Just some questions I have been having...


----------



## jmtassel

I have an issue when I rip a dvd to wmv and then transfer to the Tivo via pyTivo the audio/video is out of sync after 30 minutes into the video. Anyone seen anything like this before? Its been a difficult topic to research.


----------



## PaulS

jmtassel said:


> I have an issue when I rip a dvd to wmv and then transfer to the Tivo via pyTivo the audio/video is out of sync after 30 minutes into the video. Anyone seen anything like this before? Its been a difficult topic to research.


Ummm.... No it's not. In fact, we discussed this about a week or two ago, on this very thread.

Question Asked : HERE

Question Answered : HERE

The answer : add "-async 48000" to your ffmpeg parms line in transcode.py


----------



## dealwatcher2003

i have a weird problem. I can see the video files in tivo>playlist but when I click on it it says its scheduled for transfer,but not sure when its going to happen,its been a few hours now...how do i force transfer...?


----------



## Sicklybutsexy

dealwatcher2003 said:


> i have a weird problem. I can see the video files in tivo>playlist but when I click on it it says its scheduled for transfer,but not sure when its going to happen,its been a few hours now...how do i force transfer...?


Yeah, usually I go to the "to do" list and cancel the scheduled transfer. Than I try and transfer again. If that doesn't work, trying rebooting your Tivo. that usually does the trick.


----------



## dealwatcher2003

Sicklybutsexy said:


> Yeah, usually I go to the "to do" list and cancel the scheduled transfer. Than I try and transfer again. If that doesn't work, trying rebooting your Tivo. that usually does the trick.


Ok went to the ToDo list, delete the pending transfers restarted the Tivo,and it said again the files have been added to the ToDoList and will be transferred when other pending transfers are completed.I have nothing pending,dont understand why it says so...somebody help!!what am i doing wrong!!


----------



## dermanj

I'm thinking about getting a new computer to be pretty much dedicated to running pyTivo for my two Tivo Series 3 boxes. I'm hoping to maximize transcoding speed without spending a ton of money. Any suggestions?


----------



## Sicklybutsexy

dealwatcher2003 said:


> Ok went to the ToDo list, delete the pending transfers restarted the Tivo,and it said again the files have been added to the ToDoList and will be transferred when other pending transfers are completed.I have nothing pending,dont understand why it says so...somebody help!!what am i doing wrong!!


you can also restart your computer and if that doesn't work try deleting tivo desktop and then reinstalling...


----------



## Sicklybutsexy

I've been using dvdpatcher now for the conversion of 16:9 files to 4:3 on a 4:3 tv. Is there any way using this program I can make it letterbox so that the picture isn't distorted (this has to do with pytivo because I can't get 16:9 files transferred using pytivo or tivodesktop)


----------



## jcthorne

(Since this thread is directly linked from the pyTivo page, I guess I should post here.) A patch to allow descriptions to be sent along with the videos:

http://www.tivocommunity.com/tivo-vb...d.php?t=374735

THANKS!

It worked first try and I just installed pytivo today! This is great work. Hope you can figure out how to fill in a few other pieces of the metadata.


----------



## dlfl

wmcbrine said:


> (Since this thread is directly linked from the pyTivo page, I guess I should post here.) A patch to allow descriptions to be sent along with the videos:
> 
> http://www.tivocommunity.com/tivo-vb/showthread.php?t=374735


Yeah, this seems to work fine for me too. Thanks, again, wmcbrine!

If any pyTivo users are also using TVAP and would like to have it automatically generate the description .txt file for each file it processes with VideoReDo, let me know.

It also wouldn't be too difficult to gen up a little utility program to generate these files for all the .tivo files in a selected folder, based on the TivoDecode software provided by TivoCommunity member FrooBrar (with his permission of course).


----------



## wmcbrine

jcthorne said:


> Hope you can figure out how to fill in a few other pieces of the metadata.


Yeah... so far I've found that I can add any of the following tags to the template:

EpisodeTitle
SourceChannel
SourceStation (only works in conjunction with SourceChannel, can be totally bogus though)
SeriesId

The last one is a killer, since it groups. But I'm guessing that you have to know a valid series ID to use it.

I believe that the set of usable tags is most of whatever you see here (you can also find some series ID's to use here):

https://<tivoip>/TiVoConnect?Command=QueryContainer&Container=%2FNowPlaying

In addition to the tags listed above, I've tried "HighDefinition" (doesn't work), and "CopyProtected" (not real useful; it just prevents the transfer and shows the "prohibited" sign as the icon).

Unfortunately many interesting attributes can't be set this way, AFAICT. (You could still do it, but you'd have to create a .TiVo file.)


----------



## jcthorne

wmcbrine said:


> Yeah... so far I've found that I can add any of the following tags to the template:
> 
> EpisodeTitle
> SourceChannel
> SourceStation (only works in conjunction with SourceChannel, can be totally bogus though)
> SeriesId
> 
> The last one is a killer, since it groups. But I'm guessing that you have to know a valid series ID to use it.
> 
> I believe that the set of usable tags is most of whatever you see here (you can also find some series ID's to use here):
> 
> https://<tivoip>/TiVoConnect?Command=QueryContainer&Container=%2FNowPlaying
> 
> In addition to the tags listed above, I've tried "HighDefinition" (doesn't work), and "CopyProtected" (not real useful; it just prevents the transfer and shows the "prohibited" sign as the icon).
> 
> Unfortunately many interesting attributes can't be set this way, AFAICT. (You could still do it, but you'd have to create a .TiVo file.)


This is pretty cool stuff. From what I understand, the series id numbers are actually generated by Tribune with the guide data. Any idea what tivo does with a series id that it does not recognize? Does it actually get the folder name from the series id or from the titles of the programs sharing it?

Anyone know if there exists a list of series names and id numbers out there on the internet somewhere?

We have all been clamoring for groups for our TTCB recordings for some time, I think we just might be on the verge of making it work.....in a fashion. I would like to try a number of combinations of the above to figure out what it does but am working out of town and accessing my tivo and home network remotely so its pretty difficult to do too much from my end. Was surprised I got pytivo up and operating with descriptions and transferred a couple movie files to the tivo last night.

wmcbrine this is GREAT STUFF. thanks for your work and I think this might get interesting over the next few days as folks work with it. You have unlocked a door, lets see whats inside......


----------



## jcthorne

wmcbrine said:


> Unfortunately many interesting attributes can't be set this way, AFAICT. (You could still do it, but you'd have to create a .TiVo file.)


One could always transfer the recording to the tivo, then back and thus have a valid .tivo file. Will pyTivo then let you assign these other attributes? What attributes have you found that are only valid for .tivo files?


----------



## jcthorne

Can anyone suggest a way to have pyTivo NOT transcode ANY files and still let the rest of the system work as designed? IE just force tivo compatible = true.

I tried modifying the transcode.py file as suggested above but dont think I got it quite right as now I get errors from pytivo and the duration is no longer showing up correctly in transferred files. I want to do the file manipulations manually before they are placed in the mytivorecordings folder and have pytivo just transfer them as is to the tivo. 

Thanks!


----------



## Sicklybutsexy

jcthorne said:


> Can anyone suggest a way to have pyTivo NOT transcode ANY files and still let the rest of the system work as designed? IE just force tivo compatible = true.
> 
> I tried modifying the transcode.py file as suggested above but dont think I got it quite right as now I get errors from pytivo and the duration is no longer showing up correctly in transferred files. I want to do the file manipulations manually before they are placed in the mytivorecordings folder and have pytivo just transfer them as is to the tivo.
> 
> Thanks!


I thought it did that already...


----------



## dealwatcher2003

Sicklybutsexy said:


> you can also restart your computer and if that doesn't work try deleting tivo desktop and then reinstalling...


Should the TIvo Desktop server be running or paused?Now it says it is being transferred but no progress, when I try to play that recording it says please wait a moment to complete more of the transfer before you being to play,but that doesn't complete at all....


----------



## dlfl

wmcbrine said:


> Yeah... so far I've found that I can add any of the following tags to the template:
> 
> EpisodeTitle
> SourceChannel
> SourceStation (only works in conjunction with SourceChannel, can be totally bogus though)
> SeriesId
> ...............


I've been playing with a "compromise" approach that uses just your description tag by packing more metadata in it. I use tivoDecode-based software (just google it) to read these fields from the .TiVo file:

description
episodeTitle
episodeNumber
movieYear
genre

Then it formats all this stuff into one big description .txt file for your pyTivo mod to use. An obvious potential issue is this single field could get too large.

I take advantage of the fact that (so far) I've never seen a file that had both episodeTitle/episodeNumber AND movieYear (i.e., it's either a movie or a series episode - but not both.) I also strip the "Copyright ...." substring from the end of the description metadata. (This could be an issue, I know.)

A couple of examples of the compact formatting I use:
1. For a movie (Gilda):

Romance: (1946) Blah blah blah (description)

2. For a series episode with an episode number:

Action/Adventure: <episode title> (#305) Blah blah blah (description)

Some series episodes don't have the number, in which case the (#305) would just be absent.

This scheme seems to work OK based on very limited testing so far (but it all appears in the description portion in TiVo NPL).

It would be straightforward to write the metadata items into a text file with one line per item. Additional items such as channel, etc. are possible. Could pyTivo be modified to read this file, parse out the separate fields and send them as separate tags similar to what you do now with the description?
(Your current scheme inserts the entire file into one tag -- obviously not going to work for multiple tags unless one wants to carry around a separate text file for each tag.)

Anyway .... fun stuff!


----------



## jmtassel

PaulS said:


> Ummm.... No it's not. In fact, we discussed this about a week or two ago, on this very thread.
> 
> Question Asked : HERE
> 
> Question Answered : HERE
> 
> The answer : add "-async 48000" to your ffmpeg parms line in transcode.py


thanks for the response! after making the change, I now experience a different symptom which is slowing down for several minutes going out of sync and then going very fast catching the audio back up to the video. Any thoughts on how to resolve this behavior?


----------



## greg_burns

Deadpan Science said:


> I recently had to reformat my hd, and for some reason pytivo won't work for me anymore. I want to check my networking conditions too. Are there any particular ports that need to be forwarded to the tivo in order to use pytivo?


You need to open TCP ports 9032 & 9033 on your PC's firewall.

Edit: Man, now I am answering questions before they are even asked.


----------



## wmcbrine

dlfl said:


> Could pyTivo be modified to read this file, parse out the separate fields and send them as separate tags similar to what you do now with the description?


It could... but I think the simple and fast way to handle this is to stick to XML. So, here's my latest patch. It checks first for an XML file ("mymovie.xml" for "mymovie.wmv"), then checks for a text file as before, then falls back to the original behavior. Note that if you create an XML file for a movie, you must define a "" tag, because the original title mechanism isn't used in that case. This is the only tag that's required. I did this to allow non-filesystem-legal characters in titles.

pytivo-xml-diff.txt is a diff against my last version. Use this if you already patched it with that.

pytivo-xml-cumm.txt is a cummulative diff, covering my last patch and this one. Use this if you didn't already use the previous patch.

pytivo-xml-files.zip has my versions of video.py and container.tmpl (this time with pathnames relative to the pyTivo directory, so it's a little more sensible). Unzip this in the pyTivo directory if you don't want to mess with patching.

Note that tags are case-sensitive, and you must use the case as found in the XML version of the Tivo's Now Playing list; i.e., "Description" and "EpisodeTitle", not "description" or "episodeTitle" (the latter are the forms found within a .TiVo file).



jcthorne said:


> One could always transfer the recording to the tivo, then back and thus have a valid .tivo file. Will pyTivo then let you assign these other attributes? What attributes have you found that are only valid for .tivo files?


As I hinted above, there seem to be two completely different sets of XML tags used to describe Tivo recordings. One is the set that you can see by looking at the XML version of the Now Playing list from the Tivo's internal web server; this is also, AFAICT, the set that works for TTCB. The other set is the one that's used within .TiVo files. They don't appear to have any tags in common -- the in-.TiVo files have some tags with similar names, but they use different capitalization. I've tried using these tags (and in variant cases), and none of them seem to work.

Now, I called it the in-.TiVo XML, but you can also look at it from the Tivo's internal web server. Go to the XML NowPlaying page, and find a tag called "TivoVideoDetails". This contains another tag, "Url". Put that URL in, and you can see the in-.TiVo XML.


----------



## Deadpan Science

I recently had to reformat my hd, and for some reason pytivo won't work for me anymore. I want to check my networking conditions too. Are there any particular ports that need to be forwarded to the tivo in order to use pytivo?

EDIT: ^^ thanks that fixed it!


----------



## TreborPugly

wmcbrine said:


> Yeah... so far I've found that I can add any of the following tags to the template:
> 
> EpisodeTitle
> SourceChannel
> SourceStation (only works in conjunction with SourceChannel, can be totally bogus though)
> SeriesId


This is an awesome development! I'd love to be able to have a bunch of home videos that my Tivo will put in the same "folder", sitting on the Tivo all the time. If I invent a SeriesId and use it for all of them, will that happen?

Also, is the Kidzone toggle something that can be edited? (Right now, anything you load via pyTivo can't be added to the Kidzone) I'm wondering if a work-around would be to use a SeriesID or SourceChannel for some show or channel that is in your Kidzone.


----------



## armooo

I have added meta data to version 6ddab.

Currently it is reading from filename.txt and is expecting one attribute per line.

Sample


Code:


description : I am l33t w00t
episode_title : Bob's Fun Place
source_channel : 78
source_station : Bob's
series_id : 123

It should be simple to extend Video.__metadata to support retrieving data from other sources.


----------



## wgw

armooo said:


> I have added meta data to version 6ddab.
> 
> Currently it is reading from filename.txt and is expecting one attribute per line.
> 
> Sample
> 
> 
> Code:
> 
> 
> description : I am l33t w00t
> episode_title : Bob's Fun Place
> source_channel : 78
> source_station : Bob's
> series_id : 123
> 
> It should be simple to extend Video.__metadata to support retrieving data from other sources.


Thanks armoo.

I must be doing something wrong. Has anyone gotten this version to display the descriptions.


----------



## armooo

If your video is video.avi your description file should be video.avi.txt


----------



## jcthorne

Sicklybutsexy said:


> I thought it did that already...


Nope, for a Tivo HD it has no idea. Every file I threw at it was TivoHD acceptable and plays jsut fine, pyTivo wants to change its resolution or frame rate or audio track. Most of my files are 720p, 23.97 fps and ac3 audio, tivo plays them fine. Just reading through the code, pytivo wants the files a specific resolution and exactly 29.97 fps, far more strict than the TivoHD and changing video from 24fps to 30 just wastes disk space and makes the video look worse. Unless the video was 30fps to begin with but most film is 24.

Then again, I've only been using pyTivo for about 2 days. Thats why I asked for help. The instructions, as applies to a TivoHD seem very incomplete or just outdated. Its a great piece of programming and I want to learn to use it, likely beyond what the author intended.

For now I ended up making a change to the transcode.py file for it to accept all mpeg2 files, not strictly correct, but I will just have to place only compatible files there. At least until I get a better handle on setting the config file to recognize files the TivoHD can play.


----------



## armooo

commit cf1319956bf7411ce216cc5ab34e65b98755a9d1
Author: Jason Michalski <[email protected]>
Date: Sun Nov 18 20:16:11 2007 -0600

Added auto subshares

Create a share for all subfolders

Add "auto_subshares = True" to a share and all subfolders recursively will be made in to shares.


----------



## dlfl

armooo said:


> I have added meta data to version 6ddab.
> 
> Currently it is reading from filename.txt and is expecting one attribute per line.
> 
> Sample
> 
> 
> Code:
> 
> 
> description : I am l33t w00t
> episode_title : Bob's Fun Place
> source_channel : 78
> source_station : Bob's
> series_id : 123
> 
> It should be simple to extend Video.__metadata to support retrieving data from other sources.


Nice! Both this and the .xml scheme of *wmcbrine* work for me.

To me the sticky issue is determining how to get some items into a form the TiVo will use. For example, I added the <EpisodeNumber> tag to the template and to Video.__metadata but the NPL info data would not show it although it does show it for some series episodes as recorded. Who knows what logic the Tivo uses -- e.g., maybe you have to have the <IsEpisode> tag present and set before it will display the episode number or something similar (?).

So far I don't see a way to send Genre or MovieYear either.
(The workaround is to pack them into the description as I described earlier.) All items I've mentioned (ep #, movieYear and genre) are easily read from TTG .TiVo files using TiVoDecode software.


----------



## armooo

dlfl said:


> Nice! Both this and the .xml scheme of *wmcbrine* work for me.
> 
> To me the sticky issue is determining how to get some items into a form the TiVo will use. For example, I added the <EpisodeNumber> tag to the template and to Video.__metadata but the NPL info data would not show it although it does show it for some series episodes as recorded. Who knows what logic the Tivo uses -- e.g., maybe you have to have the <IsEpisode> tag present and set before it will display the episode number or something similar (?).
> 
> So far I don't see a way to send Genre or MovieYear either.
> (The workaround is to pack them into the description as I described earlier.) All items I've mentioned (ep #, movieYear and genre) are easily read from TTG .TiVo files using TiVoDecode software.


If I recall correctly there is a way to include a url attached to the video item, and that url should be in the xml format that is used for MRV. But I don't have a windows machine or tivo desktop to check it out now. But it should includes a lot more information than basic data that is included now.


----------



## greg_burns

armooo said:


> If I recall correctly there is a way to include a url attached to the video item, and that url should be in the xml format that is used for MRV. But I don't have a windows machine or tivo desktop to check it out now. But it should includes a lot more information than basic data that is included now.


Sorry if I am not even close, but is this what you are referring to?


Code:


http://tivo:<MAK>@<Computer_IP>:8080/TiVoConnect/TivoNowPlaying/I<filename>.TiVo?Format=text&#37;2Fxml

http://www.tivocommunity.com/tivo-vb/showthread.php?t=333675

Can't seem to get this to work anymore. I am getting the infamous "The parameter is incorrect."

What happens when this thread hits 1000?


----------



## capt_chunk

gibbyscott said:


> When I try playing back a ac3 encoded .mkv file... I notice it is in dolby digital, but the sounds are coming out of the wrong speakers? Anyone else notice this? The center sounds come out of the right speaker, and the left sounds come out of the left rear surround speak.


I was able to modify the ffmpeg command line in my transcode.py file to keep the audio channels from swapping all over the place after being transcoded.

cmd = [FFMPEG, '-threads', '2', '-i', inFile, '-vcodec', 'mpeg2video', '-r', '29.97'] + select_aspect(inFile, tsn) + ['-comment', 'pyTivo.py', '-acodec', 'copy', '-ab', AUDIO_BR,'-ar', '48000', '-f', 'vob', '-b_strategy', '1', '-bf', '2', '-coder', 'vlc', '-mbd', 'rd', '-qmin', '1', '-maxrate', '17M', '-bufsize', '1024k', '-b', VIDEO_BR, '-' ]

The option "-acodec copy" basically tells ffmpec to use the same codec to encode as to decode.

pyTivo Version: 201

Here are some helpful pages about ffmpeg:
http://howto-pages.org/ffmpeg/
http://ffmpeg.mplayerhq.hu/ffmpeg-doc.html


----------



## armooo

greg_burns said:


> Sorry if I am not even close, but is this what you are referring to?
> 
> 
> Code:
> 
> 
> http://tivo:<MAK>@<Computer_IP>:8080/TiVoConnect/TivoNowPlaying/I<filename>.TiVo?Format=text&#37;2Fxml
> 
> http://www.tivocommunity.com/tivo-vb/showthread.php?t=333675
> 
> Can't seem to get this to work anymore. I am getting the infamous "The parameter is incorrect."
> 
> What happens when this thread hits 1000?


This is what I was talking about. I just looked at Galleon 2.3.0 and It looks like it adds TiVoVideoDetails to the Item Nodes



Code:


<TiVoVideoDetails>
    <ContentType>text/xml</ContentType>
    <AcceptsParams>No</AcceptsParams>
    <Url>/TiVoConnect/TivoNowPlaying/GalleonExtra%2FVideos%2Fparkrun1920_12mbps.mpg?Format=text%2Fxml</Url>
</TiVoVideoDetails>

And this returns a TvBusMarshalledStruct

We should be able to use a URL like /TiVoConnect?Command=TVBusQuery&Container=MyMovies&File=parkrun1920_12mbps.mpg then all we will need to to is add a TVBusQuery method on to the Video class, but I don't know if I will have time to work it. But the file was showing up as TV-PG, so the TiVo was using it.


----------



## armooo

jcthorne said:


> Nope, for a Tivo HD it has no idea. Every file I threw at it was TivoHD acceptable and plays jsut fine, pyTivo wants to change its resolution or frame rate or audio track. Most of my files are 720p, 23.97 fps and ac3 audio, tivo plays them fine. Just reading through the code, pytivo wants the files a specific resolution and exactly 29.97 fps, far more strict than the TivoHD and changing video from 24fps to 30 just wastes disk space and makes the video look worse. Unless the video was 30fps to begin with but most film is 24.
> 
> Then again, I've only been using pyTivo for about 2 days. Thats why I asked for help. The instructions, as applies to a TivoHD seem very incomplete or just outdated. Its a great piece of programming and I want to learn to use it, likely beyond what the author intended.
> 
> For now I ended up making a change to the transcode.py file for it to accept all mpeg2 files, not strictly correct, but I will just have to place only compatible files there. At least until I get a better handle on setting the config file to recognize files the TivoHD can play.


Currently pyTivo is going by the setting that were on tivo's site for mpegs that are supported on S2 tivos. I made a quick patch to allow all mpegs on S3, but I am sure there is something that is not supported and they would not be transcoded with this patch.


----------



## dlfl

armooo said:


> This is what I was talking about. I just looked at Galleon 2.3.0 and It looks like it adds TiVoVideoDetails to the Item Nodes
> 
> 
> 
> Code:
> 
> 
> <TiVoVideoDetails>
> <ContentType>text/xml</ContentType>
> <AcceptsParams>No</AcceptsParams>
> <Url>/TiVoConnect/TivoNowPlaying/GalleonExtra%2FVideos%2Fparkrun1920_12mbps.mpg?Format=text%2Fxml</Url>
> </TiVoVideoDetails>
> 
> And this returns a TvBusMarshalledStruct
> 
> We should be able to use a URL like /TiVoConnect?Command=TVBusQuery&Container=MyMovies&File=parkrun1920_12mbps.mpg then all we will need to to is add a TVBusQuery method on to the Video class, but I don't know if I will have time to work it. But the file was showing up as TV-PG, so the TiVo was using it.


Hmmmmm... I confess I've gotten pretty lost regarding this "attached URL" business starting with armoo's post #997. The scenario of primary interest to me is this:
1. Starting with a transfered .tivo file on my PC I create an edited and/or re-encoded file in another format (mpeg2 or perhaps an mpeg4 type, e.g., xvid/avi) 
2. I store that on the PC or attached USB drive. pyTivo will be used to stream it back to the TiVo on demand. The .TiVo file is now deleted both from the PC and from the TiVo box.

Is the "attached URL" approach able to provide metadata in this situation, i.e., where the original .tivo file no longer exists when pyTivo serves the file? (My impression is the attached URL must query the DesktopServer to get the metadata from the .tivo file -- correct?). Keeping all the .tivo files around for this purpose would not be worth the disk space.

Or is there some other way this works, perhaps using the URL to get the metadata and write it to an xml file that is then included when the video is served (like the recent mod)? This would require the desktop server to be running at the time the xml file was created, right? (A small price if it provides a rich set of metadata.)

Please unconfuse me!


----------



## armooo

We should be able to create the TvBusMarshalledStruct from an external file like we currently do. What would need to happen is to send a TiVoVideoDetails node in the first QueryContainer request. This creates a directory listing of the files. Each node in the list can have a TiVoVideoDetails node that has a URL to get the detailed info in the TvBusMarshalledStruct format.


----------



## dlfl

armooo said:


> We should be able to create the TvBusMarshalledStruct from an external file like we currently do. What would need to happen is to send a TiVoVideoDetails node in the first QueryContainer request. This creates a directory listing of the files. Each node in the list can have a TiVoVideoDetails node that has a URL to get the detailed info in the TvBusMarshalledStruct format.


Well thanks for trying anyway.  I'm sure you're right -- I just don't understand enough about the messages going between pyTivo and the TiVo.

Can you just confirm what I hope you're saying, i.e., the original .TiVo file would not have to exist at the time pyTivo serves the video file? (Rather an external file would contain the xml metadata?)

Thanks


----------



## grahamkent

Can someone point me to where the path to the actual video file is created within pyTivo? Since v. 201 I haven't been able to get pyTivo to work, I'm getting the following error then I request a video be transfered:

FFmpeg version SVN-r10461, Copyright (c) 2000-2007 Fabrice Bellard, et al.
[configuration....] built on Sep 11 2007 01:30:32, gcc: 4.2.1-sjlj (mingw32-2)

Seems stream 0 codec frame rate differs from container frame rate: 23.98 (65535/2733) -> 23.98 (2997/125)
Input #0, avi, from '\\G-nt5\Videos\Dexter/Dexter [01x01] Dexter.avi':
Duration: 00:51:22.2, start: 0.000000, bitrate: 952 kb/s
Stream #0.0: Video: mpeg4, yuv420p, 640x368, 23.98 fps(r)
Stream #0.1: Audio: mp3, 48000 Hz, stereo, 32 kb/s
%(in_file)s: no such file or directory


The last slash in the path to the video file is incorrect and I can't seem to find the location where this is being assembled.

I'm able to browse my shares and I'm only seeing this error when I try to transfer the video. I assume the error is related to the fact that I'm running pyTivo on a win32 server and the paths use the opposite slashes to Linux.

Thanks!


----------



## dlfl

grahamkent said:


> Can someone point me to where the path to the actual video file is created within pyTivo? Since v. 201 I haven't been able to get pyTivo to work, I'm getting the following error then I request a video be transfered:
> 
> FFmpeg version SVN-r10461, Copyright (c) 2000-2007 Fabrice Bellard, et al.
> [configuration....] built on Sep 11 2007 01:30:32, gcc: 4.2.1-sjlj (mingw32-2)
> 
> Seems stream 0 codec frame rate differs from container frame rate: 23.98 (65535/2733) -> 23.98 (2997/125)
> Input #0, avi, from '\\G-nt5\Videos\Dexter/Dexter [01x01] Dexter.avi':
> Duration: 00:51:22.2, start: 0.000000, bitrate: 952 kb/s
> Stream #0.0: Video: mpeg4, yuv420p, 640x368, 23.98 fps(r)
> Stream #0.1: Audio: mp3, 48000 Hz, stereo, 32 kb/s
> %(in_file)s: no such file or directory
> 
> 
> The last slash in the path to the video file is incorrect and I can't seem to find the location where this is being assembled.
> 
> I'm able to browse my shares and I'm only seeing this error when I try to transfer the video. I assume the error is related to the fact that I'm running pyTivo on a win32 server and the paths use the opposite slashes to Linux.
> 
> Thanks!


Looks like you've substituted a later version of ffmpeg than the one distributed with pyTivo, correct? If so, try using the distributed version. Versions can vary in the details of how they parse their input command line.


----------



## Mark.Tolman

armooo said:


> I have added meta data to version 6ddab.
> 
> Currently it is reading from filename.txt and is expecting one attribute per line.
> 
> Sample
> 
> 
> Code:
> 
> 
> description : I am l33t w00t
> episode_title : Bob's Fun Place
> source_channel : 78
> source_station : Bob's
> series_id : 123
> 
> It should be simple to extend Video.__metadata to support retrieving data from other sources.


I know neither Python nor pyTivo's code well enough to try this on my own. I keep my video files on my pc organized as follows:

/Title/Title - EpisodeTitle.avi
or
/Title/Title EpisodeId EpisodeTitle.avi

Examples:
/Doctor Who/Doctor Who - Smith and Jones.avi
/Doctor Who/Doctor Who S03E11 Blink.avi

Would it be possible to easily parse the values? That way I wouldn't have to create a separate txt file for every video on my drive. If a txt file is present, its values could override the ones parsed from the filename.

Also, if the video's filename starts with the directory, could a SeriesId be added to the response - so the transferred videos are put into folders on my TiVo? In this case, wouldn't the Title have to be set to the directory's name rather than the filename?

I think this would make a great new feature for pyTivo. Maybe even allow the users to setup their own formats, like the one used by TiVo Desktop:

Title - ''Episode Title'' (Recorded Date, Channel).tivo

OK I'm done. Thanks
mark


----------



## grahamkent

dlfl said:


> Looks like you've substituted a later version of ffmpeg than the one distributed with pyTivo, correct? If so, try using the distributed version. Versions can vary in the details of how they parse their input command line.


Thanks for the suggestion dlfl, but this was an attempt on my part to solve the problem. Here's the error using the distributed ffmpeg executable:

FFmpeg version SVN-r8047, Copyright (c) 2000-2007 Fabrice Bellard, et al.
[configuration...] built on Feb 21 2007 23:20:24, gcc: 4.3.0 20070126 (experimental)

Seems stream 0 codec frame rate differs from container frame rate: 30000.00 (30000/1) -> 23.98 (24000/1001)
Input #0, avi, from '\\G-NT5\Videos\Boondocks/Boondocks - 02 - The Trial of R. Kelly.avi':
Duration: 00:21:51.1, start: 0.000000, bitrate: 1115 kb/s
Stream #0.0: Video: mpeg4, yuv420p, 640x480, 23.98 fps(r)
Stream #0.1: Audio: mp3, 48000 Hz, stereo, 128 kb/s
%(in_file)s: I/O error occured
Usually that means that input file is truncated and/or corrupted.


You'll note that while the specific error is different, the underlying problem is the same. The input video path is incorrectly formed for a Windows file path.

Thanks! Any idea where this path is generated? I'm sure it would be a simple fix.


----------



## PaulS

First of all, I think it's great that there's such an uptick in activity for this project. It's great to see features and bugs being worked on daily. 

Now, a question. Why is it that pyTivo is still using an older version of ffmpeg ? Is it simply "if it ain't broke, don't fix it" thing, or is there a more compelling reason than that ?


----------



## jcthorne

armooo said:


> Currently pyTivo is going by the setting that were on tivo's site for mpegs that are supported on S2 tivos. I made a quick patch to allow all mpegs on S3, but I am sure there is something that is not supported and they would not be transcoded with this patch.


Hey Thanks Armooo! Tivo's lack of documentation on what works and what don't has left us all in a trial and error mode. I found some combos that work for me, but am sure there are plenty of others that work too, perhaps better. If I know more about ffmpeg, I could likely get better mpeg2 encodes than I am now getting.

Its really neat that the metadata thing is finally moving forward, what a breakthrough.

I did use your latest build with the txt file for input and it works like a champ. An unexpected surprise is that it ADDED data that was missing from a .tivo file I had downloaded from the TivoHD.

Thanks for your work, look forward to this idea of using the metadata in new ways, especially for groups.


----------



## TreborPugly

Has any of this activity been related to the increased folder problems we're having on version 9.something of on S2's? (I basically have to be very careful, and always jump to the Tivo menu after starting a transfer from a subfolder, or my Tivo reboots)


----------



## schwingle

I know people have been chasing the folder bug and the workaround for the moment is to go into show details and then back out. I've found a thing or two with this:

1) It works best for me when I go into a new folder and it is showing the wrong shows and I select a show, go into the details (using the move right navigation button) and then instead of backing out with the left navigation button, I arrow down and select "Do Nothing" with the right navigation button again. 

2) I've also found the good refresh works MOST consistently if I scroll down to the bottom of the list of erroneous shows in the folder and do the first step on the very last video in the list. If it is a folder with many shows it is worth the time to page down to get to the very last show. 

Hope this helps.


----------



## grahamkent

I'm using an S2 and an S3 TivoHD and my experience has been that Tivo's version 9 software has been an improvement and brought more stability to Tivo HM. I haven't had to jump in and out of folders for the last two months. However, I should probably give Armooo most of the credit for that.


----------



## freq

I've followed the instructions and installed pyTivo, but I can't get my pc to show in the Now Playing list.
My tivo ip is 192.168.15.100 and I've tried the following in pytivo.conf..

beacon=255.255.255.255, beacon=192.168.15.255 and beacon=192.168.15.100

with no success.


----------



## dlfl

freq said:


> I've followed the instructions and installed pyTivo, but I can't get my pc to show in the Now Playing list.
> My tivo ip is 192.168.15.100 and I've tried the following in pytivo.conf..
> 
> beacon=255.255.255.255, beacon=192.168.15.255 and beacon=192.168.15.100
> 
> with no success.


255.255.255.255 works for me. Do you have port=9032 in pytivo.conf?

If there is a router between pc and TiVo, you may need to open port 9032 on it. Also try it with Windows firewall disabled. If that makes it work then you need to configure the firewall to open 9032 (and possibly 9033 ??).

If these things don't help, post a copy of your pyTivo.conf file.


----------



## dlfl

Mark.Tolman said:


> ..... I keep my video files on my pc organized as follows:
> 
> /Title/Title - EpisodeTitle.avi
> or
> /Title/Title EpisodeId EpisodeTitle.avi
> 
> Examples:
> /Doctor Who/Doctor Who - Smith and Jones.avi
> /Doctor Who/Doctor Who S03E11 Blink.avi
> 
> Would it be possible to easily parse the values? That way I wouldn't have to create a separate txt file for every video on my drive. If a txt file is present, its values could override the ones parsed from the filename.
> 
> Also, if the video's filename starts with the directory, could a SeriesId be added to the response - so the transferred videos are put into folders on my TiVo? In this case, wouldn't the Title have to be set to the directory's name rather than the filename?
> 
> I think this would make a great new feature for pyTivo. Maybe even allow the users to setup their own formats, like the one used by TiVo Desktop:
> 
> Title - ''Episode Title'' (Recorded Date, Channel).tivo .......
> mark


Parsing the file name for two or three items would not be difficult provided you are willing to separate them by a delimiter other than spaces, such as # $ % & or - (and not use the delimiter anywhere else in the file name).

However, I suspect many users would not want this scheme and how would pyTivo know which way to go? I guess another config item could control it.

Don't know how the series ID thing could be handled without a separate file.

Anyone else care to comment?


----------



## armooo

I have a version with a new template sending the TvBus metadata, but I did not have time what fields do what. If you want to play with it you should be able to change the template while it is running to see the results.

Nodes that start with a v need to have a list of <element> nodes. 
Names are Last|First.

Useful values from TivoServer

But I did not have any luck with grouping in to folder.

If anyone has time to play around with it download


----------



## GunnerMcGrath

Hi all, just getting into this TiVo server stuff and so far pyTivo works for me pretty well.. I see that many people have had problems with folders within the server, I was wondering if there's any kind of resolution to that yet? Just to recap, I have a number of folders with video files in them, but all of them say there are zero files inside. A fix for this would mean the difference between pyTivo being a mildly annoying but workable solution, and being perfectly elegant and doing exactly what I hoped to be able to do.

Also, I wasn't able to get metadata working, but the random posts about it are vague at best. If this is a currently working feature, could someone post a more complete explanation of exactly how to get this working? I would much prefer my shows to show up as Seinfeld: The Slicer as opposed to Seinfeld 163 The Slicer (and of course it would be nice if there's a way to sort the shows in sequential order regardless of their titles).

Thanks to anyone who can post some updates on these features!


----------



## dlfl

grahamkent said:


> Thanks for the suggestion dlfl, but this was an attempt on my part to solve the problem. Here's the error using the distributed ffmpeg executable:
> 
> FFmpeg version SVN-r8047, Copyright (c) 2000-2007 Fabrice Bellard, et al.
> [configuration...] built on Feb 21 2007 23:20:24, gcc: 4.3.0 20070126 (experimental)
> 
> Seems stream 0 codec frame rate differs from container frame rate: 30000.00 (30000/1) -> 23.98 (24000/1001)
> Input #0, avi, from '\\G-NT5\Videos\Boondocks/Boondocks - 02 - The Trial of R. Kelly.avi':
> Duration: 00:21:51.1, start: 0.000000, bitrate: 1115 kb/s
> Stream #0.0: Video: mpeg4, yuv420p, 640x480, 23.98 fps(r)
> Stream #0.1: Audio: mp3, 48000 Hz, stereo, 128 kb/s
> %(in_file)s: I/O error occured
> Usually that means that input file is truncated and/or corrupted.
> 
> 
> You'll note that while the specific error is different, the underlying problem is the same. The input video path is incorrectly formed for a Windows file path.
> 
> Thanks! Any idea where this path is generated? I'm sure it would be a simple fix.


I don't think your problem is the file path because: ffmpeg has read info from the file. I'm wondering if it isn't some property of the video in the file. I notice it's 24 fps while you need 30 fps output.


----------



## grahamkent

dlfl said:


> I don't think your problem is the file path because: ffmpeg has read info from the file. I'm wondering if it isn't some property of the video in the file. I notice it's 24 fps while you need 30 fps output.


I haven't had a problem transcoding videos of different frame rates so far. Using pyTivo 201 I'm able to do it all the time (with the video from my example error in fact.) but your point about being able to read the input file's properties is a good one.

Is it possible that the path is being recreated when the FFMPEG command is assembled? So the input is passed once when the parameters are read, then again when the command is assembled?

I wonder because using the debug file I can grab the FFMPEG command and run it from a DOS prompt. Reusing what's in the debug file I get the exact same error as pyTivo does. However, if I correct the path the transcoding works beautifully. (I'm adding an output filename but not touching anything else.) This leads me to believe that it is a problem with the path.

Thanks for your help.


----------



## grahamkent

In fact, looking more closely at the debug file, I see that the path listed when the folder is scanned is correct, but the input path and FFMPEG command is incorrect:

tivo_compatible: *\\G-NT5\Videos\Boondocks\Boondocks - 02 - The Trial of R. Kelly.avi* is not mpeg2video it is mpeg4 
video_info: *\\G-NT5\Videos\Boondocks\Boondocks - 02 - The Trial of R. Kelly.avi* cache hit! 
video_info: *\\G-NT5\Videos\Boondocks\Boondocks - 02 - The Trial of R. Kelly.avi* cache hit! 
video_info: ffmpeg output= FFmpeg version SVN-r8047, Copyright (c) 2000-2007 Fabrice Bellard, et al.

[configuration... etc...]
built on Feb 21 2007 23:20:24, gcc: 4.3.0 20070126 (experimental)

Seems stream 0 codec frame rate differs from container frame rate: 30000.00 (30000/1) -> 23.98 (24000/1001)

Input #0, avi, from '\\G-NT5\Videos\Boondocks/Boondocks - 02 - The Trial of R. Kelly.avi':

Duration: 00:21:51.1, start: 0.000000, bitrate: 1115 kb/s
Stream #0.0: Video: mpeg4, yuv420p, 640x480, 23.98 fps(r)
Stream #0.1: Audio: mp3, 48000 Hz, stereo, 128 kb/s
Must supply at least one output file

video_info: Codec= mpeg4 width= 640 height= 480 fps= 23.98 millisecs= 1311100 
tsn: 5400001D027E34D 
aspect169: False 
select_aspect: File= \\G-NT5\Videos\Boondocks/Boondocks - 02 - The Trial of R. Kelly.avi Type= mpeg4 width= 640 height= 480 fps= 23.98 millisecs= 1311100 ratio= 133 rheight= 3 rwidth= 4 
select_aspect: File is within 4:3 list.
transcode: ffmpeg command is C:\Program Files\pyTivo-2007-11-18\plugins\video\ffmpeg_mp2.exe -i *\\G-NT5\Videos\Boondocks/Boondocks - 02 - The Trial of R. Kelly.avi* -threads 2 -i %(in_file)s -vcodec mpeg2video -r 29.97 -maxrate 5120k -bufsize 1024k -aspect 4:3 -b 2048k -s 704x480 -comment pyTivo.py -ac 2 -ab 96k -async 44100 -ar 44100 -f vob - 


I'm not sure why there would be a difference here though.


----------



## grahamkent

I missed it when I'd previously looked at the debug file but I was attempting to pass two input parameters. I still had the original parameter in my config file and it was being passed in the transcode.py file. Removing the parameter from the config file solved the problem.

Thanks for humoring me!


----------



## reneg

greg_burns said:


> ...
> What happens when this thread hits 1000?


I'm sure I'm in the minority, but perhaps a pytivo sub-forum? Personally, I hate these type of mega-threads.


----------



## dlfl

armooo said:


> I have added meta data to version 6ddab.
> 
> Currently it is reading from filename.txt and is expecting one attribute per line.
> 
> Sample
> 
> 
> Code:
> 
> 
> description : I am l33t w00t
> episode_title : Bob's Fun Place
> source_channel : 78
> source_station : Bob's
> series_id : 123
> 
> It should be simple to extend Video.__metadata to support retrieving data from other sources.


I'm testing a development version of TVAP that automatically generates this metadata file using TivoDecode software and places it in the same folder as the video file produced by TVAP processing. It puts the correct series ID in and the pyTivo-served files do group properly in the tivo NPL. I hope an "official" versioned release of pyTivo (e.g., 209) with this feature appears soon.


----------



## MT-Hand

Can anyone tell me what I might be doing wrong? I'd really like to change from Tivo.NET to pyTivo, but just can't get it to work.

Anybody? Please? 



MT-Hand said:


> I've been trying off and on to get pyTivo working on my Mac since March, and still haven't gotten there yet. I've updated to Python 2.5.1, Downloaded [email protected]'s compile of ffmpeg for Mac OSX from the pyTivo Wiki site, and "attempted" to use the "roll-your-own with MacPorts" method (no luck there).
> 
> Like many others I get the "containers" to show up on the Tivo's NPL, but no list of files -- just the message that the list of files cannot be shown due to an "unknown error".
> 
> Here's what I get in the Terminal window:
> 
> 
> Code:
> 
> 
> Last login: Sat Oct  6 20:25:36 on ttyp2
> cd /Volumes/BigDog/Users/mtmiles/Downloads/-\ Media\ Tools/MissingMediaBurner.app/Contents/Resources/bin
> ./cdrecord -checkdrive dev=IOCompactDiscServices/2 ; ./cdrecord -prcap dev=IOCompactDiscServices/2
> Welcome to Darwin!
> [miMac:~] mtmiles% cd /Volumes/BigDog/Users/mtmiles/Downloads/-\ Media\ Tools/MissingMediaBurner.app/Contents/Resources/bin
> tcsh: /Volumes/BigDog/Users/mtmiles/Downloads/- Media Tools/MissingMediaBurner.app/Contents/Resources/bin: No such file or directory.
> [miMac:~] mtmiles% ./cdrecord -checkdrive dev=IOCompactDiscServices/2 ; ./cdrecord -prcap dev=IOCompactDiscServices/2
> tcsh: ./cdrecord: Command not found.
> tcsh: ./cdrecord: Command not found.
> [miMac:~] mtmiles% cd /Applications/pyTivo/
> [miMac:/Applications/pyTivo] mtmiles% python pyTivo.py
> /Applications/pyTivo/Cheetah/Compiler.py:1508: UserWarning:
> You don't have the C version of NameMapper installed! I'm disabling Cheetah's useStackFrames option as it is painfully slow with the Python version of NameMapper. You should get a copy of Cheetah with the compiled C version of NameMapper.
> "\nYou don't have the C version of NameMapper installed! "
> 192.168.2.3 - - [06/Oct/2007 20:33:38] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
> 544
> =========================================================================
> Tivo said: pyTivoDownloads || Hack said: pyTivoDownloads
> 192.168.2.3 - - [06/Oct/2007 20:33:41] "GET /TiVoConnect?Command=QueryContainer&Container=pyTivoDownloads&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
> ----------------------------------------
> Exception happened during processing of request from ('192.168.2.3', 2988)
> Traceback (most recent call last):
> File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/SocketServer.py", line 464, in process_request_thread
> self.finish_request(request, client_address)
> File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/SocketServer.py", line 254, in finish_request
> self.RequestHandlerClass(request, client_address, self)
> File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/SocketServer.py", line 522, in __init__
> self.handle()
> File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/BaseHTTPServer.py", line 316, in handle
> self.handle_one_request()
> File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/BaseHTTPServer.py", line 310, in handle_one_request
> method()
> File "/Applications/pyTivo/httpserver.py", line 78, in do_GET
> method(self, query)
> File "/Applications/pyTivo/plugins/video/video.py", line 264, in QueryContainer
> t.files, t.total, t.start = self.get_files(handler, query, VideoFileFilter)
> File "/Applications/pyTivo/plugin.py", line 52, in get_files
> files = filter(filterFunction, files)
> File "/Applications/pyTivo/plugins/video/video.py", line 258, in VideoFileFilter
> return transcode.suported_format(full_path)
> File "/Applications/pyTivo/plugins/video/transcode.py", line 295, in suported_format
> if video_info(inFile)[0]:
> File "/Applications/pyTivo/plugins/video/transcode.py", line 225, in video_info
> ffmpeg = subprocess.Popen(cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE, stdin=subprocess.PIPE)
> File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/subprocess.py", line 593, in __init__
> errread, errwrite)
> File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/subprocess.py", line 1079, in _execute_child
> raise child_exception
> OSError: [Errno 8] Exec format error
> ----------------------------------------
> 192.168.2.3 - - [06/Oct/2007 20:33:47] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
> 192.168.2.3 - - [06/Oct/2007 20:33:54] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
> 
> And this is what the "Debug.txt" log contains:
> 
> 
> Code:
> 
> 
> Video.py -  Hack83 is enabled.
> Video.py -  Hack new request ------------------------
> Video.py -  Hack TiVo request is:
> {'Container': ['pyTivoDownloads'], 'Command': ['QueryContainer']}
> Video.py -  Hack this was not a TiVo request.
> Video.py -  Hack83 is enabled.
> Video.py -  Hack new request ------------------------
> Video.py -  Hack TiVo request is:
> {'Filter': ['x-tivo-container/tivo-videos,x-tivo-container/folder,video/x-tivo-mpeg,video/*'], 'Container': ['pyTivoDownloads'], 'ItemCount': ['8'], 'Command': ['QueryContainer'], 'SortOrder': ['!CaptureDate']}
> Video.py -  New TSN.
> Video.py -  Hack our saved request is:
> {'Filter': ['x-tivo-container/tivo-videos,x-tivo-container/folder,video/x-tivo-mpeg,video/*'], 'Container': ['pyTivoDownloads'], 'ItemCount': ['8'], 'Command': ['QueryContainer'], 'SortOrder': ['!CaptureDate']}
> Video.py -  Hack we are at the root. Saving query, Clearing state[page].
> Video.py -  Hack Tivo said:  pyTivoDownloads  || Hack said:  pyTivoDownloads
> Video.py -  Hack83 is enabled.
> Video.py -  Hack new request ------------------------
> Video.py -  Hack TiVo request is:
> {'Filter': ['x-tivo-container/tivo-videos,x-tivo-container/folder,video/x-tivo-mpeg,video/*'], 'Container': ['pyTivoDownloads'], 'ItemCount': ['8'], 'Command': ['QueryContainer'], 'SortOrder': ['!CaptureDate']}
> Video.py -  New TSN.
> Video.py -  Hack our saved request is:
> {'Filter': ['x-tivo-container/tivo-videos,x-tivo-container/folder,video/x-tivo-mpeg,video/*'], 'Container': ['pyTivoDownloads'], 'ItemCount': ['8'], 'Command': ['QueryContainer'], 'SortOrder': ['!CaptureDate']}
> Video.py -  Hack we are at the root. Saving query, Clearing state[page].
> Video.py -  Hack Tivo said:  pyTivoDownloads  || Hack said:  pyTivoDownloads
> Video.py -  Hack83 is enabled.
> Video.py -  Hack new request ------------------------
> Video.py -  Hack TiVo request is:
> {'Filter': ['x-tivo-container/tivo-videos,x-tivo-container/folder,video/x-tivo-mpeg,video/*'], 'Container': ['pyTivoDownloads'], 'ItemCount': ['8'], 'Command': ['QueryContainer'], 'SortOrder': ['!CaptureDate']}
> Video.py -  New TSN.
> Video.py -  Hack our saved request is:
> {'Filter': ['x-tivo-container/tivo-videos,x-tivo-container/folder,video/x-tivo-mpeg,video/*'], 'Container': ['pyTivoDownloads'], 'ItemCount': ['8'], 'Command': ['QueryContainer'], 'SortOrder': ['!CaptureDate']}
> Video.py -  Hack we are at the root. Saving query, Clearing state[page].
> Video.py -  Hack Tivo said:  pyTivoDownloads  || Hack said:  pyTivoDownloads
> 
> If anybody has a suggestion where to look next, I'd appreciate it.
> 
> Todd


----------



## gilbreen

armooo said:


> Currently pyTivo is going by the setting that were on tivo's site for mpegs that are supported on S2 tivos. I made a quick patch to allow all mpegs on S3, but I am sure there is something that is not supported and they would not be transcoded with this patch.


armooo,

I have 3 TivoHDs and 1 S2 DT. When I play back a video on the S2 via pyTivo (the files are mpeg2 files created by a ReplayTV - 720x480 @ 29.97fps, encoded to 4,000 kbps), the files transfer fine and play back as expected.

However, on the TivoHDs, when I select a file to transfer, the green progress bar never moves even thought the blue transfer light comes on. In addition, I can't skip around in file (meaning FF or RW). The file has to be watched straight through.

I would like to try the above patch to see if it would fix the issue I am seeing but I am not sure where to place it. In addition, would the above file allow for my S2 to continue functioning as is. In other words, does the file above explicitly affect only S3 Tivos (hopefully, TivoHDs) and make no change to how S2s process files?

Thanks.


----------



## Kipperman

Hi i am installing pytivo referencing the OS X wiki and am encountering this error:



Code:


--->  Configuring faac
Error: Target org.macports.configure returned: shell command "cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_audio_faac/work/faac && aclocal -I . && autoheader && glibtoolize --automake" returned error 1
Command output: /usr/bin/glibtoolize: line 1: cd: /usr/share/libtool: No such file or directory
glibtoolize: cannot list files in `/usr/share/libtool'

Error: The following dependencies failed to build: faac faad2 autoconf help2man p5-locale-gettext perl5.8 libtool m4 automake libogg libtheora libvorbis pkgconfig x264
Error: Status 1 encountered during processing.

Please let me know if you have any ideas on how to resolve this problem. Thanks!
-Kipperman


----------



## wmcbrine

MT-Hand said:


> OSError: [Errno 8] Exec format error


What does your pyTivo.conf say? I'm guessing that your ffmpeg line is wrong.


----------



## schwingle

I'm successfully running pyTivo 2.08 but with the already documented folder issues. I've moved most of my shows up to the 1 folder down position and that is survivable. 

But I noticed Armoo had several newer versions for download some with an attempted fix for folders and some for tagging. I tried the folder fix ones and none of them would run. Not sure what was happening, but the if I uninstalled the 2.08 and installed the folder fix ones, the pyTivo would look like it had run but nothing would show from my tivo, not even the share name. If I tried to run the pytivo.py from the python compiler the compiler would just go 'not responding'.

Any ideas at all?


----------



## Iluvatar

Kipperman said:


> Hi i am installing pytivo referencing the OS X wiki and am encountering this error:
> 
> 
> 
> Code:
> 
> 
> --->  Configuring faac
> Error: Target org.macports.configure returned: shell command "cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_audio_faac/work/faac && aclocal -I . && autoheader && glibtoolize --automake" returned error 1
> Command output: /usr/bin/glibtoolize: line 1: cd: /usr/share/libtool: No such file or directory
> glibtoolize: cannot list files in `/usr/share/libtool'
> 
> Error: The following dependencies failed to build: faac faad2 autoconf help2man p5-locale-gettext perl5.8 libtool m4 automake libogg libtheora libvorbis pkgconfig x264
> Error: Status 1 encountered during processing.
> 
> Please let me know if you have any ideas on how to resolve this problem. Thanks!
> -Kipperman


it sounds as if one of the port files that specifies where faac (or a dependency) is to be installed is somehow messed up.

I would first try:
*sudo port clean ffmpeg +lame +libogg +vorbis +theora +faac +faad +xvid +x264 +a52 +dts*

and then:

*sudo port selfupdate
*
if you have already successfully installed Lame then attempt the ffmpeg install command again:

*sudo port install ffmpeg +lame +libogg +vorbis +theora +faac +faad +xvid +x264 +a52 +dts*

If that still fails then your MacPorts install may not have been configured properly. Make sure the following 3 lines are located in your ~/.bash_profile
*
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
export DISPLAY=:0.0
export EDITOR=/usr/bin/pico*

If not then it is easy to put them there. In the terminal type:

*open ./.bash_profile*

Then copy and paste those 3 lines in there. Log out the user and log back in. Then just try those first commands again from the beginning of my post.


----------



## GunnerMcGrath

armooo said:


> pyTivo lets you stream most videos from your PC to your unhacked tivo. It uses the HMO server protocol. It will guess if your video is 4:3 or 16:9 and pad your video if it thinks it is needed. It will not transcode an mpeg that is in a format supported by tivos.
> 
> Change Log
> 
> http://pytivo.armooo.net/
> 
> Usage
> 
> Edit pyTivo.conf
> 
> [<name of share>]
> type=vidwo
> path=<path to videos>
> 
> run pyTivo.py
> 
> To install as a service
> 
> run pyTivoService.py --startup auto install
> 
> To remove service
> 
> run pyTivoService.py remove
> 
> Or you can try out the windows installer
> http://armooo.net/~armooo/pyTivo/downloads


Everything's working fine when I manually run pyTivo.py but when I try to enter "pyTivoService.py --startup auto install" at the command prompt it just gives me the Usage instructions (which do, in fact, tell me that this line should work correctly).

Is something not working properly with the service?


----------



## Sicklybutsexy

I've gotten the last pytivo program posted by Armoo on 11/19 to work. For us novices you have to copy and past the text from the conf. dist. file and put in in the pyTivo conf. file. I have not gotten the series id feature, etc...to work. Does anyone know how to get started on this?

BTW, all of the sudden my Tivo can play 16:9 files on its shabby 4:3 platform. Tivo must have sent out something to revive this ability.


----------



## Kipperman

Thanks Iluvatar,

For some reason I did not have a .bash_profile file. Even after I reinstalled macports.

I followed you instructions to the letter but still no luck. 

I did find a .profile and copied it to create a .bash_profile and inserted the three lines you gave me and i think it worked. 

I installed python 2.5.1 and downloaded pytivo and now i have a new problem

I cannot open the pyTivo.conf.dist file. i keep getting the following error 

Couldn't open "pyTivo.conf.dist".

Again, any guidance would be appreciated. (I'm on a mac)

********EDIT ********

Solved it myself. turns out just cp the .dist file and removing the extension allowed me to vi edit and make the changes i needed. now i'm up and testing. 
thanks again!!!!


----------



## dlfl

dlfl said:


> I'm testing a development version of TVAP that automatically generates this metadata file using TivoDecode software and places it in the same folder as the video file produced by TVAP processing. It puts the correct series ID in and the pyTivo-served files do group properly in the tivo NPL. I hope an "official" versioned release of pyTivo (e.g., 209) with this feature appears soon.


The new version of TVAP is almost ready to release. It automatically generates a couple of extra metadata items beyond what was in pyTivo 6ddab. Example:

description : (2007)Ranging from the (etc., edited for length)
episode_title : Pirates of the Caribbean
series_id : SH792856
episode_num : 32
source_channel : 52
source_station : HISTORY
capture_date : 0x4744E2A0

The extra items are in red type. "capture_date" is a hex number representing the recording date-time as the number of seconds since 1/1/1970, 12:00 am Z. It is computed by TVAP from the recording time/date field in the .TiVo metadata. Sending it as metadata allows it to be correctly displayed when you select the TTCB file in the NPL -- otherwise you get the time/date you transferred the file to your pc via TTG. Note that pyTivo doesn't require all these items to be present - so adding these two item poses no problem for users who don't want to use them.

The proposed changes (in red type) to pyTivo files relative to version 6ddab are:

*video.py:*

def __metadata(self, full_path):
description_file = full_path + '.txt'

metadata = {
'description' : ' ',
'episode_title' : ' ',
'source_channel' : ' ',
'source_station' : ' ',
'series_id' : ' ',
'episode_num' : ' ',
'capture_date' : ' '
}

*container.tmpl:*

#echo $escape('.'.join(video['name'].split('.')[:-1])) #
<ContentType>video/x-tivo-mpeg</ContentType>
<SourceFormat>video/x-ms-wmv</SourceFormat>
<SourceSize>$video.size</SourceSize>
<Duration>$video.duration</Duration>
<Description>$escape($video.description)</Description>
<CaptureDate>$video.capture_date</CaptureDate>
<EpisodeTitle>$escape($video.episode_title)</EpisodeTitle>
<SourceChannel>$escape($video.source_channel)</SourceChannel>
<SourceStation>$escape($video.source_station)</SourceStation>
<SeriesId>$video.series_id</SeriesId>
<EpisodeNumber>$escape($video.episode_num)</EpisodeNumber>

I hope version 209 with these changes can be released soon. I'm submitting an enhancement ticket to the Wiki that references this post. I looked at the Git stuff but don't have it going yet. BTW how good is the Windows version (msysGit)?


----------



## Sicklybutsexy

Do you know why when I title the video with a text document that when it transfers it's called "padrun1920_12mbps"?

How to I get the correct title on the tivo. I know it's seeing my text document because it has the "channel" I put in as well as the channel number.


----------



## wgw

Sicklybutsexy said:


> Do you know why when I title the video with a text document that when it transfers it's called "padrun1920_12mbps"?
> 
> How to I get the correct title on the tivo. I know it's seeing my text document because it has the "channel" I put in as well as the channel number.


That's the TvBus beta. I don't think it's quite ready for prime time. Use the version before that (cf131) and it will also give you subfolder support by adding "auto_subshares = True" to a share in the conf. (post #995)


----------



## Sicklybutsexy

wgw said:


> That's the TvBus beta. I don't think it's quite ready for prime time. Use the version before that (cf131) and it will also give you subfolder support by adding "auto_subshares = True" to a share in the conf. (post #995)


Ok I downloaded the cf131 program and got it working...really cool. I guess it's only one attribue per line. Does this mean we can't make the descriptions any longer? I'd like to just cut and paste a description and add it but it gets cut off


----------



## Sicklybutsexy

Sicklybutsexy said:


> Ok I downloaded the cf131 program and got it working...really cool. I guess it's only one attribue per line. Does this mean we can't make the descriptions any longer? I'd like to just cut and paste a description and add it but it gets cut off


that's ok I fixed it. each line has to go to the end of the document or it will get cut off. if cutting and pasting just make sure the text goes towards the far right of the document


----------



## mikeylikesit40

Rock and Roll!

Downloaded the sub folder fix version and I'm back in business.

Reasons to use PyTivo instead of Tivo Desktop...
1) Higher resolution, faster than real time transcoding.
2) Folders make it into a true multimedia server. Desktop is just too darn slow and you can't organize the view that the Tivo show.

Thanks guys... I swear if Tivo would just hire you and provide better support for your product (make it an official product) then they would have the ability to sell their units as clients for a multimedia server with the same easy to use interface we are all used to.

I know they lost 2 customers last year (friends) who were looking to set up a home network for media. I told them to just wait a year... Tivo will have the S3 MRV and TTG enabled, then all will be right with the world.

They didn't listen.

Now I got a rockin' system and they have a patchwork of expensive stuff that's not all that easy to use.

BTW, alot of the Philips DVD players (the $50 versions) have usb ports. I was using a 300gb external Hard Drive with that until now. It plays Xvid/Divx/wmv, etc. That is a great cheap solution with the only minor drawback of having to lug the drive around the house.


----------



## Sicklybutsexy

Is there a way to force pyTivo to transcode into a 4:3 format such that FFMPEG padtop and padbottom 60 with a height of 360?


----------



## Iluvatar

Sicklybutsexy said:


> Is there a way to force pyTivo to transcode into a 4:3 format such that FFMPEG padtop and padbottom 60 with a height of 360?


Are you looking to pad all input video sizes or just 4:3 input sizes? I've made adjustments to my transcode.py for 4:3 videos but if you add in 16:9 thats quite a bit more code to change.


----------



## Sicklybutsexy

Iluvatar said:


> Are you looking to pad all input video sizes or just 4:3 input sizes? I've made adjustments to my transcode.py for 4:3 videos but if you add in 16:9 thats quite a bit more code to change.


Maybe I'll just let it go then. I was hoping to pad all 16:9 input videos so that on a 4:3 tv there wouldn't be any distortion. It's kinda what videora does except this would be on the fly.


----------



## fred22

Sorry, if this is answered - did a quick search and the thread is now so long....

Can MP3's be played through folders? I have a Dylan subfolder and under that various albums' folders. I have to drill through to find mp3's in an album folder. But once that album has played, pytivo stops the music. Am I missing something or can pytivo negotiate into the next folders.

\Dylan
\dylan\nashville
\dylan\whatever1
\dylan\whatever2

And then more of my music rather than being limited to ONE album or having to copy all of my mp3's into one large unregimented folder scheme.

(Off this topic - I am reading the stuff about metadata with interest but it is beyond me at this time)

Thanks in advance


----------



## armooo

You should now be able to set all this metadata in the text file. If it starts with a 'v' you can have more than one line with that type of data.



Code:


seriesId
showingBits
time
vActor
vChoreographer
description
vDirector
episodeNumber
title
vExecProducer
vProgramGenre
vGuestStar
vHost
isEpisode
originalAirDate
vProducer
vSeriesGenre
seriesTitle
seriesTitle
vWriter
displayMajorNumber
displayMinorNumber
callsign
startTime
stopTime


----------



## armooo

fred22 said:


> Sorry, if this is answered - did a quick search and the thread is now so long....
> 
> Can MP3's be played through folders? I have a Dylan subfolder and under that various albums' folders. I have to drill through to find mp3's in an album folder. But once that album has played, pytivo stops the music. Am I missing something or can pytivo negotiate into the next folders.
> 
> \Dylan
> \dylan\nashville
> \dylan\whatever1
> \dylan\whatever2
> 
> And then more of my music rather than being limited to ONE album or having to copy all of my mp3's into one large unregimented folder scheme.
> 
> (Off this topic - I am reading the stuff about metadata with interest but it is beyond me at this time)
> 
> Thanks in advance


It looks like the tivo is sending a request to include the music from all subfolders and pytivo ignores it and just sends back the music for that one folder. So I is a bug a never noticed (I always want to play an album). It also looks like the random is not supported.


----------



## dlfl

armooo said:


> You should now be able to set all this metadata in the text file. If it starts with a 'v' you can have more than one line with that type of data.
> 
> 
> 
> Code:
> 
> 
> seriesId
> showingBits
> time
> vActor
> vChoreographer
> description
> vDirector
> episodeNumber
> title
> vExecProducer
> vProgramGenre
> vGuestStar
> vHost
> isEpisode
> originalAirDate
> vProducer
> vSeriesGenre
> seriesTitle
> seriesTitle
> vWriter
> displayMajorNumber
> displayMinorNumber
> callsign
> startTime
> stopTime


I'm trying out version 12805...

For a video called *Lost Worlds - ''Pirates of the Caribbean''.mpg*
located in this share:

[USB_QSF]
type=video
path=I:\Videos\QSF

My metadata file contains:

description : Ranging from the icy docks of Bristol, England, (etc. etc.) 
episode_title : Pirates of the Caribbean
series_id : SH792856
episode_num : 232
displayMajorNumber : 16
callsign : PBS
#capture_date : 0x4744E2A0
time : 2007-11-22T02:00:00Z
title : Lost Worlds ''Pirates of the Carribean''
vProgramGenre : Documentary
vProgramGenre : Adventure
originalAirDate : 2007-11-21T00:00:00Z

When I select this file in NPL, the large main title is "QSF" (which has to be coming from the share path). The lower small title contains the title.

The callsign, displayMajorNumber and episodeNumber don't show up on the first screen or in the info screen.

????


----------



## MT-Hand

wmcbrine said:


> What does your pyTivo.conf say? I'm guessing that your ffmpeg line is wrong.


Here is the relevant part of my pyTivo.conf file.



Code:


#Full path to ffmpeg including filename
#For windows: ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
#For linux:   ffmpeg=/usr/bin/ffmpeg
#ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe

#ffmpeg=/usr/bin/ffmpeg
#ffmpeg=/opt/local/bin/ffmpeg
#ffmpeg=/usr/local/bin/pyTivo/ffmpeg
ffmpeg=/Applications/pyTivo/ffmpeg

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

# 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 -

I currently have ffmpeg located at /Application/pyTivo/ffmpeg, but as you can see from three lines above that one (commented out), I've tried numberous other options. I should clarify that I am trying to use the pre-compiled version of ffmpeg from http://homepage.mac.com/bedelman/ffmpeg_Mac_8222.zip. When I attempted the MacPorts method, I had even more problems. Do you think that could be part of my problem?

Thanks,
Todd


----------



## armooo

dlfl said:


> I'm trying out version 12805...
> 
> For a video called *Lost Worlds - ''Pirates of the Caribbean''.mpg*
> located in this share:
> 
> [USB_QSF]
> type=video
> path=I:\Videos\QSF
> 
> My metadata file contains:
> 
> description : Ranging from the icy docks of Bristol, England, (etc. etc.)
> episode_title : Pirates of the Caribbean
> series_id : SH792856
> episode_num : 232
> displayMajorNumber : 16
> callsign : PBS
> #capture_date : 0x4744E2A0
> time : 2007-11-22T02:00:00Z
> title : Lost Worlds ''Pirates of the Carribean''
> vProgramGenre : Documentary
> vProgramGenre : Adventure
> originalAirDate : 2007-11-21T00:00:00Z
> 
> When I select this file in NPL, the large main title is "QSF" (which has to be coming from the share path). The lower small title contains the title.
> 
> The callsign, displayMajorNumber and episodeNumber don't show up on the first screen or in the info screen.
> 
> ????


The callsign and displayMajorNumber were my fault.

The others look like names that changed to match with was in the TVBus XML.

title is now the episode title and there is a new seriesTitle.
And the names with _ are not used any more and names the match the TVBus node names.


----------



## dlfl

143ca works fine! Haven't tested every last item. The episodeTitle doesn't show up anywhere that I can see but title and seriesTitle seem enough. TivoDecode xml chunks show an episodeTitle for a series episode but none for a movie. The title and seriesTitle are in both and they are identical. Thus the following mapping works:

TivoDecode chunk --> pyTivo metadata file

episodeTitle ---> title (absent for movies)
title (or seriesTitle) ---> seriesTitle

Great work! Thanks


----------



## dlfl

For a series episode, e.g., "The Initiation" from the "Office" series, to get the right titling on the first screen after selecting from the NPL, you have to use

title : The Initiation
seriesTitle : The Office

However all that shows in the NPL listing is the title, i.e., "The Initiation" while what you want is something like The Office - ''The Initiation''. The actual file name is ignored now, which isn't all bad because it's cluttered up with the "(Recorded <date>, <call sign>)" that is automatically added during TTG.

But this behavior is somewhat undesirable -- could it be improved?

Thanks


----------



## wgw

I see that the latest version automatically uses the subfolder name as the title and the file name as the episode name. Makes sense because it eliminates the need to specify those attributes in a txt file.

Could you go one step further and have the program scan the folder for a file called __defaultMetadata.txt which would contain overriding metadata attributes that would be applied to all files in that folder. That way we could just create one txt file for the whole folder instead of separate txt files for each episode. Specifically, I want to place the SeriesID in defaultMetadata.txt so that everything in that folder will be grouped by folder on the Tivo. And those using parental controls would probably want to use this to specify a TVrating for all files in the folder. Genre would also apply.


----------



## bschuler2007

Sorry for the interruption.. 

But I just wanted to thank all the developers out there who made pyTivo work and those who made it continue to work and expand. Thank you!


----------



## scrappydog65

bschuler2007 said:


> Sorry for the interruption..
> 
> But I just wanted to thank all the developers out there who made pyTivo work and those who made it continue to work and expand. Thank you!


Let me second that thank you. PyTivo is absolutely incredible!!!! Gotta like something that works and only takes up around 40kb of memory. I'm a big fan of Galleon too, but unfortunately that takes up 360kb of memory. If only Galleon could be re-written in Python instead of Java.

Mike


----------



## freq

dlfl said:


> 255.255.255.255 works for me. Do you have port=9032 in pytivo.conf?
> 
> If there is a router between pc and TiVo, you may need to open port 9032 on it. Also try it with Windows firewall disabled. If that makes it work then you need to configure the firewall to open 9032 (and possibly 9033 ??).
> 
> If these things don't help, post a copy of your pyTivo.conf file.


==========
There isn't a router between the pc and tivo.
Same results with or without windows firewall running.
Here's my .conf ..

[Server]
port=9032

#Full path to ffmpeg including filename
#For windows: ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
#For linux: ffmpeg=/usr/bin/ffmpeg
ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
#ffmpeg=/usr/bin/ffmpeg

#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
#beacon=192.168.15.101
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=-i %(in_file)s -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

[MyMovies]
#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:\videos

##You can have more than one share
#[MyTelevision]
#type=video
#path=d:\television
[Videos]


----------



## mikeylikesit40

I'm a little lost. Lot's happening with this product right now.

So, I downloaded the version with the sub-folder fix and it works. Yea!

Today, I decided to try all this MetaData stuff and downloaded version 143. Subfolders are broken again?

Did that fix not get propogated to the next versions?

BTW, thanks for everyone's hard work. I'm happy with the sub folder version since I have everything (1000 files) organized into series/season. I just thought the other info would be nice to have.

I'm probably just missing some important aspect of what's going on to enable the subfolders in the newest version.

Thanks for taking the time to explain it to me (if you do).


----------



## wmayhem

Great software. Was working great. But I've run into a couple of problems:

1) I have two Tivo Series 2 boxes (one ethernet and one wireless). I first installed pyTivo a few weeks ago and had no problem transferring and watching .vob files to both boxes. Now, on the wireless Tivo, when streaming .vob files, I get only audio. The picture is black. I tried transferring the same files that had previously worked on the same machine and they have the same problem! There was no service update on Tivo. The ethernet Tivo box still works for both video and audio with .vob files.

2) Also, on both boxes transferring other file formats (flv or m4v) now does not work. Tivo indicates that the files are transferring but no actual progress is made... so the transfer stays at 0% indefinitely.

Any help appreciated. Thanks.


----------



## dlfl

freq said:


> ==========
> There isn't a router between the pc and tivo.
> Same results with or without windows firewall running.
> Here's my .conf ..
> 
> [Server]
> port=9032
> 
> #Full path to ffmpeg including filename
> #For windows: ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
> #For linux: ffmpeg=/usr/bin/ffmpeg
> ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
> #ffmpeg=/usr/bin/ffmpeg
> 
> #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
> #beacon=192.168.15.101
> 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=-i %(in_file)s -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
> 
> [MyMovies]
> #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:\videos
> 
> ##You can have more than one share
> #[MyTelevision]
> #type=video
> #path=d:\television
> [Videos]


I've highlighted two likely problems in red above. The first one is defining a per-tivo section using a fictitious TSN (Tivo Service Number) "DEADBEEF". if you want a per-tivo section (usually because you have more than one TiVo unit) then the actual TSN for the tivo unit must be used. You don't actually define anything in that section so you probably don't need it. Note that any line beginning with '#' is commented out (might as well not be there).

The second is you define a section named Videos, but there is no path or type specification in it.

Correct these and see what happens!


----------



## dlfl

wmayhem said:


> Great software. Was working great. But I've run into a couple of problems:
> 
> 1) I have two Tivo Series 2 boxes (one ethernet and one wireless). I first installed pyTivo a few weeks ago and had no problem transferring and watching .vob files to both boxes. Now, on the wireless Tivo, when streaming .vob files, I get only audio. The picture is black. I tried transferring the same files that had previously worked on the same machine and they have the same problem! There was no service update on Tivo. The ethernet Tivo box still works for both video and audio with .vob files.
> 
> 2) Also, on both boxes transferring other file formats (flv or m4v) now does not work. Tivo indicates that the files are transferring but no actual progress is made... so the transfer stays at 0% indefinitely.
> 
> Any help appreciated. Thanks.


What version? What platform?


----------



## wmayhem

dlfl said:


> What version? What platform?


Sorry. v182 on Windows XP. Thx


----------



## BillB

I am trying PyTivo for first time. I have been using Tivo.net but this looks better.

The only problem I have is that the configuration file does not show up on Configure PyTivo, Item 4 on the site http://pytivo.armooo.net/.

Can anyone post this information here?

Many thanks,


----------



## dlfl

wmayhem said:


> Sorry. v182 on Windows XP. Thx


Probably a long shot but what version of ffmpeg (which is renamed to ffmpeg_mp2.exe when distributed with pyTivo) are you using? The currently distributed version is r8047 which seems to be pretty solid.

To get the version number, log a command window to the ...\plugins\video directory and enter the command:

ffmpeg_mp2 -i dud

If it's an older version (lower version number) you can substitute the newer version and try it. Be sure to include the pthreadGC2.dll file that supports ffmpeg. Probably the simplest way to get the newer versions is just download the latest .zip package and pull them from there.


----------



## mikeylikesit40

BillB said:


> I am trying PyTivo for first time. I have been using Tivo.net but this looks better.
> 
> The only problem I have is that the configuration file does not show up on Configure PyTivo, Item 4 on the site http://pytivo.armooo.net/.
> 
> Can anyone post this information here?
> 
> Many thanks,


If you tried to install the new version on top of the old, it looks like you will get that error.

I installed it in C:\PyTivo2 (different then original install) and it started working. Deleted c:\PyTivo and rename C:\PyTivo2 to c:\PyTivo and all is well.

I'm sure there is some technical thing you could also do to fix it but I figured I'd offer my simple fix so maybe you could get up and running.


----------



## dlfl

BillB said:


> I am trying PyTivo for first time. I have been using Tivo.net but this looks better.
> 
> The only problem I have is that the configuration file does not show up on Configure PyTivo, Item 4 on the site http://pytivo.armooo.net/.
> .......Many thanks,


The file pyTivo.conf.dist now distributed in the zip downloads is the example pyTivo.conf file. *Be sure to read the notes at the bottom of the WiKi page you referenced carefully*.

A couple of problems I see in pytivo.conf.dist:

1. The per-tivo section example ("[_tivo_00000DEADBEEF]") should be commented out. If you use such a section the 00000DEADBEEF must be replaced by your TiVo's TSN.

2. A few lines below that, this line:

#ffmpeg_prams=-i %(in_file)s -vcodec ..............

Is incorrect (although it is commented out so would not cause a problem). The "-i %(in_file)s" part should not be there.

Unless you are doing HDTV you can probably just leave both ffmpeg_prams lines commented out, which will revert to default ffmpeg settings -- although the first such line appears to be OK.


----------



## wmayhem

dlfl said:


> Probably a long shot but what version of ffmpeg (which is renamed to ffmpeg_mp2.exe when distributed with pyTivo) are you using? The currently distributed version is r8047 which seems to be pretty solid.
> 
> To get the version number, log a command window to the ...\plugins\video directory and enter the command:
> 
> ffmpeg_mp2 -i dud
> 
> If it's an older version (lower version number) you can substitute the newer version and try it. Be sure to include the pthreadGC2.dll file that supports ffmpeg. Probably the simplest way to get the newer versions is just download the latest .zip package and pull them from there.


Will give it a try. Thanks!


----------



## wmayhem

wmayhem said:


> Will give it a try. Thanks!


Can find the version number with your method. But, what is the proper way of updating pytivo? I used the latest version that had a windows installer.

When I upgrade to a newer version of pytivo, do I need to uninstall the service and then reinstall the new one?

Do I overwrite the whole PyTivo folder (with the exception of the conf file)?

Can anyone recommend which version post 182 is stable?

Thanks.


----------



## dlfl

wmayhem said:


> Can find the version number with your method. But, what is the proper way of updating pytivo? I used the latest version that had a windows installer.
> 
> When I upgrade to a newer version of pytivo, do I need to uninstall the service and then reinstall the new one?
> 
> Do I overwrite the whole PyTivo folder (with the exception of the conf file)?
> 
> Can anyone recommend which version post 182 is stable?
> 
> Thanks.


Not sure what your goal is at this point.
Go to new version of pyTivo or just get newer version of ffmpeg ?

I don't use the windows installer versions and don't run pyTivo as a service, so can't anwer questions related to those, except: if you are running it as a service and want to install a later version, I'm sure you need to uninstall your current version and you probably need to stop the service beforehand.

I keep multiple versions in separate folders in c:\program files, e.g.,
c:\program files\pyTivo187 etc. You just create that folder, get the .zip distribution and unzip all the contents into that folder. Then create/modify pyTivo.conf and run by clicking pyTivo.py (or a shortcut to it). But this is not the service version. Versions 187 and 200 were good for me and so far no problems with 208.


----------



## BillB

dlfl said:


> The file pyTivo.conf.dist now distributed in the zip downloads is the example pyTivo.conf file. *Be sure to read the notes at the bottom of the WiKi page you referenced carefully*.
> 
> A couple of problems I see in pytivo.conf.dist:
> 
> 1. The per-tivo section example ("[_tivo_00000DEADBEEF]") should be commented out. If you use such a section the 00000DEADBEEF must be replaced by your TiVo's TSN.
> 
> 2. A few lines below that, this line:
> 
> #ffmpeg_prams=-i %(in_file)s -vcodec ..............
> 
> Is incorrect (although it is commented out so would not cause a problem). The "-i %(in_file)s" part should not be there.
> 
> Unless you are doing HDTV you can probably just leave both ffmpeg_prams lines commented out, which will revert to default ffmpeg settings -- although the first such line appears to be OK.


Many thanks.

I have just one more question. I have 2 Tivo Series 2 and HDTV hooked to both. Are there any other things I should change in the pytivo.conf.dist file?


----------



## dlfl

BillB said:


> Many thanks.
> 
> I have just one more question. I have 2 Tivo Series 2 and HDTV hooked to both. Are there any other things I should change in the pytivo.conf.dist file?


I have no direct experience with multiple TiVo's or with HDTV but I think you need to define a per-tivo section for each TiVo and set aspect169=true in each section.

OP with HDTV and HD tivos definitely increase the video and audio bitrates. Whether you need this with S2 tivo's is something to experiment with. I believe there is a setting in the tivo itself for the 16:9 video but you probably already have set that.


----------



## gilbreen

Can anyone recommend some ffmpeg settings recommendations to put in my pyTivo.conf file for TivoHDs connected to an HDTV? The original mpeg files are 720x480 @29.97fps.

Here is my current config file:



Code:


[Server]
port=9032


#Full path to ffmpeg including filename
#For windows: ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
#For linux:   ffmpeg=/usr/bin/ffmpeg
#ffmpeg=/usr/bin/ffmpeg
ffmpeg=C:\Program Files\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

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

#If you want to use 16:9 or 4:3 on this tivo
#aspect169=true

#Bedroom
[_tivo_65200018033xxxx]
aspect169=true

#Basement
[_tivo_65200018033xxxx]
aspect169=true

#Living Room
[_tivo_65200018033xxxx]
aspect169=false

#Family Room
[_tivo_6490001806Fxxxx]
aspect169=false

#Type can be either 'video' or 'music'
#Path is the full path to your files (No trailing slash needed)
#For windows: path=c:\videos
#For linux:   path=/media

##You can have more than one share
#[MyTelevision]
#type=video
#path=d:\television

[Magic School Bus]
type=video
path=P:\Magic School Bus

[XPC Movies]
type=video
path=P:\XPC Movies

[XPC Shows]
type=video
path=P:\XPC Shows


----------



## wgw

gilbreen said:


> Can anyone recommend some ffmpeg settings recommendations to put in my pyTivo.conf file for TivoHDs connected to an HDTV? The original mpeg files are 720x480 @29.97fps.


Here is what I have in pyTivo.conf but it will not work in your older version of pyTivo. You would need a newer version that supports ffmpeg templates such as 6ddab, cf131 or newer.

audio_br=384K
video_br=14Mi
ffmpeg_prams=-vcodec mpeg2video -qscale 1.2 -maxrate %(max_video_br)s -bufsize %(buff_size)s %(aspect_ratio)s -comment pyTivo.py -acodec ac3 -ab %(audio_br)s -ar 48000 -f vob -

Just increase or decrease the qscale setting depending on the quality you want, the speed of your processor, and how long you are willing to wait for the encode. I would recommend a setting somewhere between 0.8 and 1.8. A lower setting is higher quality but longer encoding time. 1.8 is probably similar to the quality of the default settings used by pyTivo.

video_br setting is not actually used by ffmpeg with this string because it has been replaced by qscale. But the setting is still required because pyTivo uses it to allocate enough space on the Tivo. I actually use a setting of 12Mi, but 14Mi might be required if you push the qscale setting really low and have a high bitrate source.

I also removed the framerate setting because the Tivo has successfully played every framerate I have thrown at it. I figured why change it if you don't have to.

AC3 audio has also been added so as not to lose 5.1 surround during the encoding.


----------



## gilbreen

wgw said:


> Here is what I have in pyTivo.conf but it will not work in your older version of pyTivo. You would need a newer version that supports ffmpeg templates such as 6ddab, cf131 or newer.
> 
> audio_br=384K
> video_br=14Mi
> ffmpeg_prams=-vcodec mpeg2video -qscale 1.2 -maxrate %(max_video_br)s -bufsize %(buff_size)s %(aspect_ratio)s -comment pyTivo.py -acodec ac3 -ab %(audio_br)s -ar 48000 -f vob -
> 
> Just increase or decrease the qscale setting depending on the quality you want, the speed of your processor, and how long you are willing to wait for the encode. I would recommend a setting somewhere between 0.8 and 1.8. A lower setting is higher quality but longer encoding time. 1.8 is probably similar to the quality of the default settings used by pyTivo.


Excellent! Thanks. It is possible to have different settings per Tivo with the newer versions of pyTivo? I have one S2 DT connected to an SD TV.

Also, you mention the processor speed will determine what qscale setting one should use. I have a P4 3.2GHz running WinXP. Any recommendations?


----------



## scrappydog65

I've noticed that the video plug-in also displays JPG files in the NPL, though I had expected it to list only video files (MPG, AVI, TiVo, ASF, MOV, QT, etc.). Is there a way to filter out the JPG's? 

I looked at the code in Video.py. In the function (?) for video_file_filter(), it seems like maybe there is a way to check the extension of the file in the FOR loop, but I'm not familiar with Python syntax (though I have lots of other development experience). The indentation and lack of a start/end structure are definitely confusing.

Thanks,

Mike


----------



## etsolow

wgw said:


> ffmpeg_prams=-vcodec mpeg2video -qscale 1.2 -maxrate %(max_video_br)s -bufsize %(buff_size)s %(aspect_ratio)s -comment pyTivo.py -acodec ac3 -ab %(audio_br)s -ar 48000 -f vob -
> 
> AC3 audio has also been added so as not to lose 5.1 surround during the encoding.


I tried these ffmpeg parameters and my stereo indicates that it is indeed receiving a 5.1 signal, but on non-5.1 material it still is, and the channels sound funny... like the dialog is coming from the front L/R instead of the center. Any way to make ffmpeg only use AC3 on 5.1 material?


----------



## wgw

etsolow said:


> I tried these ffmpeg parameters and my stereo indicates that it is indeed receiving a 5.1 signal, but on non-5.1 material it still is, and the channels sound funny... like the dialog is coming from the front L/R instead of the center. Any way to make ffmpeg only use AC3 on 5.1 material?


Stereo source material would only use front L/R. But you can try "-acodec copy" to keep the original codec. Someone reported up above that this fixed a problem they had with an unusual type of source material. I have not tried it myself because ac3 has worked well so far.

EDIT: I just tried "-acodec copy" on a divx and got no sound at all. I was afraid of that. I'll stick with ac3.


----------



## wmayhem

dlfl said:


> Not sure what your goal is at this point.
> Go to new version of pyTivo or just get newer version of ffmpeg ?
> 
> I don't use the windows installer versions and don't run pyTivo as a service, so can't anwer questions related to those, except: if you are running it as a service and want to install a later version, I'm sure you need to uninstall your current version and you probably need to stop the service beforehand.
> 
> I keep multiple versions in separate folders in c:\program files, e.g.,
> c:\program files\pyTivo187 etc. You just create that folder, get the .zip distribution and unzip all the contents into that folder. Then create/modify pyTivo.conf and run by clicking pyTivo.py (or a shortcut to it). But this is not the service version. Versions 187 and 200 were good for me and so far no problems with 208.


I guess that I'll try a reinstall of both pyTivo and ffmpeg and assume that the latest release of pyTivo includes the latest ffmpgeg. I really appreciate your install tips. Thanks.


----------



## wmcbrine

scrappydog65 said:


> I've noticed that the video plug-in also displays JPG files in the NPL, though I had expected it to list only video files (MPG, AVI, TiVo, ASF, MOV, QT, etc.).


Hey, so it does! They don't work, though. It would be nice if pyTivo had an "images" plugin to go along with music and video... hmmm...

The problem is that ffmpeg recognizes still images as something it can handle. I guess you could do something like this:



Code:


def video_info(inFile):
    bad_extents = ['.jpg', '.png', '.gif', '.txt', '.xml']  # ignore .txt and .xml too
    if os.path.splitext(inFile)[1].lower() in bad_extents:
        return None, None, None, None, None
    .
    .
    .

P.S. Learn Python, you'll love it. No more fiddling around with nonsense. I wrote the above in the time it took me to type it, and I thought, "Wait, it can't be that simple, can it?". But it can.


----------



## dlfl

See this post for the details.

About 80% of the items possible with pyTivo ver. 143ca.... are supported automatically and seamlessly.

Thanks, Armooo!


----------



## jcthorne

Using any combination of these metadata tags like IsEpisode : True and filling in the seriesTitle and seriesId....has ANYONE seen tivo place files into a group?


----------



## dlfl

jcthorne said:


> Using any combination of these metadata tags like IsEpisode : True and filling in the seriesTitle and seriesId....has ANYONE seen tivo place files into a group?


Yes. I think the seriesID is the key. But maybe it's a logic combination with other items and maybe I just got lucky (?).

I've seen isEpisode set to true in .tivo file metadata (via TivoDecode) for movies, so I have to wonder if that is a critical factor. There is another tag, "isEpisodic" that is set to false for movies and true for series. That would be a more likely candidate for a controlling factor, it seems.


----------



## wgw

jcthorne said:


> Using any combination of these metadata tags like IsEpisode : True and filling in the seriesTitle and seriesId....has ANYONE seen tivo place files into a group?


Yes, grouping works. A valid seriesId is all that's required. See here for the command to obtain a seriesid.

I you are using pyTivo 143ca, the series id would be entered in the txt file like this. Note the capital "I".

seriesId : SH897934


----------



## dlfl

wgw said:


> Yes, grouping works. A valid seriesId is all that's required. See here for the command to obtain a seriesid.
> 
> I you are using pyTivo 143ca, the series id would be entered in the txt file like this. Note the capital "I".
> 
> seriesId : SH897934


Hmmm.... I think it's more complicated than that. I just did some experiments and didn't get grouping even though the seriesID was correct. There must be another metadata tag(s) that can defeat or enable grouping in some logic combination. Looking at the 143ca template I see that isEpisodic is being set with the value of isEpisode, i.e., it's already being sent as "true" -- and thus that can't be the problem.

'tis a puzzlement!

Edit: Whoa! Maybe NOT a puzzlement but rather a bug in TVAP parsing the TiVoDecode "chunk" containing the .tivo metadata. Stand by!


----------



## wgw

The following is the seriesid for show titled "Various". Would someone mind trying this to see if it will group shows on their Tivo. I'm just wondering if the series ID has to come from a previous recording on your own account, or if anyone can use any valid series id.

seriesId : SH380827

If this works for anyone, you might want to use this series id to group all your movies or miscellaneous recordings in the same folder. seriesId : SH897934 is for show called "HitList" which I am currently using to group movies. You might try that one too.


----------



## dlfl

dlfl said:


> Hmmm.... I think it's more complicated than that. I just did some experiments and didn't get grouping even though the seriesID was correct. There must be another metadata tag(s) that can defeat or enable grouping in some logic combination. Looking at the 143ca template I see that isEpisodic is being set with the value of isEpisode, i.e., it's already being sent as "true" -- and thus that can't be the problem.
> 
> 'tis a puzzlement!
> 
> Edit: Whoa! Maybe NOT a puzzlement but rather a bug in TVAP parsing the TiVoDecode "chunk" containing the .tivo metadata. Stand by!


I corrected the xml parsing bug in TVAP, got the correct seriesID and now grouping works. (Will be releasing fixed version of TVAP RSN.)

It's still possible that grouping depends on having

isEpisode : true

in your pyTivo metadata file. Note that pyTivo actually sets the "isEpisodic" tag based on this line, which is consistent with my observation that the "isEpisode" tag in .Tivo files always seems to be true even for movies. TVAP reads the isEpisodic tag from the .TiVo file and uses that value for the isEpisode line in the generated pyTivo metadata file. Thus isEpisodic eventually gets mapped to isEpisodic and all is well (I hope!)


----------



## wgw

Are you sure, I tried setting isEpisode to false and it still grouped.


----------



## dlfl

wgw said:


> Are you sure, I tried setting isEpisode to false and it still grouped.


No I wasn't sure at all. Glad to hear it doesn't matter! The just released new version of TVAP (0.46) has it covered either way.


----------



## dlfl

wgw said:


> The following is the seriesid for show titled "Various". Would someone mind trying this to see if it will group shows on their Tivo. I'm just wondering if the series ID has to come from a previous recording on your own account, or if anyone can use any valid series id.
> 
> seriesId : SH380827
> 
> If this works for anyone, you might want to use this series id to group all your movies or miscellaneous recordings in the same folder. seriesId : SH897934 is for show called "HitList" which I am currently using to group movies. You might try that one too.


I tried it with two different series episodes using SH380827 -- No Joy


----------



## dlfl

wmcbrine said:


> No, it isn't. As I've said, all I did was to add a valid series ID, and I got grouping. This is with the "<SeriesID>" tag in the... let's call it the "top-level" XML. You don't have to set _anything_ in the linked XML. Now, it might just be possible that if you _do_ set something in the linked XML, _then_ you have more to do... I haven't tried that yet.


Yep, already found that out, see post 1085.


----------



## wmcbrine

dlfl said:


> Yep, already found that out, see post 1085.


Yep, that's why I already deleted that message before your reply went up.


----------



## dlfl

wmcbrine said:


> Yep, that's why I already deleted that message before your reply went up.


lol


----------



## jcthorne

When I check the list from pTivo from TivoHD it displays the information from the txt file and fills in the duration correctly.

Once transferred to the Tivo, the duration shows as 0.00 and (partial). The file size looks right and the file starts playing. As it will not FF I do not know if the whole recording has transferred or not. Is there an error log or some other way of knowing? Why does the duration not display correctly. Some of the recordings I trasferred last week with older versions of pytivo display the duration correctly. Any ideas?


----------



## jcthorne

Does the seriesId I use need to be one my Tivo already has recorded? If so, guess I would need to find a series with a name I can live with for a Group name for my movie files and recored it, then use the seriesId. Am I on the right track?

Does the seriesTitle then need to match the seriesId I used or can I give it a different seriesTitle?


----------



## dlfl

jcthorne said:


> Does the seriesId I use need to be one my Tivo already has recorded? If so, guess I would need to find a series with a name I can live with for a Group name for my movie files and recored it, then use the seriesId. Am I on the right track?
> 
> Does the seriesTitle then need to match the seriesId I used or can I give it a different seriesTitle?


My experience (see post 1086) seems to say that just having a "valid" seriesID is not enough. But that still leaves room for a lot of questions, such as you ask (whether the seriesTitle needs to match) etc.


----------



## jcthorne

Would be nice to determine A combination that works and then improve the concept from there. I still do not have one that works for grouping and am trying to duplicate someone elses success and work from there.


----------



## gilbreen

I am trying to use the new naming convention using pyTivo version 43ca. I am not trying to do series/episode naming but rather simply the naming of movies and one-run shows. I have added the .txt file and it is parsing some of the info correctly but not all of it.

For example, I have a folder on my PC called 'XPC Movies'. Inside that folders are individual movie .mpg files (no sub-folders). One, for example, is the movie, 'No Way Out'. I have created a file called No Way Out.mpg.txt that contains:



Code:


title : No Way Out
description : A coverup and witchhunt occur after a politician accidentally kills his mistress.
original air date : 1987
actor(s) : Kevin Costner, Gene Hackman
director(s) : Roger Donaldson

When I browse the XPC Movies share, it shows 'No Way Out' as the episode title with XPC Movies as the series. Also, it shows the description but the year shows as 2007 and it does not show the actor and director info. In addition, once I transfer the file, in the NPL, it shows as XPC Movies, instead of No Way Out.

How should I structure the .txt file so that No Way Out does not show as the episode but rather as the title.


----------



## dlfl

dlfl said:


> I tried it with two different series episodes using SH380827 -- No Joy


Tried again with same seriesID but setting both seriesTitle's to the same string, which I made up. Still no grouping.

This seriesID is a valid one from *wgw*'s tivo, so the question of whether it would work with a seriesID already recorded on *my* tivo remains.

Edit: Question no longer remains:
I deleted a group of one series (test only) on my tivo. Then I set the pyTivo metadata items seriesTitle and seriesID on two pc files to be identical to the series I had just deleted on the tivo. After pyTivo transfer, they grouped!
The two test clips were from different series.

I'm guessing the tivo either remembers all (or a lot of) the recent series data it has recorded OR that it found a match in the deleted files folder. (??)


----------



## dlfl

Here is a summary of what I think we've learned about grouping. My thanks to *wgw * for his pm's with several series ID/series Title combination and his findings. I believe everything below is consistent with his results.

1. Grouping requires identical seriesId numbers and the number must be a "valid one", i.e., you can't just make one up.

2. The seriesId does NOT have to be from a recording done on YOUR tivo, just a valid one, e.g., obtained from a recording on a different tivo box.

3. If you don't have seriesTitle items in your metadata files, the folder name containing the video on your pc will be used for the Title (the top one in large letters on the first info page). The group name shown in the NPL however will be the matching series title for the seriesId you specified -- even though your metadata file does not contain this information. I suspect the tivo actually goes out on the network to get this, or it maintains a complete local database, which is probably feasible.

Anybody have anything to add to (or dispute) this?


----------



## dlfl

gilbreen said:


> I am trying to use the new naming convention using pyTivo version 43ca. I am not trying to do series/episode naming but rather simply the naming of movies and one-run shows. I have added the .txt file and it is parsing some of the info correctly but not all of it.
> 
> For example, I have a folder on my PC called 'XPC Movies'. Inside that folders are individual movie .mpg files (no sub-folders). One, for example, is the movie, 'No Way Out'. I have created a file called No Way Out.mpg.txt that contains:
> 
> 
> 
> Code:
> 
> 
> title : No Way Out
> description : A coverup and witchhunt occur after a politician accidentally kills his mistress.
> original air date : 1987
> actor(s) : Kevin Costner, Gene Hackman
> director(s) : Roger Donaldson
> 
> When I browse the XPC Movies share, it shows 'No Way Out' as the episode title with XPC Movies as the series. Also, it shows the description but the year shows as 2007 and it does not show the actor and director info. In addition, once I transfer the file, in the NPL, it shows as XPC Movies, instead of No Way Out.
> 
> How should I structure the .txt file so that No Way Out does not show as the episode but rather as the title.


See post 1044 in this thread where Armooo lists all the keys for metadata file items.

Each line in the file must have the form:

<key> : <value>

e.g.:
seriesTitle : Lost Worlds

The order of the lines doesn't matter.
Having all the keys defined is not necessary.

For your example, correct formatting would be:

title : No Way Out
description : A coverup and witchhunt occur after a politician accidentally kills his mistress.
originalAirDate : 1987
vActor : Kevin Costner
vActor : Gene Hackman
vDirector : Roger Donaldson

try adding

seriesTitle : No Way Out

Didn't that movie also star Clint Eastwood, or is my memory acting up again?


----------



## gilbreen

dlfl said:


> See post 1044 in this thread where Armooo lists all the keys for metadata file items.
> 
> Didn't that movie also star Clint Eastwood, or is my memory acting up again?


Excellent! Thanks for the reference to post 1044. I was using a posting in the TVAP thread and was using the wrong keywords.

No, Clint Eastwood wasn't in No Way Out.

Thanks for the help!

Gilbert


----------



## jcthorne

Quick queston,

What is the format for originalAirDate ?

My line:

originalAirDate : 2006

seems to have no effect (its for a movie if it matters) Could someone please show me the correct syntax? Thanks!


----------



## jcthorne

dlfl said:


> Here is a summary of what I think we've learned about grouping. My thanks to *wgw * for his pm's with several series ID/series Title combination and his findings. I believe everything below is consistent with his results.
> 
> 1. Grouping requires identical seriesId numbers and the number must be a "valid one", i.e., you can't just make one up.
> 
> 2. The seriesId does NOT have to be from a recording done on YOUR tivo, just a valid one, e.g., obtained from a recording on a different tivo box.
> 
> 3. If you don't have seriesTitle items in your metadata files, the folder name containing the video on your pc will be used for the Title (the top one in large letters on the first info page). The group name shown in the NPL however will be the matching series title for the seriesId you specified -- even though your metadata file does not contain this information. I suspect the tivo actually goes out on the network to get this, or it maintains a complete local database, which is probably feasible.
> 
> Anybody have anything to add to (or dispute) this?


This cannot be exactly right as I tried using wgw's example of 'SH897934 is for show called "HitList"' as meta data for a couple recordings and it would not work. Hitlist does not appear in my guide data. Chose a program from my guide data and recorded it and used its series id and then the recordings grouped using that series id and seriestitle. Changing seriesTitle to something else with a valid seriesId just results in the recording not being placed in the group.

I think the seriesId and SeriesTitle you use must appear in your available guide data OR have been recorded by your tivo at some point. IE it must be known to your Tivo. Other than the guide data itself, I do not think there is some master list out on the network or in the tivo.

So I guess we can choose group folder names from any of the available program titles we see in the guide data but cannot make up our own. At least for now.


----------



## dlfl

jcthorne said:


> Quick queston,
> 
> What is the format for originalAirDate ?
> 
> My line:
> 
> originalAirDate : 2006
> 
> seems to have no effect (its for a movie if it matters) Could someone please show me the correct syntax? Thanks!


It's some kind of standard time/date format (iso?). Anyway here is an example taken from a tivoDecode xml chunk:

2007-07-06T01:00:00Z

The Z means zulu (coordinated universal time, formerly known as GMT).

For a case like a movie where you don't know or care about anything but the year, just fill in the rest with placeholders, e.g.:

2007-06-01T01:00:00Z

Note all the chars that look like 0 are zeros.

This zulu time often is automatically converted to your local time, so that's why I would choose something other than 1 January at 00:00:00 -- this would logically be converted to the previous year!

ps: did you see the pm I sent you?


----------



## TreborPugly

Okay, I'm trying out the latest version because the folder naming/meta data stuff sounds very neat. If I grab the very latest zip off of armoo.net: http://armooo.net/~armooo/pyTivo/do...-143ca8f0247571c5bba427e9b1c652dfa1a2a891.zip, and copy it over my current Tivo, and try to remove the service or reinstall the service, I get the following error message:



> C:\Program Files\pyTivo>pyTivoService.py remove
> Traceback (most recent call last):
> File "C:\Program Files\pyTivo\pyTivoService.py", line 1, in <module>
> import beacon, httpserver
> File "C:\Program Files\pyTivo\beacon.py", line 3, in <module>
> import config
> ImportError: No module named config


However, if I grab the 208 zip off of armoo.net, I can copy it over my current pyTivo directory, remove and reinstall the service, and it appears to be running. (I see it on the Tivo - I didn't try transferring something, since I'd like to get the auto-meta data version, which I'm assuming is one of the Nov 22 zips...)


----------



## dsliu88

Has anyone succeed in streaming real media files? Although the *.rm files show up in the directory list, converting seems not to be working. Just want to make sure it's not my configuration is wrong.

Thanks.


----------



## TreborPugly

TreborPugly said:


> Okay, I'm trying out the latest version because the folder naming/meta data stuff sounds very neat. If I grab the very latest zip off of armoo.net: http://armooo.net/~armooo/pyTivo/do...-143ca8f0247571c5bba427e9b1c652dfa1a2a891.zip, and copy it over my current Tivo, and try to remove the service or reinstall the service, I get the following error message:
> 
> However, if I grab the 208 zip off of armoo.net, I can copy it over my current pyTivo directory, remove and reinstall the service, and it appears to be running. (I see it on the Tivo - I didn't try transferring something, since I'd like to get the auto-meta data version, which I'm assuming is one of the Nov 22 zips...)


Okay, I found my own problem here. For some reason, the Config.py file is now config.py, and when I copy the new version onto my old directory, Windows replaces the file, but since it is "case aware", but not "case sensitive", it doesn't change the case. I changed the name of the file, and now the service will run.

However: It seems to have a more serious version of the folders problem than I've ever seen before. The first sub-folder I enter becomes the listing for any other sub-folder, and the earlier work-arounds have no affect. (can't enter and leave trash, or enter and leave kid zone to fix it)

(It is using folder names for Series names I think)


----------



## lraesly

Working hard on getting the metadata to work. 

Downloaded the latest release on the website (pyTivo-2007-11-22-master-143ca8f0247571c5bba427e9b1c652dfa1a2a891.zip - assume this is the latest/greatest!). Server went up like a charm...

I have a test file with this data:

isEpisode : False
description : (1982) Oddball cop and tough guy, Jack Cates is the only survivor of a cop shooting and in hunting down the murderer collects Reggie Hammond from jail for 48 hours. Hammond is oddly motivated to help. The killer is searching for his stash of cash. Cates and Hammond who have the Black-white, cop-crook thing to work out make surprisingly good partners as they navigate through the city looking for their suspect. Raing: 6.8 (14,280 votes). Rated R.
title : 48 Hours
vExecProducer : Paramount 
originalAirDate : 1982-01-01T01:00:00Z 
seriesTitle : 48 Hours
vActor : Nick Nolte 
vActor : Eddie Murphy 
vActor : Annette O'Toole 
vActor : Frank McRae 
vActor : James Remar 
vActor : David Patrick Kelly 
vActor : Sonny Landham 
vActor : Brion James 
vActor : Kerry Sherman 
vActor : Jonathan Banks 
vActor : James Keane 
vActor : Tara King 
vActor : Greta Blackburn 
vActor : Margot Rose 
vActor : Denise Crosby
vSeriesGenre : Action
vDirector : Walter Hill
vProgramGenre : Action
vSeriesGenre : Action
vWriter : Roger Spottiswoode, Walter Hill

However, the only tags that are getting pulled are the description and title. Have I missed something? 

I've written an export script that creates this from DVDPedia. Nice program...

Anyway, thoughts on why it won't parse the data?

Best,

Lee


----------



## lraesly

Working hard on getting the metadata to work. 

Downloaded the latest release on the website (pyTivo-2007-11-22-master-143ca8f0247571c5bba427e9b1c652dfa1a2a891.zip - assume this is the latest/greatest!). Server went up like a charm...

I have a test file with this data:

isEpisode : False
description : (1982) Oddball cop and tough guy, Jack Cates is the only survivor of a cop shooting and in hunting down the murderer collects Reggie Hammond from jail for 48 hours. Hammond is oddly motivated to help. The killer is searching for his stash of cash. Cates and Hammond who have the Black-white, cop-crook thing to work out make surprisingly good partners as they navigate through the city looking for their suspect. Raing: 6.8 (14,280 votes). Rated R.
title : 48 Hours
vExecProducer : Paramount 
originalAirDate : 1982-01-01T01:00:00Z 
seriesTitle : 48 Hours
vActor : Nick Nolte 
vActor : Eddie Murphy 
vActor : Annette O'Toole 
vActor : Frank McRae 
vActor : James Remar 
vActor : David Patrick Kelly 
vActor : Sonny Landham 
vActor : Brion James 
vActor : Kerry Sherman 
vActor : Jonathan Banks 
vActor : James Keane 
vActor : Tara King 
vActor : Greta Blackburn 
vActor : Margot Rose 
vActor : Denise Crosby
vSeriesGenre : Action
vDirector : Walter Hill
vProgramGenre : Action
vSeriesGenre : Action
vWriter : Roger Spottiswoode, Walter Hill

However, the only tags that are getting pulled are the description and title. Have I missed something? 

I've written an export script that creates this from DVDPedia. Nice program...

Anyway, thoughts on why it won't parse the data?

Best,

Lee


----------



## TreborPugly

So the 8.3 subfolders fix is still a branch, and needs to have it's own version of the source code each time? (I realized that there is a 11/18 version with subfolders-8.3 in it's name, but not an 11/22 version with subfolders-8.3 in it's name) 

I've tried using the wiki to generate some diffs to see what I need to retain for the 8.3 fix, but using the wiki to get diffs does not appear to work.


----------



## dlfl

lraesly said:


> Working hard on getting the metadata to work.
> 
> Downloaded the latest release on the website (pyTivo-2007-11-22-master-143ca8f0247571c5bba427e9b1c652dfa1a2a891.zip - assume this is the latest/greatest!). Server went up like a charm...
> 
> I have a test file with this data:
> 
> isEpisode : False
> description : (1982) Oddball cop and tough guy, Jack Cates is the only survivor of a cop shooting and in hunting down the murderer collects Reggie Hammond from jail for 48 hours. Hammond is oddly motivated to help. The killer is searching for his stash of cash. Cates and Hammond who have the Black-white, cop-crook thing to work out make surprisingly good partners as they navigate through the city looking for their suspect. Raing: 6.8 (14,280 votes). Rated R.
> title : 48 Hours
> vExecProducer : Paramount
> originalAirDate : 1982-01-01T01:00:00Z
> seriesTitle : 48 Hours
> vActor : Nick Nolte
> vActor : Eddie Murphy
> vActor : Annette O'Toole
> vActor : Frank McRae
> vActor : James Remar
> vActor : David Patrick Kelly
> vActor : Sonny Landham
> vActor : Brion James
> vActor : Kerry Sherman
> vActor : Jonathan Banks
> vActor : James Keane
> vActor : Tara King
> vActor : Greta Blackburn
> vActor : Margot Rose
> vActor : Denise Crosby
> vSeriesGenre : Action
> vDirector : Walter Hill
> vProgramGenre : Action
> vSeriesGenre : Action
> vWriter : Roger Spottiswoode, Walter Hill
> 
> However, the only tags that are getting pulled are the description and title. Have I missed something?
> 
> I've written an export script that creates this from DVDPedia. Nice program...
> 
> Anyway, thoughts on why it won't parse the data?
> 
> Best,
> 
> Lee


The only problem is the upper case F in
isEpisode : False
You can use "false" or "true" here and all is OK in the tivo display screens, although obviously false is the correct value.
I learned this by trial and error starting with your original text. I had a clue from the fact that true/false values in the TivoDecode chunks are always lowercase.
Touchy isn't it!

@armooo: maybe force this to lower case when it's read in to the program?


----------



## dlfl

Would anyone be interested in a little utility program that generates pyTivo metadata files from .TiVo files? The bits and pieces for this are already working in TVAP so it wouldn't be hard to do. Probably would have a small GUI with just a file browser to select files to process.


----------



## armooo

TreborPugly said:


> So the 8.3 subfolders fix is still a branch, and needs to have it's own version of the source code each time? (I realized that there is a 11/18 version with subfolders-8.3 in it's name, but not an 11/22 version with subfolders-8.3 in it's name)
> 
> I've tried using the wiki to generate some diffs to see what I need to retain for the 8.3 fix, but using the wiki to get diffs does not appear to work.


Most of the changes in the 8.3 branch are KRKeegan's. I kept them in the branch because I have always been able to crash my tivo with them, and because it is a bug ugly mess. But I was able to merge master on to the 8.3 branch and it seems to be working. So you should be able to have all the new toys now and still have the working subfolders.

I have not been using the 8.3 branch, I just setup a share for each folder. And now I was using the auto_subshares option to create them for me. But I hope this works out for you.


----------



## armooo

dlfl said:


> The only problem is the upper case F in
> isEpisode : False
> You can use "false" or "true" here and all is OK in the tivo display screens, although obviously false is the correct value.
> I learned this by trial and error starting with your original text. I had a clue from the fact that true/false values in the TivoDecode chunks are always lowercase.
> Touchy isn't it!
> 
> @armooo: maybe force this to lower case when it's read in to the program?


It looks like the tivo validates the xml against the XSDs and if is not valid it will not use it. It is to bad we don't have access to the XSDs.

But I should be able to clean up the input a bit in the VideoDetails. I also still need to get the rating, color mode and show type working. Hopefully the rating will work with the kids zone for TreborPugly.


----------



## wgw

dlfl said:


> Would anyone be interested in a little utility program that generates pyTivo metadata files from .TiVo files? The bits and pieces for this are already working in TVAP so it wouldn't be hard to do. Probably would have a small GUI with just a file browser to select files to process.


+1. Thanks, that would be great!


----------



## jcthorne

Here is a wierd tidbit of info.

The only difference I can detect between isEpisode : true and false is the year in () after the 'episide title' at the top. It displays the group name in large type at the top and then the name of the show in small text with the description.

However, setting isEpisode to something else like xxx or even the incorrect syntax False with a capitol F, Tivo now displays the shows name at the top in large letters, not the group name. But it ignores many of the other meta data items then. Not all but some.

Is there a way to get tivo to display the show name at the top instead of the group name and still have it read all the metadata?


----------



## jcthorne

In Armooo's post 1044 he lists seriesTitle twice, why? does this have something to do with show titles vs group titles vs episode titles? Was one of those supposed to have different capitolization or something to show a different variable?


----------



## TreborPugly

armooo said:


> Most of the changes in the 8.3 branch are KRKeegan's. I kept them in the branch because I have always been able to crash my tivo with them, and because it is a bug ugly mess. But I was able to merge master on to the 8.3 branch and it seems to be working. So you should be able to have all the new toys now and still have the working subfolders.
> 
> I have not been using the 8.3 branch, I just setup a share for each folder. And now I was using the auto_subshares option to create them for me. But I hope this works out for you.


Thanks for the last merge. However, this seems to be less stable than the previous "folders" version I was using (198 or 200 I guess) I can't back out of subfolders without a crash. It's possible that it's only the version 9.1 of the Tivo software, and I haven't noticed the newer sensitivity because my normal use is to drill down, start a transfer, and then use the TiVo button to jump back to the main menu, avoiding the opportunity for a crash. Today, I drilled down to one sub folder, and then tried to come back out to check that the listings would be correct for another sub folder. Maybe when KRKeegan is next active, he'll be able to check out the 9.1 interactions.


----------



## TreborPugly

Okay, I've tried the main branch, with the auto_subshares option, and can't get that to work. I'm using the "143ca...." zip, and if I turn on auto_subshares, I just see nothing on my Tivo. If I turn it off, I see the two main shares I've created. Is there something else I need to edit to get the auto_subshares working? Are there constraints on using the auto subshares method? (ie, if I have subfolders in subfolders, does that break it? If I have too many subfolders does that break it?) Here's my pytivo.conf file:


Code:


[Video]
type = video
path = c:\personal\video
auto_subshares= True

[Music]
type = music
path = c:\personal\audio

[OnMini]
type = video
path = \\EDMini\video



[Server]
ffmpeg = C:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
video_br = 1024K
width = 544
debug = false
port = 9032

If I change the auto_subshares to false, then I see my two video shares. When it is true, I see nothing.


----------



## jcthorne

Anyone know if there is a way to tell if a video transferrs completely to the Tivo? Tivo says partial but the file size is larger than the size on the PC. You cannot FF to the end to see if it gets to the credits. Is there are log file or debug mode I could be using?


----------



## dlfl

TreborPugly said:


> Okay, I've tried the main branch, with the auto_subshares option, and can't get that to work. I'm using the "143ca...." zip, and if I turn on auto_subshares, I just see nothing on my Tivo. If I turn it off, I see the two main shares I've created. Is there something else I need to edit to get the auto_subshares working? Are there constraints on using the auto subshares method? (ie, if I have subfolders in subfolders, does that break it? If I have too many subfolders does that break it?) Here's my pytivo.conf file:
> 
> 
> Code:
> 
> 
> [Video]
> type = video
> path = c:\personal\video
> auto_subshares= True
> 
> [Music]
> type = music
> path = c:\personal\audio
> 
> [OnMini]
> type = video
> path = \\EDMini\video
> 
> 
> 
> [Server]
> ffmpeg = C:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
> video_br = 1024K
> width = 544
> debug = false
> port = 9032
> 
> If I change the auto_subshares to false, then I see my two video shares. When it is true, I see nothing.


Isn't the auto_shares line supposed to go in the [Server] section?


----------



## TreborPugly

dlfl said:


> Isn't the auto_shares line supposed to go in the [Server] section?


Not according to the example file, pytivo.conf.dist.


----------



## armooo

TreborPugly said:


> Okay, I've tried the main branch, with the auto_subshares option, and can't get that to work. I'm using the "143ca...." zip, and if I turn on auto_subshares, I just see nothing on my Tivo. If I turn it off, I see the two main shares I've created. Is there something else I need to edit to get the auto_subshares working? Are there constraints on using the auto subshares method? (ie, if I have subfolders in subfolders, does that break it? If I have too many subfolders does that break it?) Here's my pytivo.conf file:
> 
> 
> Code:
> 
> 
> [Video]
> type = video
> path = c:\personal\video
> auto_subshares= True
> 
> [Music]
> type = music
> path = c:\personal\audio
> 
> [OnMini]
> type = video
> path = \\EDMini\video
> 
> 
> 
> [Server]
> ffmpeg = C:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
> video_br = 1024K
> width = 544
> debug = false
> port = 9032
> 
> If I change the auto_subshares to false, then I see my two video shares. When it is true, I see nothing.


I just tried it myself and it works. Do you see all the shares if you go to http://localhost:9032/TiVoConnect?Command=QueryContainer&Container=/ They may be a limit to the number of shares that one server can have.


----------



## TreborPugly

armooo said:


> I just tried it myself and it works. Do you see all the shares if you go to http://localhost:9032/TiVoConnect?Command=QueryContainer&Container=/ They may be a limit to the number of shares that one server can have.


Thanks. It was giving an error about one of my folders that had a "&" in the name. I changed the named of that folder, and it works now. I'll have to clean up how many sub-sub-folders I've got because it's a real mess right now..


----------



## armooo

TreborPugly said:


> Thanks. It was giving an error about one of my folders that had a "&" in the name. I changed the named of that folder, and it works now. I'll have to clean up how many sub-sub-folders I've got because it's a real mess right now..


I just added proper xml escaping to the share names. So your old folder names should work.


----------



## TreborPugly

For the Kid zone use, there is a tag named "KidZone Status" in the Program details for every show. I don't think just changing the "Rating" detail will do it, because the "KidZone Status" tag just doesn't exist on the stuff transfered via pyTivo. So it won't be checking the ratings, if it doesn't exist at all.


----------



## scrappydog65

wgw said:


> Could you go one step further and have the program scan the folder for a file called defaultMetadata.txt which would contain overriding metadata attributes that would be applied to all files in that folder.


I recommend this as an enhancement as well.

In the mean time, I wrote something like this for my folders as well. It's a simple change to video.py at line 63 in the __getMetadateFromTxt() function. Just add the following 3 lines into the function after the description_file = line.

if not os.path.exists(description_file):​base_path, title = os.path.split(full_path)
description_file = base_path + '\defaultMetadata.txt'​
Mike


----------



## MasterCephus

Sorry for posting this (there really needs to be a feature page with details about each page), but I have been using version 201 and I have been out of time for a bit. I just noticed that there is a newer version...

I have also noticed in some posts that it now recognizes txt files that contains descriptions of the video.

can someone please give a description of the new features, how to create this text file (do you make it manually, or is there an automatic way?), and anything else I might have missed 

This is great that this is so active, but there needs to be some place that keeps up with the features so new people can understand everything and they won't get over there heads so fast...

Thanks!


----------



## wgw

Thanks scrappy,:up: I will be populating all my subfolders with defaultMetadata files forthwith.


----------



## scrappydog65

MasterCephus said:


> can someone please give a description of the new features, how to create this text file (do you make it manually, or is there an automatic way?), and anything else I might have missed


MasterCephus,

For now the files have to be created manually, though it wouldn't surprise me if someone came up with a way to automatically build them by parsing the filename.

Anyway , just create a text file with the same name as the video file in the same folder. The text file can have any of the attributes as described in the link below. Note that the attribute names are case sensitive (_Description_ is not the same as _description_). Also, dates are in the UTC format of yyyy-mm-ddThh:nn:ssZ.
http://www.tivocommunity.com/tivo-vb/showthread.php?p=5722528&#post5722528

Here is an example file I have (filename=*Fantastic Planet.avi.txt*):
title : Fantastic Planet
description : La Planete Sauvage (1973) This film takes place on a faraway planet where giants rule, and tiny humanoids must fight for their lives and their equality. A metaphor of class struggles. Overdubbed in English.
episode_title : Fantastic Planet
time : 2007-11-21T02:00:00Z
originalAirDate : 1973-12-01T00:00:00Z
vProgramGenre : Animated
vProgramGenre : Sci-Fi
zDirector : René Laloux
zWriter : René Laloux
zWriter : Roland Topor​


----------



## BillB

I just got pytivo up and running. I am using XP Pro SP2 and Tivo Desktop 2.41a. Everything is working except when I go into the subfolder under My Movies on the Tivo S2, I get nothing. I just transferred two .mpg files for testing. 

I then put the files into the base folder on my PC and they transferred just fine and I can see them under My Movies with the same name as in the base folder. However, when I go to play them back from the Now Playing List, they both have the same name as the folder they were in on my PC. Is this the normal behavior for pytivo or am I doing something wrong? I used to use Tivo.net and even though I could not get subfolders, at least I could read the name of the episode of the TV show, ie. 24x01, 24x02, etc. I am amazed at the speed of the transfers, and I can live without the subfolders, but the name thing may not be worth the trouble.

I am running Python 2.51 and I copied the "pyTivo-2007-11-22-master-143ca8f0247571c5bba427e9b1c652dfa1a2a891.zip" files to Program Files Pytivo folder, fixed the conf file as instructed on the Wiki site and ran pytivo.py. I get a blank DOS screen with nothing on it until I go to the Tivo and start My Movies from the Now Playing List. Then the DOS screen gets some verbage on it and I am able to transfer.

By the way, I am not using the Plus version of Tivo Desktop and I spent 6 hours today going thru the 23 pages of this thread.

I am a little confused as to what is meant by "share" in the way many are using it. Can anyone give me a definition as to how it is meant in the conf file?

Very strange behavior.

Can anyone give me a hand?

Many thanks,

Bill


----------



## wgw

BillB,

Sounds like everything is working as it should. However, due to the addition of metadata, ver.143ca has been designed to use the folder name as the title and the filename as the episode title. With this version, it works best to turn on auto_subshares, and place your recordings into subfolders having the name of the series. Turn on auto_subshares by removing the # in front of that line in your conf file.


----------



## cedarrapidsboy

Does anyone have a valid multi-tivo configuration supporting both HD and SD content? I can't seem to get the per-tivo section to send HD-resolution to my TivoHD. If I change the global settings, it seems to work, but then the SD Tivos choke on it.



Code:


##Per tivo options
# section named _tivo_TSN with the tsn in all caps
[_tivo_xxx]
#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 -

The above settings cause:

TypeError: can't multiply sequence by non-int of type 'float'​
Any experience from a mixed SD/HD TiVo home? I want to send 3K video_br to my SD tivos (they can't seem to keep up with anything more), and a 12M stream to my TiVoHD.


----------



## grahamkent

I haven't gotten it to work 100&#37; yet, the HD videos seem to end prematurely in any builds post-201 while the SD videos work perfectly. However, I did have the same problem you are experiencing and found this solved it for me. Your experience might differ but the error sounds like the same one I was receiving.

In \plugins\video\transcode.py, change the 'select_aspect' function from this:

def select_aspect(inFile, tsn = ''):
TIVO_WIDTH = config.getTivoWidth(tsn)
TIVO_HEIGHT = config.getTivoHeight(tsn)


To this:

def select_aspect(inFile, tsn = ''):
TIVO_WIDTH = config.getTivoWidth(tsn)
TIVO_HEIGHT = config.getTivoHeight(tsn)
TIVO_WIDTH = float(TIVO_WIDTH)
TIVO_HEIGHT = float(TIVO_HEIGHT)


Without the two additional lines the two TIVO_XXXX variables are of the wrong type for the arithmetic required later by pyTivo.

Good luck.


----------



## MasterCephus

thank you so much scrappydog65!

I wonder how difficult it would be to manually auto create those text files (can we say oxymoron? ). What I mean is somehow if we know the name of a show and the episode we have, I wonder if we could hit tv.com and parse through to get the information to create the text file.....

Maybe some type of GUI that let's you choose the file you want to get the info about, specify if it's a movie or tv show, then go to the proper place and get the information. It would either succeed or not and give information on why didn't succeed (page not founds probably)...

What do you guys think?


----------



## BillB

wgw said:


> BillB,
> 
> Sounds like everything is working as it should. However, due to the addition of metadata, ver.143ca has been designed to use the folder name as the title and the filename as the episode title. With this version, it works best to turn on auto_subshares, and place your recordings into subfolders having the name of the series. Turn on auto_subshares by removing the # in front of that line in your conf file.


*wgw:*
Thank you very much. I either did not run across anything mentioning auto_subshares or overlooked it yesterday in my 6 hours of reading this thread. The thread is so techinical that my head was spinning after the read, and I am not a novice with computers. I have been testing software for about 25 years since DOS came out in 1982. However, I have limited programming experience and I am not familiar with Python.

Again, your help is much appreciated. I am transferring the files now and it appears that they are going into a subfolder under My Movies in the NPL.

Bill

P.S. I just looked at the NPL after downloading the two files (24x01.mpg and 24x02.mpg) into a subfolder called 24. The same problem still occurs except I now have 2 24 listings in the NPL. It appears from this behavior that you have to create a subfolder with the name of each episode that you transfer. Is this true?


----------



## GunnerMcGrath

Hi, I was wondering why 1920x1080 resolution is not supported? Is it expected to be added in a new version?


----------



## scrappydog65

grahamkent said:


> In \plugins\video\transcode.py, change the 'select_aspect' function from this:
> 
> def select_aspect(inFile, tsn = ''):
> TIVO_WIDTH = config.getTivoWidth(tsn)
> TIVO_HEIGHT = config.getTivoHeight(tsn)
> 
> To this:
> 
> def select_aspect(inFile, tsn = ''):
> TIVO_WIDTH = config.getTivoWidth(tsn)
> TIVO_HEIGHT = config.getTivoHeight(tsn)
> TIVO_WIDTH = float(TIVO_WIDTH)
> TIVO_HEIGHT = float(TIVO_HEIGHT)


I also had to change a line in CONFIG.PY (getTivoHeight function) from 
height = int(config.get('_tivo_' + tsn, 'height_br'))
to 
height = int(config.get('_tivo_' + tsn, 'height'))

Miie


----------



## dlfl

pyTivo Metadata Generator program. Generates metatdata files for pyTivo by using a TivoDecode com object to read the metadata from .tivo files -- thanks to *FrooBrar*, TiVo Decode author. Processes one or multiple files selected in a file browser.
Just download from here and run the installer. A desktop icon is created (which you can delete if you want). Operation is self-explanatory.

This initial version has no options. Enhanced versions with more operator options, and more metadata items, may come later. The installer is needed because the tivoDecode COM dll must be installed and registered, which is done automatically. Don't worry, it's painless and harmless!

If you don't like the mediafire free file sharing site, please suggest a better one.

Note: this is a Windows program and requires .NET framework 2.0 (or 3.0) installed. Most windows computers already have this but it is easily downloaded and installed from Microsoft. Just google .NET framework to find the download site.

Enjoy!
Edit: 16 Dec 07 -- download link changed to new version 0.32


----------



## jcthorne

Is there some reason the ffmpeg that is included with the pytivo install has difficulty with h264 encoded mkv files where the current version from the mplayer site does not? Pytivo is giving a long string of decode errors 'Error while decoding stream #0.0, [h264 @ 009C3820]AVC: nal size xxxxxxxxxxxx"

Feeding the same mkv file to the newer version results in no errors and recodes fine.

Can pytivo use the latest version instead of the one distributed or is there something custom about that one?


----------



## dionysian

It seems as though the install went ok on my pc, but now the video just seems to be stuck in my todo list on the tivo and is not transfering. It simply says "This program will be transferred after previously requested programs have finished transferring"...... What previosly requested programs is the tivo talking about.... ? Is it going to wait untill my season pass of southpark and the daily show going to expire due to the cancelation of the show? Or is it going to transfer just randomly when it feels like it to supprise me? 


Sorry if this issue has been address before but i dont have to patiants to parse through every post on the pytivo form.

Thank you in advance.


----------



## dlfl

jcthorne said:


> Is there some reason the ffmpeg that is included with the pytivo install has difficulty with h264 encoded mkv files where the current version from the mplayer site does not? Pytivo is giving a long string of decode errors 'Error while decoding stream #0.0, [h264 @ 009C3820]AVC: nal size xxxxxxxxxxxx"
> 
> Feeding the same mkv file to the newer version results in no errors and recodes fine.
> 
> Can pytivo use the latest version instead of the one distributed or is there something custom about that one?


This format and container are kind of leading edge so it wouldn't be surprising if support for it in ffmpeg is variable with versions. The easiest way to find out whether a given version will work with pyTivo is just to download it, rename to ffmpeg_mp2.exe and replace the distributed version. Which version is in your mplayer install? (Open a command window, log to the folder containing ffmpeg and enter ffmpeg -i dud.)

Here is a site where you can download many of the recent versions compiled for Windows. The one distributed with pyTivo is r8047. These are distributed in 7zip format so you need 7zip installed on your computer. It's a solid harmless utility so just download it here and install it.

Also for the "official" documentation go to the ffmpeg web site. In the general documentation section it lists file formats and codecs that are supported. According to that, MKV is supported for both encoding and decoding while H264 is supported for decoding only. Thus if you get a recent version it should handle your files. However, pyTivo processes some of the text information that ffmpeg spits out and some versions of ffmpeg have changed the formatting of that enough to break pyTivo.

Bottom line: just try it.


----------



## dlfl

dionysian said:


> It seems as though the install went ok on my pc, but now the video just seems to be stuck in my todo list on the tivo and is not transfering. It simply says "This program will be transferred after previously requested programs have finished transferring"...... What previosly requested programs is the tivo talking about.... ? Is it going to wait untill my season pass of southpark and the daily show going to expire due to the cancelation of the show? Or is it going to transfer just randomly when it feels like it to supprise me?
> 
> Sorry if this issue has been address before but i dont have to patiants to parse through every post on the pytivo form.
> Thank you in advance.


This shouldn't be happening but OP have experienced it. You need to clear it by removing the ToDo item corresponding to the hung transfer. Then go back to live video and then re-enter the TiVo menu (e.g. NPL or ToDo). I don't know exactly what causes this -- maybe someone else can help.

If you continue to have problems, post your entire pyTivo.conf file contents. Also post the version # of pyTivo and your TiVo model and computer type.


----------



## reneg

dlfl said:


> This format and container are kind of leading edge so it wouldn't be surprising if support for it in ffmpeg is variable with versions. The easiest way to find out whether a given version will work with pyTivo is just to download it, rename to ffmpeg_mp2.exe and replace the distributed version. Which version is in your mplayer install? (Open a command window, log to the folder containing ffmpeg and enter ffmpeg -i dud.)
> 
> Here is a site where you can download many of the recent versions compiled for Windows. The one distributed with pyTivo is r8047. These are distributed in 7zip format so you need 7zip installed on your computer. It's a solid harmless utility so just download it here and install it.
> 
> Also for the "official" documentation go to the ffmpeg web site. In the general documentation section it lists file formats and codecs that are supported. According to that, MKV is supported for both encoding and decoding while H264 is supported for decoding only. Thus if you get a recent version it should handle your files. However, pyTivo processes some of the text information that ffmpeg spits out and some versions of ffmpeg have changed the formatting of that enough to break pyTivo.
> 
> Bottom line: just try it.


With such dynamically changing programs, hopefully when the metadata features have stabilized, will there be a release that is somewhat synced and current for the non-technical crowd.


----------



## mulscully

scrappydog65 said:


> I recommend this as an enhancement as well.
> 
> In the mean time, I wrote something like this for my folders as well. It's a simple change to video.py at line 63 in the __getMetadateFromTxt() function. Just add the following 3 lines into the function after the description_file = line.
> 
> if not os.path.exists(description_file):​base_path, title = os.path.split(full_path)
> description_file = base_path + '\defaultMetadata.txt'​
> Mike


Not too familiar with python, but I get that the : is the start of a block for the if, but is *description_file = base_path + '\defaultMetadata.txt'* supposed to be part of that block also?

maybe you can post your lines from your video.py file with a few of the original line above and below your modification.. to help us see exacly how it is inserted...

Thanks


----------



## reneg

mulscully said:


> Not too familiar with python, but I get that the : is the start of a block for the if, but is *description_file = base_path + '\defaultMetadata.txt'* supposed to be part of that block also?
> 
> maybe you can post your lines from your video.py file with a few of the original line above and below your modification.. to help us see exacly how it is inserted...
> 
> Thanks


Yes, it is part of the block. Indentation matters. From python.org on indentation, "Leading whitespace (spaces and tabs) at the beginning of a logical line is used to compute the indentation level of the line, which in turn is used to determine the grouping of statements."


----------



## dionysian

dlfl said:


> This shouldn't be happening but OP have experienced it. You need to clear it by removing the ToDo item corresponding to the hung transfer. Then go back to live video and then re-enter the TiVo menu (e.g. NPL or ToDo). I don't know exactly what causes this -- maybe someone else can help.
> 
> If you continue to have problems, post your entire pyTivo.conf file contents. Also post the version # of pyTivo and your TiVo model and computer type.


Thank you for your reply dlfl

I did what you have instructed and i am still recieving the same problem. Here is my config file:

[test]

type = video
path = C:\Program Files\Pipkin Technologies\TiVo.Net\Videos

[MyMovies]
type = video
path = C:\Program Files\Pipkin Technologies\TiVo.Net\Videos

[Server]
port = 9032
guid = {6113BCE6-0E38-4E4C-AD9D-1BAE4C06CA2A}
ffmpeg = C:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
width = 544

I am running xp service pack 2. Tivo version 7.2.5-01-2-649. I have version 1.82 of pytivo. I also noticed in the log file of pytivo i have this:

C:\Program Files\pyTivo\Cheetah\Compiler.py:1508: UserWarning: 
You don't have the C version of NameMapper installed! I'm disabling Cheetah's useStackFrames option as it is painfully slow with the Python version of NameMapper. You should get a copy of Cheetah with the compiled C version of NameMapper.
"\nYou don't have the C version of NameMapper installed! "


----------



## dlfl

dionysian said:


> Thank you for your reply dlfl
> 
> I did what you have instructed and i am still recieving the same problem. Here is my config file:
> 
> [test]
> 
> type = video
> path = C:\Program Files\Pipkin Technologies\TiVo.Net\Videos
> 
> [MyMovies]
> type = video
> path = C:\Program Files\Pipkin Technologies\TiVo.Net\Videos
> 
> [Server]
> port = 9032
> guid = {6113BCE6-0E38-4E4C-AD9D-1BAE4C06CA2A}
> ffmpeg = C:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
> width = 544
> 
> I am running xp service pack 2. Tivo version 7.2.5-01-2-649. I have version 1.82 of pytivo. I also noticed in the log file of pytivo i have this:
> 
> C:\Program Files\pyTivo\Cheetah\Compiler.py:1508: UserWarning:
> You don't have the C version of NameMapper installed! I'm disabling Cheetah's useStackFrames option as it is painfully slow with the Python version of NameMapper. You should get a copy of Cheetah with the compiled C version of NameMapper.
> "\nYou don't have the C version of NameMapper installed! "


This warning is normal and means nothing. I see no obvious problems with your config file but just to be safe add:

beacon=255.255.255.255

in the [Server] section.

Your versions of TiVo software and pyTivo both seem very old. My Tivo is at version 9.2. If this is a model 649 (Series 2, Dual Tuner) and that is really your correct version then there is something inconsistent. I suspect that version may be the problem.


----------



## greg_burns

dionysian said:


> Tivo version 7.2.5-01-2-649.





dlfl said:


> My Tivo is at version 9.2. If this is a model 649 (Series 2, Dual Tuner) and that is really your correct version then there is something inconsistent. I suspect that version may be the problem.


Good catch. Perhaps this is a new setup and it hasn't updated yet. But that is really odd.

Edit:

Looking at his othe posts it is apparent he just got the Tivo recently. Force some connections and get this Tivo updated first!


----------



## jcthorne

dlfl said:


> This format and container are kind of leading edge so it wouldn't be surprising if support for it in ffmpeg is variable with versions. The easiest way to find out whether a given version will work with pyTivo is just to download it, rename to ffmpeg_mp2.exe and replace the distributed version. Which version is in your mplayer install? (Open a command window, log to the folder containing ffmpeg and enter ffmpeg -i dud.)
> 
> Here is a site where you can download many of the recent versions compiled for Windows. The one distributed with pyTivo is r8047. These are distributed in 7zip format so you need 7zip installed on your computer. It's a solid harmless utility so just download it here and install it.
> 
> Also for the "official" documentation go to the ffmpeg web site. In the general documentation section it lists file formats and codecs that are supported. According to that, MKV is supported for both encoding and decoding while H264 is supported for decoding only. Thus if you get a recent version it should handle your files. However, pyTivo processes some of the text information that ffmpeg spits out and some versions of ffmpeg have changed the formatting of that enough to break pyTivo.
> 
> Bottom line: just try it.


Thanks for the info. The version of ffmpeg I am currently using directly is r10464. I tried it with pyTivo and it does not work. PyTivo will not even communicate with the tivo using that version.

Any suggestions on a version that might work in pyTivo and properly decode recent mkv files? is the version in pyTivo updated to the current one on a regular basis? Looking at the version number difference, looks like its been 9 months or more since its been updated.


----------



## lraesly

pyTivo is great. And the new metadata feature really makes this a complete video server solution for Tivo. My video files now have a complete set of content (description, title, actors and more) that display when paging through the movies on my Tivo (using pyTivo,, of course).

I did this with a terrific program for the Mac called DVDPedia that can automate (well, with a couple of extra keystrokes) the process of creating and transferring the metadata to pyTivo for all of your DVD collection. And it is a terrific movie/dvd/tv series management program too with automatic downloads of metadata (descriptions, ratings, titles, cover art, actors, reviews, awards and more) from IMDB, Amazon and a bunch of overseas sites I've never heard of. It can export html, auto upload to .mac, even play your movie on your Mac. Check it out at here.

A couple of notes:

1) I am using mpg files only. If you use other file types, you will either need to change the export script or change the file extensions of the metadata files by hand.

2) As an aside, even though I use a Mac, my server is a windows xp system.

3) You can see the original thread here on DVDpedia's support forum. And it's great support, just check it out. But don't use the attached files unless they have been updated- they have been modified and listed below.

4) I am using pyTivo dated around 11/22/2007. I expect that the version will change in the future which could alter it's handling of the metadata templates listed here.

5) The scripts could be modified to be used with the Tivo Desktop Server (TDS) on the Mac (instead of pyTivo). However, TDS currently supports on title and description metadata.

My process (with a great assist from Conor at DVDpedia):

1) I renamed all of my movie file names on the server to equal the movie titles in DVDPedia. And the movies are in mpg format. Obviously any slashes or other special characters must be removed ,/,\,?,* and more) from the titles. Dashes are your friend...

2) I entered all of movies into DVDPedia, using the automatic search (which worked great). Entering 150 movies took less than 30 minutes.

3) I installed the templates (listed below) in my Users/(your user name)/Library/Application Support/DVDpedia/Templates directory.

4) Now, open DVDpedia select the Tivo collection (create a new collection named Tivo if necessary and drag the movies to it you want to export); export using the template TivoMetaData.txt under the text section, create a folder named Export (case is important- note capital E) on your desktop to hold the files and select that as the destination for the export.

5) Look at the name of the first movie in the collection and by hand change the name of ~/Desktop/Export/Tivo.txt file to ~/Desktop/Export/the Movie Titlempg.txt (Because the first entry is different it can't be automated).

6) Delete the first movie from the Tivo collection (the one you just changed the file name for) and do a second export using the ChangeFileNameCommand text template.

7)Run terminal and change directory to the Export directory on your desktop (cd ~/Desktop/Export should get you there) in terminal. Then, change the text file to an executable (sudo chown +x Tivo.txt ). Then type ./Tivo.txt to execute.

8) Finally, copy the metadata files to the server directory where the movies are stored.

9) Go to your Tivo, browse your pyTIvo videos directory, smile smugly at your coolness while enjoying detailed movie descriptions... or just get a beer. ;-)

The export scripts are listed below. Note the file names in the post title. Copy and paste using your favorite text editor. Beware of TextEdit! If you do use it make certain that it is set to plain text. And the linefeeds (at the end of each line) must be linefeeds (vs. chr(13) or something else). Tivo is unix and wants a unix linefeed.

And although this may sound a little complicated, it's not. You get the full power of DVDPedia to manage your collection and all of the metadata (well most) displayed on your Tivo. It only takes me a minute or two to completely add the metadata using this procedure.

Best,

Lee


----------



## lraesly

#
title : [key:title] 
description : ([key:theatrical]) [key:rating]. [key:summary] Rated [key:rated].
episode_title : [key:title]
time : [key:theatrical]-01-02T01:00:00Z
originalAirDate : [key:theatrical]-01-02T01:00:00Z 
vProgramGenre : [key:genre] 
vSeriesGenre : [key:genre] 
vExecProducer : [key:studio] 
seriesTitle : [key:title][creditsBegin] 
vActor : [credit:name][creditsEnd]
isEpisode : false
vDirector : [key:director] 
vWriter : [key:writer] 
vGuestStar : 
vChoreographer : 
vHost : 
sourceStation : DVD
vProducer :


----------



## lraesly

cd ~/Desktop/Export
mv "Tivo[key:incrementalNumber].txt" "[key:title].mpg.txt"


----------



## lraesly

#
title : The Da Vinci Code 
description : (2006) 6.5/10. Symbologist Robert Langdon (Hanks) is thrown into a mysterious and bizarre murder. Alongside Langon is the victims granddaughter and cryptologist Sophie Neveu (Tautou), who with Robert discovers clues within Da Vinci's paintings. To further find the truth, Robert and Sophie travel from Paris to London, whilst crossing paths with allies and villains such as Sir Leigh Teabing (McKellen) and Silas (Bettany). Wherever their path takes them, there discovery which is about to be revealed could shake the foundations of mankind. Rated PG-13.
episode_title : The Da Vinci Code
time : 2006-01-02T01:00:00Z
originalAirDate : 2006-01-02T01:00:00Z 
vProgramGenre : Drama 
vSeriesGenre : Drama 
vExecProducer : Sony Pictures 
seriesTitle : The Da Vinci Code 
vActor : Tom Hanks 
vActor : Audrey Tautou 
vActor : Ian McKellen 
vActor : Jean Reno 
vActor : Paul Bettany 
vActor : Alfred Molina 
vActor : Jürgen Prochnow 
vActor : Jean-Yves Berteloot 
vActor : Etienne Chicot 
vActor : Jean-Pierre Marielle 
vActor : Marie-Françoise Audollent 
vActor : Rita Davies 
vActor : Francesco Carnelutti 
vActor : Seth Gabel 
vActor : Shane Zaza
isEpisode : false
vDirector : Ron Howard 
vWriter : Akiva Goldsman, Dan Brown 
vGuestStar : 
vChoreographer : 
vHost : 
sourceStation : DVD
vProducer :


----------



## dionysian

greg_burns said:


> Good catch. Perhaps this is a new setup and it hasn't updated yet. But that is really odd.
> 
> Edit:
> 
> Looking at his othe posts it is apparent he just got the Tivo recently. Force some connections and get this Tivo updated first!


Thank you both for your reply i just hooked up my tivo about 3 days ago so it probably hasn't updated yet. I will do this tonight and make sure that i have the correct version of pytivo. I was a little confused as to witch version of pytivo i should get ... at the download page http://armooo.net/~armooo/pyTivo/downloads/

There seems to be many diffrent files and i just grabbed the latest .exe set up file. Should i have done somthing else?

Once agian thanks for the help.


----------



## wgw

jcthorne said:


> Thanks for the info. The version of ffmpeg I am currently using directly is r10464. I tried it with pyTivo and it does not work. PyTivo will not even communicate with the tivo using that version.
> 
> Any suggestions on a version that might work in pyTivo and properly decode recent mkv files? is the version in pyTivo updated to the current one on a regular basis? Looking at the version number difference, looks like its been 9 months or more since its been updated.


I have been using version r10464 with no problems. Also works with mkv's. You may have forgotten to replace file pthreadGC2.dll when you replaced ffmpeg_mp2.exe.

Edit: However, r10908 does not seem to work. It says the folders are empty.

(I had thought that pthreadGC2.dll was updated with each version but a crc check shows they are the same. no need to replace it. But be sure to restart pyTivo after upgrading ffmpeg.)


----------



## dlfl

pthreadGC2.dll is available at the ffmpeg download link I gave earlier -- look in the "Parent" folder. However r8047 currently used by pyTivo already uses this so it should already be in the folder.


----------



## dlfl

dionysian said:


> Thank you both for your reply i just hooked up my tivo about 3 days ago so it probably hasn't updated yet. I will do this tonight and make sure that i have the correct version of pytivo. I was a little confused as to witch version of pytivo i should get ... at the download page http://armooo.net/~armooo/pyTivo/downloads/
> 
> There seems to be many diffrent files and i just grabbed the latest .exe set up file. Should i have done somthing else?
> 
> Once agian thanks for the help.


I would suggest one of the .zip versions, either pyTivo-208.zip or
pyTivo-2007-11-25-master-d49819f39a81972d744a39a9eea42c63b5b455f4.zip
The second one has the latest metadata support if that interests you.

pyTivo doesn't need an installer other than for convenience.
You can easily have more than one version on your PC. Just give them different folders in the C:\Program Files folder, e.g 
C:\Program folders\pyTivo208\ (and don't try to run more than one at a time, of course).
Unzip the zip contents to that folder. Create/modify your pyTivo.conf file, create a shortcut to pyTivo.py on your desktop and you're ready to go. (I don't run it as a service so these suggestions apply to usage as a program.)


----------



## grahamg

dlfl said:


> This shouldn't be happening but OP have experienced it. You need to clear it by removing the ToDo item corresponding to the hung transfer. Then go back to live video and then re-enter the TiVo menu (e.g. NPL or ToDo). I don't know exactly what causes this -- maybe someone else can help.


This has happened to me 3 times in 2 days. I have found that the hung ToDo items can't be deleted directly. The only solution that I have found is to restart the Tivo. This corrects the Todo list.
In my case I think it's caused by my Tivo wifi glitching during download, because sometimes I get the hung ToDo filename appearing as an incomplete file in the play list. For some reason I cannot delete these incomplete's from the play list. It seems the only solution is to play the incomplete file, skip to the end and then delete it when its finished playing.

I am using PyTivo V208, (ffmpeg r10464) - running as a service (excellent so far, except for some minor niggles)


----------



## dlfl

Finally decided to try running it as a service. It (the service) will install and remove OK and shows up in the services list in my computer-->manage. But it doesn't auto start and if I try to start it manually (either in a cmd window or in the computer-->manage-->services) I get the "the service did not respond in a timely fashion" message.

I don't use the windows installers in case that makes a difference. I've tried this with V187, V208 and V143ca........ Always the same behavior.

Any ideas?
Thanks


----------



## refried

wgw said:


> However, r10908 does not seem to work. It says the folders are empty.


I was trying to run the latest ffmpeg (r11096) because I was trying to get an m4v file on my TiVo. ffmpeg doesn't seem to be able to understand the mp4a audio stream. I also found that ffmpeg now complains if there isn't an output specified and will return non-zero. I think that will prevent pyTivo from getting any info from video_info(). Someone of the output format has changed too so the output scraping broke.


----------



## MasterCephus

> DVDPedia Automatically Generates Metadata


If there was only a Windows version of this...it would be awsome!

I think this is exactly what I was talking about yesterday.


----------



## PaulS

dlfl said:


> Finally decided to try running it as a service. It (the service) will install and remove OK and shows up in the services list in my computer-->manage. But it doesn't auto start and if I try to start it manually (either in a cmd window or in the computer-->manage-->services) I get the "the service did not respond in a timely fashion" message.
> 
> I don't use the windows installers in case that makes a difference. I've tried this with V187, V208 and V143ca........ Always the same behavior.
> 
> Any ideas?
> Thanks


Curious. I had a similar outcome trying to fire up d4981. The service would not come up, and there was no logging, despite debug being enabled in the config file. I back-revved to 143ca, used the same config file as my first attempt, and it came up with no problems at all. So, there's something funky going on in there, but I wasn't able to determine exactly what was wrong.

Which version of pywin32 are you using, what's your installed version of Python, and how did you install them ?


----------



## dlfl

PaulS said:


> Curious. I had a similar outcome trying to fire up d4981. The service would not come up, and there was no logging, despite debug being enabled in the config file. I back-revved to 143ca, used the same config file as my first attempt, and it came up with no problems at all. So, there's something funky going on in there, but I wasn't able to determine exactly what was wrong.
> 
> Which version of pywin32 are you using, what's your installed version of Python, and how did you install them ?


Using python 2.5 and pyWin32 210. Both were installed with windows installers. The pyWin32 installer said it "found" my python 2.5 installation.

The failure to start occurs instantly and specifying a --wait option does not have any effect. I don't have Windows or any other software firewall running. I disabled my anti-virus.

Searching help and internet the most likely idea seems to be a service permissions problem. But I can't figure out any specific thing to try even if it is such a problem. I am the only user and have administrative privileges.

I've had experience with other services and never had this problem.

I've tried restarting after the service install. BTW do you know if that is usually necessary?


----------



## PaulS

dlfl said:


> Searching help and internet the most likely idea seems to be a service permissions problem. But I can't figure out any specific thing to try even if it is such a problem. I am the only user and have administrative priviledges.


Definitely a possibility, although probably not in your case since you've got admin priviledges.



dlfl said:


> I've tried restarting after the service install. BTW do you know if that is usually necessary?


I haven't had to. I've always been able to install the service via cmd window, and immediately go to the services window and fire it up.


----------



## dlfl

For cmd window install do you use the --startup auto option ? (per the wiki).


----------



## dlfl

Got the service running. I uninstalled/re-installed python and pywin32 -- the very same packages I already had installed! The python installer asks whether for all users or just me. I can't remember what I said months ago when I installed it. This time I said all users. (Maybe that made the difference.)

I installed in 143ca folder with "pyTivoService.py install" in a cmd window. Then went to Windows service page and started it. (It had installed as manual start.)

Windows does have it's little quirks!

Thanks for your help *PaulS*.

Edit later: I also run pyTivo on a laptop. Had exactly the same problem and solution on it.


----------



## PaulS

dlfl said:


> Windows does have it's little quirks!


Yeah, no kidding. 



dlfl said:


> Thanks for your help *PaulS*.


No problem. Glad it's working.


----------



## gonzotek

dlfl said:


> Got the service running. I uninstalled/re-installed python and pywin32 -- the very same packages I already had installed! The python installer asks whether for all users or just me. I can't remember what I said months ago when I installed it. This time I said all users. (Maybe that made the difference.)
> 
> I installed in 143ca folder with "pyTivoService.py install" in a cmd window. Then went to Windows service page and started it. (It had installed as manual start.)
> 
> Windows does have it's little quirks!
> 
> Thanks for your help *PaulS*.
> 
> Edit later: I also run pyTivo on a laptop. Had exactly the same problem and solution on it.


Something to try, for those who haven't already reinstalled python for all users is changing the service "Log On as:" setting to your account, if it is not already attempting to use that. That *should* start the service with the same privileges and environment settings as you would get if you manually invoked pyTivo from the commandline. I can't test this right now, as my Windows machine is quite ill , but if someone could give it try we can put both dlfl's solution and mine in the wiki so users can pick the method that works best for their setup.


----------



## mitch2k2

Quick, hopefully simple question. I'm currently running pyTivo 1.87 (as far as I can recall and confirm via the zip file I'm relatively sure I used to install) and want to upgrade to the latest stable version (hopefully one that will also address the various subfolder issues and assorted bugginess).

Question is, which version should I pull from the armoo FTP site? I'm thinking the 11-25 Subfolders version? 

I have no HD, and only one TiVo on the network, so my needs are pretty simple. Also, running 9.1.01-2540 version of the TiVo software.

UPDATE: Went ahead and grabbed the plain vanilla 2.08 zip, but still wondering if I should have grabbed a more recent subfolder specific version. Anyone? (and so far, all my groups are now empty...)


----------



## mitch2k2

Okay. How's this for a question: does the subfolder-specifically named version address the subfolder glitch, or is that still a black hole only served by workarounds?


----------



## scrappydog65

mulscully said:


> Not too familiar with python, but I get that the : is the start of a block for the if, but is *description_file = base_path + '\defaultMetadata.txt'* supposed to be part of that block also?
> 
> maybe you can post your lines from your video.py file with a few of the original line above and below your modification.. to help us see exacly how it is inserted...
> 
> Thanks


Mulscully,

As pointed out by Reneg, indentation in the Python code is very important. Below are more lines from my Video.py:

*def *__getMetadateFromTxt(self, full_path):
metadata = {}
description_file = full_path + '.txt'
# MSMITH - Added the IF block below to look
# for a defaultMetadata.txt to cover all files in the folder.
if not os.path.exists(description_file):
base_path, title = os.path.split(full_path)
description_file = base_path + '\defaultMetadata.txt'​ # END MSMITH Custom Change
if os.path.exists(description_file):​
Mike


----------



## wgw

wgw said:


> r10908 does not seem to work.


Found the pyTivo fix for ffmpeg r10908 (and later). Was already posted a month ago. Man it's hard to keep up around here.

http://www.tivocommunity.com/tivo-vb/showthread.php?p=5642515#post5642515


----------



## PaulS

I've discovered a source of *ALL* SeriesID. YES!

Query the show name at zap2it.com, and the SeriesID is embedded in the URL.

SH830603 Brotherhood
http://tvlistings.zap2it.com/tvlisti...ail&pgmId=EP00*830603*0022

SH303483 Futurama
http://tvlistings.zap2it.com/tvlisti...ail&pgmId=EP00*303483*0015

SH611442 Dirty Jobs
http://tvlistings.zap2it.com/tvlisti...ail&pgmId=EP00*611442*0016


----------



## TreborPugly

So without a SeriesID, the Tivo won't put them in "folders" in Now Playing, is that correct? I uploaded some stuff that had the same "Series Name" and even though that name was shown on the Now Playing list, they didn't get grouped into a folder. I even tried using an existing Series Name, but no go.

If I actually set the Series ID to something the Tivo knows about, will it group them then? And can I create my own Series ID that doesn't exist to the Tivo?


----------



## gonzotek

PaulS said:


> I've discovered a source of *ALL* SeriesID. YES!
> 
> Query the show name at zap2it.com, and the SeriesID is embedded in the URL.
> 
> SH830603 Brotherhood
> http://tvlistings.zap2it.com/tvlisti...ail&pgmId=EP00*830603*0022
> 
> SH303483 Futurama
> http://tvlistings.zap2it.com/tvlisti...ail&pgmId=EP00*303483*0015
> 
> SH611442 Dirty Jobs
> http://tvlistings.zap2it.com/tvlisti...ail&pgmId=EP00*611442*0016


Nice!!
I was checking Yahoo and Tv Guide since they'be both affliated with TiVo for online scheduling, I should have guessed zap2it would be the one.


TreborPugly said:


> So without a SeriesID, the Tivo won't put them in "folders" in Now Playing, is that correct?


Correct.


> I uploaded some stuff that had the same "Series Name" and even though that name was shown on the Now Playing list, they didn't get grouped into a folder. I even tried using an existing Series Name, but no go.
> 
> If I actually set the Series ID to something the Tivo knows about, will it group them then?


Correct.


> And can I create my own Series ID that doesn't exist to the Tivo?


No, the TiVo has to know what the Series ID represents. It uses the stored guide data specific to your video source (e.g. Comcast of South Jersey, DirectTV, or OTA, etc.) to match the ID with a show; this data is periodically downloaded from TiVo(who get it from Tribune, who own Zap2It). With the info PaulS has discovered, you can find the SeriesID of any show, but your TiVo would still need that specific show to appear somewhere in its current guide data for us to able to be use that SeriesID to enable a grouped transfer.


----------



## dlfl

TreborPugly said:


> So without a SeriesID, the Tivo won't put them in "folders" in Now Playing, is that correct? I uploaded some stuff that had the same "Series Name" and even though that name was shown on the Now Playing list, they didn't get grouped into a folder. I even tried using an existing Series Name, but no go.
> 
> If I actually set the Series ID to something the Tivo knows about, will it group them then? And can I create my own Series ID that doesn't exist to the Tivo?


I *think* it works this way:

1. No you can't make up your own series ID's.
2. Even a valid seriesID must be in your guide data or it won't group.

Also regarding *PaulS*'s recent post, I believe you have to put "SH" in front of the 6 digit number he highlighted.


----------



## TreborPugly

I noticed in that other thread about Series ID's, that someone asked of Auto-record wish lists have an ID - that would be the best way to group external stuff. Create an Auto-record wish list with whatever name you want your stuff to eventually have, let it record a couple of shows, and use wmcbrine's script to get the SeriesID of the wish list, then start using that for your uploads. 

I've got a project for this weekend!


----------



## greg_burns

TreborPugly said:


> I noticed in that other thread about Series ID's, that someone asked of Auto-record wish lists have an ID - that would be the best way to group external stuff. Create an Auto-record wish list with whatever name you want your stuff to eventually have, let it record a couple of shows, and use wmcbrine's script to get the SeriesID of the wish list, then start using that for your uploads.
> 
> I've got a project for this weekend!


Don't WishList recording still group in the own series folders as well as the WishList's? In which case, the SeriesID is probably that of the show's SeriesID, not one from the whish list. But worth trying to find out.


----------



## mulscully

scrappydog65 said:


> Mulscully,
> 
> As pointed out by Reneg, indentation in the Python code is very important. Below are more lines from my Video.py:
> 
> *def *__getMetadateFromTxt(self, full_path):
> metadata = {}
> description_file = full_path + '.txt'
> # MSMITH - Added the IF block below to look
> # for a defaultMetadata.txt to cover all files in the folder.
> if not os.path.exists(description_file):
> base_path, title = os.path.split(full_path)
> description_file = base_path + '\defaultMetadata.txt'​ # END MSMITH Custom Change
> if os.path.exists(description_file):​
> Mike


Thanks a Ton...!! It makes sense to me ... I am used to java php where indentation does not matter... { } matter


----------



## mulscully

dlfl said:


> I *think* it works this way:
> 
> 1. No you can't make up your own series ID's.
> 2. Even a valid seriesID must be in your guide data or it won't group.
> 
> Also regarding *PaulS*'s recent post, I believe you have to put "SH" in front of the 6 digit number he highlighted.


If #2 is correct, then wouldn't that mean if a show was cancelled and no longer appeared in the guide data but episodes still appeared in you NPL they would ungroup? Does that happen?


----------



## gonzotek

mulscully said:


> If #2 is correct, then wouldn't that mean if a show was cancelled and no longer appeared in the guide data but episodes still appeared in you NPL they would ungroup? Does that happen?


They don't ungroup once grouped, but here's what has been observed for some time now, with MRV transfers:
TiVo A has a group of shows from some series that is no longer in the guide data. 
TiVo B also has the same series group(doesn't matter if the individual shows are the same or not) and also no longer has guide data for the series.
If you transfer any show from A to B, it will *not* group with it's brethren shows of the same series. The TiVo decides at record and/or transfer time if a program is to be grouped, and uses the guide data to determine grouping. Once an item has been grouped, it remains there even after guide data is no longer available for it.

The above is true for regularly scheduled recordings (e.g. season passes and one time recordings). I do not know what magic makes autorecord Wishlists work for grouping.


----------



## PaulS

mulscully said:


> If #2 is correct, then wouldn't that mean if a show was cancelled and no longer appeared in the guide data but episodes still appeared in you NPL they would ungroup? Does that happen?


Not sure. I'd assume stuff that was grouped would stay grouped.

As an experiment last night, I tried transferring two videos over, using the same SeriesID (SH759395 "Weeds"), but with the metadata indicating another series ("test"). The videos grouped under the "Weeds" name, even though there are no upcoming episodes in the guide data. Does this (re)confirm what everyone is seeing ?


----------



## svhawk

I have a series 2 TIVO (toshiba). I can get the folder name to show up in NPL but not the actual video files.

I have the following: z:\kids videos\air bud\air bud movie 

format. I have the following in the config file

z:\kids videos

do all the video files themselves be subordinate to the "kids videos" folder or can they be in sub folders (I even tried putting in the config file the exact Z:\kids videos\air bud\air bud movie still does not show up) 

it is probably something simple any help is appreciated.


----------



## jcthorne

TreborPugly said:


> I noticed in that other thread about Series ID's, that someone asked of Auto-record wish lists have an ID - that would be the best way to group external stuff. Create an Auto-record wish list with whatever name you want your stuff to eventually have, let it record a couple of shows, and use wmcbrine's script to get the SeriesID of the wish list, then start using that for your uploads.
> 
> I've got a project for this weekend!


Please give this a try and let us know what you observe.


----------



## PaulS

jcthorne said:


> Please give this a try and let us know what you observe.


I just tried this, and no dice. I have two AWRL, and neither showed up in the python script that someone posted earlier.

The first is "HD and Movies and (2007 or 2006)", and has 5 movies in it right now, all recorded from HBO-HD and StarzHD. Either the script isn't smart enough to recurse into folders/groups, or they're just not there.

The second is a simple one I created for this test. It's targeted at "news", and it's currently recording both CSPAN and CSPAN2. Neither the AWRL or the recordings show up in the python script output.


----------



## jcthorne

wgw said:


> Found the pyTivo fix for ffmpeg r10908 (and later). Was already posted a month ago. Man it's hard to keep up around here.
> 
> http://www.tivocommunity.com/tivo-vb/showthread.php?p=5642515#post5642515


THANKS! That worked!


----------



## PaulS

wgw said:


> Found the pyTivo fix for ffmpeg r10908 (and later). Was already posted a month ago. Man it's hard to keep up around here.
> 
> http://www.tivocommunity.com/tivo-vb/showthread.php?p=5642515#post5642515


Just double checking here.... Isn't that fix already in the 143ca build, at line 262 of transcode.py ?


----------



## dlfl

PaulS said:


> Just double checking here.... Isn't that fix already in the 143ca build, at line 262 of transcode.py ?


Doesn't appear so to me. The offending comma looks like it's still there to me. Latest revision affecting transcode.py was d7d8....


----------



## wgw

PaulS said:


> Just double checking here.... Isn't that fix already in the 143ca build, at line 262 of transcode.py ?


No, at first I thought that myself, but the change is so small that it is barely noticable. Note the last comma at the end of the first line, and the "space" replacing the comma in the fix.

Original:
rezre = re.compile(r'.*Video: .+, (\d+)x(\d+),.*')
Fix:
rezre = re.compile(r'.*Video: .+, (\d+)x(\d+) .*')


----------



## wmcbrine

PaulS said:


> Either the script isn't smart enough to recurse into folders/groups, or they're just not there.


The script recurses. But Wishlists don't create Series IDs. There was no reason to believe they did, BTW.


----------



## wgw

PaulS said:


> Not sure. I'd assume stuff that was grouped would stay grouped.
> 
> As an experiment last night, I tried transferring two videos over, using the same SeriesID (SH759395 "Weeds"), but with the metadata indicating another series ("test"). The videos grouped under the "Weeds" name, even though there are no upcoming episodes in the guide data. Does this (re)confirm what everyone is seeing ?


I believe that as long as you recorded an episode of Weeds within the last 30 days, it will remeber that series ID and keep the grouping alive for that series ID. On the other hand, Weeds is also available as a Unbox download which might also keep the series ID active and available for grouping, but I kind of doubt that. It's hard to say which promoted the grouping until Weeds has been unavailable for recording for more than 30 days or so. Also, If you keep just one episode of Weeds on the Tivo, I think it might keep the SeriesID active indefinitly. My guess is that if an episode has not been recorded or appeared in the guide within about 30 days, the seriesid for that group name will become useless unless you have an original .tivo file containing that series ID which can be transferred back to the tivo.

Assuming this is how it works, I'm not going to worry too much about keeping the seriesID alive for any given series. It would be too much work. Instead, I have set manual 5 minute recordings for generic series names like "special", "movie", "various", or "variety". I will leave the 5 minute recordings on the tivo to reserve or remember the series ID for those titles and use those for generic grouping. Hopefully that will work but only time will tell.

It's unfortunate that seriesids seem to become useless after a while. But since that appears to be the case at this time, I'm thinking that it is a waste of time and effort to try to maintain the seriesid for every show that one records. But let's hope that armooo finds a way to rebuild or create series ids on demand. That would be ideal, but it does not look promising at this time.


----------



## TreborPugly

wmcbrine said:


> The script recurses. But Wishlists don't create Series IDs. There was no reason to believe they did, BTW.


Okay, but is there some other metadata item that defines the group they end up in on the NPL?


----------



## dlfl

TreborPugly said:


> Okay, but is there some other metadata item that defines the group they end up in on the NPL?


Don't think so. I've used metadata files where the seriesTitle and all other items did not match the seriesID. They grouped and the group name was still the correct series title determined by the seriesID -- not by any other metadata item.


----------



## PaulS

wgw said:


> No, at first I thought that myself, but the change is so small that it is barely noticable. Note the last comma at the end of the first line, and the "space" replacing the comma in the fix.
> 
> Original:
> rezre = re.compile(r'.*Video: .+, (\d+)x(\d+),.*')
> Fix:
> rezre = re.compile(r'.*Video: .+, (\d+)x(\d+) .*')


Uh oh... Looks like it's time to bump up the font size on my text editor, or get new glasses, or both. 

Thanks!


----------



## PaulS

wmcbrine said:


> The script recurses. But Wishlists don't create Series IDs. There was no reason to believe they did, BTW.


No, they don't, but It only took 10 minutes to confirm and positively rule that option out.


----------



## PaulS

wgw said:


> I believe that as long as you recorded an episode of Weeds within the last 30 days, it will remeber that series ID and keep the grouping alive for that series ID. On the other hand, Weeds is also available as a Unbox download which might also keep the series ID active and available for grouping, but I kind of doubt that. It's hard to say which promoted the grouping until Weeds has been unavailable for recording for more than 30 days or so. Also, If you keep just one episode of Weeds on the Tivo, I think it might keep the SeriesID active indefinitly. My guess is that if an episode has not been recorded or appeared in the guide within about 30 days, the seriesid for that group name will become useless unless you have an original .tivo file containing that series ID which can be transferred back to the tivo.


Nope. I hadn't recorded Weeds at all, since I don't subscribe to Showtime. I just used that as an example, since someone had already listed it in the SeriesID thread. Additionally, Unbox downloads get a different ID ("MV" instead of "SH"), so there's another inconsistency.



wgw said:


> It's unfortunate that seriesids seem to become useless after a while. But since that appears to be the case at this time, I'm thinking that it is a waste of time and effort to try to maintain the seriesid for every show that one records. But let's hope that armooo finds a way to rebuild or create series ids on demand. That would be ideal, but it does not look promising at this time.


Yup. Given the 7-digit and 2-character space that these ID's represent, and allocating a sufficient string size for each ID, would result in a sizable database. It's probably not practical to always store the complete list on the box, and it would also be slow to traverse/query that enormous database as well.


----------



## rgr

This may be a stupid question, but I'm new to pyTiVo and am wonder what the difference is between all the versions at the armoo download site. The most recently uploaded is pyTivo-2007-11-25-master-d49819f39a81972d744a39a9eea42c63b5b455f4.zip. How does that differ from the one with "subfolders" in the name? Or "extend-descriptions"? Or should I ignore all the recent armoo versions and just go with the build 210 on sourceforge - and if so, what is the difference in those versions (endings are py2.2 through py2.6 and platform independent version)?

Thanks.


----------



## PaulS

Ahem.... Lookee here... 

Available on request via PM.

Alphabetically :


> SH506749	100 Greatest One Hit Wonders
> SH607733	101 Juiciest Hollywood Hookups
> SH803071	108 Stitches
> SH016746	12 O'Clock High
> SH000021	20/20
> SH801879	2005 GGL Tournament
> SH000025	21 Jump Street
> SH516386	30 Seconds to Fame
> SH000035	60 Minutes
> SH701440	60 Minutes on Classic
> SH000038	77 Sunset Strip
> SH814985	8th & Ocean
> SH713540	A Child's Bookshelf: Inside Children's Literature
> SH000047	A Current Affair
> SH000051	A Different World
> SH206842	A la Cachi Cachi Porra
> SH518036	A New Beginning
> SH000066	A Pup Named Scooby-Doo
> SH506736	A Toda Prueba
> SH807414	A Touch From Grace
> .
> .
> .


By ID :


> SH000021	20/20
> SH000025	21 Jump Street
> SH000035	60 Minutes
> SH000038	77 Sunset Strip
> SH000047	A Current Affair
> SH000051	A Different World
> SH000066	A Pup Named Scooby-Doo
> SH000088	Best Damn Investigates
> SH000115	The Addams Family
> SH000116	Adderly
> SH000172	Airwolf
> SH000181	ALF
> SH000184	Alfred Hitchcock Presents
> SH000187	Alias Smith and Jones
> SH000188	Alice
> SH000190	Alien Nation
> SH000204	All in the Family
> SH000206	All My Children
> SH000235	Amazing Stories
> SH000248	America's Most Wanted
> .
> .
> .


----------



## reneg

MasterCephus said:


> If there was only a Windows version of this...it would be awsome!
> 
> I think this is exactly what I was talking about yesterday.


I didn't have any luck finding a Windows program that did the same as the DVDPedia app for the mac, however I did stumble across something that might work with a little programming expertise. IMDbPY seems to be an active project with a current release. I'm sure that someone with more python experience could integrate it into pyTivo faster than I ever could.


----------



## jcthorne

If I recorded a 1 minute section of a program and downloaded the .tivo file to the pc. Then loaded that .tivo file on a different tivo, would that tivo then know and group other programs with the same series id? IE a way of getting my tivo to group things using series ids not in my guide data or recorded by me.

Just thinking out loud here.

If so, I could sure use a short .tivo file with the series name 'Movies" or some sort. "Concerts", Documentary and Live Comedy would be useful groups too....


----------



## dlfl

rgr said:


> This may be a stupid question, but I'm new to pyTiVo and am wonder what the difference is between all the versions at the armoo download site. The most recently uploaded is pyTivo-2007-11-25-master-d49819f39a81972d744a39a9eea42c63b5b455f4.zip. How does that differ from the one with "subfolders" in the name? Or "extend-descriptions"? Or should I ignore all the recent armoo versions and just go with the build 210 on sourceforge - and if so, what is the difference in those versions (endings are py2.2 through py2.6 and platform independent version)?
> 
> Thanks.


Well first of all, good luck! The two primary information sources are this thread and the pyTivo Wiki.

I think the build 210 you refer to is pyWin32, which is not pyTivo but rather python extensions for Windows, needed only if you plan to run pyTivo as a Windows service. It should only be installed after you install python.

You can browse the timeline and other information in the Wiki to get an idea of what's going on. Here is a recent post about subfolders.
I think you would be OK with the latest version (d498....).

Properly setting up the config file (pyTivo.conf) seems to be the biggest problem for new users. There is useful guidance in the Wiki. When you get all the software installed and your best estimate of a good config file, I recommend you post it here along with all the details such as number and type of TiVo's, and your type of TV('s), pc operating system, etc. Experienced users will gladly give you suggestions to complete a good config file.


----------



## greg_burns

jcthorne said:


> If I recorded a 1 minute section of a program and downloaded the .tivo file to the pc. Then loaded that .tivo file on a different tivo, would that tivo then know and group other programs with the same series id?


If if worked that way, people wouldn't have problems grouping when MRV'ing shows. But they do..

http://www.tivocommunity.com/tivo-vb/showthread.php?p=4077517&&#post4077517


----------



## jcthorne

greg_burns said:


> If if worked that way, people wouldn't have problems grouping when MRV'ing shows. But they do..
> 
> http://www.tivocommunity.com/tivo-vb/showthread.php?p=4077517&&#post4077517


Yep. suppose you are right. Brain fart.


----------



## gonzotek

greg_burns said:


> If if worked that way, people wouldn't have problems grouping when MRV'ing shows. But they do..
> 
> http://www.tivocommunity.com/tivo-vb/showthread.php?p=4077517&&#post4077517


Thanks for posting this thread, I wasn't aware of its existence. Nice to hear what I thought I understood confirmed straight from the horse's mouth (No offense intended to Jerry ).


----------



## rgr

dlfl said:


> Well first of all, good luck! The two primary information sources are this thread and the pyTivo Wiki.
> 
> .
> .
> .
> 
> Properly setting up the config file (pyTivo.conf) seems to be the biggest problem for new users. There is useful guidance in the Wiki. When you get all the software installed and your best estimate of a good config file, I recommend you post it here along with all the details such as number and type of TiVo's, and your type of TV('s), pc operating system, etc. Experienced users will gladly give you suggestions to complete a good config file.


Thanks for the encouragement. I've experimented with both the "master" and "subfolder" builds and settled on the "subfolder" as I like the way it allows me to keep my existing storage location and gives good file names. For some reason the "master" would show me a subfolder but none of the files in the subfolder.

I have: a Series3
a Toshiba 56mx195 widescreen tv
pc is core2duo on an evga 6801 mobo w/ 2g memory running xp sp2
wired network

Here is my stripped down pyTivo.conf file. 
---------------
[Server]
port=9032
ffmpeg=C:\Documents and Settings\RR\Desktop\pyTivo\plugins\video\ffmpeg_mp2.exe
beacon=255.255.255.255
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 -

[_tivo_648fffffff] (fffff to hide true number)

[MyMovies]
type=video
path=C:\Documents and Settings\RR\My Documents\TiVoVids

[RRShare]
type=video
path=Z:\Video
-------------------
Seems to be working with no changes to any other files. I had one tivo reboot on my first transfer after a backed out of the folder and paged down a few times, none since then.
[Edit - just had another reboot about a half hour after posting the comment - any idea how to prevent this?]

Any suggestions would be welcome.

Three questions:
1) the Time on transferred files seems to be 8 hours off (I live in San Francisco, which is GMT-8) any way to get the correct transfer time?
2) is there an ffmpeg parameter to control volume? The transferred files seem loud.
3) the subfolder names all end in (0) - should that be populated with the number of recordings in the subfolder?

I experimented with tivodotnet a few days ago and prefer pytivo so far. Tivotogo was big and started way too many services for what I wanted, and galleon also had more add-ons than I was looking for. Pytivo seems to be the exact stripped down media server type app I want. Thanks!


----------



## dlfl

rgr said:


> Thanks for the encouragement. I've experimented with both the "master" and "subfolder" builds and settled on the "subfolder" as I like the way it allows me to keep my existing storage location and gives good file names. For some reason the "master" would show me a subfolder but none of the files in the subfolder.
> 
> I have: a Series3
> a Toshiba 56mx195 widescreen tv
> pc is core2duo on an evga 6801 mobo w/ 2g memory running xp sp2
> wired network
> 
> Here is my stripped down pyTivo.conf file.
> ---------------
> [Server]
> port=9032
> ffmpeg=C:\Documents and Settings\RR\Desktop\pyTivo\plugins\video\ffmpeg_mp2.exe
> beacon=255.255.255.255
> 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 -
> 
> [_tivo_648fffffff] (fffff to hide true number)
> 
> [MyMovies]
> type=video
> path=C:\Documents and Settings\RR\My Documents\TiVoVids
> 
> [RRShare]
> type=video
> path=Z:\Video
> -------------------
> Seems to be working with no changes to any other files. I had one tivo reboot on my first transfer after a backed out of the folder and paged down a few times, none since then.
> [Edit - just had another reboot about a half hour after posting the comment - any idea how to prevent this?]
> 
> Any suggestions would be welcome.
> 
> Three questions:
> 1) the Time on transferred files seems to be 8 hours off (I live in San Francisco, which is GMT-8) any way to get the correct transfer time?
> 2) is there an ffmpeg parameter to control volume? The transferred files seem loud.
> 3) the subfolder names all end in (0) - should that be populated with the number of recordings in the subfolder? ......


Sounds like you're up and rolling pretty quick. Don't see any problem with your config file. The ffmpeg documentation doesn't say anything about changing audio volume. I know you could do it if you ran it through VideoReDo.

Hope an OP can help you with the other questions. (I don't run subfolders or an S3). Also there may be some config file parameters such as width, height, video_br and audio_br that you want to set different than defaults depending on the S3 and your TV formats and quality, but I don't have experience in the HDTV area. Just scan this thread over the last month or two to see what other S3/HDTV folks prefer.


----------



## wgw

PaulS said:


> Nope. I hadn't recorded Weeds at all, since I don't subscribe to Showtime. I just used that as an example, since someone had already listed it in the SeriesID thread. Additionally, Unbox downloads get a different ID ("MV" instead of "SH"), so there's another inconsistency.


Do you have cable? The grouping was probably promoted by guide data if you have cable. I think the Tivo will download guide data for all cable channels, even if you don't subscribe.

Also, it does not look like all Unbox downloads are assigned an MV number. As a test, I re-downloaded an episode of Heroes I purchased from Unbox a while back. It was given an SH series ID and a TS ProgramID.

I noticed in the link to TivoJerrys post that someone provided, TivoJerry mentioned ProgramID as affecting MRV grouping. He said:



TiVoJerry said:


> Transfers will not be grouped on the receiving DVR if it does not have the program ID available in its guide information at the moment the transfer is initiated. Unfortunately, that information must be present on the receiving machine for the grouping process to work. I am told that we cannot work around this particular shortcoming.


Not sure how ProgramID and SeriesID are related, but it sounds like they work together.


----------



## PaulS

wgw said:


> Do you have cable? The grouping was probably promoted by guide data if you have cable. I think the Tivo will download guide data for all cable channels, even if you don't subscribe.


Yes, Comcast. You're probably right.



wgw said:


> Also, it does not look like all Unbox downloads are assigned an MV number. As a test, I re-downloaded an episode of Heroes I purchased from Unbox a while back. It was given an SH series ID and a TS ProgramID.


Curious. So, you think TV shows always get an "SH", no matter where you get them from (cable, Unbox, etc) ?



wgw said:


> I noticed in the link to TivoJerrys post that someone provided, TivoJerry mentioned ProgramID as affecting MRV grouping. He said:
> 
> Not sure how ProgramID and SeriesID are related, but it sounds like they work together.


I wonder if zap2it has ProgramID info as well ?


----------



## ghasty

ARGH. pyTivo suddenly stopped working reliably on my Win2003 box...not sure what I did but have just reloaded a sompletly fresh install (went back to 201 even) and I can view some of my folders but most are not showing any videos. If anyone has any ideas...please let me know. Doesn't seem to matter what type of video is present or logic I can find. Here's an example of the config file:

_[Server]
port = 9032
ffmpeg = f:\pytivo\plugins\video\ffmpeg-mp2.exe

[Movies]
type = video
path = x:\video\movies

[Mythbusters]
type = video
path = x:\video\mythbusters_

when I try this URL (http://server:9032/TiVoConnect?Command=QueryContainer&Container=Mythbusters) I'm getting a list of the videos...when I try (http://server:9032/TiVoConnect?Command=QueryContainer&Container=Movies) I'm getting nothing but on the server pytivo window I now have:
_----------------------------------------
Exception happened during processing of request from ('192.168.2.53', 4420)
Traceback (most recent call last):
File "F:\Python25\lib\SocketServer.py", line 464, in process_request_thread
self.finish_request(request, client_address)
File "F:\Python25\lib\SocketServer.py", line 254, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "F:\Python25\lib\SocketServer.py", line 522, in __init__
self.handle()
File "F:\Python25\lib\BaseHTTPServer.py", line 316, in handle
self.handle_one_request()
File "F:\Python25\lib\BaseHTTPServer.py", line 310, in handle_one_request
method()
File "F:\pyTivo\httpserver.py", line 64, in do_GET
method(self, query)
File "F:\pyTivo\plugins\video\video.py", line 81, in QueryContainer
t.files, t.total, t.start = self.get_files(handler, query, VideoFileFilter)
File "F:\pyTivo\plugin.py", line 52, in get_files
files = filter(filterFunction, files)
File "F:\pyTivo\plugins\video\video.py", line 75, in VideoFileFilter
return transcode.suported_format(full_path)
File "F:\pyTivo\plugins\video\transcode.py", line 293, in suported_format
if video_info(inFile)[0]:
File "F:\pyTivo\plugins\video\transcode.py", line 224, in video_info
ffmpeg = subprocess.Popen(cmd, stderr=subprocess.PIPE, stdout=subprocess.PIP
E, stdin=subprocess.PIPE)
File "F:\Python25\lib\subprocess.py", line 593, in __init__
errread, errwrite)
File "F:\Python25\lib\subprocess.py", line 815, in _execute_child
startupinfo)
WindowsError: [Error 2] The system cannot find the file specified
----------------------------------------

_
The directory has around 15 files (.tivo, .mp4, .avi, etc)

Help...


----------



## rseligman

Hi, all. I haven't contributed to this post at all, but I'd like to suggest that you consider letting this mammoth pyTivo thread die out, and just go back to posting new threads for new topics.

I've had some pyTivo questions myself, and having to look through a 1200+ post, 45 page topic is not very efficient. Does _every_ pyTivo post need to be in a single thread?

Plus, it was just by accident that I saw something about the new metadata features in a previous post. That's a cool new feature, but instead of it being announced in a brand new thread, it was buried on page 35 of a huge thread started a year ago.

Anyway, not a complaint, just a request for those of us who haven't been keeping up with all 1207 posts here. Thanks for listening.


----------



## dlfl

jcthorne said:


> Is there some reason the ffmpeg that is included with the pytivo install has difficulty with h264 encoded mkv files where the current version from the mplayer site does not? Pytivo is giving a long string of decode errors 'Error while decoding stream #0.0, [h264 @ 009C3820]AVC: nal size xxxxxxxxxxxx"
> 
> Feeding the same mkv file to the newer version results in no errors and recodes fine.
> 
> Can pytivo use the latest version instead of the one distributed or is there something custom about that one?


As we now know, ffmpeg versions 10464 and 10908 can be used by pyTivo with a small edit in transcode.py. However not all H264 videos in MKV containers are handled properly by either of these versions, I have found.

I use AutoMKV  to encode this type video. For one 2.5 min mpeg2 clip, I created two versions using different 1-pass profiles and one using a 2-pass profile. The 2-pass version transcodes fine using either version of ffmpeg. The 1-pass versions transcode with the video in slow motion -- audio is OK. I can't blame it on the MKV files because they all play fine in VLC player.

Edit: Just tried this with r11050. Still the same problem. Also had to modify transcode.py because this version says 29.97 *tb* instead of 29.97 *fps*.

*tb????* It stands for time base and it happened with r11007. Transcode.py will have to be modified for all versions starting with that one. Here is a mod that I believe covers both before and after r11007, in function def video_info(inFile):
:



Code:


    rezre = re.compile(r'.*Video: .+, (.+) fps.*')
    x = rezre.search(output)
    if x:
        fps = x.group(1)
    else:
    # for ffmpeg version 11007 and beyond
        rezre = re.compile(r'.*Video: .+, (.+) tb.*')
        x = rezre.search(output)
        if x:
            fps = x.group(1)
        else:
            info_cache[inFile] = (mtime, (None, None, None, None, None))
            debug_write(['video_info: failed at fps\n'])
            return None, None, None, None, None

Since I think MKV/H264 decoding was just recently added to ffmpeg, and may still be under development, I assume this is just the way it is now. I would be curious about experiences others are having however.


----------



## jcthorne

I have seen the same thing wrt mkv files and ffmpeg. The 10908 verson is far better than the one shipped with pyTivo but still has some problems.

Are there any other utilities you can recommend to get video out of an mkv container into a more mainstream format...perhaps directly to mpeg2?


----------



## jcthorne

I was just wondering if some smart python programmer could come up with a simple photos app for pyTivo. The music and video sections work so well and I have pretty much left tivo desktop in the dust, but would like to get our photo albums back on the tivo menu. Other suggested workarounds that get along with pyTivo?


----------



## BillB

rgr said:


> Thanks for the encouragement. I've experimented with both the "master" and "subfolder" builds and settled on the "subfolder" as I like the way it allows me to keep my existing storage location and gives good file names. For some reason the "master" would show me a subfolder but none of the files in the subfolder.
> 
> I have: a Series3
> a Toshiba 56mx195 widescreen tv
> pc is core2duo on an evga 6801 mobo w/ 2g memory running xp sp2
> wired network
> 
> Here is my stripped down pyTivo.conf file.
> ---------------
> [Server]
> port=9032
> ffmpeg=C:\Documents and Settings\RR\Desktop\pyTivo\plugins\video\ffmpeg_mp2.exe
> beacon=255.255.255.255
> 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 -
> 
> [_tivo_648fffffff] (fffff to hide true number)
> 
> [MyMovies]
> type=video
> path=C:\Documents and Settings\RR\My Documents\TiVoVids
> 
> [RRShare]
> type=video
> path=Z:\Video
> -------------------
> Seems to be working with no changes to any other files. I had one tivo reboot on my first transfer after a backed out of the folder and paged down a few times, none since then.
> [Edit - just had another reboot about a half hour after posting the comment - any idea how to prevent this?]
> 
> Any suggestions would be welcome.
> 
> Three questions:
> 1) the Time on transferred files seems to be 8 hours off (I live in San Francisco, which is GMT-8) any way to get the correct transfer time?
> 2) is there an ffmpeg parameter to control volume? The transferred files seem loud.
> 3) the subfolder names all end in (0) - should that be populated with the number of recordings in the subfolder?
> 
> I experimented with tivodotnet a few days ago and prefer pytivo so far. Tivotogo was big and started way too many services for what I wanted, and galleon also had more add-ons than I was looking for. Pytivo seems to be the exact stripped down media server type app I want. Thanks!


Difference between Master and Subfolder Editions?

I am using the Master edition. If, for example, I want to put a series of TV episodes into a subfolder called 24, I get several 24's in the Now playing list under My Movies/24. I have to make a subfolder on the computer for each episode, ie, 24 6x01, 24 6x02, etc.

Does the subfolder edition allow you to make one subfolder (24) and place all of the episodes in it so you can see each episode in the Now Playing List?

Many thanks,

Bill


----------



## rgr

BillB said:


> Difference between Master and Subfolder Editions?
> 
> I am using the Master edition. If, for example, I want to put a series of TV episodes into a subfolder called 24, I get several 24's in the Now playing list under My Movies/24. I have to make a subfolder on the computer for each episode, ie, 24 6x01, 24 6x02, etc.
> 
> Does the subfolder edition allow you to make one subfolder (24) and place all of the episodes in it so you can see each episode in the Now Playing List?
> 
> Many thanks,
> 
> Bill


That's odd - when I tried the Master edition I was getting (to use your example of 24) a listing of programs only under whatever folder I opened first, every other folder I opened showed the same file listing. For instance:
On the pc I had a folder 24 with 5 episodes and a folder Whose Line with 10 episodes. I would then start up pytivo. On the tivo I would see MyMovies/24 and MyMovies/Whose Line. If I opened up the 24 folder I'd see all 5 episodes, after that if I opened up Whose Line, I'd see the same 5 episodes for 24. Had I opened Whose Line first I'd be seeing the same 10 episodes under every folder.
With the Subfolder build I see the episodes for each folder in each folder which is what I want. When I transfer it comes across as the name of the folder for each episode - so each episode comes over as "24" or "Whose Line" but then when I get info on the transferred file the name I had on the pc is showing as the episode title - "24 6x01"

Understand what I mean?


----------



## MasterCephus

Well I am almost finished with a little .NET application that will allow you to use the Amazon.com web services to search for a movie title and then save the information into a TXT file for the meta data stuff.

It's going pretty well...I can't seem to get the web service to give me the list of actors in the movie.

I have to use Amazon.com because it's about the only web service around that gives this type of information...there is no web service available for TV shows is there?

Basically, my little app will search for a movie title, then give a list. You click on the one you want and it then gives you all the available meta data fields that can be filled (that comes from Amazon). I have to go away for work next week, but hopefully I can finish it next week. If I am proud of it , I will give you guys the app


----------



## Soapm

I'm getting Tivo reboots while watching movies via pyTivo. I'm not picky what it looks like, I just want it to play. Can anyone make suggestions to these settings?

[MyMovies]
type = video
path = F:\VideoFiles

[Server]
ffmpeg = C:\Program Files\TiVo\pyTivo\plugins\video\ffmpeg_mp2.exe
beacon = 192.168.0.255
audio_br = 192K
port = 9032


----------



## wgw

dlfl said:


> As we now know, ffmpeg versions 10464 and 10908 can be used by pyTivo with a small edit in transcode.py. However not all H264 videos in MKV containers are handled properly by either of these versions, I have found.
> 
> I use AutoMKV  to encode this type video. For one 2.5 min mpeg2 clip, I created two versions using different 1-pass profiles and one using a 2-pass profile. The 2-pass version transcodes fine using either version of ffmpeg. The 1-pass versions transcode with the video in slow motion -- audio is OK. I can't blame it on the MKV files because they all play fine in VLC player.


I tried out AutoMKV and got the same slow motion video with the 1-pass encode. It sure seems slow to encode though. But it looks like encoding can be speeded up some by starting the program at the lowest priority. I noticed during the resize pass that AutoMKV was using 30% cpu and x264.exe was using 60%. After lowering the priority of AutoMKV, x264.exe is using 95% cpu and my remaining time estimate for the autoresize pass has been reduced an hour.


----------



## BillB

rgr said:


> That's odd - when I tried the Master edition I was getting (to use your example of 24) a listing of programs only under whatever folder I opened first, every other folder I opened showed the same file listing. For instance:
> On the pc I had a folder 24 with 5 episodes and a folder Whose Line with 10 episodes. I would then start up pytivo. On the tivo I would see MyMovies/24 and MyMovies/Whose Line. If I opened up the 24 folder I'd see all 5 episodes, after that if I opened up Whose Line, I'd see the same 5 episodes for 24. Had I opened Whose Line first I'd be seeing the same 10 episodes under every folder.
> With the Subfolder build I see the episodes for each folder in each folder which is what I want. When I transfer it comes across as the name of the folder for each episode - so each episode comes over as "24" or "Whose Line" but then when I get info on the transferred file the name I had on the pc is showing as the episode title - "24 6x01"
> 
> Understand what I mean?


I think I understand. It seems that you are getting the same behavior with the Subfolder edition as I get with the Master Edition.

It seems to me that the developers are spending more time with metadata features, rather than fixing the basic features first.

Bill


----------



## dlfl

BillB said:


> ..........It seems to me that the developers are spending more time with metadata features, rather than fixing the basic features first.
> Bill


Mmmm.... We'lll have to take that into account when we set their next pay increase!


----------



## TreborPugly

BillB said:


> I think I understand. It seems that you are getting the same behavior with the Subfolder edition as I get with the Master Edition.
> 
> It seems to me that the developers are spending more time with metadata features, rather than fixing the basic features first.
> 
> Bill


This is one of those things that has been around for a while, and was worked on extensively when it came up, but without reading this whole monster thread, you might miss.

Version 8.3 of the Tivo software broke how the Tivo reads folders. It is not something that can be fixed by pyTivo, since it is a bug in the Tivo software, and one they don't care about fixing, since they don't use subfolders. (or really folders at all - just grouping.

The bug causes the behavior you've observed: Once you enter a subfolder, every folder you enter from then on, appears to have the same content.

The subfolders branch of pyTivo is an attempt to work around the bugs in the Tivo, while having subfolders still work. It does make subfolders list the correct content, however with version 9, it sometimes relapses into the original behavior. (ie, same content in every subfolder) I don't think the developer who created this branch has worked on it since version 8.3. The other drawback is that it sometimes crashes the TiVo. With version 9, this problem has increased too.

The other "work around" is to not really support subfolders, but instead create a new pyTivo Share for every subfolder on your machine. This is an option that can be set in the config file. If you use the "subfolders" branch, and turn this on, you'll still have the crash problems that the subfolders branch causes, so I would use the Master edition.

If you really want to have subfolders working, use the subfolders version. (Not necessarily the one that supports metadata) What I do to avoid a crash is this:
Every time I go into a subfolder, and into the details of a show, I exit using the Tivo Button, and going back to NPL that way. If you back out of the details of the show, you can crash the Tivo.


----------



## grahamkent

ghastly,

Just one idea. You have a dash instead of an underscore in your path to ffmpeg.



ghasty said:


> _[Server]
> port = 9032
> ffmpeg = f:\pytivo\plugins\video\ffmpeg-mp2.exe
> _


_

This may very well be correct if you've changed what version of ffmpeg you are using, but if you're using the default, I believe the path should be to ffmpeg_mp2.exe NOT ffmpeg-mp2.exe._


----------



## grahamkent

MasterCephus said:


> I have to use Amazon.com because it's about the only web service around that gives this type of information...there is no web service available for TV shows is there?


MC, I haven't used this site in any apps, but I have been using it for metadata in the files I've been creating by hand. I'm not certain if the series IDs are valid, but if they are it would be a great source for TV data. Sadly, they don't have movie data.

http://thetvdb.com/index.php


----------



## rschwarz_jr

MasterCephus said:


> I have to use Amazon.com because it's about the only web service around that gives this type of information...there is no web service available for TV shows is there?


XBMC uses Tv.com (and others) and that works perfectly for me. I'm not sure if it has all the info but it scrapes quite a bit from the site.


----------



## rgr

TreborPugly said:


> If you really want to have subfolders working, use the subfolders version. (Not necessarily the one that supports metadata) What I do to avoid a crash is this:
> Every time I go into a subfolder, and into the details of a show, I exit using the Tivo Button, and going back to NPL that way. If you back out of the details of the show, you can crash the Tivo.


Thanks for the advice. I was guessing that the tivo request to the pytivo server to re-enumerate the complete file list might be causing a hiccup. On the use of the Tivo button to back out - do you use it as soon as you select the file to transfer, or at the screen where it prompts you to cancel or return to the folder?

Two additional questions:
1) is there a way to correct the Time? I'm at gmt-8, but the time displayed for transferred files is another -8 (for example it's 2:04 pm here - a transferred file ould have today's date but be at 6:04 am)
2) can pytivo be set to bypass transcoding? I was thinking about using winff to transcode and dumping the output to a share used by pytivo, but want to avoid re-transcoding.

Thanks


----------



## dlfl

rgr said:


> ..........2) can pytivo be set to bypass transcoding? I was thinking about using winff to transcode and dumping the output to a share used by pytivo, but want to avoid re-transcoding.
> 
> Thanks


pyTivo will send without transcoding if the file is a .Tivo or if it meets the standards set by tivo for TTCB mpeg2 files.. The specs are at the bottom of the linked page.

pyTivo knows these standards and applies them (actually just that it's mpeg2 and has a valid width and height). You wouldn't want to send a file that didn't meet them. The exception would be if your tivo model will accept a format that pyTivo doesn't know about, and that could be a possibility, especially for HD tivo's. Since pyTivo doesn't know the exact valid file resolutions for every TiVo model it's also possible it could send a file without transcoding that would NOT be acceptable to a particular model.

Actually if you're up to doing some simple editing of the pyTivo code you can find these two functions in config.py:



Code:


def getValidWidths(): 
     return [1440, 720, 704, 544, 480, 352] 
  
def getValidHeights(): 
    return [720, 480]

Warning: do not disturb indentation when you edit a Python source file!

I think it's obvious how you could add (or remove) "valid" widths or heights.
Note that the logic doesn't actually work on WxH pairs. For example you could have something 352x720 that pyTivo would consider valid, but I doubt if any TiVo model would accept that particular combo, or certainly some models wouldn't.

Note the 1440 width and 720 height that are not in the TiVo spec page. These have been added for HD tivo's and the TiVo spec has not been updated (possibly because they don't officially support TTCB on those models? -- Not sure).

I'm wondering if we need a config item where you could specify Tivo-compatible resolution sets in addition to the built in ones?


----------



## TreborPugly

rgr said:


> Thanks for the advice. I was guessing that the tivo request to the pytivo server to re-enumerate the complete file list might be causing a hiccup. On the use of the Tivo button to back out - do you use it as soon as you select the file to transfer, or at the screen where it prompts you to cancel or return to the folder?


I do it when I get to the screen asking me if I want to view the show, or return to browsing.


----------



## rsilvers

If I already paid for Tivo Desktop Plus, is there any reason why I would want to run pyTivo?


----------



## smilerz

A small feature request - not even sure if its possible.

When you set the autoshare feature on, is it possible for this list of shares to be displayed in alphabetical order? It seems to display randomly on my Tivo.


----------



## smilerz

I just installed the latest version (pyTivo-2007-12-03-master-c1d881f21b141fb2f7e119a80670ac76774dcf2e.zip)
When I attempt to download a video I get "no information available" and no option to start the transfer.

Am I missing something?

here is my config:


> [Server]
> port=9032
> 
> #Full path to ffmpeg including filename
> #For windows: ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
> #For linux: ffmpeg=/usr/bin/ffmpeg
> ffmpeg=C:\pyTivo\plugins\video\ffmpeg_mp2.exe
> #ffmpeg=/usr/bin/ffmpeg
> 
> #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=-i %(in_file)s -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
> 
> [Movies]
> #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=F:\Movies
> #Make all subfolders in to top level shares
> #auto_subshares= True


----------



## wmcbrine

rsilvers said:


> If I already paid for Tivo Desktop Plus, is there any reason why I would want to run pyTivo?


Sure.

1. pyTivo doesn't hog the machine. It doesn't insist on running at startup, or as Administrator.

2. In some cases*, clips transferred with Tivo Desktop get a time bar labelled only in seconds. The same clips transferred with pyTivo don't have this problem.

3. [New] You can add descriptions and other metadata to all files, not just .TiVo files.

4. You can run it on Linux.

5. You can modify it pretty easily.

6. You can have multiple shares.

7. I think it still supports more formats than TD+.

* I personally saw this in _all_ cases, but that was with the non-plus TD, with MPEGs that didn't have to be reencoded. I'm told that it doesn't happen when the clip is reencoded by TD+; I don't know.


----------



## dlfl

smilerz said:


> I just installed the latest version (pyTivo-2007-12-03-master-c1d881f21b141fb2f7e119a80670ac76774dcf2e.zip)
> When I attempt to download a video I get "no information available" and no option to start the transfer.
> 
> Am I missing something?
> 
> here is my config:


1. Comment out the [_tivo_00000DEADBEEF] line. (This is not a valid TSN).
2. Check the ffmpeg line: Is this the exact path to ffmpeg_mp2.exe ? For example is C:\pyTivo where you installed pyTivo? C:\program files\pyTivo is another common location or C:\program files\pyTivoXXX where XXX is the version number.

Please post your TiVo model(s), network configuration, pc OS if you need more help.


----------



## BillB

TreborPugly said:


> This is one of those things that has been around for a while, and was worked on extensively when it came up, but without reading this whole monster thread, you might miss.
> 
> Version 8.3 of the Tivo software broke how the Tivo reads folders. It is not something that can be fixed by pyTivo, since it is a bug in the Tivo software, and one they don't care about fixing, since they don't use subfolders. (or really folders at all - just grouping.
> 
> The bug causes the behavior you've observed: Once you enter a subfolder, every folder you enter from then on, appears to have the same content.
> 
> The subfolders branch of pyTivo is an attempt to work around the bugs in the Tivo, while having subfolders still work. It does make subfolders list the correct content, however with version 9, it sometimes relapses into the original behavior. (ie, same content in every subfolder) I don't think the developer who created this branch has worked on it since version 8.3. The other drawback is that it sometimes crashes the TiVo. With version 9, this problem has increased too.
> 
> The other "work around" is to not really support subfolders, but instead create a new pyTivo Share for every subfolder on your machine. This is an option that can be set in the config file. If you use the "subfolders" branch, and turn this on, you'll still have the crash problems that the subfolders branch causes, so I would use the Master edition.
> 
> If you really want to have subfolders working, use the subfolders version. (Not necessarily the one that supports metadata) What I do to avoid a crash is this:
> Every time I go into a subfolder, and into the details of a show, I exit using the Tivo Button, and going back to NPL that way. If you back out of the details of the show, you can crash the Tivo.


Thanks for the clear explanation. I did read the whole thread, it took six hours, and did not find as clear an explanation as this one.

I will try the "new share" method you suggested on the Master Edition.


----------



## rsilvers

I am trying to get pyTivo working. I get these errors. What is wrong?


----------



## PaulS

rsilvers said:


> I am trying to get pyTivo working. I get these errors. What is wrong?


The last line of output for each error says :

NoOptionError : No option 'ffmpeg' in section: "Server"

You haven't defined the ffmpeg parms line in the pytivo.conf configuration file. This varies depending upon which version of pyTivo you're using. What's your version, and what's you pytivo.conf file look like ?


----------



## rsilvers

I downloaded this file: pyTivo-208.zip from here: http://armooo.net/~armooo/pyTivo/downloads/

-----------------------------------

[Server]
port=9032

#Full path to ffmpeg including filename
#ffmpeg=d:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
#For linux: ffmpeg=/usr/bin/ffmpeg
#ffmpeg=/usr/bin/ffmpeg

#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=-i %(in_file)s -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

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

#Path is the full path to your files (No trailing slash needed)
path=c:\Downloads
#For linux: path=/media
#path=/home/armooo/Videos

##You can have more than one share
#[MyTelevision]
#type=video
#path=d:\television


----------



## PaulS

I'll highlight the problem areas.

#1 : You need to tell pytivo where to get ffmpeg from. In your file, both the Linux and Windows flavor definitions are commented out. You need to uncomment one, based upon what type of system pytivo is running on.

#2 : [_tivo_00000DEADBEEF] isn't a valid TSN, so it's not going to match your TiVo's TSN. You need to either comment this line out, or provide the correct TSN.



rsilvers said:


> I downloaded this file: pyTivo-208.zip from here: http://armooo.net/~armooo/pyTivo/downloads/
> 
> -----------------------------------
> 
> [Server]
> port=9032
> 
> #Full path to ffmpeg including filename
> *#ffmpeg=d:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
> #For linux: ffmpeg=/usr/bin/ffmpeg
> #ffmpeg=/usr/bin/ffmpeg*
> 
> #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=-i %(in_file)s -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
> 
> [pyTivo]
> #Type can be either 'video' or 'music'
> type=video
> 
> #Path is the full path to your files (No trailing slash needed)
> path=c:\Downloads
> #For linux: path=/media
> #path=/home/armooo/Videos
> 
> ##You can have more than one share
> #[MyTelevision]
> #type=video
> #path=d:\television


----------



## rsilvers

PaulS said:


> #2 : [_tivo_00000DEADBEEF] isn't a valid TSN, so it's not going to match your TiVo's TSN. You need to either comment this line out, or provide the correct TSN.


Thanks. The instructions said:
_
You need to edit pyTivo.conf in 3 places

1. ffmpeg=
2. [<name of share>]
3. path=_

So I did not know to change that also.


----------



## PaulS

rsilvers said:


> Thanks. The instructions said:
> _
> You need to edit pyTivo.conf in 3 places
> 
> 1. ffmpeg=
> 2. [<name of share>]
> 3. path=_
> 
> So I did not know to change that also.


If you don't intend on using the per-TiVo configuration stuff, or if you're using pyTivo with a single TiVo, you can simply comment that line out.


----------



## rsilvers

I got much further. Now my Tivo can see it and browse and initiate a transfer. But I still get this error:


----------



## Stu_Bee

Just a case history:
PyTivo on my Ubuntu stopped transcoding files that had .ac3 audio... This probably occured due to my upgrade from Ubuntu versions (Fiesty -> Gutsy), where somehow ffmpeg was changed to one without all the previous codecs of the prior.

Anyways, this thread here helped me get back in order by
1) Uninstalled, compiled and reinstalled ffmpeg (resulting in ffmpeg with needed codecs)
Compiling ffmpeg from upstream cvs snapshots
https://wiki.ubuntu.com/ffmpeg
2) edited transcode.py to get correct frame size from ffmpeg output:
http://tivocommunity.com/tivo-vb/showthread.php?p=5642515#post5642515
3) edited transcode.py to get correct fps from ffmpeg output:
http://tivocommunity.com/tivo-vb/showthread.php?p=5749111#post5749111

thanks to the above posters.


----------



## rsilvers

It is working now.

I had to comment this line:

#ffmpeg_prams=-i &#37;(in_file)s -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 -


and uncomment this line:
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 -

It seems real slow. I know it is upconverting to 1440x720 though, which is nice because I don't have to zoom the display later to fill the screen (which has the negative effect of cropping a bit).

Tivo Desktop Plus seems to be multi-threaded. This is not, so it only using 1/2 my CPU.


----------



## rsilvers

At 1440x720, it is just about exactly 1/2 the speed of Tivo Desktop.
At 960x540, it is about 15&#37; faster than Tivo DTP. Kinda makes sense as 960x540 has exactly 1/2 the number of pixels as 1440x720.

When I change ffmpeg to ffmpeg -threads 2, it does not seem to speed it up any.


----------



## rsilvers

Ok, I am confused. The PyTivo docs say:

"Then there is the issue that the largest dimension of file TiVo will accept it 720x480."

Does that mean that pyTivo always converts to 720x480? 

If no, then what does that quote mean?

If yes, then what is the width= and height= for in the pyTivo.conf file?

What should I set them to? If they make no difference, then my speedup is because I changed video_br from 12 to 8 and audio_br from 320 to 192.


----------



## dlfl

rsilvers said:


> At 1440x720, it is just about exactly 1/2 the speed of Tivo Desktop.


Do you mean compared to TD that is also producing 1440x720?



rsilvers said:


> Ok, I am confused. The PyTivo docs say:
> 
> "Then there is the issue that the largest dimension of file TiVo will accept it 720x480."
> 
> Does that mean that pyTivo always converts to 720x480?
> 
> If no, then what does that quote mean?
> 
> If yes, then what is the width= and height= for in the pyTivo.conf file?
> 
> What should I set them to? If they make no difference, then my speedup is because I changed video_br from 12 to 8 and audio_br from 320 to 192.


First the pyTivo documentation (Wiki) is only as good as volunteers make it. Hopefully after you've learned some lessons you will contribute and make it better.  The pyTivo.conf.dist example config file needs cleaning up and the configuration instructions too.

The width and height parameters *do* control the video size that pyTivo outputs. Each TiVo model has a selection of width/height combinations that it will accept on TTCB. The combinations for Series 2 models are given here at the bottom of the page. You should select width and height from the valid combinations for your Tivo model, and choose a combo that is appropriate for your TV. For a 27" non-HD TV, 544x480 will be plenty.

If you have a wide-screen TV, set your Tivo to 16:9 aspect ratio and set aspect169=true in your pyTivo.conf file. pyTivo makes a valiant effort at either letterboxing or pillarizing videos that don't match your selected aspect ratio.

The transcoding speed is determined primarirly by the sum of video_br and audo_br (subject to limitations of your PC and network of course), regardless of video dimensions. This sum determines how many bytes it takes to encode each second of your video.


----------



## rsilvers

Thanks.

I have a 45 inch 16:9 Sharp LCD with a Tivo-3.

Here is what I found out...

With my config file set to:

width=1440
height=720

Made Atlantis go from 640x352 to 1440x720
Made Weeds go from 1280x720 to 1440x720
Made Heros go from 960x528 to 1440x720

And when I comment those out:

#width=1440
#height=720

Made Atlantis go from 640x352 to 544x480
Made Weeds go from 1280x720 to 544x480
Made Heros go from 960x528 to 544x480


This is not optimal enough as it is too slow to make all files 1440x720, and a shame to downres true HD files. What it needs are a choice of two or three valid Tivo sizes, such as 1440x720, 960x540, and 720x480. It should then scale to the size above the size closest to the actual file. To someone who knows Python, this should be a very easy change.

For example, my Atlantis file of 640x352 would be converted to 720x480. My Weeds file of 1280x720, would be converted to 1440x720, and my Heros file of 960x528 would be scaled to 960x540.


----------



## snedecor

I downloaded and installed python, pytivo, configured it correctly (I think).
PC has Tivo Desktop Server (paused) on it.
Tivo is 540 Series 2

My share is visible in the NP, and I can select a video. However, when I select the video, a second window pops up, with the only option being select to return. No play, no error that I can see. All videos do this, mpg's, .tivos that came from the tivo I was trying, and .avi's

Here is a dump of the CMD line:
(sorry, had to do an image, how do you get text from Python window?)

Contents of pytivo.conf
-----------------------------
[Server]
port=9032

ffmpeg=e:\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

#If you want to use 16:9 or 4:3 on this tivo
aspect169=true

[MyMovies]
#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\Gayle\My Documents\My TiVo Recordings
#Make all subfolders in to top level shares
auto_subshares= True


----------



## armooo

rsilvers you can thank wfaulk for his patch 9ec1d


----------



## smilerz

dlfl said:


> 1. Comment out the [_tivo_00000DEADBEEF] line. (This is not a valid TSN).
> 2. Check the ffmpeg line: Is this the exact path to ffmpeg_mp2.exe ? For example is C:\pyTivo where you installed pyTivo? C:\program files\pyTivo is another common location or C:\program files\pyTivoXXX where XXX is the version number.
> 
> Please post your TiVo model(s), network configuration, pc OS if you need more help.


I commented out the line and confirmed (again) that the path to ffmpeg is correct - without success.

The odd thing is that it displays the content correctly - it just won't transfer the data.
MP3s work fine.
Another oddity - for shares that contain many files I can't scroll, it merely jumps to the top of the list.

I have a TivoHD with everything connected via ethernet (same subnet, no firewalls - even desktop firewalls.)
The PC running pytivo is on XP fully patched.


----------



## dlfl

Enhancements:

Added vSeriesGenre and vProducers

Pull down selection box to select different file extensions in case you are not always doing .mpg files (e.g., .mkv.txt, .mp4.txt etc.)

Download the installer here.

Be sure to uninstall the previous version first, if you had it!


----------



## rsilvers

armooo said:


> rsilvers you can thank wfaulk for his patch 9ec1d


Thanks. That is what I wanted. It seems to work. I mean, it took me a long time but only because I don't know Python and it took me a while to get the diffs in place because there was some version differences with what I was running and what this mod was based on.

Now:

Atlantis 640x352->704x480
Weeds 1280x720->1440x720
Heros 960x528-720x480

This seems optimal assuming Tivo3 only has two heights -- 720 or 480. I suppose it does.

I like how pyTivo supports mkv files. I was screwed with Tivo Desktop Plus whenever I had that format.

Someone said pyTivo is 'easy' to install. If you change the word 'easy' to 'possible,' I would agree. It takes a while just to find compatible versions of dependent software. It is very far from easy. Easy is when my mother can do it. It could be made easy just by the website having direct links to a known tested version with a working config file and very clear links to a compatible version of Python and ffmpeg.


----------



## Mandabar

armooo said:


> rsilvers you can thank wfaulk for his patch 9ec1d





rsilvers said:


> Thanks. That is what I wanted. It seems to work. I mean, it took me a long time but only because I don't know Python and it took me a while to get the diffs in place because there was some version differences with what I was running and what this mod was based on.
> 
> Now:
> 
> Atlantis 640x352->704x480
> Weeds 1280x720->1440x720
> Heros 960x528-720x480
> 
> This seems optimal assuming Tivo3 only has two heights -- 720 or 480. I suppose it does.
> 
> I like how pyTivo supports mkv files. I was screwed with Tivo Desktop Plus whenever I had that format.
> 
> Someone said pyTivo is 'easy' to install. If you change the word 'easy' to 'possible,' I would agree. It takes a while just to find compatible versions of dependent software. It is very far from easy. Easy is when my mother can do it. It could be made easy just by the website having direct links to a known tested version with a working config file and very clear links to a compatible version of Python and ffmpeg.


Ok. WOW. I'm going to sleep, but before I go, Let me lay my problem on you gurus.

First for the Quotes, I so agree with you Rsilver, Wish they had a easy working version, 1/4th as easy to setup as Tivo.net.

2. Armoo I have no idea how to use that patch thing that you had there, tried direct overwrites and it wouldn't work anymore..

But annnyway. (I'm a bit sleepy, overlooking spelling or aimlessy talk/typing)

I got Installed. Working? No, But 98% there.
Erm, Installed using pyTivo_182_setup.exe.
That Installed the Python that my computer is using. Also that service thingy that I'M NOT BOTHERING WITH yet... Heh.
It Also put pytivo 182 in my program files, not using that though.

THEN, I went and used the newest least weird verison (Without a 40+char name), So thats pyTivo-208.zip. Unzipped to my desktop. Using that. Then I played with my config file for a good long while, Mention, rsilver your post last page helped me out with an example, and other people correcting helped. I had the issue with infile, and i changed the quotes around like rsilver did too.

So It Sorta works. Heres the config file.



Code:


[Server]
port=9099 [B][I]Changed server so it would run even though tivo.net was, I'm guessing the defualt server port is the most used one for hmo stuff[/I][/B]

#Full path to ffmpeg including filename
#For windows: ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
#For linux:   ffmpeg=/usr/bin/ffmpeg
ffmpeg=C:\Documents and Settings\Mike\Desktop\Pytivo\plugins\video\ffmpeg_mp2.exe
#ffmpeg=/usr/bin/ffmpeg

#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=1024K

#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
#aspect169=true
#width=720
#width=704
#width=480
width=352
height=480
[B]ffmpeg[/B]_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_590123456789012] [B][I]TSN Changed after first 3 from orignail i had[/I][/B]

#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
[B]#ffmpeg[/B]_prams=-i %(in_file)s -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 -

[MyMovies]
#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\Mike\My Documents\Azureus Downloads\Tivo


##You can have more than one share
#[MyTelevision]
#type=video
#path=d:\television

Ok. so. It works. I can see the directory My Movies. I see all my stuff.. I can get a transfer going. Nice to see the input/output info from ffmpeg on the server/cmd line.

The video's try to transfer just fine, I haven't let one finish yet for one issue. Everything transfers full black screen with working audio.

Annoying eh? =)

I tried all sorts of HxW that I could think off as you can see in the code. From this link. http://tivosupport2.instancy.com/Ti...-79c3-4238-96c8-a27b323d1413/ins_content.html . I tried them with aspect169=true on and off.

My TV is 16:9 32inch hdtv
My Other tv is also 16:9 27inch hdtv.

Both are 590 S2 Tivo's Humax. They are both set to be 16:9 Video (Not that I've seen it makes a difference).

16:9 Worked on TDN?!Per Link, Tivo.net works for doing video's (pretty much any format works) in 4:3, but after a very brief period when 16:9 worked on my tv from tivo.net i want to have that work again. That and it's a "dead" project with no author around anymore, and mod calling it "stale" *Cries*.

I'll mess with your fancy complicated metadata stuff after I get the basics working

Do really need tivo server running paused on your computer? Tivo.net seems to run just fine w/o that software on your computer. I think.

There was something else... i forgot. If I left out any info.. er.. I'll try to answer it tommorow when I'm more coherent

edit: ps, further testing, of all my files a few do work, the 4:3 ones do.. the rest are widescreenish format. and i do have that trigger off right now, though it didn't seem to make a difference. So Clarification, 4:3 I can watch, doesn't get pillarized though so that means its streched to 16:9. My 16:9 files won't transcode at all


----------



## wmcbrine

rsilvers said:


> This seems optimal assuming Tivo3 only has two heights -- 720 or 480. I suppose it does.


It'll also do 1080.



> _It takes a while just to find compatible versions of dependent software._


I'm pretty sure that every version of pyTivo I've downloaded came with a Windows binary of ffmpeg. Not that I've used it, since I run pyTivo in Linux. Are you saying that the bundled ffmpeg doesn't work?

The only other dependency, if you don't already have it installed, is Python. Just grab the latest from python.org and you're set.



> _Easy is when my mother can do it._


That's a very narrow definition. I don't agree.


----------



## rsilvers

I see it does come with ffmpeg. I did not notice because the download site said:

"In order to run pyTivo you will need: 1. A compatible TiVo; 2. A python interpreter; 3. FFmpeg; 4. The pyTivo script."

I took this to mean I would have to get a python interpreter and FFmpeg so I went right to work trying to find where to download FFmpeg binaries. That took a long time because there are no official binaries.

Other things that made it take a while to come up to speed:

1. Config file has Tivo TSN param uncommented when nearly everyone will want to comment it. Also it does not say what a TSN is or where to find it. And the README file says to edit three other areas but not this line. But it won't work unless you do edit it.

2. There were two ffmpeg_prams lines - one of which if you uncomment it does not work. Of course I uncommented the one which does not work and got stuck.

3. Nothing in the file says you can leave that line commented and the program has hardcoded defaults. A comment in there saying something like 'you can optionally uncomment and customize these following lines' would have helped something to get running right away.

4. I was unsure about how it exactly used width and height, and felt like I needed to find out to optimize the speed as when I first ran it it was 1/2 the speed of Tivo Desktop Plus. I am very happy with the mod to optimize it. That took a while to get working because of a bug/typo in it where config was called Config and that took knowledge of Python to fix.

I like it better than Tivo Desktop Plus because I am now confident in how it is transcoding and I am unsure how TDP rescales files. It also is now running faster than TDP at what might be equivalent settings, and it is using about 40&#37; less CPU on my PC.


----------



## dlfl

rsilvers said:


> I see it does come with ffmpeg. I did not notice because the download site said:
> 
> "In order to run pyTivo you will need: 1. A compatible TiVo; 2. A python interpreter; 3. FFmpeg; 4. The pyTivo script."
> 
> I took this to mean I would have to get a python interpreter and FFmpeg so I went right to work trying to find where to download FFmpeg binaries. That took a long time because there are no official binaries.
> 
> Other things that made it take a while to come up to speed:
> 
> 1. Config file has Tivo TSN param uncommented when nearly everyone will want to comment it. Also it does not say what a TSN is or where to find it. And the README file says to edit three other areas but not this line. But it won't work unless you do edit it.
> 
> 2. There were two ffmpeg_prams lines - one of which if you uncomment it does not work. Of course I uncommented the one which does not work and got stuck.
> 
> 3. Nothing in the file says you can leave that line commented and the program has hardcoded defaults. A comment in there saying something like 'you can optionally uncomment and customize these following lines' would have helped something to get running right away.
> 
> 4. I was unsure about how it exactly used width and height, and felt like I needed to find out to optimize the speed as when I first ran it it was 1/2 the speed of Tivo Desktop Plus. I am very happy with the mod to optimize it. That took a while to get working because of a bug/typo in it where config was called Config and that took knowledge of Python to fix.
> 
> I like it better than Tivo Desktop Plus because I am now confident in how it is transcoding and I am unsure how TDP rescales files. It also is now running faster than TDP at what might be equivalent settings, and it is using about 40% less CPU on my PC.


Yes it's not easy even for someone in the know to initially understand configuring pyTivo and to keep up with the rapid development and many versions of the code -- but it's worth it! Good thing we have this forum, eh?

I would note that TSN is explained in the Wiki, configuration section.

What we need is to commercialize pyTivo  . Then the documentation effort could be put in to make it easy for beginners. Of course that costs money so the product would no longer be free, probably costing $49.95 or ??.

Anyone can contribute to the Wiki !

Anyway, congratulations on making it through the maze!


----------



## smilerz

I'm reposting this in case it got buried in the replies:


dlfl said:


> 1. Comment out the [_tivo_00000DEADBEEF] line. (This is not a valid TSN).
> 2. Check the ffmpeg line: Is this the exact path to ffmpeg_mp2.exe ? For example is C:\pyTivo where you installed pyTivo? C:\program files\pyTivo is another common location or C:\program files\pyTivoXXX where XXX is the version number.
> 
> Please post your TiVo model(s), network configuration, pc OS if you need more help.


I commented out the line and confirmed (again) that the path to ffmpeg is correct - without success.

The odd thing is that it displays the content correctly - it just won't transfer the data.
MP3s work fine.
Another oddity - for shares that contain many files I can't scroll, it merely jumps to the top of the list.

I have a TivoHD with everything connected via ethernet (same subnet, no firewalls - even desktop firewalls.)
The PC running pytivo is on XP fully patched.


----------



## greg_burns

Mandabar said:


> The video's try to transfer just fine, I haven't let one finish yet for one issue. Everything transfers full black screen with working audio.
> 
> Annoying eh? =)





> 16:9 Worked on TDN?!Per Link, Tivo.net works for doing video's (pretty much any format works) in 4:3, but after a very brief period when 16:9 worked on my tv from tivo.net i want to have that work again.


It is not Tivo.NET nor pyTivo, it is what is broken with our Tivos since 9.1.

Can anyone confirm this (no video, only audio for 16x9) is still a problem? I personally have not tried in awhile.

My 240 didn't have the probelm, only my 540.


----------



## gonzotek

greg_burns said:


> It is not Tivo.NET nor pyTivo, it is what is broken with our Tivos since 9.1.
> 
> Can anyone confirm this (no video, only audio for 16x9) is still a problem? I personally have not tried in awhile.
> 
> My 240 didn't have the probelm, only my 540.


I can't confirm, but I can say I keep a close eye on this thread and the HMF forum in general and I haven't seen any reported success stories, just failures.


----------



## jcthorne

I thought it was pretty common knowledge but guess not from the exchange on resolutions for the TivoHD above.

I have stopped having pyTivo convert resolution AT ALL. I have yet to find a resolution below 1080i that the TivoHD will not display correctly if the file's aspect ratio is internally correct. I know I have transferred numerous 1280xXXX (fixed width 720p) and quite a number of 720xXXX and 640xXXX. All play in thier native resolution without conversion by ffmpeg. Most are left at 23.98fps as well. I just let ffmpeg (via pyTivo) convert to mpeg2video and ac3 at 320kbps.

Am I missing something with this overly simplistic approach? I know it will not work for series 2 units and have no idea on S3 but assume it would be the same as the THD.


----------



## rsilvers

How do you keep it from converting resolution? Just edit the FFmpeg params line to not give a new size? That might be the best idea as let the Tivo hardware scale it in realtime. As long as pyTivo pads it to 16:9. Someone with experience please comment on if this is the best idea. I would assume it was except that pyTivo puts in the effort to resize the file so I figured that must be for a good reason.

I did have audio get out of sync and it was when I left a file at 23.97 fps, so I thought maybe the 29.97 was important for Tivo -- though I have not tested that.


----------



## jcthorne

I edited the ffmpeg params line. FFmpeg will default to the input size and frame rate if none are specified. So long as the file's AR is correctly specified, TivoHD seems perfectly capable of padding and resizing to the screen in real time. I only had a problem with audio sync when ffmpeg converted FROM 23.98 to 29.97, never if I left the frame rate of the file alone as received (unless the file was out of sync to begin with).

The whole resolution conversion and AR sequence was very important for S2 tivos. Does not seem necessary for most of what I have encountered on the THD. 

I noticed that armoo's latest build now skips reencode for all mpg2 files on S3 tivos. Have not installed it yet.


----------



## mitch2k2

Are there any ffmpeg parameters to tweak things like brightness and/or contrast during conversion?


----------



## Mandabar

Well I'm still having an issue, Regardless of the 16:9 issue. Also I take this to mean that for pytivo, 16:9 video doesn't work (tivo issue, s2) either?

So this value doesn't change anything? aspect169=true

Any Video I have that is 16:9ish won't transfer to my tivo with video, only audio.

The only files I can watch are the 4:3 ones, which are taking all the 4:3 space and becoming 16:9. I guess the term is not pillarizied.

Also, any comments on my config file?


----------



## snedecor

snedecor said:


> I downloaded and installed python, pytivo, configured it correctly (I think).
> PC has Tivo Desktop Server (paused) on it.
> Tivo is 540 Series 2
> 
> My share is visible in the NP, and I can select a video. However, when I select the video, a second window pops up, with the only option being select to return. No play, no error that I can see. All videos do this, mpg's, .tivos that came from the tivo I was trying, and .avi's
> 
> Here is a dump of the CMD line:
> (sorry, had to do an image, how do you get text from Python window?)
> 
> Contents of pytivo.conf
> -----------------------------
> [Server]
> port=9032
> 
> ffmpeg=e:\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
> 
> #If you want to use 16:9 or 4:3 on this tivo
> aspect169=true
> 
> [MyMovies]
> #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\Gayle\My Documents\My TiVo Recordings
> #Make all subfolders in to top level shares
> auto_subshares= True


Can anyone comment on why my TiVo can see the share generated by Pytivo, but when I select a video, I get a blank page with "no information available", and the only option is to press select to go back?

I did however find out that if you press PLAY while on this screen, you will reboot your TiVo.

Snedecor


----------



## rsilvers

Ahhh. I will try it out. I get it now -- this was all done for older Tivos. So I will likely come to find out I did not need that resolution optimization mod after all since I have an S3. Thanks.


----------



## gonzotek

Mandabar said:


> Well I'm still having an issue, Regardless of the 16:9 issue. Also I take this to mean that for pytivo, 16:9 video doesn't work (tivo issue, s2) either?
> 
> So this value doesn't change anything? aspect169=true
> 
> Any Video I have that is 16:9ish won't transfer to my tivo with video, only audio.
> 
> The only files I can watch are the 3:4 ones, which are taking all the 4:3 space and becoming 16:9. I guess the term is not pillarizied. Your config file doesn't look wrong, other than a lowish width setting (I use 720, but I have an upgraded drive so I never worry about space.
> 
> Also, any comments on my config file?


Greg Burns replied to you:


> It is not Tivo.NET nor pyTivo, it is what is broken with our Tivos since 9.1.
> 
> Can anyone confirm this (no video, only audio for 16x9) is still a problem? I personally have not tried in awhile.
> 
> My 240 didn't have the probelm, only my 540.


 540/590 models and models similar to them (some dvd tivos, and possibly other models) are broken for 16:9 playback by a recent TiVo service update. No workaround is yet known, other than letterboxing widescreen content to 4:3 aspect.


----------



## PaulS

jcthorne said:


> I edited the ffmpeg params line. FFmpeg will default to the input size and frame rate if none are specified. So long as the file's AR is correctly specified, TivoHD seems perfectly capable of padding and resizing to the screen in real time. I only had a problem with audio sync when ffmpeg converted FROM 23.98 to 29.97, never if I left the frame rate of the file alone as received (unless the file was out of sync to begin with).
> 
> The whole resolution conversion and AR sequence was very important for S2 tivos. Does not seem necessary for most of what I have encountered on the THD.
> 
> I noticed that armoo's latest build now skips reencode for all mpg2 files on S3 tivos. Have not installed it yet.


This should be good news for S3/TiVoHD users. Only having to do transcode operation, and removing the scaling operation should definitely net a performance boost.

I'll give armoo's latest drop a spin tonight, if I get a chance.


----------



## wgw

smilerz said:


> I just installed the latest version (pyTivo-2007-12-03-master-c1d881f21b141fb2f7e119a80670ac76774dcf2e.zip)
> When I attempt to download a video I get "no information available" and no option to start the transfer.
> 
> Am I missing something?
> 
> here is my config:


I get the same message. Something seems to be broke in the latest builds beginning with e0d98


----------



## rsilvers

I grabbed the latest version of the the code and I see that the optres was folded in. That is good. I also see that the code checks the TSN and can tell if you have a S3 or not. So since the code knows if it is an S3, perhaps it should not resize the pixels during transcoding?


----------



## Dex1138

I managed to slog through the setup and it seems to be working great, all praise pyTivo! Beats the heck out of converting to iPod and plugging into TV!
But, since I got it working, I can't seem to delete/modify some folders/files in the directory where my videos to convert are located.
I can create new things in that directory but if I try to edit/delete it says the file is in use by another program. I've tried stopping pyTivo and even rebooting but something is still locking the files.
Any ideas?
Don't know if it helps but i"m running XP with the newest pyTivo ans a Series 2 box.


----------



## Mandabar

Mandabar said:


> Well I'm still having an issue, Regardless of the 16:9 issue. Also I take this to mean that for pytivo, 16:9 video doesn't work (tivo issue, s2) either?
> 
> So this value doesn't change anything? aspect169=true
> 
> Any Video I have that is 16:9ish won't transfer to my tivo with video, only audio.
> 
> The only files I can watch are the 4:3 ones, which are taking all the 4:3 space and becoming 16:9. I guess the term is not pillarizied.
> 
> Also, any comments on my config file?





gonzotek said:


> Greg Burns replied to you: 540/590 models and models similar to them (some dvd tivos, and possibly other models) are broken for 16:9 playback by a recent TiVo service update. No workaround is yet known, other than letterboxing widescreen content to 4:3 aspect.


I already saw his reply before I typed my own. the 16:9 issue is besides the point as stated in my post. My Videos that I have on my computer that are 16:9 won't transcode to be 4:3 aspect ratio. I have turned off the aspect ratio value. I have had it true. I've had it false. I've had it Commented out.

My 16:9 video still doesn't come thru still. Its My assumption that this is not yet another issue of the tivo, since TDN seems to be able to transcode 16:9 into 4:3 by letterboxing it, albeit at a much slower rate then pytivo could probally do the same task.

On another note, PyTivo seems to encode the 4:3 videos that do work MUCH more quickly at the same bitrate as TDN did.

Thanks for more helpful replies!


----------



## snedecor

wgw said:


> I get the same message. Something seems to be broke in the latest builds beginning with e0d98


I reverted to an older build....

pyTivo-2007-11-25-master-d49819f39a81972d744a39a9eea42c63b5b455f4.zip

and all my problems went away!

I can now start tweaking and playing.....

THANKS!


----------



## PaulS

snedecor said:


> Can anyone comment on why my TiVo can see the share generated by Pytivo, but when I select a video, I get a blank page with "no information available", and the only option is to press select to go back?
> Snedecor


Same here. Only changes are pytivo.conf and transcode.py, renamed with ".txt" extension to allow them to be attached here. Also attached log.txt.


----------



## gonzotek

Mandabar said:


> I already saw his reply before I typed my own. the 16:9 issue is besides the point as stated in my post. My Videos that I have on my computer that are 16:9 won't transcode to be 4:3 aspect ratio. I have turned off the aspect ratio value. I have had it true. I've had it false. I've had it Commented out.
> 
> My 16:9 video still doesn't come thru still. Its My assumption that this is not yet another issue of the tivo, since TDN seems to be able to transcode 16:9 into 4:3 by letterboxing it, albeit at a much slower rate then pytivo could probally do the same task.
> 
> On another note, PyTivo seems to encode the 4:3 videos that do work MUCH more quickly at the same bitrate as TDN did.
> 
> Thanks for more helpful replies.


First, start with a fresh install of pyTiVo in a clean directory.

Use version 208, if we can coach a picture out of it on your TiVo, we can then work up to a newer version.

Use your posted config file, only set aspect169=false.

Make sure you kill off any old copies of python running in your task manager, or even restart the whole pc to be absolutely sure you're running the correct copy. This has tripped me up before.

If you are still getting the same undesirable results, turn on debugging. Transfer a 4:3 video, then a 16:9. Then post the debugging output here. Sample videos could also possibly help troubleshoot things.


----------



## rsilvers

I tried the Dec 4th build and I could not get it to show the video files listing on the Tivo. I had to go back to my old one.

Also, I am getting creeping audio sync problems when watching Heros S02E10 MKV files. I tried a transfer with and without -r 29.97 and both were out of sync. I am not sure if ffmpeg has trouble with MKV?


----------



## dlfl

rsilvers said:


> I tried the Dec 4th build and I could not get it to show the video files listing on the Tivo. I had to go back to my old one.
> 
> Also, I am getting creeping audio sync problems when watching Heros S02E10 MKV files. I tried a transfer with and without -r 29.97 and both were out of sync. I am not sure if ffmpeg has trouble with MKV?


Yes... Do a search on MKV in this thread for the last few days. I've had good luck using files encoded by AutoMKV and its "2-pass, balanced" MKV/H264 profile but you have to use an ffmpeg much newer than the one distributed with pyTivo. However encodings done with the "1-pass fastest" profile don't play correctly via pyTivo. These same recordings play fine with VLC player on a pc so the problem IS ffmpeg.

This 2-pass encoding is slow, taking about 3.5X the video length, but the results are impressive. You can get quality comparable to a fast Xvid/AVI encoding but using half the video bit rate (which means half the file size).

What is a Heros S02E10 MKV file? Are you doing the encoding? Is it H264?


----------



## Mandabar

gonzotek said:


> First, start with a fresh install of pyTiVo in a clean directory.
> 
> Use version 208, if we can coach a picture out of it on your TiVo, we can then work up to a newer version.
> 
> Use your posted config file, only set aspect169=false.
> 
> Make sure you kill off any old copies of python running in your task manager, or even restart the whole pc to be absolutely sure you're running the correct copy. This has tripped me up before.
> 
> If you are still getting the same undesirable results, turn on debugging. Transfer a 4:3 video, then a 16:9. Then post the debugging output here. Sample videos could also possibly help troubleshoot things.


Ok. I restarted the computer. Unzipped 208 again and only thing I did was put in this config file.


Code:


[Server]
port=9099

#Full path to ffmpeg including filename
#For windows: ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
#For linux:   ffmpeg=/usr/bin/ffmpeg
ffmpeg=C:\Documents and Settings\Mike\Desktop\Pytivo\plugins\video\ffmpeg_mp2.exe
#ffmpeg=/usr/bin/ffmpeg

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

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

# Video bit-rate, default 4096K
video_br=1024K

#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
aspect169=false
width=720
#width=704
#width=480
#width=352
height=480
ffmpeg_prams=-vcodec mpeg2video -r 29.97 -b &#37;(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_590123456789012]

#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=-i %(in_file)s -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 -

#[MyMovies]
#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\Mike\My Documents\Azureus Downloads\Tivo


##You can have more than one share
[Samples]
type=video
path=C:\Documents and Settings\Mike\Desktop\Samples

Still the same results. According to debug file it says aspect 169 is true, but clearly it is false in the config file.

I don't see how to attach the debug file, so I'll just put in code brackets.

One other odd thing, Sometimes I would go into a show and it would show stop transfering instead of transfer this recording. would have to back out then go back in to get proper option.



Code:


video_info: ffmpeg output= FFmpeg version SVN-r8047, Copyright (c) 2000-2007 Fabrice Bellard, et al.

  configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-liba52 --enable-avisynth --enable-libdts --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libogg --enable-libtheora --enable-libvorbis --enable-x264 --enable-xvid --enable-amr_nb --enable-amr_wb --cpu=i686 --enable-memalign-hack --extra-ldflags=-static

  libavutil version: 49.3.0

  libavcodec version: 51.34.0

  libavformat version: 51.10.0

  built on Feb 21 2007 23:20:24, gcc: 4.3.0 20070126 (experimental)



Seems stream 0 codec frame rate differs from container frame rate: 2997.00 (2997/1) -> 23.98 (24000/1001)

Input #0, avi, from 'C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi':

  Duration: 00:02:29.1, start: 0.000000, bitrate: 1111 kb/s

  Stream #0.0: Video: mpeg4, yuv420p, 640x272, 23.98 fps(r)

  Stream #0.1: Audio: mp3, 44100 Hz, stereo, 32 kb/s

Must supply at least one output file

 
video_info: Codec= mpeg4  width= 640  height= 272  fps= 23.98  millisecs= 149100 
video_info: ffmpeg output= FFmpeg version SVN-r8047, Copyright (c) 2000-2007 Fabrice Bellard, et al.

  configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-liba52 --enable-avisynth --enable-libdts --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libogg --enable-libtheora --enable-libvorbis --enable-x264 --enable-xvid --enable-amr_nb --enable-amr_wb --cpu=i686 --enable-memalign-hack --extra-ldflags=-static

  libavutil version: 49.3.0

  libavcodec version: 51.34.0

  libavformat version: 51.10.0

  built on Feb 21 2007 23:20:24, gcc: 4.3.0 20070126 (experimental)

C:\Documents and Settings\Mike\Desktop\Samples\Free-Codecs_Trailers.txt: Unknown format

 
video_info: failed at codec
supported_format:  C:\Documents and Settings\Mike\Desktop\Samples\Free-Codecs_Trailers.txt  is not supported
video_info: ffmpeg output= FFmpeg version SVN-r8047, Copyright (c) 2000-2007 Fabrice Bellard, et al.

  configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-liba52 --enable-avisynth --enable-libdts --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libogg --enable-libtheora --enable-libvorbis --enable-x264 --enable-xvid --enable-amr_nb --enable-amr_wb --cpu=i686 --enable-memalign-hack --extra-ldflags=-static

  libavutil version: 49.3.0

  libavcodec version: 51.34.0

  libavformat version: 51.10.0

  built on Feb 21 2007 23:20:24, gcc: 4.3.0 20070126 (experimental)



Seems stream 0 codec frame rate differs from container frame rate: 30000.00 (30000/1) -> 23.98 (24000/1001)

Input #0, avi, from 'C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx':

  Duration: 00:02:32.7, start: 0.000000, bitrate: 1132 kb/s

  Stream #0.0: Video: mpeg4, yuv420p, 640x272, 23.98 fps(r)

  Stream #0.1: Audio: mp3, 44100 Hz, stereo, 128 kb/s

Must supply at least one output file

 
video_info: Codec= mpeg4  width= 640  height= 272  fps= 23.98  millisecs= 152700 
video_info: ffmpeg output= FFmpeg version SVN-r8047, Copyright (c) 2000-2007 Fabrice Bellard, et al.

  configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-liba52 --enable-avisynth --enable-libdts --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libogg --enable-libtheora --enable-libvorbis --enable-x264 --enable-xvid --enable-amr_nb --enable-amr_wb --cpu=i686 --enable-memalign-hack --extra-ldflags=-static

  libavutil version: 49.3.0

  libavcodec version: 51.34.0

  libavformat version: 51.10.0

  built on Feb 21 2007 23:20:24, gcc: 4.3.0 20070126 (experimental)



Seems stream 0 codec frame rate differs from container frame rate: 23.98 (65535/2733) -> 23.98 (10000000/417083)

Input #0, avi, from 'C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi':

  Duration: 00:24:04.5, start: 0.000000, bitrate: 842 kb/s

  Stream #0.0: Video: mpeg4, yuv420p, 640x480, 23.98 fps(r)

  Stream #0.1: Audio: mp3, 48000 Hz, stereo, 128 kb/s

Must supply at least one output file

 
video_info: Codec= mpeg4  width= 640  height= 480  fps= 23.98  millisecs= 1444500 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
tivo_compatible:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  is not mpeg2video it is  mpeg4 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
tivo_compatible:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  is not mpeg2video it is  mpeg4 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
tivo_compatible:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  is not mpeg2video it is  mpeg4 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Free-Codecs_Trailers.txt  cache hit! 
supported_format:  C:\Documents and Settings\Mike\Desktop\Samples\Free-Codecs_Trailers.txt  is not supported
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
tivo_compatible:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  is not mpeg2video it is  mpeg4 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
video_info: ffmpeg output= FFmpeg version SVN-r8047, Copyright (c) 2000-2007 Fabrice Bellard, et al.

  configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-liba52 --enable-avisynth --enable-libdts --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libogg --enable-libtheora --enable-libvorbis --enable-x264 --enable-xvid --enable-amr_nb --enable-amr_wb --cpu=i686 --enable-memalign-hack --extra-ldflags=-static

  libavutil version: 49.3.0

  libavcodec version: 51.34.0

  libavformat version: 51.10.0

  built on Feb 21 2007 23:20:24, gcc: 4.3.0 20070126 (experimental)



Seems stream 0 codec frame rate differs from container frame rate: 23.98 (65535/2733) -> 23.98 (10000000/417083)

Input #0, avi, from 'C:\Documents and Settings\Mike\Desktop\Samples/[DB]_Bleach_150_[CF9DECA0].avi':

  Duration: 00:24:04.5, start: 0.000000, bitrate: 842 kb/s

  Stream #0.0: Video: mpeg4, yuv420p, 640x480, 23.98 fps(r)

  Stream #0.1: Audio: mp3, 48000 Hz, stereo, 128 kb/s

Must supply at least one output file

 
video_info: Codec= mpeg4  width= 640  height= 480  fps= 23.98  millisecs= 1444500 
tivo_compatible:  C:\Documents and Settings\Mike\Desktop\Samples/[DB]_Bleach_150_[CF9DECA0].avi  is not mpeg2video it is  mpeg4 
output_video:  C:\Documents and Settings\Mike\Desktop\Samples/[DB]_Bleach_150_[CF9DECA0].avi  is not tivo compatible
video_info:  C:\Documents and Settings\Mike\Desktop\Samples/[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
tsn: 589123456789012 
aspect169: True 
select_aspect: File= C:\Documents and Settings\Mike\Desktop\Samples/[DB]_Bleach_150_[CF9DECA0].avi  Type= mpeg4  width= 640  height= 480  fps= 23.98  millisecs= 1444500  ratio= 133  rheight= 3  rwidth= 4 
select_aspect: File is within 4:3 list.
transcode: ffmpeg command is  C:\Documents and Settings\Mike\Desktop\Pytivo\plugins\video\ffmpeg_mp2.exe -i C:\Documents and Settings\Mike\Desktop\Samples/[DB]_Bleach_150_[CF9DECA0].avi -vcodec mpeg2video -r 29.97 -b 1024K -maxrate 17M -bufsize 1024k -aspect 4:3 -s 720x480 -comment pyTivo.py -ac 2 -ab 192K -ar 44100 -f vob - 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Free-Codecs_Trailers.txt  cache hit! 
supported_format:  C:\Documents and Settings\Mike\Desktop\Samples\Free-Codecs_Trailers.txt  is not supported
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
tivo_compatible:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  is not mpeg2video it is  mpeg4 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
tivo_compatible:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  is not mpeg2video it is  mpeg4 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
tivo_compatible:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  is not mpeg2video it is  mpeg4 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Free-Codecs_Trailers.txt  cache hit! 
supported_format:  C:\Documents and Settings\Mike\Desktop\Samples\Free-Codecs_Trailers.txt  is not supported
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
tivo_compatible:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  is not mpeg2video it is  mpeg4 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Free-Codecs_Trailers.txt  cache hit! 
supported_format:  C:\Documents and Settings\Mike\Desktop\Samples\Free-Codecs_Trailers.txt  is not supported
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
tivo_compatible:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  is not mpeg2video it is  mpeg4 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
tivo_compatible:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  is not mpeg2video it is  mpeg4 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
tivo_compatible:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  is not mpeg2video it is  mpeg4 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Free-Codecs_Trailers.txt  cache hit! 
supported_format:  C:\Documents and Settings\Mike\Desktop\Samples\Free-Codecs_Trailers.txt  is not supported
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
tivo_compatible:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  is not mpeg2video it is  mpeg4 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
video_info: ffmpeg output= FFmpeg version SVN-r8047, Copyright (c) 2000-2007 Fabrice Bellard, et al.

  configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-liba52 --enable-avisynth --enable-libdts --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libogg --enable-libtheora --enable-libvorbis --enable-x264 --enable-xvid --enable-amr_nb --enable-amr_wb --cpu=i686 --enable-memalign-hack --extra-ldflags=-static

  libavutil version: 49.3.0

  libavcodec version: 51.34.0

  libavformat version: 51.10.0

  built on Feb 21 2007 23:20:24, gcc: 4.3.0 20070126 (experimental)



Seems stream 0 codec frame rate differs from container frame rate: 2997.00 (2997/1) -> 23.98 (24000/1001)

Input #0, avi, from 'C:\Documents and Settings\Mike\Desktop\Samples/Apocalypto_Trailer.avi':

  Duration: 00:02:29.1, start: 0.000000, bitrate: 1111 kb/s

  Stream #0.0: Video: mpeg4, yuv420p, 640x272, 23.98 fps(r)

  Stream #0.1: Audio: mp3, 44100 Hz, stereo, 32 kb/s

Must supply at least one output file

 
video_info: Codec= mpeg4  width= 640  height= 272  fps= 23.98  millisecs= 149100 
tivo_compatible:  C:\Documents and Settings\Mike\Desktop\Samples/Apocalypto_Trailer.avi  is not mpeg2video it is  mpeg4 
output_video:  C:\Documents and Settings\Mike\Desktop\Samples/Apocalypto_Trailer.avi  is not tivo compatible
video_info:  C:\Documents and Settings\Mike\Desktop\Samples/Apocalypto_Trailer.avi  cache hit! 
tsn: 589123456789012 
aspect169: True 
select_aspect: File= C:\Documents and Settings\Mike\Desktop\Samples/Apocalypto_Trailer.avi  Type= mpeg4  width= 640  height= 272  fps= 23.98  millisecs= 149100  ratio= 235  rheight= 17  rwidth= 40 
select_aspect: 16:9 aspect allowed, file is wider than 16:9 padding top and bottom
 -aspect 16:9 -s 720x362 -padtop 58 -padbottom 60 
transcode: ffmpeg command is  C:\Documents and Settings\Mike\Desktop\Pytivo\plugins\video\ffmpeg_mp2.exe -i C:\Documents and Settings\Mike\Desktop\Samples/Apocalypto_Trailer.avi -vcodec mpeg2video -r 29.97 -b 1024K -maxrate 17M -bufsize 1024k -aspect 16:9 -s 720x362 -padtop 58 -padbottom 60 -comment pyTivo.py -ac 2 -ab 192K -ar 44100 -f vob - 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Free-Codecs_Trailers.txt  cache hit! 
supported_format:  C:\Documents and Settings\Mike\Desktop\Samples\Free-Codecs_Trailers.txt  is not supported
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
tivo_compatible:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  is not mpeg2video it is  mpeg4 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
tivo_compatible:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  is not mpeg2video it is  mpeg4 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
tivo_compatible:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  is not mpeg2video it is  mpeg4 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Free-Codecs_Trailers.txt  cache hit! 
supported_format:  C:\Documents and Settings\Mike\Desktop\Samples\Free-Codecs_Trailers.txt  is not supported
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
tivo_compatible:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  is not mpeg2video it is  mpeg4 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Free-Codecs_Trailers.txt  cache hit! 
supported_format:  C:\Documents and Settings\Mike\Desktop\Samples\Free-Codecs_Trailers.txt  is not supported
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
tivo_compatible:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  is not mpeg2video it is  mpeg4 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
tivo_compatible:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  is not mpeg2video it is  mpeg4 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
tivo_compatible:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  is not mpeg2video it is  mpeg4 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\Free-Codecs_Trailers.txt  cache hit! 
supported_format:  C:\Documents and Settings\Mike\Desktop\Samples\Free-Codecs_Trailers.txt  is not supported
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\[DB]_Bleach_150_[CF9DECA0].avi  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
tivo_compatible:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  is not mpeg2video it is  mpeg4 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
video_info:  C:\Documents and Settings\Mike\Desktop\Samples\MySuperExGirlfriendTrailerA.divx  cache hit! 
video_info: ffmpeg output= FFmpeg version SVN-r8047, Copyright (c) 2000-2007 Fabrice Bellard, et al.

  configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-liba52 --enable-avisynth --enable-libdts --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libogg --enable-libtheora --enable-libvorbis --enable-x264 --enable-xvid --enable-amr_nb --enable-amr_wb --cpu=i686 --enable-memalign-hack --extra-ldflags=-static

  libavutil version: 49.3.0

  libavcodec version: 51.34.0

  libavformat version: 51.10.0

  built on Feb 21 2007 23:20:24, gcc: 4.3.0 20070126 (experimental)



Seems stream 0 codec frame rate differs from container frame rate: 30000.00 (30000/1) -> 23.98 (24000/1001)

Input #0, avi, from 'C:\Documents and Settings\Mike\Desktop\Samples/MySuperExGirlfriendTrailerA.divx':

  Duration: 00:02:32.7, start: 0.000000, bitrate: 1132 kb/s

  Stream #0.0: Video: mpeg4, yuv420p, 640x272, 23.98 fps(r)

  Stream #0.1: Audio: mp3, 44100 Hz, stereo, 128 kb/s

Must supply at least one output file

 
video_info: Codec= mpeg4  width= 640  height= 272  fps= 23.98  millisecs= 152700 
tivo_compatible:  C:\Documents and Settings\Mike\Desktop\Samples/MySuperExGirlfriendTrailerA.divx  is not mpeg2video it is  mpeg4 
output_video:  C:\Documents and Settings\Mike\Desktop\Samples/MySuperExGirlfriendTrailerA.divx  is not tivo compatible
video_info:  C:\Documents and Settings\Mike\Desktop\Samples/MySuperExGirlfriendTrailerA.divx  cache hit! 
tsn: 589123456789012 
aspect169: True 
select_aspect: File= C:\Documents and Settings\Mike\Desktop\Samples/MySuperExGirlfriendTrailerA.divx  Type= mpeg4  width= 640  height= 272  fps= 23.98  millisecs= 152700  ratio= 235  rheight= 17  rwidth= 40 
select_aspect: 16:9 aspect allowed, file is wider than 16:9 padding top and bottom
 -aspect 16:9 -s 720x362 -padtop 58 -padbottom 60 
transcode: ffmpeg command is  C:\Documents and Settings\Mike\Desktop\Pytivo\plugins\video\ffmpeg_mp2.exe -i C:\Documents and Settings\Mike\Desktop\Samples/MySuperExGirlfriendTrailerA.divx -vcodec mpeg2video -r 29.97 -b 1024K -maxrate 17M -bufsize 1024k -aspect 16:9 -s 720x362 -padtop 58 -padbottom 60 -comment pyTivo.py -ac 2 -ab 192K -ar 44100 -f vob -


----------



## rsilvers

> One other odd thing, Sometimes I would go into a show and it would show stop transfering instead of transfer this recording. would have to back out then go back in to get proper option.


I get that also. If I have a few episodes of Atlantis on my PC, and go into eposide1, start a transfer, exit out. Then go to queue up a transfer of episode2, it asks me if I want to stop the transfer (as if it thinks it is the same show as the last one I was transferring).


----------



## dlfl

@Mandabar,
Looking at the 208 code, you will get aspect169=true unless:
1. You have a model 649 or 540
(or)
2. You configure a per-tivo section and put aspect169=false in it.
Did you say you have a model 590 (Humax?) ?

Also, 1024kbps is a low bit rate, although it won't keep pyTivo from working. Your videos probably will be poor quality even on a mediocre TV.


----------



## mitch2k2

mitch2k2 said:


> Are there any ffmpeg parameters to tweak things like brightness and/or contrast during conversion?


Anyone? Bueller? Bueller?


----------



## rsilvers

I was all excited about pyTivo handling MKVs when Tivo Desktop Plus could not, and now I learn I cannot use it because ffmpeg does not audio sync on those MKVs.

http://forum.videohelp.com/topic318436.html

This guy says he has audio sync problems on the PC and Mac version of ffmpeg, but not linux.


----------



## reneg

mitch2k2 said:


> Quote:
> Originally Posted by mitch2k2
> Are there any ffmpeg parameters to tweak things like brightness and/or contrast during conversion?
> 
> Anyone? Bueller? Bueller?


With all the hundreds of options in ffmpeg, I'm pretty sure that ffmpeg does not have this capability at this time. On the other hand, there are other packages like Mencoder that have this capability but you would probably want to do your adjustments outside of pytivo.


----------



## Mandabar

dlfl said:


> @Mandabar,
> Looking at the 208 code, you will get aspect169=true unless:
> 1. You have a model 649 or 540
> (or)
> 2. You configure a per-tivo section and put aspect169=false in it.
> Did you say you have a model 590 (Humax?) ?
> 
> Also, 1024kbps is a low bit rate, although it won't keep pyTivo from working. Your videos probably will be poor quality even on a mediocre TV.


Ok I'll try a per tivo section and see if that works. I assume I change nothing in my config file but add a per tivo section, that will basically override the settings I have in the first section of the config file for that ONE Tivo.

The kbps I'm using look just fine. Especially when its from these divx files to tivo. Though regular tv sometimes looks bad when its on basic. But usually not =)


----------



## mitch2k2

reneg said:


> With all the hundreds of options in ffmpeg, I'm pretty sure that ffmpeg does not have this capability at this time. On the other hand, there are other packages like Mencoder that have this capability but you would probably want to do your adjustments outside of pytivo.


Yes, I know I can do it with a secondary app, but was hoping to be able to integrate it into PyTivo's conversion.


----------



## refried

Mandabar said:


> Code:
> 
> 
> video_info: ffmpeg output= FFmpeg version SVN-r8047, Copyright (c) 2000-2007 Fabrice Bellard, et al.
> configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-liba52 --enable-avisynth --enable-libdts --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libogg --enable-libtheora --enable-libvorbis --enable-x264 --enable-xvid --enable-amr_nb --enable-amr_wb --cpu=i686 --enable-memalign-hack --extra-ldflags=-static
> libavutil version: 49.3.0
> libavcodec version: 51.34.0
> libavformat version: 51.10.0
> built on Feb 21 2007 23:20:24, gcc: 4.3.0 20070126 (experimental)
> 
> Seems stream 0 codec frame rate differs from container frame rate: 2997.00 (2997/1) -> 23.98 (24000/1001)
> Input #0, avi, from 'C:\Documents and Settings\Mike\Desktop\Samples\Apocalypto_Trailer.avi':
> Duration: 00:02:29.1, start: 0.000000, bitrate: 1111 kb/s
> Stream #0.0: Video: mpeg4, yuv420p, 640x272, 23.98 fps(r)
> Stream #0.1: Audio: mp3, 44100 Hz, stereo, 32 kb/s
> Must supply at least one output file


I think your version of ffmpeg is a little too new. I started on this patch which should handle the output and video_info parsing changes.


----------



## dlfl

refried said:


> I think your version of ffmpeg is a little too new. I started on this patch which should handle the output and video_info parsing changes.


Not really..... r8047 is the rather old version of ffmpeg that has been distributed with pyTivo for many months now. No version as new as 208 should have trouble parsing it. Current versions are r10051 and newer and there have been mods to transcode.py (after 208) to make it handle both the older and newer versions.


----------



## randyo

Is it possible to play DVDs through pyTivo? For example, I'd like to buy a 500gig harddrive and install it to my computer. Then, I could rip 100 of my DVDs (probably as .iso images?) to the PC and be able to access them from the tivo anytime I wanted.


----------



## dlfl

randyo said:


> Is it possible to play DVDs through pyTivo? For example, I'd like to buy a 500gig harddrive and install it to my computer. Then, I could rip 100 of my DVDs (probably as .iso images?) to the PC and be able to access them from the tivo anytime I wanted.


pyTivo (i.e., ffmpeg) will not play .iso files AFAIK. However you could easily rip to .vob files and concatenate them to make the entire movie in one .vob, then pyTivo should transcode them OK. (Possibly you would need to rename the combined file as .mpg.)

Here is a helpful info page on combining VOB's, courtesy of VideoReDo. It gives you enough information to do it for free using a command window. I and many others would highly recommend you purchase VRD -- it will facilitate this process and that isn't even its main purpose. The DVDDecrypter program mentioned is old but free and generally very good still. OP can suggest other good free rippers.


----------



## Danimal4326

randyo said:


> Is it possible to play DVDs through pyTivo? For example, I'd like to buy a 500gig harddrive and install it to my computer. Then, I could rip 100 of my DVDs (probably as .iso images?) to the PC and be able to access them from the tivo anytime I wanted.


YES!! I do this with pyTivo now. You will not get the menus but it will display the mpeg stream and play 5.1 audio.

what I do is extract the main movie mpeg stream with no re-encoding.

on a TiVoHD it will display the movie wit hthe correct aspect ratio.

I do all the ripping on my linux server in a 2 part process (ssomewhat automated , but since the 5.1 stream is not alaways the first one, i re-run the 2nd process manually.)



Code:


###
# 1 Rip DVD
###
## this rips the dvd to a .vob
mplayer dvd:// -dumpstream -dumpfile "${SOURCE_DIR}/${MOVIE}.vob"

###
# 2 Rip out only movie and 5.1 audio
###
ffmpeg -i "${SOURCE_DIR}/${MOVIE}.vob" -vcodec copy -acodec copy -f vob "${BASE_DIR}/${MOVIE}.mpg"

what you end up with is a mpg file that pyTivo will send directly to the TIVO without re-encoding (i modified some of the pytivo code to allow the audio to be passed directly but i think the latest versions do this)

no I have a library of all my movies that i can watch without getting up off my ass , finding the dvd, putting it in...


----------



## wmcbrine

I've made a photo module for pyTivo:

http://www.tivocommunity.com/tivo-vb/showthread.php?t=377288


----------



## PaulS

Here are the complete SeriesID lists, sorted by name and by ID. Enjoy!


----------



## naclone

PaulS said:


> Here are the complete SeriesID lists, sorted by name and by ID. Enjoy!


this is awesome.

out of curiosity, what is the easiest way to determine the SeriesID of a show that is not on your list or is not listed at zap2it? i'd like to group all of my sports content under an appropriate seriesID and there are a couple shows in my guide like "Sports Room" on WPXN or "Sports Fan" on HSN, but I can't seem to track down Ids for them.


----------



## wgw

rgr said:


> I was thinking about using winff to transcode and dumping the output to a share used by pytivo, but want to avoid re-transcoding.


Thanks. The default string used by Winff worked so well on a problematic interlaced cable recording I was trying to encode that I decided to try replacing my pyTivo ffmpeg template with it. Hopefully it works just as well on other sources.



Code:


audio_br=384K
video_br=8Mi
width=720
height=480

ffmpeg_prams=-vcodec mpeg2video -r 29.97 -b %(video_br)s -maxrate %(max_video_br)s -bufsize %(buff_size)s %(aspect_ratio)s -mbd rd -flags +trell -mv0 -cgop -cmp 2 -subcmp 2 -comment pyTivo.py -acodec ac3 -ab %(audio_br)s  -ar 48000 -f vob -


----------



## dlfl

wgw said:


> I get the same message. Something seems to be broke in the latest builds beginning with e0d98


*smilerz* reported this "no info" problem first, and I have it too. It is ticket #52 on the Wiki, which I just updated ("replied to" that is).

Anyone have any new info or results on this? Are windows users stuck at d498... for now? Armooo took ownership of the ticket but he replied this version has no problems on linux and he has no windows box to test on. I just spent a few hours trying to track it down and got nowhere.


----------



## wgw

dlfl said:


> *smilerz* reported this "no info" problem first, and I have it too. It is ticket #52 on the Wiki, which I just updated ("replied to" that is).
> 
> Anyone have any new info or results on this? Are windows users stuck at d498... for now? Armooo took ownership of the ticket but he replied this version has no problems on linux and he has no windows box to test on. I just spent a few hours trying to track it down and got nowhere.


No joy here. I've spent days comparing the code changes with Beyond Compare and making small changes here and there to no avail. I suppose my time would have been better spent starting from scratch reading python tutorials to learn the language.

I ran across an interesting python path module. The author said he tired of typing os.path.join in 1994.

http://www.jorendorff.com/articles/python/path/


----------



## PaulS

wgw said:


> No joy here. I've spent days comparing the code changes with Beyond Compare and making small changes here and there to no avail. I suppose my time would have been better spent starting from scratch reading python tutorials to learn the language.
> 
> I ran across an interesting python path module. The author said he tired of typing os.path.join in 1994.
> 
> http://www.jorendorff.com/articles/python/path/


Wow. That path module sounds really slick. To be tired of doing something in Python way back in 1994 is funny...

If d498 is truly the last fully functional version, then it should be relatively straight forward to determine what's busted in the later versions.

Even between d4981 and e0d98, I see some significant changes. In container.tmpl, some pathing has changed ($file.path-> $file.name), and it seems to want to deal with files rather than dirs... although this might not be too serious.

What's more interesting to me, and IMHO likely to be involved in the problem of "no info" for the individual video files, are the changes in video.py video_file_filter(). The full_path is being derived in a completely different manner, and makes an assumption that a full_path is being passed via the "file" parameter. Perhaps this assumption was not followed elsewhere in the code...


----------



## MasterCephus

PaulS said:


> Here are the complete SeriesID lists, sorted by name and by ID. Enjoy!


Just by looking, I don't see some shows...such as Stargate: SG1. How did you get this list?


----------



## MasterCephus

After being away for a week because of business, it really seems obvious that pyTivo needs it's own forum. I realize that this probably wouldn't fall under the TivoCommunity forums, but there needs to be a forum completely devoted to just pyTivo

You could have:

pyTivo help
Development
feature requests
general discussion

probably a few more just to name a few...

You could probably just buy the domain name pyTivo.com and then create the forum, move the wiki, and put the download through something like sourceforge with a link from the site.

I think this little handy application is becoming big enough in the community to merit this...


----------



## PaulS

MasterCephus said:


> Just by looking, I don't see some shows...such as Stargate: SG1. How did you get this list?


After those initial lists of SeriesID's were posted by everyone, I did some initial queries into zap2it, and saw that there was a direct relation between TiVo SeriesID's and a portion of the URLs that resulted from those web queries.

Example : 
Dexter 
TiVo SeriesID : SH*859795*
Zap2it URL : http : //tvlistings.zap2it.com/tvlistings/ZCSC.do?t=Dexter&pgmId=EP00*859795*0025

So, the URL breaks down into EP00 + SeriesID + 4digits.

This worked out for quite a few manual checks that I made. So, I set up a web crawler to traverse the one million queries that fall into that six digit number space. Those remaining 4 digits appeared to be the episode number for that series, so I initially ignored them and used a value of "0001" for the queries. It took a week to complete. This resulted in my (initial) lists that I posted here.

Now, as you've illustrated, it looks like it's incomplete.

I'd rather not have to include those extra four digits in another crawl, since it would take 10,000 weeks, and I don't feel like waiting that long. 

Any ideas ?


----------



## ghasty

grahamkent said:


> ghastly,
> 
> Just one idea. You have a dash instead of an underscore in your path to ffmpeg.
> 
> This may very well be correct if you've changed what version of ffmpeg you are using, but if you're using the default, I believe the path should be to ffmpeg_mp2.exe NOT ffmpeg-mp2.exe.


Bingo....thanx



> Just one idea. You have a dash instead of an underscore in your path to ffmpeg


----------



## dlfl

PaulS said:


> .........If d498 is truly the last fully functional version, then it should be relatively straight forward to determine what's busted in the later versions.
> 
> Even between d4981 and e0d98, I see some significant changes. In container.tmpl, some pathing has changed ($file.path-> $file.name), and it seems to want to deal with files rather than dirs... although this might not be too serious.
> 
> What's more interesting to me, and IMHO likely to be involved in the problem of "no info" for the individual video files, are the changes in video.py video_file_filter(). The full_path is being derived in a completely different manner, and makes an assumption that a full_path is being passed via the "file" parameter. Perhaps this assumption was not followed elsewhere in the code...


Well *wgw* and I have spent some hours trying to uncover the problem by focussing on the revision differences you mention... with no results (although your logic is correct of course).

Today I downloaded WireShark (just Google, the artist formerly known as Ethereal), and started looking at the TCP packets passing between Tivo and pyTivo, comparing them for d498 (good) and 9978 (bad). And I've definitely caught 9978 in the act!

I have a share with just two videos and a subfolder on it. I captured packets for two sequences (1) initially selecting the share and (2) selecting a video in the share.

I saw no suspicious differences for the first sequence but that was not true for the second one: When the video is selected, the Tivo requests a TivoContainer xml response from pyTivo. Then it requests a TVBus response which contains most of the details, including metadata, for the selected file. This works OK for d498 but for 9978 the TivoContainer returned by pyTivo is:



Code:


<?xml version="1.0" encoding="ISO-8859-1" ?>
<TiVoContainer>
    <ItemStart>-1</ItemStart>
    <ItemCount>0</ItemCount>
    <Details>
        <Title>USB-DivX</Title>
        <ContentType>x-container/tivo-videos</ContentType>
        <SourceFormat>x-container/folder</SourceFormat>
        <TotalItems>3</TotalItems>
    </Details>
</TiVoContainer>

Note the ItemCount is 0. The TVBus response is requested by the Tivo but 9978 doesn't send one, which is probably just because it thinks there are no items to send. [Edit: Correction: The Tivo never requests the TVBus xml, undoubtedly because 9978 told it the item count was zero!]

I'm hoping this will narrow down the code search -- why is the item count being set to zero? Note that total items is correct (3). Is the ItemStart value of -1 correct?

P.S. WireShark rocks! Very intuitive and yet refined interface!


----------



## armooo

dlfl said:


> Note the ItemCount is 0. The TVBus response is requested by the Tivo but 9978 doesn't send one, which is probably just because it thinks there are no items to send.
> 
> I'm hoping this will narrow down the code search -- why is the item count being set to zero? Note that total items is correct (3). Is the ItemStart value of -1 correct?


I would take a look at the AnchorItem being sent by the tivo on the second request. Adding "print file_url, '==', anchor" on line 133 of plugin.py may also spot the problem.


----------



## dlfl

armooo said:


> I would take a look at the AnchorItem being sent by the tivo on the second request. Adding "print file_url, '==', anchor" on line 133 of plugin.py may also spot the problem.


We crossfired! Note my edit: the TiVo never requests the TVBus xml because it was told the item count was zero (I think).


----------



## dlfl

armooo said:


> I would take a look at the AnchorItem being sent by the tivo on the second request. Adding "print file_url, '==', anchor" on line 133 of plugin.py may also spot the problem.


I compared the TiVo GET requests for the TivoContainer when the video is selected -- identical for the two pyTivo versions.


----------



## dlfl

armooo said:


> I would take a look at the AnchorItem being sent by the tivo on the second request. Adding "print file_url, '==', anchor" on line 133 of plugin.py may also spot the problem.


I inserted this print statement. Following is the command window output for the entire sequence from starting up pyTivo, selecting the USB-DivX share on the NPL and selecting PassageToIndia from that share:

192.168.0.158 - - [09/Dec/2007 14:40:06] "GET /TiVoConnect?Command=QueryContaine
r&Container=%2F HTTP/1.0" 200 -
192.168.0.158 - - [09/Dec/2007 14:40:27] "GET /TiVoConnect?Command=QueryContaine
r&Container=%2F HTTP/1.0" 200 -
files:
['I:\\Videos\\DivX\\Extras', 'I:\\Videos\\DivX\\PassageToIndia.divx', 'I:\\Video
s\\DivX\\ThirrdMan-75ms.divx']
totalFiles = 3
192.168.0.158 - - [09/Dec/2007 14:40:32] "GET /TiVoConnect?Command=QueryContaine
r&Container=USB-DivX&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%
2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1"
200 -
files:
['I:\\Videos\\DivX\\Extras', 'I:\\Videos\\DivX\\PassageToIndia.divx', 'I:\\Video
s\\DivX\\ThirrdMan-75ms.divx']
totalFiles = 3
/TiVoConnect?Command=QueryContainer&Container=USB-DivX\Extras == /USB-DivX/Passa
geToIndia.divx
/USB-DivX\PassageToIndia.divx == /USB-DivX/PassageToIndia.divx
/USB-DivX\ThirrdMan-75ms.divx == /USB-DivX/PassageToIndia.divx

192.168.0.158 - - [09/Dec/2007 14:40:34] "GET /TiVoConnect?Command=QueryContaine
r&Container=USB-DivX&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FUSB-DivX%2
FPassageToIndia.divx&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tiv
o-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -

I've highlighted the print statement results in red. Is the '\' in the file_url items going to be OK?

In the message just before the highlighted output, "Extras" is the name of the subfolder that I have in this share. Does this message make sense?


----------



## dlfl

It appears the problem was a *'\'* that should have been a *'/'*. The fix (or at least *a* fix) is to add *one line following line 132 in plugin.py:*



Code:


                if os.path.isdir(os.path.join(file)):
                    file_url = '/TiVoConnect?Command=QueryContainer&Container=' + cname + file_name
                else:                                
                    file_url = '/' + cname + file_name
[COLOR="Red"]                file_url = file_url.replace('\\', '/')[/COLOR]

I highlighted the added line in red. The rest of the (existing) code is just to help you locate the right place.

This tests OK for me! Including going into a subfolder (manually).

Thanks to *armooo* for pointing to the right place in the code! (And for having any code to point to...)


----------



## PaulS

dlfl said:


> It appears the problem was a *'\'* that should have been a *'/'*. The fix (or at least *a* fix) is to add *one line following line 132 in plugin.py:*
> 
> 
> 
> Code:
> 
> 
> if os.path.isdir(os.path.join(file)):
> file_url = '/TiVoConnect?Command=QueryContainer&Container=' + cname + file_name
> else:
> file_url = '/' + cname + file_name
> [COLOR="Red"]                file_url = file_url.replace('\\', '/')[/COLOR]
> 
> I highlighted the added line in red. The rest of the (existing) code is just to help you locate the right place.
> 
> This tests OK for me! Including going into a subfolder (manually).
> 
> Thanks to *armooo* for pointing to the right place in the code! (And for having any code to point to...)


Nice! I'll try this out right now. I'll report back later tonight.


----------



## wmcbrine

Fixes the videos... something further (probably more of the same) is needed for the music.


----------



## PaulS

wmcbrine said:


> Fixes the videos... something further (probably more of the same) is needed for the music.


Same here. Video playback is fine now. Haven't fooled with audio/pictures yet. Nice find, guys!


----------



## dlfl

Revision d4219... was just released for download. The only change from 9978.... was the "fix" given in my previous post. Thus, if you edited that fix into 9978, there is no need to download d4219.


----------



## wgw

The fix works if I transfer an mpg, but I'm getting an error when I try to send a file that needs to be transcoded. pyTivo seems to be trying to send the .ts file without transcoding. And Recording History on the Tivo says "This program was not transferred onto this DVR because the program was recorded in an unknown format."



Code:


F:\pyTivo\Cheetah\Compiler.py:1508: UserWarning:
You don't have the C version of NameMapper installed! I'm disabling Cheetah's us
eStackFrames option as it is painfully slow with the Python version of NameMappe
r. You should get a copy of Cheetah with the compiled C version of NameMapper.
  "\nYou don't have the C version of NameMapper installed! "
192.168.0.11 - - [09/Dec/2007 22:16:06] "GET /TiVoConnect?Command=QueryContainer
&Container=%2F HTTP/1.0" 200 -
192.168.0.11 - - [09/Dec/2007 22:16:08] "GET /TiVoConnect?Command=QueryContainer
&Container=MyMovies%2FLost&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-cont
ainer%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP
/1.1" 200 -
192.168.0.11 - - [09/Dec/2007 22:16:10] "GET /TiVoConnect?Command=QueryContainer
&Container=MyMovies%2FLost&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FMyMo
vies%2FLost%2Fzzzz.ts&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-ti
vo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
192.168.0.11 - - [09/Dec/2007 22:16:10] "GET /TiVoConnect?Command=TVBusQuery&Con
tainer=MyMovies%2FLost&File=zzzz.ts HTTP/1.1" 200 -
192.168.0.11 - - [09/Dec/2007 22:16:16] "GET /MyMovies/Lost/zzzz.ts HTTP/1.1" 20
0 -
----------------------------------------
Exception happened during processing of request from ('192.168.0.11', 4038)
Traceback (most recent call last):
  File "c:\python25\lib\SocketServer.py", line 464, in process_request_thread
    self.finish_request(request, client_address)
  File "c:\python25\lib\SocketServer.py", line 254, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "c:\python25\lib\SocketServer.py", line 522, in __init__
    self.handle()
  File "c:\python25\lib\BaseHTTPServer.py", line 316, in handle
    self.handle_one_request()
  File "c:\python25\lib\BaseHTTPServer.py", line 310, in handle_one_request
    method()
  File "F:\pyTivo\httpserver.py", line 38, in do_GET
    plugin.send_file(self, container, name)
  File "F:\pyTivo\plugins\video\video.py", line 39, in send_file
    transcode.output_video(container['path'] + path[len(name)+1:], handler.wfile
, tsn)
  File "F:\pyTivo\plugins\video\transcode.py", line 40, in output_video
    shutil.copyfileobj(f, outFile)
  File "c:\python25\lib\shutil.py", line 24, in copyfileobj
    fdst.write(buf)
  File "c:\python25\lib\socket.py", line 262, in write
    self.flush()
  File "c:\python25\lib\socket.py", line 249, in flush
    self._sock.sendall(buffer)
error: (10054, 'Connection reset by peer')
----------------------------------------


----------



## dlfl

I suspect the tivo_compatable function in transcode.py is declaring this .ts to be tivo compatible. If ffmpeg says the codec is mpeg2video this can happen. Should be easy to tell if you turn on debug prints.

Does the same file transcode OK with another version of pyTivo. (With the same version of ffmpeg)?

It would be easy to add logic to force .ts files to be transcoded, but I wonder if that is always desirable, i.e., are some of them actually tivo compatible?


----------



## wgw

No, I don't believe .ts files are compatible, only mpg and .tivo are compatible AFAIK.

I fixed the error by adding the following code before the mpeg2video check.



Code:


    [COLOR="Red"][B]if (inFile[-3:]).lower() == '.ts':
        debug_write(['tivo_compatible: ', inFile, ' not program stream ends with .ts\n'])
        return False[/B][/COLOR]

    if not type == 'mpeg2video':


----------



## dlfl

wgw said:


> No, I don't believe .ts files are compatible, only mpg and .tivo are compatible AFAIK.
> 
> I fixed the error by adding the following code before the mpeg2video check.
> 
> 
> 
> Code:
> 
> 
> [COLOR="Red"][B]if (inFile[-3:]).lower() == '.ts':
> debug_write(['tivo_compatible: ', inFile, ' not program stream ends with .ts\n'])
> return False[/B][/COLOR]
> 
> if not type == 'mpeg2video':


I think you're right -- your fix should be merged into the next revision. I think this was a ***** because TS can be mpeg2 and be declared so by ffmpeg -- but are not tivo compatible.


----------



## wgw

dlfl said:


> I think you're right -- your fix should be merged into the next revision. I think this was a ***** because TS can be mpeg2 and be declared so by ffmpeg -- but are not tivo compatible.


Yeah, in previous versions, my .ts files were recognized as non-compatible due to high frame rate or high resolution. The recent addition to pass all videos tagged with mpeg2video to HD Tivo's and the mpeg2video tag caused it to be recognized as compatible. Another bug down. Thanks for the help.

I think I'm just about done writing my mods to prevent incompatible audio from being transferred. But testing will have to wait for another day.


----------



## ruttmeister

I have to say, pyTiVo is great! Thanks to all those who have put in so many hours to make what is getting close to my ultimate server! I'm not a programmer, and don't have any knowledge or experience with any programming language. I've spent the last couple days experimenting with the different versions of pyTiVo, and am now running d421 on an XP system (with the XP firewall on), wired network with two series 2 ST TiVos.

The subfolder problem is still there and I can't wait for a fix to that, I just wish I could help! I have been most interested in the metadata side of things, and have been quite successful at figuring it out. I've got a few files I would like to post, but I believe I read elsewhere in this thread that I have to have five posts under my belt before I can do that. Oh well. I'll post a few things here that may be of some help to newbies that also don't have any programming experience.

Currently this is my entire conf file. I found it easiest to just create a new file without all that extra stuff in it. I haven't had any trouble with my TiVos seeing my computer with any of the builds I've used. Everything has worked great so far (except for the subfolders issue  )! Oh, I suppose I should mention that I'm only working with mpeg2 files, no avi or anything.

[My Videos]
type = video
path = C:\Documents and Settings\Patrick\My Documents\My Videos

[Test Videos]
type = video
path = c:\Video Test Folder

[Server]
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 -
ffmpeg = C:\pyTivo-d421\plugins\video\ffmpeg_mp2.exe
video_br = 8Mi
port = 9032
width = 720
beacon = 255.255.255.255
debug = false
height = 480
audio_br = 192k

As far as metadata, I'd like to explain it for those who may still be having problems. First, you must create a txt file with a name like this: <video extension (.mpg or .tivo)>.txt. So, if you have an mpeg2 video file named Zeitgeist.mpg, you need to have a txt file in the same folder with the name Zeitgeist.mpg.txt.

Now for the contents. Here is what a basic file looks like, top to bottom, this is everything in that file:

description : Villians Emory and Oglethorpe kidnap Master Shake and replace him with a "replicant" alien. However, Frylock and Meatwad are not fooled because the "replicant" doesn't really look like Shake.
isEpisode : true
seriesTitle : Aqua Teen Hungerforce
title : Bad Replicant
originalAirDate : 2004-11-20T06:00:00Z
episodeTitle : Bad Replicant
seriesId : SH466293
time : 2004-11-20T06:00:00Z
episodeNumber : 17
displayMajorNumber : 31
callsign : TOON
vProgramGenre : Animated
vProgramGenre : Drama

OK, there's a lot going on here, and I'm not going to take up a ton of space explaining every detail, I've already used up enough. One important thing, I understand that pyTiVo can only see one command per line, so make sure your description is on the same line. I haven't tested that part yet to be sure, but you sure can!  But if you make sure that your file looks exactly like this (except with the relevant information instead of this episode of ATHF), it will all show up when you access that file through your TiVo. I have a txt document where I have been compiling a rather detailed explanation of what you can and can't do with all the fields and values of this file. I'm going to try to attach it to this post (it's not completely done, I need to make some changes, but it'll certainly get you on your way), but if that doesn't work, pm me and I'll be happy to send it to you.

I'm a big fan of MS Excel and I have built a very simple and basic sheet that makes it a good bit easier to create the data above. I would be happy to share that with anyone that is interested.

Ok, I'll quit now. Thanks again for everything, I'll be keeping up with this post and will continue to work on all this myself! Any comments on my conf file would be appreciated as I haven't really started playing with any of its settings.


----------



## ruttmeister

Sorry, the last file wasn't my most up to date. Not many changes, just a bit easier to read.


----------



## PaulS

Thanks to wgw and dlfl, I'm able to use the latest version of pyTivo. Thanks guys!

A benefit (?) of using this revision is that files are not transcoded as they are sent to my Series3, which leads to a couple of interesting results.

1. File transfer files have changed dramatically. SD files would always transfer in realtime (or faster), regardless of pyTivo revision. HD transfers were painfully slow, and could take up to 3x as long to transfer as they took to play out. Under the latest pyTivo, these HD files transfer in nearly realtime. A huge improvement. pyTivo's not having ffmpeg do as much work (no more scaling, most likely), so it can chunk through the files much more quickly.

2. Transferred file video quality isn't so great. This is also likely due to ffmpeg's reduced role in transfers. Videos appear a bit softer, aspect ratios are a bit off, and so on... 

So, it's a trade-off. No free lunches here. 

Currently, this is not a configurable behavior. If you've got a TiVoHD or Series3, pyTivo will automatically instruct ffmpeg to do less work. Although, it would be VERY simple to add another configuration value for pyTivo.conf to revert back to the older, more processor intensive transfers.


----------



## dlfl

PaulS said:


> Thanks to wgw and dlfl, I'm able to use the latest version of pyTivo. Thanks guys!.......


Don't forget "Thanks to *armooo*". He furnished the final hint that led to the "fix". (Not to mention creating pyTivo.)


----------



## PaulS

dlfl said:


> Don't forget "Thanks to *armooo*". He furnished the final hint that led to the "fix". (Not to mention creating pyTivo.)


Absolutely. Didn't intend to omit armooo. Thanks!


----------



## ruttmeister

I finally picked up a 649 series 2 DT 80hr today and got it up and running. Guess what? subfolders works perfectly. But only on the DT TiVo. It still doesn't on my other two machines. I wonder if the conf file can be set to broadcast two different types of share setups to specific TiVos? Oh, the DT does lose the vProgramGenre entries, but I'll work on that for a workaround or something. Also, with DT, when viewing the program screen of an episode in one of the subfolders on pyTiVo, you can use the channel up/down to jump to the previous/next video in the subfolder. Just so you know...


----------



## dlfl

Using version d4219..., for files that don't have metadata text files paired with them, the name displayed on the NPL is the subfolder containing the file, which is nondescript and confusing. All you have to do to get the actual video file name to display is replace line 105 in video.py with:


Code:


        metadata['seriesTitle'] = metadata['title']

This will not change the NPL display for files that have metadata text files paired with them.


----------



## ruttmeister

That's a nice fix, thanks. 

I'm having a problem now that I haven't had before. on my 240 series 2 when i try to enter a subfolder, it now says "This Group is empty....." when before it would show the first folder I entered. At least then I could transfer a program from the first folder, now nothing shows up. Any ideas?


----------



## grahamkent

dlfl said:


> Using version d4219..., for files that don't have metadata text files paired with them, the name displayed on the NPL is the subfolder containing the file, which is nondescript and confusing. All you have to do to get the actual video file name to display is replace line 105 in video.py with:
> 
> 
> Code:
> 
> 
> metadata['seriesTitle'] = metadata['title']
> 
> This will not change the NPL display for files that have metadata text files paired with them.


Thanks dlfl! Since I've edited a number of my files since downloading the build, can you provide some context to the line that needs to be replaced?

Thanks!


----------



## MasterCephus

armooo said:


> You should now be able to set all this metadata in the text file. If it starts with a 'v' you can have more than one line with that type of data.
> 
> 
> 
> Code:
> 
> 
> seriesId
> showingBits
> time
> vActor
> vChoreographer
> description
> vDirector
> episodeNumber
> title
> vExecProducer
> vProgramGenre
> vGuestStar
> vHost
> isEpisode
> originalAirDate
> vProducer
> vSeriesGenre
> seriesTitle
> seriesTitle
> vWriter
> displayMajorNumber
> displayMinorNumber
> callsign
> startTime
> stopTime


Are these the only valid items for metadata? This was taken a while back. Just wondering if any new items had been added.

If this is it, Could we add rating? I think that would be a good field to have?

Could someone who knows what each field is supposed to be add a page to the Wiki explaining each field?


----------



## ruttmeister

MasterCephus said:


> If this is it, Could we add rating? I think that would be a good field to have?


I agree, a rating field would be nice.


MasterCephus said:


> Could someone who knows what each field is supposed to be add a page to the Wiki explaining each field?


In my signature line is a link to a document that describes the content, formatting an behavior of most of those fields (also, there is a link to an Excel document that will create most of the above fields). I will say that most of what isn't in my document is of the type v<some person> (vProducer, vChoreographer, etc.) and you can put anything there, no specific formatting is required. you can usually include those fields in the metadata .txt document and leave them blank without them causing any problems. Also, see post 1314 for what you can expect a metadata file to look when formatted properly.


----------



## dlfl

grahamkent said:


> Thanks dlfl! Since I've edited a number of my files since downloading the build, can you provide some context to the line that needs to be replaced?
> 
> Thanks!


It's the only line in the file containing 'seriesTitle' .

It's in function: def __metadata(self, full_path):


----------



## MasterCephus

ruttmeister said:


> I agree, a rating field would be nice.
> 
> In my signature line is a link to a document that describes the content, formatting an behavior of most of those fields (also, there is a link to an Excel document that will create most of the above fields). I will say that most of what isn't in my document is of the type v<some person> (vProducer, vChoreographer, etc.) and you can put anything there, no specific formatting is required. you can usually include those fields in the metadata .txt document and leave them blank without them causing any problems. Also, see post 1314 for what you can expect a metadata file to look when formatted properly.


I know most of them, but I am pretty much finished on creating a GUI to create the metadata for you. I am using the data from http://thetvdb.com/ for tv shows and http://www.movie-xml.com/ for movies. I get pretty much most of the data, but there is some things that it doesn't get...I'll have to look.

I also will need permission to allow the public to use my little app per the above sites. It's a C# .NET application.

Basically, you search for either a movie or tv show. If it's a movie you search for the movie, choose it and the data shows up on a form. You have the ability to add, remove, or change any of the data on the form. Then you just choose the video file you want to link it to and it saves it as that file name plus the .txt extension.

If you search for a tv show, you search for the show, then you find the episode you want through a tree based on seasons. You can do the same as far as changing the data as like the movies.

I am testing it and when I get comfortable enough to release it to a few, I'll ask for volunteers.


----------



## dlfl

ruttmeister said:


> That's a nice fix, thanks.
> 
> I'm having a problem now that I haven't had before. on my 240 series 2 when i try to enter a subfolder, it now says "This Group is empty....." when before it would show the first folder I entered. At least then I could transfer a program from the first folder, now nothing shows up. Any ideas?


First, nice job on the metadata notes, thanks!

I see you have a model 649. Does this problem occur on it too?

Do you have auto_subshares= True in your config file for any of the shares?

When I have this set to true the subfolder shows up both as a subfolder under the share folder AND as a separate folder at the share folder level.


----------



## ruttmeister

MasterCephus-

That sounds great, a lot better than my Excel sheet! I will offer any input I can, but like I've said before, I have no programming experience whatsoever. However, when you're ready to test it, you can believe I'll be one of your first volunteers!


----------



## ruttmeister

dlfl said:


> First, nice job on the metadata notes, thanks!


I will continue to update it as i learn more about all the fields, and I intend to expand to a document that is relevant to the 649 models, as the current one is only relevant to the 240 models.



dlfl said:


> I see you have a model 649. Does this problem occur on it too?
> 
> Do you have auto_subshares= True in your config file for any of the shares?
> 
> When I have this set to true the subfolder shows up both as a subfolder under the share folder AND as a separate folder at the share folder level.


Well, here's what I had. I didn't even set a line in my config file for auto_subshares, and hadn't had a problem until I posted that. Here's what my config file looked like:

[Frank's Videos]
type = video
path = C:\Documents and Settings\Patrick\My Documents\My Videos

[Test Videos]
type = video
path = c:\Video Test Folder

[Server]
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 -
ffmpeg = C:\pyTivo-d421\plugins\video\ffmpeg_mp2.exe
video_br = 8Mi
port = 9032
width = 720
beacon = 255.255.255.255
debug = false
height = 480
audio_br = 192k

With it in this configuration, my 649 did not have any problem navigating any level of subfolder. My 240s would show all the subfolders, but when you tried to enter them, it gave the message above (This Group is empty...).

The only abnormal thing my 649 does in the current configuration is that if i mess around too much in the subfolders (view several video screens, move around several subfolders, etc.) and then back out to the NPL using the left arrow on the remote, the NPL will only show my two shares, and nothing else from the NPL. That is easily fixed though, I simply "left arrow" one more time to the main menu screen and select NPL, and everything's back to normal.

Here's the interesting bit. If I place an auto_subshares line in my config file (doesn't matter whether it's True or False),

240s: will now enter the subfolders and act like there are files, but show none. The blue highlight bar is there with all four directional arrows and I can move around, but no files or text of any sort is shown. And you can't select any of the "invisible files".

649: Nothing different than what I said above. The auto_subshares line seems to do nothing.


----------



## MasterCephus

ruttmeister said:


> MasterCephus-
> 
> That sounds great, a lot better than my Excel sheet! I will offer any input I can, but like I've said before, I have no programming experience whatsoever. However, when you're ready to test it, you can believe I'll be one of your first volunteers!


I am going to go through your doc and make sure that all the possible fields are good to go...maybe by the weekend I will have something I can send you to check out.


----------



## reneg

PaulS said:


> After those initial lists of SeriesID's were posted by everyone, I did some initial queries into zap2it, and saw that there was a direct relation between TiVo SeriesID's and a portion of the URLs that resulted from those web queries.
> 
> Example :
> Dexter
> TiVo SeriesID : SH*859795*
> Zap2it URL : http : //tvlistings.zap2it.com/tvlistings/ZCSC.do?t=Dexter&pgmId=EP00*859795*0025
> 
> So, the URL breaks down into EP00 + SeriesID + 4digits.
> 
> This worked out for quite a few manual checks that I made. So, I set up a web crawler to traverse the one million queries that fall into that six digit number space. Those remaining 4 digits appeared to be the episode number for that series, so I initially ignored them and used a value of "0001" for the queries. It took a week to complete. This resulted in my (initial) lists that I posted here.
> 
> Now, as you've illustrated, it looks like it's incomplete.
> 
> I'd rather not have to include those extra four digits in another crawl, since it would take 10,000 weeks, and I don't feel like waiting that long.
> 
> Any ideas ?


How about searching on the series names from tvdb?

I've been toying with how to build a tivometadata generator and two things stand out. First, Zap2it has the series IDs that Tivo uses for groupings and second, tvdb has the easiest interface to extract metadata. So what I did was cross reference the Zap2it IDs that you posted earlier with a list of TVDB IDs. Attached is a zipped text file with non matching TVDB titles (I filtered out non-english series). I couldn't post the mappings themselves due to size restrictions on posts on the forum. The results are interesting, there are a lot of inconsistencies in the titles of shows between the two DBs, such as 12 O' Clock vs Twelve O' Clock or The A-Team vs A-Team. There are about 8900 entries from TVDB that did not match your list. There were over 1400 entries that did match. Perhaps you could set up your web crawler to try and map the non matching TVDB titles which would hopefully take less than 10000 weeks.

Also, it looks like Ruttmeister is further along than I am with a working Tivometadata generator in Excel. Keep up the good work.


----------



## ruttmeister

MasterCephus said:


> I am going to go through your doc and make sure that all the possible fields are good to go...maybe by the weekend I will have something I can send you to check out.


I'll be looking forward to it with great anticipation! I've changed the link in my signature to point to the pages where those files are hosted. That way I don't have to keep changing the link everytime I update something, so check back for new information there.


----------



## dlfl

ruttmeister said:


> I..............
> Nothing different than what I said above. The auto_subshares line seems to do nothing.


I believe the auto_subshares line has to be put in each share section that you want to have that behavior. Is that how you are doing it?

I see the quirks like you mention as far as navigating in and out of shares, etc. on my 649 -- I assume everyone does.

I only have a 649 so won't be able to help regarding any differences between that and other models.


----------



## ruttmeister

dlfl said:


> I believe the auto_subshares line has to be put in each share section that you want to have that behavior. Is that how you are doing it?


Here are the two shares in my config file:

[Frank's Videos]
type = video
path = C:\Documents and Settings\Patrick\My Documents\My Videos
auto_subfolders = True

[Test Videos]
type = video
path = c:\Video Test Folder
auto_subfolders = True

When set like this, nothing different happens than if I don't have the two subfolders lines in there. Let's see if I understand what's happening to you:

Let's use my setup above. Let's then say that I have three subfolders in the \My Documents\My Videos folder named Larry, Curly, and Moe. What you're saying is that when you view your NPL, you see Frank's Videos, Test Videos, Larry, Curly, and Moe all as shares, and in the Frank's Videos share, you see Larry, Curly, and Moe as subfolders?


----------



## ruttmeister

reneg said:


> There are about 8900 entries from TVDB that did not match your list. There were over 1400 entries that did match.


My first question is this: do the listings from TVDB have series ID's with them? And if so, do the series IDs of the non-matching shows from TVDB match the series IDs from zap2it? To clarify, whether you get "The A-Team" from TVDB or "A-Team" from zap2it, are the series ID connected to each of them the same?

Because as far as my metadata creator goes, having two entries like that wouldn't necessarily be a bad thing. Different people remember show titles differently, and this way, no matter which one they entered, the right seriesID would be returned, which is (I think) one of the most important things: grouping.


----------



## reneg

ruttmeister said:


> My first question is this: do the listings from TVDB have series ID's with them? And if so, do the series IDs of the non-matching shows from TVDB match the series IDs from zap2it? To clarify, whether you get "The A-Team" from TVDB or "A-Team" from zap2it, are the series ID connected to each of them the same?
> 
> Because as far as my metadata creator goes, having two entries like that wouldn't necessarily be a bad thing. Different people remember show titles differently, and this way, no matter which one they entered, the right seriesID would be returned, which is (I think) one of the most important things: grouping.


From what I can tell, Zap2It and TVDB each have unique series IDs for their respective DBs. I didn't see any information in the TVDB meta data that corresponded back to a Zap2it Series ID. I would definately want to use the Zap2it Series ID in the Tivo Metadata so it would match what Tivo uses so it wouldn't matter if the series episode came from the Tivo or off the internet for grouping. As far as automagically getting meta data, TVDB looks to be the simplest, but you either need to know the ID or search for the series and choose through the interfaces.


----------



## dlfl

ruttmeister said:


> Here are the two shares in my config file:
> 
> [Frank's Videos]
> type = video
> path = C:\Documents and Settings\Patrick\My Documents\My Videos
> auto_subfolders = True
> 
> [Test Videos]
> type = video
> path = c:\Video Test Folder
> auto_subfolders = True
> 
> When set like this, nothing different happens than if I don't have the two subfolders lines in there. Let's see if I understand what's happening to you:
> 
> Let's use my setup above. Let's then say that I have three subfolders in the \My Documents\My Videos folder named Larry, Curly, and Moe. What you're saying is that when you view your NPL, you see Frank's Videos, Test Videos, Larry, Curly, and Moe all as shares, and in the Frank's Videos share, you see Larry, Curly, and Moe as subfolders?


Yes. One possible difference is I tend not to use spaces in my folder names. Try renaming them (at least the subfolders).


----------



## dlfl

ruttmeister said:


> .......In my signature line is a link to a document that describes the content, formatting an behavior of most of those fields........


Here is a factoid about the role of seriesID:

I've used metadata files where the seriesTitle and all other items *did not *match the seriesID. They grouped and the group name was still the correct series title determined by the *seriesID* -- not by any other metadata item.

This applies when it's a "valid" seriesID, and AFAIK we don't know the exact rules that determine validity for a given Tivo unit. If the tivo doesn't consider it valid, it uses the seriesTitle metadata for the NPL listing (if you've applied the "fix" given in my earlier post). But it won't group then.


----------



## ruttmeister

Ok, to show my utter "green-ness", I have a question: what does AFAIK stand for?

Next, and perhaps I missed this earlier in this MONSTER thread, can pyTiVo support rating metadata? If so, what does the command look like, and how does the field need to be formatted to work properly? (ex: tvRating : PG-13)



dlfl said:


> Yes. One possible difference is I tend not to use spaces in my folder names. Try renaming them (at least the subfolders).


WOW. That must have been the hour my hands were at HandzCrafters. If you look closely, I put auto_subfolders not auto_subshares. Both my 240s and my 649 react exactly the way you describe, even with subfolders in subfolders in subfolders, etc. I found that if you have two shares, one can be set to True and one to False without screwing anything up. This is actually kind-of handy, because now my 240s can access all the bottom-level folders, and my 649 can simply browse the regular subfolders the way it's supposed to.


----------



## greg_burns

ruttmeister said:


> Ok, to show my utter "green-ness", I have a question: what does AFAIK stand for?


IIRC it stands for As Far As I Know.


----------



## ruttmeister

greg_burns said:


> IIRC it stands for As Far As I Know.


Thanks! 

(and yes, I got IIRC, thank you!)


----------



## DinoBambino

Would somebody be able to post a pyTivo.conf file that is setup for a mixed HD/SD environment?

I have a TivoHD hooked up to a HDTV and two other Series2 Tivo's hooked up to SDTV's.

I was able to get pyTivo working correctly for the HDTV (16X9) after reading through suggestions in this thread, but I am unsure how to add/configure the SD settings.

Thanks!


----------



## PaulS

PaulS said:


> 2. Transferred file video quality isn't so great. This is also likely due to ffmpeg's reduced role in transfers. Videos appear a bit softer, aspect ratios are a bit off, and so on...


More info on further investigation. It's clear why I'm seeing degraded video. It's because everything's being downrezzed to 480p. Duh! 

Here's an example transfer I did tonight. Source file is a Matroska contained H.264 1280x720 @ 23.98 fps video, being transferred to my Series3.

My really simple pytivo.conf file :


Code:


[Server]
Port=9042
GUID=314253
debug=true
aspect169=true
ffmpeg=j:\pyTivo-2007-12-04\plugins\video\ffmpeg_mp2.exe

[StuffToWatch2]
type=video
path=c:\Videos
auto_subshares=true

From my debug.txt log :



Code:


video_info: [B]Codec= h264  width= 1280  height= 720  fps= 23.98[/B]  millisecs= 3357300 
tivo_compatible:  c:\Videos\File1 - 720p.mkv  is not mpeg2video it is  h264 
output_video:  c:\Videos\File1 - 720p.mkv  is not tivo compatible
video_info:  c:\Videos\File1 - 720p.mkv  cache hit! 
tsn: 648000123456789 
aspect169: True 
optres: False 
select_aspect: File= c:\Videos\File1 - 720p.mkv  Type= h264  width= 1280  height= 720  fps= 23.98  millisecs= 3357300  ratio= 177  rheight= 9  rwidth= 16  [B]TIVO_HEIGHT= 480 TIVO_WIDTH= 544[/B] 
select_aspect: File is within 16:9 list and 16:9 allowed.
transcode: ffmpeg command is  j:\pyTivo-2007-12-04\plugins\video\ffmpeg_mp2.exe -i c:\Videos\File1 - 720p.mkv -vcodec mpeg2video -r 29.97 -b 4096K -maxrate 17408k -bufsize 1024k -aspect 16:9 [B]-s 544x480 [/B]-comment pyTivo.py -ac 2 -ab 192K -ar 44100 -f vob -

So, I guess I've got to enable "optres=true" in my pytivo.conf file if I want to keep 720p stuff at that resolution.


----------



## grahamkent

DinoBambino said:


> Would somebody be able to post a pyTivo.conf file that is setup for a mixed HD/SD environment?
> 
> I have a TivoHD hooked up to a HDTV and two other Series2 Tivo's hooked up to SDTV's.
> 
> I was able to get pyTivo working correctly for the HDTV (16X9) after reading through suggestions in this thread, but I am unsure how to add/configure the SD settings.
> 
> Thanks!


I have a similar setup but only a single series 2 Tivo. This is working well for me.



> [Server]
> port=9032
> 
> ## Full path to ffmpeg including filename
> #For windows: ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
> #ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
> ffmpeg=d:\FFmpeg\ffmpeg.exe
> 
> ## This will make a large debug.txt file in you base directory.
> ## It only debugs transcode.py right now.
> debug=true
> 
> ## Make all subfolders in to top level shares
> auto_subshares=False
> 
> ## Only transcode files to nearest acceptable dimmensions
> optres=True
> 
> ## Audio bit-rate, default 96K
> audio_br=96K
> 
> ## Video bit-rate, default 2048K
> video_br=2Mi
> 
> ## Buffer size:
> buff_size=1024K
> 
> ## Max Video Bit Rate:
> max_video_br=10Mi
> 
> ## 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
> ## Valid: 1920, 1440, 720, 544, 480, 352
> width=544
> height=480
> ffmpeg_prams=-threads 2 -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 -
> 
> [_tivo_652000180######]
> aspect169=true
> #width=1280
> #height=720
> width=720
> height=480
> audio_br=384k
> video_br=6Mi
> 
> #ffmpeg_prams=-threads 2 -vcodec mpeg2video -b %(video_br)s -maxrate %(max_video_br)s -bufsize %(buff_size)s %(aspect_ratio)s -comment pyTivo.py -acodec ac3 -ab %(audio_br)s -ar 48000 -async 48000 -f vob -
> ffmpeg_prams=-threads 2 -vcodec mpeg2video -b %(video_br)s -maxrate %(max_video_br)s -bufsize %(buff_size)s %(aspect_ratio)s -comment pyTivo.py -acodec ac3 -ar 48000 -async 48000 -f vob -
> 
> [_tivo_5400001D0######]
> ## Bedroom
> aspect169=false
> width=704
> height=480
> audio_br=96k
> video_br=2Mi
> max_video_br=6Mi
> buff_size=1024k
> ffmpeg_prams=-threads 2 -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 -
> 
> [Arrested Development]
> type=video
> path=\\G-nt5\Videos\Arrested Development
> 
> [Boondocks]
> type=video
> path=\\G-nt5\Videos\Boondocks
> 
> [Deadwood]
> type=video
> path=\\G-nt5\Videos\Deadwood
> 
> [Dexter]
> type=video
> path=\\G-nt5\Videos\Dexter
> 
> [Heroes]
> type=video
> path=\\G-nt5\Videos\Heroes
> 
> [Movies - Archived]
> type=video
> path=\\G-nt5\Videos\Movies - Archived
> 
> [Movies - New]
> type=video
> path=\\G-nt5\Videos\Movies - Unwatched


----------



## DinoBambino

grahamkent said:


> I have a similar setup but only a single series 2 Tivo. This is working well for me.


Thanks! I will give it a try tomorrow night. I just got done watching Superbad when I should be asleep.


----------



## dlfl

PaulS said:


> More info on further investigation. It's clear why I'm seeing degraded video. It's because everything's being downrezzed to 480p. Duh!
> 
> Here's an example transfer I did tonight. Source file is a Matroska contained H.264 1280x720 @ 23.98 fps video, being transferred to my Series3.
> 
> My really simple pytivo.conf file :
> 
> 
> Code:
> 
> 
> [Server]
> Port=9042
> GUID=314253
> debug=true
> aspect169=true
> ffmpeg=j:\pyTivo-2007-12-04\plugins\video\ffmpeg_mp2.exe
> 
> [StuffToWatch2]
> type=video
> path=c:\Videos
> auto_subshares=true
> 
> From my debug.txt log :
> 
> 
> 
> Code:
> 
> 
> video_info: [B]Codec= h264  width= 1280  height= 720  fps= 23.98[/B]  millisecs= 3357300
> tivo_compatible:  c:\Videos\File1 - 720p.mkv  is not mpeg2video it is  h264
> output_video:  c:\Videos\File1 - 720p.mkv  is not tivo compatible
> video_info:  c:\Videos\File1 - 720p.mkv  cache hit!
> tsn: 648000123456789
> aspect169: True
> optres: False
> select_aspect: File= c:\Videos\File1 - 720p.mkv  Type= h264  width= 1280  height= 720  fps= 23.98  millisecs= 3357300  ratio= 177  rheight= 9  rwidth= 16  [B]TIVO_HEIGHT= 480 TIVO_WIDTH= 544[/B]
> select_aspect: File is within 16:9 list and 16:9 allowed.
> transcode: ffmpeg command is  j:\pyTivo-2007-12-04\plugins\video\ffmpeg_mp2.exe -i c:\Videos\File1 - 720p.mkv -vcodec mpeg2video -r 29.97 -b 4096K -maxrate 17408k -bufsize 1024k -aspect 16:9 [B]-s 544x480 [/B]-comment pyTivo.py -ac 2 -ab 192K -ar 44100 -f vob -
> 
> So, I guess I've got to enable "optres=true" in my pytivo.conf file if I want to keep 720p stuff at that resolution.


Yep, you've demonstrated that pyTivo defaults to 544x480 res unless you force it to do otherwise, either with optres or by setting width and height explicitly.

Also, when you do get it to use a larger format you will probably want to set the video_br to something higher than the default (4096k), perhaps 8Mi to 10Mi for the format you mention. Also set bufsize to something large like 17Mi.
(1 Mi = 1024k).


----------



## PaulS

dlfl said:


> Yep, you've demonstrated that pyTivo defaults to 544x480 res unless you force it to do otherwise, either with optres or by setting width and height explicitly.
> 
> Also, when you do get it to use a larger format you will probably want to set the video_br to something higher than the default (4096k), perhaps 8Mi to 10Mi for the format you mention. Also set bufsize to something large like 17Mi.
> (1 Mi = 1024k).


I'd probably want to go a different route, as far as maintaining the bitrates is concerned. In fact, I think that what I'd like to do should be integrated into the base OptRes option behavior.

Since OptRes is already selecting the output resolution based upon the input resolution of the source material, wouldn't it stand to reason that it should also select an appropriate output bitrate as well ? It doesn't really make sense to spit out everything at a single bitrate (either 4Mbps or 17Mbps) if you're mixing SD and HD content.

Make sense ?


----------



## jcthorne

This may be off topic here but can anyone explain just what is the -bufsize parameter? I have it set to 1024k as recomended by someone sometime back and my ffmpeg conversions from mkv to tivo seem to work fine, but what would changing it do?

Also as stated earlier, for my TivoHD, I removed the framerate, height and width parameters from the ffmpeg_params line completely so that ffmpeg leaves the output the same as input file resolution and framerate.


----------



## PaulS

jcthorne said:


> Also as stated earlier, for my TivoHD, I removed the framerate, height and width parameters from the ffmpeg_params line completely so that ffmpeg leaves the output the same as input file resolution and framerate.


Is this still the ffmpeg_pline you're using ? I'll exclude the "threads" parameter, since not all folks will have a multi-core or multi-CPU set up at their disposal.



Code:


ffmpeg_prams=-vcodec mpeg2video -maxrate 17Mi -qscale 1.2 -bufsize 1024k -comment pyTivo.py -acodec ac3 -ab %(audio_br)s -ar 48000 -f vob -


----------



## tivostriker

I've had pyTivo working great for months now with no problems an occasional restart couldn't solve. 

Suddenly, I went to launch pyTivo.py this morning, and it just opens the dos box with no text, completely blank and black. I'm not sure where to begin. 

I've tried getting the latest versions, turning off firewalls, but nothing. I can launch pyTivoConfigurator.py, so I know python is working, but pyTivo.py is just blank.

I'm using WinXP.

Any thoughts? Thanks


----------



## ruttmeister

tivostriker said:


> I've had pyTivo working great for months now with no problems an occasional restart couldn't solve.
> 
> Suddenly, I went to launch pyTivo.py this morning, and it just opens the dos box with no text, completely blank and black. I'm not sure where to begin.
> 
> I've tried getting the latest versions, turning off firewalls, but nothing. I can launch pyTivoConfigurator.py, so I know python is working, but pyTivo.py is just blank.
> 
> I'm using WinXP.
> 
> Any thoughts? Thanks


This may sound like a stupid question, but once the dos box opens, have to actually tried going to your TiVo and viewing the shares? Sometimes when I start pyTiVo it does the same thing, but everything still works just fine. Try it, see what happens and post back.


----------



## dlfl

tivostriker said:


> I've had pyTivo working great for months now with no problems an occasional restart couldn't solve.
> 
> Suddenly, I went to launch pyTivo.py this morning, and it just opens the dos box with no text, completely blank and black. I'm not sure where to begin.
> 
> I've tried getting the latest versions, turning off firewalls, but nothing. I can launch pyTivoConfigurator.py, so I know python is working, but pyTivo.py is just blank.
> 
> I'm using WinXP.
> 
> Any thoughts? Thanks


Welcome to the forum!

A blank dos box isn't that unusual at startup. Are you saying your shares aren't seen by the TiVo?


----------



## tivostriker

ruttmeister said:


> This may sound like a stupid question, but once the dos box opens, have to actually tried going to your TiVo and viewing the shares? Sometimes when I start pyTiVo it does the same thing, but everything still works just fine. Try it, see what happens and post back.





dlfl said:


> Welcome to the forum!
> 
> A blank dos box isn't that unusual at startup. Are you saying your shares aren't seen by the TiVo?


Thanks for the inputs. I was saying that launching pyTivo did nothing at all except display a blank/empty/black dos box, with no words or anything. Nothing was showing on Tivo either, but no suggestion or question is stupid when it comes to solving weird problems. I used to work tech support, people do forget to just plug the thing in or push the power button.

I figured it out, but just wanted to post. Turns out we had a power outage last night (I'm in Oklahoma, we're seeing "Ice Storm 2007!&#*"). Once I unplugged my Tivo and replugged back in, rebooted the computer and launched pyTivo, all was good. Perhaps the developer can add some verbage to say something about Tivo not communicating or communicating problem or something.

Thanks!


----------



## dlfl

jcthorne said:


> This may be off topic here but can anyone explain just what is the -bufsize parameter? I have it set to 1024k as recomended by someone sometime back and my ffmpeg conversions from mkv to tivo seem to work fine, but what would changing it do?
> 
> Also as stated earlier, for my TivoHD, I removed the framerate, height and width parameters from the ffmpeg_params line completely so that ffmpeg leaves the output the same as input file resolution and framerate.


Mea culpa -- mea stupido!

I've been advising setting bufsize to huge (e.g., 17Mi) and I think that is wrong -- I was confusing it with maxrate, which now defaults to that large value -- OP found this necessary to prevent quality problems on high bitrate HD transcoding, and it apparently does no harm for lower bitrate cases

The default bufsize is 1024k and after searching the thread I find no indication it needs to be higher.

My apologies ... you know what free advice is worth!


----------



## wmcbrine

tivostriker said:


> Thanks for the inputs. I was saying that launching pyTivo did nothing at all except display a blank/empty/black dos box, with no words or anything.


Yeah, and they're saying that it doesn't display a startup banner (unless you count the Cheetah error message, which I don't get on my system since I installed Cheetah from the repositories), so that's not abnormal. You only see requests as they come in from Tivos. Now, normally, there's a request from each Tivo on your LAN shortly after pyTivo starts up. But not always.



> _Perhaps the developer can add some verbage to say something about Tivo not communicating or communicating problem or something._


pyTivo has (initially) no way of knowing whether there are any Tivos on your network, or whether they should be responding. See, what happens is, on startup, pyTivo sends out a broadcast message that says "I'm here!". Typically, then, each Tivo that receives this message sends back a (non-broadcast) request that says "So tell me what you've got!". And everything after that is just the Tivo making requests, and pyTivo responding. Tivos can come and go off the LAN, and pyTivo won't know the difference, because these are your standard stateless HTTP connections.

The "I'm here" beacon is resent at intervals for the benefit of any Tivos that do come online. Meanwhile, if a Tivo gets a beacon from a server that's already sent it one recently, it doesn't bother to make a new "so tell me what you've got" request. So in that case -- for instance, if you stop pyTivo and start it up again fairly quickly -- you can get a situation where nothing will show up in the pyTivo window.


----------



## dlfl

PaulS said:


> I'd probably want to go a different route, as far as maintaining the bitrates is concerned. In fact, I think that what I'd like to do should be integrated into the base OptRes option behavior.
> 
> Since OptRes is already selecting the output resolution based upon the input resolution of the source material, wouldn't it stand to reason that it should also select an appropriate output bitrate as well ? It doesn't really make sense to spit out everything at a single bitrate (either 4Mbps or 17Mbps) if you're mixing SD and HD content.
> 
> Make sense ?


Yes. One possible sensible algorithm might be to start with the default video_br and scale it by the ratio of total pixels, e.g., if you are encoding to 1440x720, multiply 4096kbps by (1440x720)/(544x480), which would yield 
15.88 Mi. This seems a little high so maybe the base value should be 3Mi instead of 4Mi, or maybe it could be based on the video_br you put in the config file. In other words you configure what would normally be acceptable to you for non-HDTV and then it is scaled up from that based on the ratio of total pixels.


----------



## PaulS

dlfl said:


> Yes. One possible sensible algorithm might be to start with the default video_br and scale it by the ratio of total pixels, e.g., if you are encoding to 1440x720, multiply 4096kbps by (1440x720)/(544x480), which would yield
> 15.88 Mi. This seems a little high so maybe the base value should be 3Mi instead of 4Mi, or maybe it could be based on the video_br you put in the config file. In other words you configure what would normally be acceptable to you for non-HDTV and then it is scaled up from that based on the ratio of total pixels.


If it can be shown that the Series3/TiVoHD can accomodate any MPEG-2 file, regardless of height, width, and framerate, this may all be a moot point for the HDTV capable TiVo units.

jcthorne's parm list for ffmpeg simply has it perform the necessary transcode (any_codec -> MPEG-2) operation, while retaining the same width, height and frame rate. The TiVo will then perform the scaling in hardware to get the output to the desired height, width and framerate on playout.

So, if this holds true, then there is no need for OptRes (with or without a modified bitrate algorithm) for the HDTV capable TiVo units. The source file will simply be transcoded to MPEG-2, and scaled by the TiVo.

Of course, this likely doesn't hold true for the SD TiVo units, who will need to have their content force fed to them in [email protected] MPEG-2.


----------



## reneg

wmcbrine said:


> ...
> pyTivo has (initially) no way of knowing whether there are any Tivos on your network, or whether they should be responding. See, what happens is, on startup, pyTivo sends out a broadcast message that says "I'm here!". Typically, then, each Tivo that receives this message sends back a (non-broadcast) request that says "So tell me what you've got!". And everything after that is just the Tivo making requests, and pyTivo responding. Tivos can come and go off the LAN, and pyTivo won't know the difference, because these are your standard stateless HTTP connections.
> 
> The "I'm here" beacon is resent at intervals for the benefit of any Tivos that do come online. Meanwhile, if a Tivo gets a beacon from a server that's already sent it one recently, it doesn't bother to make a new "so tell me what you've got" request. So in that case -- for instance, if you stop pyTivo and start it up again fairly quickly -- you can get a situation where nothing will show up in the pyTivo window.


Something simple to force recognition of the "I'm here" beacon is to change the GUID in the pytivo.conf file.


----------



## wmcbrine

reneg said:


> Something simple to force recognition of the "I'm here" beacon is to change the GUID in the pytivo.conf file.


Oh yeah, BTW -- I was wondering about the GUID thing. Is there any reason not to just set it to a random number? That way, you could have multiple servers on your LAN without having to manually set the GUIDs. I did this experimentally:



Code:


def getGUID():
    if config.has_option('Server', 'GUID'):
        guid = config.get('Server', 'GUID')
    else:
        rand = random.Random()
        guid = str(rand.randint(100000, 999999))
    return guid

and it seemed to work fine. But I don't know what rules, if any, are supposed to apply to the GUID. (I guess I need to read up on Bonjour/Rendevous?) Anyway, I did notice some flickering in my Now Playing list when I had a pyTivo share highlighted while I restarted it with a different GUID, but that was the only problem (easily corrected by moving the highlight).


----------



## reneg

wmcbrine said:


> Oh yeah, BTW -- I was wondering about the GUID thing. Is there any reason not to just set it to a random number? That way, you could have multiple servers on your LAN without having to manually set the GUIDs. I did this experimentally:
> ...


I also noticed no ill effects, but have not thoroughly researched it myself. For your own little subnet, you are most likely OK as long as your random numbers don't come out the same.


----------



## Hercules67

Folks, excuse my ineptitude and newbie question. I have read the FAQ and the WIKI, and have performed a search in the thread, but I could be doing something that you all have not done, or something that is so obvious it's just escaping me.

Ok, so, I have installed pyTivo, Python 2.5, ffmpeg (actually already had that, but anyway, it's included with pyTivo). My pyTivo.conf looks like this:
-----------------------------------------
[Server]
port=9032
beacon=192.168.1.103
ffmpeg=C:\Documents and Settings\Mike\My Documents\pyTivo

[My Videos]
type=video
path=F:\My Videos
-----------------------------------------

Ok, the path is an external USB WD Hard Drive where I keep a lot of Videos I download.

So, [My Videos] shows up in NPL, but of course nothing shows up in it. I suspected, at first that it was the USB Hard Drive, so I changed the path and put stuff locally on the C: drive. But that made no difference.

Ok, so, now I am suspecting, the network as the problem. I am getting an "Error 5". Whatever that means. Do you all need to see my Debug file?

Here's what I am doing different with my network, that I have not seen discussed ANYWHERE. My TiVo (yes, I only have one Series 2 TiVo) is being run by Wireless connection. I have three other computers on my router (they are hardwired in by ethernet cable.) I also have a laptop that gets a wireless connection handed to it by the router. (Other than that, the network is "secured down" pretty heavily). Because, after I installed TiVo Desktop way back last year, I had trouble downloading shows to the main Video Processing PC, I ended-up setting the TiVo IP address in stone as 192.168.1.103. That's the only one that's set in stone. Everything else is assigned by the router.

I am also running WEP security. Does that matter? Is that what is causing my problem? On the software firewall, I have of course allowed Python to get through and all of that. I am running a Linksys Wireless router. Do I need to open port 9032 in it or something? How do I do that?

Any help would be appreciated, up to and including, PM-ing me or pointing me to the right posts.

Thanks in advance!


----------



## TreborPugly

Hercules67 said:


> My pyTivo.conf looks like this:
> -----------------------------------------
> [Server]
> port=9032
> beacon=192.168.1.103
> ffmpeg=C:\Documents and Settings\Mike\My Documents\pyTivo
> 
> [My Videos]
> type=video
> path=F:\My Videos
> -----------------------------------------


Is your ffmpeg path really only that text? It should probably be something like: 
ffmpeg=C:\Documents and Settings\Mike\My Documents\pyTivo\plugins\video\ffmpeg_mp2.exe


----------



## reneg

Hercules67 said:


> ...
> -----------------------------------------
> [Server]
> port=9032
> beacon=192.168.1.103
> ffmpeg=C:\Documents and Settings\Mike\My Documents\pyTivo
> 
> [My Videos]
> type=video
> path=F:\My Videos
> -----------------------------------------


Try changing ffmpeg=C:\Documents and Settings\Mike\My Documents\pyTivo
to ffmpeg=C:\Documents and Settings\Mike\My Documents\pyTivo\plugins\video\ffmpeg_mp2.exe

I don't think setting the beacon to the IP address of your Tivo is necessary, I'd also try it without that line.

You need to open port 9032. There are different ways to open the port depending on what flavor of Windows you have. If you read the other mega-thread in this forum on Tivo.NET, there is a command line method to open the port, here is a link to the command line method.


----------



## Hercules67

I appreciate the quick response!

I don't know why I didn't see the ffmpeg file problem! I was troubleshooting until 4:30 in the morning. I only got 2 hours of sleep.

I fixed the location.

So don't need the beacon IP address? Ok! I deleted it. Alright. I will see how I can open port 9032 through ZONEALARM (I should have mentioned I am using it) as my software firewall. I am also using Win XP Service Pack 2. Can you all not tell I am a nut about Security?

Yesterday, I read about 35 of the 46 pages (10 more to go). Hopefully, after I get this working, I won't bother you folks with questions about aspect ratios and such. I have an LCD TV which is 4:3. Maybe in the future I can help too.... I hope.


----------



## wmcbrine

reneg said:


> I also noticed no ill effects, but have not thoroughly researched it myself. For your own little subnet, you are most likely OK as long as your random numbers don't come out the same.


OK, it's not a Bonjour thing, solely a Tivo thing... here's what it says in TiVoConnectDiscovery.pdf:



TiVo said:


> 3.1.5 identity
> 
> This value should be unique to the originating TCM (perhaps even globally unique, but certainly unique across the local network). This information is intended to allow TCMs to unambiguously identify each other even when their names or IP addresses have changed.
> 
> TiVo DVR beacons should set <string> to the DVR's serial number. Windows computer packets should set <string> to a GUID (generated once and stored in the registry), formatted using the StringFromGUID2() function of the Windows API.
> 
> This value is not optional.


So, Tivo Inc. is recommending a constant ID per installation, but there doesn't seem to be a strong reason. Do we _want_ (or need) our Tivos to unambiguously identify pyTivo servers across restarts? I'm thinking, not particularly.

(BTW, they do anyway -- I was hoping that changing the GUID might make the Tivo forget the old directory it was caching (i.e. the subfolder problem), but no such luck.)


----------



## jcthorne

PaulS said:


> Is this still the ffmpeg_pline you're using ? I'll exclude the "threads" parameter, since not all folks will have a multi-core or multi-CPU set up at their disposal.
> 
> 
> 
> Code:
> 
> 
> ffmpeg_prams=-vcodec mpeg2video -maxrate 17Mi -qscale 1.2 -bufsize 1024k -comment pyTivo.py -acodec ac3 -ab %(audio_br)s -ar 48000 -f vob -


Yes that is the line I am using except for the threads parameter as noted.


----------



## dlfl

PaulS said:


> If it can be shown that the Series3/TiVoHD can accomodate any MPEG-2 file, regardless of height, width, and framerate, this may all be a moot point for the HDTV capable TiVo units.
> 
> jcthorne's parm list for ffmpeg simply has it perform the necessary transcode (any_codec -> MPEG-2) operation, while retaining the same width, height and frame rate. The TiVo will then perform the scaling in hardware to get the output to the desired height, width and framerate on playout.
> 
> So, if this holds true, then there is no need for OptRes (with or without a modified bitrate algorithm) for the HDTV capable TiVo units. The source file will simply be transcoded to MPEG-2, and scaled by the TiVo.
> 
> Of course, this likely doesn't hold true for the SD TiVo units, who will need to have their content force fed to them in [email protected] MPEG-2.


I agree. *jcthorne*'s ffmpeg options (if I have them correct) do not specify a bitrate but rather a quality goal. This leads to VBR encoding, which apparently the HD Tivo's can handle. Thus choosing a video bitrate based on frame size or rate is not an issue. -- neat solution assuming the HD TiVo's can handle it. As you suggested, there is no issue at all for Series 2 TiVo's -- just choose a width, height and bitrate and stick with it.


----------



## grahamkent

PaulS said:


> So, if this holds true, then there is no need for OptRes (with or without a modified bitrate algorithm) for the HDTV capable TiVo units. The source file will simply be transcoded to MPEG-2, and scaled by the TiVo.
> 
> Of course, this likely doesn't hold true for the SD TiVo units, who will need to have their content force fed to them in [email protected] MPEG-2.


Why stop with the video bitrate? Just a suggestion but why not also pass the original video's audio bitrate, without modification, unless it's too high for the Tivo to support?

I'm sure there are a number of optimizations along these lines we can come up with. I'd like to do everything possible to speed up transfers especially when I'm transferring HD content.


----------



## dlfl

Think I got it. What's ironic is it requires adding a line right after (or before) the line that was added to fix videos (done in build d4219....). (What's really ironic is it took me hours to figure this out!)

Anyway add the following line after line 133 in plugin.py:



Code:


                if os.path.isdir(os.path.join(file)): 
                     file_url = '/TiVoConnect?Command=QueryContainer&Container=' + cname + file_name 
                 else:                                 
                    file_url = '/' + cname + file_name 
                 file_url = file_url.replace('\\', '/') 
                 [COLOR="Red"]anchor = anchor.replace('\\', '/')[/COLOR]

The added line is highlighted in red.

Haven't tested it thoroughly but initial tests indicate music works and video is not disturbed by the change.


----------



## wmcbrine

If I might suggest instead:


Code:


                if os.path.isdir(os.path.join(file)): 
                     file_url = '/TiVoConnect?Command=QueryContainer&Container=' + cname + file_name 
                 else:                                 
                    file_url = '/' + cname + file_name 
                 [COLOR="Red"]if os.path.sep != '/':
                     file_url = file_url.replace(os.path.sep, '/') 
                     anchor = anchor.replace(os.path.sep, '/')[/COLOR]

Less Windows-specific, and removes (most of) the penalty for doing unnecessary replaces on Linux, Mac OS X, etc.

Although my own solution for the path problem was much different (see my Photo plugin)...


----------



## jcthorne

dlfl said:


> Yes. One possible sensible algorithm might be to start with the default video_br and scale it by the ratio of total pixels, e.g., if you are encoding to 1440x720, multiply 4096kbps by (1440x720)/(544x480), which would yield
> 15.88 Mi. This seems a little high so maybe the base value should be 3Mi instead of 4Mi, or maybe it could be based on the video_br you put in the config file. In other words you configure what would normally be acceptable to you for non-HDTV and then it is scaled up from that based on the ratio of total pixels.


Edit: Nevermind, I see you guys already figured this out while I was asleep.


----------



## jcthorne

grahamkent said:


> Why stop with the video bitrate? Just a suggestion but why not also pass the original video's audio bitrate, without modification, unless it's too high for the Tivo to support?
> 
> I'm sure there are a number of optimizations along these lines we can come up with. I'd like to do everything possible to speed up transfers especially when I'm transferring HD content.


Very good question. I have not tried higher bitrate ac3 files. Did find out that AAC and DTS audio do NOT work, and the AC3 audio must be at 48000Hz sample rate. But as for the bitrate?

Does ffmpeg have a parameter to allow setting a maximim bitrate rather than a specific one? Can TivoHD handle VBR ac3 audio? Will Tivo rule the world?

All questions that need answers. Anyone try these combos?


----------



## dlfl

wmcbrine said:


> If I might suggest instead:
> 
> 
> Code:
> 
> 
> if os.path.isdir(os.path.join(file)):
> file_url = '/TiVoConnect?Command=QueryContainer&Container=' + cname + file_name
> else:
> file_url = '/' + cname + file_name
> [COLOR="Red"]if os.path.sep != '/':
> file_url = file_url.replace(os.path.sep, '/')
> anchor = anchor.replace(os.path.sep, '/')[/COLOR]
> 
> Less Windows-specific, and removes (most of) the penalty for doing unnecessary replaces on Linux, Mac OS X, etc.
> 
> Although my own solution for the path problem was much different (see my Photo plugin)...


Yes, this is more elegant .... practical difference is nil I suspect. A few microseconds faster on Linux (actually a few microseconds slower on Windows, since the "if" statement isn't needed there). Also would handle an OS that used a path delimiter other than '/' or '\\' -- does such a thing exist?


----------



## wmcbrine

dlfl said:


> Also would handle an OS that used a path delimiter other than '/' or '\\' -- does such a thing exist?


It does, or did -- MacPython-OS9 used a colon ':' as the delimiter, as I understand it, following old Mac conventions. But it seems to have stopped at Python 2.3.3, and I doubt if it would run pyTivo anyway. So, in practice, the use of os.path.sep is more of a self-documentation thing.


----------



## ruttmeister

I've posted a new version of Metadata Generator on the site linked in my signature line, for those who are interested. As with all these projects, *all input is welcome and encouraged*, for that is the only way we can create something that really works.

Anywhoo, on with your regularly scheduled program...


----------



## tlc

I'm new to pyTivo so this may be obvious...

I have an Tivo HD, the latest pyTivo-2007-12-09-master-*, and used


> ffmpeg_prams=-vcodec mpeg2video -maxrate 17Mi -qscale 1.2 -bufsize 1024k -comment pyTivo.py -acodec ac3 -ab %(audio_br)s -ar 48000 -f vob -


 as described in this thread.

Anyway, I ran into the following error:
Input #0, avi, from '/home/media/Videos/Features/test.avi':
Duration: 01:58:39.4, start: 0.000000, bitrate: 824 kb/s
Stream #0.0: Video: mpeg4, yuv420p, 608x336, 23.98 fps(r)
Stream #0.1: Audio: mp3, 44100 Hz, stereo, 112 kb/s
Output #0, vob, to 'pipe:':
Stream #0.0: Video: mpeg2video, yuv420p, 608x336, q=2-31, 200 kb/s, 23.98 fps(c)
Stream #0.1: Audio: ac3, 48000 Hz, stereo, 192 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
[mpeg2video @ 0xb7e2b508]bitrate above max bitrate
Error while opening codec for output stream #0.0 - maybe incorrect parameters such as bit_rate, rate, width or height​
Is there a max bitrate for mpeg2 ??

Ideas?
tlc


----------



## tlc

tlc said:


> Anyway, I ran into the following error:
> ...
> Ideas?


Never mind. Solved. I googled up a similar issue in the trouble tickets and changed '17Mi' to '17408' in my ffmpeg_prams.

The best part is that my 900MHz P3 Ubuntu server is keeping up! Faster than real time!

Thanks for pyTivo!


----------



## steve101

Is there a way to specify the interface? When I am using
extranet (a vpn) and start pyTivo it grabs the wrong
interface and only responds from the local computer (using
127.0.0.1) none of my tivo's can see it. As long as the
vpn is not up, pyTivo works fine.


----------



## ruttmeister

I've figured out how to format the tvRating field in the metadata file, and have updated my generator as well as my notes to reflect that. I also decided to put back in a lot of the more "advanced" fields in the generator. Check it out, let me know what you think, as well as any questions or concerns (bugs...).

Unfortunately, the tvRating field only returns standard TV ratings (TV-PG, TV-14) and not movie ratings (PG-13, R, etc) or custom ratings, but TV ratings are very similar to movie ratings in their structure (TV-14 = PG-13, TV-MA = R, etc).

I currently don't see it as possible to display any other rating than the standard TV ratings, as it's more programmed into TiVo than pyTiVo. Unless the movie rating system is also stored in TiVo and we just don't know about it.

Anyways, there you go.


----------



## scrappydog65

steve101 said:


> Is there a way to specify the interface? When I am using
> extranet (a vpn) and start pyTivo it grabs the wrong
> interface and only responds from the local computer (using
> 127.0.0.1) none of my tivo's can see it. As long as the
> vpn is not up, pyTivo works fine.


Steve.

You just have to change the Beacon subnet mask. In my case, I use the following to make sure that it looks at the correct network adapter.

[Server]
beacon = 192.168.2.255​
Mike


----------



## Hercules67

scrappydog65 said:


> Steve.
> 
> You just have to change the Beacon subnet mask. In my case, I use the following to make sure that it looks at the correct network adapter.
> 
> [Server]
> beacon = 192.168.2.255​
> Mike


Can you explain this a bit more?

I think this is what I am running into myself. I 've turned off the software firewall (Zonealarm) and shut off Wireless Security on my Linksys. Still, I can't get pyTivo to work. Something in my network set-up is preventing it, I think.


----------



## dlfl

ruttmeister said:


> I've figured out how to format the tvRating field in the metadata file, and have updated my generator as well as my notes to reflect that. I also decided to put back in a lot of the more "advanced" fields in the generator. Check it out, let me know what you think, as well as any questions or concerns (bugs...).
> 
> Unfortunately, the tvRating field only returns standard TV ratings (TV-PG, TV-14) and not movie ratings (PG-13, R, etc) or custom ratings, but TV ratings are very similar to movie ratings in their structure (TV-14 = PG-13, TV-MA = R, etc).
> 
> I currently don't see it as possible to display any other rating than the standard TV ratings, as it's more programmed into TiVo than pyTiVo. Unless the movie rating system is also stored in TiVo and we just don't know about it.
> 
> Anyways, there you go.


Thanks! Looking at your "notes", I have some insight on the "Showing Bits" number. It is a bit-flag encoded field, which means if you express the number in binary format, a 1 or 0 in a particular column means the feature is on or off. The conversion between normal (decimal) and binary is easily done in the Windows calculator, or in any programming language -- and I assume in Excel. Your data shows the following flag assignments:

Bit# Feature
0 CC
1 Stereo
2 Sub
3 In prog
4 Class
5 SAP

Where bit #0 is the right-most binary column, #1 is the second from right, etc. The decimal equivalent of a bit# is just 2 raised to the bit# power, i.e.,
bit #0 = 1
#1 = 2
#2 = 4,
etc.
Thus to find out what the decimal numbers above 53 do you only need to try values of 64, 128, 256, etc. until nothing happens or it crashes.


----------



## dlfl

(This is a program that generates pyTivo metadata files based on data it reads from .tivo files.)

Added the "showingBits" item. Download ***here***.

Remember to uninstall any previous version.


----------



## ruttmeister

dlfl said:


> Thanks! Looking at your "notes", I have some insight on the "Showing Bits" number. It is a bit-flag encoded field, which means if you express the number in binary format, a 1 or 0 in a particular column means the feature is on or off. The conversion between normal (decimal) and binary is easily done in the Windows calculator, or in any programming language -- and I assume in Excel. Your data shows the following flag assignments:
> 
> Bit# Feature
> 0 CC
> 1 Stereo
> 2 Sub
> 3 In prog
> 4 Class
> 5 SAP
> 
> Where bit #0 is the right-most binary column, #1 is the second from right, etc. The decimal equivalent of a bit# is just 2 raised to the bit# power, i.e.,
> bit #0 = 1
> #1 = 2
> #2 = 4,
> etc.
> Thus to find out what the decimal numbers above 53 do you only need to try values of 64, 128, 256, etc. until nothing happens or it crashes.


Thanks a lot for the help. I could see an exponential pattern there, but I just didn't look closely enough. I got an email off the web form on my page that really explained what was happening pretty well also, and between the two of you, I've got it all figured out. I'm working on gettting this in my generator, but it might be a couple days before it's working the way I want.

Anyways, thanks again!


----------



## scrappydog65

Hercules67 said:


> Can you explain this a bit more?
> 
> I think this is what I am running into myself. I 've turned off the software firewall (Zonealarm) and shut off Wireless Security on my Linksys. Still, I can't get pyTivo to work. Something in my network set-up is preventing it, I think.


Hercules67,

I read on the pyTivo site that the beacon setting is useful when there VPN software installed or I suppose if the machine has multiple NIC's. Basically, I think it tells pyTivo where to look for the TiVo's. My Cisco VPN software always seems to give me trouble, but the Beacon setting fixed that.

For example, if your TiVo IP address is 192.168.2.15, then you would set your Beacon setting to 192.168.2.255. The 255 part is like a wildcard, so the software interprets it as 192.168.2.*. You can find out the IP address of your TiVo by looking under System Information (or maybe it's Phone & Network Settings) on the TiVo.

As for ZoneAlarm and the LinkSys router, this may or may not resolve that problem. It would depend upon where the block is. If the Beacon value is set appropriate, then you could theoretically rule out pyTivo as the cause. Then, it's a matter of ruling out the other two. Try shutting down ZoneAlarm entirely and then restart pyTivo. If it works, then you know the cause (though maybe not the resolution).

I hope this makes sense. Good luck.

Mike


----------



## jcthorne

Need some help with MKV files. Some work fine when converted for Tivo and some have BAD audio sync problems. I can reproduce the problem on the PC using ffmpeg and converting to an mpg file....it plays with the out of sync audio just like on the TIVO. The original file plays fine. The problem seems to be much worse with files containing DTS audio and being converted to ac3.

Anyone else seeing this anomoly with ffmpeg and pytivo?


----------



## briankasper

jcthorne said:


> Need some help with MKV files. Some work fine when converted for Tivo and some have BAD audio sync problems. I can reproduce the problem on the PC using ffmpeg and converting to an mpg file....it plays with the out of sync audio just like on the TIVO. The original file plays fine. The problem seems to be much worse with files containing DTS audio and being converted to ac3.
> 
> Anyone else seeing this anomoly with ffmpeg and pytivo?


I'm not seeing that problem, but I have been able to use tools other than ffmpeg to extract DTS audio streams from MPEG-2 sources, transcode them into AC3 and remultiplex them with the original video stream to create a new MPEG-2 that my S3 can play with no synch problems.

I've only done this with MPEG-2 sources, but the tools I'm using might work with MKV as well -- or you may be able to find an MKV demultiplexer that can extract the tracks in the correct formats and an MKV multiplexer that can recombine them.

I use BBDMux to extract the video and audio streams, Foobar2000 to convert the DTS stream to a 6-channel WAV file, the Aften AC3 encoder to convert the WAV file to AC3, and MuxMan to combine the original video with the new AC3 stream. The end result of this process is a video with 5.1-channel Dolby Digital sound that plays without any synch problems on my S3 using TTCB+TiVo Desktop.

-B


----------



## bcwaller

I have not had a chance to convert files for my TiVo, but I have had no failures converting MKV files to AVI files with ffmpeg. I do have to manually set the frame rate (for some reason it is automatically setting to 0.8 fps or something like that), but I convert files for viewing from my Mac this way.


----------



## MasterCephus

Well, I created a .NET application that aides in creating meta data information for video files.

You can download it here

Basically I am getting the information from two places: 
For movies, I am using Movie-XML. An example of the data that is retrieved from this site is located here.

For TV Shows, I am using theTVDB.com. An example of the data retrieved from this site is located here. and here.

To get the seriesID, I am using the list that PaulS created. It's about 90% complete, so if you find a series that isn't there, email me the series name and the ID and I will add it to the list and update everything.

This is my first venture into writing an application and giving it out to people.

I want to thank ruttmeister for his testing and giving advice on the metadata. He really helped me get everything together.

Also I would like to thank Regeg for his testing and help as well.

Let me know of some issues that you have with this...you MUST have an internet connection and you MUST also have .NET 3.5 as well on your machine.

Enjoy


----------



## tedmundson

Awsome Thanks you


----------



## wrg

Wil pyTivo get iTunes purchased video into the Tivo?


----------



## MasterCephus

> Wil pyTivo get iTunes purchased video into the Tivo?


Nope...thanks DRM!


----------



## dlfl

MasterCephus said:


> Well, I created a .NET application that aides in creating meta data information for video files.
> ..........Let me know of some issues that you have with this...you MUST have an internet connection and you MUST also have .NET 3.5 as well on your machine......


Very nice! My first two such applications (C# .NET) are linked at the bottom of this post.

It worked fine for me.

You might consider www.mediafire.com for hosting your programs. It strikes me as a little less tedious than the one you're using, e.g., it doesn't make you type in security letters.

I wonder if the option of just outputting the metadata text file without having to choose a video would be desirable?

Was this done in VB or C#? Is there actually a .NET framework 3.5 out? Your program seemed to run fine on a computer with just 2.0 installed (?).


----------



## MasterCephus

> Very nice! My first two such applications (C# .NET) are linked at the bottom of this post.
> 
> It worked fine for me.
> 
> You might consider www.mediafire.com for hosting your programs. It strikes me as a little less tedious than the one you're using, e.g., it doesn't make you type in security letters.
> 
> I wonder if the option of just outputting the metadata text file without having to choose a video would be desirable?
> 
> Was this done in VB or C#? Is there actually a .NET framework 3.5 out? Your program seemed to run fine on a computer with just 2.0 installed (?).


I wrote it in Visual Studio 2008 and had 3.5 checked, so I assumed... maybe not 

I did it in C#

I didn't know where to host it...just needed a place to host it...I might change it...does mediafire keep a count on the times a file is downloaded?



> I wonder if the option of just outputting the metadata text file without having to choose a video would be desirable?


I thought about that, but you can just select all files in the list and save it to any file and change the name later. If everyone would like the option to just save the text file as anything, I will make that change.

One thing I have noticed is that it takes a little bit of time to get responses back from movie-xml. Their server must be slow.


----------



## dlfl

@MasterCephus
Mediafire.com does keep a count of downloads.

I am interested in how you get the data from Movie-XML. Do you just do the right uri in a POST or GET and the XML comes as the response? (I have done this with the webRequest class to get the TiVo NPL xml.) I poked around their site and links but got pretty confused. If you're willing to share some knowledge you might save me a lot of time! You could PM me to spare the thread readers the gory details. Code snippets would really be great, if you're willing. This is just for learning. I was toying with writing an app similar to yours but there's no need now!


----------



## wmcbrine

dlfl said:


> You might consider www.mediafire.com for hosting your programs. It strikes me as a little less tedious than the one you're using, e.g., it doesn't make you type in security letters.


If your software is open source, consider SourceForge.net.


----------



## wombat94

MasterCephus,

Thanks for posting this. I can't wait to try it out tonight when I get home from work.

Are you thinking of open sourcing the .Net code for this?

I have started looking into writing a Windows Home Server add-in that would provide a GUI to the configuration of pyTivo and have thought of adding a Metadata generator directly to that GUI.

I haven't looked into the web crawling aspect of the project yet (and may not need to since there are other solutions like yours coming along), but I'd still like to be able to provide a WHS tab that can do the job.

Thanks for your contributions to the community.

Ted


----------



## Sicklybutsexy

Which version of pytivo do I have to have to use this metadatagenerator?


----------



## dlfl

Sicklybutsexy said:


> Which version of pytivo do I have to have to use this metadatagenerator?


I think the latest build (d4219....) would be the best. It needs a few code edits to correct minor problems as noted in Tickets 57,58 and 62 in the Wiki but probably would be usable without them.


----------



## joe2748

Sorry to hijack this thread, but I didn't see any other place that fit to put this. It looks like the thread jumps around a lot anyway. 

So I got pytivo working, but I tried to transcode a corrupt file which naturally didn't work. Now when I go to transfer a show I get the message "This program has been added to the to do list and will be transferrred to ** aver previously requested programs have finished transferring". I cleared the to do list, reset, and waited a day, but I still have the same trouble. 

Any idea how to fix this? Is pytivo confused, or is it the tivo itself?
Thanks for any help, and if there is a better place to post this please let me know.


----------



## dlfl

joe2748 said:


> Sorry to hijack this thread, but I didn't see any other place that fit to put this. It looks like the thread jumps around a lot anyway.
> 
> So I got pytivo working, but I tried to transcode a corrupt file which naturally didn't work. Now when I go to transfer a show I get the message "This program has been added to the to do list and will be transferrred to ** aver previously requested programs have finished transferring". I cleared the to do list, reset, and waited a day, but I still have the same trouble.
> 
> Any idea how to fix this? Is pytivo confused, or is it the tivo itself?
> Thanks for any help, and if there is a better place to post this please let me know.


Very unlikely pyTivo is confused after you restart it. You could check Processes in Task Manager looking for python, pytivo and ffmpeg rogue processes (when pyTivo isn't supposed to be running).

Have you rebooted your TiVo? (I guess that's what you mean by reset?)

If you're running pyTivo as a service, try shutting it down and running the command line version.

What version of pyTivo. What equipment?


----------



## joe2748

I've totally rebooted the computer, so any rogue processes are now long gone, although I am running pytivo as a daemon. 
I have rebooted the tivo,  I'm running pytivo 2.08, a series 2 tivo, and ubuntu gutsy. 
I don't know what other equipment information there is, but if you tell me where to look i can find it.


----------



## dlfl

joe2748 said:


> I've totally rebooted the computer, so any rogue processes are now long gone, although I am running pytivo as a daemon.
> I have rebooted the tivo, I'm running pytivo 2.08, a series 2 tivo, and ubuntu gutsy.
> I don't know what other equipment information there is, but if you tell me where to look i can find it.


What is your network setup? Do most files transfer OK? Is your transfer speed greater than real time?
Does the problem file have a glitch at the same place when played in a software player?

I would try rebooting the TiVo again -- only takes a few minutes.

Run pyTivo as a program and turn the debug config item on while you transfer the problem file.

In the past I've had this same kind of problem as have others. The pyTivo version and the TiVo software version can both impact it, unfortunately not in any predictable way AFAIK. Version 208 is getting a little old now -- you might want to try the latest version. Although most of the bug fixes since 208 have affected Windows versions only.


----------



## joe2748

Network setup is a router with a couple node machines and the tivo. 
Files used to transfer faster than real time, and didn't have any problems until this. 

Now nothing can transfer, because they all get put on the to do list.
I will reboot the tivo and run pytivo as a program in 20 min, I'm watching a show right now.


----------



## reneg

dlfl said:


> @MasterCephus
> Mediafire.com does keep a count of downloads.
> 
> I am interested in how you get the data from Movie-XML. Do you just do the right uri in a POST or GET and the XML comes as the response? (I have done this with the webRequest class to get the TiVo NPL xml.) I poked around their site and links but got pretty confused. If you're willing to share some knowledge you might save me a lot of time! You could PM me to spare the thread readers the gory details. Code snippets would really be great, if you're willing. This is just for learning. I was toying with writing an app similar to yours but there's no need now!


Examples of Movie-XML interface - http://www.movie-xml.com/?tab=interface which is like the TVDB interface - http://www.thetvdb.com/?tab=xml.

Also, don't forget the requirements from TVDB.com:


> We have two requirements for anyone that uses these interfaces:
> 
> First, you MUST inform your users about this site and ask them to contribute.
> Second, once you publicly release your program, plugin, or script, you MUST inform us about it. This way we can link back to you and keep tabs on everyone accessing the interfaces.


----------



## PeteTV

Is it possible to create a custom Group?

I tried setting the seriesId to SH000000 for a couple files in the hope that maybe if it didn't exist it would use the seriesTitle, but it didn't work. It didn't group the files at all. I also tried SH999999, same results.

Next I tried SH000001 and sure enough that put the files in a group, but the group name was "Paid Programming".


----------



## MasterCephus

> Is it possible to create a custom Group?
> 
> I tried setting the seriesId to SH000000 for a couple files in the hope that maybe if it didn't exist it would use the seriesTitle, but it didn't work. It didn't group the files at all. I also tried SH999999, same results.
> 
> Next I tried SH000001 and sure enough that put the files in a group, but the group name was "Paid Programming".


No I think they have to be actual IDs for them to be recognized. As you have seen, it seems to know what series the ID is tagged by it, so you can group them that way, but they will probably have a different name than your show.


----------



## dlfl

reneg said:


> Examples of Movie-XML interface - http://www.movie-xml.com/?tab=interface which is like the TVDB interface - http://www.thetvdb.com/?tab=xml.


Thanks *reneg*.

*MasterCephus* responded by PM. Interestingly, he is using the Movie-XML interface in a way that isn't documented in the link you provided, i.e., the *seriesname* query. This seems to give all the info you want in one shot, while starting with the *moviename* query would require another (*id*) query to get the details.

Also the instructions on the tvdb link have a serious typo that prevents anything you try from working: In their URL examples they use interface instead of the (correct) interface*s*.


----------



## naclone

question for you metadata folks.

do you think there would be any way to force a seriesID on a program that is already in NPL? Or is the only way to transfer it with a corresponding text file via pytivo? 

i hate the idea of having to transfer all my programs with TTG and then send them all back with pytivo and hope that no quality gets lost in translation. not to mention the time it would take.


----------



## MacerX

I have 1 S3 HD Tivo and 2 S2 Tivos and pyTivo d4219 running on a Windows XP machine.

pyTivo appears to push the HD .Tivo file to the S2 without attempting to transcode as if it is assuming that any .Tivo file is compatible. Is this truely how pyTivo works?

Hypothetically, if the above is true, and the .Tivo file were converted to a .mpg file, then pyTivo/ffmpeg should recognize the file and Transcode it properly for the S2, right?

Does pyTivo/ffmpeg automatically recognize high frame rates as part of the transcode process for the S2? For example, if the source file were a 1280x720 60fps 65000kb/s mpeg2 video file with ac3 5.1 384 kb/s audio, will it trancode properly to 544x360 with padding and at a bit-rate and frame rate that is compatible with the S2?

Any other ideas or suggestions? Maybe example ffmpeg command lines that work for you? Also does anyone have a combination S3 and S2 setup with a monster pyTivo.conf file you could share for reference?

Og and thanks for everyone's hardwork and support with pyTivo and related tools and support! You're awesome!!!

Thank you,
DB


----------



## wmcbrine

MacerX said:


> pyTivo appears to push the HD .Tivo file to the S2 without attempting to transcode as if it is assuming that any .Tivo file is compatible. Is this truely how pyTivo works?


Yes.



> _Hypothetically, if the above is true, and the .Tivo file were converted to a .mpg file, then pyTivo/ffmpeg should recognize the file and Transcode it properly for the S2, right?_


Sure.


----------



## dlfl

MacerX said:


> I have 1 S3 HD Tivo and 2 S2 Tivos and pyTivo d4219 running on a Windows XP machine.
> 
> pyTivo appears to push the HD .Tivo file to the S2 without attempting to transcode as if it is assuming that any .Tivo file is compatible. Is this truely how pyTivo works?
> 
> Hypothetically, if the above is true, and the .Tivo file were converted to a .mpg file, then pyTivo/ffmpeg should recognize the file and Transcode it properly for the S2, right?
> 
> Does pyTivo/ffmpeg automatically recognize high frame rates as part of the transcode process for the S2? For example, if the source file were a 1280x720 60fps 65000kb/s mpeg2 video file with ac3 5.1 384 kb/s audio, will it trancode properly to 544x360 with padding and at a bit-rate and frame rate that is compatible with the S2?
> 
> Any other ideas or suggestions? Maybe example ffmpeg command lines that work for you? Also does anyone have a combination S3 and S2 setup with a monster pyTivo.conf file you could share for reference?
> 
> Og and thanks for everyone's hardwork and support with pyTivo and related tools and support! You're awesome!!!
> 
> Thank you,
> DB


If the file has a .tivo extension, it will be transferred back AS IS.

If the file is mpeg2 (.mpg), you don't have optRes configured, and your TSN doesn't indicate a HD TiVo model, the file will be transferred AS IS if the size is one of these:
suportedModes = [[720, 480], [704, 480], [544, 480], [480, 480], [352, 480]]
Otherwise it will be transcoded to the configured (or default) width and height with padding (letterboxing, pillarizing) as needed per the aspect169 setting

Don't set optRes unless you are willing to have a HD mpeg2 files transcoded at HD sizes.

For HD TiVos mpeg2 files are ALL transferred AS IS. You are asked to report what resolutions work for your model and which don't.

I assume you are using per-Tivo config sections. You definitely should for mixed SD/HD tivo setups.

If transcoding does occur, the framerate is forced to 29.97.

I think you can specify any ffmpeg parameters you want. I will let op tell you their suggestions or search this thread for the last month on keywords ffmpeg or ffmpeg_prams.


----------



## Proxima

Ok, here is my situation. I'm trying this, but it doesn't seem to be working. I see it on my TIVO, I select the file, and even the MPEG files fail. I've tried WMV, then the MPEG, and then a MOV. The MPEG started to go but it was playing fast and audio choppy. WMV and MOV's just fail.

My Settings are:



> [Server]
> port=9032
> ffmpeg=c:\pyTivo\plugins\video\ffmpeg_mp2.exe
> 
> #debug=false
> 
> # Audio bit-rate, default 192K
> # Video bit-rate, default 4096K
> 
> #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
> 
> #Per tivo options
> # section named _tivo_TSN with the tsn in all caps
> [_tivo_540000NOTTACHANCE]
> 
> #If you want to use 16:9 or 4:3 on this tivo
> aspect169=true
> #width=1440
> #height=480
> audio_br=320K
> video_br=12Mi
> ffmpeg_prams=-i %(in_file)s -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 -
> 
> [MyMovies]
> #Type can be either 'video' or 'music'
> type=video
> #Path is the full path to your files (No trailing slash needed)
> path=c:\users\joe\videos


Example of my error log:


> 192.168.0.102 - - [19/Dec/2007 06:59:32] "GET /MyMovies/401_Bloopers.wmv HTTP/1.1" 200 -
> ----------------------------------------
> Exception happened during processing of request from ('192.168.0.102', 1243)
> Traceback (most recent call last):
> File "C:\Python25\lib\SocketServer.py", line 464, in process_request_thread
> self.finish_request(request, client_address)
> File "C:\Python25\lib\SocketServer.py", line 254, in finish_request
> self.RequestHandlerClass(request, client_address, self)
> File "C:\Python25\lib\SocketServer.py", line 522, in __init__
> self.handle()
> File "C:\Python25\lib\BaseHTTPServer.py", line 316, in handle
> self.handle_one_request()
> File "C:\Python25\lib\BaseHTTPServer.py", line 310, in handle_one_request
> method()
> File "C:\pytivo\httpserver.py", line 36, in do_GET
> plugin.SendFile(self, container, name)
> File "C:\pytivo\plugins\video\video.py", line 36, in SendFile
> transcode.output_video(container['path'] + path[len(name)+1:], handler.wfile, tsn)
> File "C:\pytivo\plugins\video\transcode.py", line 44, in output_video
> transcode(inFile, outFile, tsn)
> File "C:\pytivo\plugins\video\transcode.py", line 55, in transcode
> cmd_string = Config.getFFMPEGTemplate(tsn) % settings
> KeyError: 'in_file'


I have a Series 2 Tivo
Toshiba 50" HDTV Compatible 4:3 Rear Projector
HP Computer Running (god help me) Vista


----------



## reneg

naclone said:


> question for you metadata folks.
> 
> do you think there would be any way to force a seriesID on a program that is already in NPL? Or is the only way to transfer it with a corresponding text file via pytivo?
> 
> i hate the idea of having to transfer all my programs with TTG and then send them all back with pytivo and hope that no quality gets lost in translation. not to mention the time it would take.


I don't know of a way to change the metadata on files that are still on the Tivo. I'm not saying it can't be done, but my guess is that it would require tinkering by folks that frequent the Tivo Underground forum.

Quality should not be lost on files recorded on the Tivo and transferred back but as you pointed out, it does take time to transfer the files.


----------



## dlfl

Proxima said:


> Ok, here is my situation. I'm trying this, but it doesn't seem to be working. I see it on my TIVO, I select the file, and even the MPEG files fail. I've tried WMV, then the MPEG, and then a MOV. The MPEG started to go but it was playing fast and audio choppy. WMV and MOV's just fail.
> 
> My Settings are:
> 
> Example of my error log:
> 
> I have a Series 2 Tivo
> Toshiba 50" HDTV Compatible 4:3 Rear Projector
> HP Computer Running (god help me) Vista


This one has been good for a number of posts: The *-i %(in_file)s* should be removed from the ffmpeg_prams config line. I assume you have your actual TSN in the per-tivo section heading? (Otherwise that section will have no effect.) If you don't have an active ffmpeg_prams line it defaults to a built-in one. Unfortunately in at least one version the default one also had the same error. I would recommend getting the latest version with d4219... in the download name.

Also, you have an extremely high bitrate for the format that is configured. You have not specified a width or height so it falls back to the default which is 544x480. (The '#' sign comments out a line so it might as well not be there.) The 12 Mi bitrate is 3 or 4 times too large for that format.

That bitrate would be more appropriate for encoding to 1440x720. If you comment out the bitrate it will default to 4096k which is good for the default format or you might want to try 720x480. since you have a large screen.


----------



## Proxima

Still not working. On the TIVO it says the file was larger than expected or corrupted. This is from the log:


> Exception happened during processing of request from ('192.168.0.102', 2173)
> Traceback (most recent call last):
> File "C:\Python25\lib\SocketServer.py", line 464, in process_request_thread
> self.finish_request(request, client_address)
> File "C:\Python25\lib\SocketServer.py", line 254, in finish_request
> self.RequestHandlerClass(request, client_address, self)
> File "C:\Python25\lib\SocketServer.py", line 522, in __init__
> self.handle()
> File "C:\Python25\lib\BaseHTTPServer.py", line 316, in handle
> self.handle_one_request()
> File "C:\Python25\lib\BaseHTTPServer.py", line 310, in handle_one_request
> method()
> File "C:\pytivo\httpserver.py", line 36, in do_GET
> plugin.SendFile(self, container, name)
> File "C:\pytivo\plugins\video\video.py", line 36, in SendFile
> transcode.output_video(container['path'] + path[len(name)+1:], handler.wfile, tsn)
> File "C:\pytivo\plugins\video\transcode.py", line 40, in output_video
> shutil.copyfileobj(f, outFile)
> File "C:\Python25\lib\shutil.py", line 24, in copyfileobj
> fdst.write(buf)
> File "C:\Python25\lib\socket.py", line 262, in write
> self.flush()
> File "C:\Python25\lib\socket.py", line 249, in flush
> self._sock.sendall(buffer)
> error: (10054, 'Connection reset by peer')


I changed my settings too:


> [Server]
> port=9032
> ffmpeg=c:\pyTivo\plugins\video\ffmpeg_mp2.exe
> 
> #debug=false
> 
> # Audio bit-rate, default 192K
> # Video bit-rate, default 4096K
> 
> #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
> 
> #Per tivo options
> # section named _tivo_TSN with the tsn in all caps
> [_tivo_540000NOTTACHANCE]
> 
> #If you want to use 16:9 or 4:3 on this tivo
> aspect169=true
> width=720
> height=480
> audio_br=192K
> video_br=4096K
> 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 -
> 
> [MyMovies]
> #Type can be either 'video' or 'music'
> type=video
> #Path is the full path to your files (No trailing slash needed)
> path=c:\users\joe\videos


----------



## dlfl

Proxima:
What version of pyTivo? Go to the latest version if you haven't done so.
What kind of file are you trying to transfer? Have you tried more than one example?

Please confirm you have your actual TSN instead of "540000NOTTACHANCE" in the per tivo section. Otherwise your settings in that section do nothing.

For now, use the default width (544). If your series 2 is a 540 I think it may not accept some other widths.

Uncomment the debug line in the config file and try the transfer. Post the resulting debug.txt file here.


----------



## pesto126

Perhaps this is just the way things go but I had a question in regard to breaking things out by subdirectory.

Ok.. So, I have things working just fine. I have a V:\Movies folder defined and a V:\Kids Shows folder defined. Both show up on NPL and when I right arrow in, all the movies display. I wanted to create subfolders under the Kids Shows folder such as V:\Kids Shows\Dora and V:\Kids Shows\Disney. So, I did that and moved a few .avi files from the main V:\Kids Shows to the subfolders. 

The problem is when I go into the Kids Shows folder in NPL, it shows the subfolders with a count of 0 (zero) and the movies are still listed in the main folder. When I go into the subfolders, the movies also appear there... Does something need to be modified to allow the movies to ONLY appear in the subfolders and not in both places? Is there a way to get the Tivo Folder to display the number of files that exist in the subfolder?

Many thx for all the help/advice... just browsing through many of the posts got me up and running with this. One item to possibly chnage, the default location for the ffmpg program is setup for UNIX.... I kept getting errors and it took me around 4 hours to figure out I needed to comment out that line and change it to the WINDOWS line..  Perhaps it should default to WINDOWS or have a mention of that in the configuration page..?


----------



## dlfl

pesto126:
You didn't say whether you have auto_subshares set in your config file (?). This, if used, is set in each share section. Anyway try it with and without this and see if one way pleases you more. Also, what version of pyTiVo? Recommend using the latest available, the one with "d4219..." in the download file name.


----------



## pesto126

Thx.. It was set to True to so I'll set to False and give it a go... do I need to stop and restart the service in order for the new config to be used... or does it check it as it needs to so just make the edits and save the file and that's it? Thx.


----------



## reneg

pesto126 said:


> Thx.. It was set to True to so I'll set to False and give it a go... do I need to stop and restart the service in order for the new config to be used... or does it check it as it needs to so just make the edits and save the file and that's it? Thx.


You need to stop and restart the service.


----------



## pesto126

Bummer.. that changes things but not in the way I was looking for. When that is set to TRUE, then you get all the subdirs listed in the NPL. What I was looking for was a single directory in the NPL (ie: Kids Shows) but when I go in there, you would get many other subdirs (Disney, Dora, Diego) and you could just arrow into each to see the movies. The main Kids Shows would just list the subdirs and NO MOVIES...

I'm sure I'm doing something wrong because if you can have subdirectories under the main folder and they appear correctly on the Tivo, it seems strange that the files from the subdirectory are also appearing in the main directory and that the directory file count is wrong on the main directory screen... once you go into the subdirectory, the file list does display correctly.

Thx for all the help.. and any other ideas you might have.


----------



## MacerX

dlfl, wmcbrine,

Thanks for your help and suggestions. 

Turns out that my pyTivo.conf file was a mess. I made several changes and pyTivo is running as expected now.

I could use some system implementation suggestions given your experiences.

There are two performance bottlenecks that I have come across in my configuration. A) Tivo network bandwidth. B) My Server ffmpeg transcode rate.

Regarding A)Tivo network bandwidth; my S2's network bandwidth is sufficient to playback 544x480 video from the server in real-time with virtually no latency from program selection to playback on the Tivo and the video looks beautiful, so this is only really an issue on my S3 where I want no latency HD video playback. If my goal is to achieve higher quality video transfer with no latency from program selection to playback on the HD Tivo, it would seem that a higher video compression option taking advantage of the S3's ability to decode MPEG4 and maybe even h.264 may be the solution. 1) Is there a way to do this with ffmpeg and pyTivo directly assuming I have sufficient processing to transcode in real-time, or 2) pre-process the HD content to a higher compression format to be streamed by pyTivo to the S3 for decode?

Regarding B)Server Transcode Rate; 1) are there any hardware acceleration transcode options for ffmpeg, or 2) the ability to use an alternate CLI Transcoder that does have HW transcode acceleration with pyTivo integration?

Background: I read about ATI AVIVO MP4 and h.264 ENCODE hardware acceleration on X1300+ video cards, but have not actually tried this since my server has an nvidia 7600GT card right now. The nvidia cards only support DECODE acceleration right now as far as I can tell.

Also what kind of transcode performance improvements do people see running -Threads 2 on dual core processors? Anyone with a quad core, is -Threads 4 supported by ffmpeg?

I may build a new server if I can get everything running as I woud like. Quad-core with + ATI encode acceration seems like Nirvana???

Thank you,
DB


----------



## Proxima

dlfl said:


> Proxima:
> What version of pyTivo? Go to the latest version if you haven't done so.
> What kind of file are you trying to transfer? Have you tried more than one example?
> 
> Please confirm you have your actual TSN instead of "540000NOTTACHANCE" in the per tivo section. Otherwise your settings in that section do nothing.
> 
> For now, use the default width (544). If your series 2 is a 540 I think it may not accept some other widths.
> 
> Uncomment the debug line in the config file and try the transfer. Post the resulting debug.txt file here.


I didn't want to publish my TSN - so yes I have the actual one on my computer.

My version is 208.

I'll upgrade and try 544 resolution when I get home from work

I've tried WMV, MPG, and MOV

Thanks for the help


----------



## willp2

Hello, I did try searching for this first, but have come up empty. I just setup pyTivo to transfer to my TivoHD. I am successfully able to connect to pyTivo and transfer files to the Tivo which is fantastic.

When the videos are transferred to the Tivo, they are stored in a group called movies. Unfortunately each show seems to drop into a separate group with the same name. So at the moment I have 3 separate movies groups for each of the shows Ive transferred.

Is there a way to control this behavior?

Thanks!


----------



## wmcbrine

MacerX said:


> If my goal is to achieve higher quality video transfer with no latency from program selection to playback on the HD Tivo, it would seem that a higher video compression option taking advantage of the S3's ability to decode MPEG4 and maybe even h.264 may be the solution.


At present, the S3's ability to decode MPEG4 is purely theoretical. TTBOMK, no one has made this work yet. I don't think Tivo, Inc. has enabled software support for the MPEG4 hardware they've built in.


----------



## PaulS

willp2 said:


> Hello, I did try searching for this first, but have come up empty. I just setup pyTivo to transfer to my TivoHD. I am successfully able to connect to pyTivo and transfer files to the Tivo which is fantastic.
> 
> When the videos are transferred to the Tivo, they are stored in a group called movies. Unfortunately each show seems to drop into a separate group with the same name. So at the moment I have 3 separate movies groups for each of the shows Ive transferred.
> 
> Is there a way to control this behavior?
> 
> Thanks!


I think dlfl's one-line patch may fix this : LINK


----------



## willp2

dlfl said:


> Using version d4219..., for files that don't have metadata text files paired with them, the name displayed on the NPL is the subfolder containing the file, which is nondescript and confusing. All you have to do to get the actual video file name to display is replace line 105 in video.py with:
> 
> 
> Code:
> 
> 
> metadata['seriesTitle'] = metadata['title']
> 
> This will not change the NPL display for files that have metadata text files paired with them.


I'm trying it now, but that looks like it did the trick.

Thanks!


----------



## pesto126

Any help or ideas for this question? Trying to group subdirs under a main dir and just want to see the subdirs under the main on the NPL.. so:

NPL
--> Movies
--> Disney (1)
--> Lion King.avi
--> Dora (1)
--> Dora - Ice Cream.avi

Right now.. I get
NPL
--> Movies
--> Disney (0)
--> Lion King.avi
--> Dora (0)
--> Dora - Ice Cream.avi
--> Lion King.avi
--> Ice Cream

So, I get all the subdirs and movies from those subdirs in the main Dir.. I only want to see the subdirs and not all the content in the main dir. Also, the file count next to the subdir is always 0 even though I have movies in there. Thx.



pesto126 said:


> Bummer.. that changes things but not
> in the way I was looking for. When that is set to TRUE, then you get all the subdirs listed in the NPL. What I was looking for was a single directory in the NPL (ie: Kids Shows) but when I go in there, you would get many other subdirs (Disney, Dora, Diego) and you could just arrow into each to see the movies. The main Kids Shows would just list the subdirs and NO MOVIES...
> 
> I'm sure I'm doing something wrong because if you can have subdirectories under the main folder and they appear correctly on the Tivo, it seems strange that the files from the subdirectory are also appearing in the main directory and that the directory file count is wrong on the main directory screen... once you go into the subdirectory, the file list does display correctly.
> 
> Thx for all the help.. and any other ideas you might have.


----------



## PaulS

Subfolders are busted. There has been plenty of discussion on this thread about it. Bottom line, it's busted on the TiVo side of things, and there isn't anything pyTivo can do to fix it at the moment.

The best option available right now is specify a top-level folder, and set "auto_subshares=true". This will share all of the folders that are ONE level beneath the main share. You can not navigate any deeper in the directory tree.

For the given example below, you could do this with a small configuration change :



Code:


[Movies]
type=video
path=c:\Movies
auto_subshares=true

This would present the following in your NPL :

Movies-Disney (folder contains LionKing.avi)
Movies-Dora (folder contains IceCream.avi)
Movies (any FILES that are in c:\Movies will be seen here)



pesto126 said:


> Any help or ideas for this question? Trying to group subdirs under a main dir and just want to see the subdirs under the main on the NPL.. so:
> 
> NPL
> --> Movies
> --> Disney (1)
> --> Lion King.avi
> --> Dora (1)
> --> Dora - Ice Cream.avi
> 
> Right now.. I get
> NPL
> --> Movies
> --> Disney (0)
> --> Lion King.avi
> --> Dora (0)
> --> Dora - Ice Cream.avi
> --> Lion King.avi
> --> Ice Cream
> 
> So, I get all the subdirs and movies from those subdirs in the main Dir.. I only want to see the subdirs and not all the content in the main dir. Also, the file count next to the subdir is always 0 even though I have movies in there. Thx.


----------



## willdolla

cannot edit the pytivo.conf.dist file how do u edit it it says windows cannot edit it


----------



## wmcbrine

willdolla said:


> cannot edit the pytivo.conf.dist file how do u edit it it says windows cannot edit it


First of all, you don't. pyTivo.conf.dist is just an example file. You should be working on pyTivo.conf. You can copy or rename pyTivo.conf.dist to that, although I'd recommend starting fresh.

Secondly, it's just a text file. You edit it like any text file. Just don't save it with a ".txt" extension, or pyTivo won't find it. Or you can use pyTivoConfigurator.py, but that doesn't give you full control.


----------



## Enrique

I am running pyTivo_182_setup.exe, But I see there is a update for PyTivo on 09-Dec-2007 but no .exe yet is there going to be one? If not how do I upgrade Pytivo?


----------



## PaulS

Enrique said:


> I am running pyTivo_182_setup.exe, But I see there is a update for PyTivo on 09-Dec-2007 but no .exe yet is there going to be one? If not how do I upgrade Pytivo?


Probably won't be an .exe, but you never know what armooo might throw out there for us to play with.

Download the latest version, and unzip it. Set up your pytivo.conf file, and then follow the instructions in the README file about how to install it as a Windows service.

Here is my current pytivo.conf file, for use with my Series3 :



Code:


[Server]
Port=9044
GUID=314257
debug=true
aspect169=true
audio_br=384K
ffmpeg=j:\pyTivo-2007-12-09\ffmpeg.11143\ffmpeg_mp2.exe
ffmpeg_prams=-vcodec mpeg2video -maxrate 17Mi -qscale 1.2 -async 48000 -bufsize 1024k -comment pyTivo.py -acodec ac3 -ab %(audio_br)s -ar 48000 -f vob -

[Videos]
type=video
path=c:\Videos
auto_subshares=true

Your pytivo.conf file will be different if you're using it with a Series2. Probably something more like this :



Code:


[Server]
Port=9044
GUID=314257
debug=true
audio_br=192K
video_br=5Mi
width=544
height=480
ffmpeg=j:\pyTivo-2007-12-09\ffmpeg.11143\ffmpeg_mp2.exe

[Videos]
type=video
path=c:\Videos
auto_subshares=true

Make sure you use paths that are correct for YOUR installation.


----------



## Proxima

OK


> [Server]
> port=9032
> ffmpeg=c:\pyTivo\plugins\video\ffmpeg_mp2.exe
> 
> debug=true
> 
> # Audio bit-rate, default 192K
> # Video bit-rate, default 4096K
> 
> #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
> 
> #Per tivo options
> # section named _tivo_TSN with the tsn in all caps
> [_tivo_540000NOTTACHANCE]
> 
> #If you want to use 16:9 or 4:3 on this tivo
> aspect169=true
> width=544
> height=480
> audio_br=192K
> video_br=4096K
> 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 -
> 
> [MyMovies]
> #Type can be either 'video' or 'music'
> type=video
> #Path is the full path to your files (No trailing slash needed)
> path=c:\users\joe\videos


Still failed...and now groups all into "videos" on my playing now. NO DEBUG.TXT file was created.



> 192.168.0.102 - - [21/Dec/2007 21:51:20] "GET /TiVoConnect?Command=TVBusQuery&Container=MyMovies&File=Easter%20at%20Franks.mpg HTTP/1.1" 200 -
> 192.168.0.102 - - [21/Dec/2007 21:51:43] "GET /MyMovies/Easter%20at%20Franks.mpg HTTP/1.1" 200 -
> 192.168.0.102 - - [21/Dec/2007 21:52:43] "GET /TiVoConnect?Command=QueryContainer&Container=MyMovies&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=1745386&AnchorOffset=-6&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
> 192.168.0.102 - - [21/Dec/2007 21:52:52] "GET /TiVoConnect?Command=QueryContainer&Container=MyMovies&SortOrder=!CaptureDate&ItemCount=-8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
> 192.168.0.102 - - [21/Dec/2007 21:53:10] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
> 192.168.0.102 - - [21/Dec/2007 21:53:50] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
> 192.168.0.102 - - [21/Dec/2007 21:54:08] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
> 192.168.0.102 - - [21/Dec/2007 21:54:52] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
> ----------------------------------------
> Exception happened during processing of request from ('192.168.0.102', 2651)
> Traceback (most recent call last):
> File "C:\Python25\lib\SocketServer.py", line 464, in process_request_thread
> self.finish_request(request, client_address)
> File "C:\Python25\lib\SocketServer.py", line 254, in finish_request
> self.RequestHandlerClass(request, client_address, self)
> File "C:\Python25\lib\SocketServer.py", line 522, in __init__
> self.handle()
> File "C:\Python25\lib\BaseHTTPServer.py", line 316, in handle
> self.handle_one_request()
> File "C:\Python25\lib\BaseHTTPServer.py", line 310, in handle_one_request
> method()
> File "C:\pytivo\httpserver.py", line 38, in do_GET
> plugin.send_file(self, container, name)
> File "C:\pytivo\plugins\video\video.py", line 39, in send_file
> transcode.output_video(container['path'] + path[len(name)+1:], handler.wfile, tsn)
> File "C:\pytivo\plugins\video\transcode.py", line 40, in output_video
> shutil.copyfileobj(f, outFile)
> File "C:\Python25\lib\shutil.py", line 24, in copyfileobj
> fdst.write(buf)
> File "C:\Python25\lib\socket.py", line 262, in write
> self.flush()
> File "C:\Python25\lib\socket.py", line 249, in flush
> self._sock.sendall(buffer)
> error: (10054, 'Connection reset by peer')
> ----------------------------------------
> 192.168.0.102 - - [21/Dec/2007 22:07:31] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -


version d4219......


----------



## dlfl

Proxima:
Did you look in c:\pyTivo for the debug.txt file? Don't see how it could not be there.
I looks like you were sending a mpeg2 that was just being transferred, not transcoded, because pyTivo thought it was TiVo-compatible. And it looks like the TiVo dumped the network socket. Did some of the file transfer or did it stop immediately?

What model number is your TiVo (does it start with 240, 540, 649 or ?).

Put "Easter at Franks.mpg" into the ffmpeg folder, start a command window logged to that folder, and enter 

ffmpeg_mp2 -i "Easter at Franks.mpg"

Post a copy of the output that appears. Parsing this output is how pyTiVo gets info. If for some reason the correct duration isn't being detected by ffmpeg, that might explain your problems.

Do you have Desktop? If so are you able to transfer files to the TiVo using it?


----------



## Sicklybutsexy

Just wanted to give a 'shout-out' to all who have worked on this project. The new metagenerator is awesome. I do have a question about grouping. I have two shows both with the same series ID but when I transfer them over to the Tivo they don't group in a folder? I thought they should. Another one (sorry for being naive) what is the best way to find a "line" when editing a file in pyTivo, such as line 141---I'm thinking notepad is not the way to go? thanks.


----------



## PaulS

Sicklybutsexy said:


> Just wanted to give a 'shout-out' to all who have worked on this project. The new metagenerator is awesome. I do have a question about grouping. I have two shows both with the same series ID but when I transfer them over to the Tivo they don't group in a folder? I thought they should. Another one (sorry for being naive) what is the best way to find a "line" when editing a file in pyTivo, such as line 141---I'm thinking notepad is not the way to go? thanks.


At home, I use Notepad++ as a text editor. It will display what line number you're on, or you can go directly to a line number.


----------



## dlfl

Sicklybutsexy said:


> ........... what is the best way to find a "line" when editing a file in pyTivo, such as line 141---I'm thinking notepad is not the way to go? thanks.


Notepad will find a line number (with ctrl-G) IF you don't have word wrap turned on.
BUT notepad isn't good for editing pyTivo source files because they have Linux style line endings which Notepad doesn't handle correctly.

Wordpad handles the pyTivo files OK BUT it doesn't have a line number finding feature that I can see.

I'm trying a free "notepad-replacement" text editor called *** Metapad *** . It finds line numbers with Ctrl-G and works whether word-wrap is on or not, and handles the Linux line endings.

Metapad supposedly can be installed so it completely replaces Notepad but I am not recommending that. You can also just unzip the contents of the distribution file into any folder (e.g. c:\program files\metapad\). Then you can point a desktop shortcut to metapad.exe and/or right click on any text file and select Open With then browse to metapad.exe. After doing that once, the next time you right click on a text file and select open with, MetaPad will be offered as a menu selection. (You can also make it the default text editor if you wish, so text files will open in metaPad just by double-clicking.)


----------



## Proxima

Yes I do have desktop...it failed too...hmmmm.
Any way


> C:\pytivo\plugins\video>ffmpeg_mp2 -i "Easter at Franks.mpg"
> FFmpeg version SVN-r8047, Copyright (c) 2000-2007 Fabrice Bellard, et al.
> configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --
> enable-liba52 --enable-avisynth --enable-libdts --enable-libfaac --enable-libfaa
> d --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libogg --enable-l
> ibtheora --enable-libvorbis --enable-x264 --enable-xvid --enable-amr_nb --enable
> -amr_wb --cpu=i686 --enable-memalign-hack --extra-ldflags=-static
> libavutil version: 49.3.0
> libavcodec version: 51.34.0
> libavformat version: 51.10.0
> built on Feb 21 2007 23:20:24, gcc: 4.3.0 20070126 (experimental)
> Input #0, mpeg, from 'Easter at Franks.mpg':
> Duration: 00:17:20.5, start: 0.377811, bitrate: 5353 kb/s
> Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x480, 5120 kb/s, 29.97 fps(
> r)
> Stream #0.1[0x1c0]: Audio: mp2, 44100 Hz, stereo, 128 kb/s


Tivo model starts with 540


----------



## dlfl

Sicklybutsexy said:


> ....... I do have a question about grouping. I have two shows both with the same series ID but when I transfer them over to the Tivo they don't group in a folder? ........


First, no insult intended but you do have grouping turned on in your NPL, correct? This toggles with the "2" numeric key on the peanut when you are viewing NPL.

Beyond that, my impression is that we don't fully understand the exact conditions that must be met for grouping. We pretty well know that identical seriesID is *necessary* but it's not clear that it's* sufficient*. (??)

If an OP believes they know the rules, please post!


----------



## Sicklybutsexy

dlfl said:


> First, no insult intended but you do have grouping turned on in your NPL, correct? This toggles with the "2" numeric key on the peanut when you are viewing NPL.
> 
> Beyond that, my impression is that we don't fully understand the exact conditions that must be met for grouping. We pretty well know that identical seriesID is *necessary* but it's not clear that it's* sufficient*. (??)
> 
> If an OP believes they know the rules, please post!


No insult taken. But yes, I do have grouping enabled as all my other shows that were recorded with the tivo are in their appropriate folders. Maybe it's just that particular show. dlfl, you don't know the best way to edit pyTivo by line do you? thanks.


----------



## dlfl

Proxima said:


> Yes I do have desktop...it failed too...hmmmm.
> Any way
> Tivo model starts with 540


Your video looks like a standard DVD format mpeg2 except the audio is mp2 instead of ac3 -- but that should not bother your Tivo.

My hunch is your 540 may not like the 720x480 format -- See this post. To test this we need to force pyTivo to transcode to 544x480 (with ffmpeg). To do that edit transcode.py (save the distributed original first) at line #211, which now reads:



Code:


    suportedModes = [[720, 480], [704, 480], [544, 480], [480, 480], [352, 480]]

Remove the [720,480] pair (and the ',' following it).

There may still be issues with aspect ratio, letterboxing etc., which can be worked out later, but this should get something at 544x480 over to your 540.


----------



## greg_burns

dlfl said:


> Beyond that, my impression is that we don't fully understand the exact conditions that must be met for grouping. We pretty well know that identical seriesID is *necessary* but it's not clear that it's* sufficient*. (??)


I thought it was also believed that that seriesid must be present in "your" guide data at the time of grouping.


----------



## dlfl

Sicklybutsexy said:


> ........ dlfl, you don't know the best way to edit pyTivo by line do you? thanks.


Did you miss posts #1438 and #1439 ?


----------



## jcthorne

Yes, the seriesid must not only be valid, it must be KNOWN by your tivo from its current guide data or previous recording when it was current. If you want to choose a series id from the lists published here, you may first record one episode from the series to enable that series id then TTCB the remainder of the shows you want in that group. You can even delete the original recording that created the group and the series group will remain. If the series id does not appear in your current guide data for recording, you cannot use it.


----------



## greg_burns

jcthorne said:


> Yes, the seriesid must not only be valid, it must be KNOWN by your tivo from its current guide data *or previous recording when it was current.*


Is that right? If that was true people wouldn't have MRV issues with older shows. Or maybe I am misremembering that part.


----------



## Sicklybutsexy

dlfl said:


> Did you miss posts #1438 and #1439 ?


I did, thank you metadata works great.


----------



## Proxima

I appreciate the help, but same errors:

TIVO says file is larger than expected or corrupt

log file says connection reset by peer.


It couldn't have anything to do with my wireless...Download TV works fine...I get DL.tv and CrankyGeeks flawlessly.


----------



## wmcbrine

greg_burns said:


> Is that right? If that was true people wouldn't have MRV issues with older shows. Or maybe I am misremembering that part.


If I were Tivo, this is how I'd do it: When a show comes into the guide, it comes along a "series record". That gets saved, but is eventually aged out of the system when the show is no longer in the guide (not necessarily immediately), _unless_ there's still a recording of that show in Now Playing, in which case the series record won't be purged until after that show is deleted (again, not necessarily immediately). An unused series record could hang around for a long time if there were no new series coming in needing the space. But even with many new series, they probably stay for days or weeks.

MRV/TTCB are apparently not sufficient to recreate the series record. It has to come in with the regular guide data. Or so it appears, anyway.


----------



## dlfl

Proxima said:


> I appreciate the help, but same errors:
> TIVO says file is larger than expected or corrupt
> log file says connection reset by peer...........


What version is your TiVo software?

When you tried to transfer after modding Transcode.py did you see ffmpeg start to transcode in the command window? Did the output video track say it was 544x480? Actually if you could copy that part the command window and post it I would be interested.

If you can't get ANY files to go back with Desktop, that suggests a problem other than pyTivo. Try sending a TiVo transferred from your TiVo. Be sure you have the TiVo beacon started, of course. If that works, try sending the same file via pyTivo. The TiVo beacon is NOT needed for pyTiVo.


----------



## naclone

PaulS said:


> Probably won't be an .exe, but you never know what armooo might throw out there for us to play with.
> 
> Download the latest version, and unzip it. Set up your pytivo.conf file, and then follow the instructions in the README file about how to install it as a Windows service.
> 
> Here is my current pytivo.conf file, for use with my Series3 :
> 
> 
> 
> Code:
> 
> 
> [Server]
> Port=9044
> GUID=314257
> debug=true
> aspect169=true
> audio_br=384K
> ffmpeg=j:\pyTivo-2007-12-09\ffmpeg.11143\ffmpeg_mp2.exe
> ffmpeg_prams=-vcodec mpeg2video -maxrate 17Mi -qscale 1.2 -async 48000 -bufsize 1024k -comment pyTivo.py -acodec ac3 -ab %(audio_br)s -ar 48000 -f vob -
> 
> [Videos]
> type=video
> path=c:\Videos
> auto_subshares=true
> 
> Your pytivo.conf file will be different if you're using it with a Series2. Probably something more like this :
> 
> 
> 
> Code:
> 
> 
> [Server]
> Port=9044
> GUID=314257
> debug=true
> audio_br=192K
> video_br=5Mi
> width=544
> height=480
> ffmpeg=j:\pyTivo-2007-12-09\ffmpeg.11143\ffmpeg_mp2.exe
> 
> [Videos]
> type=video
> path=c:\Videos
> auto_subshares=true
> 
> Make sure you use paths that are correct for YOUR installation.


What is it that the GUID value does, exactly? is that number you're using valid across the board or does the input need to be unique to the user? If so, how do I determine mine?

Thanks


----------



## dlfl

naclone said:


> What is it that the GUID value does, exactly? is that number you're using valid across the board or does the input need to be unique to the user? If so, how do I determine mine?
> 
> Thanks


The best answer I've seen on GUID is in post #1365 (easily found by searching this thread on "GUID" , hint, hint. )

It stands for "Globally/Universally Unique Identifier".

Here is a web page that will generate a GUID and gives more info.


----------



## MacerX

I have a feature request. I will try to post on the wiki too when I get a chance.

auto_subshares=level2

The goal would be to have the first level folder in Tivo NPL be named as in my pyTivo.conf file and when I enter that folder, have every deeper file appear with folder path like it does with auto_subshares=true today. This enables access to all shared files no matter the share depth and eliminates the clutter on the main Tivo NPL.

This theoretically seems doable with my limited knowledge of the subfolder limitations. If I had more experience with this stuff, I would try to modify the pyTivo myself, but what would take an expert a few minutes would probably take me hours.

Thanks,
DB


----------



## wmcbrine

Here. Currently M3U only, but it works with Internet radio as well as your own files. This is in the form of a replacement for the existing music module. (I know armooo wants us to use git, but I have yet to learn it.)


----------



## Proxima

dlfl said:


> What version is your TiVo software?
> 
> When you tried to transfer after modding Transcode.py did you see ffmpeg start to transcode in the command window? Did the output video track say it was 544x480? Actually if you could copy that part the command window and post it I would be interested.
> 
> If you can't get ANY files to go back with Desktop, that suggests a problem other than pyTivo. Try sending a TiVo transferred from your TiVo. Be sure you have the TiVo beacon started, of course. If that works, try sending the same file via pyTivo. The TiVo beacon is NOT needed for pyTiVo.


Tivo software 9.1-01-2-540

what command window? There's suppose to be a command window?

I'm trying a transfer now...2 hours for a 30 min show geez


----------



## dlfl

Proxima said:


> Tivo software 9.1-01-2-540
> 
> what command window? There's suppose to be a command window?
> 
> I'm trying a transfer now...2 hours for a 30 min show geez


You must be running pyTivo as a service. It will be easier to troubleshoot if you just run it as a program. Then a command window will come up when it's running. Shut down the service. Launch pyTivo by double-clicking the piTivo.py file.

Which transfer is taking so long? pyTivo or Desktop?


----------



## Proxima

dlfl said:


> You must be running pyTivo as a service. It will be easier to troubleshoot if you just run it as a program. Then a command window will come up when it's running. Shut down the service. Launch pyTivo by double-clicking the piTivo.py file.
> 
> Which transfer is taking so long? pyTivo or Desktop?


I was using Desktop to move a file from the Tivo to the computer. After it finshed, about 10 minutes ago, I tried to transfer back using the Desktop and it failed.


----------



## dlfl

Proxima said:


> I was using Desktop to move a file from the Tivo to the computer. After it finshed, about 10 minutes ago, I tried to transfer back using the Desktop and it failed.


I know there are 540 users on this thread -- I hope they will chime in if they have any ideas.

At this point I think you have a network/hardware/software problem that is not particular to pyTivo. I suggest you start a new thread on your problems using Desktop. Give all the details in your first post -- everything about your software versions, hardware, etc. I'm out of ideas at the moment.

In fact, problems with Desktop are subjects for TiVo tech support too.

Good luck and sorry I didn't help!


----------



## wgw

Has anyone else modified their pyTivo to output 1024x576? I'm sending a lot of high def Tivo recordings back to the tivo this week. And they have to be transcoded to lower the bitrate due to the bugs in the Tivo software. I started using 720x480 to get faster transcoding and smaller file sizes, but changing the PAR from 1:1 to 32:27 doesn't sound like a good idea. 1024x576 seems to be a good compromise between 1280x720 and 720x480 since it maintains the 1:1 PAR, and results in a transcode speed almost as fast as 720x480, as well as a similar file size. I also agree with some of the other posters who have commented that lowering the resolution and letting the Tivo resize on playback seems to work better than transcoding at 1280x720.

Is it a good idea to maintain the 1:1 PAR, or should I ignore it? And does 1024x576 sound like a good resolution that should be added to pyTivo as valid widths and heights? I was also wondering if maybe this resolution should be added as the default height width setting for files sent to HD Tivo's if the source is 720p or above, unless the user overrides it with a different setting?


----------



## billyedmonson

MasterCephus said:


> Well, I created a .NET application that aides in creating meta data information for video files.
> 
> You can download it here
> 
> Basically I am getting the information from two places:
> For movies, I am using Movie-XML. An example of the data that is retrieved from this site is located here.
> 
> For TV Shows, I am using theTVDB.com. An example of the data retrieved from this site is located here. and here.
> 
> To get the seriesID, I am using the list that PaulS created. It's about 90% complete, so if you find a series that isn't there, email me the series name and the ID and I will add it to the list and update everything.
> 
> This is my first venture into writing an application and giving it out to people.
> 
> I want to thank ruttmeister for his testing and giving advice on the metadata. He really helped me get everything together.
> 
> Also I would like to thank Regeg for his testing and help as well.
> 
> Let me know of some issues that you have with this...you MUST have an internet connection and you MUST also have .NET 3.5 as well on your machine.
> 
> Enjoy


MasterCephus...first of all, I love your program. It saved me tons of time. However I did notice that when creating a txt file for a tv series, the output txt file has an error in it.

"seriesid" should be "seriesId" otherwise the shows will not group on the NPL. Overall a very good program. Thanks


----------



## Vcd_Junky

MasterCephus, any luck with getting the rating (x out of 10) and category (comedy, action, etc.) added to your program like we talked about in SCRUM a few weeks back?


----------



## pesto126

MacerX said:


> I have a feature request. I will try to post on the wiki too when I get a chance.
> 
> auto_subshares=level2
> 
> The goal would be to have the first level folder in Tivo NPL be named as in my pyTivo.conf file and when I enter that folder, have every deeper file appear with folder path like it does with auto_subshares=true today. This enables access to all shared files no matter the share depth and eliminates the clutter on the main Tivo NPL.
> 
> This theoretically seems doable with my limited knowledge of the subfolder limitations. If I had more experience with this stuff, I would try to modify the pyTivo myself, but what would take an expert a few minutes would probably take me hours.
> 
> Thanks,
> DB


Lol.. this was my question post from the last 2 pages - I thought this was something that could be done... seems to make sense that you'd want a top level share with subshares under it - but looks like this isn't an issue with pytivo.. but instead a lack of understanding how Tivo handles subfolders and folders in general. I'd love this feature to keep the NPL clean as you mention - was what I was asking to do since I figured this would be a standard pytivo feature.

Love the software anyway and can of course live with the extra files on the desktop.


----------



## billyedmonson

Sicklybutsexy said:


> Just wanted to give a 'shout-out' to all who have worked on this project. The new metagenerator is awesome. I do have a question about grouping. I have two shows both with the same series ID but when I transfer them over to the Tivo they don't group in a folder? I thought they should. Another one (sorry for being naive) what is the best way to find a "line" when editing a file in pyTivo, such as line 141---I'm thinking notepad is not the way to go? thanks.


I noticed the same problem as you and as I mentioned in an earlier post, the text file is being put out with "seriesid" instead of "seriesId". The uppercase "I" is very important. Until the program is repaired, I just used a find and replace text editor to replace the error on all text files at once. Or you could change each one manually. Then assuming the seriesId is correct, shows will group on the NPL. As for your second question, I assume you're talking about transcode.py or a similar file. You should be able to right click on the file, select "edit with Idle". This will bring up a window with the program text in it. Look at the bottom right corner for line number. Hope this helps.


----------



## MasterCephus

> I noticed the same problem as you and as I mentioned in an earlier post, the text file is being put out with "seriesid" instead of "seriesId". The uppercase "I" is very important. Until the program is repaired, I just used a find and replace text editor to replace the error on all text files at once. Or you could change each one manually.


Sure, I'll fix this in my next release, which should be hopefully this weekend...



> MasterCephus, any luck with getting the rating (x out of 10) and category (comedy, action, etc.) added to your program like we talked about in SCRUM a few weeks back?


I think rating is out, because I don't think Tivo has of those constructs to handle it...but the category should be covered by the genres.

I think someone a couple of pages ago figured out that Tivo does undersand a ratings scheme...can anyone PM me the exact scheme Tivo uses? If so, I will add that to the update I am going to release soon.

Good to have you on here Junky


----------



## hotwire32

I can get the local folders to come up in the list but when I try and set up a share that is a mapped network drive I get that the folder can't be displayed. Any ideas why?


----------



## MasterCephus

I am using a linux box that is my file server and I am mapping the share as a drive and everything works perfect for me...

Can you see the mapped drive when you open explorer?


----------



## jcthorne

I am obviously missing something. Is your display a lower resolution than 1280?

Why would you want to lessen the resolution of a video, store it on Tivo and then have Tivo upconvert it to your output resolution? Would you not want the highest original res available? I could understand if the original source were lower, the upconvert by tivo would indeed make more sence than an upconvert before transfer.

Not trying to be a smartalec just do not understand where you are headed with this and I guess fear I may have missed something. Indeed processing and transfering 1280 resolution HD video files is a time consuming process. But they do look far better on my Tivo and display than 720 res files to me. I do down res any 1920 res files I get to 1280 as my display is 'only' 1366 so no need for data I cannot display.


----------



## philhu

jcthorne said:


> Yes, the seriesid must not only be valid, it must be KNOWN by your tivo from its current guide data or previous recording when it was current. If you want to choose a series id from the lists published here, you may first record one episode from the series to enable that series id then TTCB the remainder of the shows you want in that group. You can even delete the original recording that created the group and the series group will remain.  If the series id does not appear in your current guide data for recording, you cannot use it.


This is very true. I wrote a tcl program to do groups. I had to take old seriesID's from other shows, and grouped episodes under that number, then deleted the original show that used the group.

Note, if new episodes of the series i deleted come in, they get put in the folder too 

This is back in 4.01 series 2 days, 2004 or so.


----------



## philhu

MasterCephus said:


> No I think they have to be actual IDs for them to be recognized. As you have seen, it seems to know what series the ID is tagged by it, so you can group them that way, but they will probably have a different name than your show.


True

I have tcl scripts that can change the names in a series id for the folder, then you can put your programs into that series id, and they do indeed group.

The series ID must be valid and you must rename the id to a different name.

I also have ALL tivo bits defined. I had written Parsexmlguide.vb years back and did lookups and slices for tivos for canadian people when they couldnt subscribe in Canada yet.

The program has all the difinitions and when/how they are used in comments.


----------



## wmcbrine

I just Googled "pytivo", and found this:

http://douweosinga.com/projects/pytivo

It looks like he had first claim on the name, but it also looks like he hasn't updated the project in three years.


----------



## knitsafghans

Have S3 TIVO.

Had a 2 episode DVD.

Meat of the disk has 6 18 min VOB's.

Successfuly transfered and watched 1-3 (episode a), 5&6 also transfer, #4 does not.

So... I dvdshrink it, just episode b, get 3 new vobs,

start to transfer the first vob, get and watch 10 mins of it (tivo shows its length as 18 mins), then transfer dies - error 10054 Connection reset by peer...

Im using the version for 12/09/07 -

[Server]
port=9032

ffmpeg=c:\Python25\pyTivo071209\plugins\video\ffmpeg_mp2.exe
debug=false
[_tivo_00000DEADBEEF]

[MyVid3]
type=video
path=D:\My Docs\My Videos
auto_subshares=True
debug=True


----------



## hotwire32

MasterCephus said:


> I am using a linux box that is my file server and I am mapping the share as a drive and everything works perfect for me...
> 
> Can you see the mapped drive when you open explorer?


Yes I can browse the folder in explorer with no problem. The drive is a Buffalo LinkStation with two USB drives connected to them.

one share is called TiVoMovies that is mapped to V:\~movies

The other is MyMovies mapped locally

I only see the local movies.


----------



## hotwire32

hotwire32 said:


> Yes I can browse the folder in explorer with no problem. The drive is a Buffalo LinkStation with two USB drives connected to them.
> 
> one share is called TiVoMovies that is mapped to V:\~movies
> 
> The other is MyMovies mapped locally
> 
> I only see the local movies.


oh oh oh I thought more about what you said and I mapped it directly to the share instead of a mapped drive and it appears to be working! My only other problem is once I browse 1 subfolder it comes up for all of them...


----------



## dlfl

knitsafghans said:


> Have S3 TIVO.
> 
> Had a 2 episode DVD.
> 
> Meat of the disk has 6 18 min VOB's.
> 
> Successfuly transfered and watched 1-3 (episode a), 5&6 also transfer, #4 does not.
> 
> So... I dvdshrink it, just episode b, get 3 new vobs,
> 
> start to transfer the first vob, get and watch 10 mins of it (tivo shows its length as 18 mins), then transfer dies - error 10054 Connection reset by peer...
> 
> Im using the version for 12/09/07 -
> 
> [Server]
> port=9032
> 
> ffmpeg=c:\Python25\pyTivo071209\plugins\video\ffmpeg_mp2.exe
> debug=false
> [_tivo_00000DEADBEEF]
> 
> [MyVid3]
> type=video
> path=D:\My Docs\My Videos
> auto_subshares=True
> debug=True


Try VideoReDo Plus (or TV Suite) to "Quick Stream Fix" (and optionally combine) your .vob's. Download, install and register for the uncrippled free trial. Here is a page linking guides for how to do various things with VRD.


----------



## MasterCephus

wmcbrine said:


> I just Googled "pytivo", and found this:
> 
> http://douweosinga.com/projects/pytivo
> 
> It looks like he had first claim on the name, but it also looks like he hasn't updated the project in three years.


Interesting...I think the domain name pyTivo.com is available as well. I would support creating a website for this application, where we could have a complete forum instead of just a thread (this would help out a ton because some people just need help, some want to help in development, some people just have general questions and it's REALLY difficult to find what you need in this thread sometimes).

We could add a wiki to the site to help people...

I think this would really aid in the development of pyTivo and all the little applications involved...

I would help financially (if a couple of people helped, it wouldn't be that expensive) and then we could have a donate link to a paypal account to pay for the site...we could even use google ads as well.

Just my .02 cents, but I think this is really needed...

EDIT:

I also attached an image I made for my metagenerator (download here), I don't know why, but I like this for the pyTivo emblem


----------



## MasterCephus

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?


----------



## wmcbrine

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.


----------



## dlfl

MasterCephus said:


> 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.


----------



## grahamg

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?


----------



## MasterCephus

wmcbrine said:


> 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...


----------



## MasterCephus

dlfl said:


> 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?


----------



## bschuler2007

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.


----------



## dlfl

MasterCephus said:


> 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.


----------



## wmcbrine

MasterCephus said:


> 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.


So, update it.


----------



## philhu

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!


----------



## dlfl

philhu said:


> 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.


----------



## philhu

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


----------



## philhu

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


----------



## Chew

bschuler2007 said:


> 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.


Seconded. :up:


----------



## philhu

Chew said:


> 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?


----------



## dlfl

philhu said:


> 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.


----------



## MasterCephus

> 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...


----------



## azmp1

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')


----------



## MasterCephus

^ It would be better to post the version you downloaded of pyTivo and paste the contents of your config file.

This way we can take a look and see how everything is configured...


----------



## Vcd_Junky

:up: I am in support of www.pytivo.com. For now, I will just redirect it to pytivo.armooo.net. I have purchased it and hosted it with 100GB of storage and 1TB monthly bandwidth.

My wish list:

- Simple installer for PyTivo
- Virtual appliance of PyTivo (Thin linux in a virtual machine pre-configured/installed with PyTivo)


----------



## philhu

MasterCephus said:


> 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



MasterCephus said:


> 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.



MasterCephus said:


> 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



MasterCephus said:


> 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


----------



## philhu

dlfl said:


> Try *wmcbrine*'s complete replacement for the music plugin.
> 
> Regarding seriesID and grouping see this recent post on this thread.


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.


----------



## dwgsp

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


----------



## dlfl

dwgsp said:


> 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.


----------



## dlfl

philhu said:


> Isnt that replacement for xm radio and stuff? Does it also do regular music files?
> .........


Yes, see post #40 in the linked thread.


----------



## wmcbrine

philhu said:


> 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?)


----------



## philhu

wmcbrine said:


> 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?


----------



## dwgsp

dlfl said:


> 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.


You're right, I was thinking of something else when I typed the version info. I installed the 12/9/07 version of pyTivo.

I just looked at ticket 56, and it describes the change by referencing a line number in the file. I am running this on Windows, and I don't have a text editor that supports line numbers (I don't really want to install a new editor on my system just so that I can run pyTivo). Is there someplace that I can download a version of pyTivo that already has these fixes applied? Or should I try an earlier version?

Thanks!
/Don


----------



## dlfl

dwgsp said:


> You're right, I was thinking of something else when I typed the version info. I installed the 12/9/07 version of pyTivo.
> 
> I just looked at ticket 56, and it describes the change by referencing a line number in the file. I am running this on Windows, and I don't have a text editor that supports line numbers (I don't really want to install a new editor on my system just so that I can run pyTivo). Is there someplace that I can download a version of pyTivo that already has these fixes applied? Or should I try an earlier version?
> 
> Thanks!
> /Don


Can't recommend an earlier version -- too hard to remember what versions have which problems and what fixes are needed.

However here is a work-around for the line number problem:

Load the file into wordpad.
Save it (Ctrl-S) -- do not save to a different name, just overwrite the original file.
Now load the file into notepad.
Turn Word Wrap OFF
Hit Ctrl-G and enter the line number you want

The purpose of loading and saving from WordPad is to change the line endings from Unix style to Windows style, so Notepad will display it correctly.

Indentation is all important in Python code so be careful about it. Do not use the tab key, just space over to line up as required.

When you get tired of the workaround I recommend MetaPad a free program that is notepad with many improvements. Just Google for it.


----------



## dwgsp

dlfl said:


> However here is a work-around for the line number problem:
> 
> Load the file into wordpad.
> Save it (Ctrl-S) -- do not save to a different name, just overwrite the original file.
> Now load the file into notepad.
> Turn Word Wrap OFF
> Hit Ctrl-G and enter the line number you want


Thanks for the workaround. I applied the tickets that you previously mentioned, but the problem still occurred. Then I decided to simplify things, so I created a new directory in the root of my system (C:\Video) and copied a file and a directory into it. Then I restarted pyTivo and everything worked.

Thinking that I had solved the problem, I copied a bunch more files and directories into C:\Video. Now I have a new problem. When I select the share from my Tivo, I can only display two screens worth of entries. In other words, I can display the first screen, then I press the CH- key and I can see the next (second) screen. But if I press CH- again, I see the first screen again instead of the next (third screen). Is there a known fix for this?

Edit: It looks like my problem may be similar to the one described in Ticket 53, except that I can display two screens while the ticket describes a problem where only one screen can be displayed.

Thanks!
/Don


----------



## philhu

wmcbrine said:


> 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?)


I installed your new overwriting photo and music modules....

Ok, photo module works like a champ.

Music, on the other hand works better, but doesnt work for me

I can browse folders in my collection levels down, but if I browse into a folder actually containing mp3 files, I get an error 3-0-65535

If I stay one level up and try to PLAY a folder containing oh a small number of songs, like 10, 13, etc, or any amount, the Tivo just says 'Please wait' forever.

So it never plays music. Tivo Desktop works on music like a champ using this same file structure.

Any ideas? I am using Master 12/09 pytivo


----------



## wmcbrine

philhu said:


> I can browse folders in my collection levels down, but if I browse into a folder actually containing mp3 files, I get an error 3-0-65535


Are you using the latest version (0.8)?

Any error messages in the pyTivo window?


----------



## philhu

wmcbrine said:


> Are you using the latest version (0.8)?
> 
> Any error messages in the pyTivo window?


Ok, I installed 0.8 of your music module.

I ran pyTivo as a cmd line program. It still dies on playing a music folder with error: 1-0-65535 or
if I try to go into the folder, an error 3-0-65535

It was about 3 folders down, and was a directory with 3 or 4 mp3 files.

Here is the cmd window errors:
C:\Program Files\TiVo\PyTivo-master>pyTivo.py
C:\Program Files\TiVo\PyTivo-master\Cheetah\Compiler.py:1508: UserWarning:
You don't have the C version of NameMapper installed! I'm disabling Cheetah's us
eStackFrames option as it is painfully slow with the Python version of NameMappe
r. You should get a copy of Cheetah with the compiled C version of NameMapper.
"\nYou don't have the C version of NameMapper installed! "
192.168.1.108 - - [28/Dec/2007 20:46:00] "GET /TiVoConnect?Command=QueryContaine
r&Container=%2F HTTP/1.0" 200 -
192.168.1.108 - - [28/Dec/2007 20:46:15] "GET /TiVoConnect?Command=QueryContaine
r&Container=MySvr%2FChuck&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-conta
iner%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/
1.1" 200 -
192.168.1.108 - - [28/Dec/2007 20:46:19] "GET /TiVoConnect?Command=QueryContaine
r&Container=%2F HTTP/1.0" 200 -
192.168.1.108 - - [28/Dec/2007 20:46:29] "GET /TiVoConnect?Command=QueryContaine
r&Container=%2F HTTP/1.0" 200 -
192.168.1.108 - - [28/Dec/2007 20:46:41] "GET /TiVoConnect?Command=QueryContaine
r&Container=MySvr-Music&Recurse=No&Filter=x-container%2Ffolder,x-container%2Fpla
ylist,audio%2F*&SortOrder=Type,Title&ItemCount=0&Details=Basic&Format=text%2Fxml
HTTP/1.0" 200 -
192.168.1.108 - - [28/Dec/2007 20:46:42] "GET /TiVoConnect?Command=QueryContaine
r&Container=MySvr-Music&Recurse=No&Filter=x-container%2Ffolder,x-container%2Fpla
ylist,audio%2F*&SortOrder=Type,Title&ItemCount=4&Details=Basic&Format=text%2Fxml
HTTP/1.0" 200 -
192.168.1.108 - - [28/Dec/2007 20:46:44] "GET /TiVoConnect?Command=QueryContaine
r&Container=MySvr-Music%2FTagged&Recurse=No&Filter=x-container%2Ffolder,x-contai
ner%2Fplaylist,audio%2F*&SortOrder=Type,Title&ItemCount=0&Details=Basic&Format=t
ext%2Fxml HTTP/1.0" 200 -
192.168.1.108 - - [28/Dec/2007 20:46:44] "GET /TiVoConnect?Command=QueryContaine
r&Container=MySvr-Music%2FTagged&Recurse=No&Filter=x-container%2Ffolder,x-contai
ner%2Fplaylist,audio%2F*&SortOrder=Type,Title&ItemCount=4&Details=Basic&Format=t
ext%2Fxml HTTP/1.0" 200 -
192.168.1.108 - - [28/Dec/2007 20:46:47] "GET /TiVoConnect?Command=QueryContaine
r&Container=MySvr-Music%2FTagged%2FMusic%20Place&Recurse=No&Filter=x-container%2
Ffolder,x-container%2Fplaylist,audio%2F*&SortOrder=Type,Title&ItemCount=0&Detail
s=Basic&Format=text%2Fxml HTTP/1.0" 200 -
192.168.1.108 - - [28/Dec/2007 20:46:47] "GET /TiVoConnect?Command=QueryContaine
r&Container=MySvr-Music%2FTagged%2FMusic%20Place&Recurse=No&Filter=x-container%2
Ffolder,x-container%2Fplaylist,audio%2F*&SortOrder=Type,Title&ItemCount=8&Detail
s=Basic&Format=text%2Fxml HTTP/1.0" 200 -
192.168.1.108 - - [28/Dec/2007 20:46:56] "GET /TiVoConnect?Command=QueryContaine
r&Container=MySvr-Music%2FTagged%2FMusic%20Place%2FArgent&Recurse=Yes&Filter=aud
io%2F*&SortOrder=Type,Title&ItemCount=1&Details=Optimal&Format=text%2Fxml HTTP/1
.0" 200 -


----------



## wmcbrine

That's the normal output -- no error messages there. Sorry, I have no clue. Does this happen for you on _any_ directory with an MP3 in it, or just _that_ one?

I'll put some more debugging statements in the next version and see if that gets us anywhere.


----------



## rgr

Running pyTiVo-2007-12-09-master-d4219 on xp running python 2.51
TiVo Series3

I've noticed that the video transferred has a small but noticeable trimming around all the edges, as if allow for some overscanning of the video. The picture is just a bit bigger than is displayed, comparing the tv image with the original avi file. Is there anyway to turn that off, or to adjust for it in the conf file? I've tried changing the aspect ratio, height, width, pre-transcoding, rolling back to the PyTiVo on 11-25 - all to no effect. Any ideas?

my PyTiVo.conf:
[MyMovies]
type = video
#path = Z:\Video
path = C:\Documents and Settings\Ron\My Documents\Video

[Server]
beacon = 192.168.10.255
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 -
port = 9032
ffmpeg = C:\Documents and Settings\Ron\Desktop\pyTivoMaster\plugins\video\ffmpeg_mp2.exe


----------



## MasterCephus

I have completed a new update to the MetaGenerator program.

You can download the new version here

It could be a little buggy as I haven't had much time to test it. If you find any bugs, let me know and I'll try to fix it really fast.

Here are some changes:

Fixes:
-fixed problem when application can't connect to sites to get data
-fixed the output of series id to seriesID instead of seriesid

New features:
-added settings feature
-can choose your default video directory
-can add the IMDB rating (X out of 10) to the end of the descriptions of movies
-can choose between a small seriesID DB and a large DB. Most common series are in the smaller db, however, if you can't find the series, try the bigger DB

I think that's it. Let me know what you guys think.

Seriously, if something is wrong with it, let me know and I will try to get out an update as fast as I can...


----------



## wmcbrine

MasterCephus said:


> -can add the IMDB rating (X out of 10) to the end of the descriptions of movies


I suggest changing it to match Tivo's star system... This is set by the "starRating" tag in the extended info. Examples:

<starRating value="3">TWO</starRating>
<starRating value="4">TWO_POINT_FIVE</starRating>
<starRating value="5">THREE</starRating>

Also, earlier in the thread, people were talking about only TV ratings (TV-14, TV-MA, etc.) being available. For movie-style ratings, you need to use the "mpaaRating" tag. Examples:

<mpaaRating value="3">PG_13</mpaaRating>
<mpaaRating value="4">R</mpaaRating>

There are also still tvRating fields present in the extended XML for the movies I've looked at ("_14" in both cases above), but these aren't displayed on the Tivo.


----------



## MasterCephus

wmcbrine,

Are those valid metadata entries for pyTivo to serve to the Tivo?



> <starRating value="3">TWO</starRating>
> <starRating value="4">TWO_POINT_FIVE</starRating>
> <starRating value="5">THREE</starRating>


I am being a little dense, but I don't understand how those figures equal each other... a value of 3 is actually 2, and 4 is really a 2.5?



> <mpaaRating value="3">PG_13</mpaaRating>
> <mpaaRating value="4">R</mpaaRating>


So can I assume that PG has a value of 2 and G has a value of 1?

Again, I can only output items that Armoo is allowing me too...does he have in pyTivo the ability to do the above items? Would it be something like: starRating : 3
mpaaRating : 3

???


----------



## dlfl

MasterCephus said:


> I have completed a new update to the MetaGenerator program.
> ...............
> Here are some changes:
> 
> Fixes:
> ..........
> -fixed the output of series id to seriesID instead of seriesid
> .........


Maybe this was just a typo but the correct label is "*seriesId*" -- see Armooo's post #1044 in this thread.


----------



## wmcbrine

MasterCephus said:


> Are those valid metadata entries for pyTivo to serve to the Tivo?


Yes, in the extended data.



> _I am being a little dense, but I don't understand how those figures equal each other... a value of 3 is actually 2, and 4 is really a 2.5?_


Since the Tivo can display half a star, each half-star apparently increments the value.

1 = ONE
2 = ONE_POINT_FIVE
...
6 = THREE_POINT_FIVE
7 = FOUR

I haven't seen those values yet, but I'm extrapolating.



> _So can I assume that PG has a value of 2 and G has a value of 1?_


So I would assume.



> _Again, I can only output items that Armoo is allowing me too...does he have in pyTivo the ability to do the above items?_


Not as yet...


----------



## MasterCephus

> Maybe this was just a typo but the correct label is "seriesId" -- see Armooo's post #1044 in this thread.


Yeah it was a typo...it now prints out as "seriesId"...

sorry for the confusion


----------



## dlfl

rgr said:


> Running pyTiVo-2007-12-09-master-d4219 on xp running python 2.51
> TiVo Series3
> 
> I've noticed that the video transferred has a small but noticeable trimming around all the edges, as if allow for some overscanning of the video. The picture is just a bit bigger than is displayed, comparing the tv image with the original avi file. Is there anyway to turn that off, or to adjust for it in the conf file? I've tried changing the aspect ratio, height, width, pre-transcoding, rolling back to the PyTiVo on 11-25 - all to no effect. Any ideas?
> ........


I don't completely understand your problem description except it is either too much or too little overscan. In either case I believe you are SOL unless you are willing to dig into the code and do some custom mods.

The ffmpeg items to control this are the padding and cropping options 
(padtop, padbottom,padleft,padright, croptop,cropbottom,cropleft and cropright). These items are all set in the function

def select_aspect(inFile, tsn = ''):

in code module transcode.py. Unfortunately the logic in this function is too complex to just give a simple recipe for how to vary these items to achieve a specific purpose. Also if your file has been declared to be a tivo-compatible mpeg2 then it never gets processed through this function anyway and is sent as-is to the TiVo box. I believe the latest code considers ALL mpeg2's as tivo-compatible for the HD and S3 tivos (based on the TSN it reads from the TiVo). Thus for these files you are at the mercy of the TiVo for how it chooses to clip/crop/overscan these files.

lf you do want to mod the code, here are the rules:

(x + paddings - crops) must equal desired-final-width/height, usually known as TIVO_WIDTH/TIVO_HEIGHT

x stands for w or h given in the -s wxh option. The equation is two equations, one for width, one for height, and the padding and crop sums are the ones applicable to the direction in question. The equations tell you how to adjust w or h depending on the other choices.

I've usually seen excess overscan on my 4:3 aspect CRT TV for transcoded files and have customized my pyTivo with top, bottom and left padding to make it better.


----------



## Sicklybutsexy

MasterCephus said:


> I have completed a new update to the MetaGenerator program.
> 
> You can download the new version here
> 
> It could be a little buggy as I haven't had much time to test it. If you find any bugs, let me know and I'll try to fix it really fast.
> 
> Here are some changes:
> 
> Fixes:
> -fixed problem when application can't connect to sites to get data
> -fixed the output of series id to seriesID instead of seriesid
> 
> New features:
> -added settings feature
> -can choose your default video directory
> -can add the IMDB rating (X out of 10) to the end of the descriptions of movies
> -can choose between a small seriesID DB and a large DB. Most common series are in the smaller db, however, if you can't find the series, try the bigger DB
> 
> I think that's it. Let me know what you guys think.
> 
> Seriously, if something is wrong with it, let me know and I will try to get out an update as fast as I can...


MasterCephus, Love the new program. So far no bugs. I especially like the addition of having a default video foler to go to. Saves a lot of clicking. Thanks and keep on keeping on...


----------



## philhu

wmcbrine said:


> That's the normal output -- no error messages there. Sorry, I have no clue. Does this happen for you on _any_ directory with an MP3 in it, or just _that_ one?
> 
> I'll put some more debugging statements in the next version and see if that gets us anywhere.


It happens on any filder that contains music files.

Tivo Desktop 2.5.1 seems to work fine with it, fyi.

I'll wait for your new version, see if the debug helps

Phil


----------



## philhu

Here they are.....If anyone wants the entire program I had written to do tivo slices to look at how i processed the XML, I'll be glad to send it.

'color values
Global Const COLOR_BW = 1
Global Const COLOR_COLOR = 4
Global Const COLOR_COLORBW = 2
Global Const COLOR_COLORIZED = 3

'bits field definitions
Global Const BITS_CC = 1 'closed caption
Global Const BITS_Stereo = 2 'Stereo
Global Const BITS_Subtitle = 4 'Subtitle
Global Const BITS_JoinedInProgress = 8 'Joined In Progress
Global Const BITS_CableInClassroom = 16 '
Global Const BITS_SAP = 32 'Second Audio Program
Global Const BITS_Blackout = 64 '
Global Const BITS_Intercast = 128 '
Global Const BITS_ThreeD = 256 '
Global Const BITS_Repeat = 512 'Repeat
Global Const BITS_Letterbox = 1024 'Letterbox
'Global Const BITS_SexRating = 2048 'Rating Advisories S
'Global Const BITS_ViolenceRating = 4096 'AV
'Global Const BITS_LanguageRating = 8192 'AL
'Global Const BITS_DialogRating = 16334 'AD
'Global Const BITS_FvRating = 32768 'AF
Global Const BITS_SexRating = 65536 'Rating Advisories S
Global Const BITS_ViolenceRating = 131072 'AV
Global Const BITS_LanguageRating = 262144 'AL
Global Const BITS_DialogRating = 524288 'AD
Global Const BITS_FvRating = 1048576 'AF

'advisories in the advisory field in the program record
Global Const ADV_Language = 1
Global Const ADV_GraphicLanguage = 2
Global Const ADV_Nudity = 3
Global Const ADV_BriefNudity = 4
Global Const ADV_GraphicViolence = 5
Global Const ADV_Violence = 6
Global Const ADV_MildViolence = 7
Global Const ADV_StrongSexualContent = 8
Global Const ADV_Rape = 9
Global Const ADV_AdultSituations = 10


----------



## MasterCephus

I think the best thing to do right now is make a list of the items that Tivo offers vs. the items that pyTivo can use.

I think one important thing that would be nice is ratings (TV such as TV-MA and Movie such as PG-13).


----------



## philhu

MasterCephus said:


> I think the best thing to do right now is make a list of the items that Tivo offers vs. the items that pyTivo can use.
> 
> I think one important thing that would be nice is ratings (TV such as TV-MA and Movie such as PG-13).


The values I show above are the advisories. Theoretically, pyTivo can set all the fields, so it might take code in pyTivo to do it, but it can take all of them to the tivo.

The mpaa ratings and or tv ratings are in the zap2it xml files.

I gave my series file with keywords we used to use.

We need to find out what fields pyTivo can take or if extra ones can be added.

So, after we get that info, my tivobits stuff, and a slice file example I posted a bit above can probably set EVERYTHING!

Tivobits are IMPORTANT! Those are the items that show in the parens in the description. And it did show rating formats


----------



## MasterCephus

> The mpaa ratings and or tv ratings are in the zap2it xml files.


From what I have read, zap2it labs have closed their free service in September this year and they no longer offer developers the ability to get their data in XML format. I tried to find some other places, but you have to pay for them (Schedules Direct), XMLTV (don't know much about it, but some people I have found have complained about them.

I don't want to screen scrape because it's usually against the websites use policy and it's really just not a nice thing to do.

The only alternative we have that I know of is what I am using already (theTVdb.com and movie-xml.com). I have posted on previous pages examples of the data that I can get from those places...so that's about as good as it's going to get.

Now if someone else knows of a better place to get the data (preferably XML) let me know and I will try to use that data...


----------



## dlfl

MasterCephus said:


> wmcbrine,
> 
> Are those valid metadata entries for pyTivo to serve to the Tivo?
> 
> I am being a little dense, but I don't understand how those figures equal each other... a value of 3 is actually 2, and 4 is really a 2.5?
> 
> So can I assume that PG has a value of 2 and G has a value of 1?
> 
> Again, I can only output items that Armoo is allowing me too...does he have in pyTivo the ability to do the above items? Would it be something like: starRating : 3
> mpaaRating : 3
> 
> ???


starRating applies only to movies AFAIK. Anyway pyTivo will handle it if you add the following code *at two places *in template TvBus.tmpl:



Code:


          <showType value="$video.showType[1]">$video.showType[0]</showType>
[COLOR="Red"]          #if $video.starRating
          <starRating value="$video.starRating[1]">$video.starRating[0]</starRating>
          #end if[/COLOR]
          <title>$escape($video.seriesTitle)</title>

The added code is marked in red (the other lines are there so you can tell where to add).

The line you need in the metadata text file is:

starRating : x#

Where # is a numeral from 0 to 7.

The actual number of stars you get is (# + 1)/2, e.g., for # = 7 you get four stars. The 'x' does nothing but must be there. This works similar to the tvRating as described in *MasterCephus* metadata notes.

Note this doesn't appear to the be the way Armooo intended this to work. From reading the code it appears a 2-tuple, e.g., (FOUR 7), is expected. However the code that reads the metadata file just reads in a string and never creates the tuple. (Or else I don't know how you format the metadata file line to make it read in as a tuple.) Thus the $video.starRating[0] is the first character of the string (e.g., 'x') and $video.starRating[1] is the second character (e.g., the #).

By serendipity, the Tivo apparently doesn't care. It ignores the 'x' and uses the # and that seems to be all it cares about, which is the same behavior noted by MasterCephus for the tvRating item. This actually simplifies things for the user since otherwise a *matching* tuple would have to be supplied -- you would have to know that FOUR goes with 7. If you supply a tvRating tuple that DOESN'T match such as (NR 5) or (_14 7) you blow off most of the metadata from the tivo display, the "common error" defined in the metadata notes (I learned by trial and error).


----------



## Eagle784

Sorry if this has already been covered, but can pytivo (or any add-on, or any other streaming solution) automatically convert and transfer files to the tivo, without having to go to the tivo to request it? Thanks.


----------



## MasterCephus

The only problem that I see is that there is no way to convert the IMDB score to a 4 star system...

by looking at the movies i have, I am looking at numbers like 5.6, 7.8, 8.6, etc...

How would you go about converting those to a 4 star system?


----------



## Eagle784

MasterCephus said:


> The only problem that I see is that there is no way to convert the IMDB score to a 4 star system...
> 
> by looking at the movies i have, I am looking at numbers like 5.6, 7.8, 8.6, etc...
> 
> How would you go about converting those to a 4 star system?


Divide the IMDB score by 2.5 and round to the nearest half a star?


----------



## rgr

dlfl said:


> lf you do want to mod the code, here are the rules:
> 
> (x + paddings - crops) must equal desired-final-width/height, usually known as TIVO_WIDTH/TIVO_HEIGHT
> 
> x stands for w or h given in the -s wxh option. The equation is two equations, one for width, one for height, and the padding and crop sums are the ones applicable to the direction in question. The equations tell you how to adjust w or h depending on the other choices.


Thanks for the advice and the pointer on where to look to make a mod. I've modded my transcode.py so that I now see the entire video have a really thin black border around the transcoded video.

Much appreciated!


----------



## wgw

MasterCephus said:


> The only problem that I see is that there is no way to convert the IMDB score to a 4 star system...
> 
> by looking at the movies i have, I am looking at numbers like 5.6, 7.8, 8.6, etc...
> 
> How would you go about converting those to a 4 star system?


You could multiply by 0.749 and round up or down to nearest whole number. This should ensure you always get a number between 1 and 7.

I would still like to see the IMDB rating at the end of the description though. It's more meaningful than the old four star system.


----------



## MasterCephus

> You could multiply by 0.7499 and round up or down to nearest whole number. This should ensure you always get a number between 1 and 7.
> 
> I would still like to see the IMDB rating at the end of the description though. It's more meaningful than the old four star system.


Yeah I was going to keep that at the end anyways...

Is everyone ok with doing the stars like this? If so, I will add this into the next release of the MetaGenerator...


----------



## hotwire32

Okay here is what I did, I installed 182_setup. That worked great except for the subfolders and lack of MetaData.

So I downloaded D4219 exctracted it, copied it to the pyTivo folder, and made the adjustments in the wiki tickets and now I can't see the pyTivo shares. My config.py is pretty basic am I missing stuff and that's why I'm not see in these any more?

[TiVoMovies]
type = video
path = \\linkstation1\usbdisk1\~Movies

[Server]
ffmpeg = C:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
auto_subshares = True
width = 544
guid = {E01E82E2-65E0-4740-B795-C1CCA3391022}
port = 9032

[Smallville]
type = video
path = \\linkstation1\usbdisk1\Smallville

[Melrose Place]
type = video
path = \\linkstation1\usbdisk2\Melrose Place

[Drive2]
type = video
path = \\linkstation1\usbdisk2

[Drive1]
type = video
path = \\linkstation1\usbdisk1

BTW I love the pyTivo MetaData generator


----------



## dlfl

hotwire32 said:


> Okay here is what I did, I installed 182_setup. That worked great except for the subfolders and lack of MetaData.
> 
> So I downloaded D4219 exctracted it, copied it to the pyTivo folder, and made the adjustments in the wiki tickets and now I can't see the pyTivo shares. My config.py is pretty basic am I missing stuff and that's why I'm not see in these any more?
> 
> [TiVoMovies]
> type = video
> path = \\linkstation1\usbdisk1\~Movies
> 
> [Server]
> ffmpeg = C:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
> auto_subshares = True
> width = 544
> guid = {E01E82E2-65E0-4740-B795-C1CCA3391022}
> port = 9032
> 
> [Smallville]
> type = video
> path = \\linkstation1\usbdisk1\Smallville
> 
> [Melrose Place]
> type = video
> path = \\linkstation1\usbdisk2\Melrose Place
> 
> [Drive2]
> type = video
> path = \\linkstation1\usbdisk2
> 
> [Drive1]
> type = video
> path = \\linkstation1\usbdisk1
> 
> BTW I love the pyTivo MetaData generator


Just a hunch but set up a share on your C: drive. I suspect it's related to the double backslashes.

Also the auto_subshares must be within a share section(s).


----------



## wmcbrine

philhu said:


> I'll wait for your new version, see if the debug helps


It was up before you posted...


----------



## hotwire32

dlfl said:


> Just a hunch but set up a share on your C: drive. I suspect it's related to the double backslashes.
> 
> Also the auto_subshares must be within a share section(s).


The double slashes are the only way I could get the network drives to show up in the 182 version. Is this were the auto_subshares should go? Here is how I've change the pyTivo.conf:

[TiVoMovies]
type = video
path = \\linkstation1\usbdisk1\~Movies

[Smallville]
type = video
path = \\linkstation1\usbdisk1\Smallville

[Melrose Place]
type = video
path = \\linkstation1\usbdisk2\Melrose Place

[Drive2]
type = video
auto_subshares = True
path = \\linkstation1\usbdisk2

[Drive1]
type = video
auto_subshares = True
path = \\linkstation1\usbdisk1

[Server]
ffmpeg = C:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
width = 544
guid = {E01E82E2-65E0-4740-B795-C1CCA3391022}
port = 9032


----------



## MasterCephus

what I do is just map a networked drive and use the drive letter....I've had no problems...


----------



## hotwire32

MasterCephus said:


> what I do is just map a networked drive and use the drive letter....I've had no problems...


Okay I've changed to local drives and pyTivo still isn't showing up on the list any more 

[TiVoMovies]
type = video
path = v:\~Movies

[Smallville]
type = video
path = v:\Smallville

[Melrose Place]
type = video
path = U:\Melrose Place

[Drive2]
path = u:\
type = video
auto_subshares = True

[Server]
ffmpeg = C:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
guid = {E01E82E2-65E0-4740-B795-C1CCA3391022}
port = 9032
width = 544

[Drive1]
path = v:\
type = video
auto_subshares = True


----------



## wgw

You can't set path to the drives root, only a subfolder.


----------



## hotwire32

wgw said:


> You can't set path to the drives root, only a subfolder.


Really that's odd because with the 182 version I can. I've rolled back to 182 and I'm using the following pyTivo.conf:
[TiVoMovies]
type = video
path = \\linkstation1\usbdisk1\~Movies

[Smallville]
path = \\linkstation1\usbdisk1\Smallville
type = video
auto_subshares = True

[Melrose Place]
path = \\linkstation1\usbdisk2\Melrose Place
type = video
auto_subshares = True

[Drive2]
type = video
auto_subshares = True
path = \\linkstation1\usbdisk2

[Server]
guid = {E01E82E2-65E0-4740-B795-C1CCA3391022}
port = 9032
width = 544
ffmpeg = C:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe

[Drive1]
type = video
auto_subshares = True
path = \\linkstation1\usbdisk1

Aside from subfolders and meta data not working I can view all of my shows that are at the top level. I would just rather not have them all have to be in one big long list (this is also the same share for my LinkTheater systems)


----------



## wmcbrine

I'm now using git as (I think) armooo intended... check out my fork here:

http://repo.or.cz/w/pyTivo/wmcbrine.git

And even if you don't want to use git, you can grab a complete package from the "snapshot" link off of any item on that page (preferably the topmost).


----------



## dlfl

wmcbrine said:


> I'm now using git as (I think) armooo intended... check out my fork here:
> 
> http://repo.or.cz/w/pyTivo/wmcbrine.git
> 
> And even if you don't want to use git, you can grab a complete package from the "snapshot" link off of any item on that page (preferably the topmost).


What is this? d4219 with all the subsequent ticket fixes ? I hope so -- will save new users and me a lot of posting time.

Note: The snapshot downloads are .Tar.gz format. Windows users will want to install something like ***7-zip*** to extract from them. This is a *free* nifty solid utility that I can recommend. It also unpacks .rar files.


----------



## Warren

I am so confused trying to get this to work.

can't you just make an installer that installs and configs everything on its own?


----------



## dlfl

Warren said:


> I am so confused trying to get this to work.
> 
> can't you just make an installer that installs and configs everything on its own?


A windows installer isn't too hard to create although instructions for installing from a .zip or Tar.gz are pretty simple :

Double-click the zip file to open it (or open the Tar.gz download using 7-Zip, see post #1541). Select everything in the pyTivo folder (use Ctrl-A) and drag it to whatever folder location you choose. The location and name of the installation folder are not important as long as the ffmpeg path in your pyTivo.conf file is correct.

The hard part is the configuration file (pyTivo.conf) which must be created and customized to your hardware/software setup. (pyTivo.conf.dist is a rather poor example of such a file).

If you supply the info below I or an OP will put together a config file for you:

What model is your TiVo? Are you widescreen or normal? 
What is the path where you will install to (e.g., c:\Program Files\PyTivo\)?
What path(s) for your video share folder(s) (where you will keep the video files)?
What path(s) for photos and music (all optional - don't have to have them)?

Configuration gets a little more complicated for a Tivo HD or S3 model, in which case there may be a few more questions.


----------



## wmcbrine

dlfl said:


> What is this? d4219 with all the subsequent ticket fixes ?


No, it's just with _my_ changes. I haven't really looked into the other tickets (yet?), although I can say that at least your ticket #62 issue is fixed.


----------



## jaj2276

dlfl said:


> A windows installer isn't too hard to create although instructions for installing from a .zip or Tar.gz are pretty simple :
> 
> Double-click the zip file to open it (or open the Tar.gz download using 7-Zip, see post #1541). Select everything in the pyTivo folder (use Ctrl-A) and drag it to whatever folder location you choose. The location and name of the installation folder are not important as long as the ffmpeg path in your pyTivo.conf file is correct.
> 
> The hard part is the configuration file (pyTivo.conf) which must be created and customized to your hardware/software setup. (pyTivo.conf.dist is a rather poor example of such a file).
> 
> If you supply the info below I or an OP will put together a config file for you:
> 
> What model is your TiVo? Are you widescreen or normal?
> What is the path where you will install to (e.g., c:\Program Files\PyTivo\)?
> What path(s) for your video share folder(s) (where you will keep the video files)?
> What path(s) for photos and music (all optional - don't have to have them)?
> 
> Configuration gets a little more complicated for a Tivo HD or S3 model, in which case there may be a few more questions.


I'll take you up on that offer.

I have a TivoHD with a 16:9 tv.

Please let me know the other questions and I'll be happy to answer (because of course your advice is free!). Take your time, everything is working fine (I'm xfering some xvid videos to the tivo now and they're playing correctly (and nicely). I'm just looking for some optimal settings.


----------



## dlfl

jaj2276 said:


> I'll take you up on that offer.
> 
> I have a TivoHD with a 16:9 tv.
> 
> Please let me know the other questions and I'll be happy to answer (because of course your advice is free!). Take your time, everything is working fine (I'm xfering some xvid videos to the tivo now and they're playing correctly (and nicely). I'm just looking for some optimal settings.


Good!

Since you are doing so well already and I don't have a HD Tivo, I'm going to let OP fill you in on the optimal settings. Also, if you search this thread over the last two months you will find a lot about optimizing for HD tivos. If you go for very high video bitrates and sizes you may have slow transfer times and TiVo video decoder artifacts. But lower values may not give you the quality you want. See this post for one person's preferences -- but that was for an S3 and he wanted 5.1 Dolby audio.

I'm curious, what version of pyTivo are you running?


----------



## jaj2276

dlfl said:


> <stuff deleted>
> 
> I'm curious, what version of pyTivo are you running?


I am running 2.08. I'm assuming the versions with dates are experimental, which is why I didn't download those.

I'll definitely try those HD settings. It will be interesting to see if the quality improves and how much the xfers slow.


----------



## KRKeegan

I am glad to see pyTivo still running strong. It is also nice to see that other developers have started contributing to the program as well.

Sorry I left you all, but my time has been taken up by other projects. After a few months away I no longer had any desire to work on pyTivo because it had reached a functionality that I was satisfied with.

However, I recently got a new TiVoHD and noticed a few errors with pyTivo in the subfolders hack.

First, let me just say I have read many upset posts from users about the poor functionality of subfolders and the 8.3Hack. I am sorry, but this is nothing I can control. TiVo Corp. broke the subfolders functionality in Version 8.3 of the firmware and it has not been fixed yet. I have even contacted TiVo developers directly and have still not received any resolution. The subfolders hack is just that, a hack. TiVo sends extraneous requests and I have done my best to interpret what it wants based on those requests. 

Personally I run the subfolders hack and I have very little issues with it. I have more than 80 seperate folders and subfolders, thus the auto_share option would be unusable for me.

However, recently I noticed that pyTivo would cause a TiVo reboot under certain circumstances on my TiVoHD. So I investigated the problem a little, and I came up with a solution. But I need to know if this solution should be applied to TiVoHD units only or all TiVo units.

Here is what I need:
1. A TiVo Series 2 user, (Maybe even a series 3 user too?)
2. Running the subfolders hack of pytivo

Can you run the following test for me, beware it caused my TiVo to reboot(this is what I am trying to fix).

Open a pyTivo share -> open a subfolder -> select a file and view its details -> use the left arrow to exit the file details

At this point my TiVoHD would crash. Can you tell me what happens with you tivo? Did it reboot? Are you taken back to the correct folder listing? If your TiVo doesn't reboot can you try this a few times on different subfolders. And possibly even deep subfolders(pytivo share->folder->subfolder->subfolder->file)

Thank you for your help.


On another note, I was able to completely remove the width and height info in my ffmpeg command on my TiVoHD. It seems the TiVoHD can accept any dimension of video. Now ffmpeg passes the video to the TiVo in the same dimension as the source file. It makes a few videos much clearer.

Kevin


----------



## dlfl

Does the subfolders version handle metadata? Where does it stand in regard to tickets 56-58 and 62?


----------



## dlfl

wmcbrine said:


> No, it's just with _my_ changes. I haven't really looked into the other tickets (yet?), although I can say that at least your ticket #62 issue is fixed.


If you could incorporate the Ticket 56-58 fixes into your Git version we should have a solid non-subfolders version that can be recommended for new users.


----------



## wmcbrine

dlfl said:


> If you could incorporate the Ticket 56-58 fixes into your Git version we should have a solid non-subfolders version that can be recommended for new users.


I've added 57. I reject 58 for my fork, at least for now -- see my comments on the tracker. I'll accept it if armooo does (though I don't think he will). And I'm not quite happy with 56, but I'll consider it some more.


----------



## dlfl

wmcbrine said:


> I've added 57. I reject 58 for my fork, at least for now -- see my comments on the tracker. I'll accept it if armooo does (though I don't think he will). And I'm not quite happy with 56, but I'll consider it some more.


Thanks, but ...

Ticket 58 addresses this problem:


> ....for files that don't have metadata text files paired with them, the name displayed on the NPL is the subfolder containing the file, which is nondescript and confusing.


I read your tracker comment and see your point but this bug causes two or more files to show up on the NPL *listed separately all named with the shared folder name*. This is bothersome enough behavior that I wouldn't want to recommend it to a new user who might not be using metadata at least initially. There is no way to ID the file based on what's in the NPL.

Regarding 56, this was based on the experience of one user that his TiVo did not accept the ts as compatible even though theoretically it is a form of mpeg2. All the fix does is force transcoding to mpeg2.


----------



## lrhorer

OK, I've tried pyTiVo and Galleon under several different platforms and I've tried TiVo Desktop. I've also read through this thread, and now I've got to admit I'm a little confused. I hope someone here can set the record straight.

Before I begin, let me say that I do not intend for this to devolve into a pissing match over which software is better. I only want to clarify what is available and what is not, and perhaps pinpoint the source of a couple of bugs. To that end, I am going to lay out my understanding - incorrect as it may be - of the state of folder support, and ask anyone who really knows to correct any errors which are in those statements. If this for some reason incites anyone to flames, please take it elsewhere.

TiVo Desktop, of course, just doesn't support folders. Both Galleon and pyTiVo support folders in roughly the same way, and the result is roughly the same for both on the TiVo NPL. To wit, the user may configure one or more source folders to be used as fields in the NPL. Each folder so configured shows up as a separate entry in the NPL. Selecting the folder in question opens it for browsing, including any sub-folders within. All the sub-folders persistently show (0) as the number of contained items irrespective of the actual number of items in the sub-folder. Selecting one of the sub-folders opens it for viewing, but any attempt to go back to the parent folder and open a different sub-folder only results in the listing from the first sub-folder being displayed. The only way I have found to clear this is to go back to the root of the NPL, select one of the native TiVo folders, and enter it. The user may then select another of the 3rd party sub-folders at which point its contents become the only ones displayed for sub-folders.

Reading through this thread, it seemed to me as if there might be a software work-around for this bug in pyTiVo. Am I mistaken? Speaking with one of the Galleon developers, he believed the bug was actually in the HME protocol, in which case, he could not think of any resolution on his part. My own investigations sniffing the packets being transferred back and forth suggest he might be correct. If there is a software work-around for pyTiVo, what is it, and how does it work? Or is it perhaps that the Galleon developer and I are incorrect, and either the bug is in both Galleon and the release of pyTiVo I have, or else there is another way of handling sub-folders?


----------



## wmcbrine

There are _two_ workarounds. One is the "subfolders" version of pyTivo; the other is the "auto_subshares" option (under a share in pyTivo.conf), which automatically creates top-level shares for every subdirectory. And yes, AFAICT, the bug is on Tivo's side -- it makes a bogus request for the contents of the old folder as well as the new one, for no apparent reason. (You can watch the requests as they come in.)

BTW, it's not HME, it's HMO. HMO is the older, web-server-based system for transferring music, photos, and video, using a GUI that's built-in to the Tivo. HME is the new thing that acts more like an X server. pyTivo is an HMO server, as are Tivo Desktop and JavaHMO. Galleon is basically HME, but not for the video transfers -- that can only be handled by HMO (specifically, by TivoToComeBack, which is the undocumented arm of HMO).


----------



## dlfl

The pyTivo download has not been updated since 9 Dec 07 and a number of bug fixes and enhancements have occurred since then.

I've put together a zip download on mediafire.com (non sub-folders version) that I recommend, described as follows:

The starting point was *wmcbrine*'s Git fork (see post #1540, this thread) and thus it includes his major reworks of plugin.py and the music and photo plugins.

I made two additional changes:
1. Included the mod described in ticket #58 of the pyTivo wiki.
2. Substituted a much later version (11051) of ffmpeg which I have tested and which handles some files not handled by the normally distributed version.

My hope is that if new users start with this code package, many posts caused by bugs in the current wiki downloads can be avoided.

This download (like the wiki downloads) does NOT include the configuration file (pyTivo.conf) and that will continue to be a source of posts -- unavoidable due to the wide variety of software/network/hardware configurations that exist.

New users are advised to read the installation and configuration portions of the wiki which are somewhat incomplete and out of date but still worth reading -- then scan the posts in this thread -- *then* post their questions about configuration.


----------



## etsolow

dlfl said:


> The pyTivo download has not been updated since 9 Dec 07 and a number of bug fixes and enhancements have occurred since then.
> 
> I've put together a zip download on mediafire.com (non sub-folders version) that I recommend, described as follows:
> 
> The starting point was *wmcbrine*'s Git fork (see post #1540, this thread) and thus it includes his major reworks of plugin.py and the music and photo plugins.
> 
> I made two additional changes:
> 1. Included the fix in ticket #58 of the pyTivo wiki.
> 2. Substituted a much later version (11051) of ffmpeg which I have tested and which handles some files not handled by the normally distributed version.
> 
> My hope is that if new users start with this code package, many posts caused by bugs in the current wiki downloads can be avoided.
> 
> This download (like the wiki downloads) does NOT include the configuration file (pyTivo.conf) and that will continue to be a source of posts -- unavoidable due to the wide variety of software/network/hardware configurations that exist.
> 
> New users are advised to read the installation and configuration portions of the wiki which are somewhat incomplete and out of date but still worth reading -- then scan the posts in this thread -- *then* post their questions about configuration.


Using your package, I can't seem to get past the first page of listings on any pyTivo share. Any idea why not?


----------



## philhu

MasterCephus said:


> Yeah I was going to keep that at the end anyways...
> 
> Is everyone ok with doing the stars like this? If so, I will add this into the next release of the MetaGenerator...


Yes, this would be great!

The multiply and divde scenario you all posted is how I handled it in parsexmlguide.vb

Does metagenerator or pyTivo support episode numbers? If they would, then the data is also available right up on imdb


----------



## TreborPugly

KRKeegan said:


> Here is what I need:
> 1. A TiVo Series 2 user, (Maybe even a series 3 user too?)
> 2. Running the subfolders hack of pytivo
> 
> Can you run the following test for me, beware it caused my TiVo to reboot(this is what I am trying to fix).
> 
> Open a pyTivo share -> open a subfolder -> select a file and view its details -> use the left arrow to exit the file details
> 
> At this point my TiVoHD would crash. Can you tell me what happens with you tivo? Did it reboot? Are you taken back to the correct folder listing? If your TiVo doesn't reboot can you try this a few times on different subfolders. And possibly even deep subfolders(pytivo share->folder->subfolder->subfolder->file)
> 
> Thank you for your help.


Kevin,

I've got a series 2, and I've found this crash behavior to be consistent, since I got a version 9.x of the Tivo software. If I follow your procedure, I always get a reboot now. It doesn't matter how deep I am in a subfolder. 
When I back out with the left arrow, I briefly see a partial listing of the folder I came from (I think -- I can check this if you need me to), and then the Tivo reboots. I always know it is going to happen because it always looks wrong as soon as I back out of the details. The crash will also occur if you start a transfer, and then try to go back to the folder rather than play the file, and also if you play the file through to the end, and finish, without jumping out at some time using the TiVo button. (ie, finish recording, delete it or choose to keep it - then it tries to go back to the folder, just like if you back out of the file details view)

The very clunky work-around for me is to always go right to the file I want to transfer, start the transfer, and then use the TiVo button to go back to the main menu before watching the show.

I'm very excited to see you back on the case!


----------



## philhu

wmcbrine said:


> It was up before you posted...


Ok I grabbed your 0.9 music plugin.

It still doesnt work, but I turned on debug, it really looks like it thinks it is some kind of video. It happens in any directory in my music library. Tivo 
Desktop 2.5.1 plays it all fine. It seems to also get mad at non sound files in the directories

Here is my config:

=================================
[Server]
port=9032

ffmpeg=c:\Program Files\TiVo\pyTivo-master\plugins\video\ffmpeg_mp2.exe
#ffmpeg=/usr/bin/ffmpeg
debug=true

#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=192.168.1.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 -
aspect169=true
width=1440
height=720
audio_br=320K
video_br=12Mi
#ffmpeg_prams=-i %(in_file)s -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 -
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]

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

#Path is the full path to your files (No trailing slash needed)
path=I:\TV_Underground
#Make all subfolders in to top level shares
auto_subshares= True

##You can have more than one share
[MySvr-Music]
type=music
path=E:\MP3s

[MySvr-Photos]
type=photo
path=E:\Kodak Pictures

==============================

Here is the debug output:
video_info: ffmpeg output= FFmpeg version SVN-r8047, Copyright (c) 2000-2007 Fabrice Bellard, et al.

configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-liba52 --enable-avisynth --enable-libdts --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libogg --enable-libtheora --enable-libvorbis --enable-x264 --enable-xvid --enable-amr_nb --enable-amr_wb --cpu=i686 --enable-memalign-hack --extra-ldflags=-static

libavutil version: 49.3.0

libavcodec version: 51.34.0

libavformat version: 51.10.0

built on Feb 21 2007 23:20:24, gcc: 4.3.0 20070126 (experimental)

E:\MP3s\atrontc.err: Unknown format

video_info: failed at codec
supported_format: E:\MP3s\atrontc.err is not supported
video_info: ffmpeg output= FFmpeg version SVN-r8047, Copyright (c) 2000-2007 Fabrice Bellard, et al.

configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-liba52 --enable-avisynth --enable-libdts --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libogg --enable-libtheora --enable-libvorbis --enable-x264 --enable-xvid --enable-amr_nb --enable-amr_wb --cpu=i686 --enable-memalign-hack --extra-ldflags=-static

libavutil version: 49.3.0

libavcodec version: 51.34.0

libavformat version: 51.10.0

built on Feb 21 2007 23:20:24, gcc: 4.3.0 20070126 (experimental)

E:\MP3s\atrontc.stats: Unknown format

video_info: failed at codec
supported_format: E:\MP3s\atrontc.stats is not supported
video_info: ffmpeg output= FFmpeg version SVN-r8047, Copyright (c) 2000-2007 Fabrice Bellard, et al.

configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-liba52 --enable-avisynth --enable-libdts --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libogg --enable-libtheora --enable-libvorbis --enable-x264 --enable-xvid --enable-amr_nb --enable-amr_wb --cpu=i686 --enable-memalign-hack --extra-ldflags=-static

libavutil version: 49.3.0

libavcodec version: 51.34.0

libavformat version: 51.10.0

built on Feb 21 2007 23:20:24, gcc: 4.3.0 20070126 (experimental)

E:\MP3s\atrontc.vtc: Unknown format

video_info: failed at codec
supported_format: E:\MP3s\atrontc.vtc is not supported
video_info: ffmpeg output= FFmpeg version SVN-r8047, Copyright (c) 2000-2007 Fabrice Bellard, et al.

configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-liba52 --enable-avisynth --enable-libdts --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libogg --enable-libtheora --enable-libvorbis --enable-x264 --enable-xvid --enable-amr_nb --enable-amr_wb --cpu=i686 --enable-memalign-hack --extra-ldflags=-static

libavutil version: 49.3.0

libavcodec version: 51.34.0

libavformat version: 51.10.0

built on Feb 21 2007 23:20:24, gcc: 4.3.0 20070126 (experimental)

E:\MP3s\readme_3_2_25.txt: Unknown format

video_info: failed at codec
supported_format: E:\MP3s\readme_3_2_25.txt is not supported
video_info: E:\MP3s\atrontc.err cache hit! 
supported_format: E:\MP3s\atrontc.err is not supported
video_info: E:\MP3s\atrontc.stats cache hit! 
supported_format: E:\MP3s\atrontc.stats is not supported
video_info: E:\MP3s\atrontc.vtc cache hit! 
supported_format: E:\MP3s\atrontc.vtc is not supported
video_info: E:\MP3s\readme_3_2_25.txt cache hit! 
supported_format: E:\MP3s\readme_3_2_25.txt is not supported
video_info: ffmpeg output= FFmpeg version SVN-r8047, Copyright (c) 2000-2007 Fabrice Bellard, et al.

configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-liba52 --enable-avisynth --enable-libdts --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libogg --enable-libtheora --enable-libvorbis --enable-x264 --enable-xvid --enable-amr_nb --enable-amr_wb --cpu=i686 --enable-memalign-hack --extra-ldflags=-static

libavutil version: 49.3.0

libavcodec version: 51.34.0

libavformat version: 51.10.0

built on Feb 21 2007 23:20:24, gcc: 4.3.0 20070126 (experimental)

Input #0, image2, from 'E:\MP3s\Tagged\Music Place\101 Strings\folder.jpg':

Duration: 00:00:00.0, start: 0.000000, bitrate: N/A

Stream #0.0: Video: mjpeg, yuvj420p, 297x300, 25.00 fps(r)

Must supply at least one output file

video_info: Codec= mjpeg width= 297 height= 300 fps= 25.00 millisecs= 0 
video_info: ffmpeg output= FFmpeg version SVN-r8047, Copyright (c) 2000-2007 Fabrice Bellard, et al.

configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-liba52 --enable-avisynth --enable-libdts --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libogg --enable-libtheora --enable-libvorbis --enable-x264 --enable-xvid --enable-amr_nb --enable-amr_wb --cpu=i686 --enable-memalign-hack --extra-ldflags=-static

libavutil version: 49.3.0

libavcodec version: 51.34.0

libavformat version: 51.10.0

built on Feb 21 2007 23:20:24, gcc: 4.3.0 20070126 (experimental)

E:\MP3s\Tagged\Music Place\101 Strings\JpgPlaylist.sls: Unknown format

video_info: failed at codec
supported_format: E:\MP3s\Tagged\Music Place\101 Strings\JpgPlaylist.sls is not supported
video_info: E:\MP3s\Tagged\Music Place\101 Strings\folder.jpg cache hit! 
video_info: E:\MP3s\Tagged\Music Place\101 Strings\JpgPlaylist.sls cache hit! 
supported_format: E:\MP3s\Tagged\Music Place\101 Strings\JpgPlaylist.sls is not supported
video_info: E:\MP3s\Tagged\Music Place\101 Strings\folder.jpg cache hit! 
video_info: E:\MP3s\Tagged\Music Place\101 Strings\folder.jpg cache hit! 
tivo_compatible: E:\MP3s\Tagged\Music Place\101 Strings\folder.jpg is not mpeg2video it is mjpeg 
video_info: E:\MP3s\Tagged\Music Place\101 Strings\folder.jpg cache hit!


----------



## dlfl

etsolow said:


> Using your package, I can't seem to get past the first page of listings on any pyTivo share. Any idea why not?


I don't see this problem on my Series 2 DT TiVo. I have several shares with more than 3 pages of videos in them. I tried it with and without the auto_subshares too.

Have you previously used a version that did not have this problem?

I wonder if this is specific to certain TiVo models. Does it happen on all your TiVos?

This seems to match Ticket #53 and it doesn't look like anyone has addressed that problem.

Another user reported a similar problem in post #1506 of this thread but don't know what TiVo model they were using.

Anyone else seeing this problem? (Please give your TiVo model and pyTivo software version and operating system.)


----------



## lrhorer

wmcbrine said:


> There are _two_ workarounds. One is the "subfolders" version of pyTivo; the other is the "auto_subshares" option (under a share in pyTivo.conf), which automatically creates top-level shares for every subdirectory.


OK, I read this, but don't quite know the difference. Are they different builds, or just different ways of configuring pyTivo. Unless I am missing something, top level folders don't work very well. Every episode of a series shows up with the same name, where as with subfolders, the series name is stripped away and the episode name is used.



wmcbrine said:


> And yes, AFAICT, the bug is on Tivo's side -- it makes a bogus request for the contents of the old folder as well as the new one, for no apparent reason. (You can watch the requests as they come in.)


Yeah, I noticed that when I looked at the data packets streaming across the LAN. I take it you haven't had any more luck than any other developer with getting TiVo to address the issue?



wmcbrine said:


> BTW, it's not HME, it's HMO. HMO is the older, web-server-based system for transferring music, photos, and video, using a GUI that's built-in to the Tivo. HME is the new thing that acts more like an X server. pyTivo is an HMO server, as are Tivo Desktop and JavaHMO. Galleon is basically HME, but not for the video transfers -- that can only be handled by HMO (specifically, by TivoToComeBack, which is the undocumented arm of HMO).


OH, OK. I hadn't seen a reference to HMO in quite some time, but I did read a bit about HME, and I just assumed HME was the foundation upon which HMO applications were built.


----------



## wgw

It appears that ffmpeg r11306 introduces a new error not seen in previous versions. Avoid this version with pyTivo. "Can not resample 6 channels @ 48000 Hz to 2 channels @ 44100 Hz"


Code:


FFmpeg version Sherpya-r11306, Copyright (c) 2000-2007 Fabrice Bellard, et al.
  libavutil version: 49.6.0
  libavcodec version: 51.49.0
  libavformat version: 52.3.0
  built on Dec 23 2007 08:25:50, gcc: 4.2.2 [Sherpya]
Input #0, mpegts, from 'i:\_tivo/_TVAP/QSF/Samantha Who - test.ts':
  Duration: 00:03:55.8, start: 0.343867, bitrate: 15046 kb/s
  Program 1
    Stream #0.0[0x1000]: Video: mpeg2video, yuv420p, 1280x720 [PAR 1:1 DAR 16:9]
, 19000 kb/s, 59.94 tb(r)
    Stream #0.1[0x1001]: Audio: liba52, 48000 Hz, 5:1, 384 kb/s
Output #0, vob, to 'pipe:':
    Stream #0.0: Video: mpeg2video, yuv420p, 720x480 [PAR 32:27 DAR 16:9], q=2-3
1, 8000 kb/s, 29.97 tb(c)
    Stream #0.1: Audio: mp2, 44100 Hz, stereo, 384 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
No accelerated IMDCT transform found
Press [q] to stop encoding
Resampling with input channels greater than 2 unsupported.
Can not resample 6 channels @ 48000 Hz to 2 channels @ 44100 Hz


----------



## MasterCephus

> Yes, this would be great!
> 
> The multiply and divde scenario you all posted is how I handled it in parsexmlguide.vb
> 
> Does metagenerator or pyTivo support episode numbers? If they would, then the data is also available right up on imdb


I am already capturing the episode number, but I don't think I am writing it out to the file.

I am not sure if pyTivo allows you to use it yet...I'll have to look.

Also, please read my post here. I am not capturing data from zap2it or IMDB. I don't believe I will be able to capture data from zap2it without screen scraping (which isn't a good thing to do) and IMDB is really weird about how to get their data (they want you to host your own data and only offer text files to create your DB)...so I found these two places which they seem to be a really good solution. A lot of HTCs are using these two places to get their data so it must be ok.

If anyone else knows of a data source we can use (and how to get the data, not just saying IMDB is good) then I will definitely look at it....


----------



## etsolow

dlfl said:


> I don't see this problem on my Series 2 DT TiVo. I have several shares with more than 3 pages of videos in them. I tried it with and without the auto_subshares too.
> 
> Have you previously used a version that did not have this problem?
> 
> I wonder if this is specific to certain TiVo models. Does it happen on all your TiVos?
> 
> This seems to match Ticket #53 and it doesn't look like anyone has addressed that problem.
> 
> Another user reported a similar problem in post #1506 of this thread but don't know what TiVo model they were using.
> 
> Anyone else seeing this problem? (Please give your TiVo model and pyTivo software version and operating system.)


It was on a Humax DVDTiVo (model 595). I have another identical TiVo that I haven't tested yet, and an S3 that I haven't tested yet. I had to revert back to allow some movies to be watched!  I've been using a previous version that doesn't have this problem, but I'm embarrassed to admit that I've lost track of what version it is, with all the fiddling around I've been doing. Is there a quick way to tell?

ETA: Running on Windows Vista Ultimate.


----------



## dlfl

MasterCephus said:


> I am already capturing the episode number, but I don't think I am writing it out to the file.
> 
> I am not sure if pyTivo allows you to use it yet...I'll have to look.
> 
> ...........


AFAIK, pyTivo does not handle the episode number.

You could consider doing it the way my two programs (which read the metadata from .tivo files, see links below) do:

I incorporate the seriesTitle, episode# (if it exists) and episodeTitle (if it exists) in the "title" metadata field, e.g.:

title : CSI: Miami (#508) - High Octane

This seems to work out well. To see how it displays, just mod one of your existing metadata files with dummy data in the title item and select the video from the NPL.


----------



## dlfl

etsolow said:


> It was on a Humax DVDTiVo (model 595). I have another identical TiVo that I haven't tested yet, and an S3 that I haven't tested yet. I had to revert back to allow some movies to be watched!  I've been using a previous version that doesn't have this problem, but I'm embarrassed to admit that I've lost track of what version it is, with all the fiddling around I've been doing. Is there a quick way to tell?
> 
> ETA: Running on Windows Vista Ultimate.


Be curious to see what it does on the S3.

Don't know any way to tell pyTivo versions.

Hmmm... Vista. I wonder if another user could test this code on Vista and report whether they have the same problem. Are you running with Admin privileges?


----------



## etsolow

dlfl said:


> Are you running with Admin privileges?


Yep.


----------



## dlfl

etsolow said:


> Yep.


It would be interesting (if you're willing) to download *wmcbrine*'s snapshot and see if it behaves the same way (i.e., to see if I corrupted it when I created the zip and added my two mods).

One of the lucky 200 eh? That means lucky enough to pay $800, right?  (I'm just envious.) Looks like you're also an early TiVo adopter.


----------



## etsolow

dlfl said:


> It would be interesting (if you're willing) to download *wmcbrine*'s snapshot and see if it behaves the same way (i.e., to see if I corrupted it when I created the zip and added my two mods).


OK, I downloaded that version and it works fine on both my 595 and the S3. So I went back to your version, and now it works fine on both too. Go figure! I'll stick with yours, as I prefer the way you handle files without metadata.

Thanks!



dlfl said:


> One of the lucky 200 eh? That means lucky enough to pay $800, right?  (I'm just envious.) Looks like you're also an early TiVo adopter.


Yes I paid $800, but that's actually a reference to the 200 Tivo.com orders that were "lost" on day one of the S3's availability. The subsequent debacle almost made some of us rethink our relationship with TiVo.


----------



## MasterCephus

I updated the pyTivo wiki with information about the metadata feature. I created a metadata page that has all data from the notes that was created by Ruttmeister.

The links for the pages is under the "Special Features" section of the home page.

Hopefully this will help new people understand the whole metadata feature in pyTivo...

pyTivo home page


----------



## dlfl

MasterCephus said:


> I updated the pyTivo wiki with information about the metadata feature. I created a metadata page that has all data from the notes that was created by Ruttmeister.
> 
> The links for the pages is under the "Special Features" section of the home page.
> 
> Hopefully this will help new people understand the whole metadata feature in pyTivo...
> 
> pyTivo home page


Good Job!

I will be adding links and a description page for pyTivoMetaGen soon.

I didn't see any basic description of how the metadata file system works (i.e., you need a text file named <video_file_name.ext>.txt in the same folder as the video file). Did I miss this?


----------



## MasterCephus

> I didn't see any basic description of how the metadata file system works (i.e., you need a text file named <video_file_name.ext>.txt in the same folder as the video file). Did I miss this?


No you didn't, I forgot to put that 

I will add that into the MetaData folder right now before I forget.

I am pretty sure that I will release a new version of the metagenerator today that will allow you to right-click an entire season, choose the correct seriesId, choose a destination directory and it will create all the metadata files for the entire season into that directory.

I am naming the files like: 1x1.txt, 1x2.txt, 1x3.txt, 1x4.txt

This way that hardest part is really just renaming them to your episode convention, which isn't that hard.

I am NOT going to release the ratings-to-stars stuff we have been talking about until a new version of pyTivo is released with the ratings in there (dlfl made a hack, but it's not officially in there yet).


----------



## Chew

dlfl said:


> The pyTivo download has not been updated since 9 Dec 07 and a number of bug fixes and enhancements have occurred since then.


Would updating a previously installed and running Windows version be as easy as copying the contents of your zip into the pytivo folder (and thus overlaying what's there)?


----------



## MasterCephus

Here is the latest version of the MetaGenerator.

The only thing that I have added is the ability to choose a season and extract the entire season's episodes to a directory. This will name the episodes like: 1x1.txt, 1x2.txt, 1x3.txt, 1x4.txt

Again, if you notice any bugs, let me know and I will try to send out an update for everyone.

Enjoy!


----------



## wmcbrine

There's a new master version posted, and I've merged that and wgw's branch into mine.


----------



## MasterCephus

^ Anyone know what's in the new version?


----------



## dlfl

Chew said:


> Would updating a previously installed and running Windows version be as easy as copying the contents of your zip into the pytivo folder (and thus overlaying what's there)?


Not a recommended procedure although it MIGHT work.

Recommended: Make a new folder for the new version of pyTivo. There is no harm in having multiple pyTivo folders (with distinct names of course) -- just be sure the ffmpeg path is correct in the local pyTivo.conf file. This way you don't delete a version that, as you said, is "installed and running."

If you still want to install on top, delete everything in the current pyTivo folder except your pyTivo.conf file, then copy the zip contents in.


----------



## wmcbrine

MasterCephus said:


> ^ Anyone know what's in the new version?


I found the easiest way to see the changes was via http://repo.or.cz/w/pyTivo.git . Basically it's most of my changes _except_ for the plugins, along with dlfl's ticket #58.

BTW, I see no problem with simply unzipping a new version over an old one.


----------



## Sicklybutsexy

wmcbrine said:


> I found the easiest way to see the changes was via http://repo.or.cz/w/pyTivo.git . Basically it's most of my changes _except_ for the plugins, along with dlfl's ticket #58.
> 
> BTW, I see no problem with simply unzipping a new version over an old one.


I've been unzipping a new pyTivo over an old one for months and never have had any problem. You just have to make sure the directory names are the same obviously so it just takes some renaming. Mastercephus, I don't understand what is new with the new generator. How do you add series episode numbers?


----------



## dlfl

wmcbrine said:


> I found the easiest way to see the changes was via http://repo.or.cz/w/pyTivo.git . Basically it's most of my changes _except_ for the plugins, along with dlfl's ticket #58.
> ..............


This seems to say your latest Git snapshot does NOT include your new plugins. However it looks like it does. (They don't match what's in the WiKi source and there is a photo module that isn't in the Wiki source).

(And I can't imagine why you would exclude your plugins.)

Please clarify??
Thanks

Edit: Sorry -- I was confused. The link above is to the "main" pyTivo code, not to *wmcbrine*'s fork.


----------



## MasterCephus

> Mastercephus, I don't understand what is new with the new generator. How do you add series episode numbers?


Search for a TV series, then right click on a season...you can now batch save an entire season's worth of metadata to a directory.


----------



## philhu

wmcbrine said:


> I found the easiest way to see the changes was via http://repo.or.cz/w/pyTivo.git . Basically it's most of my changes _except_ for the plugins, along with dlfl's ticket #58.
> 
> BTW, I see no problem with simply unzipping a new version over an old one.


Hi Mcbrine.

Did you see my debug output for the music section? FWIW, it looks like it was trying to do some kind of video stuff with it.

Can you look at it, see if you see what is going on?

Thanks


----------



## dlfl

wmcbrine said:


> There's a new master version posted, and I've merged that and wgw's branch into mine.


Well, now we have a little dilemma: what do we recommend for new users?

The only significant difference between the "official" (wiki-based) download  and *wmcbrine*'s fork  is the enhanced plugins (including a photo plugin) in the wmcbrine version.

My impression is that (1) the wmcbrine plugins are generally superior and (2) they have received fairly adequate testing by now. I've tested the latest snapshot for basic video transcoding functionality also.

Thus I've put a zip snapshot of the wmcbrine fork on mediafire.com.

The only advantages of my download over just getting a snapshot from wmcbrine's Git link are:
1. You get .zip instead of Tar.gz 
2. I'm still including a newer more capable version of ffmpeg (r11051).

As I've been so thoroughly instructed  there apparently is no harm in just copying one of these zips on top of an existing pyTivo installation. I was concerned about the possibility that the Python compiler might be fooled into not recompiling a new module due to some problem with file time/date stamps (?).


----------



## KRKeegan

TreborPugly said:


> If I follow your procedure, I always get a reboot now.


Cool, I have a patch that will fix this, but I need to figure out what armooo did with the subfolders svn. I dont see it in git either.

*TreborPugly* Can you also tell me if you are getting any other reboots when you do anything else? And if you get any just random reboots that you can't figure out what caused them?

Kevin


----------



## KRKeegan

dlfl said:


> Well, now we have a little dilemma: what do we recommend for new users?


Yeah I see this as kind of a problem too. I think we incorporate *wmcbrine*'s ticket fixes into the main source. As for his plugins, I think these can remain as a separate distribution containing only the plugins? The idea of a plugin is that it does not require any changes to the base program. If these plugins are truly autonomous then I think we should make a link on the wiki and reference them as addons to the base program.

*Armooo* I need your input on this specifically. And anyone else who has been contributing to the development.

I also think the 8.3 hack fork should be folded into the main program. Keeping 2 separate forks running seems unnecessary and confusing to users.

Now I believe your initial reason for splitting the program into 2 forks was a concern over stability. And I agree the 8.3 hack is not perfect and will always probably have some instability. However, if the Hack83 setting is not set to true in the conf file it will not cause pyTivo to be any less stable because the problematic areas will not be executed.

To further explain I have included the differences of the 3 files which are affected by the Hack83 fork. Config.py, httpserver.py and video.py are the only files altered by the Hack83 fork.

*Config.py* - Hack83 adds the following lines 76-84


Code:


 def getHack83():
     try:
         debug = config.get('Server', 'hack83')
         if debug.lower() == 'true':
             return True
         else:
             return False
     except NoOptionError:
         return True

This is just a function to get the value of the Hack83 setting from the conf file, no big deal. Now I should change the default from true to false so that this function would have to be affirmatively selected.

*httpserver.py* - Hack83 imports the config file, no big deal. It also adds a similar debug call to one found in transcode.py, since this same function is included in the standard video.py it isn't a big deal. Then Hack83 replaces


Code:


         self.send_response(404)
         self.send_header('Content-type', 'text/html')
         self.end_headers()
         t = Template(file=os.path.join(SCRIPTDIR,'templates','unsuported.tmpl'))
         t.query = query
         self.wfile.write(t)

With


Code:


         if hack83 and 'Command' in query and 'Filter' in query:
             debug_write(['Unsupported request, checking to see if it is video.', '\n'])
             command = query['Command'][0]
             plugin = plugin = GetPlugin('video')
             if "".join(query['Filter']).find('video') >= 0 and hasattr(plugin,command):
                 debug_write(['Unsupported request, yup it is video send to video plugin for it to sort out.', '\n'])
                 method = getattr(plugin, command)
                 method(self, query)
             else:        
                 self.send_response(404)
                 self.send_header('Content-type', 'text/html')
                 self.end_headers()
                 t = Template(file=os.path.join(SCRIPTDIR,'templates','unsuported.tmpl'))
                 t.query = query
                 self.wfile.write(t)
         else:
             self.send_response(404)
             self.send_header('Content-type', 'text/html')
             self.end_headers()
             t = Template(file=os.path.join(SCRIPTDIR,'templates','unsuported.tmpl'))
             t.query = query
             self.wfile.write(t)

 This code will not be executed without the Hack83 setting being set to true. Thus I think the changes in this file are safe.

*Video.py* - Hack83 imports time, which isn't a big deal. The debug function from transcode.py has also been added, which as I discussed above shouldn't be a problem. Hack83 adds a 150 line function called hack, because this is a function it should only be an issue if it is called, which will only occur if it was selected from the conf file. Finally at line 126 Hack83 adds the following:


Code:


        if hack83:
            print '========================================================================='
            query, hackPath = self.hack(handler, query, subcname)
            print 'Tivo said: ' + subcname + ' || Hack said: ' + "/".join(hackPath)
            debug_write(['Hack Tivo said: ', subcname, ' || Hack said: ' , "/".join(hackPath), '\n'])
            subcname = "/".join(hackPath)
        
            if not query:
                debug_write(['Hack sending 302 redirect page', '\n'])
                handler.send_response(302)
                handler.send_header('Location ', 'http://' + handler.headers.getheader('host') + '/TiVoConnect?Command=QueryContainer&AnchorItem=Hack8.3&Container=' + "/".join(hackPath))
                handler.end_headers()
                return

This as you can see will only be run if it is selected from the conf file.

I have enclosed a complete text patch file necessary to update master to hack83 so you can see all the differences.

Originally I think it made sense to fork this hack hoping that TiVo would fix the issue. But as this has progressed it appears very unlikely that TiVo is going to fix this anytime soon. I think new users and existing users would benefit not having to figure out why there are two different forks of the program.

Let me know what you think. I am not trying to be difficult I just think it might be easier for users and I have been running the subfolders hack for 9 months with very little issues.

Kevin


----------



## Chew

dlfl said:


> Not a recommended procedure although it MIGHT work.
> 
> Recommended: Make a new folder for the new version of pyTivo. There is no harm in having multiple pyTivo folders (with distinct names of course) -- just be sure the ffmpeg path is correct in the local pyTivo.conf file. This way you don't delete a version that, as you said, is "installed and running."
> 
> If you still want to install on top, delete everything in the current pyTivo folder except your pyTivo.conf file, then copy the zip contents in.


Thanks!

Just updated as suggested and it worked perfectly. Thanks again to everybody who helps with and works on this great program!


----------



## dlfl

KRKeegan said:


> Yeah I see this as kind of a problem too. I think we incorporate *wmcbrine*'s ticket fixes into the main source. As for his plugins, I think these can remain as a separate distribution containing only the plugins? The idea of a plugin is that it does not require any changes to the base program. If these plugins are truly autonomous then I think we should make a link on the wiki and reference them as addons to the base program.
> .........
> I also think the 8.3 hack fork should be folded into the main program. Keeping 2 separate forks running seems unnecessary and confusing to users.
> ..........
> Kevin


Strongly agree with folding subfolders into main. Seems simple and low risk.

Regarding the plugins, it's music and photo.

The main program currently has _no_ photo plugin so why not just include *wmcbrine'*s ? What are you losing?

*wmcbrine* has put a lot of work into the music plugin -- see this post and the thread leading up to it. Unless someone has a complaint about it (or the author himself recommends against it) I favor making it the mainstream code.


----------



## wgw

_*Jan 12 Update*: updated ffmpeg to rev.11143._

_*Jan 05 Update*: Moved calls for mpg info to cache to speed Tivo display. _

I have created an enhancement for pyTivo if anyone would like to try it out. Be sure to create a new pytivo.conf file using the supplied pytivo.conf.dist.

http://pytivo.armooo.net/wiki/LatestBeta

Hopefully this modification will make pyTivo more effortless and easy to use for both new and advanced users.

Summary of the changes.

MPEG AUDIO COMPATIBILITY:
Converts user provided audio bitrates to non-zero multiple
of 64 for ffmpeg compatiblity.
Sets max audio bitrate to 384k/448k for S2/S3 tivos respectively.
Checks audio bitrate of source and transcodes if max audio bitrate exceeded.
Compares audio_br and max_audio_br and uses the lower of the
two bitrates to ensure a tivo compatible bitrate is used.
MAX_AUDIO_BR may be specified in conf to override defaults.
MAX_AUDIO_BR is both a 'Server' and 'Per Tivo' option.
You should be able to ignore this setting unless you want to test high audio bitrates. It should not interfere with, or transcode, recordings that you pulled off the Tivo and are sending back. It's mainly to ensure that very high bitrate external sources get downsampled to a bitrate the tivo can actually play.

MPEG VIDEO COMPATIBILITY:
Expands use of existing setting MAX_VIDEO_BR=17408K.
Checks video bitrate of source and transcodes if max video bitrate is exceeded.
MAX_VIDEO_BR may be specified in conf to override default.
MAX_VIDEO_BR is a 'Server' option.
This function, was added so that high bitrate mpegs from sources like HD/Blueray DVD's will be automatically transcoded due to their very high bitrates, rather than be recognized as a tivo compatible mpeg. It should not interfere with, or transcode, HD recordings that you pulled off the Tivo and are sending back. But if you wish to do so, lowering this setting to 13000k should force most HD .mpg files to be transcoded.

TIVO AUDIO CODEC COMPATIBILITY:
Checks for HD tivo and uses ac3 audio automatically so that
5.1 audio is retained, if present in the source.
Otherwise, mp2 audio is used for S2 compatibility.
User may still override by specifying their own ffmpeg template.
This was added in response to complaints about losing 5.1 audio.

Note: includes wmcbrines photo and music updates.


----------



## wmcbrine

philhu said:


> Did you see my debug output for the music section? FWIW, it looks like it was trying to do some kind of video stuff with it.


I saw it, but I can't explain it.


----------



## MasterCephus

wgw, could you zip that up and upload it to mediafire or PM me and I will post it on mediafire? 

There are a lot of people who dont'/won't use git to get a working copy...while that's good for development, it's not really good for software distribution (IMO of course) for people who are not developers....


----------



## dlfl

*wgw*,
Does your git fork merge in *wmcbrine*'s plugins?


----------



## wmcbrine

KRKeegan said:


> Cool, I have a patch that will fix this, but I need to figure out what armooo did with the subfolders svn. I dont see it in git either.


It's there. You can see it from http://repo.or.cz/w/pyTivo.git . Try this:

git clone git://armooo.net/pyTivo.git
cd pyTivo
git checkout origin/subfolders-8.3

I'm new to git myself, so I'm not sure this is the right way to go about it, but it seems to work.


----------



## KRKeegan

ok cool, I will update the subfolders hack then. I am new to this whole git thing too. Hopefully I still have write access to this.

Kevin


----------



## wgw

MasterCephus said:


> wgw, could you zip that up and upload it to mediafire or PM me and I will post it on mediafire?
> 
> There are a lot of people who dont'/won't use git to get a working copy...while that's good for development, it's not really good for software distribution (IMO of course) for people who are not developers....


git is not required. Click on the "Snapshot" link next to the line that says "SD/HD Tivo Audio/Video/Codec compatibility". This will give you a .tar file which you can extract with WinRar, 7-Zip, or probably just about any file archiver. The .tar file contains the full package. Install it the same as an official release.


----------



## TreborPugly

KRKeegan said:


> Cool, I have a patch that will fix this, but I need to figure out what armooo did with the subfolders svn. I dont see it in git either.
> 
> *TreborPugly* Can you also tell me if you are getting any other reboots when you do anything else? And if you get any just random reboots that you can't figure out what caused them?
> 
> Kevin


I can only get obviously pyTivo related reboots if I get into the description of a recording. Just browsing folders, without ever selecting a file doesn't seem to cause it, even with a few sublevels of folders. Once I select a recording, if I back out, the TiVo will crash every time. (Again, this happens either from pulling out after just looking at the file, or after starting to transfer the file and then going back, or after watching the entire file and deleting it or saving it. Anything that tries to take me back to it's subfolder crashes the Tivo.)

I do sometimes get random reboots, but very infrequently. I also force it to reboot at least once a week, because it gets the "delayed remote response" problem.


----------



## Emrys

I am running the wcmbrine fork from a few posts up, and it fixed my ability to see down 2 folders from the root IE : ROOT -> TV -> SERIES1 -> shows are listed here ( not sure if it's his patches or what that fixed it, but it works ). I am still unable to go a folder deeper, it just clones itself over and over. I can deal with this though. To be able to watch stuff from my fileserver is insane.

My question is, can we get a solution to not being able to see a second folder structure once we have already been down one previously ?

I have been trying to read through all this, but this thread is very confusing. In a nutshell, when you go into a folder ( season1 for example ), and then come back up one and try to go into another ( season2 for example ), it shows the contents of the first folder you just backed out of ( season 1 ). I'm not sure if that is a good description. Anyway, the way around it seems to be to back up to root, go into deleted, back up to root, go into another folder, back up to root, then go into the folder you were trying to get into. This works, however it can be a pain. I got this from Ticket # 11 : http://pytivo.armooo.net/ticket/11

Anybody up to speed on why this happens or how to fix it? Alas, I am not a coder, and wouldn't even know where to begin. Not sure if this is a known limitation or what.

Series 2 HD ( 9.2a I believe )
latest and greatest ( wcmbrine fork ) pyTivo code runnin on a gentoo box

Thanks


----------



## KRKeegan

TreborPugly said:


> I can only get ... reboots if I get into the description of a recording. [And] once I select a recording, if I back out, the TiVo will crash every time. I do sometimes get random reboots, but very infrequently.


 Ok well both of those problems are resolved by a simple one line patch. I am glad to hear you have very few other reboots. I also generally don't have problems using subfolders either.

Unfortunately I can't get git to output a new change for you. I am assuming Armooo has to approve it? I checked out the subfolders made the change and then committed it. But nothing happened. Anyone know what else I need to do?

*TreborPugly* - hopefully Armooo will accept the mods soon and you can download a new update.


----------



## KRKeegan

Emrys said:


> I am running the wcmbrine fork from a few posts up, and it fixed my ability to see down 2 folders from the root IE : ROOT -> TV -> SERIES1 -> shows are listed here ( not sure if it's his patches or what that fixed it, but it works ). I am still unable to go a folder deeper, it just clones itself over and over. I can deal with this though. To be able to watch stuff from my fileserver is insane.
> 
> My question is, can we get a solution to not being able to see a second folder structure once we have already been down one previously ?
> 
> I have been trying to read through all this, but this thread is very confusing. In a nutshell, when you go into a folder ( season1 for example ), and then come back up one and try to go into another ( season2 for example ), it shows the contents of the first folder you just backed out of ( season 1 ). I'm not sure if that is a good description. Anyway, the way around it seems to be to back up to root, go into deleted, back up to root, go into another folder, back up to root, then go into the folder you were trying to get into. This works, however it can be a pain. I got this from Ticket # 11 : http://pytivo.armooo.net/ticket/11
> 
> Anybody up to speed on why this happens or how to fix it? Alas, I am not a coder, and wouldn't even know where to begin. Not sure if this is a known limitation or what.
> 
> Series 2 HD ( 9.2a I believe )
> latest and greatest ( wcmbrine fork ) pyTivo code runnin on a gentoo box
> 
> Thanks


 What you are describing is the hiccup added by TiVo in their 8.3 software. I have never actually seen or tried the long solution you have described to fix it(I will have to check this out, i always had to wait for 30+ minutes).

From the pyTivo end there is only so much we can do to fix this. The two options are:
Subfolders-Hack - A separate fork of the main pyTivo program, this allows full subfolders use to function. Meaning you can have and browse subfolders infinitely deep. However this is a hack and does have some small possibility of causing your TiVo to reboot while you are browsing files on pyTivo. However for me and for others these reboots are very infrequent.
Auto_Shares - I have not tried this yet, but from my understanding this will automatically create multiple pyTivo shares in your Now Playing List. This function is present in the wmcbrine version that you have.

Hope this helps.


----------



## wgw

dlfl said:


> *wgw*,
> Does your git fork merge in *wmcbrine*'s plugins?


No, I started with the 12-31-master and added my changes. I had assumed armooo had merged all of wmcbrine's mods and plugins in the latest release, but a file compare indicates those are missing. I'm new to git as well and have not attempted a merge yet. I was going to wait and see if my mod would be accepted as a valid development path for the master and simply be merged into it. I didn't want to stray too far off the beaten path, so to speak.


----------



## Emrys

So from what I am reading you are trying to get this "hack" into the main tree to be enabled with an option in the config file, right ? Should I go back to the 12.03.07 hacked version? How infrequent is infrequent? We watch usually 3 hours of TV a night and frequently move around the guide, but not so much back and forth in the NPL.

Thanks for the info. I was thinking that this was probably the problem, but thought "hey, I'm way past 8.3, this could be something else".


----------



## MickeS

This is really confusing with all these forks and different versions...


----------



## KRKeegan

Emrys said:


> So from what I am reading you are trying to get this "hack" into the main tree to be enabled with an option in the config file, right ? Should I go back to the 12.03.07 hacked version? How infrequent is infrequent? We watch usually 3 hours of TV a night and frequently move around the guide, but not so much back and forth in the NPL.
> 
> Thanks for the info. I was thinking that this was probably the problem, but thought "hey, I'm way past 8.3, this could be something else".


Yes that is the one I am talking about. Rebooting would only occur while browsing the pyTivo share if at all. If you are watching regular TV or selecting stuff in the normal NPL you have no worries. Most of the reboots are caused by rapidly moving through the pyTivo share, such as rapifly exiting multiple nested folders back to the pyTivo root. I think my tivo reboots maybe once a month?? It is hard to say exactly, but I doubt you would have a lot of issues. There is currently one outstanding fix that I am hoping armooo adds to the fork and posts a new download link for you. It is listed at Ticket #67 on the wiki.



MickeS said:


> This is really confusing with all these forks and different versions...


 I agree, I am not sure I am a fan of the multiple forks using git. I think I would prefer a system where multiple people can contribute changes which are then accepted and put into the main distribution either through a majority vote or direct control of Armooo.


----------



## dlfl

Is anyone running a Windows version of Git? (If so I would appreciate some tips such as where you got it and how its use differs from the examples in the Git docs.)

Thanks...


----------



## Sicklybutsexy

mastercephus,

Your latest update to the metadatagenerator makes adding all the texts for a whole season difficult, unless there is something I'm missing. How do you add a whole season? I've tried the right click and add method but then all the text files are called 1x1, 1x2 etc...They should have the extension is my understanding of the files that they are connected with such as 1x1.avi, 1x2.avi etc...Am I right? Otherwise you have to go to each file and change them and that seems to defeat the purpose. Thanks, still a great program.


----------



## KRKeegan

dlfl said:


> Is anyone running a Windows version of Git? (If so I would appreciate some tips such as where you got it and how its use differs from the examples in the Git docs.)
> 
> Thanks...


I am running one made by google(??) I think it was one of their summer of code projects. It isn't great. In fact I highly miss using tortoiseSVN, that seemed much easier.

*Sicklybutsexy* I think the extension is supposed to be .txt for those files. I bet it is there and you just don't see it because of windows??


----------



## KRKeegan

*TreborPugly and Armooo* Here is a patch to apply to the subfolders hack it fixes ticket #67.


----------



## Sicklybutsexy

*Sicklybutsexy* I think the extension is supposed to be .txt for those files. I bet it is there and you just don't see it because of windows??[/QUOTE]

It is a .txt file, however for it to work the file name should be the extension of the file you send to tivo such as .mpg, .avi etc...so that the text file name say for heroes ep 1.avi should be heroes ep 1.avi.txt. see what I'm saying? The new version of metadatagen dosen't account for the extension of the file you want to transfer making its batch utility useless...again unless I'm missing something.


----------



## MasterCephus

Sicklybutsexy said:


> *Sicklybutsexy* I think the extension is supposed to be .txt for those files. I bet it is there and you just don't see it because of windows??


It is a .txt file, however for it to work the file name should be the extension of the file you send to tivo such as .mpg, .avi etc...so that the text file name say for heroes ep 1.avi should be heroes ep 1.avi.txt. see what I'm saying? The new version of metadatagen dosen't account for the extension of the file you want to transfer making its batch utility useless...again unless I'm missing something.[/QUOTE]

No you're not missing anything...unless I am just not smart enough, it's just about impossible for me to allow a user to point to a directory with video files and export an entire season's worth of metadata to the proper file...everyone names their video files differently...but they usually keep the same convention throughout...so what I am doing is just allowing you to get all the metadata files and rename them properly. It might be just as fast to do it episode by episode, but someone requested this and it wasn't too hard to comply.

What I might do (I have to go back to work now so my updates might be a little slower ) is allow the user to specify their convention of naming their episodes (like allow the user to specify something like [ ]-NxN.[ ].txt where the [ ] is some text and the N's are the digits of the season number and episode....

it's difficult to do, but it could have you time to get all 20+ text files and just rename them to your video file...

does that make sense?


----------



## TreborPugly

KRKeegan said:


> *TreborPugly and Armooo* Here is a patch to apply to the subfolders hack it fixes ticket #67.


Initial test is good! (I browsed to one recording, and backed out of it, with out a crash) I just applied this one line fix to what I'm running right now, which is a couple weeks behind, without the most recent stuff on metadata or the new audio plugin, etc...


----------



## MasterCephus

MickeS said:


> This is really confusing with all these forks and different versions...


I totally agree with this statement...

the use of git and the current version of the pyTivo website is great for developers, but for people who just want to get pyTivo, applications surrounding it, and the support and documentation for it is just seriously crappy.

Armoo, would you and the other main developers have a problem with a couple of us trying to put together a separate site that would be the main site that has a support and documentation section, a forum, a downloads section, etc?

To me, this would be the best thing to do right now...

Would any web developers around be willing to help accomplish this? This IMO is severely needed...


----------



## KRKeegan

MasterCephus said:


> Armoo, would you and the other main developers have a problem with a couple of us trying to put together a separate site that would be the main site that has a support and documentation section, a forum, a downloads section, etc?


I agree work is needed. But a whole new site? Seems like the only thing we are missing on "TRAC" is a forum?? The support section would be best a forum anyways. I am working on cleaning up the tickets and closing those that are fixed.

Basically I think the current pytivo.armooo.net site has what we need. We just have to put in the effort on the wiki. The only thing missing is a forum. Can TRAC do forums?

Kevin


----------



## KRKeegan

However it is only available under http://repo.or.cz/w/pyTivo/krkeegan.git
OK I added a fork on repo.or.cz. I patched the fix from earlier today and also merged the main with the subfolders hack, so the subfolders hack is up to date. I will do some more fixes tomorrow to this fork with the hopes of merging subfolders back with master.

Does anyone know, can I merge around a corner with git? For example how can i merge the work done by wmcbringe in repo.or.cz. Thanks

Kevin


----------



## Tobashadow

KRKeegan said:


> I agree work is needed. But a whole new site? Seems like the only thing we are missing on "TRAC" is a forum?? The support section would be best a forum anyways. I am working on cleaning up the tickets and closing those that are fixed.
> 
> Basically I think the current pytivo.armooo.net site has what we need. We just have to put in the effort on the wiki. The only thing missing is a forum. Can TRAC do forums?
> 
> Kevin


As a forum owner and admin i suggest a seperate forum on a seperate server linked directly from the wiki site.

Would be real easy to setup.

I'll even donate some time to work on it if needed.

You can even get freebie forums nowadays that dont even require buying a domain name, so it could be done for free.


----------



## MasterCephus

> Basically I think the current pytivo.armooo.net site has what we need. We just have to put in the effort on the wiki. The only thing missing is a forum. Can TRAC do forums?


I don't know about forums, but you're right a seperate forums is really what is needed...

but also a cleander downloads section...

Something like where you just have the newest .ZIP & Tar file available to download and another page for previous versions.

Then we could also host there the other applications that people use (my MetaGenerator, etc) so it's a central place for all pyTivo stuff.

You know, it's also not to hard to create an installer...I have played a little with Inno Setup...I wonder how difficult it would be to create an installer that basically just installs the ZIP to a directory you choose and looks for previous installed versions, uninstalls it (keeping the config file) and installs the new version...THAT is what is really needed for everyone.


----------



## wmcbrine

KRKeegan said:


> For example how can i merge the work done by wmcbrine in repo.or.cz.


Like so:

git pull --no-commit git://repo.or.cz/pyTivo/wmcbrine.git master

That's what I did, anyway, with wgw and the main branch, if I'm remembering right. (Then do a commit after you resolve any conflicts.) I know there's a way to be more selective, too.


----------



## dlfl

MasterCephus said:


> ..............You know, it's also not to hard to create an installer...I have played a little with Inno Setup...I wonder how difficult it would be to create an installer that basically just installs the ZIP to a directory you choose and looks for previous installed versions, uninstalls it (keeping the config file) and installs the new version...THAT is what is really needed for everyone.


I use Inno for both my programs (linked below). It's easy to use and quite solid. The pyTivo installation is a piece of cake - no registry modifications and no COM dll's to register. It's so simple that it seems questionable whether an installer is needed rather than just a zip.


----------



## wgw

dlfl said:


> Is anyone running a Windows version of Git? (If so I would appreciate some tips such as where you got it and how its use differs from the examples in the Git docs.)
> 
> Thanks...


I'm using Git GUI. I may have downloaded from google but I don't remember. I can't get the gui to do half of what i want though and have to use the included bash. I guess they are 'meant' to be used in conjunction.


----------



## Sicklybutsexy

MasterCephus said:


> It is a .txt file, however for it to work the file name should be the extension of the file you send to tivo such as .mpg, .avi etc...so that the text file name say for heroes ep 1.avi should be heroes ep 1.avi.txt. see what I'm saying? The new version of metadatagen dosen't account for the extension of the file you want to transfer making its batch utility useless...again unless I'm missing something.


No you're not missing anything...unless I am just not smart enough, it's just about impossible for me to allow a user to point to a directory with video files and export an entire season's worth of metadata to the proper file...everyone names their video files differently...but they usually keep the same convention throughout...so what I am doing is just allowing you to get all the metadata files and rename them properly. It might be just as fast to do it episode by episode, but someone requested this and it wasn't too hard to comply.

What I might do (I have to go back to work now so my updates might be a little slower ) is allow the user to specify their convention of naming their episodes (like allow the user to specify something like [ ]-NxN.[ ].txt where the [ ] is some text and the N's are the digits of the season number and episode....

it's difficult to do, but it could have you time to get all 20+ text files and just rename them to your video file...

does that make sense?[/QUOTE]

Totally makes sense. But all that really has to be done is that the outputted text files could all have the same extension such as mpg.txt or avi.txt (with that option). It's easy to rename all the original file names by just selecting them all and having them go in series and then selecting all the text files and having them go in series. It still would be quicker than going file by file. I think...but I may be starting to confuse myself.


----------



## MasterCephus

> I use Inno for both my programs (linked below). It's easy to use and quite solid. The pyTivo installation is a piece of cake - no registry modifications and no COM dll's to register. It's so simple that it seems questionable whether an installer is needed rather than just a zip.


I agree, but most people would rather have an installer instead of just a zip file. It would just be easier IMO of course...

It would be nice if we could have a dedicated forum, along with everytime a new "official" version if published, a installer is created and made where everyone knows it's there. It would also be easier to have the other applications people use (your apps, my apps, etc) to be along with this so everyone has a central location to get everything...


----------



## wgw

dlfl said:


> *wgw*,
> Does your git fork merge in *wmcbrine*'s plugins?


OK, I went ahead and merged my updates with wmcbrine's since he provided the command and I wanted to try it out. Thanks.

Here is the link to the combined version.

http://repo.or.cz/w/pyTivo/wgw.git?a=snapshot;h=51d712811c562b9db88d154f6151b2c0848daed8;sf=tgz


----------



## smilerz

MasterCephus - one thing that you could do is allow file to episode matching.
I.E display two columns (one with episodes and one with files) and use <=> type commands to match them together.

No need to guess the naming conventions and it streamlines the process.

Of course, I'm not a developer so this is pie-in-the-sky theorizing.

If nothing else, i'd like to request remembering the last folder location and/or the file extension.


----------



## MickeS

Is there a way to use the native height and width of the input file as the height and width of the output file, or does every output file has to have the height/width set in the config file?


----------



## KRKeegan

MickeS said:


> Is there a way to use the native height and width of the input file as the height and width of the output file, or does every output file has to have the height/width set in the config file?


Well for HD and S3 units i think we will do this, if it hasnt been done already i havent looked. But for S2 units i dont think it works, if I remember right S2 units have very specific file dimensions that they accept and no others.


----------



## KRKeegan

MasterCephus said:


> but also a cleander downloads section...
> 
> Something like where you just have the newest .ZIP & Tar file available to download and another page for previous versions.


I am not trying to be argumentative, but this is pretty easy to do on the wiki.

I actually just did it quickly here:

http://pytivo.armooo.net/wiki/CurrentRelease

Then from the main page I added a link to the above page and a link to the prior list and calling it All Releases. Now we just need to change the above page to match the most current release. Others can also add links to their other programs there too.


----------



## danpritts

MickeS said:


> Is there a way to use the native height and width of the input file as the height and width of the output file, or does every output file has to have the height/width set in the config file?


Interestingly enough, I just discovered pytivo the other day, and wanted the same thing. There weren't to be any options to do this (at least in the code branches i looked at) so i patched pytivo to do this.

I've added options to:

- keep original height/width
- keep original framerate
- keep original audio sampling rate

All of these things should save CPU time on transcoding, and should probably result in a smaller video file being sent to/stored on the tivo. on my tivoHD the limited selection of files i've sent this way have all worked, with framerates 25fps and 29.97fps, audio sample rates from 32KHz to 48KHz, and sizes 512x384, 640x480, and 960x528.

email me (danno umich edu) if you want my patches immediately; i'll work to get them submitted to the main distribution.

I considered also adding an option to check the bitrate of the original audio stream and try to intelligently set the bitrate of the new audio stream to match (you probaby want a bit more on the target, since mp2 is less efficient than other codecs), but i decided not to bother. This would save a little space but probably not any cpu time; might actually cost more cpu time.


----------



## KRKeegan

*Armooo *- This is a discussion plugin for trac, would you consider using this:
http://trac-hacks.org/wiki/DiscussionPlugin

From the best I can surmize I think it is the only thing that trac is really missing from what ppl want.


----------



## MasterCephus

smilerz said:


> MasterCephus - one thing that you could do is allow file to episode matching.
> I.E display two columns (one with episodes and one with files) and use <=> type commands to match them together.
> 
> No need to guess the naming conventions and it streamlines the process.
> 
> Of course, I'm not a developer so this is pie-in-the-sky theorizing.
> 
> If nothing else, i'd like to request remembering the last folder location and/or the file extension.


I think I have an idea that will work for this that everyone will like. Hopefully I will be able to put out an update pretty soon...


----------



## MasterCephus

KRKeegan said:


> I am not trying to be argumentative, but this is pretty easy to do on the wiki.
> 
> I actually just did it quickly here:
> 
> http://pytivo.armooo.net/wiki/CurrentRelease
> 
> Then from the main page I added a link to the above page and a link to the prior list and calling it All Releases. Now we just need to change the above page to match the most current release. Others can also add links to their other programs there too.


I have no problems there, but we might need to add some things in there like what's new in the release, a link to previous versions, etc.

Is there somewhere in Tracs where Armoo is posting the newest features in releases?


----------



## cconnell

I just installed pyTivo. It looks great. I have about 250 movies in a directory (avg size 5 gig). They show up on my tivo (Series 3) but it takes a long time to see the list (about 30 seconds) and then every page down is another 30 seconds.

pyTivo is running on Vista the movies are on a share (external hard drive). I can access the share very quickly from Vista. 

What is making the listing of the movies so slow? Can I speed it up? Thanks in advance.


----------



## tlc

MickeS said:


> Is there a way to use the native height and width of the input file as the height and width of the output file, or does every output file has to have the height/width set in the config file?


Some of us are already doing this by setting the ffmpeg_prams as described here. It works great (for the HD). Much less server CPU for the transcoding and the HD does scaling. But the S2's can't handle this.

tlc


----------



## tlc

FYI,

This may lead to a subfolder fix on the TiVo!

tlc


----------



## philhu

smilerz said:


> MasterCephus - one thing that you could do is allow file to episode matching.
> I.E display two columns (one with episodes and one with files) and use <=> type commands to match them together.
> 
> No need to guess the naming conventions and it streamlines the process.
> 
> Of course, I'm not a developer so this is pie-in-the-sky theorizing.
> 
> If nothing else, i'd like to request remembering the last folder location and/or the file extension.


Or, just prompt for an output name for each items as you write it. Kind of what you do now. Ask for a file to match, change the extension to .txt and write that name. For a 13 episode season, you would prompt 13 times, but right now, using season stuff you would need to rename 13 files, and with the older by episode thing, it needs 5 clicks per episode or 65 total clicks. This would be only 13 clicks

phil


----------



## dlfl

danpritts said:


> .............I've added options to:
> 
> - keep original height/width
> - keep original framerate
> - keep original audio sampling rate
> 
> All of these things should save CPU time on transcoding, and should probably result in a smaller video file being sent to/stored on the tivo.............
> I considered also adding an option to check the bitrate of the original audio stream and try to intelligently set the bitrate of the new audio stream to match ..............


A good idea for optimizing settings for S3/HD tivos, along with others that have been posted including *wgw*'s post #1588  and another post for ffmpeg parameters that didn't specify the video bitrate at all, rather a quality goal.

What we need is an algorithm (i.e., a function) for optimally setting ffmpeg parameters. Arriving at a consensus of how this should work may not be easy, but some suggested general guidelines are:

1. For s2 (SD) tivos, use the old pre-HD method. (pyTivo knows whether it's s2 or s3/HD by the TSN, which it gets whether you have a per-tivo section or not.)

2. Compute an intelligent s3/HD default parameter set that has a high probability of giving a fairly good result (good compromise between quality and encoding/transfer time) even if the user chooses not to configure anything.

3. Provide "bounded" configuration where the intelligent settings from (2.) are constrained by max/min limits set by the user (e.g., for bitrates, size, fps, others as appropriate).

4. Allow the user to completely determine some parameters. For some parameters such as bitrates this could be done with the bounded configuration by just choosing min and max bitrate to be equal.

The basic principle is to provide good performance and ease of use for the user who knows nothing about encoding but allow increasing optimization control in proportion to how much the user knows and is willing to control.

Even just formulating guidelines like these is controversial, so just consider these food for thought. Arriving at a consensus will probably be a messy process but a good solution will be very worthwhile.


----------



## KRKeegan

cconnell said:


> What is making the listing of the movies so slow? Can I speed it up? Thanks in advance.


It should go faster after the initial view of every folder. There is a cache built into pyTivo so as long as you are leaving it running you should notice speed increases the second and subsequent times viewing that folder.

The reason for this is: When you select a folder for the first time pyTivo has to run each file in that folder through the ffmpeg process to determine of the file is a compatible video. The results of this test are stored in the cache so that subsequent requests for that folder do not require ffmpeg calls. While it is slow the first time, it ensures that only valid videos are displayed on your TiVo.

Kevin


----------



## KRKeegan

tlc said:


> FYI,This may lead to a subfolder fix on the TiVo! tlc


Cool I am always excited for any bug fixes that TiVo does.

This sounds similar to the pyTivo shares replacing the NPL list. Even the solution is the same as what we came up with. This has been present even before the 8.3 bug, but hopefully fixing this will get rid of the subfolders issue.

Thanks for the heads up!


----------



## KRKeegan

dlfl said:


> What we need is an algorithm (i.e., a function) for optimally setting ffmpeg parameters. Arriving at a consensus of how this should work may not be easy, but some suggested general guidelines are:


 I like the idea. But I agree it will certainly be a messy process. I am a little behind on the HD front in pyTivo, but I am working on catching up as quickly as possible.


----------



## KRKeegan

MasterCephus said:


> I have no problems there, but we might need to add some things in there like what's new in the release, a link to previous versions, etc. Is there somewhere in Tracs where Armoo is posting the newest features in releases?


Yes, my example was only to show that the wiki can be used to display any number of things. The wiki has come a long way, but it will always need constant edits from everyone. Maintaining the wiki is just too much for one person to do.

Well you can look at the changelog and determine what was fixed or added in each release. Most releases do not add new features but fix bugs that have been found.


----------



## cconnell

Thanks for your response. It has been running all day and it is not faster. I have not taken the time to page to bottom of the file list. Would that matter? I have just one folder with 250 files in it. No sub folders. Thoughts? Thanks.


----------



## MickeS

danpritts said:


> Interestingly enough, I just discovered pytivo the other day, and wanted the same thing. There weren't to be any options to do this (at least in the code branches i looked at) so i patched pytivo to do this.
> 
> I've added options to:
> 
> - keep original height/width
> - keep original framerate
> - keep original audio sampling rate
> 
> All of these things should save CPU time on transcoding, and should probably result in a smaller video file being sent to/stored on the tivo. on my tivoHD the limited selection of files i've sent this way have all worked, with framerates 25fps and 29.97fps, audio sample rates from 32KHz to 48KHz, and sizes 512x384, 640x480, and 960x528.
> 
> email me (danno umich edu) if you want my patches immediately; i'll work to get them submitted to the main distribution.
> 
> I considered also adding an option to check the bitrate of the original audio stream and try to intelligently set the bitrate of the new audio stream to match (you probaby want a bit more on the target, since mp2 is less efficient than other codecs), but i decided not to bother. This would save a little space but probably not any cpu time; might actually cost more cpu time.





tlc said:


> Some of us are already doing this by setting the ffmpeg_prams as described here. It works great (for the HD). Much less server CPU for the transcoding and the HD does scaling. But the S2's can't handle this.
> 
> tlc


Thanks to both of you for responses! I will try tlc's suggestion with the ffmpeg_pram. Since the S2 still has the annoying bug where it squeezes widescreen video and adds black bars on top and bottom, I don't use it for TTCB any longer. I wonder if TiVo will fix that...


----------



## KRKeegan

For those using MetaGenerator for entire seasons here is a good free batch renamer:
http://www3.telus.net/pfrank/

This way you can rename 1x1.txt -1x22.txt to match your desired format


----------



## philhu

If somehow you got metadata from that program and files from it, I wrote a quick VB program to turn the meta data into pyTivo NPL metadata. I will distribute the source, since it needs a quick config and I dont wanna build a full vb exe generator install kit.

There is alot more data available in the meta files than is currently in the .txt files.

Does anyone have a list of keywords that PYTIVO allows in the metadata .txt files when showing in the NPL? Or are we using all of them allowed so far?

And can the PYTIVO .txt file take genre's in numbers, not words, like 

vProgramGenre : 34

instead of 

vProgramGenre : Comedy

Since the Tivo uses multiple genres in a numeric format. BTW, I do have a list of all Tivo Genre numbers if anyone wants it


And is there a way in those metafiles for PYTIVO to show Original Airdate, and this showing airdate? Both is available.


----------



## StanSimmons

Would it be possible to add support for .tmf files to pyTivo. They are native TiVo ty streams that are tar'd and have metadata in XML format added to them.


----------



## Sicklybutsexy

KRKeegan said:


> For those using MetaGenerator for entire seasons here is a good free batch renamer:
> http://www3.telus.net/pfrank/
> 
> This way you can rename 1x1.txt -1x22.txt to match your desired format


Thanks KRKeegan. After messing with that PFrank program I got it to work. I just had to make the search pattern .txt and have my desired name replace it ie... .avi.txt . That did it.


----------



## MasterCephus

KRKeegan said:


> For those using MetaGenerator for entire seasons here is a good free batch renamer:
> http://www3.telus.net/pfrank/
> 
> This way you can rename 1x1.txt -1x22.txt to match your desired format


I should have an update tomorrow that prompts for the naming of each episode...


----------



## wgw

dlfl said:


> (pyTivo knows whether it's s2 or s3/HD by the TSN, which it gets whether you have a per-tivo section or not.)


Doh! How did I miss that. That makes my HDtivosonly option redundant. I was a bit hesitant to add it but it sounded like a good idea at the time. I'll remove that setting from my mod unless someone can think of a good reason to leave it in. Let me know if you noticed any other fubars in my mod.



> 2. Compute an intelligent s3/HD default parameter set that has a high probability of giving a fairly good result (good compromise between quality and encoding/transfer time) even if the user chooses not to configure anything.


Along those lines, I've been wondering if a string like one of these should be added to the default S3/HD ffmpeg template to improve quality.

-b_strategy 1 -bf 2 -coder vlc -mbd rd -qmin 1 (submitted by ScottE)
or 
-mbd rd -flags +trell -mv0 -cgop -cmp 2 -subcmp 2 (from WinFF)



> 3. Provide "bounded" configuration where the intelligent settings from (2.) are constrained by max/min limits set by the user (e.g., for bitrates, size, fps, others as appropriate).


Hmmm, food for thought. Specifying min/max parameters in the conf like this would allow for fewer parameter lines needing to be specified in the config.

audio_br= 192k, 448k
video_br= 4096k, 17408k



> 4. Allow the user to completely determine some parameters. For some parameters such as bitrates this could be done with the bounded configuration by just choosing min and max bitrate to be equal.
> 
> The basic principle is to provide good performance and ease of use for the user who knows nothing about encoding but allow increasing optimization control in proportion to how much the user knows and is willing to control.
> 
> Even just formulating guidelines like these is controversial, so just consider these food for thought. Arriving at a consensus will probably be a messy process but a good solution will be very worthwhile.


Everyone sure has come up a lot of good ideas for consideration in the last 24 hours.


----------



## philhu

StanSimmons said:


> Would it be possible to add support for .tmf files to pyTivo. They are native TiVo ty streams that are tar'd and have metadata in XML format added to them.


I SECOND THAT! But we all know where TMF files came from...Ahem.

Use TY files and the TXT files and run my program to put back the metadata

phil


----------



## MasterCephus

philhu said:


> If somehow you got metadata from that program and files from it, I wrote a quick VB program to turn the meta data into pyTivo NPL metadata. I will distribute the source, since it needs a quick config and I dont wanna build a full vb exe generator install kit.
> 
> There is alot more data available in the meta files than is currently in the .txt files.
> 
> Does anyone have a list of keywords that PYTIVO allows in the metadata .txt files when showing in the NPL? Or are we using all of them allowed so far?
> 
> And can the PYTIVO .txt file take genre's in numbers, not words, like
> 
> vProgramGenre : 34
> 
> instead of
> 
> vProgramGenre : Comedy
> 
> Since the Tivo uses multiple genres in a numeric format. BTW, I do have a list of all Tivo Genre numbers if anyone wants it
> 
> And is there a way in those metafiles for PYTIVO to show Original Airdate, and this showing airdate? Both is available.


maybe I am a little slow tonight, but what does your application do?


----------



## KRKeegan

MasterCephus said:


> maybe I am a little slow tonight, but what does your application do?


No, no. I am just as confused too.


----------



## KRKeegan

philhu said:


> I SECOND THAT! But we all know where TMF files came from...Ahem.


 I don't think any of the developer have access to such a file. If anyone who uses these comes up with a solution to this I would consider doing it.


----------



## StanSimmons

KRKeegan said:


> I don't think any of the developer have access to such a file. If anyone who uses these comes up with a solution to this I would consider doing it.


I can put up a tmf file for you if you need one to look at.

http://www.dvrpedia.com/TiVo_Recording_File_Formats



> TMF files are Ty files that were extracted from a TiVo using MFS_FTP. The biggest differences is that it is a TAR ball that contains several different files. The files it contains are the individual TY chunks as they were stored together on the TiVo. It also contains a file with the show metadata for the recording.


----------



## rjmitche

philhu said:


> Does anyone have a list of keywords that PYTIVO allows in the metadata .txt files when showing in the NPL?
> .
> .
> .
> And is there a way in those metafiles for PYTIVO to show Original Airdate, and this showing airdate?


http://pytivo.armooo.net/wiki/MetaData

originalAirDate : <value>
time : <value>

Speaking of "recorded date" (time)...

MasterCephus - Any chance of adding an option to your MetaGenerator program for setting the "time" value to the originalAirDate value? I think this would help when sorting by recorded date in the NPL (when transferred to the TiVo).


----------



## philhu

MasterCephus said:


> maybe I am a little slow tonight, but what does your application do?


I have txt file metafdat and ty files for video.

It takes the metadata in the txt files and turns it into the pytivo txt files
to hold the orig metadata.

Just a read and convert.


----------



## philhu

rjmitche said:


> http://pytivo.armooo.net/wiki/MetaData
> 
> originalAirDate : <value>
> time : <value>
> 
> Speaking of "recorded date" (time)...
> 
> MasterCephus - Any chance of adding an option to your MetaGenerator program for setting the "time" value to the originalAirDate value? I think this would help when sorting by recorded date in the NPL (when transferred to the TiVo).


Thanks

Your origairdate change is a bad idea.

I have shows that have orig air dates of 1964, and earlier. They would always sort low, even though I recorded them this week!!!!!

That is why we need both dates. OrigAirdate - 1964/mm/dd and showing date, for when it was recorded.


----------



## eb3604

was using pytivo.py. worked perfectly. then I decided to install it as a service. Followed the instructions, pytivo is running in services. But it isn't working. looked allover google and here. any help?

edit--

got it to work. added the port # as allowable for my firewall. weird how pytivo.py worked though


----------



## phox_mulder

Simple question.

What version of Python do I want?

Standard Release? x86? Win64-Itanium? Win64-AMD64?

Or one of the Windows Binaries(does not include the source)
(semi computer literate, but no idea what that means)

I'm guessing the standard relase for x86, as my computer is @6 years old running Wink2K.
I think I have an AMD processor though, but again, over 6 years old.

Then, which version of PyTivo? there's 100 different versions to be had.

Is PyTiVo easy to use for the non computer geniuses?
The fact that you need Python, FFmpeg and the PyTivo script leads me to think not so much.

Simple as TiVo Desktop, which won't run on my Win2K computer anyway.

I just want to watch downloaded TV programs on my TV using my TiVo instead of having to watch them on my computer.

Really, I've tried reading through this whole thread and am getting more and more confused the more I read.
Folders, Subfolders, Gits, patches, metadata, installing as a service.


phox


----------



## rjmitche

philhu said:


> Your origairdate change is a bad idea.
> 
> I have shows that have orig air dates of 1964, and earlier. They would always sort low, even though I recorded them this week!!!!!
> 
> That is why we need both dates. OrigAirdate - 1964/mm/dd and showing date, for when it was recorded.


I agree that having the "recorded date" equal to the "original air date" might not be the perfect solution for every situation... that's why I was requesting that it be an option that could be turned on/off. I guess the real goal is to get the "time" item added to the metadata file (along with "originalAirDate"). It would need to default to some value and originalAirDate is available... I suppose another option would be to have it default to "today".


----------



## lrhorer

phox_mulder said:


> Simple question.
> 
> What version of Python do I want?
> 
> Standard Release? x86? Win64-Itanium? Win64-AMD64?


You said one question. That's five. 



phox_mulder said:


> Or one of the Windows Binaries(does not include the source)
> (semi computer literate, but no idea what that means)
> 
> I'm guessing the standard relase for x86, as my computer is @6 years old running Wink2K.
> I think I have an AMD processor though, but again, over 6 years old.


Yes, standard x86 release.



phox_mulder said:


> Then, which version of PyTivo? there's 100 different versions to be had.


Well, try a couple. They're easy to install. I suggest not the latest beta unless you like finding and reporting bugs.



phox_mulder said:


> Is PyTiVo easy to use for the non computer geniuses?


Using it is pretty much trivial. Installing is not difficult. Maintaining it, especially in light of all the development going on might be challenging if you find you want to keep up with all the latest features. Otherwise, not.



phox_mulder said:


> The fact that you need Python, FFmpeg and the PyTivo script leads me to think not so much.


Once you have it configurfed it's pretty much automatic. How difficult it is to configure depends on just what features you need and how picky you are about them. I've only used pyTiVo for testing and occasional purposes, and my config file is simply this (the server parameters are left as default):

[_tivo_00000DEADBEEF]

[pyTiVo]
type = video
path = z:\Recordings

[Server]
port = 9032
ffmpeg = c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
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 -



phox_mulder said:


> Folders, Subfolders, Gits, patches, metadata, installing as a service.


Folders allows you to create a separate file for each group of programs you want to lump together on the main NPL screen. In the above config file, there is only one folder defined, named "pyTiVo". For example, you could create folders called "Comedy", "Action Adventure", Westerns", and "Documentary". Each of these would show up in the root of the NPL. Each program in the main folder shows up under it's main title with no reference to any episode listing. 50 episodes of Law and Order would all show up as simply "Law and Order", and the user must drill into the program (hit <Right Arrow> or ) to see which episode.

Sub-folders are just directories you create in the server's file system underneath the source folder. It doesn't require any extra configuration in the config file. So for example, in Windows you can create main directories named as above and then create a directory named Gunsmoke\Westerns with 20 episodes of Gunsmoke in it. When you select "Westerns" from the TiVo menu and you have groups turned on, you will see a folder called "Gunsmoke" as one of the entires in the list. If you then select "Gunsmoke", you will see a list of 20 episode titles, rather than the series name. If you turn off groups in the NPL, then you will still see the main "Westerns" folder, but when you select the folder you will not see any sub-folders, and instead you will see 20 programs all named Gunsmoke.

Apparently there is another way to handle this, but I am unfamiliar with it. Perhaps someone else can give you a brief on it.

Metadata is the information about a recording apart from the actual video. It includes things like actors, directors, ratings, date recorded, plot synopsis, etc. Worry about it later, after you have pyTiVo up and running for a bit and decide you want to customize things. Or not.

Don't worry about Gits or patches until things don't work or quit working.

Installing as a service simply means you won't have to log in to the computer for the programs to be available on your Tivo. If the program runs as a regular application, then you must log in and run the app (it can be in your startup folder to run automatically after logging in) in order for its features to be available. Running it as service means it comes up and is available to the network even though no one is logged in to the computer, or no matter who is logged into the computer. Not being able to run as a service is one of TiVo Desktop's major downfalls, IMO.


----------



## danpritts

tlc said:


> Some of us are already doing this by setting the ffmpeg_prams as described here. It works great (for the HD). Much less server CPU for the transcoding and the HD does scaling. But the S2's can't handle this.
> 
> tlc


doh. that's a lot simpler than my method - ffmpeg just uses the original file's specs, i presume?


----------



## wmcbrine

I suppose I'll just be accused of adding to the "confusion", but I've posted a zip of my latest -- minus the libraries and ffmpeg -- here. If you install the libraries and ffmpeg separately (easy to do in Ubuntu), this is all you need. Otherwise you can unzip it over a fuller version.


----------



## KRKeegan

OK so it is pretty late and I should get to bed. But I have a new cool toy for everyone. I made a HTML configurator(what a horrible name). Maybe an HTML admin tool?

Since pyTivo is just a http server I built it as a separate plugin. Even though it is a plugin it will not display on your TiVo. But you can load the link from your web browser and tinker with the settings in the pyTivo.conf file. It does not have an ability to do a restart from the webpage yet, if anyone knows how to do this let me know, so you will still have to manually restart pyTivo after you alter the pyTivo.conf file. Also the UI is pretty rough on the eyes, but it is a basic framework I can make it pretty later.

This will work on any version of pyTivo

To install this:
1. Extract the attached zip into your plugins folder
2. Add these 2 lines to your pyTivo.conf


Code:


[Admin]
type = admin

3. Restart pyTivo 
4. Go to http://192.168.1.100:9032/TiVoConnect?Command=QueryContainer&Container=Admin
Please change the IP to match your server.
5. You can now browse and edit your configuration settings from a web browser

I attached 2 screens of what it looks like as well.

*
Request for help* I would like to better document all the settings and their ideal ranges. At some point i would like to include that info in my above plugin as well. But in the mean time I updated:
http://pytivo.armooo.net/wiki/ConfigurepyTivo
Can everyone please check out the list of settings I compiled. Add any that are missing. Write some descriptions of what they do. Include some examples. Write some comments about what the ideal settings are. And help me with the format of the end of the page.

Your help would be greatly appreciated and would help future users of pyTivo as well.


----------



## MasterCephus

Cool!

I built a stupid little thing that I was going to add a plugin to do this! I can't get the service to run on my box for some reason and I hate having that console, so I wrote a little GUI that creates a process in the backend that runs the script. That way I can just minimize it to the task bar with no problems and start, stop, and restart whenever I want.

It works well, the only problem is that I can't get it to output to a textbox...which stinks, but it still does it's basic job 

I was going to extend that to allow a user to configure the configuration file, view the debug file, etc...

I guess I don't have to do that anymore


----------



## MasterCephus

KRKeegan,

quick thing:



> 4. Go to http://192.168.1.100:9032/TiVoConnec...ontainer=Admin
> Please change the IP to match your server.


Is that IP initially hard coded in? Just wondering because my home server is that IP address so there would be a conflict there. If it's hard coded, could you show me where to change the IP in the code to match my specific machine's IP that runs pyTivo?


----------



## MasterCephus

Sorry for the multiple posts here, but I keep forgetting things 

I have posted a new version of the MetaGenerator here.

Everything is the same except 2 things:

1. When saving videos, I am now just looking for a set of valid video files (.avi, .mpg, .mp4, .vob, .flv) instead of each individually.

2. Exporting Season now allows you to pick each video file individually (look at the top of the save text file screen for the Series name - Episode Title to know which episode you are saving) instead of just dumping them all to a folder with generic names.

Hope you guys enjoy!


----------



## philhu

rjmitche said:


> I agree that having the "recorded date" equal to the "original air date" might not be the perfect solution for every situation... that's why I was requesting that it be an option that could be turned on/off. I guess the real goal is to get the "time" item added to the metadata file (along with "originalAirDate"). It would need to default to some value and originalAirDate is available... I suppose another option would be to have it default to "today".


If you use metadata, you can set original air date and saved date. That solves the problem.

I looked thru the metadata and my program stores even the channel it was originally recorded on, the record date, original airdate, tv ratings, genres from the original numbers stored in the tivo, etc.

Not hard to do with the metadata files


----------



## tlc

danpritts said:


> doh. that's a lot simpler than my method - ffmpeg just uses the original file's specs, i presume?


That's my understanding; if you don't tell ffmpeg to scale to a size, it uses the input size.

But I didn't come up with this. I just read the posts and used it.

tlc


----------



## philhu

Ok, wierd problem.

I converted .TY files to MPG using tytompg.

They play fine in media player on my xp machine. Audio is fine

When they transfer to my TIVO, the sound kind of clicks every 1 second or so. It kind of sounds like a dropout about every second, and again, it plays fine on the computer.

So I am assuming it is ffmpeg problem, since it does the transfer.

I have a tivoHD, the files were from a series 2 machine, not HD, The ffmpeg I have is from the 12/09 pytivo kit.

Anyone have this or fix it with config changes, etc/
Thanks!


----------



## dlfl

philhu said:


> Ok, wierd problem.
> 
> I converted .TY files to MPG using tytompg.
> .......
> So I am assuming it is ffmpeg problem, since it does the transfer.
> ..........


Are you sure? If the mpeg2 is considered TiVo-compatible by pyTivo it is just streamed directly to your TiVo without ffmpeg transcoding.

Maybe the output of tytompg just isn't quite acceptable to the TiVo?

If you are not running pyTivo as a service you can see whether ffmpeg is transcoding in the command window.


----------



## TreborPugly

KRKeegan said:


> 4. Go to http://192.168.1.100:9032/TiVoConnect?Command=QueryContainer&Container=Admin
> Please change the IP to match your server.





MasterCephus said:


> KRKeegan,
> 
> quick thing:
> 
> Is that IP initially hard coded in? Just wondering because my home server is that IP address so there would be a conflict there. If it's hard coded, could you show me where to change the IP in the code to match my specific machine's IP that runs pyTivo?


You don't need to change any code, just the link you are using to access the pyTivo server. The IP address in the link should be changed to whatever IP address your machine has. If you are just doing it on the machine that is running pyTivo, that link could be changed to: http://localhost:9032/TiVoConnec...ontainer=Admin


----------



## dlfl

MasterCephus said:


> KRKeegan,
> 
> quick thing:
> 
> Is that IP initially hard coded in? Just wondering because my home server is that IP address so there would be a conflict there. If it's hard coded, could you show me where to change the IP in the code to match my specific machine's IP that runs pyTivo?


I think this is something you are supposed to enter into your browser as an address to go to, so put in whatever IP will reach your pyTivo.


----------



## philhu

dlfl said:


> Are you sure? If the mpeg2 is considered TiVo-compatible by pyTivo it is just streamed directly to your TiVo without ffmpeg transcoding.
> 
> Maybe the output of tytompg just isn't quite acceptable to the TiVo?
> 
> If you are not running pyTivo as a service you can see whether ffmpeg is transcoding in the command window.


I'll try that tonight. I just dont know where the problem is, and assumed it was ffmpeg since it sounds fine on the computer.

If it is tytompg, anyone have something else to cvt a ty to mpeg that works better?


----------



## phox_mulder

lrhorer said:


> You said one question. That's five.


Thank you for taking the time to answer.

Off I go to try all this.

phox


----------



## cconnell

I have pytivo installed and working. I have 250 files in one directory. No Sub directories. Average file size 5 gig. The files are on an external hardrive. I can access it quickly from my PC. I am running Vista 64 bit. 

pyTivo runs fine but the directory listing is painfully slow. 20 to 30 seconds for it to come up and for each page down. Thinking it was pyTivo I installed Galleon. Same problem.

Any thoughts on what could cause the problem? Things to try? Thanks in advance.


----------



## PaulS

cconnell said:


> I have pytivo installed and working. I have 250 files in one directory. No Sub directories. Average file size 5 gig. The files are on an external hardrive. I can access it quickly from my PC. I am running Vista 64 bit.
> 
> pyTivo runs fine but the directory listing is painfully slow. 20 to 30 seconds for it to come up and for each page down. Thinking it was pyTivo I installed Galleon. Same problem.
> 
> Any thoughts on what could cause the problem? Things to try? Thanks in advance.


Did you even read the REPLY to this very question that you asked yesterday ? The files need to be parsed to determine if they're TiVo compatible or not. Churning through 250 large video files takes a while...


----------



## cconnell

PaulS said:


> Did you even read the REPLY to this very question that you asked yesterday ? The files need to be parsed to determine if they're TiVo compatible or not. Churning through 250 large video files takes a while...


I did reply, and got no further response. At that time I tried galleon. Sorry it is hard to keep track of everything in this one thread.

pyTivo had been running for over 12 hours and it did not speed up. There is only one directory with no sub folders. Just for reference how long is a while? Thanks.


----------



## MasterCephus

I imagine that if pyTivo must use ffmpeg to "test" every 5GB that you have (which is 250GB), it could take a while....

but defining while could mean a number of things...like what is the speed of your machine...

try this, copy about 5 of those files into a seperate folder and try to see if pyTivo sees it quicker. Then you could take that time and multiple times 50 and you should have a rough estimate....


----------



## cconnell

MasterCephus said:


> I imagine that if pyTivo must use ffmpeg to "test" every 5GB that you have (which is 250GB), it could take a while....
> 
> but defining while could mean a number of things...like what is the speed of your machine...
> 
> try this, copy about 5 of those files into a seperate folder and try to see if pyTivo sees it quicker. Then you could take that time and multiple times 50 and you should have a rough estimate....


It took less than 5 seconds when I did this. When I went back in it was almost instant. When I have 250 files do I need to page down to the bottom to make sure that it gets cached? If yes can force it to cache with an http call from my browser (at 20 seconds per page of 8 it could take awhile and get old every time I have to reboot.).

Thanks for your replies. Thoughts?


----------



## KRKeegan

cconnell said:


> When I have 250 files do I need to page down to the bottom to make sure that it gets cached?


 Before you start trying to figure out http calls, why dont you make sure that the result is what you want.

Load one of those large folders and slowly scroll all the way through the files to make sure they have all been read. Then exit the folder and come back. Does the folder load fast now?

Kevin


----------



## phox_mulder

I can't believe I actually got this to work.

I'm transferring a program as we speak.

432MB AVI and it's taken 3.5 hours to transfer 36 minutes of an hour program to my S3.

I took a quick peek at the show and was quite impressed at the video/audio quality though.

Is it supposed to be this slow, or is my ancient computer the problem.

My CPU usage has been pegged at 100% plus the whole time, making it really hard to do anything else on the computer.

Maybe I need to install everything on my sons computer and see if it goes any quicker, his computer is slightly newer and faster than mine.
His is wireless G to my router though, my computer is ethernet to router along with the S3.

Also looks like I need to do some tweaking to the aspect ratio settings, it looks like I'm bleeding off the edge of my TV.
I used the suggested HDTV settings.


phox


----------



## KRKeegan

I updated the list of server configuration settings at:
http://pytivo.armooo.net/wiki/ConfigurepyTivo#Settings

If anyone has any notes to add please do.


phox_mulder said:


> 432MB AVI and it's taken 3.5 hours to transfer 36 minutes of an hour program to my S3. . . . Is it supposed to be this slow, or is my ancient computer the problem. . . . My CPU usage has been pegged at 100% plus the whole time, making it really hard to do anything else on the computer.


If the CPU is at 100% then yeah that is the bottleneck. You can tinker with the bitrate settings which might help. You will get a lower quality video but it will be usable. Or move it to a faster computer. My box can transfer a similar file faster than real time.


----------



## philhu

dlfl said:


> Are you sure? If the mpeg2 is considered TiVo-compatible by pyTivo it is just streamed directly to your TiVo without ffmpeg transcoding.
> 
> Maybe the output of tytompg just isn't quite acceptable to the TiVo?
> 
> If you are not running pyTivo as a service you can see whether ffmpeg is transcoding in the command window.


Well, I bought/used VideoRedo QuickstreamFix and it fixed it

Go figure


----------



## mr2828

phox, if your computer's interactivity is too slow while doing a transfer you might want to search back in this thread for the trick on how to run pytivo at a lower than normal process priority. I had to resort to this since I want to be able to use one of my laptops while it does transfers. On the downside this will make the transfer take even longer than it is now.


----------



## StanSimmons

philhu said:


> If somehow you got metadata from that program and files from it, I wrote a quick VB program to turn the meta data into pyTivo NPL metadata. I will distribute the source, since it needs a quick config and I dont wanna build a full vb exe generator install kit.
> 
> There is alot more data available in the meta files than is currently in the .txt files.
> 
> Does anyone have a list of keywords that PYTIVO allows in the metadata .txt files when showing in the NPL? Or are we using all of them allowed so far?
> 
> And can the PYTIVO .txt file take genre's in numbers, not words, like
> 
> vProgramGenre : 34
> 
> instead of
> 
> vProgramGenre : Comedy
> 
> Since the Tivo uses multiple genres in a numeric format. *BTW, I do have a list of all Tivo Genre numbers if anyone wants it*
> 
> And is there a way in those metafiles for PYTIVO to show Original Airdate, and this showing airdate? Both is available.


Yes, please! I would love to have the Genre numbers table


----------



## wmcbrine

I'm posting it in this thread since it includes changes to both the photo and music plugins.

- Supports "RandomStart". Basically what this means is that, if your slide show options are set to shuffle, and you directly select a picture for full-screen view via "View Photo", you'll now get the right picture.

- Caches directory scans and sorts for the music plugin (as previously for photos). You'll see this in faster transitions between songs, and in a more consistent "x of y" display (e.g., "5 of 552") when in shuffle mode -- it will count upwards instead of jumping around.

As before, this is the complete package, _minus_ the third-party libraries and ffmpeg. If you want those too, use git.

If you're coming here without having read the photo plugin thread, note that you also need the Python Imaging Library to use the photo plugin. (In Ubuntu, you can install it from the repositories, just like the other libraries.)


----------



## philhu

StanSimmons said:


> Yes, please! I would love to have the Genre numbers table


Here it is:
# A map between zap2it.com/ananova TV programme Categories and TiVo Genres.
# Use the following to find the new categories..
# ..new categories should show up without any genre mapping numbers
# cat zap2itgenres.txt zap2itgenres.txt.new | sort -u -t\" -k1 2
#
# Categories starting with a lowercase letter have been determined heuristically
# with the xmltv tv_extractinfo_en perl script.
#
# Watch that we don't put any whitespace after the last Genre number on each line
# THESE MUST BE TAB DELIMITED!!!!!!!
"Action" 1011	1
"Ad" 1011	1
"Adult" 1000	1005	2
"Adult Movie/Drama" 1000	1005	1006	2	35	68
"adventure" 1011	1
"aerobics" 1009	48
"Adventure/War" 1011	1	115
"Advertisement" 1000	90
"Advertisement/Shopping" 1000	90
"American Football" 1009	42	101
"Animals" 1008	3
"Animated" 1002	4
"Anime" 1002	4
"anthology" 1000 5 
"archery" 1009 101 
"arm wrestling" 1009 101 
"Art" 1000	6
"Arts/Crafts" 1000	6
"Arts/Culture" 1000	6	79
"auction" 1010 44 
"auto" 1000 7 
"auto racing" 1009 7 120 
"aviation" 1008 87 
"awards" 1000 9 
"Australian Rules Football" 1009	42	101
"badminton" 1009 101 
"ballet" 1000 10 
"baseball" 1009 11 
"basketball" 1009 12 
"beach soccer" 1009 101 
"beach volleyball" 1009 101 
"Beauty" 1000	13
"Bio" 1004	16
"Biography" 1004	16
"Biz" 1007	21
"biathlon" 1009 101 
"bicycle" 1009 14 
"bicycle racing" 1009 14 
"billiards" 1009 15 
"boat" 1010 17 
"boat racing" 1009 17 
"bobsled" 1009 101 
"bodybuilding" 1009 18 
"bowling" 1009 19 
"Boxing" 1009	20	101
"bullfighting" 1009 101 
"bus./financial" 1007 21 
"cheerleading" 1009 101 
"children" 1001 22 
"children-special" 1001 100 
"children-talk" 1001 106 
"children-music" 1001 69 
"Call-in" 1010	107
"Cartoons/Puppets" 1001	4	22
"Children's" 1001	22	36
"Children's/Youth Programmes" 1001	22	36
"Collectibles" 1000	24
"Combat Sports" 1009	64	101
"comedy" 1002	25
"Comedy" 1002	25
"comedy-drama" 1002 1005 25 35 
"Computers" 1008	26
"Cooking" 1000	27
"Cricket" 1009	101
"Cricket - International" 1009	101
"Crime" 1005	29	104	110
"Crime Drama" 1005	30	104	110
"Curling" 1009	31
"Dance" 1000	10	69	32
"darts" 1009 101 
"debate" 1010 106 
"diving" 1009 101 
"Detective/Thriller" 1013	30	104	110
"DIY" 1000	1004	34	54	58
"Doc" 1004	34
"Documentary" 1004	34
"docudrama" 1005 33 
"documentary" 1004 34 
"dog racing" 1009 101 
"dog show" 1000 9 
"dog sled" 1009 101 
"drag racing" 1009 101 
"Drama" 1005	35
"drama" 1005	35
"Edu" 1012	36
"Education" 1012	36
"Educational" 1012	36
"Education/Science/Factual Topics" 1012	34	36	87
"Electronics" 1008	37
"entertainment" 1000 106 
"environment" 1008 72 
"equestrian" 1009 101 
"exercise" 1009 48 
"extreme" 1009 101 
"Extreme/Minority Sports" 1009	101
"Fantasy" 1014	39
"Fashion" 1000	40
"fencing" 1009 101 
"field hockey" 1009 101 
"figure skating" 1009 101 
"fishing" 1009 41 
"football" 1009 42 
"Film" 1006	68
"Fin" 1007	21
"Fishing" 1008	41
"Fitness" 1000	48	13
"Football - Club" 1009	97	101
"Football - International" 1009	97	101
"Football/Soccer" 1009	101	42
"French" 1000	43
"Fundraiser" 1000	44
"gaelic football" 1009 101 
"Game" 1003	45
"Game Show" 1003	45
"Game Show/Quiz" 1003	45
"Gardening" 1000	54
"gymnastics" 1009 47 
"General Arts/Culture" 1000	79
"General Children's/Youth" 1001	22
"General Education/Science/Factual Topics"	1012	36	87
"General Music/Ballet/Dance" 1000	69	10	32
"General Movie/Drama" 1005	1006	35	68
"General News/Current Affairs" 1007	73	117
"General Show/Game Show" 1012	45
"General Social/Political Issues/Economics"	1007	21	77
"General Sports" 1009	101
"Golf" 1009	101	46
"handball" 1009 101 
"headlines" 1007	73
"Health" 1000	48
"Historical" 1004	49
"history" 1012 49 
"historical drama" 1005 50 
"horror" 1005	1013	104	35	55
"Horror" 1005	1013	104	35	55
"Horse racing" 1009	101	56
"Horse" 1009	56
"House/Garden" 1000	54
"Housewares" 1000	57
"How-to" 1012	58
"hockey" 1009 51 
"holiday" 52 
"holiday-children" 1001 52 
"holiday-children special" 1001 53 
"holiday music" 1000 52 69 
"holiday music special" 1000 52 69 100 
"holiday special" 53 
"home improvement" 1000 54 
"hunting" 1009 101 
"hurling" 1009 101 
"hydroplane racing" 1009 101 
"indoor soccer" 1009 101 
"interview" 1010 60 
"intl basketball" 1009 59 12 
"intl hockey" 1009 59 51 
"intl soccer" 1009 59 97 
"Ice Hockey" 1009	101	51
"Info" 1004	34
"Jewelry" 1000	61
"Jewelery" 1000	61
"kayaking" 1009 101 
"lacrosse" 1009 62 
"law" 1007 35 
"luge" 1009 101 
"Leisure Hobbies" 1000	79
"Live Broadcast" 1007
"magazine" 1010	63
"martial arts" 1009 64 
"medical" 1008	65
"Motorcycling" 1009	67	66
"Motoring" 1000	1005	66
"Motor Sport" 1009	101	66
"motorsports" 1009 66 
"motorcycle" 1009 67 
"motorcycle racing" 1009 67 120 
"mountain biking" 1009 14 
"music special" 1000 69 100 
"music talk" 1000 69 106 
"Movie/Drama" 1006	35	68
"Music" 1000	69	70
"Musical" 1005	69	70
"musical comedy" 1002 70 
"Musical/Opera" 1000	69	70	75
"Music/Ballet/Dance" 1000	10	69	70
"mystery" 1013	71	110
"Mystery" 1013	71	110
"Nature" 1008	3	72
"Nature/Animals/Environment" 1008	3	72
"News" 1007	73	117
"news" 1007	73	117
"News/Current Affairs" 1007	73	117
"News/Weather Report" 1007 73	117
"Off-Air" 1000	
"olympics" 1009 74 
"Opera" 1000	70	75
#"omnibus"
"outdoors" 1008 76 
"parade" 1008	76 
"paranormal" 1014 71 
"parenting" 1000 38 
"performing arts" 1000 32 
"politics" 1007 77 
"polo" 1009 101 
"pool" 1009 101 
"Pop" 1000	69	70
"pro wrestling" 1009 101 
"public affairs" 1007 77 
"racquet" 1009 101 
"quiz" 1012	45
"Rallying" 1009	66	101
"Reality" 1015	79
"religious" 1003 80 
"rodeo" 1009 81 
"roller derby" 1009 101 
"romance-comedy" 1002 83 
"rowing" 1009 101 
"running" 1009 85 
"Romance" 1005	82
"Rugby" 1009	84
"Sailing" 1009	17	116
"science" 1008 87 
"Science Fiction" 1014	88
"SciFi" 1014	88
"self improvement" 1000 89 
"shopping" 1010 90 
"sitcom" 1002 25 
"skateboarding" 1009 101 
"skating" 1009 92 
"snowboarding" 1009 95 
"snowmobile" 1009 95 
"soap" 1003 96 
"soaps" 1003 96 
"soap special" 1003 100 96 
"soap talk" 1003 106 96 
"soccer" 1009 97 
"softball" 1009 98 
"speed racing" 1009 101 
"Serious Music/Classical Music" 1000	69
"Shopping" 1000	90
"Show/Game Show" 1012	45
"Situation" 1002	91
"Skiing" 1009	93	101
"Snooker" 1009	101
"snooking" 1009 101 
"Soap/Melodrama/Folkloric" 1005	35	96
"Social/Political Issues/Economics" 1007	21	77
"Spanish" 1000	99
"Special" 1000	100
"Special Characteristics" 1000	100
"Spiritual" 1000	80
"Sport - Events" 1009	101
"Sports" 1009	101
"Sports Magazines" 1009	101	63
"sports event" 1009 101 
"sports talk" 1009 106 
"squash" 1009 101 
"standup" 1002 25 
"sumo wrestling" 1009 101 
"surfing" 1009 101 
"suspense" 1013 104 
"swimming" 1009 105 
"Tabloid" 1010	63
"Talk" 1010	106
"talk" 1010	106
"Talk Show" 1010	106
"Tennis" 1009	101	108
"theatre" 1000 109 
"thriller" 1013	104	110
"Tourism/Travel" 1000	112	59
"track/field" 1009 111 
"Travel" 1000	112	59
"Triathlon" 1009	101	111
"Variety" 1010	113
"Volleyball" 1009	101	114
"War" 1005	1	115
"Water Sport" 1009	101	116
"Watersports" 1009	101	116
"water polo" 1009 116 
"water skiing" 1009 116 
"weather" 1007 117 
"western" 1015	35	118
"Westerns" 1015	35	118


----------



## philhu

wmcbrine said:


> I'm posting it in this thread since it includes changes to both the photo and music plugins.
> 
> - Supports "RandomStart". Basically what this means is that, if your slide show oprions are set to shuffle, and you directly select a picture for full-screen view via "View Photo", you'll now get the right picture.
> 
> - Caches directory scans and sorts for the music plugin (as previously for photos). You'll see this in faster transitions between songs, and in a more consistent "x of y" display (e.g., "5 of 552") when in shuffle mode -- it will count upwards instead of jumping around.
> 
> As before, this is the complete package, _minus_ the third-party libraries and ffmpeg. If you want those too, use git.
> 
> If you're coming here without having read the photo plugin thread, note that you also need the Python Imaging Library to use the photo plugin. (In Ubuntu, you can install it from the repositories, just like the other libraries.)


Does this fix anything with my video/music problems I posted the log for a while back? I don't have a clue what it is saying in that log. Do you?


----------



## MasterCephus

philhu,

Next time just put that into a txt file and attach it to your post  That's a really long post


----------



## mikeylikesit40

KRKeegan said:


> I updated the list of server configuration settings at:
> http://pytivo.armooo.net/wiki/ConfigurepyTivo#Settings
> 
> If anyone has any notes to add please do.
> .


I just wanted to thank you for your efforts.

I am an old programmer and started to work on the bugs last week. I got a few sorted out but was still having problems. I'm new to pyTivo and Python.

Then, I saw a post with your changes. I downloaded it and Viola! I haven't had a Tivo reboot since. Sub-folders are working fine (thank you thank you thank you).

If I lived near ya... I'd buy ya a cup of coffee!

ALSO... the person who created the MetafileGenerator program.... your latest changes to export the season all at once... beautiful.


----------



## starmanj

Is Pytivo compatible with zippered dtivos? I can't get the server to show up in "now playing". Tivoserver does show up, but it's old and I'd like to use pytivo.


----------



## rjmitche

philhu said:


> If you use metadata, you can set original air date and saved date. That solves the problem.
> 
> I looked thru the metadata and my program stores even the channel it was originally recorded on, the record date, original airdate, tv ratings, genres from the original numbers stored in the tivo, etc.
> 
> Not hard to do with the metadata files


I'm not sure I'm completely following you (of course, I could just be being dense... wouldn't be the first time ).

What you say makes perfect sense if the source of the data is an existing .tivo file (as in dlfl's excellent PyTivoMetaGen program) but MasterCephus' (also excellent) MetaGenerator program is using more generic internet resources (TVDB and Movie-xml.com) that aren't going to know when the show might have been shown/recorded on your tivo (nor specifics like channel, etc.).


----------



## cconnell

KRKeegan said:


> Before you start trying to figure out http calls, why dont you make sure that the result is what you want.
> 
> Load one of those large folders and slowly scroll all the way through the files to make sure they have all been read. Then exit the folder and come back. Does the folder load fast now?
> 
> Kevin


I just did that. The folder still loads slowly. There are 294 items in the folder with an average size of 5 gigs.

My workaround was to create multiple sub folders with about 25 files each.

Thanks for your help. I have no idea why it was so slow even after caching. Now to figure out the ffmpeg parameters... Thanks again.


----------



## philhu

rjmitche said:


> I'm not sure I'm completely following you (of course, I could just be being dense... wouldn't be the first time ).
> 
> What you say makes perfect sense if the source of the data is an existing .tivo file (as in dlfl's excellent PyTivoMetaGen program) but MasterCephus' (also excellent) MetaGenerator program is using more generic internet resources (TVDB and Movie-xml.com) that aren't going to know when the show might have been shown/recorded on your tivo (nor specifics like channel, etc.).


oh thats right. The dates I was talking about were from ty and txt files from shows off my old tivos, so thats good for that


----------



## MasterCephus

> What you say makes perfect sense if the source of the data is an existing .tivo file (as in dlfl's excellent PyTivoMetaGen program) but MasterCephus' (also excellent) MetaGenerator program is using more generic internet resources (TVDB and Movie-xml.com) that aren't going to know when the show might have been shown/recorded on your tivo (nor specifics like channel, etc.).


I am pretty sure that I have hooks in there that could potentially get that data, it's just that I am never getting that data so it never prints those fields out.

EDIT: 
After looking, I am trying to get the original air date of TV shows, but the data probably isn't there. In the example I give in the wiki, that episodes does have that data (<FirstAired>2004-08-27</FirstAired>). So I capture that for sure.

Time would be something I couldn't get though...

Maybe in a future version, I will allow a check mark or something that will allow the form to drop down and allow the user to manually add these fields if they choose...this would be better than not having the ability to add these fields....


----------



## MasterCephus

Here is an idea to possibly toy with....


Why don't we take the most stable version of pyTivo and all the surrounding applications (the most stable of them), and bundle them into an installer for new people?

We probably could take an installer and make it create the config file as well (prompt the user where their directories are, etc).

Maybe make it to where sets the service to start after completion...

It would make this whole thing a lot more desirable IMO...


----------



## StanSimmons

starmanj said:


> Is Pytivo compatible with zippered dtivos? I can't get the server to show up in "now playing". Tivoserver does show up, but it's old and I'd like to use pytivo.


No, it only works with standalone tivos with current software on them.

You need TivoServer, which works pretty good with DTiVo's running v6 software.


----------



## PaulS

MasterCephus said:


> Here is an idea to possibly toy with....
> 
> Why don't we take the most stable version of pyTivo and all the surrounding applications (the most stable of them), and bundle them into an installer for new people?
> 
> We probably could take an installer and make it create the config file as well (prompt the user where their directories are, etc).
> 
> Maybe make it to where sets the service to start after completion...
> 
> It would make this whole thing a lot more desirable IMO...


I like it.

Additionally, at some point (already reached?) this thread will become too unwieldy, which will result in the creation of a new thread to continue this discussion. We should seize on that opportunity to make things a bit easier on the newcomers as well. Perhaps the first post (or posts) could contain links to the latest stable snapshot and configuration tips ?

Perhaps adding in a few sample config files (SD only, HD only, mixed environment) with a README instructing users how/when/why to use particular server/share options would be useful as well ? I know that's the intent of the wiki, but it would be nice to have everything in one place.


----------



## wmcbrine

philhu said:


> Does this fix anything with my video/music problems I posted the log for a while back?


Since I don't understand your problem, I can't say.



> _I don't have a clue what it is saying in that log. Do you?_


Like you said, it seems to be trying to use the video plugin for a share you designated as music. I saw something vaguely similar once when I had music and photo shares pointed to the same directory; but from your config, that doesn't seem to be your problem.

Edit: Oh, it just hit me -- try changing your share names. I haven't had a close look at the plugin dispatcher, but I notice that your music and photo share names ('MySvr-Photos' and 'MySvr-Music') start with the complete share name of your videos ('MySvr'). I bet if you make the video share name 'MySvr-Videos', your problem will go away.

Edit 2: Yep -- check this:



Code:


if query['Container'][0].[b]startswith[/b](name):

So, there ya go.


----------



## KRKeegan

wgw said:


> Doh! How did I miss that. That makes my HDtivosonly option redundant. I was a bit hesitant to add it but it sounded like a good idea at the time. I'll remove that setting from my mod unless someone can think of a good reason to leave it in. Let me know if you noticed any other fubars in my mod.


 Yeah I just started looking at your mod. I thought the HDtivosonly section was unnecessary.

I have not finished looking at the rest of your mods, from your description they sound good though.


----------



## philhu

wmcbrine said:


> Since I don't understand your problem, I can't say.
> 
> Like you said, it seems to be trying to use the video plugin for a share you designated as music. I saw something vaguely similar once when I had music and photo shares pointed to the same directory; but from your config, that doesn't seem to be your problem.
> 
> Edit: Oh, it just hit me -- try changing your share names. I haven't had a close look at the plugin dispatcher, but I notice that your music and photo share names ('MySvr-Photos' and 'MySvr-Music') start with the complete share name of your videos ('MySvr'). I bet if you make the video share name 'MySvr-Videos', your problem will go away.
> 
> Edit 2: Yep -- check this:
> 
> 
> 
> Code:
> 
> 
> if query['Container'][0].[b]startswith[/b](name):
> 
> So, there ya go.


Genius! I'll try that tonight.

Thanks!

-edit- This is the exact problem. Renaming the section fixed the problem as was mentioned


----------



## KRKeegan

Alright I think we all agree 1700 posts is too much to wade through to find anything. I wanted to wait for armooo to chime in but I think we are all pretty fed up with the mess that has become this thread. So here is a new discussion board all setup:

http://pytivo.krkeegan.com/

If armooo later decides to move the discussion I can give him a copy of the phpBB Database file.

So unless there are any objections I vote we move the discussion and allow it to use more than one thread.


----------



## gmd

It's not nearly as slick as the .NET version by MasterCephus, and is currently only for tv shows (using thetvdb.com) but this one will run under linux/mac/windows ... it was made to work in my environment, which is a linux fileserver with a bunch of directories, and shell scripts that run through those directories, adding metadata entries when a new file shows up.

Get it here: http://www.kurai.org/~gdunn/pyTivoMetaThis/

BSD License.

Maybe armooo will consider a contrib directory in the pyTivo package ?


----------



## philhu

KRKeegan said:


> Alright I think we all agree 1700 posts is too much to wade through to find anything. I wanted to wait for armooo to chime in but I think we are all pretty fed up with the mess that has become this thread. So here is a new discussion board all setup:
> 
> http://pytivo.krkeegan.com/
> 
> If armooo later decides to move the discussion I can give him a copy of the phpBB Database file.
> 
> So unless there are any objections I vote we move the discussion and allow it to use more than one thread.


Ok, I made the first post.

Comeon guys, lets move!


----------



## wmcbrine

KRKeegan said:


> http://pytivo.krkeegan.com/


You know there's also a mailing list, right?


----------



## KRKeegan

wmcbrine said:


> You know there's also a mailing list, right?


Yes but it is rarely used and it appears users prefer to use the forum.


----------



## vnavone

I've cross-posted this message at the new pyTivo forum...

Hi All, I'm following the wiki installation guide for MacOS X (I'm running 10.4.10). I've installed Xcode Tools (2.5), MacPorts (latest), and Python (2.5.1), and now I'm trying to do the remaining installs and get PyTivo running. So far I seem to be unable to install the faac with ffmpeg. I get this:

Victors-G5:~ victor$ sudo port install ffmpeg +lame +libogg +vorbis +theora +faac +faad +xvid +x264 +a52 +dts
---> Configuring faac
Error: Target org.macports.configure returned: shell command "cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_audio_faac/work/faac && aclocal -I . && autoheader && glibtoolize --automake" returned error 1
Command output: /usr/bin/glibtoolize: line 1: cd: /usr/share/libtool: No such file or directory
glibtoolize: cannot list files in `/usr/share/libtool'

Error: The following dependencies failed to build: faac faad2 autoconf help2man p5-locale-gettext perl5.8 libtool m4 automake libogg libtheora libvorbis pkgconfig x264
Error: Status 1 encountered during processing.

I've looked in my /usr/share directory and sure enough, no "libtool" folder. Was this supposed to be installed by Xcode, MacPorts or something else? There was a sentence in the OSX install instructions that I didn't understand:

"Make sure that your path includes the XCode tools."

I don't know how to do this; could this be part of the problem?

I was able to compile the other elements individually (lame, vorbis, xvid, etc.) so I thought I'd try running pyTivo without the faac. That doesn't work either:

Victors-G5:/Applications/pyTivo victor$ python pyTivo.py
Traceback (most recent call last):
File "pyTivo.py", line 11, in <module>
httpd.add_container(section, settings)
File "/Applications/pyTivo/httpserver.py", line 21, in add_container
settings['content_type'] = GetPlugin(settings['type']).CONTENT_TYPE
File "/Applications/pyTivo/plugin.py", line 13, in GetPlugin
module = __import__(module_name, globals(), locals(), name)
ImportError: No module named photo.photo

After searching this thread for similar problems I ruled out some possible causes. I have correctly copied and renamed my config file, so that's not the issue. I also inserted .profile and .bash_profile in my home directory (they were not there originally) and put in the following info:

export PATH=/opt/local/bin:/opt/local/sbin:$PATH
export DISPLAY=:0.0
export EDITOR=/usr/bin/pico

The profiles are otherwise empty. Do I need more? Any help appreciated.


----------



## philhu

wmcbrine said:


> Since I don't understand your problem, I can't say.
> 
> Like you said, it seems to be trying to use the video plugin for a share you designated as music. I saw something vaguely similar once when I had music and photo shares pointed to the same directory; but from your config, that doesn't seem to be your problem.
> 
> Edit: Oh, it just hit me -- try changing your share names. I haven't had a close look at the plugin dispatcher, but I notice that your music and photo share names ('MySvr-Photos' and 'MySvr-Music') start with the complete share name of your videos ('MySvr'). I bet if you make the video share name 'MySvr-Videos', your problem will go away.
> 
> Edit 2: Yep -- check this:
> 
> 
> 
> Code:
> 
> 
> if query['Container'][0].[b]startswith[/b](name):
> 
> So, there ya go.


That was it! All fixed.


----------



## jsbrss

vnavone said:


> I've looked in my /usr/share directory and sure enough, no "libtool" folder. Was this supposed to be installed by Xcode, MacPorts or something else? There was a sentence in the OSX install instructions that I didn't understand:
> 
> "Make sure that your path includes the XCode tools."


Xcode installs its own directory structure in the 'Developer' folder in the root directory. So you should see "/Developer/usr/share/libtool" on your system.

I did the install on my mac using the same instructions you are, but I can't remember exactly what they mean by "Make sure that your path includes the XCode tools" either. Maybe you cd to that directory before you run the sudo commands?


----------



## vnavone

jsbrss said:


> Xcode installs its own directory structure in the 'Developer' folder in the root directory. So you should see "/Developer/usr/share/libtool" on your system.
> 
> I did the install on my mac using the same instructions you are, but I can't remember exactly what they mean by "Make sure that your path includes the XCode tools" either. Maybe you cd to that directory before you run the sudo commands?


Thanks for trying to help. I found the "libtool" in my /Developer/usr/bin, then I tried running my commands from within /Developer but I still get the same error:

Command output: /usr/bin/glibtoolize: line 1: cd: /usr/share/libtool: No such file or directory
glibtoolize: cannot list files in `/usr/share/libtool'

So I tried copying libtool to my usr/share, but I still get the same error.


----------



## John Slider

I'm having noticeable overscan problems. I right clicked on my video and selected properties, and the details and it says the width is 720 so I edited the pyTivo config file to match that, but there is still a good amount trimmed. How can I fix?


----------



## StanSimmons

I've got a couple of hundred shows I'm importing to a S2 v9.1 TiVo and pyTivo seems to be the way to go except for one little issue...

I can't seem to get pyTivo to see any of my metadata. I have a bunch of shows named someshowname.mpg with matching someshowname.mpg.txt metadata files.

I've confirmed that a normal showname.tivo file will transfer and the metadata inside that file will transfer as well. If I extract the showname.mpg and showname.mpg.txt metadata file, then I do not get the metadata info.

What should I look at first to troubleshoot this?

Never mind.... It helps if you are working on the current version.


----------



## wgw

I've issued an update moving the calls to get source bitrate into the video info cache. Tivo NPL display should no longer be slowed significantly by these extra calls.

http://pytivo.armooo.net/wiki/LatestBeta


----------



## StanSimmons

One thing I've noticed is that the pyTivo NPL has the current date showing for each recording, not the recorded date that is listed in the metadata.

Once the recording is moved onto the tivo, then the correct date shows up.


----------



## scrappydog65

StanSimmons said:


> One thing I've noticed is that the pyTivo NPL has the current date showing for each recording, not the recorded date that is listed in the metadata.


I've noticed the same thing and wish there was a way to either show the date in the metadata file OR the physical files date.

Mike


----------



## netphoenix

As I continue to search for clues in this behemoth of a thread...

I've been alll fat, dumb & happy until a few days ago I decided to update my code.... <g> That's when my listing problems began with folders containing mixed Tivo & mp4 files. If I remove the tivo recordings from the folder, the mp4 shows display just great.

If I have a single .tivo file in a directory full of .mp4's I'm ok. If I add a 2nd .tivo file, that's when it starts hosing up. This first file (.tivo recording) that should display will disappear and instead, seems to act like a hyperlink to the bottom of the .mp4's (alphabetically listed). If I put more than a screen full of .TIVO files in the directory, it'll display the first screen repeatedly as I attempt to scroll down. Way weird...

I did a complete pytivo removal and a new install of the latest (what the heck while I'm at it) which was a 12-31 master file.

I'm bare bones now, with a single folder configured and an S2 tivo:

[Bones]
path=e:\MP4\TV\Bones
type=video

[Server]
debug=true
port=9032
ffmpeg=c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe

Folder example:

Bones - Death in the Saddle.TiVo
Bones - The Soccer Mom in the MiniVan.TiVo
bones 0101 - Pilot.mp4
bones 0102 - The man in the SUV.mp4
bones 0103 - A Boy in the Tree.mp4
bones 0104 - The Man in the Bear.mp4
...
bones 0242 - Spaceman in a Crater.mp4
bones 0243 - Glowing Bones in the Old Stone House.mp4

and the debug show's an intersting error:
=============
Anchor not found: e:\MP4\TV\Bonese:\MP4\TV\Bones - The Soccer Mom in the MiniVan.TiVo
==============

C:\Program Files\pyTivo\Cheetah\Compiler.py:1508: UserWarning: 
You don't have the C version of NameMapper installed! I'm disabling Cheetah's useStackFrames option as it is painfully slow with the Python version of NameMapper. You should get a copy of Cheetah with the compiled C version of NameMapper.
"\nYou don't have the C version of NameMapper installed! "
192.168.0.101 - - [06/Jan/2008 14:37:14] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
192.168.0.101 - - [06/Jan/2008 14:37:30] "GET /TiVoConnect?Command=QueryContainer&Container=Bones&Recurse=Yes&SortOrder=Title&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
192.168.0.101 - - [06/Jan/2008 14:37:36] "GET /TiVoConnect?Command=QueryContainer&Container=Bones&Recurse=Yes&SortOrder=Title&ItemCount=8&AnchorItem=%2FBones%2Fbones%25200106%2520-%2520The%2520Man%2520in%2520the%2520Wall.mp4&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -

192.168.0.101 - - [06/Jan/2008 14:38:08] "GET /TiVoConnect?Command=QueryContainer&Container=Bones&Recurse=Yes&SortOrder=Title&ItemCount=8&AnchorItem=%2FBones%2Fbones%25200107%2520-%2520A%2520Man%2520on%2520Death%2520Row.mp4&AnchorOffset=-8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
Anchor not found: e:\MP4\TV\Bonese:\MP4\TV\Bones - The Soccer Mom in the MiniVan.TiVo
192.168.0.101 - - [06/Jan/2008 14:38:12] "GET /TiVoConnect?Command=QueryContainer&Container=Bones&Recurse=Yes&SortOrder=Title&ItemCount=8&AnchorItem=%2FBones%2FBones%2520-%2520The%2520Soccer%2520Mom%2520in%2520the%2520MiniVan.TiVo&AnchorOffset=-2&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -


----------



## wmcbrine

netphoenix, I think I see the problem. Look here.


----------



## netphoenix

wmcbrine said:


> netphoenix, I think I see the problem. Look here.


That was it!!! I really appreciate you pointing this out. PyTivo is so cool. Right now I have digitized about 150 movies and the same number of TV shows. Just consider the calories I've saved since I no longer have to dig up the DVD and actually put it in my DVD player to watch it 

I informed the boss I would need to add another Tb to my farm this year... 

-Chris


----------



## slestak

Anyone interested in getting a support channel on freenode going for pytivo?

I looked around and didn't see one. I'll research it if there is an interest.


----------



## starmanj

Any chance of adding MRV protocol to PyTivo so us zippered dtivo users can enjoy this tool?


----------



## dlfl

slestak said:


> Anyone interested in getting a support channel on freenode going for pytivo?
> 
> I looked around and didn't see one. I'll research it if there is an interest.


Nice offer, but:
A dedicated pyTivo forum with a support topic was just created. What would a "support channel" buy us beyond that?


----------



## gonzotek

dlfl said:


> Nice offer, but:
> A dedicated pyTivo forum with a support topic was just created. What would a "support channel" buy us beyond that?


Real time chat over standard IRC protocol. To me, the best projects allow for mailing lists, forums, chat , and independent developers' blogs, *but* they archive _everything_ online, where it can be found later.


----------



## slestak

dlfl said:


> Nice offer, but:
> A dedicated pyTivo forum with a support topic was just created. What would a "support channel" buy us beyond that?


Ive registered over there. I agree with the fellow who said we dont have to have just one. irc is nice when you want to float an idea or want to see if anyone is in for an immediate question. Thre is also a social aspect to irc you do not get as much with forums.

I know the idiosyncrasies and sense of humor of friends in other freenode communities where we have common interests. Its also a good "staging area" to help grow the pytivo community.

Just a thought.
Steve


----------



## Narf54321

starmanj said:


> Any chance of adding MRV protocol to PyTivo so us zippered dtivo users can enjoy this tool?


Getting PyTivo working with DTV units would be pretty tricky, since it's all built around the Tivo-To-ComeBack feature which DirecTivos lack.

I'd suggest checking out *tivoserver* or *MovieLoader* for similar functionality. You've obviously already "hacked" the box, so those are new options for you.


----------



## MasterCephus

Ok I changed the link in my sig to a better download location...

Now you should be able to download it.


----------



## starmanj

Thanks, but I'm looking for transcoding. Tivoserver is stale--no development in quite a while, and Galleon only handles .mpg's. So latest encoding schemes won't work and old ones spotty with Tivoserver. PyTivo uses ffmpeg externally so you can update it or compile with whatever options you want-- nice. So all us dtivo users are out of luck. I can compile tivoserver under cygwin but porting the MRV server code to PyTivo is beyond my capabilities...



Narf54321 said:


> Getting PyTivo working with DTV units would be pretty tricky, since it's all built around the Tivo-To-ComeBack feature which DirecTivos lack.
> 
> I'd suggest checking out *tivoserver* or *MovieLoader* for similar functionality. You've obviously already "hacked" the box, so those are new options for you.


----------



## lairdre

Is it possible to stream a dvd to a tivo using pytivo? I know that VideoLan will allow you to stream a DVD to a PC. Does anyone know what it would take to add this support to pytivo?

Ron


----------



## dlfl

lairdre said:


> Is it possible to stream a dvd to a tivo using pytivo? I know that VideoLan will allow you to stream a DVD to a PC. Does anyone know what it would take to add this support to pytivo?
> 
> Ron


If you do a search on "DVD" in this thread you'll find quite a bit of recent info on this topic. The short answer is "No", but with some video conversion effort (see posts from search) you can do something useful.

My guess is this would be a major effort to add this to pyTivo.


----------



## xdroccax

Can the "log.txt" be disabled? I.e. no logging. If so, how?


----------



## riekl

Pytivo is working fine, only any movies i 'transfer' to my tivo come across with the name 'videos' instead of the filename. 

I.e. c:\videos\lordoftherings1.mp4

Transfers as "videos" but if you click on it has an episode name of 'lordoftherings' how do i change this ?


----------



## wmcbrine

riekl said:


> Pytivo is working fine, only any movies i 'transfer' to my tivo come across with the name 'videos' instead of the filename.
> 
> I.e. c:\videos\lordoftherings1.mp4
> 
> Transfers as "videos" but if you click on it has an episode name of 'lordoftherings' how do i change this ?


Try a more recent version.


----------



## phox_mulder

xdroccax said:


> Can the "log.txt" be disabled? I.e. no logging. If so, how?


log.txt or debug.txt?

Look at PyTivo.conf.dist, it has a line for turning off and on the debugging, I believe you put in debug=false, but check the sample config file to make sure.

phox


----------



## MacerX

scrappydog65 said:


> Mike


Scrappydog,
Please fix your signature. Pytivo site is pytivo.armooo.net, not pytivo.armooo.com
THX


----------



## scrappydog65

MacerX said:


> Please fix your signature. Pytivo site is pytivo.armooo.net, not pytivo.armooo.comTHX


MacerX - Thanks for catching. It's been corrected.

Mike


----------



## MasterCephus

Apparently I just noticed that the place where I get movie data changed their interface so the movie part of the MetaGenerator is not working.

I know how to fix it, but it might be Monday before I can produce an update because of family obligations this weekend. I will do my best to produce the fix ASAP.


----------



## lorddunlow

I need help. I have had no problems with pyTivo for months (after making adjustments to deal with 9.1) I had been using an old version of the software (I'm not sure which version) and had just been updating transcode.py etc. as needed. With all this metadata stuff, I decided to update. I have successfully installed the 1/4/08 subfolder release which is working flawlessly except for one thing. I now have blank video if I have aspect169 set to true. I am running pyTivo on windows. I have two 540 Series 2 boxes and I know this has been an issue since 9.1, but with the help of this post http://www.tivocommunity.com/tivo-vb/showthread.php?p=5600276#post5600276
I was able to fix the problem with my old version of pyTivo. This no longer works due to all the changes that have been made. Does anyone know how I can get my videos to not be letterboxed anymore? I can watch videos like this by zooming the image to fill the screen, but it's more grainy that way, and I prefer the way it used to work for me. Thanks for any help anyone is able to provide.


----------



## xdroccax

phox_mulder said:


> log.txt or debug.txt?
> 
> Look at PyTivo.conf.dist, it has a line for turning off and on the debugging, I believe you put in debug=false, but check the sample config file to make sure.


The LOG.TXT file that resides in the program folder.. not the debug.txt. The PyTivo.conf debug=false only controls the debug.txt file. I'm looking to disable the log.txt file.


----------



## wmcbrine

xdroccax said:


> Can the "log.txt" be disabled? I.e. no logging. If so, how?


You could take these lines out of pyTivoService.py:


Code:


        f = open(os.path.join(p, 'log.txt'), 'w')
        sys.stdout = f
        sys.stderr = f

That oughta do it.


----------



## MasterCephus

Hey guys,

I released the newest version of the MetaGenerator yesterday. I fixed the problem with the movies section not working and added new features:
-added year to movie result list
-added ability to convert IMDB rating to stars (can be set in settings)
-add ability to manually add original airdate
-added ability to get the movie year
-added ability to manually add episode number to TV shows
-added mpaaRating
-if a TV show, tvRating is used, if movie, mpaaRating is used
-added mpeg to video filter when looking for video files
-fixed end of line characters in descriptions

This version will only work with wmcbrine latest release of the pyTivo. If there are any problems, let me know and I will try to fix them as soon as possible.

If want to discuss MetaGenerator, please go here. If you just want to download it and use it, click here.


----------



## jcthorne

Is anyone working on the music plug in for pytivo? I am not a programmer but would sure enjoy seeing album covers displayed while the mp3 is playing. Either from the id3 data in the mp3 itself or the .jpg file in the same directory with the .mp3 being played.

Or is there a way to accomplish this now in pytivo? WMcbrine, I'd offer you a case of your favorite brew to work on this...your work on the photos plug in was brilliant. (trying to butter you up...is it working?)


----------



## CuriousMark

jcthorne said:


> I am not a programmer but would sure enjoy seeing album covers displayed while the mp3 is playing. Either from the id3 data in the mp3 itself or the .jpg file in the same directory with the .mp3 being played.
> 
> Or is there a way to accomplish this now in pytivo?


PyTiVo is an HMO server. Displaying a picture and and playing music simultaneously requires an HME server.

TiVo provides the ability to develop HME servers in Java, but not in Python. Someone would have to port the HME SDK to Python for this to happen.



> WMcbrine, I'd offer you a case of your favorite brew to work on this...your work on the photos plug in was brilliant. (trying to butter you up...is it working?)


Porting the plumbing from Java to Python is a pretty big job. I think many of us would have to pitch in a few cases of brew each. I notice that HME has been ported to Perl, so it should be doable by someone who knows both Java and Python.


----------



## wmcbrine

CuriousMark said:


> Porting the plumbing from Java to Python is a pretty big job.


Oh, I dunno. 

Actually, one needn't really get into the Java SDK -- one can develop upwards from the protocol spec (plus a little packet sniffing to see what really goes on, beacuse damnit, the spec is pretty skimpy). If one wanted to make it work _just_ like the Java SDK, then yeah, that would be more of a port.

Re: Album covers, the HMO spec talks about this as something that could be implemented in the future -- it even talks about the tags it would use -- but the HMO music app (on the Tivo box) doesn't support it yet (or probably ever).


----------



## CuriousMark

I am ready to type "Import HME"! How can I help!


----------



## MasterCephus

Just released:

1.3.2
fixed bug(s)
-fixed searches with apostrophes
-fixed movieYear not writing to metadata file

added feature(s)
-updating file version to current release
-user can now see version number in the About form
-updated the large series ID database to handle 

removed feature(s)
-removed the ability to choose between a small seriesID DB and a large one
---
To download, click the link on my signature.


----------



## eb3604

MasterCephus said:


> Just released:
> 
> 1.3.2
> fixed bug(s)
> -fixed searches with apostrophes
> -fixed movieYear not writing to metadata file
> 
> added feature(s)
> -updating file version to current release
> -user can now see version number in the About form
> -updated the large series ID database to handle
> 
> removed feature(s)
> -removed the ability to choose between a small seriesID DB and a large one
> ---
> To download, click the link on my signature.


Is the mpaarating field supposed to show up in tivo? It just says NR for some movies that i transfered over


----------



## PeteTV

MasterCephus said:


> Just released:
> 
> 1.3.2
> fixed bug(s)
> -fixed searches with apostrophes
> -fixed movieYear not writing to metadata file


This doesn't seem to do anything different... the movieYear doesn't show up.

Does this require a special version of pyTivo? If so, could you please post a link to a .zip or .tar file?

Thanks.


----------



## Danimal4326

PeteTV said:


> This doesn't seem to do anything different... the movieYear doesn't show up.
> 
> Does this require a special version of pyTivo? If so, could you please post a link to a .zip or .tar file?
> 
> Thanks.


Yes, you need the latest beta version..

Download the latest snapshot from http://repo.or.cz/w/pyTivo/wgw.git


----------



## MasterCephus

I think that you have to NOT have originalAirDate and you HAVE to have movieYear for mpaaRating to actually work.


----------



## wmcbrine

MasterCephus said:


> I think that you have to NOT have originalAirDate and you HAVE to have movieYear for mpaaRating to actually work.


Correct. However, my patch to handle mpaaRating automatically suppresses originalAirDate when movieYear is defined. So you have to define movieYear to get mpaaRating, but you don't have to worry about originalAirDate per se.


----------



## PeteTV

Danimal4326 said:


> Yes, you need the latest beta version..
> 
> Download the latest snapshot from http://repo.or.cz/w/pyTivo/wgw.git


OK... I've upgrade... but it looks like the problem I was having isn't related to the version I was using, it's because I'm also trying to use "starRating". I didn't notice the error before, but now I see the following:



Code:


...
  File "/usr/local/pyTivo-2008-01-24-wgw/plugins/video/video.py", line 181, in TVBusQuery
    handler.wfile.write(t)
  File "/usr/lib/python2.5/socket.py", line 255, in write
    data = str(data) # XXX Should really reject non-string non-buffers
  File "/usr/local/pyTivo-2008-01-24-wgw/Cheetah/Template.py", line 990, in __str__
    def __str__(self): return getattr(self, mainMethName)()
  File "_usr_local_pyTivo_2008_01_24_wgw_plugins_video_templates_TvBus_tmpl.py", line 214, in respond
IndexError: string index out of range

Is "starRating" supported? I'm just using a number (eg. "starRating : 6") in the .txt file. Does it need to be something else?


----------



## MasterCephus

no. I think there was a problem. Get the latest version (1.3.0.5) and it should fix that problem. It's supposed to be "starRating : x6"

The latest version is found in my signature.


----------



## wmcbrine

The format for starRating requires another character before the number:

starRating: x6

(or a full tuple, but let's not go into that).


----------



## PeteTV

wmcbrine said:


> The format for starRating requires another character before the number:
> 
> starRating: x6
> 
> (or a full tuple, but let's not go into that).


Thanks... that did the trick.

It certainly would be helpful if there was a little (I hate to use the word "Documentation") README.meta included in the distribution that shows what keywords are supported and the correct format for each value.

Also in the case of things like mpaaRating, starRating, tvRating, showingBits, where the value is a code, some kind of mapping of the code to the value displayed by the TiVo. (eg, "mpaaRating : P4" == "Rated R").

The README.meta doesn't need to be a complete document about Metadata... just a list of the keywords, values and code mappings.

I realize http://pytivo.armooo.net/wiki/MetaData shows some information about the available keywords, but it isn't complete (nothing about mpaaRating, starRating, movieYear) and even for some of the keywords it does include, there's not much detail (eg. showingBits).

Including a README.meta with the actual distribution would be better because it could be modified as new fields are supported and/or more details are discovered. It also means the user would know what keywords are supported based on the version they have.


----------



## Enrique

Need help installing PyTivo: when I try to run Pytivo I get:
C:\Program Files\pyTivo>run pyTivo.py
'run' is not recognized as an internal or external command,
operable program or batch file.

I have XP SP2


----------



## wmcbrine

Enrique said:


> C:\Program Files\pyTivo>run pyTivo.py
> 'run' is not recognized as an internal or external command,
> operable program or batch file.


Try "python pyTivo.py". You're taking the README too literally. Where it says "run pyTivo.py", it doesn't mean "type 'run pyTivo.py'"; it means "follow the procedure that constitutes running 'pyTivo.py'". (There are several ways -- you could open a command-line window, or you could use Windows' "Run" command. On a Unix system, you could start it like "./pyTivo.py". You could also start it from a GUI by clicking on the pyTivo.py icon. Etc.)


----------



## Enrique

wmcbrine said:


> Try "python pyTivo.py". You're taking the README too literally. Where it says "run pyTivo.py", it doesn't mean "type 'run pyTivo.py'"; it means "follow the procedure that constitutes running 'pyTivo.py'". (There are several ways -- you could open a command-line window, or you could use Windows' "Run" command. On a Unix system, you could start it like "./pyTivo.py". You could also start it from a GUI by clicking on the pyTivo.py icon. Etc.)


OK I did that, when I am trying to install it as a Service it says 'python' is not recognized as an internal or external command,
operable program or batch file, When I just click on the pyTivoService.py it still does not install as a Service.

I did install python.


----------



## thczv

I had PyTivo working just fine, but I decided to make it better by installing a newer version that would support music playlists. So I installed wmcbrine's latest version. Now some things work and others don't.

As to video, pytivo looks like it is working. The server is up, and I can browse videos. When I choose one, it gives me the option to transfer it. I tell it to transfer the video, and then I tell it to play the video. But it immediately says I need to wait for more video to transfer. No video ever transfers.

As to music, if I choose individual mp3 files, they play just fine. Pytivo also sees my playlists, and I can choose to play them. When I try to play playlists, it shows the name of the song, but no music ever plays. 

Any ideas?

Thanks,
Dave


----------



## wmcbrine

thczv said:


> Any ideas?


Not without more information. Like, what are you seeing in the pyTivo window when these problems occur? (Error messages?) And you might need to post your pyTivo.conf... maybe a problem playlist...

P.S. When you say my latest version, I assume you mean the one from the "snapshot" link nearest the top of the page here, and not just the last one I posted to this thread? (I guess I should post another...)



Enrique said:


> OK I did that, when I am trying to install it as a Service it says 'python' is not recognized as an internal or external command, operable program or batch file, When I just click on the pyTivoService.py it still does not install as a Service.


ISTR that Python doesn't add itself to the PATH when you install it. You'd have to do that manually, or use the full path when invoking it.


----------



## thczv

wmcbrine said:


> Not without more information. Like, what are you seeing in the pyTivo window when these problems occur? (Error messages?) And you might need to post your pyTivo.conf... maybe a problem playlist...
> 
> P.S. When you say my latest version, I assume you mean the one from the "snapshot" link nearest the top of the page here, and not just the last one I posted to this thread? (I guess I should post another...)


Right. I mean the latest version from the snapshot at the top of that page.

I have attached two files, one showing all the text from the pyTivo window when the playlist didn't work. I don't notice any obvious error messages.

The forum wouldn't let me attach my pyTivo.conf file, but I am including the text of it below.

I appreciate any help you can offer.

Thanks,
Dave

[Server]
aspect169 = false
ffmpeg = h:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
port = 9032
debug=true

[Thczv]
type = video
path = g:\Video

[MP3]
type = music
path = h:\MP3

[Playlists]
type = music
path = h:\MP3\- Playlists


----------



## wgw

The recent update with "Recurse=Yes" in the title seems to have introduced a problem, perhaps one that only effects Windows. Try downloading a snapshot below that.


----------



## wmcbrine

thczv said:


> The forum wouldn't let me attach my pyTivo.conf file,


You can attach any type of file by zipping it up first. Or, in this case, just renaming it to ".txt".



> [MP3]
> type = music
> path = h:\MP3
> 
> [Playlists]
> type = music
> path = h:\MP3\- Playlists


OK, you can't have your MP3's and Playlists in separate shares; it won't work. (You can navigate to "- Playlists" -- is that really the name? -- from within the MP3 share, and they should work then.)

Now, how about the video problem?


----------



## thczv

wmcbrine said:


> OK, you can't have your MP3's and Playlists in separate shares; it won't work. (You can navigate to "- Playlists" -- is that really the name? -- from within the MP3 share, and they should work then.)


I started out with a single MP3 share, of which the "- Playlists" folder is a subfolder (naming it that way places it near the top alphabetically, so I don't have to scroll all the way down to "P"). I changed it to have playlists as a separate share just to make sure I wasn't having a problem with subfolders (which I had before with video).

Thanks to your advice I know not to have a separate share for playlists. But for the record, my playlists fail in exactly the same way whether or not they are in a separate share.



wmcbrine said:


> Now, how about the video problem?


I don't claim to understand this stuff well enough to say for sure. But I am not convinced that my video problem and my playlist problem don't have the same cause. In both cases my tivo acts like it is playing the files, though they don't play.

Dave


----------



## thczv

thczv said:


> I don't claim to understand this stuff well enough to say for sure. But I am not convinced that my video problem and my playlist problem don't have the same cause. In both cases my tivo acts like it is playing the files, though they don't play.


So much for that idea. Following wgw's advice, I switched to an earlier snapshot (the one with the comment "Pointless variable"), and my video started working again. However, my playlists did not start working.

Here is an interesting twist, though: I noticed that on my Series 2 Tivo I can play plain mp3s, even though I can't play playlists. But on my Tivo HD I can't play mp3s OR playlists.

Very strange.


----------



## wmcbrine

thczv said:


> Here is an interesting twist, though: I noticed that on my Series 2 Tivo I can play plain mp3s, even though I can't play playlists. But on my Tivo HD I can't play mp3s OR playlists.


Hmm... I hate to say this, but try rebooting the Tivo.


----------



## MasterCephus

PeteTV said:


> Thanks... that did the trick.
> 
> It certainly would be helpful if there was a little (I hate to use the word "Documentation") README.meta included in the distribution that shows what keywords are supported and the correct format for each value.
> 
> Also in the case of things like mpaaRating, starRating, tvRating, showingBits, where the value is a code, some kind of mapping of the code to the value displayed by the TiVo. (eg, "mpaaRating : P4" == "Rated R").
> 
> The README.meta doesn't need to be a complete document about Metadata... just a list of the keywords, values and code mappings.
> 
> I realize http://pytivo.armooo.net/wiki/MetaData shows some information about the available keywords, but it isn't complete (nothing about mpaaRating, starRating, movieYear) and even for some of the keywords it does include, there's not much detail (eg. showingBits).
> 
> Including a README.meta with the actual distribution would be better because it could be modified as new fields are supported and/or more details are discovered. It also means the user would know what keywords are supported based on the version they have.


I might do that...


----------



## shredhead

At least I am not the only one having issues with playlists....

Mine fails whether they are in their own share or inside my mp3 folder. But mine is a DirecTivo unit.


----------



## thczv

wmcbrine said:


> Hmm... I hate to say this, but try rebooting the Tivo.


That fixed the MP3 problem on my Tivo HD. Thanks. No luck yet on the playlists.


----------



## wmcbrine

thczv said:


> That fixed the MP3 problem on my Tivo HD. Thanks. No luck yet on the playlists.


Yeah, that's what I expected. The HMO music player gets munged up after a while, and just won't play*. As for your playlist problem, I'd bet that it's the same as shredhead's... but I have no idea what it is. 

* This seems to happen more quickly the more often you skip out of tracks before they're finished. But I'm not sure whether there's anything I can do about that.


----------



## wmcbrine

wgw said:


> The recent update with "Recurse=Yes" in the title seems to have introduced a problem, perhaps one that only effects Windows.


Yes. Sorry about that.

I got it fixed for Windows, but somehow broke it for Linux in the process.  Back to the drawing board...


----------



## Hercules67

reneg said:


> Try changing ffmpeg=C:\Documents and Settings\Mike\My Documents\pyTivo
> to ffmpeg=C:\Documents and Settings\Mike\My Documents\pyTivo\plugins\video\ffmpeg_mp2.exe
> 
> I don't think setting the beacon to the IP address of your Tivo is necessary, I'd also try it without that line.
> 
> You need to open port 9032. There are different ways to open the port depending on what flavor of Windows you have. If you read the other mega-thread in this forum on Tivo.NET, there is a command line method to open the port, here is a link to the command line method.


You know, in the end, if I had followed the sage advice, and done things right the first time..... PLUS had patience.

So, pyTiVo ended-up working for me, AND I wanted to take this opportunity to thank everyone about it. My biggest issue was the "ffmpeg" file path issue. I had no problems it turns out with Networking or other problems. After restarting the service, pyTivo and the TiVo box itself, it just took a bit of time for stuff to start appearing in "My Now Playing List". My Computer is not a power box, so....

Again, thank you all for the help.... I've already moved over to the new forum, and I'll follow all the discussion over there, especially as I plan to get an HD Tivo this year, and plan to upgrade to a dedicated Media Center PC.


----------



## thczv

wmcbrine said:


> As for your playlist problem, I'd bet that it's the same as shredhead's... but I have no idea what it is.


I went over to the pyTivo discussion forum to see what issues shredhead is having. Maybe I am misunderstanding them (probably likely), but his issues seem a little different than mine. I never get any errors when I try to play playlists, at least not on the tivo and not on the pyTivo window. My tivo acts exactly like it is playing the playlist, except that music doesn't actually play and the green progress bar never advances beyond 0:00. Maybe if I left it going long enough I would get some kind of error.


----------



## wmcbrine

CuriousMark said:


> I am ready to type "Import HME"!


Enjoy.


----------



## CuriousMark

Thanks, you are amazing. That was fast. 

I promise to beta test the daylights out of it.


----------



## wmcbrine

wmcbrine said:


> I got it fixed for Windows, but somehow broke it for Linux in the process.


OK, I take this back -- my fix was good, and I've pushed it to my repository now. The problem was just the way I was testing -- switching back and forth between different machines with the same content -- seemed to confuse my Tivo. This shouldn't be a problem for normal users, and I don't think it's related to the recent changes.


----------



## zag2me

MasterCephus said:


> Just released:
> 
> 1.3.2
> fixed bug(s)
> -fixed searches with apostrophes
> -fixed movieYear not writing to metadata file
> 
> added feature(s)
> -updating file version to current release
> -user can now see version number in the About form
> -updated the large series ID database to handle
> 
> removed feature(s)
> -removed the ability to choose between a small seriesID DB and a large one
> ---
> To download, click the link on my signature.


Thanks for updating it, this program has been causing lots of 404 errors on my site!

If anyone is using the plugin for movies, can they help out with the movie-xml site, just register and help keep the data current. It helps out everyone.


----------



## cr33p

I just recently updated to the subfolders branch release and started using the metadata generator, might I say AMAZING! Ive been using pyTivo almost since it was started. Anyways quick question, am I correct in assuming with using the metadata that if I have more then one show transferred to my Tivo box with the same series ID that they should fall into groups? I tested it with two episodes of Weeds from season 3 and they have the same series ID but failed to group themselves.

Thanks


----------



## TreborPugly

The series ID has to be for something that's currently in your guide data. So even having the same series ID, things won't group unless your Tivo already "knows" about that series.


----------



## cr33p

TreborPugly said:


> The series ID has to be for something that's currently in your guide data. So even having the same series ID, things won't group unless your Tivo already "knows" about that series.


Ahh I had a suspicion about that, very good to know thanks


----------



## eb3604

no I don't think that is true. I have copied over some episodes of Mr Bean, which isnt aired anymore. and it groups them into folders.


----------



## MasterCephus

zag2me said:


> Thanks for updating it, this program has been causing lots of 404 errors on my site!
> 
> If anyone is using the plugin for movies, can they help out with the movie-xml site, just register and help keep the data current. It helps out everyone.


Sorry about that....BTW, what you guys do there is awsome!

Everyone does need to go to the site and help out...this is a great community led project that helps with this....

Movie-XML


----------



## menos

eb3604 said:


> no I don't think that is true. I have copied over some episodes of Mr Bean, which isnt aired anymore. and it groups them into folders.


According to zap2it is is still aired. In the next two weeks it only shows up on Telemundo though.


----------



## eb3604

menos said:


> According to zap2it is is still aired. In the next two weeks it only shows up on Telemundo though.


seriously? mr bean in spanish. i have to watch that.


----------



## TiVo Steve

Like Galleon has (had). It must be the "Mad Cow" syndrome, but this is not easy to get working...


----------



## PaulS

There has been work done on a Windows installer. It's pretty basic right now, but it's actively being developed. Check it out HERE.


----------



## Danimal4326

MasterCephus said:


> Sorry about that....BTW, what you guys do there is awsome!
> 
> Everyone does need to go to the site and help out...this is a great community led project that helps with this....
> 
> Movie-XML


Has anyone had success adding new movies to the movie-XML site? It doesn't seem to work for me..


----------



## TiVo Steve

PaulS said:


> There has been work done on a Windows installer. It's pretty basic right now, but it's actively being developed. Check it out HERE.


Thank you. :up:


----------



## BiloxiGeek

Just got pyTivo installed and running on a Fedora 8 box and so far I likey!!!

One little bit of weirdness: The pyTivoService.py file shows a line to open and write to a log.txt file. This is not happening on my system. I've installed the app to /usr/local/pytivo and made the corrections in the /etc/init.d file for startup to point there. It runs just fine, it sees my videos and music and serves them up to the TiVo's just fine. But that log does not get opened or written to.

I ran "strace python /usr/local/pyTivo.py" and I get the strace stuff, I get the HTTP style output in the terminal, but I still get no log. And strace output shows nothing about that log.txt file ever being referenced.

ADDED: The init.d script starts the app with:


> python2.4 /usr/local/pyTivo/pyTivo.py > /dev/null 2>&1 &


Is that redirect to /dev/null keeping what should go in the log from getting there or is the logging done somewhere else?


----------



## wmcbrine

The log file in pyTivoService.py is set up by it... and you're not using it... it's only for Windows (plus you're calling pyTivo.py directly, which, even in Windows, would not invoke pyTivoService.py).

And you could indeed get a log by redirecting the output of pyTivo.py to a log file instead of to /dev/null, yes.


----------



## lrhorer

I've tried pyTiVo under Windows and under a Linux machine with no problems, but when I just now installed pyTiVo on the new server, it isn't working. When I attempt to download a movie, it's giving me the following:



Code:


FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2004 Fabrice Bellard
  configuration:  --enable-gpl --enable-pp --enable-pthreads --enable-vorbis --enable-libogg --enable-a52 --enable-dts --enable-libgsm --enable-dc1394 --disable-debug --enable-shared --prefix=/usr
  libavutil version: 0d.49.0.0
  libavcodec version: 0d.51.11.0
  libavformat version: 0d.50.5.0
  built on Mar 26 2007 14:28:38, gcc: 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
Input #0, mpeg, from '/RAID/Recordings/Superman: The Movie (Recorded Sat Feb 2 2008 08 30PM HDNETMV).mpg':
  Duration: 02:34:59.7, start: 0.200000, bitrate: 17024 kb/s
  Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 1920x1080, 38810 kb/s, 29.97 fps(r)
  Stream #0.1[0x80]: Audio: ac3, 48000 Hz, 5 channels, 384 kb/s
Output #0, vob, to 'pipe:':
  Stream #0.0: Video: mpeg2video, yuv420p, 544x480, q=2-31, 4096 kb/s, 29.97 fps(c)
  Stream #0.1: Audio: mp2, 44100 Hz, stereo, 192 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
[mpeg2video @ 0x2b999c4863d0]bitrate above max bitrate
Error while opening codec for output stream #0.0 - maybe incorrect parameters such as bit_rate, rate, width or height

What do I need to change? This file was originally pulled off a TiVo, and the only thing done to it was to run it through Video Redo Quickfix to clear any errors and convert it to .mpg. It transfers fine under pyTiVo / Windows.


----------



## wmcbrine

Dunno, but you might have to upgrade your ffmpeg.

Ah... the top Google result for "bitrate above max bitrate" is your post, but here's a relevant one from near the top:

http://pytivo.armooo.net/ticket/25

Or you could upgrade your pyTivo. You don't say what version you're trying to use, but it looks like the default max video bitrate was changed from M to K notation sometime between the 2007-11-25 and 2007-12-31 versions.


----------



## TiVo Steve

I transferred a 1280x720 "MKV" file (Torchwood/BBC HD) to my THD using pyTivo , the Windows installer version. Worked great. But I sure do need a bigger drive!


----------



## TreborPugly

For those who don't check out The pyTivo Forum, there's been a pretty major new discovery by "smack000" (not sure if it's the same as "smack" on here). He's found a fix to the subfolders bug in the Tivo side since version 8.3 of the Tivo software. It only works for one level of subfolders, but that's a pretty significant improvement.

Here's a link to the snapshot I've used, from wmcbrine's development branch.

Even when it does get confused about levels beyond the first subfolders, the Tivo just gets confused, no crashes.


----------



## fred2

First, THANKS for the NEW INSTALLER.

It appears to have worked as I just checked and an episode of Monk seems to be playing and it showed my folders and the files and moving between folders showed correct files (I did not need to press INFO to get it to clear up mixed up info).

I do need to get my mp3 directories showing and I'd like to try getting the photo stuff I've read about.

ONE ISSUE:

As has been mentioned before this thread is HUGE and trying to find something is hard so I hope this is not something I missed in a search:

Is there a way to be more generic in listing drives and folders. My problem is that about each time I boot, my usb hard drives hanging off the system get reLETTERED. Either one is now on that was off or visa versa. So the files I want are in L:\MyTivo one time and K:\MyTivo the next time. I keep editing the conf file to keep up with these changes but there must be a workaround.

Thanks for any answers 

and again, THANKS for PyTivo and the new installer.

PS: Oh, I should add that while installing it said it did NOT find a python "whatever" but went ahead. It appears to be running so I guess it found what it needed from my previous setup.


----------



## PaulS

fred2 said:


> As has been mentioned before this thread is HUGE and trying to find something is hard so I hope this is not something I missed in a search:


A dedicated pyTivo forum has been set up to discuss issues more readily : pyTivo Forum



fred2 said:


> Is there a way to be more generic in listing drives and folders. My problem is that about each time I boot, my usb hard drives hanging off the system get reLETTERED. Either one is now on that was off or visa versa. So the files I want are in L:\MyTivo one time and K:\MyTivo the next time. I keep editing the conf file to keep up with these changes but there must be a workaround.


Nope, nothing specifically in pyTivo to handle this. If Windows is re-mapping your drive letters, pyTivo will have no idea that something under the covers has changed.

So, you can try and figure out why Windows is remapping your drive letters (and stop it), or perhaps try something else. What happens if you list BOTH possible drives as shares in your pyTivo.conf file ?


----------



## fred2

PaulS said:


> A dedicated pyTivo forum has been set up to discuss issues more readily : pyTivo Forum
> 
> Nope, nothing specifically in pyTivo to handle this. If Windows is re-mapping your drive letters, pyTivo will have no idea that something under the covers has changed.
> 
> So, you can try and figure out why Windows is remapping your drive letters (and stop it), or perhaps try something else. What happens if you list BOTH possible drives as shares in your pyTivo.conf file ?


I did find the forum. I know why Windows is doing it. Because sometimes I will power one of those usb drives off. It is therefore not initially ON when I reboot. If I turn it or others on in a different order or skip turning some on, then they get relettered (re assigned). I have used your suggested work around but then the MyPlaying List gets cluttered. But you have answered my question. I will hoping for something like a MyComputer and then I could drill down to the drive and then folder I know is connected.


----------



## mikeylikesit40

TreborPugly said:


> For those who don't check out The pyTivo Forum, there's been a pretty major new discovery by "smack000" (not sure if it's the same as "smack" on here). He's found a fix to the subfolders bug in the Tivo side since version 8.3 of the Tivo software. It only works for one level of subfolders, but that's a pretty significant improvement.
> 
> Here's a link to the snapshot I've used, from wmcbrine's development branch.
> 
> Even when it does get confused about levels beyond the first subfolders, the Tivo just gets confused, no crashes.


Umm... this has been working for a long time with multiple sub-folders.

12-09 Master with the Hack83 changes added back in along with tickets 56 thru 60.

That's the build I created using a forum entry way back from the beginning of December.

I haven't had a crash since before I installed it and have successfully transferred 4 seasons of Voyager, multiple Primeval episodes, lots of movies, etc. Probably about 150 transfers so far.

My sub-folders are set up like this.

M:\My Media\TV\{Genre}\{Show}\{Season}\{Episode Name}
and
M:\My Media\Movies\New
M:\My Media\Movies\Old
M:\My Media\Movies\Series\{Series Name. example 007}\{Movie Name}

My config file points to 
M:\My Media\TV
and
M:\My Media\Movies


----------



## mikeylikesit40

mikeylikesit40 said:


> Umm... this has been working for a long time with multiple sub-folders.
> 
> 12-09 Master with the Hack83 changes added back in along with tickets 56 thru 60.
> 
> That's the build I created using a forum entry way back from the beginning of December.


Actually krkeegan-6bdab3e7e0f2b0534d8650bf6f2d0fd8b1514fc2.tar appears to have subfolders completely fixed also. That's from Jan 2nd.


----------



## TreborPugly

The older fix is quite large, was never combined into armoo's main brainch, and causes crashes on the TiVo if you navigate too quickly. The new one is only a five-line fix, and doesn't crash. My head's up was for anyone who had crash problems with Keegan's hack. (like I did)


----------



## wmcbrine

Also of note: the 5-line subfolder support only lets you go one level down. However, if you want to go deeper, it also works in combination with KRKeegan's hack83, making it faster and more stable.

And, the music module now does transcoding (meaning, it supports other formats besides MP3).


----------



## mikeylikesit40

I appreciate the immediate need to state things like ...thats old and large and crashes...

However, if you read my post, I haven't had any crashes and I'm going 3 to 6 subfolders deep in some of my shares.

I can't find the post now but somewhere back between page 44 and 52 there was someone who found a little one line change that stopped sub-fodlers from crashing the Tivo.

There was also another post about the video_file_filter being changed and if you reverted that back to the sub-folders version, viola... the new version was missing a parameter that the sub-folders version wanted.

So I patched a master (I checked and it was 12-31's) with the sub-folder hack83 code. Changed the calls to video_file_filter and kept the sub-folder version of that code. Then applied that guys little one line patch.

So, if I am mis-reading you, sorry but it seems like no one has a PyTivo version that handles multiple sub-folders and is stable.... Right?

If you want one, let me know.


----------



## TreborPugly

mikeylikesit40 said:


> I appreciate the immediate need to state things like ...thats old and large and crashes...
> 
> However, if you read my post, I haven't had any crashes and I'm going 3 to 6 subfolders deep in some of my shares.
> 
> I can't find the post now but somewhere back between page 44 and 52 there was someone who found a little one line change that stopped sub-fodlers from crashing the Tivo.
> 
> There was also another post about the video_file_filter being changed and if you reverted that back to the sub-folders version, viola... the new version was missing a parameter that the sub-folders version wanted.
> 
> So I patched a master (I checked and it was 12-31's) with the sub-folder hack83 code. Changed the calls to video_file_filter and kept the sub-folder version of that code. Then applied that guys little one line patch.
> 
> So, if I am mis-reading you, sorry but it seems like no one has a PyTivo version that handles multiple sub-folders and is stable.... Right?
> 
> If you want one, let me know.


Does your current code have all the metadata stuff in it? I had a version I was pretty happy with in December too - but it started crashing regularly again when my Series 2 was updated to version 9. (lots of discussion about this between Keegan and myself in these pages) Furthermore, as this flurry of development for metadata took place, the subfolders hack would regularly stop working. So a smaller fix is very attractive.

Sorry I didn't say in my earlier fix that this is an alternative to the hack83 fix, but I figured people who wanted such a fix would be interested.


----------



## wmcbrine

mikeylikesit40 said:


> So, if I am mis-reading you, sorry but it seems like no one has a PyTivo version that handles multiple sub-folders and is stable.... Right?


No, not right.


----------



## mikeylikesit40

Okay, so who has a new stable sub-folder PyTivo.

I just downloaded the latest krkegan because it seemed to have all the fixes and goodies I want. Figured I'd try all the latest code.

It's great and stable (even handling exceptions) except that every 3rd or 4th transfer stops halfway thru.

Also, some of my avi's get marked as copy protected. 

If I restart PyTivo, then the copy protected mark disappears from those files but re-appears on others.

Are these known problems? Is there a different branch that doesn't have the problems?

I'd be happy to upgrade from my month old compile because I'd like to get music and photos. The master from 12-31 didn't do these well.

However, I've got a terabyte of video I'm serving just fine and I'm loath to give that stability up.

Suggestions?


----------



## wmcbrine

There were a couple of reports of missing ("copy-protected") files with earlier versions, but that was rectified with the latest version, which extended the timeout. (The problem is that pyTivo only gives ffmpeg a few seconds -- previously four, now ten -- to report on the validity of a video; if pyTivo doesn't hear back by then, it kills ffmpeg and marks the video invalid. This was apparently a remedy to ffmpeg hanging in an earlier version.) It's likely that you had the same problem with your old version, but didn't realize it, because the files would simply be omitted from the list instead of displayed as copy-protected. In any case, it's a symptom of an abnormally slow system -- it shouldn't take ten seconds, or even four, for ffmpeg to answer.

I hadn't seen anyone report every third or fourth transfer aborting before now.

It's possible that both problems would be resolved by reverting just your copy of ffmpeg_mp2.exe to the old version.


----------



## dlfl

I happened to notice this quote from you in the HD sticky on TTG/MRVTTCB:



wgw said:


> An easy way to downsample the recording is to use a program like VideoReDo to convert the .tivo or mpg file to a .ts file (transport stream). Then use pyTivo or Tivo.Net to transfer the file to the Tivo. These programs will transcode the recording to a lower bitrate that is more palatable to the current tivo conversion process.


I'm puzzled why it would be preferable to feed a .ts to pyTivo, rather than just mpeg2? If the mpeg2 isn't TiVo-compatible pyTivo will transcode it anyway, correct? Or is this because at least some versions of pyTivo will transfer any mpeg2 without transcoding to HD/S3 tivos? Thus the .ts is a way to force transcoding (?).

Or has this behavior become common to all pyTivo versions?


----------



## wgw

Yes, Converting to .ts is a way to force pyTivo to transcode any recording, regardless of the bit rate. That was written before I modified pyTivo to transcode any file with a bit rate above max_video_br or max_audio_br. You're correct, pyTivo will now take care of this without the need to convert to .ts.


----------



## jcthorne

When pytivo is using ffmpeg to re-encode .mkv files for my HD tivo box, occaisionally a file will cause ffmpeg to lock up. When it does so, it trips the entire computer and reboots Windows XP. Took me a while to find the problem and its not pytivo as I can duplicate the problem with ffmpeg as a command line program. Not all files, just some, but it is very repeatable and happens at the same point in the file each time.

I just loaded the new Feb 5 windows executeable from build 11870 and it seems to do the same.

Has anyone else seen this behaviour? Is there some other tool or workaround for these files? Seems a problem with ffmpeg as it should error and quit, not lock up the OS


----------



## wmcbrine

That is extremely abnormal.

Can you point me to one of the bad files?


----------



## greg_burns

jcthorne said:


> When pytivo is using ffmpeg to re-encode .mkv files for my HD tivo box, occaisionally a file will cause ffmpeg to lock up. When it does so, it trips the entire computer and reboots Windows XP.


May want to verify your memory is not faulty. Glitchy ram will do weird things at odd times.

http://www.memtest86.com/


----------



## fred2

I was using a folder-problematic version for quite a while.

I installed a newer version about two weeks ago. It appeared to work. But it was NOT installed as a service so I ran the service cmd line. It installed but

I get:

"The pyTivo service on Local Computer started and then stopped. Some services stop automatically if they have no work to do, for example, the Performance Logs and Alerts service."

WinXP SP2.

I then replaced this newer version with my older (non-folders) by copying everything back into the pyTivo folder and it worked.

Just tried reversing that process - copying everything from the new install back again and again get that quoted text above.

So pytivo is NOT present when I go down to my tivo.

Any help appreciated.


----------



## jcthorne

greg_burns said:


> May want to verify your memory is not faulty. Glitchy ram will do weird things at odd times.
> 
> http://www.memtest86.com/


You were right. My overclocked but stable machine was not as stable as I thought it was. Brought it down from 3.4Ghz to 3.0 and the problems went away... Gee


----------



## greg_burns

jcthorne said:


> You were right. My overclocked but stable machine was not as stable as I thought it was. Brought it down from 3.4Ghz to 3.0 and the problems went away... Gee


:up:


----------



## ITGuy72

Meta generator just stopped returning any results about a week ago. Anyone else having trouble with this?


----------



## PaulS

MetaGenerator issues queries to a couple of websites to retrieve data concerning TV shows and movies. Both of them went off-line last month, for unrelated reasons. The TV show site should be back up, and word has it that the movie site will be back up shortly. MasterCephus is on top of it, so don't worry.


----------



## MasterCephus

Yeah, trying to be 

As far as I know, tvdb data (TV shows) should be working. They are changing their interfaces starting March 1st (I think). When they do that, MG will stop working.

I am in the testing phase of implementing the new interfaces for tvdb. It works for the most part...some minor bugs. I hope to release a new version (1.4.0.0) by the end of the day which should keep the TV shows working.

The movies are a different story. As far as I know, zag2me has moved the data to a new host, and the site is working. However, he is having some issues with data retrieval. As soon as he gets those issues worked out, MG movie part should just start working for all versions.

Sorry about all of this, but I think we'll be back on track shortly.


----------



## MasterCephus

New version of the metagenerator!

1.4.0.0
fixed bug(s)
-fixed searching for tv show and movie at the same time

enhancement(s)
-transitioned to new tvdb.com interfaces
-SeriesID obtained from tvdb.com data and not from local db

see my signature to download


----------



## mrbubbles

thczv said:


> I went over to the pyTivo discussion forum to see what issues shredhead is having. Maybe I am misunderstanding them (probably likely), but his issues seem a little different than mine. I never get any errors when I try to play playlists, at least not on the tivo and not on the pyTivo window. My tivo acts exactly like it is playing the playlist, except that music doesn't actually play and the green progress bar never advances beyond 0:00. Maybe if I left it going long enough I would get some kind of error.


I have the same problem as you thczv, not as shredhead. I am using the latest snapshot on Windows XP. I am going to try on my fedora core 6 machine to compare. Did you ever get it figured out?


----------



## thczv

mrbubbles said:


> I have the same problem as you thczv, not as shredhead. I am using the latest snapshot on Windows XP. I am going to try on my fedora core 6 machine to compare. Did you ever get it figured out?


I never did figure it out. For now I am using the Tivo Desktop server for playlists, while also running pyTivo for video. I would love to get pyTivo working for everything.


----------



## zirzlo

Hello all,

So, I just started using pyTivo this past week. I love it! Thank you!!!

But (come on, you knew there was one coming), I'm having or rather had issues getting it to recognize my music store and thought I'd post my observations here for anyone that might run into the same thing (at least I'm trying to be helpful) 

All of my music is stored on an Infrant NAS device under \\ratnas\media\music

I have the latest pyTivo from wgw installed (the most recent one I found was the one from about 80 minutes ago, the Master one with the description of 'notify when debug enabled')

Now, video works fine. My issue was with music. I have pyTivo installed as a service (WinXP SP2). In my pyTivo.conf file, I initially setup the music parms as:

[My Music]
type=music
path=\\ratnas\media\music

Then, I restarted the service. So far, so good. But when I navigated to My Music on my TiVo, it would give me an error of:

'An unexpected error occurred while accessing the server. (Error#3-5-6)'

So, I figured maybe pyTivo didn't understand UNC pathnames, so I mapped a drive, M, to this share, changed pyTivo.conf to point to M:, restarted the service and tried to access my music on the TiVo and got the same error.

Then, I thought, OK, the PyTivo service can't access the NAS because it is launching with System credentials, so I changed the service to startup using my own credentials, which are the same on the NAS, and restarted the service again. But again, from the TiVo, I got the same error. At this point, the conf file was still pointing to the mapped drive, M.

So, since it was running as a service, I couldn't really tell what was going on when the TiVo spit out this error. So, I stopped the service and launched pyTivo from the command line so I could see the console. I then went back into the TiVo and tried to access the music, expecting to get the same error since I hadn't changed anything at this point other than how I was running pyTivo. Lo and behold, it displayed all my music just fine. At this point, I had to just sit there for a minute and scratch my head.

OK, done scratching! I killed pyTivo on the command line. I went back into the conf file and changed the music share info back to the original settings of:

[My Music]
type=music
path=\\ratnas\media\music

Then I went back and restarted the service, which is now running under my creds. Back to the TiVo and....Voila! Everything works just great now. Well, except for the fact that I can't play any of my FLAC files (I guess ffmpeg doesn't do FLAC).

So, what did I learn?

-pyTivo works with UNC, but NOT mapped drives (when run as a service)
-If pyTivo is running as a service, in order for it to work with UNC locations, you need to change the service to use credentials that have access to that location.
-If pyTivo is started from the command line and you are logged on as a user that has access to the UNC location or mapped drive, everything works.

Hope this helps someone else!

P.S. - are there any plans to support FLAC or is that a function of ffmpeg and therefore not under the control of pyTivo?


----------



## gonzotek

zirzlo said:


> P.S. - are there any plans to support FLAC or is that a function of ffmpeg and therefore not under the control of pyTivo?


Those are some helpful notes on the windows service/networked drives troubles that people commonly come up against.

I don't have any FLAC files in my library, but here's the output of my self-compiled ffmpeg:


Code:


[email protected]:~/Desktop$ ffmpeg -i newkid.flac -acodec libmp3lame newkid.mp3
FFmpeg version SVN-r11546, Copyright (c) 2000-2008 Fabrice Bellard, et al.
  configuration: --enable-gpl --enable-pp --enable-pthreads --enable-libvorbis --enable-liba52 --enable-libgsm --enable-libdc1394 --disable-debug --enable-shared --enable-libxvid --enable-libfaac --enable-libmp3lame --enable-libx264 --enable-libfaad --enable-x11grab --enable-swscaler --prefix=/usr/local
  libavutil version: 49.6.0
  libavcodec version: 51.49.0
  libavformat version: 52.4.0
  libavdevice version: 52.0.0
  built on Jan 17 2008 19:03:24, gcc: 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)
Input #0, flac, from 'newkid.flac':
  Duration: N/A, bitrate: N/A
    Stream #0.0: Audio: flac, 44100 Hz, stereo
Output #0, mp3, to 'newkid.mp3':
    Stream #0.0: Audio: libmp3lame, 44100 Hz, stereo, 64 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop encoding
size=     153kB time=19.6 bitrate=  64.0kbits/s    
video:0kB audio:153kB global headers:0kB muxing overhead 0.019779&#37;
[email protected]:~/Desktop$

(I got the test file from here: http://ff123.net/samples.html )
The mp3 played fine on my pc. I can't test the TiVo at the moment, sorry. You could try running ffmpeg by hand on one of your files, to see if it can both correctly decode flac, then re-encode it to mp3. If so, this could be a pyTiVo issue. If not, you may need to find a different ffmpeg binary, or compile your own. I'm not sure if the developers are building one for the windows build of pyTiVo or not.


----------



## lrhorer

The TiVo bug which causes high bandwidth programs to suffer errors is giving me a headache, and I was hoping to get pyTiVo to alleviate it somewhat for the time being. I am able to get pyTiVo not to transcode at all, which results on great looking videos, but high bandwidth content suffers major video and audio skips when played back on the TiVo. Of course I can enable transcoding, but then ffmpeg also transcodes the audio, which I don't want, and transcodes the video to 4Mbps, which alleviates the skipping, but produces quite a few artifacts and causes me to wind up with simple stereo audio rather than AC3. I've tried various options, but nothing I've tried will get ffmpeg to transcode at , say 8 or 10Mbps rather than just 4, and it always comes out with transcoded audio. Is there a way to get ffmpeg to transcode to 8 or 10Mbps and not transcode the audio?


----------



## wmcbrine

zirzlo said:


> 'An unexpected error occurred while accessing the server. (Error#3-5-6)'


You should know that this error occurs spontaneously at times with the music plugin (only when running on Windows -- I've never seen it happen in Linux). A similar error can occur with the photo plugin.



> _P.S. - are there any plans to support FLAC or is that a function of ffmpeg and therefore not under the control of pyTivo?_


Just add '.flac' to the list of supported extensions near the top of music.py ("TRANSCODE"). The current list is not comprehensive... I asked for help on that, but no one responded. Anyway, I'll add .flac for the future.


----------



## PaulS

lrhorer said:


> The TiVo bug which causes high bandwidth programs to suffer errors is giving me a headache, and I was hoping to get pyTiVo to alleviate it somewhat for the time being. I am able to get pyTiVo not to transcode at all, which results on great looking videos, but high bandwidth content suffers major video and audio skips when played back on the TiVo. Of course I can enable transcoding, but then ffmpeg also transcodes the audio, which I don't want, and transcodes the video to 4Mbps, which alleviates the skipping, but produces quite a few artifacts and causes me to wind up with simple stereo audio rather than AC3. I've tried various options, but nothing I've tried will get ffmpeg to transcode at , say 8 or 10Mbps rather than just 4, and it always comes out with transcoded audio. Is there a way to get ffmpeg to transcode to 8 or 10Mbps and not transcode the audio?


You should be able to specify an video bitrate ("video_br") in your pytivo.conf file. Try assigning it to 8192k or 10240k and see if that clears up your artifacting.


----------



## CuriousMark

wmcbrine said:


> You should know that this error occurs spontaneously at times with the music plugin (only when running on Windows -- I've never seen it happen in Linux). A similar error can occur with the photo plugin.


I am seeing this on my kurobox running debian but not from windows xp. It is random in that it will happen after a random number of page downs. At first I thought it might be content related, but then I saw that pages which erred one time displayed fine the next. I am thinking it might be resource problems on the Kuro, it is pretty wimpy. I hope to put some time into looking at it this weekend.


----------



## windracer

wmcbrine said:


> You should know that this error occurs spontaneously at times with the music plugin (only when running on Windows -- I've never seen it happen in Linux).


I've gotten the 3-5-6 error using your music plugin on Linux ... it was when I had those directory names with special characters.


----------



## lrhorer

PaulS said:


> You should be able to specify an video bitrate ("video_br") in your pytivo.conf file. Try assigning it to 8192k or 10240k and see if that clears up your artifacting.


I tried that, but it still transcodes to 4096K and transcodes the audio. That's the point, I can't get it to transcode higher than 4M.


----------



## PaulS

lrhorer said:


> I tried that, but it still transcodes to 4096K and transcodes the audio. That's the point, I can't get it to transcode higher than 4M.


Then you'll have to manually over-ride the ffmpeg_parms line in your pytivo.conf file to hard-code the video_br.

It's absolutely something you can do. I've over-ridden my set up to transcode to 10Mbps. However, I'm at work, and pyTivo's at home, so I can't attach my config at the moment.


----------



## wmcbrine

windracer said:


> I've gotten the 3-5-6 error using your music plugin on Linux ... it was when I had those directory names with special characters.


That's a different issue. I'm talking about it coming up for no detectable reason at all.


----------



## lrhorer

PaulS said:


> Then you'll have to manually over-ride the ffmpeg_parms line in your pytivo.conf file to hard-code the video_br.
> 
> It's absolutely something you can do. I've over-ridden my set up to transcode to 10Mbps. However, I'm at work, and pyTivo's at home, so I can't attach my config at the moment.


Well, it's getting closer, but it still isn't right. No matter what I try, it transcodes the audio (or refuses to work at all) from 5:1 to regular stereo or else trashes the audio. It doesn't sound bad in stereo, but it's nowhere nearly as rich as 5:1. I tired - ac 5 and -ac 5:1, but both result in really horrible sounding 5 channel audio. It also transcodes to 1440 x 720 no matter what I try. I've done -s hd1080 and -s 1920x1080, but it still down-reses from 1920 x 1080 to 1440 x 720.

Here is my current parms:


Code:


ffmpeg_prams = -vcodec mpeg2video -r 29.97 -s 1920x1080 -b %(video_br)s -maxrate %(max_video_br)s -bufsize %(buff_size)s %(aspect_ratio)s -comment pyTivo.py -acodec ac3 -ac 2 -ab %(audio_br)s -ar 48000 -f vob -


----------



## wmcbrine

Use "-acodec copy" to keep it from transcoding the audio (and take out the "-ac 2").


----------



## lrhorer

wmcbrine said:


> Use "-acodec copy" to keep it from transcoding the audio (and take out the "-ac 2").


Ah! I saw that option on the support page, but I didn't understand what it meant.

OK, so now what about the fact it won't keep the video resolution? The video looks pretty good at 1440 x 720 and about 6 - 7 Mbps, but there are still artifacts in some scenes, especially low light scenes with a lot of raster (like the evening scenes in Lawrence of Arabia with lots of sand in the background).


----------



## wgw

lrhorer,

It sounds like you have an S3/HD Tivo. If you download the latest version from here, and use the conf in the same post, I think it will provide the results you are looking for.

http://pytivo.krkeegan.com/viewtopic.php?p=518#518

It will retain all the following aspects of the source file automatically: ac3 audio, resolution, frequency, frame rate. mpeg video will not be re-encoded unless bitrate is above 17408k. And audio will not be re-encoded unless it is above 448k.

I think the only thing you would want to change is to set max_video_br=12000k since you are trying to force pyTivo to transcode high video bitrate sources to reduce pixelation problems on the tivo.

The pyTivo Wiki also provides a detailed description of the other various settings.
http://pytivo.armooo.net/wiki/ConfigurepyTivo


----------



## wgw

lrhorer,

I have updated the Wiki with the most current default ffmpeg_prams. It was quite outdated and appears to have been the source of your troubles. The example in pytivo.conf.dist distributed with pytivo is usually kept more up-to-date.


----------



## lrhorer

wgw said:


> It sounds like you have an S3/HD Tivo.


It even looks like it and smells like it, so I probably do. 



wgw said:


> If you download the latest version from here, and use the conf in the same post, I think it will provide the results you are looking for.


Oh, that's *MUCH* better. Thanks a ton!



wgw said:


> I think the only thing you would want to change is to set max_video_br=12000k since you are trying to force pyTivo to transcode high video bitrate sources to reduce pixelation problems on the tivo.


Even without it, it's working vastly better than before. You're right, though, some shows with bit rates below 17M still have some issues. Not surprisingly they are much less problematical than those with bit rates above 17M, but I think I'll put in the 12M limit anyway, or maybe play around with it a bit to find an optimal value which reduces transcoding artifacts to a minimum while getting rid of most of the skipping issues. Once again, thank you.


----------



## lrhorer

Hey, folders are working! I don't know if this is old news or not. I just did a search of this thread and didn't find anything conclusive, but I downloaded wgw's most recent version, and folders are working great now. The main NPL shows the correct number of items in each folder, and I can browse a folder, go back up one level, browse another folder, and get the correct folder information for the second folder. Did someone figure a way around TiVo's quirky folder handling, or is this something TiVo fixed when I wasn't looking?


----------



## lrhorer

I have a couple of feature requests.

1. I use a number of programs to put videos onto the file server (galleon, TyTool, etc), and they all by default or configuration add the date and if applicable the channel to the file name. This works great for helping organize the server, but it would be nice if pyTiVo didn't display this info in the NPL. The additional data is contained within parentheses directly preceding the extension. Could we get an option (possibly user configurable) to not display anything in parentheses directly preceding the extension in the NPL?

2. I use the format <Series Name> - <Episode Title> in the filename to identify programs which are part of a series, and then of course I put them all in a folder of the same name. When pyTiVo displays the names in the NPL, this is how they come up, except of course the Episode title is probably half chopped off. It would be great if pyTivo would eliminate any leading string of the form "Name of Show -" if the subfolder name is "Name of Show".


----------



## wmcbrine

lrhorer said:


> Hey, folders are working! I don't know if this is old news or not.


Yeah, you're way behind. Sorry, I'm not sure if it was announced in this thread or not -- most of the discussion is going on over on the pyTivo forum now.

They're only partly working -- see below.



> _Did someone figure a way around TiVo's quirky folder handling_


Yep -- it involves adding a "UniqueID" for each folder. However, it still only works for the topmost level of folders. (Which makes sense in a way, because the TiVo box itself only supports one level of folders.) To go lower, you have to enable "hack83" (put "hack83=True" in the Server section of pyTivo.conf), but that's slower and sometimes unstable.

Re: your requests about the display -- maybe -- but in the meantime, you might want to try using metadata files to get the episodes to show up the way you like.


----------



## lrhorer

wmcbrine said:


> Yeah, you're way behind.


'Figures



wmcbrine said:


> However, it still only works for the topmost level of folders. (Which makes sense in a way, because the TiVo box itself only supports one level of folders.)


That is sufficient for my purposes at this time.



wmcbrine said:


> Re: your requests about the display -- maybe -- but in the meantime, you might want to try using metadata files to get the episodes to show up the way you like.


I thought the metadata files only affected the information once one drilled into a program listing, not how it was displayed in the upper level of the NPL. Of course, I must admit I haven't done any research on the topic, yet.


----------



## wmcbrine

Nope, they work everywhere.


----------



## lrhorer

wmcbrine said:


> in the meantime, you might want to try using metadata files to get the episodes to show up the way you like.


Ooof!! I downloaded the MetaGenrator, and it's a neat little program, but I have hundreds of videos. Manually creating a metafile for each one will take an enormous amount of time. Not only that, but per the discussions above, it's not working for movies right now.


----------



## wmcbrine

The metadata files are just text files. You can make them with a text editor, with a script, or with gmd's program. You don't need to use MasterCephus' program.


----------



## lrhorer

wmcbrine said:


> The metadata files are just text files. You can make them with a text editor, with a script, or with gmd's program. You don't need to use MasterCephus' program.


I haven't seen gmd's program. I'll look it up.

A script is a real possibility. I'm running under Linux, so there are plenty pf tools for building the script. Of course the data provided by MasterCephus' program is really slick, if the movie section gets fixed, but I have to weigh that against the rather daunting prospect of wading through hundreds of programs. Even at less than a minute apiece, it's a lot of work.


----------



## MasterCephus

Just want everyone to know that the newest version of the MetaGenerator works with Movie Data again. Movie-xml is back up for the time being. The only thing that I know does not work is movie titles with less than 4 characters. So if you search for 300, you will get no results. Zag2Me is working on fixing this so when he fixes it, it will just work. I will keep an eye out and notify everyone when it's working again.

Click on the link in my signature to download.


----------



## bschuler2007

Thank you!!! 

Having used Pytivo for over a year with my S2, I had issues updating, so I just stuck to the old version.

Well I just updated using the windows installer version, and a grown man just got emotional over his Tivo's abilities again... thank you! Thank you all for working so hard to develop such an amazing and worthwhile piece of software. It truely is amazing.

My folders work, the the item count works.... uh oh.. were did I put my tissues.

Thanks again!


----------



## lrhorer

bschuler2007 said:


> My folders work, the the item count works.... uh oh.. were did I put my tissues.


Shall we stand by with a resuscitation cart?


----------



## lrhorer

Hey MasterCephus,

Any chance of a Linux version? I just managed to blow away my copy of Superman: The Movie because Windows doesn't recognize characters like ?, *, :, and \ in filenames. Dammit. That was one of my favorite movies on the server.


----------



## bigbrihaze

Ok, I installed all the latest releases of Python and pvTivo. The console is running fine, or so it appears. I can see the videos on my Tivo, but when I start to transfer everything seems fine, but then I get a message saying that "the transfer has been interrupted , the connection was either lost of not configured correctly". I searched this forum, but don't see anyone with just this problem.

Here is the log from the console:

Checking to see if pyTivo is already running . . .

Starting pyTivo Server. Use ctrl+Break to exit.

pyTivo is ready.
C:\Program Files\pyTivo\Cheetah\Compiler.py:1508: UserWarning:
You don't have the C version of NameMapper installed! I'm disabling Cheetah's us
eStackFrames option as it is painfully slow with the Python version of NameMappe
r. You should get a copy of Cheetah with the compiled C version of NameMapper.
"\nYou don't have the C version of NameMapper installed! "
192.168.1.4 - - [10/Mar/2008 05:53:35] "GET /TiVoConnect?Command=QueryContainer&
Container=%2F HTTP/1.0" 200 -
192.168.1.4 - - [10/Mar/2008 05:53:38] "GET /TiVoConnect?Command=QueryFormats&So
urceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 404 -
192.168.1.4 - - [10/Mar/2008 05:53:39] "GET /TiVoConnect?Command=QueryContainer&
Container=My%20Videos&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container
%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1"
200 -
192.168.1.4 - - [10/Mar/2008 05:53:44] "GET /TiVoConnect?Command=QueryFormats&So
urceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 404 -
192.168.1.4 - - [10/Mar/2008 05:53:44] "GET /TiVoConnect?Command=QueryContainer&
Container=My%20Videos%2FRECYCLER&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tiv
o-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F
* HTTP/1.1" 200 -
192.168.1.4 - - [10/Mar/2008 05:53:47] "GET /TiVoConnect?Command=QueryFormats&So
urceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 404 -
192.168.1.4 - - [10/Mar/2008 05:53:47] "GET /TiVoConnect?Command=QueryContainer&
Container=My%20Videos&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConne
ct%3FCommand%3DQueryContainer%26Container%3DMy%2520Videos%2FRECYCLER&AnchorOffse
t=-3&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-t
ivo-mpeg,video%2F* HTTP/1.1" 200 -
192.168.1.4 - - [10/Mar/2008 05:53:51] "GET /TiVoConnect?Command=QueryFormats&So
urceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 404 -
192.168.1.4 - - [10/Mar/2008 05:53:51] "GET /TiVoConnect?Command=QueryContainer&
Container=My%20Videos&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConne
ct%3FCommand%3DQueryContainer%26Container%3DMy%2520Videos%2FWeeds%2520Season%252
03%2520%2528preair%2520eps%25201-4%2529%2520Mp4%2527s%2520by%2520Arbitur&AnchorO
ffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2
Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
192.168.1.4 - - [10/Mar/2008 05:53:56] "GET /TiVoConnect?Command=QueryFormats&So
urceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 404 -
192.168.1.4 - - [10/Mar/2008 05:53:56] "GET /TiVoConnect?Command=QueryContainer&
Container=My%20Videos&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FMy%2520Vi
deosSouth%2520park%2520The%2520Spirit%2520of%2520Christmas%2520%2528uncensored%2
529.mpeg&AnchorOffset=-5&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%
2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
192.168.1.4 - - [10/Mar/2008 05:54:04] "GET /TiVoConnect?Command=QueryFormats&So
urceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 404 -
192.168.1.4 - - [10/Mar/2008 05:54:05] "GET /TiVoConnect?Command=QueryContainer&
Container=My%20Videos&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FMy%2520Vi
deosSeussical%252005.20.01.wmv&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-vi
deos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
192.168.1.4 - - [10/Mar/2008 05:54:05] "GET /TiVoConnect?Command=TVBusQuery&Cont
ainer=My%20Videos&File=Seussical%2005.20.01.wmv HTTP/1.1" 200 -
192.168.1.4 - - [10/Mar/2008 05:54:20] "GET /My%20VideosSeussical%2005.20.01.wmv
HTTP/1.1" 200 -
192.168.1.4 - - [10/Mar/2008 05:54:30] "GET /TiVoConnect?Command=QueryFormats&So
urceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 404 -
192.168.1.4 - - [10/Mar/2008 05:54:30] "GET /TiVoConnect?Command=QueryContainer&
Container=My%20Videos&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FMy%2520Vi
deosSeussical%252005.20.01.wmv&AnchorOffset=-4&Filter=x-tivo-container%2Ftivo-vi
deos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
192.168.1.4 - - [10/Mar/2008 05:54:33] "GET /TiVoConnect?Command=QueryFormats&So
urceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 404 -
192.168.1.4 - - [10/Mar/2008 05:54:34] "GET /TiVoConnect?Command=QueryContainer&
Container=My%20Videos&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FMy%2520Vi
deosLost%2520-%2520%2527%2527Confirmed%2520Dead%2527%2527%2520%2528Recorded%2520
Feb%25207%252C%25202008%252C%2520KGTV%2529.mpeg&AnchorOffset=-8&Filter=x-tivo-co
ntainer%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HT
TP/1.1" 200 -
192.168.1.4 - - [10/Mar/2008 05:54:36] "GET /TiVoConnect?Command=QueryFormats&So
urceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 404 -
192.168.1.4 - - [10/Mar/2008 05:54:36] "GET /TiVoConnect?Command=QueryContainer&
Container=My%20Videos&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConne
ct%3FCommand%3DQueryContainer%26Container%3DMy%2520Videos%2FSystem%2520Volume%25
20Information&AnchorOffset=-4&Filter=x-tivo-container%2Ftivo-videos,x-tivo-conta
iner%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
192.168.1.4 - - [10/Mar/2008 05:54:40] "GET /TiVoConnect?Command=QueryFormats&So
urceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 404 -
192.168.1.4 - - [10/Mar/2008 05:54:40] "GET /TiVoConnect?Command=QueryContainer&
Container=My%20Videos&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConne
ct%3FCommand%3DQueryContainer%26Container%3DMy%2520Videos%2FWeeds%2520Season%252
03%2520%2528preair%2520eps%25201-4%2529%2520Mp4%2527s%2520by%2520Arbitur&AnchorO
ffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2
Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
192.168.1.4 - - [10/Mar/2008 05:54:42] "GET /TiVoConnect?Command=QueryFormats&So
urceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 404 -
192.168.1.4 - - [10/Mar/2008 05:54:42] "GET /TiVoConnect?Command=QueryContainer&
Container=My%20Videos&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConne
ct%3FCommand%3DQueryContainer%26Container%3DMy%2520Videos%2FWeeds%2520Season%252
03%2520%2528preair%2520eps%25201-4%2529%2520Mp4%2527s%2520by%2520Arbitur&AnchorO
ffset=-8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2
Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
192.168.1.4 - - [10/Mar/2008 05:54:45] "GET /TiVoConnect?Command=QueryFormats&So
urceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 404 -
192.168.1.4 - - [10/Mar/2008 05:54:45] "GET /TiVoConnect?Command=QueryContainer&
Container=My%20Videos%2FWeeds%20Season%203%20(preair%20eps%201-4)%20Mp4's%20by%2
0Arbitur&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-video
s,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
192.168.1.4 - - [10/Mar/2008 05:54:50] "GET /TiVoConnect?Command=QueryFormats&So
urceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 404 -
192.168.1.4 - - [10/Mar/2008 05:54:51] "GET /TiVoConnect?Command=QueryContainer&
Container=My%20Videos%2FWeeds%20Season%203%20(preair%20eps%201-4)%20Mp4's%20by%2
0Arbitur&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FMy%2520VideosWeeds%252
0Season%25203%2520%2528preair%2520eps%25201-4%2529%2520Mp4%2527s%2520by%2520Arbi
tur%2FWeeds%2520Season%25203%2520%2528preair%2520ep%25203%2529.mp4&AnchorOffset=
-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tiv
o-mpeg,video%2F* HTTP/1.1" 200 -
192.168.1.4 - - [10/Mar/2008 05:54:51] "GET /TiVoConnect?Command=TVBusQuery&Cont
ainer=My%20Videos&File=Weeds%20Season%203%20(preair%20eps%201-4)%20Mp4's%20by%20
Arbitur%2FWeeds%20Season%203%20(preair%20ep%203).mp4 HTTP/1.1" 200 -
192.168.1.4 - - [10/Mar/2008 05:54:52] "GET /My%20VideosSeussical%2005.20.01.wmv
HTTP/1.1" 200 -
192.168.1.4 - - [10/Mar/2008 05:55:00] "GET /My%20VideosWeeds%20Season%203%20(pr
eair%20eps%201-4)%20Mp4's%20by%20Arbitur/Weeds%20Season%203%20(preair%20ep%203).
mp4 HTTP/1.1" 200 -
192.168.1.4 - - [10/Mar/2008 05:55:07] "GET /TiVoConnect?Command=QueryFormats&So
urceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 404 -
192.168.1.4 - - [10/Mar/2008 05:55:07] "GET /TiVoConnect?Command=QueryContainer&
Container=My%20Videos%2FWeeds%20Season%203%20(preair%20eps%201-4)%20Mp4's%20by%2
0Arbitur&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FMy%2520VideosWeeds%252
0Season%25203%2520%2528preair%2520eps%25201-4%2529%2520Mp4%2527s%2520by%2520Arbi
tur%2FWeeds%2520Season%25203%2520%2528preair%2520ep%25203%2529.mp4&AnchorOffset=
-3&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tiv
o-mpeg,video%2F* HTTP/1.1" 200 -
192.168.1.4 - - [10/Mar/2008 05:55:09] "GET /TiVoConnect?Command=QueryFormats&So
urceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 404 -
192.168.1.4 - - [10/Mar/2008 05:55:09] "GET /TiVoConnect?Command=QueryContainer&
Container=My%20Videos&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConne
ct%3FCommand%3DQueryContainer%26Container%3DMy%2520Videos%2FWeeds%2520Season%252
03%2520%2528preair%2520eps%25201-4%2529%2520Mp4%2527s%2520by%2520Arbitur&AnchorO
ffset=-8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2
Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
192.168.1.4 - - [10/Mar/2008 05:55:15] "GET /TiVoConnect?Command=QueryContainer&
Container=%2F HTTP/1.0" 200 -
192.168.1.4 - - [10/Mar/2008 05:55:31] "GET /My%20VideosWeeds%20Season%203%20(pr
eair%20eps%201-4)%20Mp4's%20by%20Arbitur/Weeds%20Season%203%20(preair%20ep%203).
mp4 HTTP/1.1" 200 -
192.168.1.4 - - [10/Mar/2008 05:55:40] "GET /TiVoConnect?Command=QueryFormats&So
urceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 404 -
192.168.1.4 - - [10/Mar/2008 05:55:40] "GET /TiVoConnect?Command=QueryContainer&
Container=My%20Videos&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container
%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1"
200 -
192.168.1.4 - - [10/Mar/2008 05:55:53] "GET /TiVoConnect?Command=QueryFormats&So
urceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 404 -
192.168.1.4 - - [10/Mar/2008 05:55:53] "GET /TiVoConnect?Command=QueryContainer&
Container=My%20Videos&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConne
ct%3FCommand%3DQueryContainer%26Container%3DMy%2520Videos%2FWeeds%2520Season%252
03%2520%2528preair%2520eps%25201-4%2529%2520Mp4%2527s%2520by%2520Arbitur&AnchorO
ffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2
Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
192.168.1.4 - - [10/Mar/2008 05:55:59] "GET /TiVoConnect?Command=QueryFormats&So
urceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 404 -
192.168.1.4 - - [10/Mar/2008 05:55:59] "GET /TiVoConnect?Command=QueryContainer&
Container=My%20Videos&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FMy%2520Vi
deosLost%2520-%2520%2527%2527Confirmed%2520Dead%2527%2527%2520%2528Recorded%2520
Feb%25207%252C%25202008%252C%2520KGTV%2529.mpeg&AnchorOffset=-1&Filter=x-tivo-co
ntainer%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HT
TP/1.1" 200 -
192.168.1.4 - - [10/Mar/2008 05:55:59] "GET /TiVoConnect?Command=TVBusQuery&Cont
ainer=My%20Videos&File=Lost%20-%20''Confirmed%20Dead''%20(Recorded%20Feb%207,%20
2008,%20KGTV).mpeg HTTP/1.1" 200 -
192.168.1.4 - - [10/Mar/2008 05:56:07] "GET /My%20VideosLost%20-%20''Confirmed%2
0Dead''%20(Recorded%20Feb%207,%202008,%20KGTV).mpeg HTTP/1.1" 200 -
192.168.1.4 - - [10/Mar/2008 05:56:38] "GET /My%20VideosLost%20-%20''Confirmed%2
0Dead''%20(Recorded%20Feb%207,%202008,%20KGTV).mpeg HTTP/1.1" 200 -

Any help???


----------



## MasterCephus

> Any chance of a Linux version?


it's written in .NET so you could try and intall Mono and see if it will run....

EDIT:

after running the MoMA from Mono, it appears that the MetaGenerator will work; however, the SQLite stuff will not. In one of my next releases, I am removing the SQLite stuff because there is no need for it...then it should work with Mono...


----------



## Kershek

I would like to upload 1080i video to my TiVoHD. I set the ffmpeg_prams setting to what it states in the description, but when I transfer something that's 1080i, it seems to show it to me "zoomed in", where I can't see the whole video. Any suggestions?


----------



## wmcbrine

Eh, how much "zooming" are you seeing? That could just be overscan. In which case, you could potentially turn it off on your set; or you could use a patch to pyTivo to pad the video (see the pyTivo "hacks" forum -- I hope to make this mainstream, but I haven't gotten around to it).


----------



## roy7

Yay! Adding the aspect169=false to a named tivo section in the config file fixed it for me, and I can watch 16:9 videos now without switching to my xbox 360.  It's so much easier to watch movies on my Tivo.

I'm surprised they haven't fixed this yet, the earliest bug reports seem to be from November last year.


----------



## Kershek

wmcbrine said:


> Eh, how much "zooming" are you seeing? That could just be overscan. In which case, you could potentially turn it off on your set; or you could use a patch to pyTivo to pad the video (see the pyTivo "hacks" forum -- I hope to make this mainstream, but I haven't gotten around to it).


Right now I have my TiVo HD connected to my Dell 2405 LCD through component cabling. I transferred the Ice Age 2 quicktime trailer (ice_age_2-tlrD_h1080p.mov) and, when playing it, it shows up in 720p and is zoomed in and scrunched. Shouldn't it have changed the TiVoHD to 1080?


----------



## Kershek

I just did a side-by-side comparison between the PC and the TiVo and noticed that it zoomed in the top and bottom slightly but did not trim the left and right, which is the reason why it lookes scrunched. Where the PC version has black bars at the top and bottom, the TiVo transfer shows a full screen with a little trimming of the top and bottom. The real question is why it's showing as 720p.


----------



## PaulS

Kershek said:


> Right now I have my TiVo HD connected to my Dell 2405 LCD through component cabling. I transferred the Ice Age 2 quicktime trailer (ice_age_2-tlrD_h1080p.mov) and, when playing it, it shows up in 720p and is zoomed in and scrunched. Shouldn't it have changed the TiVoHD to 1080?


This is pyTivo behaving normally under a default configuration. Videos under 1280x720 are passed to the TiVoHD and Series3 unaltered, since they can accomodate a video variety of MPEG-2 video formats. Videos over 1280x720 are downscaled to 720p. This was chosen as a reasonable default value, in order to keep the transcoding CPU utilization down, and the speed of transfers to the TiVo at a reasonable level. Should you wish to transcode your videos to a higher resolution, feel free to do so. Specifying the "height", "width" and "video_br" parameters should get you what you want.


----------



## AZ_Tivo

I just found pyTivo and would like to thank the author for creating this app. 

I have one question I would like to ask. I tested pyTivo with two home videos. One was made on miniDV camcorder and was imported into an AVI format using Windows movie maker 2.6. The other home movie was made using a Nikon L11 digital camera. It says TV resolution (640x). The movie made using L11 shows up better as compared to the one made using camcorder. 

The panning on camcorder movie is horrible. My Tivo is S2 and the TV is a 65" 1080P TV. Will this be any better when my TivoHD arrvies? or do I need to tweak some settings?

Thanks.


----------



## PaulS

AZ_Tivo said:


> I have one question I would like to ask. I tested pyTivo with two home videos. One was made on miniDV camcorder and was imported into an AVI format using Windows movie maker 2.6. The other home movie was made using a Nikon L11 digital camera. It says TV resolution (640x). The movie made using L11 shows up better as compared to the one made using camcorder.


Which looks better on your computer ? What is the resolution of the camcorder ?



AZ_Tivo said:


> The panning on camcorder movie is horrible. My Tivo is S2 and the TV is a 65" 1080P TV. Will this be any better when my TivoHD arrvies? or do I need to tweak some settings?


Depends upon what the resolutions of the source materials are. The higher resolution of the two (either camcorder or digicam) should look better on your 1080p display.

The Series2 will only accept a very specific resolution and refresh rate, so pyTivo must convert all videos to meet those requirements when transferring to an S2. TiVoHD and S3's can accept a video variety of MPEG-2 resolutions/rates, so less transcoding will occur and should make your videos look a bit better.


----------



## TreborPugly

AZ_Tivo said:


> I just found pyTivo and would like to thank the author for creating this app.
> 
> I have one question I would like to ask. I tested pyTivo with two home videos. One was made on miniDV camcorder and was imported into an AVI format using Windows movie maker 2.6.


I'd blame the Windows Movie Maker software for poor conversion. You can just have pyTivo transcode the raw video if you want. I've been using ffmpeg directly to convert the raw video to DVD format, and also to a lower bit rate format that I use on pyTivo.

I just have a Series 2 Tivo and an old regular TV, so lower resolutions look just fine. (I love how low resolutions look like crap on my PC, because it tries to convert them to higher resolution, but they look fine on the TV - just basic, old-fashioned TV is actually a pretty cool technology)


----------



## TreborPugly

oh, I just realized you said your TV is high res, but your Tivo is not. You might therefore be experiencing the same sort of thing as looking at low res on your computer.


----------



## AZ_Tivo

PaulS said:


> Which looks better on your computer ? What is the resolution of the camcorder ?
> 
> The Series2 will only accept a very specific resolution and refresh rate, so pyTivo must convert all videos to meet those requirements when transferring to an S2. TiVoHD and S3's can accept a video variety of MPEG-2 resolutions/rates, so less transcoding will occur and should make your videos look a bit better.


They both look ok on my computer but I was watching them in smaller window. I haven't tried watching them full size on 20" monitor. I don't know the resolution of Camcorder. It is Sony TRV17. But I imported video on computer in highest possible resolution mode (AVI).



TreborPugly said:


> I'd blame the Windows Movie Maker software for poor conversion. You can just have pyTivo transcode the raw video if you want. I've been using ffmpeg directly to convert the raw video to DVD format, and also to a lower bit rate format that I use on pyTivo.


Movie maker may be the culprit here. How do I access raw video? I do need to import it somehow to computer as it is sitting on a tape in the camcorder.



TreborPugly said:


> oh, I just realized you said your TV is high res, but your Tivo is not. You might therefore be experiencing the same sort of thing as looking at low res on your computer.


My THD should be here tomorrow. I will test it and report here.


----------



## PaulS

AZ_Tivo said:


> They both look ok on my computer but I was watching them in smaller window. I haven't tried watching them full size on 20" monitor. I don't know the resolution of Camcorder. It is Sony TRV17. But I imported video on computer in highest possible resolution mode (AVI).
> 
> Movie maker may be the culprit here. How do I access raw video? I do need to import it somehow to computer as it is sitting on a tape in the camcorder.


I've got the Sony TRV22, so I'm familiar with what you're dealing with. Try WinDV HERE to try and extract the video via firewire. It shouldn't mess around with the video as its being pulled from the camcorder.


----------



## thczv

I have been trying a lot of things to get pyTivo to play playlists. But I am not having any luck. Have any of you who run pyTivo on Windows XP succeeded in getting pyTivo to play playlists? If so, would you tell me how you did it?


----------



## mikebridge

new tivo desktop 2.6 supports a new reverse 'auto transfer', pushing content to your tivo's from your pc -- any bets on how long to reverse engineer this and add it to pytivo?


----------



## PaulS

mikebridge said:


> new tivo desktop 2.6 supports a new reverse 'auto transfer', pushing content to your tivo's from your pc -- any bets on how long to reverse engineer this and add it to pytivo?


I suppose it would depend if the auto transfer is truly a "push", where TD instigates the transfer and forces the new content down into the TiVo. It could very well be that the TiVo is polling TD, checking for any new content, and requesting a transfer for any new content.

If it truly is a push, I'm not sure pyTivo could do this since that runs contrary to how pyTivo typically runs. pyTivo usually responds to queries from the TiVo. To support a "push" model, pyTivo would have to be actively querying the shares to see if there's anything new, and then proactively send a message to the TiVo informing it of new content. pyTivo doesn't do either of these things right now.

If it's a "poll 'n pull", I think we might see pyTivo support fairly quickly. We just need to figure out how the TiVo is polling TD for new content, and then get pyTivo to mimic TD's behavior.


----------



## mikebridge

PaulS said:


> I suppose it would depend if the auto transfer is truly a "push", where TD instigates the transfer and forces the new content down into the TiVo. It could very well be that the TiVo is polling TD, checking for any new content, and requesting a transfer for any new content.
> 
> If it truly is a push, I'm not sure pyTivo could do this since that runs contrary to how pyTivo typically runs. pyTivo usually responds to queries from the TiVo. To support a "push" model, pyTivo would have to be actively querying the shares to see if there's anything new, and then proactively send a message to the TiVo informing it of new content. pyTivo doesn't do either of these things right now.
> 
> If it's a "poll 'n pull", I think we might see pyTivo support fairly quickly. We just need to figure out how the TiVo is polling TD for new content, and then get pyTivo to mimic TD's behavior.


if i'm reading this right (http://www.tivolovers.com/2008/01/14/more-from-tivo-at-ces/), TD sends a instant message to the 'mothership' which bounces that message down to the individual tivo, then the individual tivo uses the information from that IM to start pulling the show from TD. so yes, it might be outside of pytivo's normal functionality, but perhaps a simple plugin, that you set a poll interval (check every 15 minutes) and folders to check?


----------



## PaulS

mikebridge said:


> if i'm reading this right (http://www.tivolovers.com/2008/01/14/more-from-tivo-at-ces/), TD sends a instant message to the 'mothership' which bounces that message down to the individual tivo, then the individual tivo uses the information from that IM to start pulling the show from TD. so yes, it might be outside of pytivo's normal functionality, but perhaps a simple plugin, that you set a poll interval (check every 15 minutes) and folders to check?


I'm not sure that the XMPP ("jabber") support is in the 9.2 TiVo software, or even if it's scheduled to be released as a part of the 9.3 release. We also don't know if this iteration of TD software uses XMPP to effectively push the content to the TiVo, or if it's still relying on the TiVo to poll it.

We'll know soon enough, I'll wager.

I'll be firing up TD 2.6 tonight with a packet sniffer and see what interesting things pop up...


----------



## wmcbrine

thczv said:


> I have been trying a lot of things to get pyTivo to play playlists. But I am not having any luck. Have any of you who run pyTivo on Windows XP succeeded in getting pyTivo to play playlists? If so, would you tell me how you did it?


As the guy who implemented playlist support, I can tell you that, yes, I've tested it under Windows XP, and no, I didn't do anything special to make it work. (I just now tried it again to be sure it hadn't been broken in some recent version, but no, it's still working.) You're going to have to narrow down your problem a lot more -- it's not just that you're using XP.

The playlists I've tested with are just simple M3U's, one filename per line.


----------



## s2kdave

PaulS said:


> I'm not sure that the XMPP ("jabber") support is in the 9.2 TiVo software, or even if it's scheduled to be released as a part of the 9.3 release. We also don't know if this iteration of TD software uses XMPP to effectively push the content to the TiVo, or if it's still relying on the TiVo to poll it.
> 
> We'll know soon enough, I'll wager.
> 
> I'll be firing up TD 2.6 tonight with a packet sniffer and see what interesting things pop up...


After reading the blog and the tivo docs it sounds like yes, you can trigger an immediate download of your video. I was thinking the same thing as you. I want to know how to "web enable" my application. Let us know if you find out anything good.


----------



## PaulS

s2kdave said:


> After reading the blog and the tivo docs it sounds like yes, you can trigger an immediate download of your video. I was thinking the same thing as you. I want to know how to "web enable" my application. Let us know if you find out anything good.


Sorry, I didn't get to it last night. I installed TD 2.6 and fired up WireShark, then got pulled away. I won't be able to get to it tonight either, since I have other plans.

I'm thinking that we're probably half-way to full XMPP support. TD's support of jabber allows it to IM the servers at TiVo, to notify them of content that's ready to download. That content will currently only get pushed down to the TiVo's once they poll the servers at TiVo (every 15 minutes, right?)

I suspect 9.3 will bring XMPP support to the TiVo's themselves. At that point, we'll have near-realtime push downloads.


----------



## s2kdave

PaulS said:


> Sorry, I didn't get to it last night. I installed TD 2.6 and fired up WireShark, then got pulled away. I won't be able to get to it tonight either, since I have other plans.
> 
> I'm thinking that we're probably half-way to full XMPP support. TD's support of jabber allows it to IM the servers at TiVo, to notify them of content that's ready to download. That content will currently only get pushed down to the TiVo's once they poll the servers at TiVo (every 15 minutes, right?)
> 
> I suspect 9.3 will bring XMPP support to the TiVo's themselves. At that point, we'll have near-realtime push downloads.


It's possible that 9.2 added XMPP support after they added amazon unbox who really knows. They may have just started making the API more public. Either way, it is a triggering mechanism which is cool.

I installed TD2.6 yesterday too. It looks like you might need a plus version to enable to auto transfers so reverse engineering will be more difficult without it.


----------



## PaulS

s2kdave said:


> It's possible that 9.2 added XMPP support after they added amazon unbox who really knows. They may have just started making the API more public. Either way, it is a triggering mechanism which is cool.
> 
> I installed TD2.6 yesterday too. It looks like you might need a plus version to enable to auto transfers so reverse engineering will be more difficult without it.


We have a volunteer (philhu) over on the pyTivo forums with TD+, who's willing to do a little snooping/legwork to aid in the reverse engineering effort.

I just hope TiVo didn't go and do something like add a layer of authentication to the XMPP layer, so that only TD and TiVo's would be able to communicate with the TiVo servers. That would be really lame.


----------



## s2kdave

PaulS said:


> We have a volunteer (philhu) over on the pyTivo forums with TD+, who's willing to do a little snooping/legwork to aid in the reverse engineering effort.
> 
> I just hope TiVo didn't go and do something like add a layer of authentication to the XMPP layer, so that only TD and TiVo's would be able to communicate with the TiVo servers. That would be really lame.


Again I had the same thoughts. I already tried to reverse engineer swivel search to figure out how to launch native screens from HME, but found out that they use two way SSL certificates using HTTPS. I hope they didn't do the same for the XMPP server.


----------



## mikebridge

found a character that borks the metadata files.
&#8217; (bad)
vs
' (good)

was kinda frustrating, since the character will show (in this case, the full description showed), just no further tags will show.


----------



## jkalnin

Can anyone help my recent issue:
pyTivo runs fine and works great for my first few conversion attempts. Then I put an .avi file in the folder that is a typical xvid compressed Tv show. The second that I put this file into "My Videos" folder, pyTivo stops working. When I try to open the folder on my Tivo I get an error that the playlist is unavailable. Once I remove the file from the folder everything works fine again. 

I had to use Videora to convert this file for Tivo playback, so there is nothing wrong with it as far as I can tell. For some reason though, pyTivo doesn't like this file one bit.

Anyone know what's going on here?


----------



## MasterCephus

Try this link. It will give you some pointers that I have used to test my files.


----------



## thczv

wmcbrine said:


> As the guy who implemented playlist support, I can tell you that, yes, I've tested it under Windows XP, and no, I didn't do anything special to make it work. (I just now tried it again to be sure it hadn't been broken in some recent version, but no, it's still working.) You're going to have to narrow down your problem a lot more -- it's not just that you're using XP.
> 
> The playlists I've tested with are just simple M3U's, one filename per line.


That is what I am trying to play. I made a very simple playlist, with three filenames, and put it in the top level of my MP3 folder. I made sure there are no funny characters in the playlist name or file paths/names. But I can't get it to play. I don't get an error, though. The tivo screen acts like it is playing the file, but the green bar never moves. The Tivo Desktop plays it just fine. pyTivo works fine for me in every other area (video and photos, and even playing straight MP3 files).

Any ideas?


----------



## jkalnin

MasterCephus said:


> Try this link. It will give you some pointers that I have used to test my files.


Thanks - I'll give it a shot!


----------



## wmcbrine

thczv said:


> Any ideas?


Nope. Maybe if you show me the file?

What does it say on the pyTivo screen?


----------



## Joe3

I need some help. Clearly I did not like Desktop 2.6 enough to bother. So I took a deeper look at what you are trying to do here. Even if it&#8217;s hard to follow I know enough to appreciate what&#8217;s happening.

I am confused about the MetaGenerator. I have it down load the information into an E drive after I have redo drop what I think is a combined VOB file. I retain the DVD quality above cable and its easy storage and access. 

However, the information that MetaGenerator gets is not imported into the TiVo.

Am I in error thinking that it would or am I missing something?

Latest version of Python.

pyTivo-2007-12-31-master

Thanks for your patience in advance.


----------



## PaulS

Joe3 said:


> I need some help. Clearly I did not like Desktop 2.6 enough to bother. So I took a deeper look at what you are trying to do here. Even if its hard to follow I know enough to appreciate whats happening.
> 
> I am confused about the MetaGenerator. I have it down load the information into an E drive after I have redo drop what I think is a combined VOB file. I retain the DVD quality above cable and its easy storage and access.
> 
> However, the information that MetaGenerator gets is not imported into the TiVo.
> 
> Am I in error thinking that it would or am I missing something?
> 
> Latest version of Python.
> 
> pyTivo-2007-12-31-master
> 
> Thanks for your patience in advance.


That's actually a very old version of pyTivo. Try this Windows installer based version : HERE


----------



## Joe3

PaulS said:


> That's actually a very old version of pyTivo. Try this Windows installer based version : HERE


That corrected the problem.

Thanks!:up:


----------



## ebf

I am wondering if MetaGenerator can be used to help build data files for program episodes that it cannot find. For example, I download UK soaps from the internet and tried once to find the episodes with MetaGenerator. I could find the programs, but not the recent episodes. Can I somehow just pick the program and fill in some (or none) of the episode details? I want to still have the programs all go into the same program folder in Now Playing. But is seems like I have to match my download to a particular episode in MetaGenerator. I do know I can create the data file by hand, but that's a pain.

Thanks.


----------



## mikebridge

ebf said:


> I am wondering if MetaGenerator can be used to help build data files for program episodes that it cannot find. For example, I download UK soaps from the internet and tried once to find the episodes with MetaGenerator. I could find the programs, but not the recent episodes. Can I somehow just pick the program and fill in some (or none) of the episode details? I want to still have the programs all go into the same program folder in Now Playing. But is seems like I have to match my download to a particular episode in MetaGenerator. I do know I can create the data file by hand, but that's a pain.
> 
> Thanks.


i think you could create an account at http://thetvdb.com/ and type the episode info there, then it will show up in meta generator (and you've helped out everyone else interested in the show)


----------



## PaulS

ebf said:


> I am wondering if MetaGenerator can be used to help build data files for program episodes that it cannot find. For example, I download UK soaps from the internet and tried once to find the episodes with MetaGenerator. I could find the programs, but not the recent episodes. Can I somehow just pick the program and fill in some (or none) of the episode details? I want to still have the programs all go into the same program folder in Now Playing. But is seems like I have to match my download to a particular episode in MetaGenerator. I do know I can create the data file by hand, but that's a pain.
> 
> Thanks.


Absolutely. What MetaGenerator is doing isn't magic. It's simply taking data from an online database, and arranging it into a text file that pyTivo, and hence a TiVo, can use to display meaningful data on-screen. The magic is that it makes finding, acquiring, and writing that data a very simple operation.

What you laid out is exactly how you'd fix your problem. Take an episode that you can find data for, replicate it into a metadata file for an episode that you do not have data for, and make some changes manually. It should work just fine.


----------



## ebf

PaulS said:


> ... What you laid out is exactly how you'd fix your problem. Take an episode that you can find data for, replicate it into a metadata file for an episode that you do not have data for, and make some changes manually. It should work just fine.


I assumed I could not edit the episode screen data. I tried it and everything accept the stars could be edited!  It would be nice to be able to edit the stars as well.

Now, what do I do about programs without a seriesId? I download a lot of UK TV and would love to be able to folder those on my TiVo as well.


----------



## thczv

wmcbrine said:


> Nope. Maybe if you show me the file?
> 
> What does it say on the pyTivo screen?


I didn't want to respond until I had time to go and check the log to see what it said (I feel kind of dumb for not doing that anyway). My test m3u file looked like this:

H:\MP3\Test\01.mp3
H:\MP3\Test\02.mp3
H:\MP3\Test\03.mp3

When I looked at the log I found this line that caught my attention:

Anchor not found: h:\MP3H:\MP3\Test\01.mp3

I figured pyTivo is somehow prepending the share path before the file path. So I made another test m3u file that looks like this:

\Test\01.mp3
\Test\02.mp3
\Test\03.mp3

This playlist works. I don't know enough to fix anything permanently. But it looks to me like the problem is with prepending the share path before the file path.

What do you think?

Thanks,
Dave


----------



## PaulS

ebf said:


> Now, what do I do about programs without a seriesId? I download a lot of UK TV and would love to be able to folder those on my TiVo as well.


Not much you can do. A show will either have a seriesId, or not. You can not make a new one up for a series, it must be known to the TiVo (via guide data).

You have a couple of options/work-arounds. First, you could choose to avoid using seriesId for those shows without seriesId's, and have them not group. Secondly, you could choose a seriesId for a show that DOES have a seriesId (perhaps one that's similarly named) and group your shows that way.


----------



## wmcbrine

thczv said:


> My test m3u file looked like this:
> 
> H:\MP3\Test\01.mp3
> H:\MP3\Test\02.mp3
> H:\MP3\Test\03.mp3
> 
> When I looked at the log I found this line that caught my attention:
> 
> Anchor not found: h:\MP3H:\MP3\Test\01.mp3
> ...
> But it looks to me like the problem is with prepending the share path before the file path.


Hmm... Am I right in thinking that the share path in your pyTivo.conf has the lowercase 'h' drive letter, as shown, while the .m3u has uppercase? That makes the strings not match.


----------



## ebf

PaulS said:


> Not much you can do. A show will either have a seriesId, or not. You can not make a new one up for a series, it must be known to the TiVo (via guide data).
> 
> You have a couple of options/work-arounds. First, you could choose to avoid using seriesId for those shows without seriesId's, and have them not group. Secondly, you could choose a seriesId for a show that DOES have a seriesId (perhaps one that's similarly named) and group your shows that way.


That's a good idea. Unfortunatly, my second attempt to try pyTiVo has fallen short again. I got my PC show show up once in Now Playing and then never again. I posted my problem over in the pyTiVo support forum yesterday in the 
Help- nothing shows up in NPL thread.

Any thoughts would be appreciated.


----------



## thczv

wmcbrine said:


> Hmm... Am I right in thinking that the share path in your pyTivo.conf has the lowercase 'h' drive letter, as shown, while the .m3u has uppercase? That makes the strings not match.


Yes, that is right. I made the share path in pyTivo.conf match the file paths in the m3u file, and it appears to be working. I like it when the fixes are simple.

Thanks.


----------



## bholzm1

PaulS said:


> This is pyTivo behaving normally under a default configuration. Videos under 1280x720 are passed to the TiVoHD and Series3 unaltered, since they can accomodate a video variety of MPEG-2 video formats. Videos over 1280x720 are downscaled to 720p. This was chosen as a reasonable default value, in order to keep the transcoding CPU utilization down, and the speed of transfers to the TiVo at a reasonable level. Should you wish to transcode your videos to a higher resolution, feel free to do so. Specifying the "height", "width" and "video_br" parameters should get you what you want.


Even setting height, width, and video_br won't get exactly what he wants -- setting height=1080 and width=1920 will probably end up transferring the 1920x800 trailer at native resolution to the TiVO, which will then downscale it to 720p instead of padding the top and bottom.

You can try this patch I suggested here: http://pytivo.krkeegan.com/viewtopic.php?t=196 and see if that does the trick.


----------



## PaulS

bholzm1 said:


> Even setting height, width, and video_br won't get exactly what he wants -- setting height=1080 and width=1920 will probably end up transferring the 1920x800 trailer at native resolution to the TiVO, which will then downscale it to 720p instead of padding the top and bottom.
> 
> You can try this patch I suggested here: http://pytivo.krkeegan.com/viewtopic.php?t=196 and see if that does the trick.


Hasn't pyTivo done its job at that point, get the video into the TiVoHD unaltered ? Why would the TiVoHD downrez the 1920x1080 video to 720p ? The only reason I can figure would be that the TiVoHD is configured to output 720p.


----------



## PaulS

ebf said:


> That's a good idea. Unfortunatly, my second attempt to try pyTiVo has fallen short again. I got my PC show show up once in Now Playing and then never again. I posted my problem over in the pyTiVo support forum yesterday in the
> Help- nothing shows up in NPL thread.
> 
> Any thoughts would be appreciated.


Obviously sounds like something still isn't right. I would try re-installing a current snapshot (perhaps the Windows installer I posted above) and try again with a very simple configuration. If that still doesn't work, you should post your config and debug.txt output here so that we can help figure out your problem.


----------



## bholzm1

PaulS said:


> Hasn't pyTivo done its job at that point, get the video into the TiVoHD unaltered ? Why would the TiVoHD downrez the 1920x1080 video to 720p ? The only reason I can figure would be that the TiVoHD is configured to output 720p.


The reason is that the source video is 1920x800,not 1920x1080. The TivoHD is configured for Native output -- I haven't thought to see what it does with 1920x1080 when you force it to 1080i fixed..


----------



## PaulS

bholzm1 said:


> The reason is that the source video is 1920x800,not 1920x1080. The TivoHD is configured for Native output -- I haven't thought to see what it does with 1920x1080 when you force it to 1080i fixed..


Ahhhh... I gotcha. I read the first post too quickly, and missed the difference in vertical resolution.

wgw has recently merged some PAR (pixel aspect ratio) code into his branch. This may or may not also fix the problem.


----------



## Kershek

After I told a friend of mine to check out PyTiVo, he downloaded it from their site and his AVAST A/V detected a Trojan. He immediately removed it and told me he's not using it. Beware!

**EDIT**
There is no Trojan in PyTiVo - As menos helpfully mentions in the next post, this is a false positive. Please see his link at http://pytivo.krkeegan.com/index.php for the discussion forum related to this. Plus, the newest version of PyTiVo doesn't even have the false positive. Huzzah!


----------



## menos

Kershek said:


> After I told a friend of mine to check out PyTiVo, he downloaded it from their site and his AVAST A/V detected a Trojan. ......


AVAST is wrong. pyTivo does not have a Trojan in it. It is a false postive, confirmed by the writer of one of the modules. Go to http://pytivo.krkeegan.com/index.php for the discussion forum related to pyTivo.
This problem has been fixed in the newest version of pyTivo released today. Stop spreading FUD....


----------



## PaulS

Kershek said:


> After I told a friend of mine to check out PyTiVo, he downloaded it from their site and his AVAST A/V detected a Trojan. He immediately removed it and told me he's not using it. Beware!


As menos pointed out, this is blatantly false, and borderline panic-mongering.

pyTivo bundles a utility (XYNTService) which allows pyTivo to run as a Windows service. This utility was triggering false-positives with certain AV programs. The author of this utility noticed this problem, and made a correction for it in February 2008. pyTivo has since incorporated this update, and should no longer trigger AV alarms/warnings/errors.


----------



## Kershek

Thanks for the info! I let my friend know. Not trying to spread panic at all, and I'm glad that the issue was remedied.


----------



## msmart

Kershek said:


> Thanks for the info! I let my friend know. Not trying to spread panic at all, and I'm glad that the issue was remedied.


I would suggest then, that you, Paul S, and menos edit your posts to limit the number of eyes that see your posts and stop rumors from spreading. When I see that you have, I'll do the same.

Just a thought.


----------



## menos

I think it is important that people know that if they receive a virus warning from pyTivo that they make sure to update.


----------



## PaulS

Yeah, I know it's asking a lot of someone who's reading this thread to actually follow it down a few more posts to see a definitive answer to a question that was posed.

Yeeesh...


----------



## Kershek

Ok, no problem. Post edited. Thanks again for the quick response.


----------



## kas25

I have all my movies on my Mac. How reliable is Pytivo for a Mac. It seems like a lot of work to get it going if its not reliable on the Mac. Any suggestions?


----------



## sed156

kas25 said:


> I have all my movies on my Mac. How reliable is Pytivo for a Mac. It seems like a lot of work to get it going if its not reliable on the Mac. Any suggestions?


pyTivo is very reliable on my Intel Mac mini (OS X 10.4.11).

Initial setup took some time... had to install the developer tools, python 2.5.1 and ffmpeg. This required installing software from the command line in Terminal (this was not a problem for me, but I understand that it's not everyone's cup of tea). The OS X Install instructions found here were helpful too.

After that initial setup was complete I have not had any issues with pyTivo and have been very happy with it. It's been a great substitute for the broken Mac version of TivoDesktop.


----------



## kas25

sed156 said:


> pyTivo is very reliable on my Intel Mac mini (OS X 10.4.11).
> 
> Initial setup took some time... had to install the developer tools, python 2.5.1 and ffmpeg. This required installing software from the command line in Terminal (this was not a problem for me, but I understand that it's not everyone's cup of tea). The OS X Install instructions found here were helpful too.
> 
> After that initial setup was complete I have not had any issues with pyTivo and have been very happy with it. It's been a great substitute for the broken Mac version of TivoDesktop.


Thanks. For someone who hasn't even seen Terminal, would you suggest trying?


----------



## sed156

kas25 said:


> Thanks. For someone who hasn't even seen Terminal, would you suggest trying?


Nope.


----------



## kas25

sed156 said:


> Nope.


I'll stick with Apple TV for now. Thanks.


----------



## BiloxiGeek

Just posted this as a enhancement request on pytivo.armoo.net and I thought I'd float the idea here as well.

Is it possible to sent an icon to be used in the Now Playing List when you're browsing pyTivo shares? Having a unique icon for any pyTivo share would let them stand out from TiVo Desktop shares.

If you could actually define the icon in the pyTivo.conf individually for each share it'd be even slicker.


----------



## MasterCephus

^ I don't think that's possible...I think those icons comes from Tivo, not pyTivo.


----------



## jkalnin

Seems like pyTivo hates me, as it is causing me nothing but problems. My latest issue is that the file (a dvd vob renamed to .mpg) transfers over fine, and plays fine. However, once the transfer is complete the file disappears from my now playing list. Is there a way to see a log or get some info as to why the file is gone once the transfer is complete? I could do more tests to see what happens if I am playing the video when the transfer completes, but I am sick and need to go to bed. 

Thanks!


----------



## BiloxiGeek

MasterCephus said:


> ^ I don't think that's possible...I think those icons comes from Tivo, not pyTivo.


Found this on sourceforge http://tivohme.sourceforge.net/docs/hmesdk/03_Running.html:



> The TiVo box will attempt to load an icon for the application. It will use the applications base URI followed by icon.png. For example:
> 
> http://somemachine:7288/movie/icon.png
> 
> The easiest way to add an icon to an application is to put the icon.png file into the JAR file (or classpath) in the same directory as the application class.
> 
> Icons should be 34x26 and can use transparency (but will consume less memory if not transparent). They should use PNG format.


If pyTivo works like an HME application this might work. If it's just simulating a TiVo Desktop or another TiVo on the local network than probably not.


----------



## wmcbrine

pyTivo does NOT work like an HME application. pyTivo is an HMO server. There is no way I know of to set an icon for shares in the Now Playing list.

There IS a way, in principle, to set custom icons for the programs within shares, but I haven't explored it.


----------



## zoma4

I apologize in advance if this is a repeat of something previously discussed, however I did some searching (both here and on the py-TiVo forums) and didn't really get an answer I am satisfied with. I'll readily admit that I have not fully read all 64 pages of this thread.

Anyhow, I am a py-TiVo newbie. I had been using Videora and TivoDesktop but recently decided to give py-TiVo a shot. My question has to do with the conversion settings. I have a TivoHD and a 720p Samsung tv. Whenever I transfer an xvid file to the Tivo, I usually end up with 4 bars around the side of the screen. These are all WS dvdrips, but unfortunately the resolution varies.

What py-Tivo settings should I be using to maximize my viewing experience?

What about for 720p mkv files? 1080i/p mkvs? Do I need to have separate settings based on my input files?

Again, sorry if this has already been answered, but I'm confused.

Also, a little off topic from py-Tivo, but still related -- I was under the impression that TiVoDesktop Plus 2.6 would support transferring HD Video to the box, however the DVD rips (not HD resolution, I know) still show up boxed on all 4 sides.

Essentially, I am trying to find a solution that will scale the video so that the will only be letterboxing when it is converted to mpeg2 for the TiVo and not degrade any quality to 480i levels.


----------



## Kershek

zoma4, I'm not sure how to answer your question, but have you tried the zoom function of the TiVoHD or your TV to fill the screen with the video?


----------



## PaulS

zoma - 

If you're using a recent vintage of pyTivo, the default settings should get you what you want. 

The default configuration of pyTivo will not scale videos that are less than 1280x720 in resolution. If the video uses a codec other than MPEG-2, it will transcode the video to MPEG-2 but will leave the original resolution intact. Videos that are greater than 1280x720 will be downscaled to 1280x720 to conserve on filesize and CPU utilization. These are merely the defaults, and may be over-ridden to whatever you'd like.

The TiVoHD and Series3 can apparently handle just about any MPEG-2 content thrown at it, so this makes pyTivo's job much easier. This is why pyTivo doesn't scale everything to a specific resolution. It doesn't need to.

MKV present a special challenge for pyTivo, in that ffmpeg (the transcoding engine used by pyTivo) has a hard time with the audio in MKV files. Specifically, audio/video sync may drift quite a bit (I've seen 5+ seconds), and channels may be re-mapped (everything ends up in the front-right channel). This is a short-coming of ffmpeg, and efforts have been made to work around those issues.

Keep in mind that transcoding/scaling can NOT improve upon video quality. 480i sources will ALWAYS look worse than HD sources. You can not add resolution to sources. The best you can hope to achieve is to not degrade the 480i too much.


----------



## zoma4

Kershek said:


> zoma4, I'm not sure how to answer your question, but have you tried the zoom function of the TiVoHD or your TV to fill the screen with the video?


Yeah, that's my workaround for the moment, but I was trying to figure out if there was a way to have it scale on encoding rather than zoom during playback.


----------



## bholzm1

PaulS said:


> Ahhhh... I gotcha. I read the first post too quickly, and missed the difference in vertical resolution.
> 
> wgw has recently merged some PAR (pixel aspect ratio) code into his branch. This may or may not also fix the problem.


Looking at the patch, it looks like one could set the PAR to .741 (800.0/1080.0), but this would scale any file globally that doesn't report a PAR. I think it only makes sense to use the video's native resolution sans padding when the video vertical AND horizontal res are smaller than the tivo, or precisely equal to both. That should solve kershek's problem and possibly zoma4's as well.


----------



## zoma4

PaulS said:


> zoma -
> 
> If you're using a recent vintage of pyTivo, the default settings should get you what you want.
> 
> The default configuration of pyTivo will not scale videos that are less than 1280x720 in resolution. If the video uses a codec other than MPEG-2, it will transcode the video to MPEG-2 but will leave the original resolution intact. Videos that are greater than 1280x720 will be downscaled to 1280x720 to conserve on filesize and CPU utilization. These are merely the defaults, and may be over-ridden to whatever you'd like.
> 
> The TiVoHD and Series3 can apparently handle just about any MPEG-2 content thrown at it, so this makes pyTivo's job much easier. This is why pyTivo doesn't scale everything to a specific resolution. It doesn't need to.
> 
> MKV present a special challenge for pyTivo, in that ffmpeg (the transcoding engine used by pyTivo) has a hard time with the audio in MKV files. Specifically, audio/video sync may drift quite a bit (I've seen 5+ seconds), and channels may be re-mapped (everything ends up in the front-right channel). This is a short-coming of ffmpeg, and efforts have been made to work around those issues.
> 
> Keep in mind that transcoding/scaling can NOT improve upon video quality. 480i sources will ALWAYS look worse than HD sources. You can not add resolution to sources. The best you can hope to achieve is to not degrade the 480i too much.


Thanks for this response. I am pretty close to getting things how I'd like them now.


----------



## danitaz

I would swear I had pyTivo working on my MAC, and I was able to upload a video from my Mac to my Tivo S3. But today I started up pyTivo again, and when I try to send a file to my Tivo I get:

Exception happened during processing of request from ('127.0.0.1', 53508)
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/SocketServer.py", line 464, in process_request_thread
self.finish_request(request, client_address)
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/SocketServer.py", line 254, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/SocketServer.py", line 522, in __init__
self.handle()
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/BaseHTTPServer.py", line 316, in handle
self.handle_one_request()
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/BaseHTTPServer.py", line 310, in handle_one_request
method()
File "/Users/danita/pyTivo/httpserver.py", line 85, in do_GET
method(self, query)
File "/Users/danita/pyTivo/plugins/video/video.py", line 460, in Push
password = config.getTivoPassword()
File "/Users/danita/pyTivo/config.py", line 31, in getTivoPassword
return config.get('Server', 'tivo_password')
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/ConfigParser.py", line 520, in get
raise NoOptionError(option, section)
NoOptionError: No option 'tivo_password' in section: 'Server'


I know the password is correct . . . .

Any ideas?

Thanks.

Danita


----------



## danitaz

danitaz said:


> I would swear I had pyTivo working on my MAC


And I did - I was just going the "opposite" direction before. I.e., I see the "My Movies" on the Tivo and tell it to download. This time for some reason I was trying to go the opposite direction from the web browser. I think that "should" work too - but it works from the other way.

Danita


----------



## thczv

I have been looking for a foolproof way to store my 1080 mpg2 video in a more compressed format. Right now I am trying to use Windows Media Encoder to make 720 VC-1 WMV files. So far it looks like it will work fairly well. However, pyTivo won't transfer my first test file. In the pyTivo log, I get this message over and over (incremented by several seconds each time):

192.168.1.134 - - [05/Apr/2008 15:46:52] "GET /Thczv/Liam%20Finn%20(Letterman)-1.wmv HTTP/1.1" 200 -
['h:\\Program Files\\pyTivo\\plugins\\video\\ffmpeg_mp2.exe', '-i', 'g:\\Video\\Liam Finn (Letterman)-1.wmv', '-vcodec', 'mpeg2video', '-r', '29.97', '-b', '8192k', '-maxrate', '17408k', '-bufsize', '1024k', '-comment', 'pyTivo.py', '-ab', '384k', '-ar', '48000', '-acodec', 'ac3', '-f', 'vob', '-']

It doesn't give an error. On the Tivo, it looks like the file is trying to transfer, but it never gets enough video to start. Eventually, my Tivo kills the transfer, and the To Do list says the transfer was cancelled either because the file was bigger than expected, or because the file was corrupted.

Any ideas? I thought pyTivo had no problem with wmv files. I even thought ffmpeg could handle VC-1 now.

Thanks,


----------



## armooo

danitaz said:


> I would swear I had pyTivo working on my MAC, and I was able to upload a video from my Mac to my Tivo S3. But today I started up pyTivo again, and when I try to send a file to my Tivo I get:
> 
> Exception happened during processing of request from ('127.0.0.1', 53508)
> Traceback (most recent call last):
> File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/SocketServer.py", line 464, in process_request_thread
> self.finish_request(request, client_address)
> File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/SocketServer.py", line 254, in finish_request
> self.RequestHandlerClass(request, client_address, self)
> File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/SocketServer.py", line 522, in __init__
> self.handle()
> File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/BaseHTTPServer.py", line 316, in handle
> self.handle_one_request()
> File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/BaseHTTPServer.py", line 310, in handle_one_request
> method()
> File "/Users/danita/pyTivo/httpserver.py", line 85, in do_GET
> method(self, query)
> File "/Users/danita/pyTivo/plugins/video/video.py", line 460, in Push
> password = config.getTivoPassword()
> File "/Users/danita/pyTivo/config.py", line 31, in getTivoPassword
> return config.get('Server', 'tivo_password')
> File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/ConfigParser.py", line 520, in get
> raise NoOptionError(option, section)
> NoOptionError: No option 'tivo_password' in section: 'Server'
> 
> I know the password is correct . . . .
> 
> Any ideas?
> 
> Thanks.
> 
> Danita


It looks like you are trying to push a file from the web interface. You will need to have your tivo.com username and password in the server section of the pyTivo.conf file.

It should be something like this.


Code:


[Server]
[email protected]
tivo_password=password123


----------



## fred2

I am not having any luck trying to copy or move MKV files to my tivo. Any suggestions or ideas. I guess I also am having problems trying to convert them to something more traditional avi) to get them to the tivo.


----------



## cherry ghost

fred2 said:


> I am not having any luck trying to copy or move MKV files to my tivo. Any suggestions or ideas. .


use TiVo.net


----------



## PaulS

As far as I know, tivo.net and pyTivo both use ffmpeg as a transcode engine. The problems that pyTivo has with MKV files are specific to ffmpeg, so I can't see how suggesting tivo.net would fix the problem. That is, unless tivo.net has found a way to circumvent ffmpeg's shortcomings...


----------



## KRKeegan

It seems that this is a pretty common error. Others have reported the same errors with some files working properly - pyTivo Discussion Forum


----------



## cherry ghost

PaulS said:


> As far as I know, tivo.net and pyTivo both use ffmpeg as a transcode engine. The problems that pyTivo has with MKV files are specific to ffmpeg, so I can't see how suggesting tivo.net would fix the problem. That is, unless tivo.net has found a way to circumvent ffmpeg's shortcomings...


All I can tell you is that I've never had a problem transferring an MKV file with .net


----------



## PaulS

cherry ghost said:


> All I can tell you is that I've never had a problem transferring an MKV file with .net


And all I can tell you is that I've had a hell of a time getting them to transfer reliably, despite the fact that both solutions are founded on ffmpeg. The errors pyTivo users see are not simply transfer errors, which can be blamed on pyTivo itself, but encode/decode errors (audio sync out of whack, audio channels remapped to right front, etc).

I'll need to dig into tivo.net to see if/how the parms list being passed into ffmpeg from tivo.net differs from that of pyTivo.

edit : List of parms isn't very different from looking at the .NET code. Does tivo.net handle higher than 480i resolution transfers, or more than 2 channels of audio ?


----------



## jcthorne

If you convert the audio in your mkv file to AC3 at 384kbps before giving the mkv to pytivo/ffmpeg things go much smoother. FFmpeg does not handle conversion of audio inside and mkv container well at all but if its already the right format and bitrate, it comes along on the conversion to mpeg2 just fine.

Until ffmpeg updates.

Speaking of which, there are new window builds of ffmpeg posted recently, has anything that effects the use in pytivo been improved or upgraded?


----------



## Iluvatar

jcthorne said:


> If you convert the audio in your mkv file to AC3 at 384kbps before giving the mkv to pytivo/ffmpeg things go much smoother. FFmpeg does not handle conversion of audio inside and mkv container well at all but if its already the right format and bitrate, it comes along on the conversion to mpeg2 just fine.
> 
> Until ffmpeg updates.
> 
> Speaking of which, there are new window builds of ffmpeg posted recently, has anything that effects the use in pytivo been improved or upgraded?


Here is the changelog.http://svn.mplayerhq.hu/ffmpeg/trunk/?view=log

It seems there were numerous performance enhancements (i dont know if it adds up to much), and various audio and decoder fixes.

However the new build posted seems to break pyTivo (so far for me). So until pyTivo is updated with possible changes to FFMPEG command parameters unfortunately it is not usable (again this could have simply been my machine, however the problems fixed themselves by reverting to the old revision).

Edit: The FFMPEG changelog server is very shaky and doesnt respond often, and when it does it takes about 5 minutes to load.


----------



## PaulS

jcthorne said:


> If you convert the audio in your mkv file to AC3 at 384kbps before giving the mkv to pytivo/ffmpeg things go much smoother. FFmpeg does not handle conversion of audio inside and mkv container well at all but if its already the right format and bitrate, it comes along on the conversion to mpeg2 just fine.


Right. It's just that there isn't an in-line, one-step solution to the problem. I'd rather not have to manually massage files. If there was an easy way to "pipe" the output of eac3to to pyTivo, I'd be all over that.


----------



## fred2

I suspected that I was not the only one who wanted to deal with mkv files (although, now, if I can avoid them I will until a stable solution appears. Seems, though, I opened up an interesting discussion! 

Multiple massaging is just not that desireable - not that I have not done stuff like that in the past. But I'm getting lazy, my computer is overloaded with virtual dubs in all configurations, tons of codecs and new things break old things.


----------



## wgw

xvid avi's have the same audio problems as mkv's, and probably any other file type encoded with ac3 audio. People just notice it more with mkv's because they are commonly encoded with ac3 while other file types are more commonly encoded with low bitrate mp3 or aac audio. As long as the ac3 audio is encoded at 448k or less, pytivo will handle it properly if you do not override pytivos default audio codec settings.


----------



## grahamg

Hi, I repost this in the Pytivo chain. I think the original post was in the wrong forum - sorry and thanks.

On my PC I am using a Hauppauge WinTV-HVR950 OTA HD tuner to record onto the PC. These files are dropped directly into my PyTivo video folder as *.mpg files. WMF and Nero showtime play them perfectly on the PC.

PyTivo is working in as much as the video/audio is transfered to the Tivo2 at a very nice quality. During the file transfer ffmpeg_mp2 is running at 30-35% CPU load. The PC is an AMD 64 X2, 3gb ram. I can play the video/audio transfered to the Tivo on the TV during the file transfer and it keeps up quite happily.

The video and sound quality on the TV from the Tivo2 is really excellent but the audio is way out of sync, I haven't timed it but the video must be playing 30 - 60 seconds after of the audio.

Can I make some changes to make this setup viable - or do I just forget it?

I have just moved house and I cannot receive OTA analog stations at all well, but the HD channels come in fine. This is the reason for my interest in using the HD source.


----------



## dlfl

grahamg said:


> .............
> The video and sound quality on the TV from the Tivo2 is really excellent but the audio is way out of sync, I haven't timed it but the video must be playing 30 - 60 seconds after of the audio..


1. Try -async 1 in the args to ffmpeg.

2. Try running the file through VideoReDo, Quick Stream Fix. Is the sync that bad when loaded into VideoReDo? (If so it's probably beyond repair by VRD.) VRD also lets you manually correct sync within about a one second range.


----------



## steve614

I was reluctant to try pyTivo but because of the problems with TD 2.6, I thought I'd give it a try.

I must say, installation was EASY. Had to do NO configurations.
Ten minutes from first installing python, then installing pyTivo, then at my Tivo choosing a movie to transfer.
AWESOME! :up:


Thanks for a great app.


----------



## grahamg

dlfl said:


> 1. Try -async 1 in the args to ffmpeg.
> 
> 2. Try running the file through VideoReDo, Quick Stream Fix.


Thanks for the input. On item1. I added the argument to the Pytivo.conf file and it changed to as follows :-

[Server]
port=9032
ffmpeg=C:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe -async 1

hack83=true

[My Videos]
type=video
path=E:\Videos

[Admin]
type=admin

But this didn't work. When I used the Tivo, I can see the PC's videos, I selected one and then Tivo says "please wait" (and locks up). Looking at the PC processes I see that ffmpeg_mp2 doesn't pop into the process list. I have since removed the -async 1 argument and things are working again. Is this argument correctly formatted? I will try to find out, perhaps I need a more recent ffmpeg? BTW I did stop and remove the Tivo service and restored it after changing the config file.

On item2. I downloaded a trial version, but when I play a video on VideoRedo the video and audio are in perfect sync so their is nothing to fix. You are correct saying that the maximum correction available is +/- 1second. It seems that the problem is being caused by ffmpeg_mp2 but I don't see that output file as it is being sent straight to the Tivo.

I guess this problem will show up more next year when everyone goes to digital OTA tv?

Thanks!


----------



## wgw

grahamg,

Sorry, I have not replied to your question because you have not indicated what version you are using or what your settings are. With all the developers, there are lots of versions now. I have made every attempt to eliminate audio sync problems in my pytivo branch. Try installing this version with all default settings and see how it works.
http://pytivo.krkeegan.com/post518.html#518
The new pytivo forum may also answer some of your questions.


----------



## grahamg

wgw said:


> grahamg,
> 
> Sorry, I have not replied to your question because you have not indicated what version you are using or what your settings are.


I tried to find the version# but didn't know how to get it from my PC. I vaguely remember there is a way to find the ffmpeg version, but I have forgotten that too.

1. I downloaded the 7-Zip file 
2. I downloaded wgw-f668ec6fa340c7f341eabd89e8096284c4142bfc.tar.gz
But 7-Zip didn't seem to understand the .gz file. So I used Winrar instead. Extracted your folder wgw to the desktop renamed it to PyTivo and then copied it to my Program files\Pytivo folder. This seems to have worked because I see plenty of 4/8/2008 files.
3. started Pytivo.
4. Transfered one .mpg file from the PC using PyTivo

The result. Excellent quality video, and the audio now seems in sync. But the audio is "stuttering" (like 1/2 second of sound then 1/2 second of silence) and the video seems to be playing a little too slowly (although it doesn't stutter like the audio - I mean it seems to play continuously, but just a tad slow) Sorry, but I can't describe it any better. I also tried to transfer a lower quality file (an .avi file) and that plays without problem. In both cases the transfer to the Tivo is quicker than realtime.

I am now thinking of converting the .mpg format to .avi and see how that goes - is it worth trying ?

I downloaded the trial version of AVS video converter. It indicates that the original .mpg video file is MPEG2 video, 1280x720 59.94fps 13894kbps, audio Dolby AC3 48000hz 5.1ch 448 kbps. I understand that the TV tuner makes no changes to the format, it just stores the OTA video/sound?


----------



## grahamg

Hi further info.

I converted the original 

MPEG2 video, 1280x720 59.94fps 13894kbps, audio Dolby AC3 48000hz 5.1ch 448 kbps filesize 3.1gb 

to a new file using AVS video convertor trial version

MPEG2 video 720x576 29.97fps 10065kbps, audio MPEG-1 layer2 2ch 320 kbps filesize 2.23gb - This file plays fine on the Tivo.

I also tried your original suggestion and added the argument -async to the new ffmpeg_mp2.exe installed with 1wgw-f668ec6fa340c7f341eabd89e8096284c4142bfc.tar.gz

But I get the same problem, I can see the file, I select it and Tivo says "please wait" - forever. Pytivo does not start ffmpeg_mp2.

Question. I added the parameter in Pytivo.conf ie. ffmpeg=C:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe -async 1
is this correct or should it be in the following uncommented line somewhere?

#ffmpeg_tmpl=&#37;(video_codec)s %(video_fps)s %(video_br)s %(max_video_br)s %(buff_size)s %(aspect_ratio)s -comment pyTivo.py %(audio_br)s %(audio_fr)s %(audio_ch)s %(audio_codec)s %(fmpeg_prams)s %(format)s



Recording OTA HD and then recoding it to another format doesn't really appeal because I would rather be able to set the PC's DVR and then just use Pytivo to view whatever is recorded. If this works I end up with a poor mans Tivo3! At least this would be a decent fill in until the Governments $40 hdtv vouchers kick in.


----------



## wgw

Sounds like their might be something wrong with your source recordings. Perhaps spikes in the audio/video bitrates. You might try VideoRedo's QuickStream Fix option. Before running QuickStream fix, go into the VideoRedo options. Under Stream Parameters, check the box "Set header to video bitrate". This makes it easy to verify the video bitrate on the output file using VideoReDo's "Show Video program info" option.

If that does not work, you can force pytivo to transcode the files for you which will smooth out the glitches. Set max_video_br=12000k and max_audio_br=384k.

S3 Tivo's also have a problem converting HD recordings which could be part of the problem. Forcing pytivo to transcode HD will also fix that.


----------



## grahamg

wgw said:


> Sounds like their might be something wrong with your source recordings. Perhaps spikes in the audio/video bitrates. You might try VideoRedo's QuickStream Fix option. Before running QuickStream fix, go into the VideoRedo options. Under Stream Parameters, check the box "Set header to video bitrate". This makes it easy to verify the video bitrate on the output file using VideoReDo's "Show Video program info" option.
> 
> If that does not work, you can force pytivo to transcode the files for you which will smooth out the glitches. Set max_video_br=12000k and max_audio_br=384k.
> 
> S3 Tivo's also have a problem converting HD recordings which could be part of the problem. Forcing pytivo to transcode HD will also fix that.


Thanks, I took your advice in reverse order and tried (I think) the transcode option first. I have a question though. I have changed my Pytivo.conf to the following. Notice that I uncommented the line ffmpeg_tmpl, I also added in the item %(max_audio_br)s next to max_video_br. I just ask if this is done correctly?

I will record a couple of short programs and try this later. Thanks again for your help..

[Server]
port=9032
ffmpeg=C:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe

hack83=true

max_video_br=12000k
max_audio_br=384k.

ffmpeg_tmpl=%(video_codec)s %(video_fps)s %(video_br)s %(max_video_br)s %(max_audio_br)s %(buff_size)s %(aspect_ratio)s -comment pyTivo.py %(audio_br)s %(audio_fr)s %(audio_ch)s %(audio_codec)s %(fmpeg_prams)s %(format)s

[My Videos]
type=video
path=E:\Videos

[Admin]
type=admin


----------



## dlfl

The -async 1 needs to be added to the ffmpeg_tmpl, which must be uncommented (remove the '#')to be activated.


----------



## wgw

You really should use the web admin to update your config. http://localhost:9032/

Your config looks fine. But you should delete the ffmpeg_tmpl line. It's not necessary to specify this line and should only be modified by very advanced users.

-async 1, if needed, would be added to ffmpeg_pram.

Edit: oh, you have an S2. pyTivo will transcode HD files by default on an S2. But it won't hurt to specify the max settings anyway.


----------



## lgkahn

feature request:

I have been using tivoserver to goto my dtv direcdt tivos.. just getting pytivo working to goto my new s3's I am setting up as the older tivoserver doesnt work for it..

unfort. all my movies are on an older w2000 box so tivo.net is out of the question..

anyway one thing I liked about tivoserver is the combining of multiple shares..

ie if I have a subfolder or folder on different shares/hard drives called "james bond" I will only get one "james bond" folder with a combination of all the various files from all the hard drives.. This seems common as I have 4 hard drives in the older box and
also 2 external usb hard drives... is there some way to make pytivo do this (I cannot find any settings for this or reference to this in the thread) or is it a feature that may be added in the future.. it just means keeping a global list of folders and instead of multiple shares showing the main folder and all the global list of folders and knowing which shows are in each one...

thanks in advance..

also since we are keeping the dtivo boxes for awhile I want to run both tivoserver and pytivo on the same w2000 box against the same files

thanks again..


----------



## grahamg

wgw said:


> You really should use the web admin to update your config. http://localhost:9032/
> 
> Your config looks fine. But you should delete the ffmpeg_tmpl line. It's not necessary to specify this line and should only be modified by very advanced users.
> 
> -async 1, if needed, would be added to ffmpeg_pram.
> 
> Edit: oh, you have an S2. pyTivo will transcode HD files by default on an S2. But it won't hurt to specify the max settings anyway.


Thanks for the tip, I have used the web admin, and see how it works. I tried the -async, max_video_br=12000k and max_audio_br=384k as suggested. But there is no change. I doubled checked by recording a couple of 2 minute videos of a news program, again tried I to play them via PyTivo but they have the same "stuttering" problem. I believe the PC video files are good. I then tried VideoReDo on them. I tried the Quickstream fix with but it found no errors and there is no improvement.

I then tried doing "set start" and "set end" - "add selection" - "save as" with the options all set at "no change".

However, the original file shrank from 3.2gb to 1.5gb. But lo and behold the Pytivo transfer now plays fine.

But when I check the original versus "save as" files I see the following changes.

Original = MPEG2 video, 1280x720 59.94fps 13894kbps, audio Dolby AC3 48000hz 5.1ch 448 kbps filesize 3.1gb

Save as = MPEG2 video, 1280x720 59.94fps 13160kbps, audio Dolby AC3 48000hz 1ch 192 kbps filesize 1.5gb

So it seems that the VideoReDo "no change" does change things - especially the sound channel. But it now works.

So the new question. Can ffmpeg_mp2.exe handle 5.1 surround sound? Could this be the problem?


----------



## grahamg

> So the new question. Can ffmpeg_mp2.exe handle 5.1 surround sound? Could this be the problem?


Edit 4/17/08

Today I tried tried 3x utilities (Super ver 2008/bld.30, AVS Video Converter, VideoRedo) all were able to convert the 3.1gb original source to playable Pytivo versions. None of these were able to retain the AC3 audio and converted to mono or stereo.

I have to conclude that at present Pytivo cannot accept native MPEG2 OTA HDtv content. I believe the Tivo unit can play AC3 content because I used Tivo for a long time to record Charter Comm's cable video content which is known to use AC3 on their HD content.

Thanks for all the help, but it looks like this could be something that needs some attention. I would be happy to make 1 minute OTA DVR recording and upload it somewhere if that would help.

Thanks Guy's


----------



## tfratzke

steve614 said:


> I was reluctant to try pyTivo but because of the problems with TD 2.6, I thought I'd give it a try.
> 
> I must say, installation was EASY. Had to do NO configurations.
> Ten minutes from first installing python, then installing pyTivo, then at my Tivo choosing a movie to transfer.
> AWESOME! :up:
> 
> Thanks for a great app.


No kidding! Can't agree more! Just installed today for the first time. I should have never purchased TD+!!


----------



## lgkahn

there seems to be a problem with tytivo and windows 2000 ... I could not get it working that my shares show up in my series 3 tivo.. I basically reinstalled on my xp box and pointed it to the same directory on the w2000 box via a mounted share/drive and it comes up fine in the now playing on my series 3... no errors in the console for tytivo and i can see the now playing fine via he web but when running directly on the w 2000 box nothing ever shows up in the now playing.... anyone else test this with w 2000...

thanks


----------



## lgkahn

another problem trying to transfer a .tivo I converted from a .tmf file.. could it be the funky msftp name ie

64.222.190.113 - - [19/Apr/2008 10:50:18] "GET /PC%20K%20Drive%20Videos/horror/%
7BThe%20Shining%7D%7B1980-01-01%7D%7B%7D%7B04.15%20AM%20Fri%20Feb%2024,%202006%7
D%7BHBOS%7D.tivo HTTP/1.1" 200 -
----------------------------------------
Exception happened during processing of request from ('64.222.190.113', 2439)
Traceback (most recent call last):
File "H:\Python25\lib\SocketServer.py", line 464, in process_request_thread
self.finish_request(request, client_address)
File "H:\Python25\lib\SocketServer.py", line 254, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "H:\Python25\lib\SocketServer.py", line 522, in __init__
self.handle()
File "H:\Python25\lib\BaseHTTPServer.py", line 316, in handle
self.handle_one_request()
File "H:\Python25\lib\BaseHTTPServer.py", line 310, in handle_one_request
method()
File "C:\pytivo\httpserver.py", line 55, in do_GET
plugin.send_file(self, container, name)
File "C:\pytivo\plugins\video\video.py", line 215, in send_file
handler.wfile, tsn)
File "C:\pytivo\plugins\video\transcode.py", line 29, in output_video
shutil.copyfileobj(f, outFile)
File "H:\Python25\lib\shutil.py", line 24, in copyfileobj
fdst.write(buf)
File "H:\Python25\lib\socket.py", line 262, in write
self.flush()
File "H:\Python25\lib\socket.py", line 249, in flush
self._sock.sendall(buffer)
error: (10054, 'Connection reset by peer')
----------------------------------------


----------



## lrhorer

OK, now that they've fixed TTCB on the S3, there's no longer any reason to rate shape any videos. Doing so fixed the stuttering and stammering, but it made the video look terrible. How can I change the config file so pyTiVo no longer rate limits at all?


----------



## PaulS

lrhorer said:


> OK, now that they've fixed TTCB on the S3, there's no longer any reason to rate shape any videos. Doing so fixed the stuttering and stammering, but it made the video look terrible. How can I change the config file so pyTiVo no longer rate limits at all?


When you say "fixed TTCB", do you mean the macroblocking and picture/sound break-ups when transferring a file (likely to be 1080i) to an S3/THD ?

pyTivo really doesn't "rate limit" per se. If/when it has to transcode, "video_br" is the maximum video bitrate that the transcoder will use to convert the video. Rate limiting is more of a function of the speed at which the file is transmitted from the PC to the TiVo.


----------



## substance12

all of a sudden tivohd cannot see any of the videos in my share folder. is this because of 9.3?


----------



## steve614

Do you happen to be doing something on your computer that's using most of the CPU cycles?

I'm currently using my computer to author a DVD and the computer icon disappeared from my TivoHD.


----------



## lrhorer

PaulS said:


> When you say "fixed TTCB", do you mean the macroblocking and picture/sound break-ups when transferring a file (likely to be 1080i) to an S3/THD ?


The symptoms are variable, and include stuttering audio and/or video, momentary freezes, and pixelization, yes.



PaulS said:


> pyTivo really doesn't "rate limit" per se. If/when it has to transcode, "video_br" is the maximum video bitrate that the transcoder will use to convert the video. Rate limiting is more of a function of the speed at which the file is transmitted from the PC to the TiVo.


Since there is no rate limit on the stream being passed to the TiVo, your distinction is rather moot. I also don't really know what else to call transcoding with a maximum bit rate set other than rate limited. Nonetheless, the version of pyTiVo which I have automatically transcodes any video whose bitrate exceeds a certain threshold and drops the bit rate to something like 8Mbps. I don't recall the actual threshold at the moment. It's mentioned further up in this thread, but the bottom line is it is no longer necessary. It was a stop-gap measure in any case, because the transcoded video looks terrible. My question remains: how do I get pyTiVo to stop this behavior now it is no longer necessary?

Edit: Never mind. I removed everything from the server section and it works just fine, now.


----------



## PaulS

lrhorer said:


> Since there is no rate limit on the stream being passed to the TiVo, your distinction is rather moot.


Either you didn't read what I wrote, or can't understand it. Regardless, there is most definitely a difference between the transcode bit rate and the transmission bit rate. If you've been paying attention, wgw has proven this most conclusively here and at the pytivo forums. Apparently, you haven't been, so I'll illustrate.

There are THREE maximum values that we need to pay attention to when transferring videos to a TiVo. Exceeding SOME of them will cause playback problems on the TiVo.

The maximum bit rate ("max_video_br") specifies the maximum bitrate at which a video may encode video. It's defaulted to 17Mbps in pyTivo. Usually, this handles spikes in the encode rate when there's a lot of motion or a scene transition. Exceeding this value caused picture break-ups during playout. Typically, videos play out at a much lower rate (8-10Mpbs). I don't expect that 9.3a fixed this, as it's probably a hardware constraint on the TiVo itself.

The video bit rate ("video_br") specifies the ENCODING bit rate for ffmpeg when a transcode is necessary. I can't recall off the top of my head if it uses a VBR, CBR or ABR algorithm. This is currently defaulted to 8Mbps, as seen as a resonable compromise between encoding CPU utilization, file size and picture quality. Previous defaults of 10 and 12Mbps didn't seem to impact picture quality negatively, so they might be considered usable values for someone desiring a higher level of picture quality for their encodes.

The transmission bit rate (no pytivo configuration option) specifies how quickly your PC transfers the video to your TiVo. This is not a direct function of pytivo (really, ffmpeg). It is highly dependent upon other factors, such as the speed of your PC and network. Faster machines running on faster networks (i.e. dual-core running on a gigabit wired) can throw the video at the TiVo faster than a slower one (i.e. P3 running on an 802.11b network).

wgw has shown that pre-9.3a versions of the TiVo hardware would suffer macroblocking and picture breakups when the transmission rate exceeded 8Mbps. See HERE for details. Reducing the speed of the NETWORK TRANSFER alone resolved the playout problems he was experiencing on his TiVo. This mirrors the problems that people were seeing when doing TTG/TTCB transfers of known good content.

You would typically see this situation in cases where transcoding was NOT required. Such as a .tivo file from a TTG transfer, or the file is already digestable by an S3/THD because it's MPEG-2. Ordinarily the CPU utilization of the transcode operation is the bottleneck, as I've only hard of one pyTivo machine (an 8-core Mac!!!) that could possible transcode fast enough to encounter this problem. On files that don't need to be transcoded, all you're really doing is copying the file from the PC to the TiVo. In this case, even lowly PCs can transmit the files at speeds that cause the TiVo problems.

The guess behind the root cause of the problem is that some portion of the TiVo network receive logic was being overwhelmed and caused the recordings to get munged. It's my guess that this is what has been fixed with the 9.3a drop. If that's the case, there isn't a pyTivo configuration option that needs to be altered to take advantage of this.



lrhorer said:


> I also don't really know what else to call transcoding with a maximum bit rate set other than rate limited. Nonetheless, the version of pyTiVo which I have automatically transcodes any video whose bitrate exceeds a certain threshold and drops the bit rate to something like 8Mbps. I don't recall the actual threshold at the moment. It's mentioned further up in this thread, but the bottom line is it is no longer necessary. It was a stop-gap measure in any case, because the transcoded video looks terrible. My question remains: how do I get pyTiVo to stop this behavior now it is no longer necessary?


Incorrect assumption. See above.


----------



## moyekj

As some of you may be aware it's possible to pull the raw, encrypted transport stream from S3/THD units by specifying a change in video format. For example, in the usual download url:


Code:


http://192.168.1.101/download/Battlestar&#37;20Galactica.TiVo?Container=%2FNowPlaying&id=1643604&Format=video/x-tivo-mpeg

Simply replace *x-tivo-mpeg* with *x-tivo-raw-tts* so the above becomes:


Code:


http://192.168.1.101/download/Battlestar%20Galactica.TiVo?Container=%2FNowPlaying&id=1643604&Format=video/x-tivo-raw-tts

What this accomplishes is you get MRV speed downloads to your PC instead of normal TTG speeds since the originating Tivo doesn't have to do any work re-muxing or re-encrypting, it's simply passing along the raw recording to your PC. This results in ~ 2x speedup for downloads in my experience.

So that's great, so I can double my download speeds using this method, however there is not much I can do on the PC side with the resulting .TiVo file since I can't break it's encryption (that may be the subject of a different thread). But what would be useful is if I could feed back the raw .TiVo files back to my Tivos using pyTivo. So I guess what I'm asking is would it be possible to have pyTivo serve back to Tivos in raw format using the *x-tivo-raw-tts* tag instead of the usual *x-tivo-mpeg* tag?


----------



## FreydNot

substance12 said:


> all of a sudden tivohd cannot see any of the videos in my share folder. is this because of 9.3?


Just a shot in the dark, but could this be related to the recently expired tivo certificate?

TivoPony's post about the new version of TivoDesktop and the need to update the cert on older versions are here:
http://www.tivocommunity.com/tivo-vb/showthread.php?t=390214

Instructions for upgrading the TivoDesktop cert is here:
http://tivosupport2.instancy.com/LaunchContent.aspx?CID=5CCB08F8-DEC4-4051-8F5B-AF1D09BBEA9E


----------



## SMWinnie

Can the output from Metagenerator be tweaked to group arbitrary files after transfer to the TiVo? I have files from a bunch of sources that I'd like to keep together on the TiVo's NPL.

Looking at the output .txt file, is one of these fields key to grouping in the eventual NPL?



Code:


title : Kids' Movies
episodeTitle : Learning to Ride
movieYear : 200X
description : Dan learns to ride a bike; Ben learns to ride a trike.
isEpisode : true
episodeNumber : YYYYY
seriesTitle : Kids' Movies

Thanks for your attention.


----------



## ojag

Hello, I used to use pyTivo on my PC but I got a Macbook a few months ago and I'm having a little trouble following the installation instructions on the website. Would anyone be willing to walk me through it? If so, can you please PM me? Thanks.


----------



## dizziness

PaulS said:


> wgw has shown that pre-9.3a versions of the TiVo hardware would suffer macroblocking and picture breakups when the transmission rate exceeded 8Mbps. See HERE for details. Reducing the speed of the NETWORK TRANSFER alone resolved the playout problems he was experiencing on his TiVo. This mirrors the problems that people were seeing when doing TTG/TTCB transfers of known good content.


Its worth noting that I am the 8-core user, and I'm lucky to hit 29% CPU usage due to ffmpeg's limitation on multithreading and TivoHD's TTG network bottleneck. So I expect you could have faster than realtime conversion with a quad core 2.6/2.8 machine as well. No need to go 8-core!


----------



## dizziness

wgw said:


> xvid avi's have the same audio problems as mkv's, and probably any other file type encoded with ac3 audio. People just notice it more with mkv's because they are commonly encoded with ac3 while other file types are more commonly encoded with low bitrate mp3 or aac audio. As long as the ac3 audio is encoded at 448k or less, pytivo will handle it properly if you do not override pytivos default audio codec settings.


This will also happen with Apple Trailers Quicktime HD downloads that have 5.1 AAC soundtracks. The channels map incorrectly.


----------



## PaulS

SMWinnie said:


> Can the output from Metagenerator be tweaked to group arbitrary files after transfer to the TiVo? I have files from a bunch of sources that I'd like to keep together on the TiVo's NPL.
> 
> Looking at the output .txt file, is one of these fields key to grouping in the eventual NPL?
> 
> 
> 
> Code:
> 
> 
> title : Kids' Movies
> episodeTitle : Learning to Ride
> movieYear : 200X
> description : Dan learns to ride a bike; Ben learns to ride a trike.
> isEpisode : true
> episodeNumber : YYYYY
> seriesTitle : Kids' Movies
> 
> Thanks for your attention.


Yes. You can insert a "seriesId" tag in the metadata file to get the files to group, provided that the seriesId you choose is one that is currently in your TiVo's guide data.


----------



## lgkahn

hi looking at pursueing adding .tmf support to tytivo since no one has responded.. I am able to convert .tmf in place to the original .xml
and a .mpg

any ideas where this needs to be hooked into ty tivo..

here is a batch file I call for conversion

C:\utils>cat tmfconv.bat
@ECHO OFF

REM Extract xml and ty files
7z -y e %1 showing.xml

REM rename xml file
makeshowing %1

REM convert to mpg
tytompg.exe -y %1

as far as I can tell the last step could be run instead of ffmpeg since it could output a .mpg stream and no further transcoding would be necessary

thanks in advance.


----------



## gonzotek

lgkahn said:


> hi looking at pursueing adding .tmf support to tytivo since no one has responded.. I am able to convert .tmf in place to the original .xml
> and a .mpg
> 
> any ideas where this needs to be hooked into ty tivo..
> 
> here is a batch file I call for conversion
> 
> C:\utils>cat tmfconv.bat
> @ECHO OFF
> 
> REM Extract xml and ty files
> 7z -y e %1 showing.xml
> 
> REM rename xml file
> makeshowing %1
> 
> REM convert to mpg
> tytompg.exe -y %1
> 
> as far as I can tell the last step could be run instead of ffmpeg since it could output a .mpg stream and no further transcoding would be necessary
> 
> thanks in advance.


Without getting deep into code details, it looks possible...

As long as tytompg can output to a stream instead of a file, there doesn't seem to be much in the way, at least on Windows. Are the tytools crossplatform? pyTiVo runs on MacOS and Linux too, and the developers try to maintain feature compatibility across the platforms. pyTiVo is setup as a plugin system, so each type of media (music, photos, webvideo(feeds), video, etc.) has it's own plugin. So a ty plugin could be attempted without messing with the other parts of pyTiVo.

Most of the technical discussion is happening over at the pyTiVo forum:
http://pytivo.krkeegan.com/


----------



## PaulS

dizziness said:


> Its worth noting that I am the 8-core user, and I'm lucky to hit 29% CPU usage due to ffmpeg's limitation on multithreading and TivoHD's TTG network bottleneck. So I expect you could have faster than realtime conversion with a quad core 2.6/2.8 machine as well. No need to go 8-core!


Was that for HD or SD sources ? I'm assuming HD...


----------



## PaulS

lrhorer said:


> OK, now that they've fixed TTCB on the S3, there's no longer any reason to rate shape any videos. Doing so fixed the stuttering and stammering, but it made the video look terrible. How can I change the config file so pyTiVo no longer rate limits at all?


wgw has made a change to his pyTivo branch HERE to accomodate for fixes made in 9.3a :



> increase max_video_br due to tivo 9.3a software fix
> 
> The 17408k maxrate limit appears to be fixed with pytivo 9.3a in
> my tests since receiving the upgrade last week. I'm increasing
> max_video_br so that all known HD bitrates are passed without
> transcoding unless the user lowers the setting to force transcoding
> of problem files. Any remaining problems with mpeg transfers
> appear to fixable by doing a VideoReDo QuickSteam Fix or similar
> mpeg repair. But I'm not removing maxrate and bufsize options
> from the ffmpeg template because my tests show they are still
> needed to correct errors in source files which result in playback
> problems when these settings are removed. Increasing maxrate to
> 30000k does not appear to introduce any playback problems in my
> tests of transcodes sent to S2 and S3 tivos.


Note that this change is to the MAX VIDEO BITRATE, which is responsible for handling peaks of activity during encodes.


----------



## lrhorer

PaulS said:


> Either you didn't read what I wrote, or can't understand it.


I read it and I understand it. Would it help if I pointed out I used to be a Video Engineer, and I am now a Network Engineer?



PaulS said:


> Regardless, there is most definitely a difference between the transcode bit rate and the transmission bit rate.


Of course there is, but the effects I have seen have nothing to do with the transmission bit rate. The transmission bit rate is determined by a number of network and workstation factors. Transmission rates in excess of 116 Mbps have been reported without issues using the backport drivers. I am using the stock drivers, and so rarely enjoy much greater than 17 Mbps from the PC to the TiVo using pyTiVo or Galleon. From the TiVo to the PC I usually get about 30 Mbps, sometimes up to 40 Mbps using TyTool on the 100M Ethernet port.



PaulS said:


> If you've been paying attention, wgw has proven this most conclusively here and at the pytivo forums.


I submit the use of the phrase "most conclusively" is ill advised. Certainly the results of my own testing do not bear out the assertions you are making. As always, one person's mileage may vary compared with another's.



PaulS said:


> There are THREE maximum values that we need to pay attention to when transferring videos to a TiVo. Exceeding SOME of them will cause playback problems on the TiVo.


'Not any longer. Release 9.3 has fixed the issues. Galleon, TiVo Desktop, and pyTiVo with no configuration options now can all deliver picture perfect HD content without transcoding. As an example, my copy of Judgment at Nuremberg is 2:58:29 in length and consists of 23,214 MB of steam data, which is an average of 17.34 Mbps. Power DVD reports peak bit rates as high as 18.82 Mbps during the first 3 minutes of the film. It now transfers perfectly without transcoding at over 16 Mbps. Previously it had problems in the video even if the network transfer were as slow as 5 Mbps, and indeed I noted qualitatively the same level of artifacts no matter what the network transfer speed. Conversely, if the video were transcoded to limit the video bit rate, few or no video problems were observed even at network transfer speeds in excess of 16 Mbps.


PaulS said:


> Exceeding this value caused picture break-ups during playout. Typically, videos play out at a much lower rate (8-10Mpbs). I don't expect that 9.3a fixed this, as it's probably a hardware constraint on the TiVo itself.


Since every single one of the HD videos on my server came from the TiVos themselves, and since a number of them frequently exceed 17 Mbps, this statement was demonstrated to be total nonsense even before the release of 9.3. Since 9.3 has completely eliminated all such artifacts including in streams whose peaks exceed 20 Mbps, it's doubly nonsense. With the exception of a number of SD videos (mostly Bogart films and Star Trek episodes), very few of the 300+ videos on the server average less than 12Mbps, and most average above 15Mbps. Several of the Blue Planet episodes peak in excess of 20.0 Mbps. All were originally recorded on the TiVos - many prior to 9.3, and since 9.3 they all play perfectly when transferred back to one of the TiVos from the server.



PaulS said:


> The video bit rate ("video_br") specifies the ENCODING bit rate for ffmpeg when a transcode is necessary. I can't recall off the top of my head if it uses a VBR, CBR or ABR algorithm. This is currently defaulted to 8Mbps, as seen as a resonable compromise between encoding CPU utilization, file size and picture quality. Previous defaults of 10 and 12Mbps didn't seem to impact picture quality negatively, so they might be considered usable values for someone desiring a higher level of picture quality for their encodes.


Setting video_br to 12 results in *HORRIBLE* looking video if the original is 1080i in excess of 15Mbps.



PaulS said:


> The transmission bit rate


I am well aware of what is involved in networking and the various parameters affecting network performance, thanks.



PaulS said:


> wgw has shown that pre-9.3a versions of the TiVo hardware would suffer macroblocking and picture breakups when the transmission rate exceeded 8Mbps. See


I have seen that report. It is not backed up by my own testing.



PaulS said:


> Ordinarily the CPU utilization of the transcode operation is the bottleneck, as I've only hard of one pyTivo machine (an 8-core Mac!!!) that could possible transcode fast enough to encounter this problem.


My video server has a 3.0GHz dual core Athlon 64 running Debian "Etch" Linux. I never saw it hit 100% utilization on both cores when transcoding, but then I really wasn't paying all that much attention to the CPU utilization. It certainly was able to transcode and transfer at near-real time, which in the case of most of the testing I did was around 12 Mbps, sometimes exceeding 16Mbps.



PaulS said:


> The guess behind the root cause of the problem is that some portion of the TiVo network receive logic was being overwhelmed and caused the recordings to get munged.


Since the TTCB transfers are TCP, your guess lacks credibility. TCP itself would have slowed the transfers if any of the packets were corrupt after assembly at the Rx port. Not only that, but since 9.3 works just fine with the same kernel as 9.2, displaying no issues with said kernel, your guess holds water about as well as a sieve. It was almost surely an issue with the TiVo's encryption routine, although I suppose it's possible the MFS code could have been responsible. The fact the artifacts would show up in exactly the same spot for a given video no matter how fast or slow the transfer or what other network processes were in play on the TiVo as well as the fact MRV transfers were just fine at faster than real-time lend credence to the faulty encryption hypothesis, and make the MFS hypothesis less likely. None of these facts support the notion there was a problem with the network drivers, and the fact the TiVo was more than capable of encrypting not one but *TWO* streams well in excess of 16 Mbps pretty much blows the notion a 12 Mbps network stream was too fast for the TiVo in any sense right out of the water.



PaulS said:


> Incorrect assumption. See above.


There were no assumptions of any sort in the statements you quoted.


----------



## mbklein

PaulS said:


> Yes. You can insert a "seriesId" tag in the metadata file to get the files to group, provided that the seriesId you choose is one that is currently in your TiVo's guide data.


I realize this is an old post, but I've been digging around and discovered that the listings at zap2it.com contain consistent series/episode IDs to my guide data. For example, the zap2it URLs for today's episode and the episode guide for _Live at Lincoln Center_ are:


> (Protocol removed to prevent vBulletin from truncating the URLs...)
> tvlistings.zap2it.com/tvlistings/ZCProgram.do?method=getDetail&*pgmId=EP000176120155*&sch=1221759000000&stn=11463&chn=14
> tvlistings.zap2it.com/tvlistings/ZCProgram.do?t=Live+From+Lincoln+Center&*sId=EP00017612*&method=getEpisodesForShow


And the same episode from the XML version of my TiVo's Now Playing list:


> <ProgramId>EP0176120155</ProgramId>
> <SeriesId>SH017612</SeriesId>


ProgramId = the "pgmID" parameter from the episode detail URL (with a couple leading zeros truncated), and SeriesID = a slightly altered version of the sId parameter from the Episode Guide (likewise). That should make it pretty easy to figure out the proper IDs without having to muck around in the guide data (or wait for an episode to record so you can hijack its ID).


----------



## Rdian06

Yes, that's the basis for some of the automated metadata generators. See:

http://pytivo.krkeegan.com/other-apps-f5.html


----------



## mbklein

Ah, OK. Sorry about that.  Even with search, it's kinda hard to keep up with what's already been figured out.


----------



## Ely105

Not sure if there is a thread already out there on this. I have read through many posts and tried several things. I have a TivoHD with 9.4 and 2TB of storage. I am trying to find out if there is a tweaking guide for ffmpeg to get out better performance on the transcoding of videos. I'm a bit of an HD snob so i prefer to have videos that are HD, or at least semi HD. I am using a reasonably newer dual-core PC.

For several of the videos I am trying to watch, i get between 19-25 fps. Most of these are at 24 fps, so i'd really like to get a little more throughput so that I can watch immediately and it could keep up.

The files that I am using are MKV and are 1280 x 544 or similar Res. they are h.264 with AC3 streams.

Things I have tried:
I have tried to force the resolution settings, but i find that it doesn't change much, and ffmpeg is doing fine at detecting the audio/video.

I have reduced the BW from the default of 8, down to 4k. This seemed to help, but of course it comes at a quality penalty. So i'm trying to see if I can keep the bitrate up or at least in the 8k range.

I've added "-threads 2" to the ffmpeg command, but i am only seeing about 50-60&#37; CPU (core) utilization. I don't know if the x264 and mpeg2 codecs really thread much to take advantage of multiple cores? Are there any other ways to help improve core utilization?

I was wondering if the ffmpeg (from windows installer) is optimized for the latest processors with all the mmx, sse and other extensions? I have read some people using Mencoder as an alternative to ffmpeg, but it seems there are problems there as well. 

I suppose one option would be for me to re-encode (or remux) the .mkv files into .mp4 files and use tivostream on them. But I like the ability to throw just about any video at pytivo and having it transcode. I know there is a little quality loss in the process, but from what i've seen so far, it's pretty damn good.

-Mark


----------



## Kershek

Some suggestions....

Try increasing the priority of the pyTivo process, if that is possible. Here's the step-by-step procedure: http://www.anythingtips.com/windows/increase-windows-processes-priority-level/

Is your CPU speed the bottleneck? Have you tried overclocking?

Have you defragmented your hard drive lately?


----------



## Ely105

Thanks for the suggestions.

Yes, I did try to raise the process priority, but no real diff.

i think it's a 2 Ghz based system, but it's not overclockable.

I need to compare it to another system I have and see what the difference in perf is.

It's pulling the file off my NAS, but I get between 20-30MB/s transfer speeds so i don't think that's an issue.

I will look for any fragmentation issues.

I looked at memory utilization and it seems like there is no issues there.

It's running on a fairly lean copy of XP with not a lot of other stuff running.


----------



## Jkjowers

PaulS said:


> Yes. You can insert a "seriesId" tag in the metadata file to get the files to group, provided that the seriesId you choose is one that is currently in your TiVo's guide data.


I have also been trying to figure out how to group things on my Tivo. I suppose I will have to sound like an idiot... please define "one that is currently in your TiVo's guide data".

Thanks


----------



## ObiWanJenkins

How do I get the Windows installer to see that I have Python installed? I've read numerous posts that mention it has to find it, but nothing to instruct how to direct it.


----------



## Rdian06

Jkjowers said:


> I have also been trying to figure out how to group things on my Tivo. I suppose I will have to sound like an idiot... please define "one that is currently in your TiVo's guide data".
> 
> Thanks


"one that is currently in your TiVo's guide data" = A show that is being broadcast on one of the feeds into your Tivo. So if you just have over the air signals going into your Tivo, your Tivo guide data sent from Tivo corporate will only include your locals. No HBO or Showtime seriesIDs. Likewise if a show isn't being actively broadcasted, it won't show up in the Tivo guide data.


----------



## Rdian06

ObiWanJenkins said:


> How do I get the Windows installer to see that I have Python installed? I've read numerous posts that mention it has to find it, but nothing to instruct how to direct it.


How did you install Python? Assuming you used the Windows installers from python.org, the Windows installer will just find it.

If you installed Python 2.6 that JUST came out a few days ago, then the Windows installer won't find it. The person who maintains the Windows installer hasn't been active lately and the last update was back in early May. No idea when he'll have time to work on it again.


----------



## mbklein

Rdian06 said:


> "one that is currently in your TiVo's guide data" = A show that is being broadcast on one of the feeds into your Tivo. So if you just have over the air signals going into your Tivo, your Tivo guide data sent from Tivo corporate will only include your locals. No HBO or Showtime seriesIDs. Likewise if a show isn't being actively broadcasted, it won't show up in the Tivo guide data.


Interesting tidbit: I used the seriesID of a show I knew I'd never record as a way to group a bunch of related recordings that I couldn't get a valid seriesID for. The seriesTitle and episodeTitle behaved as expected, but when I sort folders by name, the folder (which starts with 'M') shows up sorted with the T's because the seriesID I hijacked is for a show that starts with T. So TiVo _displays_ what I want, but _sorts_ it according to its internal seriesID index.

So if you hijack a seriesID for your own use, make sure the first few letters of its seriesTitle match your show's seriesTitle.


----------



## Rdian06

mbklein said:


> Interesting tidbit: I used the seriesID of a show I knew I'd never record as a way to group a bunch of related recordings that I couldn't get a valid seriesID for. The seriesTitle and episodeTitle behaved as expected, but when I sort folders by name, the folder (which starts with 'M') shows up sorted with the T's because the seriesID I hijacked is for a show that starts with T. So TiVo _displays_ what I want, but _sorts_ it according to its internal seriesID index.
> 
> So if you hijack a seriesID for your own use, make sure the first few letters of its seriesTitle match your show's seriesTitle.


Strange, I thought on my S3 when I hijacked a seriesID, the folder name (after transferring two episodes) became that of the hijacked series title as taken from the guide data and not the seriesTitle I specified. That is if you just transfer one record, then it uses your seriesTitle. But once the second recording with the hijacked seriesID is transferred, the grouping kicks in and the title is taken from the guide.

I'll have to retest later. mbklein, what Tivo do you have?


----------



## ObiWanJenkins

Rdian06 said:


> How did you install Python? Assuming you used the Windows installers from python.org, the Windows installer will just find it.
> 
> If you installed Python 2.6 that JUST came out a few days ago, then the Windows installer won't find it. The person who maintains the Windows installer hasn't been active lately and the last update was back in early May. No idea when he'll have time to work on it again.


I installed python 2.5.2 x64 from python.org through the normal Windows installer. But pyTivo doesn't detect it.


----------



## Rdian06

ObiWanJenkins said:


> I installed python 2.5.2 x64 from python.org through the normal Windows installer. But pyTivo doesn't detect it.


Yeah, the installer is definitely at fault. The x64 part is probably throwing off the version check it's trying to do. Unfortunately krkeegan never checked in the source for the installer so I can't fix it easily.

You are better off installing pyTivo manually using wgw or wmcbrine's fork version. Essentially you download a tar.gz file, extract it to a folder, configure your pyTivo.conf, and then run "python pyTivo.py" from a command prompt after cd'ing to the pyTivo folder. pyTivo will run from console that way and print it's output to the command prompt. The only real magic that the Windows installer does is setup running pyTivo as a service.


----------



## gonzotek

Rdian06 said:


> Yeah, the installer is definitely at fault. The x64 part is probably throwing off the version check it's trying to do. Unfortunately krkeegan never checked in the source for the installer so I can't fix it easily.


I think it's here:
http://repo.or.cz/w/pyTivo/krkeegan...c;hb=be94f986de5e0d119fb181e71e19c80257c0acd9

I've done several NSIS installers for other projects and was on the beta-test team for it for awhile, but it's been a few years since my last major interaction with NSIS and I am far to busy with a full-time job and night classes to tackle it right now, but if you do and run into any trouble, post about and I'll try to help.

We could really use an updated installer 'for the masses'.


----------



## Rdian06

gonzotek said:


> I think it's here:
> http://repo.or.cz/w/pyTivo/krkeegan...c;hb=be94f986de5e0d119fb181e71e19c80257c0acd9
> 
> I've done several NSIS installers for other projects and was on the beta-test team for it for awhile, but it's been a few years since my last major interaction with NSIS and I am far to busy with a full-time job and night classes to tackle it right now, but if you do and run into any trouble, post about and I'll try to help.
> 
> We could really use an updated installer 'for the masses'.


Cool. I swore I looked for those and couldn't find them. I see where the problem is with the Python version check. Seems like an easy fix, but I've never built an NSIS installer before and I'm really low on time this month.

Try to look at it after I get done with my "honey dos" for the weekend.


----------



## ObiWanJenkins

Rdian06 said:


> Yeah, the installer is definitely at fault. The x64 part is probably throwing off the version check it's trying to do. Unfortunately krkeegan never checked in the source for the installer so I can't fix it easily.
> 
> You are better off installing pyTivo manually using wgw or wmcbrine's fork version. Essentially you download a tar.gz file, extract it to a folder, configure your pyTivo.conf, and then run "python pyTivo.py" from a command prompt after cd'ing to the pyTivo folder. pyTivo will run from console that way and print it's output to the command prompt. The only real magic that the Windows installer does is setup running pyTivo as a service.


I will give that a try. I'm beginning to think Vista is horrible.


----------



## ObiWanJenkins

I finally got pytivo to install, but now I'm having trouble accessing sub-folders on the Tivo. I can go one folder deep, but the system just shows the same sub-folders when I try to access the content inside them.


----------



## Kershek

Yep, that's a current limitation. I think they explain on the pyTiVo forums the reason why you can only go one directory level deep.


----------



## Iluvatar

ObiWanJenkins said:


> I finally got pytivo to install, but now I'm having trouble accessing sub-folders on the Tivo. I can go one folder deep, but the system just shows the same sub-folders when I try to access the content inside them.


You will want to set the Server setting 'hack83 = true' and then restart pyTivo.

This more or less allows you to perform multi level folder search.

I thought TiVo had fixed this bug in a software release but maybe that is just for Series 3/HD models, i'm not sure.


----------



## wmcbrine

Yeah, the fix is in 9.4, which means the Series 2 hasn't gotten it yet.


----------



## djithm

Simple question..Ive searched and havent found my answer. If my Tivo box is not active with Tivo, can this pyTivo program still work? I ask because I believe I have set everything up properly and I get one response from the Tivo via the Console window, but not every minute as the instructions mention. Again, this is a Tivo Series 2 that hasnt been active with Tivo in a while. I was just hoping to use the DVR for viewing my own content from a PC.


----------



## Aflat

I'm a release engineer by trade, so I deal with installs all day. I'll see what I can do, it should be an easy fix. Unfortunately I'm not at all familiar with git, so that may take more time then actually fixing the installer.


----------



## Aflat

So the fix is easy, just change the function in pytivo.nsi to look like this



Code:


Function nsPythonCheck
  !insertmacro MUI_HEADER_TEXT $(nsPythonCheck_PAGE_TITLE) $(nsPythonCheck_PAGE_SUBTITLE)
  ReadRegStr $python HKLM SOFTWARE\Python\PythonCore\2.6\InstallPath ""
  ${If} '$python' == ''
	ReadRegStr $python HKLM SOFTWARE\Python\PythonCore\2.5\InstallPath ""
	${If} '$python' == ''
	  ReadRegStr $python HKLM SOFTWARE\Python\PythonCore\2.4\InstallPath ""
	  ${If} '$python' == ''
	    ReadRegStr $python HKCU SOFTWARE\Python\PythonCore\2.5\InstallPath ""
	    ${If} '$python' == ''
	      ReadRegStr $python HKCU SOFTWARE\Python\PythonCore\2.4\InstallPath ""
	      ${If} '$python' == ''
		    ReadRegStr $python HKLM SOFTWARE\Wow6432Node\Python\PythonCore\2.6\InstallPath ""
			${If} '$python' == ''
			    ReadRegStr $python HKLM SOFTWARE\Wow6432Node\Python\PythonCore\2.5\InstallPath ""
			    ${If} '$python' == ''
				  Push ${TEMP1}
				  InstallOptions::dialog "$PLUGINSDIR\nopython.ini"
				  Pop ${TEMP1}
				  Pop ${TEMP1}
		        ${EndIf}
			  ${EndIf} 
	        ${EndIf}
	      ${EndIf}
	    ${EndIf}
	  ${EndIf}
	${EndIf}
FunctionEnd

I added 2.6 python, and a check for 2.5 and 2.6 32 bit versions installed on a 64 bit system. This change won't be picked up until a new install is built, sorry folks, nothing oyu can change to make your current install just work.

Now I need to figure out Git, I can only seem to browse the trunk, but not the branches. This may all be better to put on the pytivo boards, but I'll throw it here for now. Once I figure it out, if someone hasn't submitted the change, I'll try to add it myself.


----------



## Rdian06

Inspired by Aflat's patch, I've figured out how to generate new Windows installers with krkeegan's old code.

I've created two new installers, one each for the latest snapshots from wgw and wmcbrine. (krkeegan's code hasn't been maintained in a long time and is best not used at this time, so I didn't bother to create a new installer for it.)

They're here:

http://pytivo.krkeegan.com/updated-windows-installer-betas-t512.html

I've done very light testing on these, so please report back your results on the pyTivo forum. Especially if you run into problems.


----------



## rambler

Aspect ratio help needed!

I rip dvd's to my PC then use Pocketdivx encoder to make an avi. I can pull them to the Tivo fine, but when played, the widescreen dvd fills my entire 4:3 tv. The Tivo itself can be set for 4:3 or widescreen, either way it looks the same. The Tivo is an S2 540 model.

Here's my entire pytivo.conf file; I know I have to mess with this but don't know where to begin, thanks for any help:

[Server]
port=9032
ffmpeg=C:\pyTivo\plugins\video\ffmpeg_mp2.exe

[My Videos]
type=video
path=C:\Documents and Settings\Compaq_Owner\My Documents\My TiVo Recordings

[Admin]
type=admin


----------



## Rdian06

rambler, what version of pyTivo are you using?

if it's an older one, switch to wgw's fork as I think he was doing some work on similar problems recently.


----------



## rambler

I just DL'd and installed it a month ago. Not sure where I got it from, I think from a link in the first post of this thread.


----------



## Rdian06

rambler said:


> I just DL'd and installed it a month ago. Not sure where I got it from, I think from a link in the first post of this thread.


If you installed via the Windows installer a month ago, you definitely got a very old version. The official Windows installer hasn't been updated since early May.

Try uninstalling what you have and installed my new wgw based windows installer form here:

http://pytivo.krkeegan.com/updated-windows-installer-betas-t512.html


----------



## wgw

Yes, you might have a really old version. I believe that the latest versions will default the output for 4:3 display if the tivo is a 540. You might try using the aspect button on the remote to adjust the display.


----------



## captainDlp

Thanks for the great SW. I just resolved a network conflict to get my XP box serving vids. Does pyTivo (or one of its derivatives) offer streaming capabilities or just transcoding and transfers?


----------



## wmcbrine

pyTivo will always be transfers, not streaming. However, you should explain why you want streaming -- what you think the benefits would be.

HME/VLC and tivostream offer streaming. The main advantage, at the moment, is that they can send MPEG-4 (h.264) without reencoding. HME/VLC also supports Internet streams, rather than just local files.


----------



## rambler

Rdian06 said:


> If you installed via the Windows installer a month ago, you definitely got a very old version. The official Windows installer hasn't been updated since early May.
> 
> Try uninstalling what you have and installed my new wgw based windows installer form here:
> 
> http://pytivo.krkeegan.com/updated-windows-installer-betas-t512.html


Bad to worse. Installed as service, no go. Removed. Installed as console, no go. Console says: pytivo is stopped. NameError: name 'logging' is not defined.

Also it never asked for MAK - am I imagining it or was that part of the install from the old windows installer version?


----------



## Rdian06

rambler said:


> Bad to worse. Installed as service, no go. Removed. Installed as console, no go. Console says: pytivo is stopped. NameError: name 'logging' is not defined.
> 
> Also it never asked for MAK - am I imagining it or was that part of the install from the old windows installer version?


The MAK isn't needed unless you want to pull video off your Tivo onto your PC. pyTivo can do this, but primarily it's for sending video to the Tivo which doesn't need the MAK.

The newer pyTivo's depend on the Python logging module which I thought was auto installed with the Python Windows installer. How did you install Python? Maybe upgrade to Python 2.6 from www.python.org


----------



## wmcbrine

The logging package is part of the standard library, since Python 2.3.


----------



## rambler

All set now, thanks guys. Deleted several versions of Python and pyTivo, did fresh install of both and all looks good now.


----------



## SMWinnie

wmcbrine said:


> pyTivo will always be transfers, not streaming. However, you should explain why you want streaming -- what you think the benefits would be.
> 
> HME/VLC and tivostream offer streaming. The main advantage, at the moment, is that they can send MPEG-4 (h.264) without reencoding. HME/VLC also supports Internet streams, rather than just local files.


For WAF (more pertinently, 7-year-oldAF), the pyTivo server sitting in the NPL works well. What doesn't work well with pyTivo is HD programming going:
TiVoHD > PC for edit with VideoReDo and archive > 24/7 HTPC serving the archive and running pyTivo > back to the TiVoHD via pyTivo as a TTCB substitute​It works, but even on our end-to-end wired network it doesn't quite stream in real time. We essentially have SD on demand but not HD.

Assuming that the smaller h.264 files will stream in real time, I'd be happy to have Handbrake grind out the files. Saved server space would be a small but appreciated bonus.

To be clear, this is completely driven by ease-of-use. Since the TiVoHD in question needs to be operated by a seven-year-old (and by TiVo-naive grandparents, babysitters and so forth), I'm trying to avoid solutions that involve leaving the NPL and digging through Music, Photos & More. Leaving the list of shows to go get more shows doesn't faze me, but it does seem to get that non-intuitive frown from the intermittent TiVo users.

Final note: I do appreciate all the work from the current and former pyTivo and HME developers. I know there's always a tension between exciting new capabilities and packing up the existing capabilities so that idiots like me can use them. I hope folks join me in supporting William and others so they can afford to devote more time (or afford a development S2) to our TiVo enjoyment.


----------



## captainDlp

wmcbrine said:


> pyTivo will always be transfers, not streaming. However, you should explain why you want streaming -- what you think the benefits would be.
> 
> HME/VLC and tivostream offer streaming. The main advantage, at the moment, is that they can send MPEG-4 (h.264) without reencoding. HME/VLC also supports Internet streams, rather than just local files.


By streaming, I'm hoping to serve up a variety of video formats in SD and HD (mostly MPEG2) from my central PC without taking up space on my Tivo or waiting for a large transfer to complete. Once I record a program that is worth saving, I transfer it to my PC, remove the commercials and store it. I'm trying to determine what the size, quality, speed, and re-encoding effort are to do this. The internet streams would also be nice. If I understand correctly, pyTivo can keep up with SD for quasi-streaming but transferring HD is non realtime? Any suggestions?

Also, I can see programs in the NPL but can't transfer them. The tivo replaces the name of the program to be transferred with the first item in the list or occasionally (occasionally it will stalls out waiting to bring up the program info/start transfer page even with directory transversal turned off). Ideas??


----------



## Rdian06

captainDlp said:


> Also, I can see programs in the NPL but can't transfer them. The tivo replaces the name of the program to be transferred with the first item in the list or occasionally (occasionally it will stalls out waiting to bring up the program info/start transfer page even with directory transversal turned off). Ideas??


How old is your version of pyTivo? I've never seen any of that weirdness with the current versions. The only time pyTivo made my Tivo stall was completely my fault (I was debugging code and caused pyTivo to crash in the middle of handing back the show list.)

So try upgrading to a newer revision.


----------



## Rdian06

pyTivo's ability to stream HD files back to your Tivo depends on a few factors:

1) Tivo S3 and Tivo HD's have pretty low max transfer speed when it comes TTCB (aka sending video to the Tivo). I think it tops out at under 20Mbps, probably more like 12Mbps to 14Mbps. The Tivo S3 has a slightly higher max than the HD, but recent Tivo software upgrades got them closer. And max transfer speed can normally only be achieved if you tune your two tuners to cable channels that you don't receive and come in all black.

2) If you're shipping Tivo compatible MPEG2 HD to the Tivo and avoiding the on the fly transcode, then you're bound by 1). As long as the overall bitrate of the stream doesn't exceed the max transfer capability, you can watch in realtime.

3) If your source needs to be transcoded on the fly, the conversion to MPEG2 is processor intensive so a faster machine will tend to allow for a faster transfer to a point. My main pyTivo server is currently a Dual 2.0 GHz PowerMac G5 tower. Transcoding HD material on it I get about 20 fps on video that is 24 fps native. So in my case I'm CPU bound and I can watch HD in near realtime. Intel Core 2 Duo based machines are supposed to handle the ffmpeg transcode pretty well so I'm hoping to acheive realtime HD for most stuff once I reshuffle my hardware.


----------



## captainDlp

captainDlp said:


> ...
> Also, I can see programs in the NPL but can't transfer them. The tivo replaces the name of the program to be transferred with the first item in the list or occasionally (occasionally it will stalls out waiting to bring up the program info/start transfer page even with directory traversal turned off). Ideas??


I finally got some transfers to work by 1) removing the directory traversal setting 2) changing to a directory that is not the root drive and 3) removing all .tivo and .mp4 files from that dir. I can get mpeg 2 files and an .mkv. Not sure which step fixed it but its a start. I have pytivo v2008.05.02.

Did I read that .tivo files need a _tivo_ marker in for the .conf section? Also, if I have an .mkv (or others) that have to be transcoded, is it better to download the transcoded file from the tivo and replace the original to reduce transfer time or is there loss of quality??

Some good info on transcoding limitations. I have the tivoHD.


----------



## PaulS

captainDlp said:


> Also, if I have an .mkv (or others) that have to be transcoded, is it better to download the transcoded file from the tivo and replace the original to reduce transfer time or is there loss of quality??


Most likely yes. This will save you from having to transcode the file on every transfer from the PC to the TiVo. At that point, your transfer speeds should only be bounded by your hard disk read rate and your network throughput between the PC and TiVo.

Transcodes (especially HD ones) are quite CPU intensive, and you'll need a fairly beefy machine in order to transcode+transfer at real-time speeds.


----------



## captainDlp

Is there an easy way to playback a vob tree? I would like to rip DVDs without touching the authored files but it looks like I would need to watch the individual vob files one at a time from the tivo?


----------



## jcthorne

I am not quite sure what you are asking for here. Tivo will not play unmodified VOBs as is. Well, without at least changing the file extension.

You can rip a single tree to a single large VOB with out transcoding and then rename it a .mpg file and Tivo will accept/play it.


----------



## KevinG

jcthorne said:


> I am not quite sure what you are asking for here. Tivo will not play unmodified VOBs as is. Well, without at least changing the file extension.


This doesn't seem to be true (anymore?). I just tried this last night, and it played an untouched VOB file just fine (though it got confused at the end and said it was waiting to download more even though it was finished).

I too would love for pytivo to understand how to find the "next" vob automatically so it could just keep on going.

Assuming that isn't happening anytime soon, can anyone point me to a simple one click solution to rip a DVD to a Tivo friendly format?

Thanks.
-Kevin


----------



## mbklein

KevinG said:


> Assuming that isn't happening anytime soon, can anyone point me to a simple one click solution to rip a DVD to a Tivo friendly format?


Handbrake


----------



## KevinG

mbklein said:


> Handbrake


Thank you sir. Thank you very much.


----------



## mbklein

You betcha.


----------



## rambler

nm


----------



## jcthorne

KevinG said:


> can anyone point me to a simple one click solution to rip a DVD to a Tivo friendly format?
> 
> Thanks.
> -Kevin


I use DVDFab


----------



## Jkjowers

Could someone point me to an explanation on how to transfer PC movies into a TIVO FOLDER created using pyTivo. Someone tried to explain it to me before, but was assuming I knew much more about pyTivo meta files. So far I have only been able to just add a synopsis to movies or to default groups of movies inside computer folders. I am trying to learn from the previous example:



> Quote:
> Originally Posted by SMWinnie
> Can the output from Metagenerator be tweaked to group arbitrary files after transfer to the TiVo? I have files from a bunch of sources that I'd like to keep together on the TiVo's NPL.
> 
> Looking at the output .txt file, is one of these fields key to grouping in the eventual NPL?
> 
> Code:
> title : Kids' Movies
> episodeTitle : Learning to Ride
> movieYear : 200X
> description : Dan learns to ride a bike; Ben learns to ride a trike.
> isEpisode : true
> episodeNumber : YYYYY
> seriesTitle : Kids' MoviesThanks for your attention.





PaulS said:


> Yes. You can insert a "seriesId" tag in the metadata file to get the files to group, provided that the seriesId you choose is one that is currently in your TiVo's guide data.


I'm still comfussed about what a "seriesId" is... I have tried to add one with the same name as a folder already on my TiVo without luck.

Help


----------



## dcahoe

Jkjowers said:


> I'm still comfussed about what a "seriesId" is... I have tried to add one with the same name as a folder already on my TiVo without luck.
> 
> Help


seriesId is actually a code that would have originally come from a TiVo which I believe in turn actually came from the guide data. It is used to group shows into series.

From the pyTivo website:

*seriesId*
Usually starts with "SH" and followed by 6-8 digits. TiVo uses this to allow for grouping once a program is transferred to a TiVo, provided the TiVo is set to grouping in the NPL (Now Playing List). Leaving this field blank or omitting doesnt seem to cause any problems, except when it comes time to group when transferring to TiVo. Will not group without a series ID.

SH is for general TV shows. 
MV is for movies (e.g. Amazon Unbox). 
SP is for sports. 
TS is for Tivocast content.

So something like SH012345 would be the right format, but if it is not a real SeriesID from the guide data, I'm not sure what the TiVo would do with it.


----------



## Jkjowers

dcahoe said:


> seriesId is actually a code that would have originally come from a TiVo which I believe in turn actually came from the guide data. It is used to group shows into series.
> 
> From the pyTivo website:
> 
> Usually starts with "SH" and followed by 6-8 digits. TiVo uses this to allow for grouping once a program is transferred to a TiVo, provided the TiVo is set to grouping in the NPL (Now Playing List). Leaving this field blank or omitting doesn't seem to cause any problems, except when it comes time to group when transferring to TiVo. Will not group without a series ID.
> ...


I understand that at least... but I am doing something wrong. I have a folder with two small WMV files in it. I give both the identical meta files with a seriesId that is:

*seriesId : SHThe Office*

Both copy seperatly with the title name (not in a folder). Should I use all upper case? Should I remove the space? Should I use only the first 8 letters? Should I use the same name in the "Title"?

It would help if someone could actaully show me a working seriesId and anything that must correspond to it.

I'm assuming you didn't actuall mean for me to use numbers only.


----------



## txporter

Jkjowers said:


> I'm assuming you didn't actuall mean for me to use numbers only.


He did. There is a program called MetaGenerator that is normally used with pyTivo. It is an executable program that will search the TV database (TVDB) for the appropriate metadata for particular TV shows. I use it quite a bit. I pulled up The Office, however, and there isn't a SeriesID listed. Not sure what to make of that, the other shows that I have looked up have all been listed. Maybe someone can pull an episode of the Office down and pull the SeriesID from the tivo header for you.

Jason

examples:
The Wire = SH507321
Heroes = SH848361


----------



## txporter

Ok, with a little searching I found the way to pull the seriesID yourself (if you have a recorded episode of The Office on your tivo):

Replace <tivo ip> with the IP address of your tivo in the address below. This will pull up an XML view of your tivo recordings. You should be able to search for 'office' to jump down to an episode. The seriesID will be listed in the XML. That is the string you will need for your metadata.



Code:


https://<tivo ip>/TiVoConnect?Command=QueryContainer&Container=&#37;2FNowPlaying&Recurse=Yes

Jason


----------



## Jkjowers

txporter said:


> He did. There is a program called MetaGenerator that is normally used with pyTivo. It is an executable program that will search the TV database (TVDB) for the appropriate metadata for particular TV shows. I use it quite a bit. I pulled up The Office, however, and there isn't a SeriesID listed. Not sure what to make of that, the other shows that I have looked up have all been listed. Maybe someone can pull an episode of the Office down and pull the SeriesID from the tivo header for you.
> 
> Jason
> 
> examples:
> The Wire = SH507321
> Heroes = SH848361


Well that helps a lot. Thanks. I will start playing with MetaGenerator... I had always assumed I wouldn't need it. If I need access to a number code I will have to use it.

Thanks again!


----------



## txporter

Forgot to mention in my post above that you will also need your MAK in order to log onto your tivo.

Username=tivo
Password=MAK

Jason


----------



## dcahoe

I thought you were just interested in grouping home videos that didn't have a real SeriesID.

If it is a real show that you are transferring from your TiVo, if you use the latest version v0.64 of TiVoPlayList to transfer your file to your PC it can generate the metadata file automatically without the need for the MetaDataGenerator program.


----------



## Jkjowers

dcahoe said:


> I thought you were just interested in grouping home videos that didn't have a real SeriesID.
> 
> ...


You were correct... I wanted to group assorted movies into a folder... any folder on Tivo. I delete shows after I watch them and have no need to keep anything. I decided on a simple solution. I will put a default.txt with *seriesId : SH115264* in my Computer Tivo folder. So now everything I copy from my computer will be in a folder labled "EXTRA".

One question... if that horrible show with the same name is cancelled, will the seriesId stop working?


----------



## Rdian06

Yes, if the seriesID fails to be in the guide, then grouping will fail.

So if the show gets canceled and there are no re-runs on channels that are in your guide, then no grouping.

There are some special seriesIDs that you can use. One is for the Tivo Tours video folder and there is at least one for Home Movies, SH298935.

There are also some Movie seriesIDs you can try.

See

http://pytivo.krkeegan.com/series-ids-t51.html


----------



## Jkjowers

Rdian06 said:


> Yes, if the seriesID fails to be in the guide, then grouping will fail.
> 
> So if the show gets canceled and there are no re-runs on channels that are in your guide, then no grouping.
> 
> There are some special seriesIDs that you can use. One is for the Tivo Tours video folder and there is at least one for Home Movies, SH298935.
> 
> There are also some Movie seriesIDs you can try.
> 
> See
> 
> http://pytivo.krkeegan.com/series-ids-t51.html


thanks!


----------



## Emillion

Added ".iso" in the video.ext file, however they don't play. Same DVD saved as .vob (but in 3 or 4 files) - plays just fine. Any idea on how to get .iso to play? Thank you for pyTivo.


----------



## greg_burns

Emillion said:


> Added ".iso" in the video.ext file, however they don't play. Same DVD saved as .vob (but in 3 or 4 files) - plays just fine. Any idea on how to get .iso to play? Thank you for pyTivo.


You would have to extract the contents of the ".iso" file first. An .iso is just a disc image. I could contain anything.


----------



## Emillion

Thank you Greg, but did you actually tried? The "error" message says something about "prohibited" and "copyright". Looks like it was able to identify the video content? And then the file gets the color red on the screen.
So let's say you have a DVD and you want to backup in one file and play it on your Tivo. Is there a way to do that? I guess a huge ".vob" file but I was wondering if a ".iso" would be possible?


----------



## Emillion

... and the "Play folder" question is about having the ability to transfer an entire folder at once - let's say with twenty music videos. And maybe combined with the "Play folder" command while it is still transferring? Cvasi-streaming with delete at the end?


----------



## greg_burns

Emillion said:


> Thank you Greg, but did you actually tried? The "error" message says something about "prohibited" and "copyright". Looks like it was able to identify the video content? And then the file gets the color red on the screen.
> So let's say you have a DVD and you want to backup in one file and play it on your Tivo. Is there a way to do that? I guess a huge ".vob" file but I was wondering if a ".iso" would be possible?


No never tried. But again, an .iso can contain anything. Doesn't make a lot of sense for pyTivo to mount it and assume it is a DVD movie.

I think the huge .vob is what others have suggested in the past when ripping.


----------



## Emillion

Right - but pyTivo is just transferring it - not trying to mount it - Tivo is actually playing it. Wondering if some flag can be set durring the ripping to get around the false "copyright" issue...


----------



## Rdian06

Emillion said:


> Thank you Greg, but did you actually tried? The "error" message says something about "prohibited" and "copyright". Looks like it was able to identify the video content? And then the file gets the color red on the screen.
> So let's say you have a DVD and you want to backup in one file and play it on your Tivo. Is there a way to do that? I guess a huge ".vob" file but I was wondering if a ".iso" would be possible?


Under the hood, pyTivo uses ffmpeg to check each file to determine audio/video specs and whether ffmpeg can handle it if transcoding is required.

pyTivo chooses which files to run ffmpeg on based on the extensions defined in video.ext. But since ffmpeg cannot decipher the .iso file, the compatibility check fails and the info listing sent to the Tivo for the file has the "prohibited" flag set for convenience. It was easier to code it that way then just removing it from the listing entirely. And it normally is a visual cue to tell you something is wrong with that particular file.

What you're doing is essentially the same as asking Microsoft Word to open the .iso file and expecting it to just work given that no code exists to handle it.


----------



## Rdian06

Emillion said:


> Right - but pyTivo is just transferring it - not trying to mount it - Tivo is actually playing it. Wondering if some flag can be set durring the ripping to get around the false "copyright" issue...


The Tivo cannot handle you just handing it a .iso file. It has no internal parser for that format. Yes, it's Linux under the hood, but the software as it currently is won't just mount it and start looking for video files.


----------



## Emillion

Got it - so pyTivo is actually setting the "prohibited" flag to prevent Tivo from complaining that it cannot play the file. Thought that it was just transferring with no ffmpeg on it. Thank you guys.
What about a "do folder" ability in pyTivo?


----------



## wmcbrine

Emillion said:


> What about a "do folder" ability in pyTivo?


That's way outside the scope of what can be implemented on the pyTivo end of things. All pyTivo does is answer requests from the TiVo -- you'd have to get the TiVo to make those requests.


----------



## Emillion

OK, TiVo cannot "transfer folders" but it can "play folders" - could HME/VLC or Tivostream stream a folder of music videos? If yes - could they also implement features like random order etc. that TiVo is missing?


----------



## wmcbrine

In principle, yes, the HME-based apps could do it.


----------



## Emillion

Using pyTivo to play VOBs from an external drive - most of the 16x9 vob files still show bars on top/bottom on a 16:9 display. Since they are MPEG2/AC3 files I assume pyTivo sees them as TiVo compatible and does not transcode. However the bars are bothering - looks like a TiVo problem? No matter what TiVo settings I try (or pyTivo) - they are still there. However I have found DVD-vob files that don't show the bars and the only difference between them looks to be the "player telecine" 3:2 pulldown. The files with bars show 23.976 pics/s but with 3:2 pulldown still 29.97 frames/s (NTSC), 720x480, sar 3:2, par 32:27, dar 16:9. The files that play full 16:9 screen are the same except they have 29.97 pics/s and don't require 3:2 pulldown.
Wondering if I could modify the pyTivo video pluggins to transcode the files that require telecine and make them run full 16x9 screen (looks like TiVo cannot do what a DVD player does?) Or is there another solution? Thank you.


----------



## TracySMiller

Greetings,

I've been using pyTivo for at least ten months, and love it. I previously had great results using pyTivo to transfer .mkv movies and TV shows from my Windows Home Server to my S3 Tivo, but recently I've begun to get some video issues upon playback on the Tivo, mainly horizontal "bands" that blitz across the screen and cause momentary picture pixelation. This happens every five to ten seconds, and is sufficiently irritating as to make the movie/TV show unwatchable. I don't think the problem is in the source file, as when I stream it to another computer and watch it with Windows Media Center, it plays flawlessly. I think it is some kind of transcoding issue with pyTivo, but I'm not enough of a power user with pyTivo to figure it out. 

I have the latest pyTivo, and about the only special settings I use are the "Hack83=True" and "ffmpeg_parm=-async 1"

Any help would be greatly appreciated.


----------



## Rdian06

TracySMiller said:


> Greetings,
> 
> I've been using pyTivo for at least ten months, and love it. I previously had great results using pyTivo to transfer .mkv movies and TV shows from my Windows Home Server to my S3 Tivo, but recently I've begun to get some video issues upon playback on the Tivo, mainly horizontal "bands" that blitz across the screen and cause momentary picture pixelation. This happens every five to ten seconds, and is sufficiently irritating as to make the movie/TV show unwatchable. I don't think the problem is in the source file, as when I stream it to another computer and watch it with Windows Media Center, it plays flawlessly. I think it is some kind of transcoding issue with pyTivo, but I'm not enough of a power user with pyTivo to figure it out.
> 
> I have the latest pyTivo, and about the only special settings I use are the "Hack83=True" and "ffmpeg_parm=-async 1"
> 
> Any help would be greatly appreciated.


Upgrade to one of my newer Windows installers from:

http://pytivo.krkeegan.com/updated-windows-installer-betas-t512.html

The wmcbrine fork one has my newer ffmpeg which might help and also fixes 5.1 audio mapping issues. However, some have reported xvid issues with my ffmpeg build included in that package. Haven't had time to track it down.

You can also drop the hack83 and async 1 flags. The newer Tivo software handles subfolders correctly so hack83 is obsolete. And we've added -copyts to the ffmpeg command by default to help with audio syncing which should make async not necessary.


----------



## wmcbrine

pmack said:


> My TV manufacturer recommends a resolution of 1366x768.


You can't use that for HD video. Well, maybe you can -- the S3 is pretty forgiving -- but it's not in the set of standard resolutions. Rather, they're telling you how to set the resolution on a computer's video card, if you hook it up to the set. But the TiVo will only output at one of the standard resolutions.

You'll have to explain what you mean by "letterboxed HD". My guess is that it is not, in fact, letterboxed, but rather cropped, and you're talking about something like 1280x544 or 1920x817. Yes?


----------



## Rdian06

pmack said:


> I've been using pyTivo for a while with SD and it works wonderfully. I am having an issue with HD files.
> 
> I am running an S3 with the latest version (9.4, I think). I tried 2 different forks (the 10.15 wgw and am currently using the 08.20 wmcbrine) with no luck.
> 
> When I use pyTivo to transfer HD content to my S3, it does not deal with letterboxed HD content properly. If the HD is full screen, it will transfer and display properly. If the content is letterboxed, it transfers it at 4:3.
> 
> My pyTivo config file is barebones. I added one section:
> 
> ------
> [_tivo_648xxxxxxxxxxxx]
> aspect169=true
> width=1366
> ------
> 
> My TV manufacturer recommends a resolution of 1366x768. I've tried playing with both the width and the height, but it never seems to make any difference; the letterboxed content always ends up 4:3.
> 
> The only way I can get it to display at the full width of the TV without distortion is to change the TV aspect ratio in my tivo settings (it is currently set to smart) to force everything to 16:9. The problem is this messes with regular SD television.
> 
> Is there something else I should be doing?
> 
> Thanks in advance for any help.


When you say "messes with regular SD television" what do you mean?

I keep my S3 set to Native resolution, 16:9 shape and LCD Aspect (or at least I think that's what it's called off the top of my head). I also set width=1920 and height=1080 in my pyTivo.conf. 1280x720 content transfers and fills the screen. 1280x528 or other cropped content displays properly with a little black at the top and bottom. SD content is pillarboxed both when I transfer it and when I just watch it off the cable.

Are you trying to get SD content to fill your screen instead of being pillarboxed? On the rare occasions when I actually wants this, I tend to use my TV's zoom controls and not mess with the Tivo's settings. But that's just me.

Also, I second wmcbrine's suggestion that you not use non-standard resolution settings. Choose either 1920x1080 or 1280x720. The native res of your TV isn't a standard Tivo output resolution.


----------



## wmcbrine

Suggest:
Output format: fixed
Aspect ratio: 16x9

and use the Aspect button as needed.


----------



## MasterCephus

Hey guys, I just released a new version of the MetaGenerator...go here to see the details


----------



## Rdian06

pmack said:


> Okay, let me better explain what I've got my settings at now.
> 
> TV aspect correction: panel
> TV aspect ratio: smart
> TV output format: hybrid
> 
> My config file has this:
> 
> [_tivo_648xxxxxxxxxxxx]
> aspect169=true
> width=1280
> height=720
> optres=true
> 
> As far as what's happening, here's a picture of my TV. The video file is 1280x528. Notice that the image is letterboxed _and_ pillarboxed. (Also, disregard my daughter's handprint on the TV!) I would like to be able to see this video fit the entire width of the screen without having to resort to changing my TV aspect ratio.
> 
> Note, when I set TV output format to native (instead of hybrid), this is what standard def TV looks like. The image shown is letterboxed, but note that the image is pillarboxed twice-- the first is the 4:3 constraint, but the second pillarboxing actually squeezes and distorts the image inside that 4:3. Now, I know I can change it with the aspect button, but it's a step shouldn't have to take if I can get pyTivo to send the video at it's original resolution.
> 
> And as I've said above, 1280x720 video displays perfectly with no adjustment on my part. It's only when the height is less than 720 that I have a problem.
> 
> Edit: also just tried width=1920 and height=1080 with no luck.


What happens if you leave out optres or set it to false?

For Tivo HD/S3 units, if the video res is below your width/height settings, then pyTivo will send the video over at it's native res. If the video is 1280x528, that's what is sent to your Tivo. How your Tivo and the TV deal with it from there is not under pyTivo's control.

It feels like your TV is auto stretching the 1280x720 signal to fill it's native resolution, but that anything not 1280x720 is being treated as a literal centered window inside the 1366x768 as if it were a computer monitor. Does your TV have some fill screen control that you might need to enable?

Also, you still haven't elaborated on what happens to your SD video when you set TV aspect ratio to 16:9.


----------



## Good Karma

Python 3.0 released today. Any chance of a pyTivo Windows installer update?

Many thanks in advance.


----------



## Rdian06

Good Karma said:


> Python 3.0 released today. Any chance of a pyTivo Windows installer update?
> 
> Many thanks in advance.


At first glance, it looks like Python 3.0 introduces language changes so it might not be as easy as just updating the installer.


----------



## wmcbrine

Yes, big incompatible language changes. It's not a simple matter of running it with 3.0; it's a port. That may happen eventually. However, for now, you should not try to use pyTivo with Python 3.0. That goes for every other Python app in existence, too, unless it's specifically labelled as being for 3.0, or compatible with it. (The set of programs that can run unmodified on both 2.x and 3.x is quite small.)

2.x is mainstream Python for the forseeable future. There will be a 2.7 after 2.6, and perhaps even a 2.8 and 2.9. At this point, no one can really say how quickly 3.x will be taken up.


----------



## lrhorer

A couple of us have posted queries about this issue on the PyTivo forum, but so far no responses. I'm running the most recent wgw fork, and series titles are showing up in the NPL with the minor episode number - but not the season number - in the title. The new version of the metagenerator seems to be causing the episode number to show up at the end of the title rather than the beginning, but the behavior is still rather annoying, either way. How can we get the title to not show the minor episode number?


----------



## Rdian06

pmack said:


> That's not what's happening, though. The video is being sent by pyTivo as SD. I know this for two reasons: One, when I press 'info' while watching a video, 1280x720 video shows as (720p). These other problem videos show as (480i). Second, when viewing the contents of my S3 from my S2, actual HD videos have the NO icon, and viewing the information for those files tells me the recording is HD and the S2 doesn't support it. It will, however, allow me to transfer any/all of the problem videos with no questions asked.


I don't think you quite understood what I was saying. First of all, the pyTivo FAQ predates me and is somewhat inaccurate (read wrong) with respect to how the current forks actually operate with Tivo S3/HD units. It just hasn't been updated in a while.

I use what free time I have to do support, fix ffmpeg, and try to deal with the Windows installers. The other developers work on the actual pyTivo code. But I've crawled around enough in the pyTivo code to know how this particular part of it works.

The Tivo S3/HD units are very forgiving as to the resolution and framerates they accept. This is in stark contrast to the S2 units that are very rigid and expect exact resolutions and framerates.

pyTivo also uses DIFFERENT defaults depending on whether it is sending to a Tivo S3/HD or an S2 or lower (it decides what default to use based on the TSN which has the model number at the beginning of it.) Tivo S3/HD units default to width=1280 and height=720.

For sending to Tivo S3/HD units, when the source video has a resolution equal to or lower than the defined width/height, the video is sent to the Tivo at the same resolution as the source. If you turn on pyTivo's logging, you will see the ffmpeg command line parameters used for doing the transcode. For source video with resolutions equal to or lower than the defined width/height, you will see that the -s parameter is NOT passed. Meaning that ffmpeg PRESERVES the source resolution. When you send to S2 units or the source resolution is beyond the configured width/height, the -s parameter is used to specify the target resolution.

I set my width=1920 height=1080, so pretty much everything I send to my Tivo S3 is at the source resolution. Now what the Tivo unit decides to output to your TV and how it treats the video once it has it is completely up to the Tivo and beyond pyTivo's control.

Another thing, the Tivo Info display LIES about what resolution it is outputting. The best way to tell what resolution is actually being output by the Tivo is to use the Info display of your TV (assuming it has one). There are plenty of times when I'll be watching a live 1080i broadcast and the Tivo will report it as 720p even though my Panasonic plasma's info display says 1080i. Hopefully Tivo will fix this bug with the v11 update.

Based on the S3 to S2 testing you did, it sounds like the Tivo unit itself is treating anything with height lower than 720 to be convertable to SD for output. And that setting your Tivo TV shape to Smart in the Tivo tells it to output anything less than 720 as SD rather than HD.

You yourself said that when you set the Tivo TV shape to 16:9, the same cropped 1280x5xx video is displayed as HD and with proper letterboxing only on the top and bottom. This would be impossible if pyTivo were sending an SD signal as you are saying.

pyTivo has no knowledge of the Tivo TV Shape or Aspect settings. I don't think there is even a way for the pyTivo to extract that information from your Tivo if we wanted it to.

On my setup, settings Tivo TV Shape to Smart causes the Tivo Central screen to come over in SD. I HATE this so I set it to 16:9 and the Tivo Central screen comes over at 1280x720 as reported by my TV. I've been told by others that the Tivo Central screen is actually a well designed non HD bitmap that is stretched to HD resolution for output. Hence why the Smart setting makes it come out as SD.



pmack said:


> I reinstalled the wcmcbrine 8.20 last night from scratch, used only a barebones config, and did some more testing with a variety of HD videos and I discovered something important. I have been laboring under the impression that the critical measurement is _width_. Meaning that if the video width is 1280, it should fill the width and adjust the height proportionially. This is wrong. The critical measurement is *height*. If the height is not 720, the video comes over as 4:3, period. Width will be adjusted down accordingly.
> 
> I found last night that any video with a height of 720 or over will fill the screen properly. The video is proportionally adjusted, so that black bars are on top and bottom as needed, but the width fills the entire screen. I sent two different videos, one 1280x755 and 1920x800 and both transferred properly and were scaled to fit with the 1280x720 screen. Anything with a height of less than 720 transferred as 4:3, without exception.


When I first started using pyTivo, I had my Tivo Aspect set to Full which caused cropped HD heights to get stretched rather than properly letterboxed. I even proposed to add a generic padding function that would calculate the difference between the source height and either 720 or 1080 and then pass the ffmpeg parameter to border pad to the proper resolution. But then I discovered that setting Tivo Aspect to Panel in conjunction with Shape to 16:9 fixed my HD issue and stopped caring.



pmack said:


> The same thing that happens when I switch from hybrid to native; the SD picture ends up pillarboxed twice--once as a SD broadcast and then squished vertically.
> 
> Basically, if I set my TV to 16:9 instead of 'smart', I need to change my TV aspect to "panel" for these letterboxed videos to display without distortion. Viewing SD TV under these settings results in the dual pillarbox. I need to change the aspect to "full" for proper SD TV viewing.


I'm almost certain that double pillarbox effect is an issue with your TV. Is there a setting in your TV for stretching SD that you could turn on and then just use TV Shape 16:9 in your Tivo?



pmack said:


> I know that I can just switch it as needed, but that's not really the point. I don't believe the video is coming over as HD. It doesn't seem like the problem is with my TV, nor do I think it is the Tivo. I had a suspicion that it was a configuration issue, which is why I tried forcing pyTivo to send video to my S3 as 1280x720 by using the width setting in the config file. Either pyTivo is ignoring this setting or I am misunderstanding its use:
> 
> _width
> Default Setting: 544
> Description: Allows you to choose the output dimension of the transcoded videos. SD units are limited to 720 and below. Likely HD users will want to choose a higher value. Higher values may slow down transcoding and will increase the file size. Increased file sizes take up more room on the TiVo and take longer to transfer over the network_
> 
> If I set width to 1280, why isn't the transferred video 1280? What causes pyTivo to send it smaller than 1280? My assumption would be that the default setting is 544, so unless otherwise specified, video transfers at 544. But that's demonstrably not true, as I was able to transfer 1280x720 properly before I manually specified the width setting video.


Again, the FAQ is wrong. The video is transferring at the source resolution unless you lower your width and height to less than the source resolution.

If it wasn't, then using TV Shape 16:9 and Aspect Panel wouldn't magically make the video appear as HD. It's stored on the Tivo as HD, it's just output as SD based on your Shape setting.


----------



## MasterCephus

lrhorer said:


> A couple of us have posted queries about this issue on the PyTivo forum, but so far no responses. I'm running the most recent wgw fork, and series titles are showing up in the NPL with the minor episode number - but not the season number - in the title. The new version of the metagenerator seems to be causing the episode number to show up at the end of the title rather than the beginning, but the behavior is still rather annoying, either way. How can we get the title to not show the minor episode number?


You didn't post this in the official MG threat at the pyTivo forums. I'll look into it about removing the episode number at the end of the title.

If you need help with the MG, you need to post it in the MG thread, otherwise, I probably won't see it until I am bored and start looking around other threads and forums.


----------



## Rdian06

MasterCephus said:


> You didn't post this in the official MG threat at the pyTivo forums. I'll look into it about removing the episode number at the end of the title.
> 
> If you need help with the MG, you need to post it in the MG thread, otherwise, I probably won't see it until I am bored and start looking around other threads and forums.


His problem (episode number prefixes episode title) pre-dates the new MG and is related to wgw's fork. However the new behavior where the episode number is at the end of the episode title is probably the new MG's issue.


----------



## lrhorer

That's right, so it didn't seem like the MG thread thread was the correct place for the post, plus I did not start the thread. I merely replied along with the original thread starter. Whatever the case, however, and whether MG is in part culpable or not, it's annoying.


----------



## MasterCephus

The new MG is putting the episode number at the end of the title...

Does everyone want this removed?


----------



## gonzotek

MasterCephus said:


> The new MG is putting the episode number at the end of the title...
> 
> Does everyone want this removed?


Maybe make it an option? I prefer not to have them in the title, myself.


----------



## lrhorer

Well, I could understand wantingto have the season and episode there, but having just the minor episode number seems totally pointless. I definitely vote for having the ability to remove it entirely, whether optionally or not. It seems to me if it is to be optional, though, then the only option that makes sense is the ability to have the season and episode both appear.


----------



## jcthorne

I would prefer the episode number at the front of the episode title so that they sort correctly in the Tivo display.


----------



## lrhorer

jcthorne said:


> I would prefer the episode number at the front of the episode title so that they sort correctly in the Tivo display.


This does not require anything at all from pyTivo or the MetaGenerator. If you have a metafile associated with a program, the filenames on your server have nothing to do with what is displayed on the NPL, *except* for the order of listing. Indeed, nothing in the metafile will affect the sort order in the TiVo, and prefixing the episode names in the episodeTitle field with the season and episode number will *NOT* cause them to sort properly in the NPL.

To do what you want, simply name your programs and their metafiles sequentially on the server. For example, my Lord of the Rings directory looks like this:



Code:


RAID-Server:/RAID/Recordings/Lord of the Rings# ll
total 62568664
drwxrwxrwx  2 lrhorer users        4096 2008-11-02 02:21 .
drwxrwxrwx 35 root    root        36864 2008-12-07 21:23 ..
-rw-rw-rw-  1 lrhorer users 19960115200 2008-04-12 18:42 1 Lord of the Rings- The Fellowship of the Ring, The (Recorded Fri Apr 04, 2008, TNTHD).mpg
-rw-rw-rw-  1 lrhorer users        2082 2008-04-26 02:27 1 Lord of the Rings- The Fellowship of the Ring, The (Recorded Fri Apr 04, 2008, TNTHD).mpg.txt
-rw-rw-rw-  1 lrhorer users 21379262464 2008-05-02 23:53 2 Lord of the Rings- The Two Towers, The (Recorded Sat Apr 05, 2008, TNTHD).mpg
-rw-rw-rw-  1 lrhorer users        1946 2008-05-02 21:48 2 Lord of the Rings- The Two Towers, The (Recorded Sat Apr 05, 2008, TNTHD).mpg.txt
-rw-rw-rw-  1 lrhorer users 22668285952 2008-05-01 03:18 3 Lord of the Rings- The Return of the King, The (Recorded Sun Apr 06, 2008, TNTHD).mpg
-rw-rw-rw-  1 lrhorer users        1933 2008-05-01 02:16 3 Lord of the Rings- The Return of the King, The (Recorded Sun Apr 06, 2008, TNTHD).mpg.txt
RAID-Server:/RAID/Recordings/Lord of the Rings#

Meanwhile, when I go into the Lord of the Rings directory in the NPL, it looks like this:



Code:


"The Fellowship of the Ring"
"The Two Towers"
"The Return of the King"

Should you so choose, you could name them 1.mpg, 2.mpg, and 3.mpg, and they would still come out with the proper names etc. in the NPL. This is true whether they are episodes of a TV series, or not. You might notice I strip any leading "The " in the filename and place it after the program name, but before the "(Recorded..." section. I do this for all files, so the sort order comes out based upon the main title name, but not with a ton of programs beginning with "The " all lumped together. The metafiles have the "The " at the beginning of the title field, however, so the full name comes out in the NPL as The 6th Day, or The Philadelphia Experiment, the former being at the very top of the list and the latter being among the "P"s.

The sort list after transferring back to the TiVo might be a different matter - I'm not sure, but then I don't recommend one transfers large groups of files back to the TiVo. There's little point, and it takes up space on the TiVo, which is limited.

If the episode parms have to be there, I would vastly prefer they appear at the end. If anything gets truncated, I would prefer it be that.


----------



## tim_ver

Ok, I am new to this so please do not laugh.

If I understnad this you download the pyTivo program from here:
http://www.python.org/download/releases/3.0/

Or should I get 2.5 or 2.6?

Install it on your PC, for me the Windows AMD64 MSI Installer (I have Vista 64). Then I can see the share folder it creates on my PC on my Tivo.

And select the files I want say Family_trop_2008.avi and watch it on my TV through Tivo?

Is this correct or did I miss something?

Also does it leave the files on the PC just view them trough the Tivo/TV or does it physical move them over to the Tivo and store them there to watch/delete?

Thanks much


----------



## Kershek

A post above (#2052) says not to use 3.0, so use 2.6. 

It works like TiVo Desktop, except that it will transcode any codec installed on the PC to TiVo format on the fly while it streams to your TiVo. It never deletes it off the source PC.


----------



## tim_ver

Ok, so it just streams from the PC never copies it over so good to have the tivo connected via a cable and not wireless?

Will it play .avi files?


----------



## ajayabb

tim_ver said:


> Ok, so it just streams from the PC never copies it over so good to have the tivo connected via a cable and not wireless?
> 
> Will it play .avi files?


Actually, it DOWNLOADS the file rather than STREAMS, and yes it plays .avi files.


----------



## Rdian06

tim_ver said:


> Ok, so it just streams from the PC never copies it over so good to have the tivo connected via a cable and not wireless?
> 
> Will it play .avi files?


It works fine over 802.11g wireless given that you have a decent connection. HD stuff can be a little slow in transfer depending on your computer speed. The Tivo's itself throttles transfers so going from wireless to wired only yields a small improvement (that is if you have a strong wireless signal to begin with.)


----------



## gsr1

Is there something like this (MG) for the MAC?


----------



## Rdian06

gsr1 said:


> Is there something like this (MG) for the MAC?


I use this Python script. A lot less interactive (read faster). Check the end of the thread for more recent versions of the script.

http://pytivo.krkeegan.com/gmd-s-python-metadata-generator-t17.html


----------



## wtherrell

I moved a dvr-ms file from MS Media Center recorded TV (Time 1 hr, 5 minutes) into the pytivo share file. I then downloaded it to THD where file size was 4 GB.
(THD set to 480i). Then downloaded from the THD to a Series 2. File size on the S2 was 3.97 GB. I tried to note the metadata but it seems to have disappeared. Then I downloaded the same file direct from the Tivo share to the S2. File was only 1.99 GB. Approximately half the size of the same file I downloaded from the THD. I could not notice any difference in the metadata. Both seemed to be 720 x 480. I could not detect any difference in display quality. Why the difference in file size?

Just curious?


----------



## wtherrell

Using the pytivo webpage method of program transfer, I am confused as to what path I need to enter (the box below the MAK) to make the a file go to a designated Tivo. (I have 3).

Could someone explain or give some examples of what to type into that box?


----------



## briankasper

tim_ver said:


> Ok, I am new to this so please do not laugh.
> 
> If I understnad this you download the pyTivo program from here:
> http://www.python.org/download/releases/3.0/
> 
> Or should I get 2.5 or 2.6?
> 
> Install it on your PC, for me the Windows AMD64 MSI Installer (I have Vista 64). Then I can see the share folder it creates on my PC on my Tivo.
> 
> And select the files I want say Family_trop_2008.avi and watch it on my TV through Tivo?
> 
> Is this correct or did I miss something?
> 
> Also does it leave the files on the PC just view them trough the Tivo/TV or does it physical move them over to the Tivo and store them there to watch/delete?
> 
> Thanks much


It's actually a bit more complicated than that. There are two different software suites you need to download and install: pyTivo and Python.

pyTivo is the software that enables your TiVo to play movies and music stored on your computer. It's written in a computer language called "Python" (note the "py" in the name pyTivo).

Python is a "scripted" language, which means that you run Python programs by means of a "Python Interpreter" which reads the Python scripts and converts the commands stored therein into commands your computer understands.

The URL you listed above (http://www.python.org/download/releases/3.0/) is the download location for the latest version of the Python interpreter -- but, and this is *extremely important*, you can't use the latest version of Python with pyTivo. Version 3.0 of Python is not backwards-compatible with earlier versions, which means scripts that work under previous versions are not guaranteed to run under version 3.0. This was done on purpose by the Python developers; I haven't followed things closely enough to know if I agree with their reasoning, but they obviously think there was something important enough about this latest version to break backwards compatibility.

You should download and install the latest version of Python in the 2.6.x tree, which as of today can be found at http://www.python.org/download/releases/2.6.1/. I think pyTivo will work with the AMD64 version of Python (I saw some comments about that in another thread) but it's not as well-tested, so you might want to use the "Windows x86 MSI Installer" instead.

Once you've installed Python, you also need to download and install pyTivo. Unfortunately, the pyTivo download situation is a bit messier. There are several people working on pyTivo, and they each have their own versions of the basic code, called "branches". They are unsung heroes who have provided an immense amount of happiness to hundreds, if not thousands, of pyTivo users, but (in my opinion) it's a bit difficult to figure out exactly what version of pyTivo to download, especially if you're not a computer geek. Since the folks who are working on pyTivo are doing it in their spare time, out of the goodness of their hearts, and for free, it's fair to expect us to do a bit of work to get pyTivo running.

Since from the contents of your original post it seems like you're not a computer geek, I think you might want to try downloading one of these two versions:

http://pytivo.krkeegan.com/download.php?id=114
http://pytivo.krkeegan.com/download.php?id=115

I haven't tried doing this myself, as I downloaded pyTivo in a more computer-geeky way (from the "git repository", to be exact), but as far as I can tell each of these links points to a compressed "Zip" archive file, which you should be able to open with freely-available Windows utilities. You should be able to extract the Windows installer "exe" file stored in the zip file you downloaded. Run this installer to install pyTivo.

You then need to configure pyTivo. There are helpful comments and links on this page:

http://pytivo.armooo.net/wiki/WindowsInstall

Sorry I can't be more specific (I'm out of time); you will need to read up and put in a little bit of effort to get pyTivo working -- but trust me, it's worth it.

-Polar Weasel


----------



## windracer

wtherrell said:


> Using the pytivo webpage method of program transfer, I am confused as to what path I need to enter (the box below the MAK) to make the a file go to a designated Tivo. (I have 3).
> 
> Could someone explain or give some examples of what to type into that box?


That box is the local path (on your PC where you are running pyTivo) where you want to _save_ recordings you're downloading from your TiVos. It's not used for _sending_ files to a TiVo.


----------



## Southcross

sorry for the newb question... but is there a "recomended" minimum system to run a pyTivo server? This might be the solution I've been looking for


----------



## wtherrell

windracer said:


> That box is the local path (on your PC where you are running pyTivo) where you want to _save_ recordings you're downloading from your TiVos. It's not used for _sending_ files to a TiVo.


Thanks, that clears it up for me. I can specify any "share" I have created, then. Or any other file like "My Tivo Recordings", where I want to save the videos, right? Neat!

Thanks for all your patience. I'm just an old fart trying to learn.


----------



## fred2

I am trying to run Pytivo on TWO computers so that I can download files to my S3 tivo.

The older one is XP and the newer one is Vista HomePremium.

Oddly, when I go to my Tivo, I have seen the Vista's tivo.conf referenced files/folders (do you folks call them shares) and then in a flash, I see the ones from the XP and then vice versa! Finally, it settles down to one or the other but I'm not sure I see the rhyme or reason for which one prevails.

Can I funnel two computers to one tivo using Pytivo.

Another thing, the conversions from the Vista pc seem to stall. I can see the beginning of "Life" but then it stops. So I would guess I have the correct codec for conversion but maybe NOT????

Maybe I should ask separately but my Canon digital camera apparently produces "Motion JPEG" and gspot says that I have the codec. Window MP shows it as using "MainConcept Color Space Converter" Why would this not download to the Tivo or actually only show ZERO time and not display?

Thanks in advance


----------



## briankasper

fred2 said:


> I am trying to run Pytivo on TWO computers so that I can download files to my S3 tivo.
> 
> The older one is XP and the newer one is Vista HomePremium.
> 
> Oddly, when I go to my Tivo, I have seen the Vista's tivo.conf referenced files/folders (do you folks call them shares) and then in a flash, I see the ones from the XP and then vice versa! Finally, it settles down to one or the other but I'm not sure I see the rhyme or reason for which one prevails.
> 
> Can I funnel two computers to one tivo using Pytivo.
> 
> Another thing, the conversions from the Vista pc seem to stall. I can see the beginning of "Life" but then it stops. So I would guess I have the correct codec for conversion but maybe NOT????
> 
> Maybe I should ask separately but my Canon digital camera apparently produces "Motion JPEG" and gspot says that I have the codec. Window MP shows it as using "MainConcept Color Space Converter" Why would this not download to the Tivo or actually only show ZERO time and not display?
> 
> Thanks in advance


This exact question was recently raised on the pyTivo discussion forums (http://pytivo.krkeegan.com/). rdian06 made the following suggestion:



> Who's fork version are you using? Older pyTivo versions use a fixed default guid. The newer forks choose a randomized guid on startup. The guid value is what the Tivos use to distinguish different instances of pyTivo.
> 
> The guid is a six digit number. You probably should define it for your two pyTivo instances rather than just letting it be random.
> 
> It belongs in the Server section of your pyTivo.conf. See:
> 
> http://pytivo.armooo.net/wiki/ConfigurepyTivo#guid


A "guid" is a "globally unique identifier", a number used to identify different instances of pyTivo. Try setting "guid" to two different values in the Server sections of your pyTivo.conf file as rdian06 suggested, and then restarting both instances of pyTivo.

-Polarweasel


----------



## fred2

Polarweasel:

Thanks, I will change one/both and see how that works. Now to figure out why stuff is not properly transcoding. Migrating from an older XP computer to a newer Vista computer is driving me to drink (which is not always bad). I am running into issues with my email program, too. Hair is already thin!


----------



## fred2

Polarweasel:

Thanks - both computers now show on the Tivo.

I recall discussion on ZERO "duration" from ages ago. I will see if I can find those doing a search.

Now, where do I find the HD photo "modules" that I had on my older computer? 

Computer Migration is a PAIN!


----------



## briankasper

fred2 said:


> Polarweasel:
> 
> Thanks - both computers now show on the Tivo.
> 
> I recall discussion on ZERO "duration" from ages ago. I will see if I can find those doing a search.
> 
> Now, where do I find the HD photo "modules" that I had on my older computer?
> 
> Computer Migration is a PAIN!


What version of pyTivo are you using? wmcbrine's branch has had his photo plugin built-in since something like February 2008. I think it's HD, but I'm not positive. All you have to do to use his plugin is install the Python Imaging Library (in addition to Python) and properly configure a "photos" share in your pytivo.conf file.

Check the page http://www.pythonware.com/products/pil/index.htm and download the PIL installer that matches your version of Python. I think all you have to do then is run the installer. Once you've done that, configure a [photos] share pointing at the directory containing your photos. Again, I'm not 100% sure the built-in photos plugin supports HD resolutions by default, but it looks pretty good to me.

Finally, regarding your zero-duration video transfers -- I think you said the videos you're trying to transfer are from a Canon camera. If so, I'm having the same problem you are. For example, this morning I shot a 4-minute, 460MB video on my SD800IS and copied the AVI file to my pyTivo share. It showed up in my Now Playing List just fine, and I was able to start the transfer, but no data past 00:00 actually transferred.

I tried running "ffmpeg_mp2 -i <movie_file>, and ffmpeg seemed not to have any problems with the AVI, but apparently something goes wrong during the transcoding process. I started a process to convert the AVI to MPEG-2 earlier today, so hopefully by the time I get home it will be done.

I'm not very facile with the ffmpeg command-line parameters, but if I have time I'll muck about with the file to see if I can figure out what the failure mode is. It seems likely to be a video format problem.

-Polarweasel


----------



## fred2

I think I got the Python photo stuff this morning but have not had a chance to try it.

The zero duration videos are both canon short avi's and a Hauppauge TV card capture of the TV show "Life". They generally show up as mpeg2, I think but they have some screwy "opening frames" or header stuff that I trim to even view them on the computer, never mind the tivo.

I may post a separate question in the S3 forum on that issue.

Thanks for your assistance and if you learn anything I'd be happy to hear about it.


----------



## fred2

Oh, one more thing (for this moment) - in an earlier version of pytivo it was a SERVICE and did not occupy a Command Window (Win Vista, by the way). Any ideas of how to load it as a service again?


----------



## wtherrell

Experimenting last night: Used Pytivo to transfer a file from THD Tivo to PC. 
As soon as the file showed up in the PC file, I used s2 Tivo to transfer from PC to the S2. Run time showed as 1 hour. I started playing the file on the S2 only to find out that only 15 minutes had downloaded even though the download was supposedly complete. (Blue indicator had gone out). I went back and checked the file on the PC and it was only about 500 MB. 
It looks like that if you start transferring a file from a Tivo to the PC using pyTivo and then start downloading the file from the PC to the other Tivo before the download to the PC is complete, the download to the Tivo will contain only the part that was on the PC when the download to the Tivo was started. I was able to duplicate this using 15, 30, and 45 minute intervals (Based on bytes downloaded) There seems to be no way for the receiving Tivo to know when the upload to the PC is complete. The only way I could get the complete show was to wait until the file had reached the approximate 2 GB point. When I waited until then, finally got the complete show downloaded..
Is this normal behavior for pyTivo? I would rather the file not show up in the available for download list until pyTivo has finished transfering it to the PC
Or perhaps there could be a blue indicator beside it in the menu to show that the upload to the PC was not yet complete so I would know not to start the download yet. Anyone else seeing this?


----------



## briankasper

fred2 said:


> Oh, one more thing (for this moment) - in an earlier version of pytivo it was a SERVICE and did not occupy a Command Window (Win Vista, by the way). Any ideas of how to load it as a service again?


There's a webpage at the "pyTivo Wiki" website that talks about configuring pyTivo under Windows:

http://pytivo.armooo.net/wiki/WindowsInstall

You should read this page on general principles, but here's the specific bit from that page about starting pyTivo as a service:



> Setting pyTivo as a Windows Service
> 
> If you choose to download a compressed package you must download pywin32 to create the pyTivo service.
> 
> * pywin32 (only to install as a service for compressed package distribution)
> o Version known to work -- from pyTivo download site.
> o General SourceForge download site.
> 
> 1. Download and install the pywin32 module of python. See http://sourceforge.net/projects/pywin32/
> 2. Start Menu->Run
> 3. Type "cmd" and hit enter
> 4. Change directory to base pyTivo directory (For example, type "cd C:\program files\pytivo")
> 5. Type "pyTivoService.py --startup auto install"


For the record, the fact that pyTivo can run as a service is the single most important reason I use it. I'm not always logged in to my PC, so I need my media server to start up when Windows starts. TiVo Desktop can't do this, and neither can Audio Faucet. I vaguely remember that Galleon can run as a service, but I've been happy enough with pyTivo that I haven't had the energy to try Galleon for several years.

The entire pyTivo Wiki site (http://pytivo.armooo.net/wiki) is fairly informative (in fact the information there appears to be canonical).

Another good site is the pyTivo Discussion Forums site: http://pytivo.krkeegan.com/.

-Polarweasel


----------



## tim_ver

Ok so I just download and install this: # Windows x86 MSI Installer (2.6.1) (sig)


And then just put files in a folder to view on Tivo?


Is it that easy or a little more to it? Need some help. 

Also I have Vista 64 so want to make sure I d/l the correct one. 

Thanks


----------



## briankasper

Southcross said:


> sorry for the newb question... but is there a "recomended" minimum system to run a pyTivo server? This might be the solution I've been looking for


I don't think there really is an official "minimum system". I'm running it on a Windows XP system with an AMD Athlon XP 2500+ (1800 MHz) CPU and 1GB of RAM, and it works fine. My computer slows down quite a bit for interactive users when pyTivo is transcoding a video file, but we just live with that.

To my mind, the biggest concern is your CPU -- video transcoding takes a lot of CPU horsepower. In fact, ffmpeg will use all the CPU cycles it can get, so when pyTivo has to convert a file it's sending to a TiVo, my system CPU usage pegs at 100%.

pyTivo should run, and convert videos, on pretty much any system. The main problem if your CPU isn't grunty enough will be that you won't be able to transcode videos fast enough to watch them in real time on your TiVo.

Sorry I can't be more informative. What CPU do you have, what OS are you running, and how much system RAM do you have?

-Polarweasel


----------



## briankasper

tim_ver said:


> Ok so I just download and install this: # Windows x86 MSI Installer (2.6.1) (sig)
> 
> And then just put files in a folder to view on Tivo?
> 
> Is it that easy or a little more to it? Need some help.
> 
> Also I have Vista 64 so want to make sure I d/l the correct one.
> 
> Thanks


Go to this page: http://pytivo.armooo.net/

Click on the "Installation" link for your operating system (Windows, Linux, OS X, Solaris, Linksys NSLU2). You're running Vista64, so you should click on "Windows". I've never installed pyTivo on either a 64-bit OS or on Vista, so you may have problems with which I'm not familiar, but it *should* work.

Follow the instructions you find there.

The installation instructions have become a bit more complicated of late, as rdian06 has supplied new versions of the Windows installer that install updated versions of the two "forks" (parallel development branches) of pyTivo (thanks, rdian06!). These two installers can be found here:

wgw's fork: pyTivo-wgw-2008.10.15-RC1.zip http://pytivo.krkeegan.com/download.php?id=114

wmcbrine's fork: pyTivo-wmcbrine-2008.08.20-RC1.zip http://pytivo.krkeegan.com/download.php?id=115

Either should work.

For help on how to configure pyTivo, go to this page: http://pytivo.armooo.net/wiki/ConfigurepyTivo

-Polarweasel


----------



## lrhorer

briankasper said:


> I don't think there really is an official "minimum system". I'm running it on a Windows XP system with an AMD Athlon XP 2500+ (1800 MHz) CPU and 1GB of RAM, and it works fine.


If you ask me, nothing "runs" on any computer under Windows. And to the OP, the answer of course is the minimum requirement is a 48 core 50 THz system with a 2000 TB RAID 60 drive array and 800G of RAM running under a radically optimized Linux kernel. 

Speaking seriously, briancasper's comments are pretty much on the money. I happen to be running pyTiVo on a 3.0Ghz dual core AMD Athlon 64 under Debian "Lenny" Linux with 8G of RAM and a 160G system drive. The videos are all kept on an 8TB RAID 6 array. Since essentially all my videos were recorded from TiVos in the first place, adn since all my TiVos are Series III class, the system never has to do any transcoding, at all. If the particular content being transferred does not require transcoding, then the CPU utilization is quite, quite low. On the few occasions I have transferred content which did require transcoding, the CPU utilization was not pegged, but then for the time being at least I don't ever transcode HD content. If all you are doing is transferring TiVo-friendly download content, then you won't need much at all in terms of either CPU horsepower or RAM. Hard drive space is of course another matter. HD content can easily gulp down more than 10GB per hour of recording. In addition, transferring very high bandwidth HD content (more than 17 Mbps on average) can be very challenging for the system, even without transcoding. If you are going to transfer much in the way of high bandwidth HD, and it needs transcoding, I suggest you transcode the file prior to transferring it, pyTivo's ability to transcode on the fly notwithstanding.



briankasper said:


> My computer slows down quite a bit for interactive users when pyTivo is transcoding a video file, but we just live with that.


This, along with quite a few other reasons is why I prefer a dedicated video / file server. Not that the machine I am using would suffer too greatly from the added stress of just pyTiVo, but the server does nothing but... serve. Since it can do so with peaks exceeding 450Mbps, it has no problem at all serving videos to a handful of TiVos and user workstations. (I often edit and transfer videos from my workstation while programs are downloading to one or more TiVos).


----------



## briankasper

lrhorer said:


> If you ask me, nothing "runs" on any computer under Windows.


Surprisingly, I find myself disagreeing with you. I've quite a bit of experience with different operating systems, and I have to give Microsoft credit, Windows 2000 was actually their first decent general-use OS. Windows XP is even a nontrivial improvement over Win2000.

I'd prefer the reliability, security, true multiuser functionality, and ease of remote access of one of the Unixen, but since stuff like Python is available under Windows, I can live with it. We only have one system at home, and my wife and kids need to run some Windows-specific software, so for us the path of least resistance is to run Windows.



> And to the OP, the answer of course is the minimum requirement is a 48 core 50 THz system with a 2000 TB RAID 60 drive array and 800G of RAM running under a radically optimized Linux kernel.


What? No petabyte holographic qubit storage? Ah well, we can always dream.



> Speaking seriously, briancasper's comments are pretty much on the money. I happen to be running pyTiVo on a 3.0Ghz dual core AMD Athlon 64 under Debian "Lenny" Linux with 8G of RAM and a 160G system drive. The videos are all kept on an 8TB RAID 6 array.


Please excuse me while I wipe the drool off my monitor ....



> Since essentially all my videos were recorded from TiVos in the first place, adn since all my TiVos are Series III class, the system never has to do any transcoding, at all. If the particular content being transferred does not require transcoding, then the CPU utilization is quite, quite low. On the few occasions I have transferred content which did require transcoding, the CPU utilization was not pegged, but then for the time being at least I don't ever transcode HD content. If all you are doing is transferring TiVo-friendly download content, then you won't need much at all in terms of either CPU horsepower or RAM. Hard drive space is of course another matter. HD content can easily gulp down more than 10GB per hour of recording. In addition, transferring very high bandwidth HD content (more than 17 Mbps on average) can be very challenging for the system, even without transcoding. If you are going to transfer much in the way of high bandwidth HD, and it needs transcoding, I suggest you transcode the file prior to transferring it, pyTivo's ability to transcode on the fly notwithstanding.


You make several very good points here. How do you transcode files by hand? Just run ffmpeg with the appropriate options from the command line? We have a mix of stuff downloaded from our S3 and videos in other formats; I occasionally use SUPER, which is a GUI frontend for mencoder and ffmpeg, to convert videos to MPG for serving to our TiVo, but I've never mucked around with it enough to make 100% sure I have the framerate, bitrate, etc. exactly correct so the videos don't have to be transcoded on the fly.



> This, along with quite a few other reasons is why I prefer a dedicated video / file server. Not that the machine I am using would suffer too greatly from the added stress of just pyTiVo, but the server does nothing but... serve. Since it can do so with peaks exceeding 450Mbps, it has no problem at all serving videos to a handful of TiVos and user workstations. (I often edit and transfer videos from my workstation while programs are downloading to one or more TiVos).


I'm not able to do anything CPU-intensive when a video is being transcoded to our S3. At present, we're *just* able to get by with a single-CPU system for combined general use and video serving, and I sometimes have to play with relative process priorities to make that happen. I've had my motherboard and CPU for something like 6-7 years, so a computer upgrade is definitely in our immediate future. I'll be going with a quad-core 64-bit CPU, but we'll unfortunately still be running 32-bit Windows, as it works just well enough that I can't justify the potential problems of upgrading the OS.

-Polarweasel


----------



## dlfl

If you use pyTivoMetaGen and have a preference about the handling of the Title item for series episodes, take a look at this post on the pyTivo forum.

Post your desires either there or here.


----------



## Southcross

briankasper said:


> I don't think there really is an official "minimum system". I'm running it on a Windows XP system with an AMD Athlon XP 2500+ (1800 MHz) CPU and 1GB of RAM, and it works fine. My computer slows down quite a bit for interactive users when pyTivo is transcoding a video file, but we just live with that.


thanks for the info.... I just installed it today (and have already started a mental wish list of enhancements).

Right now its being run on a Windows box... Core2Duo 1.8ghz, 2GB ram, 1.5TB storage... so far runs like a champ and blows the standard tivo software out of the water. Only failure i've had so far was with a RealPlayer .RM video, otherwise it transferred every file I tried so far.

I'm wondering if I could use any of the other machines I have (I have many collecting dust) just to serve files... maybe even just pre-converted/.tivo files. Several PII and a handful of PIII/Celeron machines... RAM ranging from 384MB to 1GB.

Edit... ok, have to add a comment from pulling my hair out for about 1/2 hour now... "music"
There is no confirmation/viewable share via the pyTiVo interface that your music share is there, working, what its sharing... it wasn't until I looked out of curriousity that I saw "my music" listed in the "music, pics, etc" section of the Tivo. Seemed a touch counter intuitive


----------



## Rdian06

Southcross said:


> Edit... ok, have to add a comment from pulling my hair out for about 1/2 hour now... "music"
> There is no confirmation/viewable share via the pyTiVo interface that your music share is there, working, what its sharing... it wasn't until I looked out of curriousity that I saw "my music" listed in the "music, pics, etc" section of the Tivo. Seemed a touch counter intuitive


That's nothing pyTivo can control. It's just where Tivo choose to place it.


----------



## westside_guy

I find myself using pytivo for videos, but still using (the Mac version of) Tivo Desktop for my music and photo sharing. Tivo's software handles my iTunes playlists and the like, which I find handy.


----------



## Southcross

Rdian06 said:


> That's nothing pyTivo can control. It's just where Tivo choose to place it.


I'm talking about the built in interface http://localhost:9032 that is pyTiVo controlled  its not listed as a "share" like the video shares

Another "bug"? Unless its already a known issue that I just haven't see in the 70+ pages to this thread LOL!

I get a "no option" error when I try to push a video


Code:


No option 'tivo_username' in section: 'Server'

Traceback (most recent call last):
  File "C:\pyTivo\plugins\video\video.py", line 484, in Push
    m = mind.getMind()
  File "C:\pyTivo\mind.py", line 259, in getMind
    username = config.getTivoUsername()
  File "C:\pyTivo\config.py", line 39, in getTivoUsername
    return config.get('Server', 'tivo_username')
  File "C:\Python26\lib\ConfigParser.py", line 540, in get
    raise NoOptionError(option, section)
NoOptionError: No option 'tivo_username' in section: 'Server'

I assume I need to set an option somewhere?


----------



## wmcbrine

Only the video shares are listed there because the only purpose of that listing is to allow the use of the push feature, which doesn't apply to music or photos.

Push requires the username and password that you use on tivo.com.


----------



## vinman

posted this on the pytivo board but since this seems active i guess ill put here as well, any help would be appreciated

Been using Pytivo for awhile on older computer for awhile but that one had issues so i am trying to install it now on newer Vista box. I downloaded the latest version pyTivo-wgw-2008.10.15-RC1.exe and installed Python 2.61 version. It seemed to install fine. i put the folders like i had them on old server (my conf file is below) and when i go to the tivos i can see the My Video My TV folders but when i select them they are empty? there seems to be alot more options in this conf file then the old one so not sure if im missing some other config i need to change. Any help is appreciated

thx 
Vinman

[loggers] 
keys = root

[handler_rotfile] 
formatter = basicform 
class = logging.handlers.RotatingFileHandler 
args = ('C:\Program Files\pyTivo\debug.log', 'a', 10485760, 5)

[handler_console] 
formatter = basicform 
class = StreamHandler 
args = (sys.stdout,)

[My Videos] 
type = video 
path = \\Nas-01-ba-5a\media\Videos\Movies

[My TV] 
type = video 
path = \\Nas-01-ba-5a\media\Videos\TV

[Admin] 
tivo_mak = XXXXXXX 
togo_path = C:\downloads\stuff 
type = admin

[handlers] 
keys = console,rotfile

[formatters] 
keys = basicform

[formatter_basicform] 
class = logging.Formatter 
format = %(asctime)s %(levelname)-5s %(name)s: %(message)s

[logger_root] 
handlers = console,rotfile 
level = DEBUG

[Server] 
port = 9032 
hack83 = true 
ffmpeg = C:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe


----------



## Southcross

wmcbrine said:


> Only the video shares are listed there because the only purpose of that listing is to allow the use of the push feature, which doesn't apply to music or photos.
> 
> Push requires the username and password that you use on tivo.com.


ahh... gotcha! :up: seems to be working now


----------



## Clusty

Is there another good XML-metadata site for movies? Movie-xml.com isn't working.


----------



## dlfl

Clusty said:


> Is there another good XML-metadata site for movies? Movie-xml.com isn't working.


Yes, Netflix has an API that allows you free access to their XML database. This plus TheMovieDB and IVA are used by pyTivoMetagenerator. If your OS is Windows you should try it.


----------



## PaulS

Never mind. Dlfl beat me to it.


----------



## dlfl

I've added a check box to set whether the episode # and episode name are incorporated into the title item for series episodes. 

Follow the link in my signature to download. Be sure to uninstall any previous version.


----------



## wgw

lrhorer said:


> Well, I could understand wantingto have the season and episode there, but having just the minor episode number seems totally pointless. I definitely vote for having the ability to remove it entirely, whether optionally or not. It seems to me if it is to be optional, though, then the only option that makes sense is the ability to have the season and episode both appear.


That's the way the tivo provides the episode number, season+episode. I'd recommend that any metagenerator do the same. I agree, putting the episode number in the metadata without the season is pointless.


----------



## wgw

I've started a new thread for different pyTivo video templates which can be used to replace the template included with your favorite version of pytivo. These allow for metadata to be displayed in different formats on the TiVo.

http://pytivo.krkeegan.com/pytivo-video-templates-t618.html


----------



## AZ_Tivo

I am trying to install this on a new Vista machine (logged in as admin). But when I try http://localhost:9032/ I get page cannot be displayed. Also, I cannot stop service from program. I can stop it from the services console. Some basic permission issue here?

When I stop the service from services and go into console I see the error message. It says name 'logging' is not defined. I am enclosing a screenshot. Can someone help please?

EDIT : Uninstalled Python 2.5 & 3.0 and installed 2.6 with pytivo again. That took care of it.


----------



## AZ_Tivo

Now that ptivo is running fine on my new vista box, I am trying to modify the config for me SD tivo and HD tivo. Can someone tell if this looks ok?

[Server]
port=9032
ffmpeg=C:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe

[My Videos]
type=video
path=D:\MyMovies

[Admin]
type=admin

[loggers]
keys=root

[handlers]
keys=console,rotfile

[formatters]
keys=basicform

[logger_root]
level=DEBUG
handlers=console,rotfile

[handler_console]
class=StreamHandler
formatter=basicform
args=(sys.stdout,)

[handler_rotfile]
class=logging.handlers.RotatingFileHandler
formatter=basicform
args=('C:\Program Files\pyTivo\debug.log', 'a', 10485760, 5)

[formatter_basicform]
format=%(asctime)s %(levelname)-5s %(name)s: %(message)s
class=logging.Formatter

[_tivo_HD]
aspect169=True
audio_br=384K
video_br=8192
width=1920
height=1080
ffmpeg_prams= -vcodec mpeg2video -b %(video_br)s -maxrate %(max_video_br)s -bufsize %(buff_size)s %

(aspect_ratio)s -comment pyTivo.py -ab %(audio_br)s %(audio_fr)s %(audio_codec)s -f vob -

[_tivo_SD1]
aspect169=True
audio_br=192K
video_br=4096K
width=544
height=480
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 -ab %(audio_br)s %(audio_fr)s %(audio_codec)s -f vob -


----------



## wgw

AZ_Tivo said:


> Now that ptivo is running fine on my new vista box, I am trying to modify the config for me SD tivo and HD tivo. Can someone tell if this looks ok?
> [_tivo_HD]
> aspect169=True
> audio_br=384K
> video_br=8192
> width=1920
> height=1080
> ffmpeg_prams= -vcodec mpeg2video -b %(video_br)s -maxrate %(max_video_br)s -bufsize %(buff_size)s %
> 
> (aspect_ratio)s -comment pyTivo.py -ab %(audio_br)s %(audio_fr)s %(audio_codec)s -f vob -
> 
> [_tivo_SD1]
> aspect169=True
> audio_br=192K
> video_br=4096K
> width=544
> height=480
> 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 -ab %(audio_br)s %(audio_fr)s %(audio_codec)s -f vob -


ffmpeg_prams has been changed in current versions. I would recommend deleting it. The following config is more appropriate unless you are really limited on space on the HD tivo. In which case you should delete everything after aspect169.

[_tivo_HD]
aspect169=True
audio_br=448K
video_br=16Mi
width=1920
height=1080

[_tivo_SD1]
aspect169=True (assuming your S2 is connected to a 16:9 TV)


----------



## MikeAndrews

AZ_Tivo said:


> I am trying to install this on a new Vista machine (logged in as admin). But when I try http://localhost:9032/ I get page cannot be displayed. Also, I cannot stop service from program. I can stop it from the services console. Some basic permission issue here?
> 
> When I stop the service from services and go into console I see the error message. It says name 'logging' is not defined. I am enclosing a screenshot. Can someone help please?
> 
> EDIT : Uninstalled Python 2.5 & 3.0 and installed 2.6 with pytivo again. That took care of it.


I got that message - and pyTivo wouldn't run - until I commented out the logging section.

I see now that the web configurator put it back in. Dunno.


----------



## AZ_Tivo

wgw said:


> ffmpeg_prams has been changed in current versions. I would recommend deleting it. The following config is more appropriate unless you are really limited on space on the HD tivo. In which case you should delete everything after aspect169.
> 
> [_tivo_HD]
> aspect169=True
> audio_br=448K
> video_br=16Mi
> width=1920
> height=1080
> 
> [_tivo_SD1]
> aspect169=True (assuming your S2 is connected to a 16:9 TV)


Appreciate it. I have 1 TB space on Tivo HD so I should be ok. I will give this a try tomorrow and update here. Thanks 

Can you point me to information on push feature of pyTivo?


----------



## Rdian06

netringer said:


> I got that message - and pyTivo wouldn't run - until I commented out the logging section.
> 
> I see now that the web configurator put it back in. Dunno.


I haven't had time to track down the logging issue, but from what most people have described it's a Python install issue. Normally uninstalling and re-installing Python 2.6 takes care of it.

As for commenting out the logging section and the web configurator putting it back, did you shutdown pyTivo before updating the conf file? If not, the web configurator will overwrite your changes. So shutdown pyTivo before editing the conf file.


----------



## Southcross

_bah... I can't find the thread to link to... a step-by-step on how to convert .TiVo files to MPG to MP4 format._

anywaysies...

here is my question:
Other than the native .TiVo files, and MPEG2 files, what format/encoding is the "MOST" efficient for pyTivo/FFMPEG AND the most efficient for space?

My past experiences with early MP4 formats make me lean away from it. Quality is a concern, but so is space... two 500GBs, both are over 75% full (mostly .TiVo recordings). I've stooped to converting them .MPG format and editing out the commercials, I had no idea that a 4GB movie has nearly 1GB worth of commercial content LOL!


----------



## windracer

Southcross said:


> _bah... I can't find the thread to link to... a step-by-step on how to convert .TiVo files to MPG to MP4 format._


I recently started using this method ... with decent results:

http://www.tivocommunity.com/tivo-vb/showthread.php?p=6844399#post6844399


----------



## Southcross

windracer said:


> I recently started using this method ... with decent results:
> 
> http://www.tivocommunity.com/tivo-vb/showthread.php?p=6844399#post6844399


now THAT is the writeup I was trying to find (forgot to bookmark it)... I just question what codec is going to be the most "compatible" with pyTiVo/FFmpeg


----------



## KungFuCow

Well.. Im having an issue I hope someone here can help me with. PyTivo was working great for me and then all of a sudden it quit showing up in my Now Playing list. I uninstalled it and installed Tivo Desktop and that worked okay.. it just kind of, well, sucks. So I uninstalled that and installed Galleon and that showed up fine as well.

I reinstalled PyTivo and it still isnt showing up. Web configuration works fine.. I just dont have a "My Videos" entry on my Tivo.

All I get when I run it in console mode is



> 2009-01-07 16:54:13,344 INFO pyTivo: pyTivo is ready.


Anyone got any ideas?


----------



## Southcross

what OS are you running it under? my guess would be a Port/Firewall issue if under windows.


----------



## KungFuCow

Southcross said:


> what OS are you running it under? my guess would be a Port/Firewall issue if under windows.


Its Windows Vista.

Firewall is disabled.

Ive gone through the complete checklist on the PyTivo website and I am getting requests from the Tivo in PyTivo's console. Just nothing is showing up on the actual Tivo.


----------



## Southcross

I don't know if it matters... but in the "get music and pictures" do you have "Enable (I forget what its called, something like Home media network applications)" turned on? no idea if that would make any difference
Have you used the browser interface and verified what shows in your video shares? I don't think anything will show if they are "empty" or "appear empty"


----------



## KungFuCow

The video shares show up in my browser okay. I dont have the picture or music stuff enabled.

It worked fine one day and then just quit.. I havent been able to get it working since.


----------



## Southcross

hmmm... well, I've tried troubleshooting the most obvious LOL!

Do you run TiVoDesktop? Does it see the Tivo? Does the Tivo see the native TivoServer?


----------



## KungFuCow

Southcross said:


> hmmm... well, I've tried troubleshooting the most obvious LOL!
> 
> Do you run TiVoDesktop? Does it see the Tivo? Does the Tivo see the native TivoServer?


Yea... Tivo Desktop works okay as does Galleon. Just PyTivo doesnt show up.


----------



## Rdian06

KungFuCow said:


> Yea... Tivo Desktop works okay as does Galleon. Just PyTivo doesnt show up.


Have you tried rebooting your Tivo? Your Tivo probably just has a confused cache.


----------



## DrewS3

Does anyone know how to fix the #3-5-6 error when using pyTivo? I am running it on a Linkstation Pro NAS and I can click once or twice through the menu on the Tivo HD, then I will get the #3-5-6 error and it will boot me to the main menu.


----------



## KungFuCow

Rdian06 said:


> Have you tried rebooting your Tivo? Your Tivo probably just has a confused cache.


I have but Ill do it again.

Something I noticed look at the PyTivo console, my Tivo only attempt to connect to PyTivo once. Is that normal?


----------



## cadmium

Any reason a particular video would transfer to a S2 Tivo, but fail on a TivoHD?

The videos in question http://www.msjphotography.com/


----------



## wmcbrine

cadmium said:


> Any reason a particular video would transfer to a S2 Tivo, but fail on a TivoHD?


You might want to elaborate on what you mean by "fail".

pyTivo transcodes differently for S2's vs. S3's; one particular problem is that it passes through the native framerate to an S3, which doesn't always work. (S2's always get 29.97 fps.)


----------



## cadmium

wmcbrine said:


> You might want to elaborate on what you mean by "fail".
> 
> pyTivo transcodes differently for S2's vs. S3's; one particular problem is that it passes through the native framerate to an S3, which doesn't always work. (S2's always get 29.97 fps.)


I'll select the video through the Tivo to transfer, start transfering and it will pretend it's transfering for a while, but stay at 0 and after a few minutes just stop altogether.

On the S2, all works as normal.

Is there any way around the fps issue?


----------



## MasterCephus

Just released an update to the MetaGenerator.

Get it here

Released notes are there as well.


----------



## BigAppleNYC

your software is great ... way more stable then TivoDesKtop and i can now finally playback Videos in 5.1 Audio. Great job .. it encodes faster as well... Wondering if i can play also just seperate ac3 encoded 5.1 audio files as well.... ? thanks for your work... You saved my houshold....


----------



## grogdamighty

First off, my apologies if this has already been answered, but I couldn't find anything with the (limited) search capabilities on this site.

I've been using pyTivo on my wife's XP desktop with my Tivo HD for about 6 months now. I just installed the Windows 7 Beta on the computer and now am having problems getting pyTivo working. I would understand this given that it's beta software, but research leads me to believe that it's an inherited problem from Vista. So here's the problem...

Python (2.6.1 x86) and pyTivo (pyTivo-wgw-2008.10.15-RC1) install fine, but the desktop doesn't show up on the Tivo and the Now Playing list doesn't show up on the web version of TivoToGo (with MAK inputted). When I select Start Service, I get a console window that says "System error 5 has occurred. Access is denied." I'm running from an administrator account and I've allowed pyTivo through my firewall.

Some Googling gave me this answer:


> This error message is displayed because the Windows Vista User Account Control (UAC) does not grant administrative rights to local users automatically. This applies even if the local users are members of the Administrative group.


I followed their somewhat shady suggestion to create a new DWORD registry value of LocalAccountTokenFilterPolicy = 1 at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System but that did not solve anything.

Any help, please? Remember my tech level = run Windows beta with confidence, < run Linux on my main computer.


----------



## dlfl

*MetaToExcel* scans the pyTivo metadata files in a folder and creates an Excel spreadsheet with a row for each video and columns containing the metadata items you configure. It requires Excel 2003 and .NET 2.0.

See ***this thread in the pyTivo forum*** for details and download.

Thanks to user *msmart* for suggesting this program and for testing.


----------



## MasterCephus

grogdamighty said:


> First off, my apologies if this has already been answered, but I couldn't find anything with the (limited) search capabilities on this site.
> 
> I've been using pyTivo on my wife's XP desktop with my Tivo HD for about 6 months now. I just installed the Windows 7 Beta on the computer and now am having problems getting pyTivo working. I would understand this given that it's beta software, but research leads me to believe that it's an inherited problem from Vista. So here's the problem...
> 
> Python (2.6.1 x86) and pyTivo (pyTivo-wgw-2008.10.15-RC1) install fine, but the desktop doesn't show up on the Tivo and the Now Playing list doesn't show up on the web version of TivoToGo (with MAK inputted). When I select Start Service, I get a console window that says "System error 5 has occurred. Access is denied." I'm running from an administrator account and I've allowed pyTivo through my firewall.
> 
> Some Googling gave me this answer:
> 
> I followed their somewhat shady suggestion to create a new DWORD registry value of LocalAccountTokenFilterPolicy = 1 at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System but that did not solve anything.
> 
> Any help, please? Remember my tech level = run Windows beta with confidence, < run Linux on my main computer.


I would try to open the command prompt as Administrator (if you can in version 7...you can in Vista), and then run the command line pyTivo and see what happens.

If that works, I would then try to set the service to run as the administrator and see what happens...

That's the problem with running beta stuff


----------



## grogdamighty

MasterCephus said:


> I would try to open the command prompt as Administrator (if you can in version 7...you can in Vista), and then run the command line pyTivo and see what happens.
> 
> If that works, I would then try to set the service to run as the administrator and see what happens...


When I select "pyTivo - console" and "Run as administrator," it says "Error. The pyTivo service is already running."

I'm new to this... all I've ever done is let it run as a service and not worry about it.


----------



## MasterCephus

> When I select "pyTivo - console" and "Run as administrator," it says "Error. The pyTivo service is already running."
> 
> I'm new to this... all I've ever done is let it run as a service and not worry about it.


Go into your services list and stop the pyTivo service.

Then I would open a command prompt as an administrator and then go to the directory where pyTivo is and run the pyTivo.py script.

You should be able to see if any errors persist.


----------



## grogdamighty

> Checking to see if pyTivo is already running . . .
> 
> Starting pyTivo Server. Use ctrl+Break to exit.
> 
> C:\Program Files (x86)\pyTivo\Cheetah\CacheRegion.py:30: DeprecationWarning: the
> md5 module is deprecated; use hashlib instead
> import md5
> 2009-01-15 15:29:20,592 INFO pyTivo: pyTivo is ready.
> 127.0.0.1 - - [15/Jan/2009 15:29:43] "GET / HTTP/1.1" 200 -
> C:\Program Files (x86)\pyTivo\Cheetah\Compiler.py:1508: UserWarning:
> You don't have the C version of NameMapper installed! I'm disabling Cheetah's useStackFrames option as it is painfully slow with the Python version of NameMapper. You should get a copy of Cheetah with the compiled C version of NameMapper.
> "\nYou don't have the C version of NameMapper installed! "
> 127.0.0.1 - - [15/Jan/2009 15:29:52] "GET /TiVoConnect?Command=Admin&Container=A
> dmin HTTP/1.1" 200 -
> 127.0.0.1 - - [15/Jan/2009 15:31:49] "GET / HTTP/1.1" 200 -
> 127.0.0.1 - - [15/Jan/2009 15:31:55] "GET /TiVoConnect?Command=NPL&Container=Adm
> in HTTP/1.1" 200 -
> 127.0.0.1 - - [15/Jan/2009 15:34:20] "GET /TiVoConnect?Command=NPL&Container=Adm
> in HTTP/1.1" 200 -
> 127.0.0.1 - - [15/Jan/2009 15:34:53] "GET /TiVoConnect?Command=SaveNPL&Container
> =Admin&tivo_mak=**********&togo_path=C%3A%5CUsers%5C********%5CVideos HTTP/1.1"
> 200 -
> 127.0.0.1 - - [15/Jan/2009 15:34:56] "GET /TiVoConnect?last_page=NPL&Command=Res
> et&Container=Admin HTTP/1.1" 200 -
> 2009-01-15 15:34:56,295 INFO pyTivo.admin: pyTivo has been soft reset.
> 127.0.0.1 - - [15/Jan/2009 15:35:00] "GET /TiVoConnect?Command=NPL&Container=Adm
> in HTTP/1.1" 200 -


Maybe I've had a different problem all along? The above is what transpired in the command prompt window while I accessed the pyTivo config file with localhost:9032. The settings in this version (wgw-2008.10.15) look different than I recall from armooo's, so maybe I just don't have it configured, but nothing is showing up on my Tivo and my Now Playing list isn't showing up on TivoToGo despite correct MAK input.

Thanks for your help! My laptop would really appreciate if I could get the more powerful desktop to handle the pyTivo tasks.


----------



## Rdian06

grogdamighty said:


> Maybe I've had a different problem all along? The above is what transpired in the command prompt window while I accessed the pyTivo config file with localhost:9032. The settings in this version (wgw-2008.10.15) look different than I recall from armooo's, so maybe I just don't have it configured, but nothing is showing up on my Tivo and my Now Playing list isn't showing up on TivoToGo despite correct MAK input.
> 
> Thanks for your help! My laptop would really appreciate if I could get the more powerful desktop to handle the pyTivo tasks.


Post your conf file (make sure to black out your MAK,any passwords, and TSNs.)

Also, how many network adapters do you have in your machine? If you have more than one active adapter (say from VMware or some non-standard networking setup) pyTivo can get confused about which adapter to use for sending the advertising broadcasts and you need to create a slightly more specific becon line.


----------



## dcahoe

dlfl said:


> *MetaToExcel* scans the pyTivo metadata files in a folder and creates an Excel spreadsheet with a row for each video and columns containing the metadata items you configure. It requires Excel 2003 and .NET 2.0.
> 
> See ***this thread in the pyTivo forum*** for details and download.
> 
> Thanks to user *msmart* for suggesting this program and for testing.


TiVoPlayList now includes all of the detailed metadata information in the files created using the Export playlist function. This allows you to get information for all of the shows on your TiVo into files viewable by programs like Excel.

The above MetaToExcel program would only work for files that you have already transferred to your PC.

TiVoPlayList can create metadata files automatically when transferring files to a PC. It also has AutoDownload rules for transferring shows automatically and can run post-download processing commands to convert .tivo files to .mpg or other formats.


----------



## grogdamighty

Rdian06 said:


> Post your conf file (make sure to black out your MAK,any passwords, and TSNs.)


This?


> [loggers]
> keys = root
> 
> [handler_console]
> formatter = basicform
> class = StreamHandler
> args = (sys.stdout,)
> 
> [handlers]
> keys = console,rotfile
> 
> [Admin]
> tivo_mak = **********
> togo_path = C:\Users\********\Videos
> type = admin
> 
> [handler_rotfile]
> formatter = basicform
> class = logging.handlers.RotatingFileHandler
> args = ('C:\Program Files (x86)\pyTivo\debug.log', 'a', 10485760, 5)
> 
> [Server]
> port = 9032
> ffmpeg = C:\Program Files (x86)\pyTivo\plugins\video\ffmpeg_mp2.exe
> 
> [formatter_basicform]
> class = logging.Formatter
> format = %(asctime)s %(levelname)-5s %(name)s: %(message)s
> 
> [logger_root]
> handlers = console,rotfile
> level = DEBUG
> 
> [Videos]
> type = video
> path = C:\Users\********\Videos
> 
> [formatters]
> keys = basicform





> Also, how many network adapters do you have in your machine? If you have more than one active adapter (say from VMware or some non-standard networking setup) pyTivo can get confused about which adapter to use for sending the advertising broadcasts and you need to create a slightly more specific becon line.


So far as I know, there's only one network adapter in this system. Again, I never had any problems running pyTivo on this system when it was using XP, it's just since I installed Windows 7 (and from Googling, it seems like this is an inherited problem from Vista). This is a clean install, with nothing but Firefox, uTorrent, DVD Decrypter, and python/pyTivo installed.


----------



## Rdian06

grogdamighty said:


> So far as I know, there's only one network adapter in this system. Again, I never had any problems running pyTivo on this system when it was using XP, it's just since I installed Windows 7 (and from Googling, it seems like this is an inherited problem from Vista). This is a clean install, with nothing but Firefox, uTorrent, DVD Decrypter, and python/pyTivo installed.


Your Tivo is never contacting your pyTivo instance. Most likely because somehow it isn't receiving the beacons.

In your server section, try adding a beacon = tivo IP address line to the Server section of your conf file. That's what has fixed it in the past.


----------



## grogdamighty

Rdian06 said:


> Your Tivo is never contacting your pyTivo instance. Most likely because somehow it isn't receiving the beacons.
> 
> In your server section, try adding a beacon = tivo IP address line to the Server section of your conf file. That's what has fixed it in the past.


That didn't work either.


----------



## grogdamighty

I posted my issue on a pre-existing thread on the pyTivo support forum in the hope of a solution.

(Had to post again because I didn't have enough posts to put a link)


----------



## vitocorleone

I have pyTivo installed and it works great for videos (so far). However, if I try to publish a music or photos location in the config file, the TivoHD stops seeing ALL shares, including video (have to undo changes in config, restart service and reboot tivo just to get it to see the videos again).

TivoHD + pyTivo installed in Windows running as service + python 2.6.1

Any ideas? Thanks!


----------



## Rdian06

vitocorleone said:


> I have pyTivo installed and it works great for videos (so far). However, if I try to publish a music or photos location in the config file, the TivoHD stops seeing ALL shares, including video (have to undo changes in config, restart service and reboot tivo just to get it to see the videos again).
> 
> TivoHD + pyTivo installed in Windows running as service + python 2.6.1
> 
> Any ideas? Thanks!


Maybe your music/photo share path contains a weird character that is throwing off the rest of the configuration? Try making a c:\photos folder and defining it as a share.


----------



## mathwhiz

I just started using pyTiVo - and want to work on enhancing it. I've noticed one issue so far. I have a Series 3 TiVo and use most of the default settings for video encoding except for forcing the fps to 29.97. When I am done watching videos that came from pyTiVo the audio is "muddy"/distorted on TiVo recorded shows until I press TiVo and that resets the audio buffers somehow (you can tell it's fixing something since the "bong" for going to TiVo central is distorted). 

Anyone else have this problem and/or know how to fix it?

Thanks!


----------



## fred2

mathwhiz said:


> I just started using pyTiVo - and want to work on enhancing it. I've noticed one issue so far. I have a Series 3 TiVo and use most of the default settings for video encoding except for forcing the fps to 29.97. When I am done watching videos that came from pyTiVo the audio is "muddy"/distorted on TiVo recorded shows until I press TiVo and that resets the audio buffers somehow (you can tell it's fixing something since the "bong" for going to TiVo central is distorted).
> 
> Anyone else have this problem and/or know how to fix it?
> 
> Thanks!


Hmmmmmm. I have periodic "sound issues" - kind of breaking up or like some metal has a slight rattle to it but never particularly associated it with downloads from pytivo. Now I will have to listen for it after downloads and see if it was pytivo downloads that created it or it was just an anomaly.


----------



## wmcbrine

Never heard of that.


----------



## westside_guy

I've never had any audio issues related to pyTivo.


----------



## Iluvatar

mathwhiz said:


> I just started using pyTiVo - and want to work on enhancing it. I've noticed one issue so far. I have a Series 3 TiVo and use most of the default settings for video encoding except for forcing the fps to 29.97. When I am done watching videos that came from pyTiVo the audio is "muddy"/distorted on TiVo recorded shows until I press TiVo and that resets the audio buffers somehow (you can tell it's fixing something since the "bong" for going to TiVo central is distorted).
> 
> Anyone else have this problem and/or know how to fix it?
> 
> Thanks!


Do you have a Samsung or Sharp panel connected with HDMI? And would you say that the sounds are higher pitch than normal?


----------



## Southcross

Iluvatar said:


> Do you have a Samsung or Sharp panel connected with HDMI? And would you say that the sounds are higher pitch than normal?


computer Codec issue perhaps?


----------



## Iluvatar

Southcross said:


> computer Codec issue perhaps?


Most users will be using the same version of FFMPEG (the one included in the package) so if this were the case everyone would experience it.

What I <think> it may be is something similar to what I have experience with pyTivo in the past and many users recently have experienced with Netflix on TiVo when using a certain TV setup. That being high pitched sounds (chipmunk like voices) and messed up TiVo system sounds after exiting the video.


----------



## Czachorski

I just downloaded this program and installed it, and found that it works real well, is easy to use, and a great utility. I just wanted to drop a note of thanks!


----------



## mathwhiz

Iluvatar said:


> Do you have a Samsung or Sharp panel connected with HDMI? And would you say that the sounds are higher pitch than normal?


Yes - Samsung DLP RPTV (61") and yes with HDMI and yes a tad bit higher pitch. I also had to set the fps to 29.97 because when the TiVo switched fps I'd have to cycle the inputs on my TV to get the video back. I also need to figure out what to tweak so the videos don't get cropped on the edges when being displayed. (Any hints?)

Thanks!!


----------



## wmcbrine

mathwhiz said:


> I also need to figure out what to tweak so the videos don't get cropped on the edges when being displayed. (Any hints?)


http://pytivo.krkeegan.com/pad-the-video-output-for-tvs-that-do-not-disp-a-full-image-t104.html


----------



## Iluvatar

mathwhiz said:


> Yes - Samsung DLP RPTV (61") and yes with HDMI and yes a tad bit higher pitch. I also had to set the fps to 29.97 because when the TiVo switched fps I'd have to cycle the inputs on my TV to get the video back. I also need to figure out what to tweak so the videos don't get cropped on the edges when being displayed. (Any hints?)
> 
> Thanks!!


As to the sound problem (if its the one i'm thinking of) the only for sure solution for now was to change your connection from HDMI to Component. It seems to be a compatibility issue between the TV and TiVo.


----------



## mathwhiz

I'm not going to switch connections - seems odd though that all the TiVo shows work fine. It's not a big big deal, just a minor annoyance. It almost sounded like Iluvatar might know the problem and had a fix - not sure.


----------



## Iluvatar

mathwhiz said:


> I'm not going to switch connections - seems odd though that all the TiVo shows work fine. It's not a big big deal, just a minor annoyance. It almost sounded like Iluvatar might know the problem and had a fix - not sure.


Sorry no known fix except changing cables or downloading alternate video sources. It primarily affects Sharp and Samsung panels (not all models) ( and a very few models from other manufacturers as well). You can verify it is this bug by trying Netflix streaming. 95% of all non-HD videos will have the same sound issues.

If it really is a TiVo issues I assume it will be fixed at some point as plenty of people have complained. If it is a TV issue then we are at the mercy of the manufacturers to issue a firmware upgrade for our panels.


----------



## Southcross

Looking at the bug tracker...it makes me laugh :laugh:
http://pytivo.armooo.net/query

anywaysies....

I don't know if this is a known bug, but sub-folders with symbols causes pyTivo to freak out starts embedding other shares inside the folder and not show the actual contents of said folder.
Folder name in question: "SPORTB. MOTOR POWERED SPORTS©" its auto-generated by my Podcast software


----------



## cherry ghost

This used to run fine for me on XP, but I can't seem to get it to work on my new Vista computer. Is there a specific version of Python I should use. I tried "Windows x86 MSI Installer (2.6.1)", but couldn't get things to work. Can't see my computer from the TiVo.


----------



## cherry ghost

cherry ghost said:


> This used to run fine for me on XP, but I can't seem to get it to work on my new Vista computer. Is there a specific version of Python I should use. I tried "Windows x86 MSI Installer (2.6.1)", but couldn't get things to work. Can't see my computer from the TiVo.


I figured it out, firewall problem. My firewall was blocking some python.exe activity. A little tweaking and it's fixed.


----------



## mosley

Hi, I am new to pyTivo. I installed python, and pyTivo, and had it working pretty well for a while (and was loving it). Then out of nowhere, it stopped working.

When I double-click pyTivo.bat This is what I get and it just sits there.


> Checking to see if pyTivo is already running . . .
> 
> Starting pyTivo Server. Use ctrl+Break to exit.
> 
> C:\Program Files\pyTivo\Cheetah\CacheRegion.py:30: DeprecationWarning: the md5 m
> odule is deprecated; use hashlib instead
> import md5
> 2009-02-04 21:04:53,015 INFO pyTivo: pyTivo is ready.
> C:\Program Files\pyTivo\Cheetah\Compiler.py:1508: UserWarning:
> You don't have the C version of NameMapper installed! I'm disabling Cheetah's us
> eStackFrames option as it is painfully slow with the Python version of NameMappe
> r. You should get a copy of Cheetah with the compiled C version of NameMapper.
> "\nYou don't have the C version of NameMapper installed! "
> 192.168.1.106 - - [04/Feb/2009 21:04:53] "GET /TiVoConnect?Command=QueryContaine
> r&Container=%2F HTTP/1.0" 200 -
> 192.168.1.100 - - [04/Feb/2009 21:04:53] "GET /TiVoConnect?Command=QueryContaine
> r&Container=%2F HTTP/1.0" 200 -


This is my pyTivo.conf file:


> [Server]
> port=9032
> ffmpeg=C:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
> 
> [My Videos]
> type=video
> path=C:\Documents and Settings\Ed\My Documents\My Videos
> 
> [Admin]
> type=admin
> 
> [loggers]
> keys=root
> 
> [handlers]
> keys=console,rotfile
> 
> [formatters]
> keys=basicform
> 
> [logger_root]
> level=DEBUG
> handlers=console,rotfile
> 
> [handler_console]
> class=StreamHandler
> formatter=basicform
> args=(sys.stdout,)
> 
> [handler_rotfile]
> class=logging.handlers.RotatingFileHandler
> formatter=basicform
> args=('C:\Program Files\pyTivo\debug.log', 'a', 10485760, 5)
> 
> [formatter_basicform]
> format=%(asctime)s %(levelname)-5s %(name)s: %(message)s
> class=logging.Formatter


Any Suggestions?


----------



## windracer

So it doesn't show up at the bottom of your Now Playing List on the TiVo?


----------



## mosley

No its not. It was at one point though. To be honest, I think it stopped working when I connected my other Tivo to my network, and it is not showing up on either Now Playing List.


----------



## windracer

I don't see anything out of the ordinary in the log snippet you posted. If you open your browser and go to http://localhost:9032, do you get the pyTiVo admin page? If so, that means it's running properly and maybe a firewall is blocking your TiVos from seeing the service on your PC?


----------



## mosley

Yup, Something happened in my firewall settings, dont know how. Its working now though. Thanks.

The Now Playing List is only showing up on one of my Tivo's, not the other. How do I get it on both Tivo's?


----------



## windracer

Try rebooting the TiVo I guess.


----------



## wgw

Is that a new avatar windracer? I'll miss the funny expression on your old avatar buddy.

Now wait a minute. You can't be that skinny with all those season passes to the food channel.  Unless you've been trained to just look at food and not eat it. Tell us your secret.


----------



## windracer

wgw said:


> Is that a new avatar windracer? I'll miss the funny expression on your old avatar buddy.


 I changed it here a few months back (December '08). I still use the older (chubbier) one from December '07 on the pyTiVo forums and a few other places.



> Now wait a minute. You can't be that skinny with all those season passes to the food channel.  Unless you've been trained to just look at food and not eat it. Tell us your secret.


Wii Fit, healthier foods, and more self-control since last summer. See the Wii Fit thread here for more.


----------



## mosley

windracer, Not sure how to reboot the Tivo, but I unplugged it and plugged it back in and that didnt help. Any other suggestions.
Thanks


----------



## Rdian06

mosley, try adding a line to your pyTivo.conf file under the Server section:

beacon = <tivo1 IP> <tivo2 IP>

And see if that fixes the issue.

Also, check your Tivo.com account and make sure video transfers are enabled for both your units.


----------



## windracer

mosley said:


> windracer, Not sure how to reboot the Tivo, but I unplugged it and plugged it back in


That works.  The other way to do it is the "Restart" menu item under Messages & Settings.


----------



## mosley

OK, I have tried to "Restart" the Tivo, and I've added the "beacon = <tivo1 IP> <tivo2 IP>" line in my pyTivo.conf file and enabled video transfers on the Tivo (it was enabled on this one). But none of this is working. I am still not able to see My Videos on the Now Playing List. Any other suggestions?

Thanks for your help.


----------



## Rdian06

mosley said:


> OK, I have tried to "Restart" the Tivo, and I've added the "beacon = <tivo1 IP> <tivo2 IP>" line in my pyTivo.conf file and enabled video transfers on the Tivo (it was enabled on this one). But none of this is working. I am still not able to see My Videos on the Now Playing List. Any other suggestions?
> 
> Thanks for your help.


Are your Tivos and the pyTivo machine all in the same network subnet? pyTivo sends UDP broadcasts advertisements out to the subnet. So if your second Tivo isn't in the same subnet, it might never get the broadcast and consequently never know to contact your pyTivo instance.

If they are all in the same subnet, what fork version of pyTivo are you using? Does adding guid = 654321 in your Server section make a difference?

Also, you might want to go to your Tivo.com account and disable video transfers, save, force network connect on your Tivos to pickup the disable, log back in and enable, save, force network connect to pickup the enable. Just to make sure things are reset properly.


----------



## MasterCephus

Just letting everyone know that I have posted the newest update to the MetaGenerator...click on my signature to get it.


----------



## mosley

The subnets were the same on both Tivos. So I added guid = 654321 To the Server section. And it worked. THANKS. Any idea why?


----------



## Rdian06

mosley said:


> The subnets were the same on both Tivos. So I added guid = 654321 To the Server section. And it worked. THANKS. Any idea why?


pyTivo instances broadcast advertisement beacons on the subnet containing their GUID, IP, and port info. When your Tivo hears the beacon, it's supposed to cache the information and then make a request direct to the pyTivo instance. Sometimes a Tivo will keep a GUID cached with old IP/port info and then never query the new instance. A Tivo restart should clear the cache, but as you found, sometimes it won't.

Newer pyTivo versions randomize the GUID on startup unless you force a GUID in the config file. Older pyTivo versions always used the same GUID making it more likely you'll run into the screwy caching behavior.


----------



## mosley

Well that was a bit over my head. Thanks anyway.

I have another one. I can see both Tivos on the Now Playing List, but the both say there are no recorded programs. For instance, on Tivo 1's NPL I can see Tivo 2, but there are no recorded programs, and on Tivo 2's NPL I can see Tivo 1, but there are no recorded programs. How can I see the recorded programs for each Tivo?


----------



## GreenMonkey

PyTivo was working fine.

But I HAD to tinker with it - I uninstalled and updated to the latest version of Pytivo (wgw fork). And then installed Python 2.6.1 since the new PyTivo wasn't playing nice with the old Python version I had (2.4?).

Now, it isn't detected by the Tivo HD at all. 

Any ideas?

PyTivo is reachable at my IP address:9032 from other devices on the network.

PyTivotogo connects to the Tivo as well and finds the programs on it.


----------



## urwathrtz

Got pyTiVo to work. Question I have is the audio is a little erratic at times.


----------



## mathwhiz

Iluvatar said:


> As to the sound problem (if its the one i'm thinking of) the only for sure solution for now was to change your connection from HDMI to Component. It seems to be a compatibility issue between the TV and TiVo.


I've been playing with pyTiVo more and getting it setup to work really well for me. Getting automatic transfers working (not elegantly, but working), fixed my cropping problem (by adding the padding) (although it made me realize I'm missing content on my TV shows too because of over-scan), and the sound issue I think I've fixed by setting the audio frequency at 48000 instead of auto, I'm pretty sure the problem was with transcoded audio at 44100 and when the TV (via HDMI) had to switch between 44100 and 48000.


----------



## kearygriffin

In adding metadata support to streambaby, it was requested that it support an img.cover tag for displaying a DVD cover (or other image) when displaying the metadata.

I didn't see any standard tag in pyTivo metadata for adding an image, and it was suggested that I use img.cover : <filename_or_url>

I'm leaning towards using 
x-img.cover : <filename_or_url>
instead, so that pyTivo and other applications that transfer information back to the TiVo could recognize via the x- prefix that this tag isn't a standard tivo tag and should be ignored.

Does anyone have any opinions on this? (or point me to a thread/message that already discusses what people are using for an img-type tag)

Streambaby will not be writing any metadata, so it will be up to other apps to write the x-img.cover tag, or people can put it in manually.


----------



## wmcbrine

In terms of being ignored, it won't matter what you call it -- it won't be used unless it's already accounted for in the templates. And no one's ever put image links into pyTivo metadata files before, so there won't be any existing threads about it. 

Personally I don't like either of those names; I'd probably just go with "image" or something.


----------



## GreenMonkey

GreenMonkey said:


> PyTivo was working fine.
> 
> But I HAD to tinker with it - I uninstalled and updated to the latest version of Pytivo (wgw fork). And then installed Python 2.6.1 since the new PyTivo wasn't playing nice with the old Python version I had (2.4?).
> 
> Now, it isn't detected by the Tivo HD at all.
> 
> Any ideas?
> 
> PyTivo is reachable at my IP address:9032 from other devices on the network.
> 
> PyTivotogo connects to the Tivo as well and finds the programs on it.


I tried swapping to the wmcbrine fork, no luck either.

I tried uninstalling both, installing python 2.5.2, and reinstalling. I can't connect to the web configuration / localhost:9032 using the latest versions of pytivo and Python 2.5.2 at all. I seem to need 2.6+ for it to work, but the Tivo doesn't detect it then.


----------



## fred2

I'm not sure where to ask this question but...

I have a divx file which apparently has TWO AUDIO tracks (streams?).

Unfortunately, at least for me, is it appears that the primary track is Italian while the secondary track is English.

I apparently can switch between those tracks with a number of Computer-viewing programs.

BUT, I just used pytivo to copy the file to my S3 and Italian is the language it plays back in.

Obviously, I don't see any way on the Tivo to select the second track. Does pyTivo have a way to grab the second audio track as it is transferring the file?

What about Streambaby?

Other?

Is there an easy way to STRIP the "wrong" audio track and only leave the other without going through some extensive re-encoding process? (I have infrequently used videodubrub-something....)

If the powers that be don't think double posting over in the Streambaby thread would be a sin, I would ask again over there.

Thanks.


----------



## Yoav

fred2 said:


> I'm not sure where to ask this question but...


I've never tried doing it, but it *should* be doable with the -map option of ffmpeg. Lets assume your video stream is stream 0, and your english stream is stream 2 (you can find all the info by doing ffmpeg -i <file>)

so something like
ffmpeg -i -map 0:0 -map 0:2 -acodec copy -vcodec copy

*should* work... although you may want to look up the -map option in case I didnt specify it right. This will not re-encode the file, just copy the already encoded data into a new container with only one video stream and one audio stream.

As for pyTivo/Streambaby, it is certainly something that could be coded up to look at the input, and try to pick an appropriate language (if one is set), but it would have to be coded seperately into each, and I can't speak for the authors' priorities (it's very rare when the main audio stream isn't the one you want to use).


----------



## fred2

Yoav:

THANKS VERY MUCH. While I have not watched/listened to the results for the entire movie, the small samples I did watch on the COMPUTER appear to be OKAY. Only ENGLISH in the audio.

The hardest part was finding a win compiled version of ffmpeg since I'm not into compiling these days (former cobol programmer from another generation!)


----------



## rjmitche

fred2 said:


> Does pyTivo have a way to grab the second audio track as it is transferring the file?


Take a look at the following thread over on the pyTivo forum:

support for preferred language track​
I've never used it but, it sounds like it might be what you are looking for.


----------



## fred2

rjmitche said:


> Take a look at the following thread over on the pyTivo forum:
> 
> support for preferred language track​
> I've never used it but, it sounds like it might be what you are looking for.


Hey, very interesting. I will check to see how the file I transferred works but I will also check this out, too. I gather I would have to edit pytivo.conf for this one event and/or other such events and know which track? Luckily, so far I have only run into this the one time.


----------



## wmcbrine

fred2 said:


> The hardest part was finding a win compiled version of ffmpeg


Uh, pyTivo comes with one...


----------



## fred2

wmcbrine said:


> Uh, pyTivo comes with one...


Duh! I did a quick look through some of its subdirectories but missed the Video subfolder.

ffmpeg-mp2.exe - oh, well, now I have the new one :up:


----------



## GreenMonkey

GreenMonkey said:


> I tried swapping to the wmcbrine fork, no luck either.
> 
> I tried uninstalling both, installing python 2.5.2, and reinstalling. I can't connect to the web configuration / localhost:9032 using the latest versions of pytivo and Python 2.5.2 at all. I seem to need 2.6+ for it to work, but the Tivo doesn't detect it then.


Update

Got it working with Python 2.5.4 and wmcbrine version Pytivo 2008.05.02

Dunno why 2.6 and above wouldn't work.


----------



## lizardking

I recently set up pyTivo on my computer and have been using it to watch shows from it on my Series 2 TiVo. After acquiring a season of Weeds I had missed when I didn't have Showtime, I started watching them by using the TiVo to pull them from my computer, as I could not find the Push functionality in pyTivo.

Well it turns out that my IE is broken, and using the browser embedded in Miro (which is based on Mozilla, I believe), the Push feature appeared. After pushing a show and wanting it to be in a group, I discovered Meta Generator so I could group them into my existing Weeds folder on the TiVo.

Questions: 

1) Why did it title the group "Doing the Backstroke" which is the title of the first show I transferred? That group didn't exist, and the seriesID is the one that corresponds to Weeds. Did I somehow figure out a way to create a group with an arbitrary name??

2) Is there a way to tell if a show is scheduled to be pushed? I ended up with three copies of one show pushed to the folder, and two of another. Is it feasible for pyTivo to have the ability to delete shows off the TiVo, as I can access the computer from anywhere on the Internet, but my TiVo is only accessible from my living room.

3) Why do the pushed shows show up as "Copy Protected"? The shows I pulled using the TiVo interface can be downloaded back to the computer, but not the ones I pushed.

If only I could have gotten StreamBaby to work too! The TiVo spent 20 minutes showing "Please Wait" when I tried to play a 30 minute show. I can only assume it was trying to generate a preview. (Update: It looks like it's only for Series 3 and HD TiVos. Are there any streaming apps for Series 2? I have satellite, so I can't use any of the newer TiVos!  )

Thanks!


----------



## ebf

lizardking said:


> I recently set up pyTivo on my computer and have been using it to watch shows from it on my Series 2 TiVo. After acquiring a season of Weeds I had missed when I didn't have Showtime, I started watching them by using the TiVo to pull them from my computer, as I could not find the Push functionality in pyTivo.
> 
> Well it turns out that my IE is broken, and using the browser embedded in Miro (which is based on Mozilla, I believe), the Push feature appeared. After pushing a show and wanting it to be in a group, I discovered Meta Generator so I could group them into my existing Weeds folder on the TiVo.
> 
> Questions: ...


You should visit the actual pyTiVo forum for support. http://pytivo.krkeegan.com/ The push feature is not fully developed and at this point the results you are seeing are expected. No groups, all push transfers copy protected, no auto delete.

Take a look at the last couple of pages from this thread: TiVo Desktop 2.6


----------



## wmcbrine

lizardking said:


> Well it turns out that my IE is broken, and using the browser embedded in Miro (which is based on Mozilla, I believe), the Push feature appeared.


Nah, that was pyTivo that was broken. It's fixed now, if you download my fork (from repo.or.cz).



> _After pushing a show and wanting it to be in a group, I discovered Meta Generator so I could group them into my existing Weeds folder on the TiVo._


Cannot work with push, sorry. Will work with pull. See here and subsequent posts for more.



> _Did I somehow figure out a way to create a group with an arbitrary name??_


It's not your discovery, if that's what you're asking. 



> _Is it feasible for pyTivo to have the ability to delete shows off the TiVo_


No. At least, I don't think so...



> _Why do the pushed shows show up as "Copy Protected"? The shows I pulled using the TiVo interface can be downloaded back to the computer, but not the ones I pushed._


Yeah, the push feature is based on TiVoCasts, and TiVo Inc. made that the default behavior for TiVoCasts.  There's apparently a way around it (since there are or were some unblocked TiVoCasts), but we don't know what it is yet. You gotta remember, the whole thing is reverse-engineered; we have no docs on these features.



ebf said:


> The push feature is not fully developed


It's much better now, and still improving. It's getting a lot more attention since it's currently the only way to get h264 onto the S3/HD without transcoding.



> _No groups_


There were always groups, but now they're actually useful.  Still not quite what you might expect, though (see link above).


----------



## ebf

wmcbrine, you should have been more forceful in your response to my reply to lizardking's questions. I just downloaded your latest fork- all of 60 minutes old, and it looks like you all have fixed the push feature!

I have successfully pushed two different programs and they did not end up in a generic folder. I also found that pushing additional episodes of same (metadata) titled programs results in a new, properly titled folder. However, pushing a program with a seriesID that matches an existing TiVo recorded program, does not result in the pushed show folding with the existing one. Not a big deal.

Good job.


----------



## txporter

ebf said:


> I have successfully pushed two different programs and they did not end up in a generic folder. I also found that pushing additional episodes of same (metadata) titled programs results in a new, properly titled folder. However, pushing a program with a seriesID that matches an existing TiVo recorded program, does not result in the pushed show folding with the existing one. Not a big deal.
> 
> Good job.


Interesting. So what exactly does it key off of in the metadata to create the grouping?

Jason


----------



## ebf

txporter said:


> Interesting. So what exactly does it key off of in the metadata to create the grouping?


It looks like it uses seriesTitle for the folder and episodeTitle for the episode title. Description also transfers, but other metadata may not.


----------



## mosley

I have two Series 2 Tivo's comnnected to my network with PyTivo running. I can see each Tivo in the others NPL, but I cannot see any recordings. Is there a way to see the recordings on 1 Tivo from the other?


----------



## Rdian06

mosley said:


> I have two Series 2 Tivo's comnnected to my network with PyTivo running. I can see each Tivo in the others NPL, but I cannot see any recordings. Is there a way to see the recordings on 1 Tivo from the other?


Are you sure you enabled all the video features for both of them on Tivo.com in your account? Otherwise, you might want to ask your question in a new thread as I don't really see how pyTivo is related to your question. You'd get better visibility in a new thread.


----------



## OKCRandy

Rdian06 said:


> Your Tivo is never contacting your pyTivo instance. Most likely because somehow it isn't receiving the beacons.
> 
> In your server section, try adding a beacon = tivo IP address line to the Server section of your conf file. That's what has fixed it in the past.


How would you enter the IP addresses for two tivos, entering one of them allows the connection but still not seeing the other tivo in pyTivo.

Also, if I try to send video to the tivo I get this message:

No option 'tivo_username' in section: 'Server'

Traceback (most recent call last):
File "C:\Program Files\pyTivo\plugins\video\video.py", line 319, in Push
m = mind.getMind()
File "C:\Program Files\pyTivo\mind.py", line 266, in getMind
username = config.getTivoUsername()
File "C:\Program Files\pyTivo\config.py", line 59, in getTivoUsername
return config.get('Server', 'tivo_username')
File "C:\Python26\lib\ConfigParser.py", line 540, in get
raise NoOptionError(option, section)
NoOptionError: No option 'tivo_username' in section: 'Server'


----------



## moyekj

OKCRandy said:


> Also, if I try to send video to the tivo I get this message:
> 
> No option 'tivo_username' in section: 'Server'
> 
> Traceback (most recent call last):
> File "C:\Program Files\pyTivo\plugins\video\video.py", line 319, in Push
> m = mind.getMind()
> File "C:\Program Files\pyTivo\mind.py", line 266, in getMind
> username = config.getTivoUsername()
> File "C:\Program Files\pyTivo\config.py", line 59, in getTivoUsername
> return config.get('Server', 'tivo_username')
> File "C:\Python26\lib\ConfigParser.py", line 540, in get
> raise NoOptionError(option, section)
> NoOptionError: No option 'tivo_username' in section: 'Server'


 Pushes rely on authenticated communications with a Tivo server (mind.tivo.com). Hence you need to supply your Tivo login and password in order to enable pushes (just like is necessary if you have Tivo Desktop Plus you are prompted for that information as well).
In Server section you can add the Tivo login and password information. Easiest way to edit config information is via the pyTivo web interface:
http://localhost:9032
(This way you can see all available config options and short explanations of each)


----------



## Rdian06

OKCRandy said:


> How would you enter the IP addresses for two tivos, entering one of them allows the connection but still not seeing the other tivo in pyTivo.
> 
> Also, if I try to send video to the tivo I get this message:
> 
> No option 'tivo_username' in section: 'Server'


Put a space between the two IPs. For instance:



Code:


beacon = 192.168.0.10 192.168.0.11

As for the 'tivo_username', that error is appearing because you're trying to use the Push mechanism.

Newer pyTivo versions allow video to be either Pulled (select video and initiate transfer from the Now Playing list) or Pushed (use the pyTivo web admin interface to send a video).

For Pull, pyTivo transfers the video to any Tivo that asks for it (you using the remote to select a video from the Now Playing list). No username/password is required.

For Push, pyTivo is actually sending a request to Tivo.com to have it schedule your Tivo to requst the video from your pyTivo instance. For this to work, pyTivo needs to know your Tivo.com username and password in order to make the initial request on your behalf. So you need to add tivo_username and tivo_password to the Server section. However, if you don't plan to use Push, you don't need to set these.


----------



## westside_guy

Rdian06 said:


> For Push, pyTivo is actually sending a request to Tivo.com to have it schedule your Tivo to requst the video from your pyTivo instance. For this to work, pyTivo needs to know your Tivo.com username and password in order to make the initial request on your behalf. So you need to add tivo_username and tivo_password to the Server section. However, if you don't plan to use Push, you don't need to set these.


Oh, so that's how it works. So it seems, then, that the distinction between "push" (which can handle mpeg4, among other things) and "pull" (which currently only works with mpeg2) is pretty artificial? Cuz in the end they both boil down to a "pull", if I'm understanding you.


----------



## wmcbrine

Yes, a push ends in a pull. However, it really works differently from the TiVo's perspective -- the Push-originated transfer is designed to work with any web server, not just an HMO server like the Pull. The Push doesn't use the standard metadata, but has its own system. And the Push will "pull" h.264 and VC-1, which there is so far no way to get the Pull to do.


----------



## OKCRandy

Thanks for the help everyone, got it all sorted out and working. 

Now I wish I had not bought TiVo Desktop Pro, especially since there is not any online support at Tivo.com that is worth a darn.


----------



## burnside

Just setup pytivo on my machine and it's working great except for seeing folders. On my Tivo's Now Playing List I see my pyTivo share (Movie Server I named it) so I click on that, but then I do not see any of the folders in there. Instead I see all the files from all the folders at once. I then edited the configuration file and set auto_subshare=true. I checked the NPL and saw 4 different pyTivo shares (Movie Server A-F, Movie Server G-K, etc.) I decided to set the auto_subshare=false and I'm back to square one.

Any ideas how I can see one pytivo share (Movie Server) and then see the folders in that share? I must be doing something wrong.

Thanks!
b


----------



## wmcbrine

Turn on grouping by pressing "2". pyTivo just follows the NPL settings.


----------



## burnside

wmcbrine said:


> Turn on grouping by pressing "2". pyTivo just follows the NPL settings.


Oh man I feel dumb. Thanks wmcbrine!


----------



## burnside

While I'm asking questions, one movie (No Country for Old Men) could not be transferred to the Tivo. Tivo reported that the transfer would be made after previously transferred programs were finished. I checked the to do list and from there it said that the transfer was deleted. I then tested transferring other movies and I could queue them up no problem with none of them being deleted. Any idea what might be going on? I attached the info of the video file just in case there might be something there. I did notice that this is the only file so far that does not have Progressive scan type. I don't know if that could be the problem:

General
Complete name : C:\Documents\Movies\M-P\No Country for Old Men.mpg
Format : MPEG-PS
File size : 4.88 GiB
Duration : 2h 2mn
Overall bit rate : 5 714 Kbps

Video
ID : 224 (0xE0)
Format : MPEG Video
Format version : Version 2
Format profile : [email protected]
Format settings, Matrix : Default
Duration : 1h 0mn
Bit rate mode : Variable
Bit rate : 4 934 Kbps
Nominal bit rate : 8 000 Kbps
Width : 720 pixels
Height : 480 pixels
Display aspect ratio : 16/9
Frame rate : 29.970 fps
Standard : NTSC
Colorimetry : 4:2:0
Scan type : Interlaced
Scan order : Bottom Field First
Bits/(Pixel*Frame) : 0.476

Audio
ID : 128 (0x80)
Format : AC-3
Format/Info : Audio Coding 3
Duration : 2h 2mn
Bit rate mode : Constant
Bit rate : 384 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Surround: L R, LFE
Sampling rate : 48.0 KHz

Menu
Format : DVD-Video


----------



## txporter

burnside said:


> General
> Complete name : C:\Documents\Movies\M-P\No Country for Old Men.mpg
> Format : MPEG-PS
> File size : 4.88 GiB
> Duration : 2h 2mn
> Overall bit rate : 5 714 Kbps
> 
> Video
> ID : 224 (0xE0)
> Format : MPEG Video
> Format version : Version 2
> Format profile : [email protected]
> Format settings, Matrix : Default
> Duration : *1h 0mn*
> Bit rate mode : Variable
> Bit rate : 4 934 Kbps
> Nominal bit rate : 8 000 Kbps
> Width : 720 pixels
> Height : 480 pixels
> Display aspect ratio : 16/9
> Frame rate : 29.970 fps
> Standard : NTSC
> Colorimetry : 4:2:0
> Scan type : Interlaced
> Scan order : Bottom Field First
> Bits/(Pixel*Frame) : 0.476
> 
> Audio
> ID : 128 (0x80)
> Format : AC-3
> Format/Info : Audio Coding 3
> Duration : *2h 2mn*
> Bit rate mode : Constant
> Bit rate : 384 Kbps
> Channel(s) : 6 channels
> Channel positions : Front: L C R, Surround: L R, LFE
> Sampling rate : 48.0 KHz
> 
> Menu
> Format : DVD-Video


The video and audio timestamps do not match. Try running the file through VideoRedo's Quick Stream fix. I would guess that is your problem.

Jason


----------



## burnside

Haha, that was it! Thanks!


----------



## harley3k

I just discovered pyTivo last week from a different forum.

Just had to say how awesome I think it is.
No more converting AVI files to MP4 and syncing to iTunes and then to my AppleTV. Now I just drop any video format I can find into a folder on my PC, and it's available to my Tivo. Perfect.

What are some of the other cool things people do with this?


----------



## starks9630

what am I doing wrong? My videos show up fine, but I can't get my music through pytivo, only tivo desktop. what do I need in my config file to play music?


----------



## alexander123

Sorry need to up my post count to see links.


----------



## Rdian06

starks9630 said:


> what am I doing wrong? My videos show up fine, but I can't get my music through pytivo, only tivo desktop. what do I need in my config file to play music?


Assuming you setup a Music type share, look in "Music, Photos, & Showcases" and see if there is a listing for your music share. It will NOT appear in the Now Playing list.


----------



## wmcbrine

starks9630 said:


> what am I doing wrong? My videos show up fine, but I can't get my music through pytivo, only tivo desktop. what do I need in my config file to play music?


A music share...

[share name]
type = music
path = /where/ever


----------



## Yoav

bah I knew I shouldn't have done this 
A query about using push in pyTivoX led me to try it, and I'm getting the following error whenever I try to push anything to my tivo:



Code:


list index out of range

Traceback (most recent call last):
  File "/Users/yoav/src/pytivox/build/Release/pyTivoX.app/Contents/Resources/pyTivo-wmcbrine/plugins/video/video.py", line 351, in Push
    mime = mime)
  File "/Users/yoav/src/pytivox/build/Release/pyTivoX.app/Contents/Resources/pyTivo-wmcbrine/mind.py", line 46, in pushVideo
    pc_body_id = self.__pcBodySearch()[0]
IndexError: list index out of range

Quick guess?


----------



## Rdian06

Yoav said:


> bah I knew I shouldn't have done this
> A query about using push in pyTivoX led me to try it, and I'm getting the following error whenever I try to push anything to my tivo:
> 
> 
> 
> Code:
> 
> 
> list index out of range
> 
> Traceback (most recent call last):
> File "/Users/yoav/src/pytivox/build/Release/pyTivoX.app/Contents/Resources/pyTivo-wmcbrine/plugins/video/video.py", line 351, in Push
> mime = mime)
> File "/Users/yoav/src/pytivox/build/Release/pyTivoX.app/Contents/Resources/pyTivo-wmcbrine/mind.py", line 46, in pushVideo
> pc_body_id = self.__pcBodySearch()[0]
> IndexError: list index out of range
> 
> Quick guess?


Is there a "+" in your email address?

See

http://pytivo.krkeegan.com/help-getting-push-up-and-running-t694.html?highlight=index%20range


----------



## Sparty99

Small problem with PyTivo. I just switched from a Dual Tuner (where PyTivo worked fine) to a TiVo HD. The new HD sees all of the folders I've set up on PyTivo and the files within that folder. The problem is with the subfolders, which it can't see. For instance, I've got a folder for what I call Temporary Videos. Within that, I've got a folder for South Park, and in that folder I've got something for each season. The server sees the subfolder listings, but it doesn't show any of the video files in these subfolders. I know it's something specific with the configuration on the unit, because I'm not having this problem on my Series 3.

Any input you guys can provide?


----------



## greg_burns

Sparty99 said:


> Small problem with PyTivo. I just switched from a Dual Tuner (where PyTivo worked fine) to a TiVo HD. The new HD sees all of the folders I've set up on PyTivo and the files within that folder. The problem is with the subfolders, which it can't see. For instance, I've got a folder for what I call Temporary Videos. Within that, I've got a folder for South Park, and in that folder I've got something for each season. The server sees the subfolder listings, but it doesn't show any of the video files in these subfolders. I know it's something specific with the configuration on the unit, because I'm not having this problem on my Series 3.
> 
> Any input you guys can provide?


Is your new TiVo HD running the latest software?


----------



## Sparty99

greg_burns said:


> Is your new TiVo HD running the latest software?


I would imagine not. I bought it as an open box unit and just set it up this afternoon.


----------



## burnside

Yeah, that's probably the issue. You can force a connection to the Tivo server and then do a restart to fix all that up.


----------



## Sparty99

burnside said:


> Yeah, that's probably the issue. You can force a connection to the Tivo server and then do a restart to fix all that up.


Will do. Thanks for the help.


----------



## wtherrell

I am using VRD TVSuite to encode HD from my THD to SD. Here's the problem. If I move the resulting output file to My Tivo Recordings share on the PC (Tivo Desktop Plus) and then download via MRV to to my S2 all I get are audio and closed captions--no picture, just black screen. If I move the same output file to my PyTivo share file and download to the S2 from there, I get beautiful video and audio but no closed captions. I did a search of this thread but could find any matches. Also searched forum but could not find this particular problem addressed. 
I really need the captions. 

I would appreciate any help.


----------



## wmcbrine

It sounds like your video output from VideoReDo is still not compatible with the S2, so it's being reencoded by pyTiVo (and just passed through by TiVo Desktop, where it fails when the S2 tries to play it back). Are you sure you're downconverting it?


----------



## greg_burns

wtherrell said:


> I am using VRD TVSuite to encode HD from my THD to SD. Here's the problem. If I move the resulting output file to My Tivo Recordings share on the PC (Tivo Desktop Plus) and then download via MRV to to my S2 all I get are audio and closed captions--no picture, just black screen. If I move the same output file to my PyTivo share file and download to the S2 from there, I get beautiful video and audio but no closed captions. I did a search of this thread but could find any matches. Also searched forum but could not find this particular problem addressed.
> I really need the captions.
> 
> I would appreciate any help.


Kinda sounds like that bug some model S2s (540s but not 240s IIRC) had with 16x9 video. Is that bug still out there?


----------



## wmcbrine

That's probably it. pyTivo recognizes the problem and won't pass through 16:9 to an S2, except to a DT.

I'll see if I can find a way to preserve the captions when reencoding. Meanwhile -- do your downconverts in VideoReDo as letterboxed 4:3. That should work with both TiVo Desktop and pyTivo (and avoid a second reencode by pyTivo).


----------



## gordonwrogers

I have TDT+ 2.7 installed working fine on my Vista machine. I see that pyTivo offers a great deal more functionality than desktop. One of the functions I really need is the ability to see groups of video files versus paging through the several hundred titles I currently have on my media server. Would it be ill-advised to install pyTivo alongside TDT to test it out prior to uninstalling and cleaning TDT?


----------



## ebf

gordonwrogers said:


> ... Would it be ill-advised to install pyTivo alongside TDT to test it out prior to uninstalling and cleaning TDT?


I have both installed on my PC. I really love pyTiVo and these days only use TiVo Desktop to stream audio (which I understand pyTiVo may do as well).


----------



## wmcbrine

ebf said:


> I have both installed on my PC. I really love pyTiVo and these days only use TiVo Desktop to stream audio (which I understand pyTiVo may do as well).


Yeah, it does. Better than TD, TTBOMK... except that it doesn't do iTunes playlists... though that may only be in the Mac version of TD; I dunno.

If there's something else that TD does better than pyTivo with music, please let me know. AFAIK pyTivo supports more formats and is faster.


----------



## Sparty99

burnside said:


> Yeah, that's probably the issue. You can force a connection to the Tivo server and then do a restart to fix all that up.


Forced restart did the trick. Thanks for your help!


----------



## spocko

wmcbrine said:


> Yeah, it does. Better than TD


Can you please elaborate on how pyTivo does music better? I played with it yesterday, and I didn't notice any difference between pyTivo and TD for MP3 files.

Likewise, is there any difference between pyTivo and TD in regards to photos?

Thanks


----------



## wmcbrine

spocko said:


> Can you please elaborate on how pyTivo does music better?


Like I said... it should be faster (most noticeable when you try to play, say, a whole folder with thousands of MP3's), and it transcodes non-MP3 formats.



> _Likewise, is there any difference between pyTivo and TD in regards to photos?_


Faster, again; and, if you have a picture that's smaller than the screen resolution, TD will not scale it _up_, nor correct the aspect ratio; pyTivo will. That's about it. I think it supports more formats, too, but I'm not sure.

Of course you can set up multiple shares in any location, unlike TD, and you can use pyTivo in more environments.

Edit: Also, pyTivo honors EXIF orientation flags.


----------



## txporter

wmcbrine said:


> I'll see if I can find a way to preserve the captions when reencoding. Meanwhile -- do your downconverts in VideoReDo as letterboxed 4:3. That should work with both TiVo Desktop and pyTivo (and avoid a second reencode by pyTivo).


You might be able to get some ideas or maybe even use something from one of these two pieces of software for CC support: T2SAMI or ccExtract. I believe both of them can be used to add CC to a mpg file.

Jason


----------



## moorek

I had pyTivo working well a few months ago but now things are very erratic though I don't really know what the culprit is. I am running TD 2.7 and pyTivo 10.08.

When I look at my movies on Tivo (Series 2) NPL, I see the pyTivo folders and can select a movie. Some of my movies are showing up as a length of 0:00. Then when you try to transfer it you get an error message saying it couldn't transfer because there isn't enough space. There is plenty of space. If I move the problem movie to the Tivo folder on the PC, I can transfer it though it gets confused about the length.

First, how can I get a detailed information about the mpeg movie file to see what the properties are? I tried using VideoReDo QuickStream Fix on a movie but it had problems with it as well. The movies play just fine on the PC (Vista). 

I dump the movies to the computer using DVD Shrink and/or DVD Decrypter and have it create a single VOB file. I then rename the file to .mpg. Perhaps my process is flawed.

I know this is a fairly scattered question. It can be frustrating figuring out why something doesn't work, when at one time it did.


Thanks,

Kevin


----------



## txporter

moorek said:


> I had pyTivo working well a few months ago but now things are very erratic though I don't really know what the culprit is. I am running TD 2.7 and pyTivo 10.08.
> 
> When I look at my movies on Tivo (Series 2) NPL, I see the pyTivo folders and can select a movie. Some of my movies are showing up as a length of 0:00. Then when you try to transfer it you get an error message saying it couldn't transfer because there isn't enough space. There is plenty of space. If I move the problem movie to the Tivo folder on the PC, I can transfer it though it gets confused about the length.
> 
> First, how can I get a detailed information about the mpeg movie file to see what the properties are? I tried using VideoReDo QuickStream Fix on a movie but it had problems with it as well. The movies play just fine on the PC (Vista).
> 
> I dump the movies to the computer using DVD Shrink and/or DVD Decrypter and have it create a single VOB file. I then rename the file to .mpg. Perhaps my process is flawed.
> 
> I know this is a fairly scattered question. It can be frustrating figuring out why something doesn't work, when at one time it did.
> 
> Thanks,
> 
> Kevin


Ripping as one VOB and then renaming to mpg is likely your problem. VOB contain more information in them then a MPEG2 file does (subtitles, angles, multiple sound tracks, etc). Sometimes it will work, other times it will not. Best thing to do it combine them with VideoRedo (if you own) or with VOB2MPG.

VideoRedo TV Suite has an Open DVD folder option (and so does the latest beta version for VideoRedo Plus) which makes things a little easier because it will ask you if you want to perform a QSF on the file immediately. Alternatively, if you have a version of VideoRedo without the open dvd option, you can just go to open file and highlight all of the parts that you want VRD to combine. It will ask you if you want to join or combine them. It is better to combine them.

You can use a program called GSpot to get info on the video file. You can also use MediaInfo to read the header info (probably similar to what you get on GSpot, but it reads the header instead of what is ACTUALLY in the video itself. Gspot actually reads the video.)

Jason


----------



## businesstime

wmcbrine, have you figured out what "FlushServer" and "QueryItem" are supposed to do and/or return?


----------



## wmcbrine

FlushServer, I assume is the same as the never-implemented "ResetServer" from the HMO spec. I don't know why they changed it. QueryItem (which _is_ in the HMO spec, though minimally described) seems straightforward, but is a little harder to do in pyTivo since QueryItem doesn't include the Container parameter that pyTivo normally uses to dispatch. Anyway, I intend to implement these, but first I need to get TiVo Desktop running again, so I can be sure exactly what it outputs. However, I'm guessing that FlushServer causes no output, and that QueryItem's output looks about the same as QueryContainer's (with Details=Optimal) for one item.


----------



## rfryar

It has been a while, but I finally upgraded to the a much newer version of PyTivo to support pushing videos (Plus the new streambaby integration).

However I can not seem to get the push to work correctly. I launched pyTivo in a console to capture a bit more details but all I see is the below (Not I ** my username and password)

Do I need to open a firewall or anything for to work?

Rick



Code:


2009-04-03 19:44:52,042 DEBUG pyTivo.video.transcode: TRANSCODE=NO, all compatib
le, e:\Videos\Rentals\10000BC.mp4
2009-04-03 19:44:53,151 DEBUG pyTivo.mind: __login
{'cams_security_domain': 'tivocom', 'cams_login_config': 'http', 'cams_cb_passwo
rd': '****', 'cams_original_url': '/mind/mind7?type=infoGet', 'cams_cb_usernam
e': '****@****.***'}
2009-04-03 19:44:53,980 DEBUG pyTivo.mind: pcBodySearch
{}

<pcBodyList><isBottom>true</isBottom><isTop>true</isTop><pcBody><bucketNumber>15
97</bucketNumber><levelOfDetail>low</levelOfDetail><name>pyTivo</name><pcBodyId>
tivo:pc.1000683471</pcBodyId><type>pcBody</type></pcBody></pcBodyList>g
2009-04-03 19:44:54,716 DEBUG pyTivo.mind: pcBodySearch
{}

<pcBodyList><isBottom>true</isBottom><isTop>true</isTop><pcBody><bucketNumber>15
97</bucketNumber><levelOfDetail>low</levelOfDetail><name>pyTivo</name><pcBodyId>
tivo:pc.1000683471</pcBodyId><type>pcBody</type></pcBody></pcBodyList>g
2009-04-03 19:44:55,388 DEBUG pyTivo.mind: bodyOfferModify&bodyId=tsn:6520001804
6333A
{'description': "Fierce mammoth hunter D'Leh (Steven Strait) sets out on an impo
ssible journey to rescue the woman he loves (Camilla Belle) from a vicious warlo
rd and save the people of his village. While venturing into unknown territories,
 D'Leh and his fellow warriors battle dangerous beasts and discover an amazing n
ew civilization. Roland Emmerich directs this prehistoric epic full of thrilling
 action and adventure.", 'pcBodyId': 'tivo:pc.1000683471', 'publishDate': '2009-
04-04 00:4454', 'partnerId': 'tivo:pt.3187', 'duration': 6535, 'size': 973481750
, 'title': '10,000 B.C.', 'url': 'http://192.168.1.4:9032/HTPC%20Videos/Rentals/
10000BC.mp4?Format=video/mp4', 'bodyId': 'tsn:65200018046333A', 'source': '10,00
0 B.C.', 'state': 'complete', 'encodingType': 'avcL41MP4'}

<bodyOffer><bodyId>tsn:65200018046333A</bodyId><bodyOfferId>tivo:bo.15000021</bo
dyOfferId><createDate>2009-04-04 00:44:55</createDate><description>Fierce mammot
h hunter D'Leh (Steven Strait) sets out on an impossible journey to rescue the w
oman he loves (Camilla Belle) from a vicious warlord and save the people of his
village. While venturing into unknown territories, D'Leh and his fellow warriors
 battle dangerous beasts and discover an amazing new civilization. Roland Emmeri
ch directs this prehistoric epic full of thrilling action and adventure.</descri
ption><duration>6535</duration><encodingType>avcL41MP4</encodingType><levelOfDet
ail>high</levelOfDetail><offerId>tivo:of.bs.15000021</offerId><partnerId>tivo:pt
.3187</partnerId><pcBodyId>tivo:pc.1000683471</pcBodyId><publishDate>2009-04-07
02:14:00</publishDate><size>973481750</size><source>10,000 B.C.</source><state>c
omplete</state><title>10,000 B.C.</title><updateDate>2009-04-04 00:44:55</update
Date><url>http://192.168.1.4:9032/HTPC%20Videos/Rentals/10000BC.mp4?Format=video
/mp4</url></bodyOffer>g
2009-04-03 19:44:56,091 DEBUG pyTivo.mind: subscribe&bodyId=tsn:65200018046333A
{'uiType': 'cds', 'idSetSource': {'contentId': 'tivo:ct.bs.15000021', 'type': 's
ingleOfferSource', 'offerId': 'tivo:of.bs.15000021'}, 'bodyId': 'tsn:65200018046
333A', 'title': 'pcBodySubscription'}

<subscribeResult><subscription><autoRecord>true</autoRecord><bodyGeneratesCandid
ates>false</bodyGeneratesCandidates><bodyId>tsn:65200018046333A</bodyId><idSetSo
urce><contentId>tivo:ct.bs.15000021</contentId><offerId>tivo:of.bs.15000021</off
erId><type>singleOfferSource</type></idSetSource><isForKids>false</isForKids><le
velOfDetail>high</levelOfDetail><showStatus>rerunsAllowed</showStatus><subscript
ionId>tivo:sb.15000021</subscriptionId><title>pcBodySubscription</title><type>su
bscription</type><uiType>cds</uiType></subscription></subscribeResult>g
2009-04-03 19:44:56,107 INFO  pyTivo: 127.0.0.1 [03/Apr/2009 19:44:56] "GET /TiV
oConnect?Command=Push&Container=HTPC%20Videos&File=%5CRentals%5C10000BC.mp4&tsn=
Livingroom HTTP/1.1" 302 -
2009-04-03 19:44:56,121 INFO  pyTivo: 127.0.0.1 [03/Apr/2009 19:44:56] "GET /Non
e HTTP/1.1" 200 -


----------



## moyekj

rfryar said:


> It has been a while, but I finally upgraded to the a much newer version of PyTivo to support pushing videos (Plus the new streambaby integration).
> 
> However I can not seem to get the push to work correctly. I launched pyTivo in a console to capture a bit more details but all I see is the below (Not I ** my username and password)
> 
> Do I need to open a firewall or anything for to work?
> 
> Rick


 From the logs the pyTivo request to mind.tivo.com is working fine. A few seconds (sometimes minutes) later your Tivo then connects to mind.tivo.com and then should make a request to pyTivo server for the file - that last part is not happening. No you don't need to open firewall things to work right.

NOTE: If the Tivo you are pushing to happens to be in beta then pushes won't work since beta machines talk to different Tivo servers...


----------



## rfryar

moyekj said:


> NOTE: If the Tivo you are pushing to happens to be in beta then pushes won't work since beta machines talk to different Tivo servers...


Excellent info. Yes the machine I was trying to push to is on beta. I will have to try the push functionality on my other Tivo which I am not beta testing on.

*UPDATE* Yep that was it. Thanks for the help.

Rick


----------



## mbklein

_10000 B.C._? Seriously?


----------



## rfryar

mbklein said:


> _10000 B.C._? Seriously?


Have not watched it yet. But it was the first movie I was able to rip to HD Mp4 as a test. Now that I have it pushed to the tivo it looks decent. Now I just need to figure out why this movie did not work with Streambaby, but that is for the other thread.

Rick


----------



## kg08854

ebf said:


> I have both installed on my PC. I really love pyTiVo and these days only use TiVo Desktop to stream audio (which I understand pyTiVo may do as well).


I have been very happy with pytivo..


----------



## cadmium

Is there any interest in an application that downloads and manages videos via rss and then pushes them via pyTivo?

I've recently switched to Vista 64 and MediaFly SyncClient no longer works, so I whipped up a windows service app over the weekend to replace it. I added a simple hook to push the downloaded videos (using a GET with the proper arguments to the local pyTivo server).

The downside is it requires .NET 3.5, making it Windows only. If enough people are interested I may clean it up and make it available.


----------



## Kershek

I would like to check it out.


----------



## PaulS

cadmium said:


> Is there any interest in an application that downloads and manages videos via rss and then pushes them via pyTivo?
> 
> I've recently switched to Vista 64 and MediaFly SyncClient no longer works, so I whipped up a windows service app over the weekend to replace it. I added a simple hook to push the downloaded videos (using a GET with the proper arguments to the local pyTivo server).
> 
> The downside is it requires .NET 3.5, making it Windows only. If enough people are interested I may clean it up and make it available.


Basically, a video podcast catcher and pusher ? That would be very cool, and something I'd like to check out.


----------



## Chew

Kershek said:


> I would like to check it out.


+1


----------



## cadmium

PaulS said:


> Basically, a video podcast catcher and pusher ? That would be very cool, and something I'd like to check out.


Pretty much yeah. It's pretty simple and requires pyTivo to do the heavy lifting as far as pushing to the Tivo.

I'll see about fixing it up.


----------



## windracer

I'm using the old (but still reliable) Now Playing PHP code to generate RSS feeds of my TiVos' NPLs. You could use something like that to make it more cross-platform.


----------



## cadmium

windracer said:


> I'm using the old (but still reliable) Now Playing PHP code to generate RSS feeds of my TiVos' NPLs. You could use something like that to make it more cross-platform.


I appreciate the suggestion. Right now I'm going to stick with C#\.NET just because I know I can get something working.

Also, I've begun cleaning things up, but I think I'm going to have to change it from a service to a system tray application. It won't really change anything, and will allow me to do a few things i couldn't otherwise.

Services in Vista are locked down too tight for what needs to happen.


----------



## mikel_b

txporter said:


> You might be able to get some ideas or maybe even use something from one of these two pieces of software for CC support: T2SAMI or ccExtract. I believe both of them can be used to add CC to a mpg file.
> 
> Jason


Can someone help point me in the right direction as far as python goes?

I have found that I can do the following:

f:\videos\movie.avi
f:\videos\movie.srt
f:\videos\movie_sub.avs

The AVS file contains:
LoadPlugin("C:\Program Files\Combined Community Codec Pack\Filters\vsfilter.dll")
DirectShowSource("F:\videos\movie.avi")
TextSub("F:\videos\movie.srt")

Now on my TV I can select the avi file for an un-subbed version or the avs file for the subbed version.

The annoying thing is having to create all these .avs manually. I could write a util to do it but I was thinking I would prefer something like this:

I'm assuming TIVO requests a list of available files from pytivo and def QueryContainer in video.py gets called?

What I'd like to do is have pytivo check to see if there are any .srt files and if so return a "virtual" file like movie_subbed.avi. Then if that file gets requested it (def send_file?) creates the .avs file on the fly and sends that to ffmpeg->tivo.

I'm sure it's possible, if it was c# i'd know what to do, but I don't have any python experience.

Thanks for any help...


----------



## Allanon

Not sure if this has been asked before because this is a long thread and I didn't read everything. Would it be posible to program pyTivo to push a file that is located on one Tivo and have it auto transfer to another Tivo without having to download the file to a computer? I think .tivo files can be pushed and there is a HME streaming program that can stream .tivo files directly from the Tivo. So I was wondering if pushing the .tivo file from one Tivo to another would be posible? This would allow people to use their computer to tell the Tivo which files to transfer but the computer wouldn't be needed for the actual file transfer. I have 3 Tivo HD's and it would be great if I could auto transer files without having to go to each Tivo to specify which files to transfer.


----------



## Rdian06

Allanon said:


> I think .tivo files can be pushed and there is a HME streaming program that can stream .tivo files directly from the Tivo. So I was wondering if pushing the .tivo file from one Tivo to another would be posible? This would allow people to use their computer to tell the Tivo which files to transfer but the computer wouldn't be needed for the actual file transfer. I have 3 Tivo HD's and it would be great if I could auto transer files without having to go to each Tivo to specify which files to transfer.


.tivo files cannot be pushed from PC to Tivo. Or at least it doesn't work with the current pyTivo code. There was a recent thread about this over at the pyTivo forum. .tivo files can of course be pulled.

However, Tivo HD to Tivo HD MRV transfers don't use .tivo format. The raw Tivo streams are actually transmitted between the two boxes at higher speeds than .tivo (TivoToGo) transfers. I don't know the mechanics enough to know if what you're asking is possible. wmcbrine probably does.


----------



## Allanon

> .tivo files cannot be pushed from PC to Tivo. Or at least it doesn't work with the current pyTivo code. There was a recent thread about this over at the pyTivo forum. .tivo files can of course be pulled.


After reading THIS POST I was under the impression pyTivo did push .tivo files.


----------



## wmcbrine

Allanon said:


> After reading THIS POST I was under the impression pyTivo did push .tivo files.


Note the date on that message -- at that time, pyTivo didn't _push_ at all, in the sense we now use the term. He was just using it to mean "transfer". This post is more relevant.

I don't think it could work as you outline. It could theoretically work with the pyTivo system as the intermediary, if pyTivo also decrypted the source TiVo's stream with tivodecode. I've actually been planning something like that, although I was thinking more in terms of a regular pull. (I had in mind the ability to transfer HD programs to an SD TiVo.) I guess it could work for push, too. Of course it would be much slower than MRV.


----------



## Joe3

MasterCephus said:


> I think I have an idea that will work for this that everyone will like. Hopefully I will be able to put out an update pretty soon...


ohhh K

I am getting tired of searching after a few hours of mind block```

Dumb question, where do I download the Meta Generator to what file in my computer?

I get Error- C:\WINDOWS/Microsoft.Net/Framework/v2.0.5072/mscorks.dll could not be loaded.

Or how?

Thanks


----------



## greg_burns

Joe3 said:


> ohhh K
> 
> I am getting tired of searching after a few hours of mind block```
> 
> Dumb question, where do I download the Meta Generator to what file in my computer?
> 
> I get Error- C:\WINDOWS/Microsoft.Net/Framework/v2.0.5072/mscorks.dll could not be loaded.
> 
> Or how?
> 
> Thanks


Do you have .Net Framework installed?
http://www.microsoft.com/downloads/...CB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=en


----------



## Joe3

greg_burns said:


> Do you have .Net Framework installed?
> http://www.microsoft.com/downloads/...CB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=en


Thanks, greg_burns, I would have been up all night. :up:


----------



## Gavroche

Well I have just been on a 16 hour troubleshooting marathon trying to fix this issue, but to no avail.

I have 3 Tivos, Series 3, Series 2 ST (TSN 540) and Series 2 DT (TSN 649).
My Series 2 units are connected to regular old 4:3 TV's.

On my Series 3 everything plays fine.
On my Series 2 ST (TSN 540) everything plays fine.

But, on my Series 2 DT (TSN 649) The aspect ratio doesn't work right. For some reason, PyTivo believes that all of my 4:3 files (mp4) are infact 16:9 so when they arrive at the tivo the picture is letterboxed and stretched out.

What is going on here and how can I fix it? I'm already using the "Aspect169 : False" in my config file but it doesn't make any difference.

I can use " - aspect 4:3" for ffmpeg but then it stretches everything to 4:3.

How can I get this Tivo to behave like my Series 2 540 and show 4:3 mp4's as 4:3 and 16:9 stuff as padded 16:9?

I'm sure there must be something simple that I am missing, but after spending so many hours reading about this on the net I don't seem to be any closer to a solution other than knowing that PyTivo thinks my 4:3 files are 16:9 when tranfering to my 649 Tivo.

What should I do now? Any help is greatly appreciated.

EDIT: I've determined that the problem files are all .mp4's that are supposed to be 4:3 but where the pixel aspect ratio is not square. They do play correctly as 4:3 on my 540 S2 tivo though. There must be a way to make these play similarly on my S2 649, no?


----------



## wmcbrine

Can you send me or point me to one of these problem files?


----------



## Gavroche

wmcbrine said:


> Can you send me or point me to one of these problem files?


They are Nero-Recoded standard (not AVC) MP4 files ("Nero Digital" format) that should be 4:3 but the PAR is less than 1. They seem to report back as something like this:

par1 10:11
par2 0.9090909091

If I recoded them to be PAR 1 (select "square pixel" option in Nero) they play correctly on my 649 Tivo.

I realize I probably encoded them wrong. Still, they play fine on my 540 Tivo and every other player out there, including Windows Media Player and VLC Player, and even on my Windows Mobile phone using the Core Media Player.

It's only from PyTivo to my 649 Tivo that it comes up wrong. It squashes the picture and pads to 16:9 on ANY Nero-Encoded mp4 file where the PAR is not 1. What I do know is that from my 649 Tivo, PyTivo is using "- aspect 16:9" for ffmpeg where as from my 540 Tivo, PyTivo correctly picks "- aspect 4:3" for the transcode for the same file.

For an example file, I'd basically have to encode something for you this way so as to not have to send you a huge file. I could do that, if you think the answer lies in the encoding of the file. How should I pass the file to you? Send it in PM or post a link?

Thanks in advance.


----------



## wmcbrine

Gavroche said:


> For an example file, I'd basically have to encode something for you this way so as to not have to send you a huge file.


Don't limit the size on my account. I have Fios. 

I had one guy make a torrent file to send me a 786-meg test file. That worked well.



> _How should I pass the file to you? Send it in PM or post a link?_


I think the PM quota here is much too low for that.

Again, it makes no difference to me. Whatever works for you. But I don't have a space you can upload it to, sorry.


----------



## JeffKusnitz

I just installed pyTivo on a new PC (64-bit Vista). I configured it to share a pair of folders that contained a few hundred .TiVo recordings. From my TiVoHD's Now Playing List, I can see all of the recordings, and can select them to be transferred to the TiVo, but the transfers never happen.

One odd thing I noticed - the sizes for all of the shows listed in the pyTivo NPL are 0:00. But if I move one of these shows over to Tivo Desktop (I have 2.7 installed on the same machine), the size is correct, and the show transfers fine. This would imply that the show itself is fine at least.

The PC came with Norton Internet 2009, which I left installed, but I think I've configured it to allow python to respond to requests.

Any thoughts as to where I might look to see what's happening to the transfer requests?

EDIT: I looked at the recording history on TiVo - all it said was that the transfer didn't take place because of a transfer error.

Thanks,
Jeff


----------



## wmcbrine

Showing zero duration on .TiVo files is normal for pyTivo, because it doesn't peer into them (since they're encrypted), just treats them as black boxes. However, they _are_ normally transferable. But, I'm guessing you're using this version of pyTivo -- yes? If so, see here. I fixed this last month in my repo, but unfortunately rdian06 has not updated his Windows Installer yet.


----------



## Gavroche

wmcbrine said:


> Again, it makes no difference to me. Whatever works for you. But I don't have a space you can upload it to, sorry.


Here you go:

http://www.jupah.com/users/alex/test.mp4

It's just a minute or two. I encoded it "incorrectly" in Nero and verified that it plays correctly on everything except my 649 Tivo, which thinks it's a 16:9 file (adds "- aspect 16:9" to ffmpeg, whereas requesting the same file from my 540 Tivo adds "-aspect 4:3").


----------



## Rdian06

Gavroche said:


> Here you go:
> 
> http://www.jupah.com/users/alex/test.mp4
> 
> It's just a minute or two. I encoded it "incorrectly" in Nero and verified that it plays correctly on everything except my 649 Tivo, which thinks it's a 16:9 file (adds "- aspect 16:9" to ffmpeg, whereas requesting the same file from my 540 Tivo adds "-aspect 4:3").


You can try using MP4Box to change the PAR setting of the video track to be 1:1.

See this post for sample command line usage:

http://www.tivocommunity.com/tivo-vb/showthread.php?p=7167069#post7167069


----------



## JeffKusnitz

wmcbrine said:


> Showing zero duration on .TiVo files is normal for pyTivo, because it doesn't peer into them (since they're encrypted), just treats them as black boxes. However, they _are_ normally transferable. But, I'm guessing you're using this version of pyTivo -- yes? If so, see here. I fixed this last month in my repo, but unfortunately rdian06 has not updated his Windows Installer yet.


I confess, I have no idea what a "git" is, but I downloaded the latest zip from your repository, replaced my plugins/video/transcode.py with its and magically transfers work again. Thanks!

Jeff


----------



## TheAmigo

wmcbrine said:


> Showing zero duration on .TiVo files is normal for pyTivo, because it doesn't peer into them (since they're encrypted), just treats them as black boxes.


Before there was kmttg, I wrote my own similar tool (using Net::TiVo and tivodecode). Since the tivo often reports incorrect file sizes, I needed a better way to tell if I had downloaded the entire show. Instead, I query the tivo for the duration of the show and then run ffmpeg -i on the downloaded .tivo file (before running tivodecode) to make sure it's complete. While the encrypted video stream may not be playable, the MPEG headers are not encrypted and most tools can query the file just fine.

Do you have some shows that give you .tivo files that ffmpeg doesn't like?


----------



## wmcbrine

I never even thought to try it. I see that it works. Huh.

OK, expect some revision in pyTivo's handling of .TiVo files soon...


----------



## Gavroche

Rdian06 said:


> You can try using MP4Box to change the PAR setting of the video track to be 1:1.
> 
> See this post for sample command line usage:
> 
> http://www.tivocommunity.com/tivo-vb/showthread.php?p=7167069#post7167069


I could also re-encode the files, but that's not the point. The point is why is it ONLY my 649 series Tivo that doesn't play these corectly? Every other player I have, including my series 540 tivo, plays it fine. It's only on my S2DT that it doesn't play correctly. PyTivo picks the wrong aspect ratio. For my S2ST it picks the correct aspect ratio.

Why?


----------



## wmcbrine

wmcbrine said:


> OK, expect some revision in pyTivo's handling of .TiVo files soon...


OK, I just took most of the special casing for ".TiVo" out. Duration is shown now, as well as the "HD" flag. Let me know if this causes problems for anyone -- maybe with older versions of ffmpeg?


----------



## Shanezam203

I downloaded PyTivo but am not able to get it to run.

I am looking to do 2 things. 

1. Create folders on my Tivo + 1tb HD.
2. Transfer movies over from my PC or DVD into my My Tivo Recordings video and play on Tivo.

Thank you,
Shane


----------



## wmcbrine

Shanezam203 said:


> I downloaded PyTivo but am not able to get it to run.


So, what problems do you have? Post them here, or on pytivo.krkeegan.com. Please don't solicit private help unless there's a good reason to keep it private. Others can learn from your experiences... and the people that help you won't have to repeat themselves as much.

Gavroche: In fact, it's not displayed correctly on the 540, either. The PAR and DAR are ignored, the raw aspect ratio of ~1.5:1 (608:404) is used, and the video is padded with small (28-pixel) letterbox bars to reach 4:3 (~1.33:1). You might lose the bars in overscan. The behavior on the 649 is worse, I agree. (I don't have a 649, but I simulated it.) But the surprising thing is that it comes out apparently correct on the S3.

The 649 is treated differently from other S2's because it can supposedly handle 16:9 video natively, letterboxing it if needed. But what pyTivo is doing here is just messed up. I'll see what I can do.


----------



## Gavroche

wmcbrine said:


> The 649 is treated differently from other S2's because it can supposedly handle 16:9 video natively, letterboxing it if needed. But what pyTivo is doing here is just messed up. I'll see what I can do.


Yeah, what you say is all true of course. It does letterbox on the 540 it's just a very small amount and I can't even see it due to over-scan, as you suggest. But, it doesn't DISTORT the image (at least not perceptibly). This is what I'm getting at. It does play "correctly" (perhaps not technically but to my eyes) for the way the video is encoded. It does not, on the 649. It distorts the video terribly as you rightly surmise with your simulator.

And you are correct in that it also plays just fine on my S3. In fact, this is why I never noticed the issue before (and didn't realize I was forgetting to check the "square pixel" box when encoding). I mostly watch on my S3, but have been doing more viewing on my S2 lately.

I have to admit I'm not using your fork. I used yours originally, but then went to a different one to be able to use a modified version of ffmpeg that has the right-center channel swapping problem fixed. I'm guessing this is fixed in your current version as well?

By the way, thanks for all your help with this.


----------



## Shanezam203

wmcbrine said:


> So, what problems do you have? Post them here, or on pytivo.krkeegan.com. Please don't solicit private help unless there's a good reason to keep it private. Others can learn from your experiences... and the people that help you won't have to repeat themselves as much.


Thank you for the help. All I have done was downloaded the Zip for Python26 & then phTiVo.

That is as far as I got. I can find the folder in my C: but then am not sure what to do after that.

Thank you.


----------



## reneg

Shanezam203 said:


> Thank you for the help. All I have done was downloaded the Zip for Python26 & then phTiVo.
> 
> That is as far as I got. I can find the folder in my C: but then am not sure what to do after that.
> 
> Thank you.


What pyTivo did you download? If you downloaded a git zip file, it does not contain ffmpeg which is needed.


----------



## tbear334

First, let me apologize if this has been answered before, but I did search the thread and did not find anything. Can pytivo have passwords set up for specific directories similar to what StreamBaby can do? I have a couple of directories of content not suitable for the children in the house. Thanks for great software.


----------



## Yoav

tbear334 said:


> First, let me apologize if this has been answered before, but I did search the thread and did not find anything. Can pytivo have passwords set up for specific directories similar to what StreamBaby can do? I have a couple of directories of content not suitable for the children in the house. Thanks for great software.


I believe that's not technically possible to do. since pyTivo uses HMO to communicate, and the tivo doesn't support a password for access via HMO, then that won't work.

HOWEVER. You can set a rating for all movies in the directory you don't want kids to access (check out the pytivo metadata information). Set all that to something like NC-17, and then require a password on the tivo to view anything rated NC-17 or above. The downside is that even shows on TV that are rated NC-17 will now require a password. You can even control ratings on a per-file basis.


----------



## wmcbrine

Another thing you can do with pyTivo is restrict which shares are shown to which TiVos, if that helps.


----------



## Yoav

So, while working on an issue with pyTivoX, it occurred to me:

Any reason *NOT* to turn on the debug flag with pytivox? I was looking at the amount of logging it does and it doesn't seem 'insane'. It also feels like it's useful to help debug problems. Can you think of any issues with defaulting to 'debug=true' in the config file I write out?


----------



## wmcbrine

Go for it. Of course you could also let it be toggled in the UI...


----------



## Gavroche

I run PyTivo AND Galleon. The only reason I still use Galleon is because the mp3 player is exceptionally nice, being that it displays the embedded album art from mp3's.

Are there any plans to add this feature to PyTivo?


----------



## wmcbrine

It's not really up to us. pyTivo uses the HMO player, which is built into the TiVo. It only asks for certain pieces of information, and album art is not among them. Galleon is HME-based, which means that it controls the screen layout itself.

Album art is documented in the HMO spec as a potential future expansion, but I doubt that TiVo will ever implement it.


----------



## Gavroche

wmcbrine said:


> It's not really up to us. pyTivo uses the HMO player, which is built into the TiVo. It only asks for certain pieces of information, and album art is not among them. Galleon is HME-based, which means that it controls the screen layout itself.
> 
> Album art is documented in the HMO spec as a potential future expansion, but I doubt that TiVo will ever implement it.


Bah, Galleon it is then.

Thanks for the explanation, though!

(Why Tivo would not implement this rather obvious and simple feature in HMO is beyond me, though.)


----------



## wmcbrine

businesstime said:


> wmcbrine, have you figured out what "FlushServer" and "QueryItem" are supposed to do and/or return?


So, I finally had a chance to try TiVo Desktop again and see what it said. Here's an example response to "QueryItem":



Code:


<?xml version="1.0" encoding="ISO-8859-1" ?>
<TiVoItem>
  <Item>
    <Details>
      <Title>03 - Im Good Im Gone</Title>
      <ContentType>audio/*</ContentType>
      <SourceFormat>audio/mpeg</SourceFormat>
      <SourceBitRate>256000</SourceBitRate>
      <SourceSampleRate>44100</SourceSampleRate>
      <MusicGenre>Alternative Rock</MusicGenre>
      <ArtistName>Lykke Li</ArtistName>
      <AlbumTitle>Youth Novels</AlbumTitle>
      <Duration>190368</Duration>
      <AlbumYear>2008</AlbumYear>
      <SongTitle>I&apos;m Good, I&apos;m Gone</SongTitle>
      <FileName>03 - Im Good Im Gone.mp3</FileName>
      <CreationDate>0x49E6D309</CreationDate>
      <LastAccessDate>0x49E6D30A</LastAccessDate>
      <LastChangeDate>0x49E6D309</LastChangeDate>
      <SourceSize>6091784</SourceSize>
    </Details>
  </Item>
</TiVoItem>

I think this is pretty much identical to a QueryContainer request with optimal details, but I haven't verified that yet.

"FlushServer" returns absolutely nothing at all, except 200 OK. So I've implemented that already.


----------



## dig_duggler

Nice props! In an Engadget article reflecting on Tivo's past and future:

you're being totally shown up by open-source projects like iTiVo and pyTiVo


----------



## Rdian06

Gavroche said:


> I have to admit I'm not using your fork. I used yours originally, but then went to a different one to be able to use a modified version of ffmpeg that has the right-center channel swapping problem fixed. I'm guessing this is fixed in your current version as well?
> 
> By the way, thanks for all your help with this.


The 5.1 channel swapping problem is ffmpeg's fault, not pyTivo's. It's fixed in the current Windows installer by including a version of ffmpeg compiled from code I hacked to change the Dolby Digital decoder/encoder output/input ordering.

If you're comfortable setting up pyTivo manually, then you should use wmcbrine's fork as it is the most up to date code. You can just grab my ffmpeg compile from here to fix the channel swapping:

http://pytivo.krkeegan.com/post3557.html#3557

The most recent Windows installer is based on wmcbrine's fork, though I choose a particularly bad time to snapshot his code and there are some bugs which he's since fixed. I'm just a little too overwhelmed with work right now to update the installer.


----------



## boandmichele

pytivo gurus! i come here for help as i cannot login to pytivo.krkeegan.com, even if i make a new account. :/

this past weekend i went ahead and updated to ubuntu 9.04, i was using one of mr. mcbrine's forks from early april in 8.04, and just reinstalled the latest one tonight (the 'add unicodeencode' one)

so, i am very used to and comfortable getting everything installed in just a minute or two. i started it running and i can access my share via the now playing list. however, there are no videos in there. it simply says there are no recordings. 

so of course i go and make sure its pointing to the proper folder, and it is. i do a few soft resets and suddenly it works just fine! well i am baffled, and this occurs everytime i restart my computer. i was just going to deal with it but tonight i cannot get it to work whatsoever. i even installed it on my laptop with 9.04 and it is doing the exact same thing. 

any advice? 

*edit* port 9032 is open and forwarded properly, btw


----------



## wmcbrine

I'm not sure what you mean about the port being forwarded. You shouldn't have to do that unless you're trying to access pyTivo from outside your LAN, via your router.

I'm running Ubuntu 9.04 myself, and I don't have this problem.

Are your laptop and desktop pointing to the same shares?


----------



## bkdtv

High-definition video demo of pyTiVo and Streambaby in action:

*Youtube:* Viewing Computer videos on TiVo (HD, 9min)


----------



## txporter

Nice work! Looks great!

Jason


----------



## boandmichele

wmcbrine said:


> I'm not sure what you mean about the port being forwarded. You shouldn't have to do that unless you're trying to access pyTivo from outside your LAN, via your router.
> 
> I'm running Ubuntu 9.04 myself, and I don't have this problem.
> 
> Are your laptop and desktop pointing to the same shares?


ah, i thought maybe the port needed to be forwarded, even though i hadn't done it in the past. so disregard that...

they are not pointing to the same shares. both machines are running amd64 ubuntu, pointing to different shares both on those specific machines.

*edit* here is what it says when i run it in the terminal on the laptop. just for testing, i put a sample avi in /home/bo/videos, and still nothing. conf file is pointed correctly:



> [email protected]:~$ /home/bo/pytivo/pyTivo.py
> INFOyTivoyTivo is ready.
> INFOyTivo:192.168.0.4 [30/Apr/2009 19:09:31] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
> INFOyTivo:192.168.0.3 [30/Apr/2009 19:09:31] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
> INFOyTivo:192.168.0.4 [30/Apr/2009 19:10:52] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
> INFOyTivo:192.168.0.4 [30/Apr/2009 19:10:57] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFOyTivo:192.168.0.4 [30/Apr/2009 19:10:57] "GET /TiVoConnect?Command=QueryContainer&Container=MyMovies&SortOrder=Title&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -


edit again... i went over to the desktop in my frustration, changed the share name from "Movies" to "Videos", do a soft reset, and now we are watching Flight of the Conchords. i dont understand...


----------



## NYHeel

In the interest of full disclosure I also posted this on the pytivo board but I figured I'd post it here also.

OK, I just installed pyTivo and I have a few issues. I'm using Tivo HDs version 11.0c.

One, immediately after I installed pytivo my firewall (Norton internet security 2009) blocked something from my Tivo ip address called invalid TCP destination port. It was 3474. Is this a problem?

Second, although my Tivo sees Pytivo neither push or pull videos are working. On push I get an error message saying No option 'tivo_username' in section: 'Server'. I added my tivo.com username and password and now I'm getting an error message that says: list index out of range. On pull it starts the transfer but nothing happens afterwards. It just stays at pause as it never transfers anything. I assume that my annoying firewall is the problem here but I don't know what to do about it. I've already added all of the relevant programs to the program control. I've even turned off the firewall. What else could I do? Should I uninstall and then reinstall?

Third, how do I get music and photos to work via pytivo? I had it working via Tivo Desktop but it's not finding a server on my PC with Tivo desktop paused. I looked in the music, photos, and showcases menu and there's nothing there.

Fourth, do I need to leave the Tivo Desktop server paused for pytivo to work? If so should I just uninstall it?

Thanks for the help and sorry for the pain in the neck questions.


----------



## albokay

Just found out about pvtivo yesterday and am so mad I didnt find it sooner. 

Anyway, I was able to get it running but ran into a weird issue. Was hoping someone else had the same problem and was able to fix it. 

I have 2 tivos. A series 2 and an TivoHD. The series 2 is going thru a tivo wireless adapter and transfers the movies fine. Slow but thats no big deal. 

Now the TivoHD starts to transfer but then stops at a random point. The last time I tried it stopped at 37 minutes. I tired the same movie for both tivos and series 2 is good. TivoHD is not. My tivoHD is online via a homeplug and not wireless. Was wondering if that was a problem?

Also my series 2 is on a widescreen tv and I get black bars. The Tivo HD is also on a widescreen tv and plays it in full screen no black bars. Im guessing tivoHD is converting it to full screen thru the HDMI but just want to make sure. 

Thanks to anyone who can shed some light on this problem.

Update: I tried to transfer uploaded shows from series 2 to HD and it works but I get the black widescreen bars where if i download to HD directly I get no bars. I found that to be weird and makes me think that possibly the HD transfer might be a higher quality and more likely to not be able to transfer.


----------



## Gavroche

@wmcbrine:

I installed your latest PyTivo (3/19/2009 I think?) and found that all of my files were in the wrong order.

It appears you have a fix for this, so I "installed" that by stopping the PyTivo service, copying all of the files in your zip over to my PyTivo directory, and re-starting the PyTivo service. I then added "force_alpha" to my share in the config. (force_alpha = true)

All my files are now showing in the correct alphabetical order, but now, there is a problem. When I go to transfer a file, I now always get the message saying the file will be transferred after previously scheduled recordings have finished transferring. HOWEVER, the file is actually transferring. I can see it going out from the pc, out from the router, and the blue light on my series 3 comes on to indicate that the file is transferring.

However, it is not listed at all in the now playing list. Viewing the recording history gives the same message about the file being transferred after previously scheduled recording have finished transferring.

Did I do something wrong by copying the files over to fix the sort issue?

Furthermore, since it doesn't show up in the "now playing" list, have I basically just lost the part of my Tivo's hard drive that the partial version of the file resides on?

Thanks in advance for any assistance you can offer.

(Am running as a service on Windows Vista Home Basic)

EDIT: Went back to your 8/2008 "stable" RC, and after re-booting my Tivos, this one works except that the included FFMPEG crashes eventually on large files. Perhaps because I only have 1 gig of ram on the machine I'm running it on? (it runs fine on anything less than 1 hour in length, but on movies FFMPEG always crashes somewhere between the 1 and 2 hour mark). Don't know why - there is no error message, just "ffmpeg has stopped working." This has nothing to do with PyTivo per se, though, because just running the included version of ffmpeg from the command line gives the same results. My machine I guess?

So I've gone back to the May, 2008 version, where the included ffmpeg_mp2 does not work correctly with 5.1 audio, but everything else seems to work fine. (it doesn't crash, anyway!)


----------



## wmcbrine

Gavroche said:


> @wmcbrine:
> 
> I installed your latest PyTivo (3/19/2009 I think?)


Not my latest. Presumably you're talking about the Windows Installer, which makes that rdian06's latest. My latest is what's in my repo.



> _and found that all of my files were in the wrong order._


No, they were in date-sorted order -- the order actually requested by the TiVo, and indeed the order that the bottom line of the screen described them as being in.



> _It appears you have a fix for this_


Not a fix, because it wasn't a bug. Just an option to return to the old behavior, for those who want it.

You could also have switched to name-sorted by pressing "1". However, that doesn't affect subfolders, because the TiVo still requests them as date-sorted; hence the need for the force_alpha option.



> _When I go to transfer a file, I now always get the message saying the file will be transferred after previously scheduled recordings have finished transferring. HOWEVER, the file is actually transferring. I can see it going out from the pc, out from the router, and the blue light on my series 3 comes on to indicate that the file is transferring._


The blue light indicates that _something_ is transferring, but not necessarily the file you just selected. It sounds like it's retrying a bad transfer, which the other files are queued behind.



> _Did I do something wrong by copying the files over to fix the sort issue?_


Probably -- rdian06's code was modified from my original, and I assume you overwrote his modifications. But I doubt if that's related to your problem. I think the main effect would be to lose track of the old pyTivo.conf file.



> _Furthermore, since it doesn't show up in the "now playing" list, have I basically just lost the part of my Tivo's hard drive that the partial version of the file resides on?_


That's a hell of a conclusion to jump to. No.



> _EDIT: Went back to your 8/2008 "stable" RC_


Again -- not mine. I don't brand anything as "stable", nor as "RC".



> _Perhaps because I only have 1 gig of ram on the machine I'm running it on?_


 A gig is plenty. I don't even have a system with more than a gig of RAM myself.

But I've never heard of an issue with ffmpeg like the one you describe.

I suspect the thing that helped was rebooting the TiVos, not the musical chairs with pyTivo versions.


----------



## Gavroche

wmcbrine said:


> Not my latest. Presumably you're talking about the Windows Installer, which makes that rdian06's latest. My latest is what's in my repo.


Well, first of all, I apologize for the misunderstanding with the verbiage of my post... yes, obviously I'm using the windows installer. I was under the impression that this was, in fact, your code that someone has just built a windows installer around.

In fact, it even has your name as part of the file name. So you can see how it may be easy to get confused.

I'll install YOUR code and see what happens, and skip the windows installer version. I REALLY appreciate your help and the fact that you frequent these forums to assist. After all, we get this awesome software for free, so that is totally awesome of you.

However, along the same lines, I certainly can not expect you to support someone else's modifications to your code. I completely understand that.



wmcbrine said:


> No, they were in date-sorted order -- the order actually requested by the TiVo, and indeed the order that the bottom line of the screen described them as being in.
> 
> Not a fix, because it wasn't a bug. Just an option to return to the old behavior, for those who want it.
> 
> You could also have switched to name-sorted by pressing "1". However, that doesn't affect subfolders, because the TiVo still requests them as date-sorted; hence the need for the force_alpha option.


When I say "the wrong order" and you say no it's not the wrong order... again... I didn't use the correct wording. OF COURSE... not the WRONG order like it's a bug or something (didn't mean to imply that), but the wrong order >FOR ME<. I have all of my files named in such a way so that they show up in a certain order (for example, to list all of the James Bond films in chronological order.) I will be more clear and instead say "non-alphabetical order."

Ok, a bit off of my topic here, but while we're on the subject, I wonder how difficult it would be to make the Tivo list the files in date order as specified by the MetaData rather than the actual file date? That would be a cool feature, I think... but I digress...



wmcbrine said:


> The blue light indicates that _something_ is transferring, but not necessarily the file you just selected. It sounds like it's retrying a bad transfer, which the other files are queued behind.


I'm having a hard time building a logical case around that. It just doesn't seem likely. Why would it be "re-trying a bad transfer" only when I select a new file from a clean install?

To give you some more information, here's what I did:

I started with clean boot of all systems (even including the router, just to be sure) and made sure nothing was transferring or scheduled to transfer. I then went to the Now Playing list and requested a file from a completely clean install of PyTivo (Yes, new config file and everything). I then got the message on the Series 3 saying that the file would be transferred after previously scheduled recording were finished transferring. THEN the blue light came on, but nothing ever showed up in the now playing list. So, if SOMETHING was transferring as you suggest, what could it possibly be? I don't think that's the case, but you are more knowledgeable about this that I, so maybe you have some ideas?

(Just FYI, the exact same behaviour repeated itself on the Series 2 Tivos, but they don't give me any kind of indicator to let me know that something is transferring, but I could see FFMPEG running on the host machine and could see it being sent out.)



wmcbrine said:


> That's a hell of a conclusion to jump to. No.


That's good to know. I was afraid that my transfer was sitting on my Tivo's Hard Drive but just not showing up in Now Playing. I don't think it was a "hell of a conclusion to jump to" at all. I think it's a perfectly logical hypothesis to make, but as I mentioned, I don't have as good of a technical understanding of the inner workings of the Tivo as you do. (That's why I'm asking for help with your code. Hey... I love PyTivo... what can I say?)



wmcbrine said:


> Again -- not mine. I don't brand anything as "stable", nor as "RC".


Of course, you're right. One question though... is the version of FFMPEG included with rdian06's windows installer the same as the one you include? It does seem to me that that's where my problem is.



wmcbrine said:


> A gig is plenty. I don't even have a system with more than a gig of RAM myself.
> 
> But I've never heard of an issue with ffmpeg like the one you describe.


Well, now you have. 



wmcbrine said:


> I suspect the thing that helped was rebooting the TiVos, not the musical chairs with pyTivo versions.


A good thought, but it doesn't seem likely, since I re-booted the Tivos each time. I really have nailed down the major issue (transfers not completing) to FFMPEG. If you really don't think that it could possibly be a memory problem then I dunno... I got nothing. Could be some kind of incompatibility with my machine, but it doesn't really make sense that it only happens on large files then. I've run FFMPEG from the command line with (basically) no paramters, and the same thing happens every time on files larger than about 500MB.

I do wonder about the memory issue, because, after all, I am running Windows Vista which as you know is memory-hungry (with 1 gig of ram on Windows Vista home Basic with Python, Java, Galleon, AVG, and Pytivo running, I'm left with 297MB). Also, I tested this by running the included version of ffmpeg on a different windows vista machine... this one with Windows Vista Ultimate, and 2 gigs of ram, and it did not crash. Of course, that doesn't necessarily mean it's a memory problem, but I'm running out of ideas here. Again, this appears to be an ffmpeg problem and not a PyTivo one, but it just doesn't seem to want to work on my machine, where as the ffmpeg_mp2 included with the May, 2008 windows installer version always works. It's very strange.... I wonder what could possibly going on?

Maybe my next step should be dumping Windows alltogether and installing Ubuntu (that's what you're using, correct?).

I only run PyTivo and Galleon on that machine and I gather Galleon, being Java, will also run fine under Ubuntu.

What do you think? It doesn't seem like I'm going to get anywhere with the ffmpeg issue.

Is it possible to use a different version of ffmpeg with your code?


----------



## wmcbrine

I don't include any version of ffmpeg with my code. pyTivo is designed to work with pretty much any version, though some of the recent versions of ffmpeg change things in ways that are only accommodated by recent versions of pyTivo.

Certainly I always recommend Ubuntu over Windows, but you shouldn't have to change OSes just for pyTivo's sake.  And if this is a problem for Windows users in general, we need to know that so we can fix it.

If you want more help, please provide more data, like log files. I actually have an idea about the original problem now, based on someone else's post on the pyTivo forum, who had a similar description but included a log file. And I'd ask you to please refrain from further theorizing... it's not helpful.


----------



## Iluvatar

Gavroche said:


> Is it possible to use a different version of ffmpeg with your code?


Of course. I would substitute an ffmpeg version that works for you. Just place the new version in your pytivo\bin folder.

If you run out of version to try you can attempt my personal build that I posted at the pyTivo site.

Works for me perfectly. To each their own though.


----------



## Gavroche

wmcbrine said:


> I don't include any version of ffmpeg with my code. pyTivo is designed to work with pretty much any version, though some of the recent versions of ffmpeg change things in ways that are only accommodated by recent versions of pyTivo.


Yes, I see that now, after looking at your latest .zip



wmcbrine said:


> If you want more help, please provide more data, like log files. I actually have an idea about the original problem now, based on someone else's post on the pyTivo forum, who had a similar description but included a log file. And I'd ask you to please refrain from further theorizing... it's not helpful.


Actually, you can't help me anymore. Sorry. I'm afraid I'm just not "python-savvy" enough to be able to run this without the "crutch" of the windows installer. I gave it a shot.

Thanks for your willingness to assist though. I do really appreciate it.


----------



## Gavroche

Iluvatar said:


> Of course. I would substitute an ffmpeg version that works for you. Just place the new version in your pytivo\bin folder.
> 
> If you run out of version to try you can attempt my personal build that I posted at the pyTivo site.
> 
> Works for me perfectly. To each their own though.


Thank you so much for pointing me to your version of FFMPEG.
I tested it with the same file from the command line, and it worked without a hitch. I do notice that your exe is smaller than the one that kept crashing on me. Don't know if that has anything to do with the issue, but it worked well from the command line at least!

I'm now testing it with PyTivo.

Thanks again for the help, I really appreciate it!

EDIT: worked just fine under PyTivo as well. See my next post for what I think the problem actually might have been.


----------



## Gavroche

Gavroche said:


> Actually, you can't help me anymore. Sorry. I'm afraid I'm just not "python-savvy" enough to be able to run this without the "crutch" of the windows installer. I gave it a shot.
> 
> Thanks for your willingness to assist though. I do really appreciate it.


@wmcbrine:

Don't read this if you don't want to read my "theorizing" - I'll try to stick to the facts but I do actually have a "theory" based upon available data.

I posted the above because when trying to "install" your latest PyTivo version I just could not get it to run from the console at all. (I didn't even try it as a service, because I've always wanted to get it to run from the console instead of a service so I could keep an eye on what the heck it's doing.)

In fact, even going back and using the windows installers (any version) also gave me the same result and I could not get this to run from the console. (I've always ended up running it as a service.) Unfortunately I can't give you the exact error message as I didn't save it anywhere. I apologize for that.

I basically thought I was just an idiot and maybe didn't know enough about Python to do whatever I needed to do to make it work, even though I was following the instructions.

*THE FACTS:*

I have always installed the windows installer version of PyTivo under "C:\Program Files\PyTivo" on my "Windows Vista Home Basic" machine, which is the directory the installer defaults to.

While recently researching a completely un-related-to-PyTivo issue, I came across some information out there in the cloud saying that Windows Vista Home Basic has certain restrictions that are not present in the other versions of Windows Vista, and one of these restrictions has to do with how the "Program Files" directory is handled.

I have not confirmed this information with Microsoft, it's just information I've looked at on various Windows Vista forums and help sites.

So, remembering this from the other day, I decided to try and "install" your latest PyTivo in "C:\PyTivo" rather than "C:\Program Files\PyTivo"

It works without a hitch, running from the console.

*NOW MY THEORY:*

Therefore, my "theory" is that because of these restrictions on Windows Vista Home Basic, there is some additional step that would need to be followed to actually make PyTivo run at the console from under the "Program Files" folder on "Windows Vista Home Basic." I don't know what that additional step (or steps) would be, but my THEORY is that this was the root cause of my issues all along.

I haven't finsihed transferring the same movie that kept crashing ffmpeg on me before, but when it's done I'll let you know how it worked out. (it wasn't just that particular file that crashed ffmpeg before, it's just that I know for certain that one did every time in almost exactly the same place.)

I do apologize for theorizing after you asked me not to, but I felt that if indeed this could be at the very least "on the right track" that my information and theory might assist someone else out there who finds themself in the same situation.

And by the way... I do really appreciate the ability to use force_alpha per video share. I have some that I want to use it in, and others that are updated frequently where it's much better not to use it, so thanks for adding that option!

*EDIT/UPDATE:* Transfer completed successfully to my S2DT. It does actually show up as "partial" with a time of 2:21. PyTivo reports the length as 2:22. The entire file was transferred though, so I'm assuming this is an issue with that file. FFMPEG didn't give any errors. No other strange behaviour though! WOO-HOO! I'm gonna go buy me a bottle of champagne!

WE ARE THE KEEPERS OF THE SACRED WORDS: NEE, PENG AND NU-WOM!


----------



## Rdian06

Gavroche said:


> *THE FACTS:*
> 
> I have always installed the windows installer version of PyTivo under "C:\Program Files\PyTivo" on my "Windows Vista Home Basic" machine, which is the directory the installer defaults to.
> 
> While recently researching a completely un-related-to-PyTivo issue, I came across some information out there in the cloud saying that Windows Vista Home Basic has certain restrictions that are not present in the other versions of Windows Vista, and one of these restrictions has to do with how the "Program Files" directory is handled.
> 
> I have not confirmed this information with Microsoft, it's just information I've looked at on various Windows Vista forums and help sites.
> 
> So, remembering this from the other day, I decided to try and "install" your latest PyTivo in "C:\PyTivo" rather than "C:\Program Files\PyTivo"
> 
> It works without a hitch, running from the console.
> 
> *NOW MY THEORY:*
> 
> Therefore, my "theory" is that because of these restrictions on Windows Vista Home Basic, there is some additional step that would need to be followed to actually make PyTivo run at the console from under the "Program Files" folder on "Windows Vista Home Basic." I don't know what that additional step (or steps) would be, but my THEORY is that this was the root cause of my issues all along.
> 
> I haven't finsihed transferring the same movie that kept crashing ffmpeg on me before, but when it's done I'll let you know how it worked out. (it wasn't just that particular file that crashed ffmpeg before, it's just that I know for certain that one did every time in almost exactly the same place.)
> 
> I do apologize for theorizing after you asked me not to, but I felt that if indeed this could be at the very least "on the right track" that my information and theory might assist someone else out there who finds themself in the same situation.
> 
> And by the way... I do really appreciate the ability to use force_alpha per video share. I have some that I want to use it in, and others that are updated frequently where it's much better not to use it, so thanks for adding that option!
> 
> *EDIT/UPDATE:* Transfer completed successfully to my S2DT. It does actually show up as "partial" with a time of 2:21. PyTivo reports the length as 2:22. The entire file was transferred though, so I'm assuming this is an issue with that file. FFMPEG didn't give any errors. No other strange behaviour though! WOO-HOO! I'm gonna go buy me a bottle of champagne!


Vista locks down the C:\Program Files sub-folders to prevent write access. On Vista Home Premium and Vista Enterprise (the ones I have access to) attempts to write to C:\Program Files sub-folders from python programs trigger a Vista compatibility feature to redirect the file write to a folder within the current user profile. It's possible Vista Home Basic disables this compatibility feature and simply lets the write fail causing your problem.

pyTivo will sometimes need to write a temp file. With the current Windows installer, I patched wmcbrine's code at the time to change the temp folder to something writeable without triggering Vista's compatibility feature. wmcbrine has more recently updated his code to use python's temp file name feature and so my patch won't be needed anymore. This will get included in the next Windows installer I'm working on.

The other patch I applied to wmcbrine's code has to do with the location of the pyTivo.conf file. It moved to a common folder rather than being in Program Files. And you wouldn't really notice a problem unless pyTivo tried to write to it, which it really shouldn't do unless you're saving a change in the web admin.

As for ffmpeg crashing on "large files", I'm guessing you're having problems with divx video or aac audio. There were bugs in ffmpeg that caused timestamp inconsistencies and ffmpeg would stop with a "non-monotone timestamp" error often on certain avi and mp4 files. Unfortunately all my released ffmpeg builds were from code containing the bug.

Iluvatar's ffmpeg build is from a code snapshot AFTER the bug was fixed, but still contains the 5.1 channel mapping problems inherent in ffmpeg.

I'm working on a new ffmpeg build that uses the most recent ffmpeg code which mostly fixes the 5.1 channel mapping problem except for AAC 5.1 to AC3 (which is what pyTivo needs to send to the Tivo). I'm trying to patch ffmpeg to fix the AAC 5.1 to AC3 issue and then I'll release a new Windows installer with it.


----------



## Gavroche

Rdian06 said:


> Iluvatar's ffmpeg build is from a code snapshot AFTER the bug was fixed, but still contains the 5.1 channel mapping problems inherent in ffmpeg.
> 
> I'm working on a new ffmpeg build that uses the most recent ffmpeg code which mostly fixes the 5.1 channel mapping problem except for AAC 5.1 to AC3 (which is what pyTivo needs to send to the Tivo). I'm trying to patch ffmpeg to fix the AAC 5.1 to AC3 issue and then I'll release a new Windows installer with it.


It's great to hear from you here as well, as I've been using your installers all along (until today.)

You're right that these are mp4 files with AAC audio.

All I have to say about the ffmpeg issue is: OH NOOOOOO!!!!! Why didya have to go and tell me that? ARRRGH.

Back to square 1. The whole reason I started mucking about with this in the first place was to fix the 5.1 mapping issue.

<sigh>

So, if I understand you correctly, there is no version of ffmpeg that won't crash on me on large files AND has the correct 5.1 mapping?

THANKS FOR RUINING MY DAY! <--- lol, jk, I know it's not your fault 

Thanks for your Vista explanation as well. One other factor that may or may not have anything to do with it is that my "Windows Vista Home Basic" is a DELL OEM version (came with the machine). It's _possible _there could be differences there as well. (Unlikely that it would affect any of this, but don't get me started on Dell in general! lol! Stranger things have happened!)


----------



## Gavroche

I thought it was working! But now that I am finally able to run PyTivo from the console I can finally see exactly what's happening.

When I request a file from my my Tivo (any Tivo, S2 or S3) and it gives me the BS message about it being transferred after previously scheduled transferes have completed (of which, of course, there are none) what's actually happening is that ffmpeg is barfing on the file. For some reason it keeps trying to decode it and just keeps going... rebooting all systems just continues with the bad decode. It does at least _appear_ to be actually transferring something, since I can watch the light on my Tivo wireless adapater go crazy like it's receiving something, but nothing shows up in the Now Playing List.

The reason I thought that Iluvatar's FFMPEG was actually working for me was that I was trying it only on .avi files and not my Nero-Digital encoded mp4's.

I tried about 5 different versions of FFMPEG today, including the one in rdian06's recent windows installer packagaes and Iluvatar's version.

Same result with all of them, they all barf on my Nero-Digital-Encoded mp4's.

I went back to the original ffmpeg_mp2.exe that was included with a much older windows installer package, and no more problems.

This is the version of ffmpeg that has always worked for me (except the 5.1 mess-up, of course.)

So... HMMMMMM!!!

What is it about Nero Digital that the newer FFMPEG's don't like but this old version I'm using does? Or, are there some tweaks that I can make to the PyTivo config to make it work? (I've tried all the FFMPEG's from the command line with basically no parameters, and still just barfs on the Nero Digital mp4's while it seems to work with everything else.)

Also, how do I turn on logging in PyTivo, and will it log my FFMPEG messages?

Thanks again to ALL that have tried to assist today!

Edit: can't believe I spent the whole day on this. Ugh!


----------



## Rdian06

Gavroche said:


> When I request a file from my my Tivo (any Tivo, S2 or S3) and it gives me the BS message about it being transferred after previously scheduled transferes have completed (of which, of course, there are none) what's actually happening is that ffmpeg is barfing on the file. For some reason it keeps trying to decode it and just keeps going... rebooting all systems just continues with the bad decode.
> 
> ...
> 
> What is it about Nero Digital that the newer FFMPEG's don't like but this old version I'm using does? Or, are there some tweaks that I can make to the PyTivo config to make it work? (I've tried all the FFMPEG's from the command line with basically no parameters, and still just barfs on the Nero Digital mp4's while it seems to work with everything else.)
> 
> Also, how do I turn on logging in PyTivo, and will it log my FFMPEG messages?


What is showing up in the console when ffmpeg is barfing?

And no, turning on logging unfortunately will NOT capture all ffmpeg output. You pretty much have to copy and paste from the console.


----------



## Gavroche

Rdian06 said:


> What is showing up in the console when ffmpeg is barfing?


"Error while decoding stream #0.1"

over and over again.

Further testing with my mp4 files reveals that it appears to only occur on Nero-Digital-Encoded files with 5.1 audio like this:










For some reason, the much older ffmpeg_mp2.exe handles it fine. Files encoded exactly the same way, but with 2-channel audio, or with mono, also seem to work fine.

EDIT: Same result when I told PyTivo to convert the audio to 192K, 2-channel, mp2.

It also took me a while to figure out how to recover from this situation, because once it starts trying to transfer a file like this, it won't let go of it, and nothing else will ever transfer, since I can't cancel it. To recover, I close the PyTivo server (console window), copy over the ffmpeg_mp2 that I know works, and restart PyTivo. At that point, the file will decode normally and display in the now playing list, allowing me to cancel the transfer.


----------



## Iluvatar

Please try the build from this other buiild.

I have had this issue extensively before and I created a special build for myself to handle it. It is because in the old ffmpeg builds they use an aac decoder called libfaad but in the new ones they have a built in decoder for aac. However there was a bug that was created that could not handle certain aac streams. So i made this build that specifically uses libfaad again.

However.....this bug does not exist in the very latest SVN builds so this workaround is not necessary on newer builds, but I dont have an already built compile of that online. Also this does not have any of rdian06's 5.1 mapping fixes. So until he releases his updated ffmpeg you will have to pick and choose which issue you want to live with.


----------



## KevinSartori

Rdian06 said:


> I'm working on a new ffmpeg build that uses the most recent ffmpeg code which mostly fixes the 5.1 channel mapping problem except for AAC 5.1 to AC3 (which is what pyTivo needs to send to the Tivo). I'm trying to patch ffmpeg to fix the AAC 5.1 to AC3 issue and then I'll release a new Windows installer with it.


Looking forward to this!


----------



## jcthorne

Gavroche,

I might suggest you remux your mp4s into a tivo compatible mp4 using ac3 audio instead of aac. The files will then simply copy to the tivohd without transcode by ffmpeg at all. Saves a great deal of space on the tivo as well.


----------



## Gavroche

jcthorne said:


> Gavroche,
> 
> I might suggest you remux your mp4s into a tivo compatible mp4 using ac3 audio instead of aac. The files will then simply copy to the tivohd without transcode by ffmpeg at all. Saves a great deal of space on the tivo as well.


Good thought, but not practical. Due to the size of my library, it would take far too long, even if I somehow automated the process. Almost everything I have is encoded this way, primarily due to the fact that before I started using PyTivo, I used the D-Link DSM-320 and DSM-520 as my media players for streaming video, and this was (at that time) the recommended format by D-Link, which caused me to invest in their "Recommended" product, Nero.

The reason I started using PyTivo in the first place was because it could transcode almost any file on the fly without the files needing to be in a very specific format, like the D-Link players required.

No, I think my solution is much easier... just use the old FFMPEG which actually works.

Thanks for the suggestion though.


----------



## Gavroche

Iluvatar said:


> Please try the build from this other buiild.
> 
> I have had this issue extensively before and I created a special build for myself to handle it. It is because in the old ffmpeg builds they use an aac decoder called libfaad but in the new ones they have a built in decoder for aac. However there was a bug that was created that could not handle certain aac streams. So i made this build that specifically uses libfaad again.
> 
> However.....this bug does not exist in the very latest SVN builds so this workaround is not necessary on newer builds, but I dont have an already built compile of that online. Also this does not have any of rdian06's 5.1 mapping fixes. So until he releases his updated ffmpeg you will have to pick and choose which issue you want to live with.


I can live without 5.1, though it would certainly be _nice_. 5.1 support was the issue that got me messing around with this in the first place (everything else was working fine.) One really DOES need the 5.1 if one's Tivo is going to be a true DVD-Player replacement. Because I like the interface on the Tivo so much more than any DVD player I own, I always rip my purchased DVD's to the Tivo to watch them. They never make it into my DVD players at all.

Still, I'd rather be stuck with Pro Logic II and actually have everything work, than not  (It still sounds pretty good, just not AS good.)

I'll try your build that you posted and let you know!


----------



## Rdian06

Gavroche said:


> "Error while decoding stream #0.1"
> 
> over and over again.
> 
> Further testing with my mp4 files reveals that it appears to only occur on Nero-Digital-Encoded files with 5.1 audio like this:
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> For some reason, the much older ffmpeg_mp2.exe handles it fine. Files encoded exactly the same way, but with 2-channel audio, or with mono, also seem to work fine.
> 
> EDIT: Same result when I told PyTivo to convert the audio to 192K, 2-channel, mp2.
> 
> It also took me a while to figure out how to recover from this situation, because once it starts trying to transfer a file like this, it won't let go of it, and nothing else will ever transfer, since I can't cancel it. To recover, I close the PyTivo server (console window), copy over the ffmpeg_mp2 that I know works, and restart PyTivo. At that point, the file will decode normally and display in the now playing list, allowing me to cancel the transfer.


I think Iluvatar is right. Nero Digital Encoder is one of the few encoders that will produce HE profile AAC (AAC with better compression, aka AAC+). As opposed to the more common LC profile AAC.

Older ffmpeg used an external GPL library called libfaad to decode all AAC content. However, the ffmpeg developers don't really like external libraries and prefer to have ffmpeg native implementations that can reuse optimized routines from other encoders/decoders. So overtime you see external libraries being replaced with more efficient and better quality native code. This happened with DTS decoding (dca decoder replacing libdca) and Dolby Digital decoding/encoding (AC3 including EAC3 support replacing liba52).

Now the problem with AAC is that the new native AAC decoder was made the default AAC decoder even though it only handles LC profile AAC whereas libfaad can handle both HE and LC profiles. And as Iluvatar discovered a while back, simply enabling libfaad doesn't override the default. You have to enable libfaad AND disable the AAC decoder to make libfaad the default again.

I had hoped that enabling libfaad with the native decoder left enabled would route HE profile AAC to libfaad and LC profile AAC to the native decoder, but I suspect what you are seeing is proof that it doesn't work the nice way. I don't have any HE profile AAC samples to test with, but looks like I'll need to grab Nero Digital and produce one. Overall this means I might have to disable the native AAC decoder in my next ffmpeg build and have libfaad do all the work. I was hoping to ditch libfaad altogether like libfaac encoder. The libfaac encoder has been deemd non-free by the ffmepg developers so I can no longer include it in my distributed compiles. At least they're making progress on the native AAC encoder this summer. And I seem to recall someone is working on adding HE profile AAC to the native decoder.

Gavroche, to verify this issue, please download mediainfo and examine your mp4 files. It should tell you whether your AAC 5.1 audio is LC or HE profile:

http://mediainfo.sourceforge.net/en/Download


----------



## Rdian06

What really sucks is that I just finished the hack on the native AAC decoder last night to fix the 5.1 channel mapping issue when transcoding to AC3.

Looks like I'll have to do the same to the libfaad shim now... argh!


----------



## Rdian06

Gavroche said:


> It also took me a while to figure out how to recover from this situation, because once it starts trying to transfer a file like this, it won't let go of it, and nothing else will ever transfer, since I can't cancel it. To recover, I close the PyTivo server (console window), copy over the ffmpeg_mp2 that I know works, and restart PyTivo. At that point, the file will decode normally and display in the now playing list, allowing me to cancel the transfer.


Oh, can't you go into the To Do list and kill the transfer from there?


----------



## Gavroche

Rdian06 said:


> Oh, can't you go into the To Do list and kill the transfer from there?


Actually no.

You can go into the to-do list and tell Tivo to cancel it, which removes the entry from the to-do list, but it has no other effect. It doesn't cause ffmpeg to stop trying to decode it, and the blue light on my Tivo stays on.

Anything you try to transfer after that, including known-to-be-working-with-this-version-of-ffmpeg files, go straight to the to-do list.

It appears that PyTivo will not release the transfer until ffmpeg can correctly decode it.

Furthermore, after you tell Tivo to cancel it and the entry is removed from the to-do list, when I replace ffmpeg with a working version for these types of files, it starts to transfer the same file that was removed from the to-do list. At this point you can then cancel the transfer.


----------



## Gavroche

Rdian06 said:


> Gavroche, to verify this issue, please download mediainfo and examine your mp4 files. It should tell you whether your AAC 5.1 audio is LC or HE profile:
> 
> http://mediainfo.sourceforge.net/en/Download


I hate to be the bringer of bad news, but this tool reports the audio on my "problem" files as profile LC as follows:

ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format version : Version 4
Format profile : LC
Format settings, SBR : No
Codec ID : 40
Duration : 2h 16mn
Bit rate mode : Variable
Bit rate : 320 Kbps
Maximum bit rate : 341 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Rear: L R, LFE
Sampling rate : 48.0 KHz
Resolution : 16 bits
Stream size : 311 MiB (18%)
Title : English
Language : English
Encoded date : UTC 2009-05-05 10:01:23
Tagged date : UTC 2009-05-05 17:38:45


----------



## Gavroche

Iluvatar said:


> Please try the build from this other buiild.


Tried it, both on one of my mp4 6-channel files that cause the other versions of ffmpeg to barf, and on a long-duration avi file that caused other versions of ffmpeg to just crash with no error messages.

Both worked fine.

Thanks!

(Now if we can just get 6-channel audio!)


----------



## Iluvatar

rdian06 -

Ultimately the issue was not an LC vs HE issue. It was purely a bug in ffmpeg that involved an incorrect stream counter that was incrementing from a wrong start point.

This was resolved as of SVN17856 so any modifications to the compile in regards to using libfaad are not required unless you have found otherwise. As long as you use a very late SVN, libfaad is absolutely not required to fix the bug Gavroche and I were having you can use the native aac decoder 100%. It does not decode HEv2 AAC as you pointed out but I have never ever come across an HEv2 sample (even though i thought that was what the bug represented before, obviously I was wrong).


> Revision: 17856
> Author: alexc
> Date: 2:47:01 PM, Friday, March 06, 2009
> Message:
> Fix the channel allocation bug/assumption (issue 800).
> Approved by Rob on IRC.
> ----
> Modified : /trunk/libavcodec/aac.c
> Modified : /trunk/libavcodec/aac.h


----------



## Rdian06

Gavroche said:


> I hate to be the bringer of bad news, but this tool reports the audio on my "problem" files as profile LC as follows:
> 
> ID : 2
> Format : AAC
> Format/Info : Advanced Audio Codec
> Format version : Version 4
> Format profile : LC
> Format settings, SBR : No
> Codec ID : 40
> Duration : 2h 16mn
> Bit rate mode : Variable
> Bit rate : 320 Kbps
> Maximum bit rate : 341 Kbps
> Channel(s) : 6 channels
> Channel positions : Front: L C R, Rear: L R, LFE
> Sampling rate : 48.0 KHz
> Resolution : 16 bits
> Stream size : 311 MiB (18%)
> Title : English
> Language : English
> Encoded date : UTC 2009-05-05 10:01:23
> Tagged date : UTC 2009-05-05 17:38:45


That's actually good news. It means that you're seeing a bug in the native AAC decoder instead of the HE AAC issue that I was afraid of. And you said over at the pyTivo forum that Iluvatar's ffmpeg build with the native AAC decoder disabled works for you so I need to see what's changed in the AAC native bits since then. I seem to recall something being fixed along these lines related to time stamp issues, but I'll have to double check.


----------



## Gavroche

Rdian06 said:


> That's actually good news. It means that you're seeing a bug in the native AAC decoder instead of the HE AAC issue that I was afraid of. And you said over at the pyTivo forum that Iluvatar's ffmpeg build with the native AAC decoder disabled works for you so I need to see what's changed in the AAC native bits since then. I seem to recall something being fixed along these lines related to time stamp issues, but I'll have to double check.


Yeah, I hate to double-post stuff on two different forums. I've been ping-ponging back and forth between here and there. I'm thinking that since we're all coming to some conclusions that we can help some of the other folks who have posted issues that seem extremely similar.

I also just want to say that you guys ROCK! As I mentioned over on the other forum... I don't get this level of quality support from stuff that I PAY for!

I am SO appreciative of all the help!


----------



## Yoav

Mostly for wmcbrine, but:
Someone just reported the following bug in pyTivoX:


Code:


ERROR:pyTivo:Exception during request from ('10.10.10.23', 1039)
Traceback (most recent call last):
 File
"/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/SocketServer.py",
line 464, in process_request_thread
   self.finish_request(request, client_address)
 File
"/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/SocketServer.py",
line 254, in finish_request
   self.RequestHandlerClass(request, client_address, self)
 File
"/Users/yoav/src/pytivox/build/Release/pyTivoX.app/Contents/Resources/pyTivo-wmcbrine/httpserver.py",
line 57, in __init__
   client_address, server)
 File
"/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/SocketServer.py",
line 522, in __init__
   self.handle()
 File
"/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/BaseHTTPServer.py",
line 316, in handle
   self.handle_one_request()
 File
"/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/BaseHTTPServer.py",
line 310, in handle_one_request
   method()
 File
"/Users/yoav/src/pytivox/build/Release/pyTivoX.app/Contents/Resources/pyTivo-wmcbrine/httpserver.py",
line 83, in do_GET
   self.handle_query(query)
 File
"/Users/yoav/src/pytivox/build/Release/pyTivoX.app/Contents/Resources/pyTivo-wmcbrine/httpserver.py",
line 133, in handle_query
   method(self, query)
 File
"/Users/yoav/src/pytivox/build/Release/pyTivoX.app/Contents/Resources/pyTivo-wmcbrine/plugins/video/video.py",
line 213, in QueryContainer
 File
"/Users/yoav/src/pytivox/build/Release/pyTivoX.app/Contents/Resources/pyTivo-wmcbrine/plugin.py",
line 206, in get_files
   if self.recurse_cache.mtime(path) + 300 >= time.time():
NameError: global name 'time' is not defined

Seems to indicate that time.time() is undefined. Odd that it's only happening for him, but wondering if maybe an 'import time' or somesuch is required (not a python person, so dont know why this would happen).


----------



## wmcbrine

Eek. Yes, "import time" is missing... will fix ASAP.

The reason no one else has reported it is that you have to be in a non-foldered view to evoke it. I guess few use that.

Edit: Fix posted.


----------



## bwall23

Hate to cross post here, but I just posted this on the AVS Forum and don't have enough posts here to post URL's
h t t p : / / w w w . a v s f o r u m . c o m /avs-vb/showthread.php?p=16610010

I'm trying to push the REC. 709 Calibration mp4 to my TiVo HD
h t t p : / / w w w . a v s f o r u m . c o m /avs-vb/showthread.php?t=948496



> Originally Posted by bfdtv
> 
> 
> 
> Originally Posted by bwall23
> Can someone tell me why, if the TiVo with software v11 can stream an AVC H.264, it cannot save it to the hard drive?
> 
> 
> 
> It can, but only when you use "push."
> In pyTiVo, push transfers are handled through the "Video shares" section of the web interface @ h t t p : / / localhost:9032/.
Click to expand...

First of all, what's your definition of Streaming vs. Downloading (push/pull)? When you stream something, does it end up in your NPL so you can set it to "save until I delete"? If so, I don't see any difference between streaming and download (push/pull).

I'm using the latest snapshot of mcbrine's pyTiVo and it obviously thinks it's not a TiVo compatible mp4 for some reason as it's converting it w/ffmpeg before pushing it. Either the TiVo HD (v11.0c) doesn't support the mp4 for some reason and pyTiVo knows it or the TiVo HD (v11.0c) does support it and pyTiVo doesn't know it.

MediaInfo says this about the file


Code:


General
Format                           : MPEG-4
Format profile                   : JVT
Codec ID                         : avc1
File size                        : 73.5 MiB
Duration                         : 15mn 0s
Overall bit rate                 : 684 Kbps

Video
ID                               : 1
Format                           : AVC
Format/Info                      : Advanced Video Codec
Format profile                   : [email protected]
Format settings, CABAC           : Yes
Format settings, ReFrames        : 3 frames
Codec ID                         : avc1
Codec ID/Info                    : Advanced Video Coding
Duration                         : 15mn 0s
Bit rate mode                    : Variable
Bit rate                         : 683 Kbps
Nominal bit rate                 : 16.5 Mbps
Maximum bit rate                 : 1 415 Kbps
Width                            : 1 920 pixels
Height                           : 1 080 pixels
Display aspect ratio             : 16/9
Frame rate mode                  : Constant
Frame rate                       : 23.976 fps
Resolution                       : 24 bits
Colorimetry                      : 4:2:0
Scan type                        : Progressive

Maybe it's because it has no audio???

I'm using FFmpeg version SVN-r15216-rdian06-0.96-win32-x86_32 built on Sep 25 2008 23:08:49, gcc: 4.2.4 [Sherpya]

Relevant (I think) output from pyTiVo and ffmpeg when trying to push it.


Code:


DEBUG pyTivo.video.transcode: failed at aKbps
DEBUG pyTivo.video.transcode: failed at aCodec
DEBUG pyTivo.video.transcode: failed at aFreq
DEBUG pyTivo.video.transcode: failed at mapAudio
Basic_Settings.mp4 is not tivo compatible
transcoding to tivo model 652 using ffmpeg command:
 ffmpeg.exe
  -i Basic_Settings.mp4
  -vcodec mpeg2video
  -b 16384k
  -maxrate 30000k
  -bufsize 4096k
  -ab 448k
 -ar 48000
  -acodec ac3
  -copyts
  -f vob


----------



## bkdtv

Assuming that you initiated the push transfer with pyTiVo using your web browser, then it is possible that program is seeing it as an incompatible video stream due to the lack of audio. I'll try to test that tonight.


----------



## cherry ghost

When I try to push a file, I get



> No option 'tivo_username' in section: 'Server'
> 
> Traceback (most recent call last):
> File "C:\Program Files\pyTivo\plugins\video\video.py", line 341, in Push
> m = mind.getMind()
> File "C:\Program Files\pyTivo\mind.py", line 285, in getMind
> username = config.getTivoUsername()
> File "C:\Program Files\pyTivo\config.py", line 62, in getTivoUsername
> return config.get('Server', 'tivo_username')
> File "C:\Python26\lib\ConfigParser.py", line 540, in get
> raise NoOptionError(option, section)
> NoOptionError: No option 'tivo_username' in section: 'Server'


Do I have to do something in the settings?


----------



## bkdtv

cherry ghost said:


> When I try to push a file, I get
> 
> Do I have to do something in the settings?


For this "push" functionality to work, you must enter your Tivo.com username and password. In recent versions of pyTiVo, you can do this through pyTiVo web configuration under Global Server Settings. If you have an older version of pyTiVo without the username and password fields in web configuration, you can modify pyTivo.conf as follows:


Code:


[Server]
tivo_username = <tivo.com username>
tivo_password = <tivo.com password>

Note videos with non-standard aspect ratios (i.e. non 16:9) will not display correctly when pushed to the TiVo as is. The current TiVo software cannot add black bars to the top and bottom of MP4 videos.


----------



## moyekj

bkdtv said:


> Note videos with non-standard aspect ratios (i.e. non 16:9) will not display correctly when pushed to the TiVo as is. The current TiVo software cannot add black bars to the top and bottom of MP4 videos.


 From some past experiments it was determined at least for certain resolutions you can get non-16:9 ratios to display correctly (with bars). In some cases setting proper PAR/DAR settings is all that is needed for it to display correctly. See this thread starting at this post for some examples:
http://www.tivocommunity.com/tivo-vb/showthread.php?p=7154170#post7154170
TivoHD does a much better job than the original S3 series units at proper scaling and MP4 decoding in general (not too surprisingly).


----------



## jcthorne

As I use this function quite a bit, I've come to the conclusion that for 1080i and 1080p resolutions, TivoHD handles non 16:9 aspect ratios correctly almost every time. For 720p, It does not. Sometimes it does. Sometimes setting the display aspect ratio correctly fixes it, sometimes not. I have taken to re-encoding all vids that are not full frame 720p to add the black bars. They ALWAYS display correctly then. Far too much trouble to remux to an mp4 container, transfer to tivo only to find out the vid does not play correctly and do it again.

For 1080p video, I just remux and send, it mostly always works unles the vid has other problems. Does take a good bit more storage space though and my displays do not handle 1080p.


----------



## cherry ghost

bkdtv said:


> For this "push" functionality to work, you must enter your Tivo.com username and password. In recent versions of pyTiVo, you can do this through pyTiVo web configuration under Global Server Settings. If you have an older version of pyTiVo without the username and password fields in web configuration, you can modify pyTivo.conf as follows:
> 
> 
> Code:
> 
> 
> [Server]
> tivo_username = <tivo.com username>
> tivo_password = <tivo.com password>
> 
> Note videos with non-standard aspect ratios (i.e. non 16:9) will not display correctly when pushed to the TiVo as is. The current TiVo software cannot add black bars to the top and bottom of MP4 videos.


Thank you


----------



## spocko

I have a MPG file which plays back with no audio when pulled to my Tivo via pyTivo. The file originated as a VOB ripped from a DVD. I have tried renaming the original VOB to MPG, and also tried converting it to MPG the VOB2MPG program. Either way I get no audio when the resulting MPG is played on my Tivo. The audio plays fine on my PC. Anyone have any ideas?

----------------------------------
Edit:

Nevermind, I found the answer here:
http://pytivo.krkeegan.com/how-to-make-mpegs-vobs-compatible-with-tivo-and-pytivo-t366.html

My issue above was because I did not rip the primary audio track when I ripped the DVD. Mpeg Streamclip takes care of this, but VOB2MPG does not.


----------



## pcbrew

Is the site down?

I cannot access or even ping: http://pytivo.armooo.net


----------



## loganasu

pcbrew said:


> Is the site down?
> 
> I cannot access or even ping: http://pytivo.armooo.net


Yes, It appears to be down. (or at least I can't get to it, either.)


----------



## innocentfreak

pcbrew said:


> Is the site down?
> 
> I cannot access or even ping: http://pytivo.armooo.net


No luck here either. I guess I will hold off on installing it.


----------



## Rdian06

Yeah, can't reach it here either.

The main site is hosted by the original developer, but he's nearly inactive these days. We've been trying to contact him to get a few things fixed and combat the massive spam wave...

In any case, most of what you need to get started is hosted from the forum site:

http://pytivo.krkeegan.com/

Windows Installers are here:

http://pytivo.krkeegan.com/updated-windows-installer-2009-03-21-t512.html

Simplified Mac version is here:

http://pytivox.googlecode.com/


----------



## innocentfreak

Thanks I think I have it installed correctly. Now I have some reading to do on initial setup.

EDIT: Site is back up now. Now if I can figure out why my videos aren't showing up.


----------



## pcbrew

Thanks *Rdian06*!
Let me preface this my saying I am doing this on WHS - an HP Mediasmart EX485, and I also have the Tivo Publisher service installed, in case that matters... However, as has been noted, Tivo Publisher is slow transferring, not clear if it is transcoding all the time and I also do not get the HD photo's checkbox to enable hi-res JPEGs.

In a quest for faster transfers, I decided to try pyTivo. I got: 

python 2.6.2
the March 2009 Windows installer from your link
wmcbrines' latest package

Then I logged in via remote desktop and installed Python and ran the WIndows installer and set to run as a service and configured the directories.

I can see videos, music, and photos directories but have the follwoing issues:

Music - works fine
Videos 

.tivo file - get menu to transfer but does not actually transfer - as expected per documented bug
.mpg file (single large mpg2 filed from DVD rip using DVD shrink) does not show any info when file is selected and no option is given to transfer the file. 
I also tried with a 720x480 DivX .avi file and 720p Quicktime .mov file (movie trailer) with the same effect.

Photos - I can see all the directories and files but get no thumbnails and when I actually try to view a file, I get nothing (an icon of a cracked picture).

I tried updating with wmcbrines latest update (from sometime yesterday) but not sure if I am doing this right. Following some other directions, I copied over all of the files from the new snapshot (manually, one directory at a time) and deleted the .pyc files and tried restarting the server to rebuild, but it does not appear that the service runs at startup and I cannot open the config webpage (http://localhost:9032/) even after manually starting pyTivo. Seems something I copied over messed up the service and firewall.

Any help would be appreciated.


----------



## windracer

It sounds like pyTiVo can't find ffmpeg which is what it uses to process videos. In your pyTivo.conf file, is it pointing to the proper location of ffmpeg? In the [Server] section there should be a line like:

ffmpeg=<path to ffmpeg>

_edit:_ oh, I see you tried to manually update ... maybe you should try to re-install and start over?


----------



## pcbrew

The problems were there before I tired updating (unexpected behavior when I select anything other than a .tivo file). I have removed(uninstalled) and re-installed using the Windows installer and am back where I started.

I'll check the ffmpeg path tonight to see if I can get past that hurdle before tackling the update issues.

Do I need anything special to get the photo viewer working?
Should it support HD photos?


----------



## wmcbrine

pcbrew said:


> Do I need anything special to get the photo viewer working?


Yes, you need the Python Imaging Library.



> _Should it support HD photos?_


It will output any resolution requested. But the built-in player on the TiVo only requests SD. You need an HME-based viewer to get HD pictures on the TiVo. (You can run TiVo's "HD Photos" HME app with pyTivo as the backend instead of TiVo Desktop.)

As for your other problems, 1) post a log (and please, read it yourself first -- you'd have seen a warning about the missing Python Imaging Library there), and 2) you can't upgrade rdian06's installer just by unzipping one of my snapshots over it. That used to work, but not with his last version.


----------



## pcbrew

windracer said:


> It sounds like pyTiVo can't find ffmpeg which is what it uses to process videos. In your pyTivo.conf file, is it pointing to the proper location of ffmpeg? ...


Thanks *windracer* and *wmcbrine*.

Yes, it was a bad ffmpeg path and failure to read all the directions. 
The ones I followed from AVSforum did not include the bit about the Python imaging lib.

Now I have the basics working:

Music
Photos
Videos (except .tivo files)

Can you give me some advice on:

How to patch the release with a later snapshot, or how to setup the snapshot from scratch and run pyTivo as a service (want this to run at startup on a WHS box). I need this to fix the issue with .tivo files.
How to "run TiVo's "HD Photos" HME app with pyTivo as the backend instead of TiVo Desktop"

*Edit: I managed to get the HD Photos working. Must have been some issue in running the launcher when I tried at first.* Keeping this section in case it can help someone else. I will also note that I installed Java 1.6 to start with (for Tivo Publisher) and auto-updated after that so it now works with the latest Java release.

For the HD photos part, I found this post: How to use the HD Photos app from Dec 2007, but mentions that it requires Java 1.5 as Java 1.6 and later have certificate issues. 
That post It links to this one: Making the HD Photos HME application run on Mac OS X.


----------



## pcbrew

pcbrew said:


> ...
> 
> Can you give me some advice on:
> 
> How to patch the release with a later snapshot, or how to setup the snapshot from scratch and run pyTivo as a service (want this to run at startup on a WHS box). I need this to fix the issue with .tivo files.
> ...


*I have almost everything working now!*

I assumed there was some magic in *Rdian06*'s Windows Installer that I would not be able to do with just a git snapshot. However, I started checking into what I pulled down last weekend to see what it would take to get an alternate snapshot running, even if manually, so I would get support for native .tivo files. When I finally RTFM, I saw there are instructions in the README for running pyTivo as a service that starts up without having to login, etc. All that is required is another python component.

So, I now have a very recent version of pyTivo running as a service when my server starts vs. having to remote desktop in and manually start.

I still have to login via remote desktop and launch the HD Photos service but photo browsing is a distant 3rd in use cases for me so I am 99% satisfied with where I am.

If anyone knows how to run the HD Photos launcher at startup, let me know. I'll have to search around on the Windows Home Server and HP Mediasmart forums for that info.


----------



## diceman719

wmcbrine said:


> Yes, you need the Python Imaging Library.


Does anyone know where I can get the Windows version of the PIL?
Neither pythonware nor efffbot seem to want to talk to me...

Thanks,


----------



## innocentfreak

I can not figure out what I am doing wrong. I can see the Tivo and browse my Now Playing list but I can't get any shares to show up. If I go to My Videos under the web configuration nothing shows up. Any ideas? I have tried both network shares and local files and folders.


----------



## Rdian06

innocentfreak said:


> I can not figure out what I am doing wrong. I can see the Tivo and browse my Now Playing list but I can't get any shares to show up. If I go to My Videos under the web configuration nothing shows up. Any ideas? I have tried both network shares and local files and folders.


The account used to run pyTivo has to have read permissions to your videos.

If you're using the Windows installer and you are running pyTivo as a service, then unless you specified a Windows Service username/password during install the service will run as the System user. Try shutting down the service and running pyTivo from console (Start Menu group items are available for this) so it runs as your normal user. If that works then you definitely need to fix your file permissions.


----------



## innocentfreak

Thanks. I got it running under console which works but I can't for the life of me get it working as a service. It works for now so I am going to stop messing with it .


----------



## Rdian06

innocentfreak said:


> Thanks. I got it running under console which works but I can't for the life of me get it working as a service. It works for now so I am going to stop messing with it .


You can bring up the Windows Services list and modify the service to run as your account by providing your username/password.

Start->Run->Type "services.msc".

Find the pyTivo service and edit it's properties. Use the Log On tab to enter your username/password.


----------



## rmassey

I run pyTivo as a service on a Windows Home Server and notice that transfers to my Tivo S3 seem to take forever lately. I am transferring a .mkv file, 8 GB to my hard wired S3 on the same network and it takes all day. 

Is there a log file I can check to understand the slow transfer speed? any other ideas?


----------



## Rdian06

rmassey said:


> I run pyTivo as a service on a Windows Home Server and notice that transfers to my Tivo S3 seem to take forever lately. I am transferring a .mkv file, 8 GB to my hard wired S3 on the same network and it takes all day.
> 
> Is there a log file I can check to understand the slow transfer speed? any other ideas?


Is your mkv file h264 video and ac3/dts audio? If so then transferring to the Tivo uses ffmpeg to transcode to Mpeg2 video and ac3 audio in a VOB file. The transcoding process is CPU intensive.

Also, what is the duration of your 8GB file? Is it near 2 hours? 1080p resolution? If so you're dealing with a pretty high bitrate and the Tivo's incoming transfer speed is throttled by the Tivo OS to 12-20Mbps even on a 100Mbps wired link. Apparently it does this in order to be responsive to the remote and record/watch other content while the transfer is taking place.

Not to mention the Tivo itself is remuxing the VOB to it's native ty format for storage on the Tivo hard drive.


----------



## pcbrew

Rdian06 said:


> You can bring up the Windows Services list and modify the service to run as your account by providing your username/password.
> 
> Start->Run->Type "services.msc".
> 
> Find the pyTivo service and edit it's properties. Use the Log On tab to enter your username/password.


I had posted previously and, while pyTivo appears to work properly as a service, it 'degrades' over time...

When I restart the WHS box (EX485), I can see all the shares (top level vides directlory and then direct links into several subdirectories). I am using this setup so I can use the sort feature (via remote '1'). If I come back and browse the NPL a while later, I can only see the top-level directory, or many times none at all indicating pyTivo has stopped working properly. If I start manually, everything is fine but I want to have the service start each time the WHS box starts without having to remote desktop in.

I have followed this hint and have entered Administrator as username and my Admin password but still no joy...


----------



## rmassey

Rdian06 said:


> Is your mkv file h264 video and ac3/dts audio? If so then transferring to the Tivo uses ffmpeg to transcode to Mpeg2 video and ac3 audio in a VOB file. The transcoding process is CPU intensive.
> 
> Also, what is the duration of your 8GB file? Is it near 2 hours? 1080p resolution? If so you're dealing with a pretty high bitrate and the Tivo's incoming transfer speed is throttled by the Tivo OS to 12-20Mbps even on a 100Mbps wired link. Apparently it does this in order to be responsive to the remote and record/watch other content while the transfer is taking place.
> 
> Not to mention the Tivo itself is remuxing the VOB to it's native ty format for storage on the Tivo hard drive.


Yes to all the above..... it's a full length (2h14m) movie, 1080p, DTS 5.1... and correction: the file is 11.5GB, not 8.

It did finally finish today after three attempts.... started the transfer at 7:30 Am and it's done now at 10:30 PM.... so 15 hrs - wow, that took a while.

thanks for the explanation, this gives me a better appreciation for the process. I will target 720p files and skip the 1080p .mkv files. Given the S3 won't even play 1080p, it's a waste of time and space.


----------



## Rdian06

pcbrew said:


> I had posted previously and, while pyTivo appears to work properly as a service, it 'degrades' over time...
> 
> When I restart the WHS box (EX485), I can see all the shares (top level vides directlory and then direct links into several subdirectories). I am using this setup so I can use the sort feature (via remote '1'). If I come back and browse the NPL a while later, I can only see the top-level directory, or many times none at all indicating pyTivo has stopped working properly. If I start manually, everything is fine but I want to have the service start each time the WHS box starts without having to remote desktop in.
> 
> I have followed this hint and have entered Administrator as username and my Admin password but still no joy...


You're running as a Windows Service using the instructions from the README which employs a different method than the Windows Installer. I have no idea how stable that is as I've never used that method.

Or you could be seeing an issue with wmcbrine's new caching code (I haven't updated to his latest yet so I don't know how it behaves.) However, I think the report I saw said problems only appear if you add a new file after pyTivo is running causing the cache to go out of synch, not having everything disappear.


----------



## wmcbrine

Rdian06 said:


> Or you could be seeing an issue with wmcbrine's new caching code


I don't think so.



> _However, I think the report I saw said problems only appear if you add a new file after pyTivo is running causing the cache to go out of synch_


No, that was fixed. And basically the only problem was that it wouldn't play the new file. Also, that was with the music plugin.


----------



## MickeS

Is anyone running pyTiVo under Windows 7 (RC)?

I am, and everything SEEMS to work OK, except that transfers get interrupted intermittently, and there is also pixelation in transfered files. The files start transferring just fine, but after x minutes the transfer simply stops. if the file transfers all the way, there are multiple scenes with varying degrees of pixelation (compared the same scenes on the PC and they worked fine).

When I run the same version in Windows XP (dual boot on the same PC), it works fine with the same file and TiVo.

I'm using wmcbrine's 2008.8.20 RC-1 version of pyTiVo, but I don't know if this is related to the TiVo version or encoder (ffmpeg?) version.


----------



## wmcbrine

That version is outdated. If you get a recent version from my repo, you'll get support for resuming interrupted transfers automatically. However, you'll have to do without the Windows Installer thingie.

The pixelation, I can't really speak to. Is it the same ffmpeg on both?


----------



## MickeS

wmcbrine said:


> That version is outdated. If you get a recent version from my repo, you'll get support for resuming interrupted transfers automatically. However, you'll have to do without the Windows Installer thingie.
> 
> The pixelation, I can't really speak to. Is it the same ffmpeg on both?


Thanks for your input. I checked the setups in both OSs. Windows 7 (the one where transfers kept failing) had the 3.19 Windows installer version, and Windows XP (the one that worked) had the 8.20 Windows installer version.

Anyway, I left the XP one as it was, since it's always worked fine for me.

But in Windows 7, I removed everything and downloaded your latest version, from last night, and installed it manually. That put an end to the failed transfers on the file that had failed twice before.

Here's the interesting part though, that isn't really related to your code, but anyway ...

I've been using two files that I know have given me problems before for these tests. File1.avi has always failed in the same spot on the XP machine. It's only worked when I've converted it to mpeg before transfering.
File2.avi worked fine in XP, but got canceled transfers in Windows 7.

On the XP machine, pyTiVo has been using a file called ffmpeg_mp2.exe (dated last year). That was the one used in Windows 7 when transfers were failing.

For the new Windows 7 pyTiVo install, I downloaded the latest version of ffmpeg.exe to use.

Here's the odd thing: in Windows 7 now, when pyTiVo uses ffmpeg_mp2.exe (the old .exe), File1.avi stops transfering at the same spot as before. When I use ffmpeg.exe (the new one), the transfer goes without a hitch.

File2.avi on the other hand, now transfers just fine when using ffmpeg_mp2.exe, no more interruptions - however, when using ffmpeg.exe it transfers OK, BUT the audio is at 1/2 speed or something - out of sync and the people all sound like drugged Transformers when they're speaking. 

All other files I've tried work fine using the new ffmpeg.exe, and since the "problem file" File1.avi transfered OK using that one, I will stick to it. I can't figure out why File2.avi gets the sound messed up though!


----------



## lrhorer

Rdian06 said:


> and the Tivo's incoming transfer speed is throttled by the Tivo OS to 12-20Mbps even on a 100Mbps wired link.












'Care to rethink that statement?



Rdian06 said:


> Apparently it does this in order to be responsive to the remote and record/watch other content while the transfer is taking place.


The OS does not deliberately throttle anything, and even at bit rates exceeding 100 Mbps (using a gigabit adapter and back-ported drivers), Jamie has not reported any sluggishness on the part of the remote.



Rdian06 said:


> Not to mention the Tivo itself is remuxing the VOB to it's native ty format for storage on the Tivo hard drive.


It also encrypts the content, which is probably what takes up most of the time. The fact MRV transfers enjoy more than twice the bit rate of TTCB transfers supports the notion. The fact 720p transfers with twice the frame rate of 1080i take longer, but not anything like twice as long, also seems to support this.


----------



## Rdian06

lrhorer said:


> 'Care to rethink that statement?


I was talking about TivoToComeBack, not MRV and not h264 Push.

As for the throttling, I stand corrected. I probably should have said that other things happening on the Tivo compete for hard drive bandwidth and therefore the transfer rate will vary depending on whether you're recording/watching other streams or have your tuners parked on channels without any signals.


----------



## Rdian06

MickeS said:


> All other files I've tried work fine using the new ffmpeg.exe, and since the "problem file" File1.avi transfered OK using that one, I will stick to it. I can't figure out why File2.avi gets the sound messed up though!


Where did the "new" ffmpeg.exe come from? Is it one of my builds and if so, which version?


----------



## MickeS

I downloaded it from a link at http://www.videohelp.com/tools/ffmpeg


----------



## Rdian06

MickeS said:


> I downloaded it from a link at http://www.videohelp.com/tools/ffmpeg


Can you test those two problem avis with my rdian06 v0.98 ffmpeg build from here:

http://pytivo.krkeegan.com/post3557.html#3557

It's based on a recent ffmpeg development snapshots (newer than the released 0.5 that you downloaded.)


----------



## MickeS

Rdian06 said:


> Can you test those two problem avis with my rdian06 v0.98 ffmpeg build from here:
> 
> http://pytivo.krkeegan.com/post3557.html#3557
> 
> It's based on a recent ffmpeg development snapshots (newer than the released 0.5 that you downloaded.)


Yeah, the 0.98 version works the same as the 0.5 version and mess up the audio on file2, and both 0.98 and 0.5 transfer the file1 all the way past the problems spots that cancel the transfer when using the ffmpeg_mp2 version.

Since the audio sync problem so far is only happening on this one file (I can send you a link to it if you want, it's a 700MB movie rip), I will keep using this latest ffmpeg for now. It is a little odd that it works on the old ffmpeg_mp2.exe file though.


----------



## Gavroche

HI wmcbrine, rdian06, and everyone!

Lately I've been trying to use the "push" functionality of PyTivo. I really like the fact that when I "push" items that would normally not go into a folder (because the Tivo doesn't know the series ID or whatever), they will go into a folder. That's a great feature!

However, when I use push, I can't start watching the transferred item until almost all of it has been transferred. The Tivo will give me the message that my connection isn't fast enough and I must wait X number of minutes before playing. The odd thing is, that generally in X number of minutes, the entire program has finished transferring. (So the message from the Tivo is bogus, essentially.)

Is this some sort of problem on my end, or is this just a known issue between PyTivo and Tivo?


----------



## wmcbrine

Yes, it's a known issue, but not really with pyTivo. You can see the same thing with TiVoCasts. But it does show up more often with pyTivo -- because, on transcoded files, the estimated size normally exceeds the actual final encoded size, so the TiVo thinks the stream is coming in more slowly than it really is. But pyTivo _has_ to err in that direction, because if it _under_estimates the final size, then the whole recording gets thrown away.

The main issue is that TiVo Inc. put in this "feature" to block viewing during pushes, to, I guess, "protect the user experience" (instead of having it constantly hit the "More of this program is being transferred" screen on a slow connection), where they didn't on pulls, because pulls are assumed to come from the LAN, while pushes were originally designed for TiVoCasts, where the TiVo would be connecting to a server over the public Internet. I don't think the feature is really helpful in any case, but as you see, it becomes downright counterproductive in this particular situation, which wasn't really contemplated when they designed it.


----------



## Gavroche

wmcbrine said:


> Yes, it's a known issue, but not really with pyTivo. You can see the same thing with TiVoCasts. But it does show up more often with pyTivo -- because, on transcoded files, the estimated size normally exceeds the actual final encoded size, so the TiVo thinks the stream is coming in more slowly than it really is. But pyTivo _has_ to err in that direction, because if it _under_estimates the final size, then the whole recording gets thrown away.
> 
> The main issue is that TiVo Inc. put in this "feature" to block viewing during pushes, to, I guess, "protect the user experience" (instead of having it constantly hit the "More of this program is being transferred" screen on a slow connection), where they didn't on pulls, because pulls are assumed to come from the LAN, while pushes were originally designed for TiVoCasts, where the TiVo would be connecting to a server over the public Internet. I don't think the feature is really helpful in any case, but as you see, it becomes downright counterproductive in this particular situation, which wasn't really contemplated when they designed it.


I figured it was something like that. I suppose they probably didn't count on folks like you working on something as awesome as PyTivo and using the push functionality.

I've just learned that if I want to watch it right away I don't use push. It's still a nice feature to have in some situations though, especially when I want to watch a bunch of episodes of a show that Tivo would not normally put in a folder.

It's kind of nice to, for example, on the Series 3, transfer a bunch of new movie trailers and have them show up in one folder that I can just press play on and watch them all.

Thanks for the info!


----------



## vulture99

Gavroche said:


> Lately I've been trying to use the "push" functionality of PyTivo. I really like the fact that when I "push" items that would normally not go into a folder (because the Tivo doesn't know the series ID or whatever), they will go into a folder. That's a great feature!


I have the push feature working and can push videos to my Tivo HD via the web interface. But the videos just get placed in the NPL individually (not in a folder). How do I get them to appear in a folder? It would be great if I could define a folder (e.g., "Looney Tunes") and push a bunch of videos into that folder. I am using the wmcbrine snapshot from a couple of days ago and it runs on a Linux server.

Thanks. And big thanks to wmcbrine - I have been using your pytivo source for a long time. I am psyched to upgrade and play with the new features


----------



## christoman

I have been using pyTivo to serve backed-up DVDs from my server and it works great. I use DVDFab vob Passthrough mode to create a MPEG file and add MetaGenerator to add the metadata.

Is there a straightforward way to inject English subtitles as closed captions into the MPEG file? I have seen a few posts about T2Sami, but was unclear on how you include this in the whole process.

Thanks for your help.


----------



## kearygriffin

wmcbrine said:


> Yes, it's a known issue, but not really with pyTivo. You can see the same thing with TiVoCasts. But it does show up more often with pyTivo -- because, on transcoded files, the estimated size normally exceeds the actual final encoded size, so the TiVo thinks the stream is coming in more slowly than it really is. But pyTivo _has_ to err in that direction, because if it _under_estimates the final size, then the whole recording gets thrown away.


Streambaby has the same issues dealing with push (and in fact stole the size estimation code from pyTivo), but I also wanted to mention one other thing I was fooling around with dealing with push.

In certain circumstances streambaby can't even estimate the final video size. In particular when it uses the "-sameq" parameter with ffmpeg and doesn't specify any bitrate paramters, streambaby can't estimate the size. (It may be more accurate to say I don't know how to estimate the size...)

In this case streambaby passes a size of "-1" to TiVo.

When a push is done in this way, the TiVo code to determine when to allow someone to start viewing the video seems to behave very erratically. If you try to play the video it may say "1 minutes until"... If you hit back, and then try immediately to play again it may say "60 minute until..". If you hit back again and select play, it may actually allow you to start playing.

I am not sure how in this case TiVo is determining whether or not to allow you to play or the minutes remaining (current network speed/movie duration?), but it seems that if you hit back & play enough it will eventually let you play. The biggest downside is that even if you have 95% of the movie downloaded, TiVo still acts as above.

Note: I am not recommending the above, and in fact I am thinking about eliminating the use of -sameq from streambaby so I can always estimate the size and pass it to the TiVo during the push. I just wanted to get the results of my playing around out there.


----------



## rambler

christoman said:


> I have been using pyTivo to serve backed-up DVDs from my server and it works great. I use DVDFab vob Passthrough mode to create a MPEG file and add MetaGenerator to add the metadata.
> 
> Is there a straightforward way to inject English subtitles as closed captions into the MPEG file? I have seen a few posts about T2Sami, but was unclear on how you include this in the whole process.
> 
> Thanks for your help.


I use pocketdivx encoder on vobs, to add closed captions burned right onto the video. Simplest way i've found. It works great on avi's if you have an srt too.


----------



## lrhorer

vulture99 said:


> I have the push feature working and can push videos to my Tivo HD via the web interface. But the videos just get placed in the NPL individually (not in a folder). How do I get them to appear in a folder?


If you only push one program, then it won't show up in a folder (just like ordinary NPL behavior), but if you push more than one program from a share, the the programs from that share should all show up in a folder with the name of the share. Create more than one share on the server, and the programs from each will show in in their respective folder. If you want to have any particular program show up in more than one folder, then create multiple symlinks to the "real" file in each additional folder.

I'm not certain how this works with sub-folders. I've never tried it. Out of curiosity, I am transferring a pair of programs from a two layer deep folder structure, right now.



vulture99 said:


> It would be great if I could define a folder (e.g., "Looney Tunes") and push a bunch of videos into that folder. I am using the wmcbrine snapshot from a couple of days ago and it runs on a Linux server.


Create a share on the server called "Looney Toons", and create symlinks to the main files on the server (both the video files and the metafiles), and you're set.


----------



## wmcbrine

lrhorer said:


> but if you push more than one program from a share, the the programs from that share should all show up in a folder with the name of the share.


No.

Push grouping is based on shared seriesId, seriesTitle or title in the metadata, only (with the name based on seriesTitle or title).


----------



## jmemmott

christoman said:


> I have been using pyTivo to serve backed-up DVDs from my server and it works great. I use DVDFab vob Passthrough mode to create a MPEG file and add MetaGenerator to add the metadata.
> 
> Is there a straightforward way to inject English subtitles as closed captions into the MPEG file? I have seen a few posts about T2Sami, but was unclear on how you include this in the whole process.
> 
> Thanks for your help.


Right now, I dont have what I would consider an optimal way of transforming subtitles into captioned mpg. I was working on it but allowed myself to be sidetracked to create a counter example to claims about how difficult it is to stream closed captioned video using Silverlight. I have now restarted the subtitle work but it will be a few more days before I will be ready to release it. In the interim, it is still possible to do it, but it needs to be done in two steps. The first step uses t2extract or the Captions tab to create an .srt file from the DVD and the second uses t2merge or the Coming Back tab to create the captioned mpg file for pyTivo.

Currently If I work with a closed captioning in a DVD rather than subtitles, the process is designed to work as follows:

T2Sami expects to start from an unencrypted VIDEO_TS directory. If DVDFab is used then the entire contents of a DVD should be transferred to a directory. There is no need to manipulate anything so any version of DVDFab is sufficient.

Using the Coming Back tab in T2Sami, I select the program I want by VTS and PGC from the list and rename it using the right mouse button context menu.

I then select the conversion template I want to use. Typically this is one that does not do any re-encoding such as the MPEG template. Since I use pyTivo, I also enabled the pyTivo option and set the check box in the MPEG template to use the pyTivo push interface when I installed T2Sami.

At this point all I have to do is press the processing button and minimize T2Sami while I do something else. T2Sami then extracts the audio, video and captions for the selected program; reformats them into the Tivo captioned video format and pushes the resulting file to the Tivo via pyTivo.

I expect the subtitle mechanism will work the same way except you will need to set flags in your template to tell it to use the subtitle stream as the captioning source rather than DVD closed captions and set the subtitle language you want to use as part of the template.

If you have specific questions or issues, I am happy to try to clarify how and why I am trying to implement things as I am. I also am open to suggestions about how to improve things if you have any.


----------



## lrhorer

wmcbrine said:


> No.
> 
> Push grouping is based on shared seriesId, seriesTitle or title in the metadata, only (with the name based on seriesTitle or title).


Oops! Of course you are right. I had forgotten there's an extra step. What I do is (automatically) create a metafile with a seriesId and a seriesTitle based upon the folder. Since every metafile in the pyTivo share has the same seriesId and SeriesTitle, they all show up under a single folder. As an example, before I verify a program can transfer to the TiVo without error, I toss it into a share named "Unverified" and create a metafile with a seriedId of 99999 and a seriesTitle of "Unverified". Then all the programs show up in a folder named "Unverified". Once the files transfer successfully, I delete the programs on the TiVo and the respective symlinks and metafiles in the Unverified share directory.


----------



## christoman

jmemmott said:


> Right now, I dont have what I would consider an optimal way of transforming subtitles into captioned mpg. I was working on it but allowed myself to be sidetracked to create a counter example to claims about how difficult it is to stream closed captioned video using Silverlight. I have now restarted the subtitle work but it will be a few more days before I will be ready to release it. In the interim, it is still possible to do it, but it needs to be done in two steps. The first step uses t2extract or the Captions tab to create an .srt file from the DVD and the second uses t2merge or the Coming Back tab to create the captioned mpg file for pyTivo.
> 
> Currently If I work with a closed captioning in a DVD rather than subtitles, the process is designed to work as follows:
> 
> T2Sami expects to start from an unencrypted VIDEO_TS directory. If DVDFab is used then the entire contents of a DVD should be transferred to a directory. There is no need to manipulate anything so any version of DVDFab is sufficient.
> 
> Using the Coming Back tab in T2Sami, I select the program I want by VTS and PGC from the list and rename it using the right mouse button context menu.
> 
> I then select the conversion template I want to use. Typically this is one that does not do any re-encoding such as the MPEG template. Since I use pyTivo, I also enabled the pyTivo option and set the check box in the MPEG template to use the pyTivo push interface when I installed T2Sami.
> 
> At this point all I have to do is press the processing button and minimize T2Sami while I do something else. T2Sami then extracts the audio, video and captions for the selected program; reformats them into the Tivo captioned video format and pushes the resulting file to the Tivo via pyTivo.
> 
> I expect the subtitle mechanism will work the same way except you will need to set flags in your template to tell it to use the subtitle stream as the captioning source rather than DVD closed captions and set the subtitle language you want to use as part of the template.
> 
> If you have specific questions or issues, I am happy to try to clarify how and why I am trying to implement things as I am. I also am open to suggestions about how to improve things if you have any.


jmemmott, thanks so much. This is the first time I have seen any step by step instructions, and I am sure it will be helpful to a lot of people. I will give this a try today. - Chris


----------



## ajayabb

Strange problem started happening. Using the Config Admin Web page, I am unable to connect to LocalHost9032 with Windows XP. I reinstalled a different version of Python twice and reinstalled Pytivo to no avail. I am able to run Pytivo from my Tivo without any problems, I simply cant load the Web Admin Page.


----------



## moyekj

Instead of http://localhost:9032 try http://<ip>:9032 where <ip> is your PC IP (the computer running pyTivo). And of course make sure you didn't accidentally change port number from 9032 to something else.


----------



## ajayabb

moyekj said:


> Instead of http://localhost:9032 try http://<ip>:9032 where <ip> is your PC IP (the computer running pyTivo). And of course make sure you didn't accidentally change port number from 9032 to something else.


I still get Failure to Connect.


----------



## Rdian06

ajayabb said:


> Strange problem started happening. Using the Config Admin Web page, I am unable to connect to LocalHost9032 with Windows XP. I reinstalled a different version of Python twice and reinstalled Pytivo to no avail. I am able to run Pytivo from my Tivo without any problems, I simply cant load the Web Admin Page.


Are you trying to connect to it from the same machine that is running pyTivo? Or a different machine?

And when you say "I am able to run Pytivo from my Tivo without any problems", do you mean you can see the pyTivo shares on your Tivo and transfer files without any issues?

FYI, the 03/2009 Windows installer tightened the firewall exception a little bit for security reasons. The admin page can only be connected to from within the pyTivo box's subnet by default. You can of course change this if you want by modiying the Windows Firewall exception scope.


----------



## ajayabb

Rdian06 said:


> Are you trying to connect to it from the same machine that is running pyTivo? Or a different machine?
> 
> And when you say "I am able to run Pytivo from my Tivo without any problems", do you mean you can see the pyTivo shares on your Tivo and transfer files without any issues?
> 
> FYI, the 03/2009 Windows installer tightened the firewall exception a little bit for security reasons. The admin page can only be connected to from within the pyTivo box's subnet by default. You can of course change this if you want by modiying the Windows Firewall exception scope.


Correct, I am trying to connect to it on the same machine that is running pytivo.

Correct, I am able to see my video shares on my tivo and transfer without a hitch.

I have turned off my Windows firewall without any success


----------



## Rdian06

ajayabb said:


> I have turned off my Windows firewall without any success


Try typing:



Code:


http://127.0.0.1:9032

Don't forget the http:// part.

Also double check your conf file and see if there is a port number listed in the Server section. If there is, substitute that number for 9032 above.


----------



## ajayabb

Rdian06 said:


> Try typing:
> 
> 
> 
> Code:
> 
> 
> http://127.0.0.1:9032
> 
> Don't forget the http:// part.
> 
> Also double check your conf file and see if there is a port number listed in the Server section. If there is, substitute that number for 9032 above.


Still No Luck. Failure to connect


----------



## Rdian06

ajayabb said:


> Still No Luck. Failure to connect


Are you using Internet Explorer or Firefox to try to connect?

It's possible you (or a virus) configured a proxy that is screwing up the connection from that machine. I've seen this happen to a friend. I'd look at the Internet Options control panel on the Connections tab. Firefox has proxy configuration options of it's own somewhere in its preferences.


----------



## ajayabb

Rdian06 said:


> Are you using Internet Explorer or Firefox to try to connect?
> 
> It's possible you (or a virus) configured a proxy that is screwing up the connection from that machine. I've seen this happen to a friend. I'd look at the Internet Options control panel on the Connections tab. Firefox has proxy configuration options of it's own somewhere in its preferences.


I reinstalled an older version of Pytivo, thinking that may help but it didnt. I then reinstalled the latest Windows Installer version as I had before and now everything works fine. Thanks for all the help


----------



## AudioNutz

I'm not sure if this has been asked, but is there a way to configure pytivo so that only one of my two TiVo's has access to the shows stored there?


----------



## lrhorer

I don't think pyTivo has any such configuration built in, but there are a number of ways to accomplish such a task, depending on exactly what you want to do.


----------



## Rdian06

AudioNutz said:


> I'm not sure if this has been asked, but is there a way to configure pytivo so that only one of my two TiVo's has access to the shows stored there?


There is an option to do this with the latest wmcbrine code. However, it has a bit of a conflict with the new Zeroconf share announcement.

You enable it by defining a Tivo unit specific section and adding a "shares" line to limit which shares are visible to that Tivo (comma separate list of share names.)

When you add a "shares" line, pyTivo will DISABLE Zeroconf by default (this is normally enabled) and use old style beacons. The shares not listed on the share line will not appear on the Tivo you specified. If you then enable Zeroconf manually (set zeroconf to True in the Server section,) then the share will appear on all Tivos, but will be empty for Tivos that have a share line but do not include the specific share name.

See the help.txt file in plugins/admin/


----------



## wmcbrine

lrhorer said:


> I don't think pyTivo has any such configuration built in, but there are a number of ways to accomplish such a task, depending on exactly what you want to do.


The correct answer is "yes", though I was hoping someone else would say it.  Edit: And of course someone did, as I typed this...

Create a section for each TiVo in pyTivo.conf, and give it a list of allowed shares:

[_tivo_64800012345]
shares = Videos

[_tivo_64800012346]
shares = Videos, Porn

Note that this will disable the new-style, zeroconf-based beacons. You can explicitly reenable them, but then all share names (though not their contents, which will still be governed by the "shares" keywords) will appear on all TiVos.

Edit: BTW, "shares" security is not specific to my fork, as Rdian06 perhaps unintentionally implied; only the interaction with zeroconf is new, because zeroconf support itself is new. The "shares" feature is due to KRKeegan and dates to February 2008.


----------



## AudioNutz

This doesn't work. I can put in any (fake) TSN, and both TiVos will still see all of the shares.


----------



## wmcbrine

You have not grasped the mode of operation. Of course a fake TSN does nothing. All that would do would be to restrict the access for that nonexistent TiVo. The default permission of "allow all" doesn't change for non-listed TiVos.


----------



## AudioNutz

Maybe I didn't explain it well enough. I put in the proper TSNs, and both TiVos can see everything. I even put in fake TSNs, and that didn't change anything...


Mysteriously... Allowing this to run for several hours has seemed to correct it, and now it's working as expected.


----------



## zabolots

Has anyone put together a script/wrapper for Linux (Fedora 10) autostart via /etc/init.d? I'd really like to be able to set this up to autostart whenever the box boots.

Thanks...Scott


----------



## westside_guy

zabolots said:


> Has anyone put together a script/wrapper for Linux (Fedora 10) autostart via /etc/init.d? I'd really like to be able to set this up to autostart whenever the box boots.


This isn't actually all that hard to do - you might consider tinkering around and trying it yourself. You can follow one of the existing simpler launch scripts as a starting point, then add a softlink (starting with "S") in rc3.d and rc5.d.

The worst that can happen is it won't work - as long as you don't delete any of the pre-existing startup files/links.


----------



## Cgrisamore

I've been running PyTivo for the last couple of years, initially under Windows XP and the last 6 months under Ubuntu. I've been pleased with the enhanced performance under Ubuntu but as a Linux newbie I'm not as good at troubleshooting and resolving issues.

Prior to Saturday my 'normal' transcoding and download performance has been better than realtime. I could start a movie transfer and watch it in realtime and the download would not only keep up, it would actually get farther and farther ahead and complete before I finished watching the movie. Beginning on Saturday I'm seeing 2-7 FPS transcoding performance and even at that rate of speed, I don't seem to be able to complete any transfers. While testing files I've also seen a message I don't recall seeing before on a wide number of files "Invalid and inefficient vfw-avi packed B frames detected". Not sure whether this is an indicator of what's going on or whether it's been happening all along and since I was getting good transcoding performance I just never monitored the terminal window to see the message.

I'm running the latest wmcbrine code and over the weekend I reinstalled it and FFMPEG and the related unstripped LIBAV libraries (none of which made any difference).

I have been in the habit of applying Ubuntu updates when released and I do seem to recall applying some updates on Friday (not sure if these updates "broke Pytivo" but I don't see anybody else reporting any issues). Below is a sample from the terminal window on a file I attempted to transcode earlier today.

Looking for some words of wisdom!

Regards

Charles Grisamore

FFmpeg version 0.5-svn17737+3:0.svn20090303-1ubuntu6, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --extra-version=svn17737+3:0.svn20090303-1ubuntu6 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --disable-stripping --disable-vhook --enable-libdc1394 --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-armvfp --disable-neon --disable-altivec --disable-vis --enable-shared --disable-static
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 0 / 52.20. 0
libavformat 52.31. 0 / 52.31. 0
libavdevice 52. 1. 0 / 52. 1. 0
libavfilter 0. 4. 0 / 0. 4. 0
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Apr 10 2009 23:18:41, gcc: 4.3.3
[NULL @ 0x9916d80]Invalid and inefficient vfw-avi packed B frames detected

Seems stream 0 codec frame rate differs from container frame rate: 29.98 (65535/2186) -> 29.97 (30000/1001)
Input #0, avi, from '/home/tivo/Videos/Hells Kitchen Season 1/Hell's Kitchen 1x01.avi':
Duration: 00:43:40.99, start: 0.000000, bitrate: 1116 kb/s
Stream #0.0: Video: mpeg4, yuv420p, 512x384 [PAR 1:1 DAR 4:3], 29.97 tbr, 29.97 tbn, 29.98 tbc
Stream #0.1: Audio: mp3, 48000 Hz, stereo, s16, 128 kb/s
Output #0, vob, to 'pipe:':
Stream #0.0: Video: mpeg2video, yuv420p, 512x384 [PAR 1:1 DAR 4:3], q=2-31, 948 kb/s, 90k tbn, 29.97 tbc
Stream #0.1: Audio: ac3, 48000 Hz, stereo, s16, 448 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Press [q] to stop encoding
[mpeg4 @ 0x9916d80]Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 0x9916d80]frame skip 8
INFOyTivo:192.168.0.106 [20/Jul/2009 10:37:46] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
frame= 713 fps= 6 q=7.5 Lsize= 4236kB time=23.76 bitrate=1460.7kbits/s 
video:2849kB audio:1323kB global headers:0kB muxing overhead 1.537459%


----------



## Rdian06

Cgrisamore said:


> Prior to Saturday my 'normal' transcoding and download performance has been better than realtime. I could start a movie transfer and watch it in realtime and the download would not only keep up, it would actually get farther and farther ahead and complete before I finished watching the movie. Beginning on Saturday I'm seeing 2-7 FPS transcoding performance and even at that rate of speed, I don't seem to be able to complete any transfers. While testing files I've also seen a message I don't recall seeing before on a wide number of files "Invalid and inefficient vfw-avi packed B frames detected".


Assuming the video you're sending hasn't all of a sudden increased in complexity (switching from low bitrate SD to high bitrate HD), have you power cycled the Tivo and the network equipment connecting the Tivo to your pyTivo box? It sounds like a networking problem (wired switches negotiating a slow speed or switching to half duplex; or wireless equipment encountering signal interference).

And you can ignore the "Invalid and inefficient vfw-avi packed B frames detected" message. That's pretty common for ffmpeg when it deals with avi files. Doesn't seem to affect the output at all.


----------



## wmcbrine

Perhaps you have something else running that's hogging the CPU?


----------



## Cgrisamore

Thanks for the feedback guys. No increase in video complexity and no system configuration changes on my media server other than the previously mentioned Ubuntu system updates.

I did power cycle the Tivo, my router, and the media server a couple of times over the weekend as part of the troubleshooting process. System monitor on the media server showed low CPU utilization (<15&#37.

My HD Tivo is connected via wireless and I did look at the signal strength and it was in the normal range. However I did notice over the weekend that my PS3 lost connectivity to the Internet several times and as it's basically a couple of feet away from the Tivo, I guess that's an indicator of connectivity issues. Guess I'll take my laptop home tonight to see if I can diagnose wireless bandwidth issues. I wasn't sure from the symptoms whether I had an FFMPEG performance issue versus a connectivity issue. The media server doesn't seem to have any problem pulling the "now playing" list from the HD Tivo but I guess that's a low bandwidth operation compared to copying video.


----------



## Cgrisamore

Mystery is solved!

On Saturday I brought home a Polk Audio soundbar which has a wireless connection to it's subwoofer. When I got home tonight, I turned off the soundbar and the Pytivo performance was back to normal. Soundbar has 4 possible channels and I got the same interference on all 4 of them. Soundbar wireless technology was described in the documentation as using channels like a cordless phone and it never occurred to me that would conflict but it looks like it does. Guess I need to explore doing a cable drop to use a wired connection to the Tivo or perhaps a powerline connection. Anybody have any experience with powerline networking?


----------



## Chew

In just the last several days, all of my transfers (and this would be a variety of file types) have come over to the TiVo "choppy". The audio will cut out for a bit, there will be some picture break-up. I've also tried the same files with Streambaby and it's actually worse, it skips over bad spots.

My OTA recordings have been fine. I haven't made any changes to pyTiVo (and it had been working perfectly).

Any thoughts? Could this be a harddrive issue? A few months ago (_well_ before this problem started), I added a DVR Expander. If it is a harddrive issue, is there any (easy) way to tell if it's the Expander or the internal?


----------



## eerolltide06

Anyway this would work on FreeNas?


----------



## Rdian06

Chew said:


> In just the last several days, all of my transfers (and this would be a variety of file types) have come over to the TiVo "choppy". The audio will cut out for a bit, there will be some picture break-up. I've also tried the same files with Streambaby and it's actually worse, it skips over bad spots.
> 
> My OTA recordings have been fine. I haven't made any changes to pyTiVo (and it had been working perfectly).
> 
> Any thoughts? Could this be a harddrive issue? A few months ago (_well_ before this problem started), I added a DVR Expander. If it is a harddrive issue, is there any (easy) way to tell if it's the Expander or the internal?


Try rebooting your Tivo and see if it helps. Might just be a software glitch with the remuxing that it does to the native ty format.

Also, the your Tivo did just get a software update recently and that always seems to cause problem hard drive problems to bubble up.

There is a cheat code to do a media scan of the hard drive, but I don't recall what it is. You can probably google it. Not sure if it show the DVR expander as a separate drive in the media scan or just treats it as one big drive.


----------



## zabolots

Is there a way to orderly shut down pyTivo remotely (i.e. from a script or via HTTP cmd) rather than just CTRL-C in the console running the app? If I just kill the process on Linux will that shut down in an "orderly" fashion or is CTRL-C the only way to accomplish that?


----------



## windracer

You can use an init script on Linux to start/stop pyTivo. I don't think using Ctl-C to kill the process does anything harmful, though.


----------



## Rdian06

windracer said:


> You can use an init script on Linux to start/stop pyTivo. I don't think using Ctl-C to kill the process does anything harmful, though.


I'm pretty sure Cntrl-C triggers an orderly shutdown with wmcbrine's current pyTivo code. Even works in a Win XP command prompt now (though in the past it didn't.)

With the current code I can see logging messages about pyTivo un-registering the Zeroconf shares before it quits via Cntrl-C.


----------



## zabolots

windracer said:


> You can use an init script on Linux to start/stop pyTivo. I don't think using Ctl-C to kill the process does anything harmful, though.


Thanks! I had asked previously if anyone had written an init script but was simply told to write my own. Part of that investigative process led me to inquire about how to shut it down via a script. Now that you've pointed me to an existing script, I'll just use that.

Thanks again!

Scott


----------



## Chew

Rdian06 said:


> Try rebooting your Tivo and see if it helps. Might just be a software glitch with the remuxing that it does to the native ty format.
> 
> Also, the your Tivo did just get a software update recently and that always seems to cause problem hard drive problems to bubble up.
> 
> There is a cheat code to do a media scan of the hard drive, but I don't recall what it is. You can probably google it. Not sure if it show the DVR expander as a separate drive in the media scan or just treats it as one big drive.


For some reason, it's back to being perfectly fine. I didn't do anything.

Weird.


----------



## Adahn

I'm having problems transferring video to my HDTivo in Ubuntu Jaunty.
I can see the shows and initiate the transfer, but it doesn't go anywhere.
Music streams fine. I can pull *.tivo files off the tivo (although mplayer can't play them). I've restarted the Tivo.
I have the updated ffmpeg from medibuntu and have the unstripped versions in synaptic. pytivo is using ffmpeg at /usr/bin/ffmpeg

The same video files transfer and play fine using Tivo Desktop in Windows (on the same dual boot PC).

this error shows up in the pytivo terminal window:
KeyError: 'ffmpeg_prams'


----------



## windracer

Adahn said:


> this error shows up in the pytivo terminal window:
> KeyError: 'ffmpeg_prams'


Check your pyTivo.conf file. I think the parameter name is ffmpeg_pram (no 's').


----------



## Adahn

[_tivo_SD]

[Admin]
tivo_mak = ****************
togo_path = /home/PC/Videos
type = admin

[Server]
tivo_password = *********
par = 1.0
ffmpeg = /usr/bin/ffmpeg
video_br = 12Mi
port = 9032
height = 720
ffmpeg_tmpl = %(video_codec)s %(video_fps)s %(video_br)s %(max_video_br)s %(buff_size)s %(aspect_ratio)s -comment pyTivo.py %(audio_br)s %(audio_fr)s %(audio_ch)s %(audio_codec)s %(ffmpeg_prams)s %(format)s
width = 1280
beacon = 192.168.1.255 listen
max_video_br = 17408k
debug = true
tivo_username = ***********
aspect169 = true
audio_br = 384K

[PC desktop]
type = video
path = /media/raptor/movies

[_tivo_HD]
ffmpeg_pram = -threads 2

[PC desktop music]
type = music
path = /media/raptor/music

The key error I posted was cut and pasted. The 's' was there.
I recently added -threads 2 to the tivo HD config, but it did not change anything.


----------



## wmcbrine

Take out the "ffmpeg_tmpl" line. It's wrong -- that's where the "ffmpeg_prams" is coming from -- and you don't need it.


----------



## Adahn

wmcbrine said:


> Take out the "ffmpeg_tmpl" line. It's wrong -- that's where the "ffmpeg_prams" is coming from -- and you don't need it.


Bingo. Thanks much.


----------



## Airhead315

Ok, Got a question for the pyTivo gurus.

I downloaded shows and removed ads using kmttg w/ VideoRedo. I also had kmttg encode them into mp4's with ac3 audio (which is the recommended format if you want to return the file to the Tivo).

The size of the .mp4 file on my computer hard drive is 3.44GB. After uploading this mp4 back to the Tivo the size on the Tivo is 5.43GB. Can anyone shed some light on this discrepancy?


----------



## wmcbrine

Normal, TiVo-initiated transfers reencode everything to MPEG-2, as it's the only format the TiVo accepts when using that method. To transfer MPEG-4 without reencoding, you have to use the "push" system, where the transfer is initiated from your computer rather than from the TiVo. And, of course, the target TiVo has to be a Series 3 or HD, or the file will still be reencoded to MPEG-2 even during a push, since the Series 2 has no MPEG-4 support.


----------



## colin1497

Wondering what the best stable build is to download? I hadn't played with this in over a year, grabbed the March Windows installer and was going to drop the latest PyTivo build on top of it, but it looks like there's a lot of churn (not a bad thing) and I was wondering if there's a recommended stable build.


----------



## Rdian06

colin1497 said:


> Wondering what the best stable build is to download? I hadn't played with this in over a year, grabbed the March Windows installer and was going to drop the latest PyTivo build on top of it, but it looks like there's a lot of churn (not a bad thing) and I was wondering if there's a recommended stable build.


Grab wmcbrine's latest git snapshot.

If you decide to extract it over the Windows installer, you'll need to move the conf file back into the pyTivo folder (from the new shared location the Windows installer uses.)


----------



## colin1497

Rdian06 said:


> Grab wmcbrine's latest git snapshot.
> 
> If you decide to extract it over the Windows installer, you'll need to move the conf file back into the pyTivo folder (from the new shared location the Windows installer uses.)


LOL, my point was that the day I looked he had checked in like 7 changes. Was wondering if maybe there was a version he was particularly confident in, as I didn't want to get one he had accidentally broken something big in. 

Went ahead and grabbed it since it's been static for a few days. Figure he got whatever he was trying to get working working.


----------



## Rdian06

colin1497 said:


> LOL, my point was that the day I looked he had checked in like 7 changes. Was wondering if maybe there was a version he was particularly confident in, as I didn't want to get one he had accidentally broken something big in.


I've asked wmcbrine that very question. His answer has been that he does NOT knowingly commit broken code. And he always considers his latest commit to be his latest stable version.


----------



## wmcbrine

Unknowingly, of course...


----------



## westside_guy

Okay, this is admittedly a silly question since it's one that I used to know the answer to - but I have forgotten, and for some reason can't find the info anymore on the wiki or anywhere else.

There's a default filename that, if used in a .meta directory, will be assumed to contain entries applicable to all files in the parent directory. So you can use it for stuff like series titles, "isEpisode" settings, etc. for all the files. What's the filename supposed to be again?

Thanks, and apologies!


----------



## wmcbrine

The filename is default.txt, but it doesn't go in the .meta dir.


----------



## westside_guy

wmcbrine said:


> The filename is default.txt, but it doesn't go in the .meta dir.


Ah, that was the problem - I'd guessed correctly at the filename, but it didn't work (cuz I'd put it in the .meta directory).

Thanks!


----------



## Bob Lee

Rdian06 said:


> Grab wmcbrine's latest git snapshot.
> 
> If you decide to extract it over the Windows installer, you'll need to move the conf file back into the pyTivo folder (from the new shared location the Windows installer uses.)


Apologies in advance for the newbie question. I installed pyTivo using the March Windows Installer but would like to upgrade to a later pyTivo build as I have occasional problems with interrupted transfers resulting in only partial files being sent to my Tivo. When you say to grab the latest build and extract it over the Windows installer, what do you mean?


----------



## hhh222

Howdy folks....I'm a computer novice and would like some guidance with pytivo. 
I've installed it but get the "system error 5" message when I start it. I've got vista and a series 3. I've done a lot of searching and reading but a lot of it is beyond my knowledge. I've tried a few things but can't get beyond the error 5. 

Any guidance would be appreciated.


----------



## Rdian06

hhh222 said:


> Howdy folks....I'm a computer novice and would like some guidance with pytivo.
> I've installed it but get the "system error 5" message when I start it. I've got vista and a series 3. I've done a lot of searching and reading but a lot of it is beyond my knowledge. I've tried a few things but can't get beyond the error 5.
> 
> Any guidance would be appreciated.


Did you choose to install the Windows pyTivo service or are you just running from Console?

If you installed the Windows service, then the service starts automatically after install and at boot time. The Start Menu items are only there to stop and restart the service. And from the error you described, you're on Vista meaning starting or stopping the service requires you to elevate your privileges thanks to UAC. Meaning you need to right click on the Start Menu service items and choose "Run as Administrator".

Also, next time you report an error message, you should report the FULL error message. The message normally reads:



Code:


System error 5 has occurred. Access is denied.


----------



## jaj2276

wmcbrine said:


> Normal, TiVo-initiated transfers reencode everything to MPEG-2, as it's the only format the TiVo accepts when using that method. To transfer MPEG-4 without reencoding, you have to use the "push" system, where the transfer is initiated from your computer rather than from the TiVo. And, of course, the target TiVo has to be a Series 3 or HD, or the file will still be reencoded to MPEG-2 even during a push, since the Series 2 has no MPEG-4 support.


I tried the push feature and my file is still getting reencoded with ffmpeg. It's an Mpeg 4 file in an mkv container - not sure if that a) makes sense or b) is correct. Does the container matter? Is there a way to determine whether a file will get reencoded with ffmpeg before I actually try to push?


----------



## jcthorne

Yes, it matters. Not just container, resolution, aspect and audio codec all have to be correct. To answer your question, the file has to be in an mp4 container. The rest of the specs are in this thread several times.


----------



## mathwhiz

Your debug log from your pyTiVo should tell you why it needs to transcode. There should be a line that says "TRANSCODE=YES" followed by the reason it's being transcoded.


----------



## jaj2276

jcthorne said:


> Yes, it matters. Not just container, resolution, aspect and audio codec all have to be correct. To answer your question, the file has to be in an mp4 container. The rest of the specs are in this thread several times.


I'm well aware that the specs are probably somewhere in this thread. But it's 80 pages long. I was basically asking if it was somewhere on a wiki page. Thx for the answer.


----------



## moyekj

jaj2276 said:


> I'm well aware that the specs are probably somewhere in this thread. But it's 80 pages long. I was basically asking if it was somewhere on a wiki page. Thx for the answer.


 http://code.google.com/p/streambaby/wiki/video_compatibility


----------



## AZ_Tivo

I have been watching my home videos using Tivo. Now I got a HD camcorder. I downloaded all the files and created a movie using Pinnacle 12. The format was mpeg4 (HiDef).

Pytivo can see it and brings it down to TivoHD. I could play the file but quality wasn't that great. So I looked up the INFO of that file on Tivo and in the details it says "vcodec mpeg4 not supported". What does this mean? Do I need to upgrade FFmpeg? Where can find latest version for windows?


----------



## moyekj

AZ_Tivo said:


> I have been watching my home videos using Tivo. Now I got a HD camcorder. I downloaded all the files and created a movie using Pinnacle 12. The format was mpeg4 (HiDef).
> 
> Pytivo can see it and brings it down to TivoHD. I could play the file but quality wasn't that great. So I looked up the INFO of that file on Tivo and in the details it says "vcodec mpeg4 not supported". What does this mean? Do I need to upgrade FFmpeg? Where can find latest version for windows?


 It means just what it says: The "mpeg4" video codec is not supported natively by TivoHD and hence pyTivo has to transcode to mpeg2 using ffmpeg to send to Tivo. The link in my post above has details on what video and audio codecs are supported. For mpeg4 container, only H.264 video is currently supported natively.


----------



## imatt

MKV files using aac bomb on pytivo and ffmpeg command line. Verified on multiple files.

*Specifics*

*TivoHD*
*Pytivo Release*: wmcbrine 2009-08-23
*FFmpeg:* SVN-r19793, SVN-r19159, 0.5

*File audio specs:* 
(first file) aac, 24000 Hz, 6 channels, s16
(second file) aac, 22050 Hz, 6 channels, s16

*Error message:* 
[aac @ 0x.... ]SBR not implemented. Update your FFmpeg version to the newest one from SVN. If the problem still occurs, it means that your file has a feature which has not been implemented.

Verifiable from command line:
ffmpeg -i inputvideo.mkv -acodec ac3 -vcodec mpeg4 -sameq output.avi

Something I found via a Debian ffmpeg bug request:


> August 10, 2009.
> 
> We have an internal AAC decoder now that is about 3x faster than FAAD.
> The only shortcoming is thatt it still lacks SBR support.
> 
> Diego


as well, a thread elsewhere entitled "Current autobuild has broken aac support."
http: // ffmpeg.arrozcru.org/forum/viewtopic.php?f=1&t=1077&start=0&st=0&sk=t&sd=a

Anyone have a temporary fix that can be used for mkv files until ffmpeg fixes this?


----------



## Rdian06

imatt said:


> MKV files using aac bomb on pytivo and ffmpeg command line. Verified on multiple files.
> 
> *Specifics*
> 
> *TivoHD*
> *Pytivo Release*: wmcbrine 2009-08-23
> *FFmpeg:* SVN-r19793, SVN-r19159, 0.5
> 
> *File audio specs:*
> (first file) aac, 24000 Hz, 6 channels, s16
> (second file) aac, 22050 Hz, 6 channels, s16
> 
> *Error message:*
> [aac @ 0x.... ]SBR not implemented. Update your FFmpeg version to the newest one from SVN. If the problem still occurs, it means that your file has a feature which has not been implemented.
> 
> Verifiable from command line:
> ffmpeg -i inputvideo.mkv -acodec ac3 -vcodec mpeg4 -sameq output.avi
> 
> Something I found via a Debian ffmpeg bug request:
> 
> as well, a thread elsewhere entitled "Current autobuild has broken aac support."
> http: // ffmpeg.arrozcru.org/forum/viewtopic.php?f=1&t=1077&start=0&st=0&sk=t&sd=a
> 
> Anyone have a temporary fix that can be used for mkv files until ffmpeg fixes this?


Disable the ffmpeg native AAC deocder and enable libfaad support. It's technically slower, but it supports all the different AAC profiles. And in most cases you won't notice the lost CPU cycles. The video transcoding is far more CPU intensive then the audio.

The configure options are --enable-libfaad --disable-decoder=aac.

And if you care at all about proper 5.1 channel mapping going from AAC to AC3, I have a patch for this in my ffmpeg thread over at the pyTivo forum. But the forum is down right now... Hopefully it'll be fixed soon.


----------



## pcbrew

I have been running pyTivo without issue for a while on my WHS box (Mediasmart EX485). I originally started with the Windows installer but moved to wmcbrines 6/21/09 snapshot to avoid this bugs in that version. I have to remote desktop in and manually start bu have learned to live with that.

However, in the past week, I got the following error when I startup pyTivo. On my Tivos, I can see all the registered directories, but the Tivos see none of the files. At this point I cannot even CTRL-C out. Any advice/help would be wecome.



Code:


C:\Program Files\pyTivo>pytivo.py
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: MyMusic
Error no admin plugin exists. Check the type setting for your share.
INFO:pyTivo.beacon:Registering: MyTelevision
INFO:pyTivo.beacon:Registering: MyDVDs
INFO:pyTivo.beacon:Registering: MyPhotos
INFO:pyTivo.beacon:Registering: MyMovies
INFO:pyTivo.beacon:Registering: MyXMAS
INFO:pyTivo.beacon:Scanning for TiVos...
ERROR:pyTivo:Exception in pyTivo
Traceback (most recent call last):
  File "C:\Program Files\pyTivo\pyTivo.py", line 48, in <module>
    b = beacon.Beacon()
  File "C:\Program Files\pyTivo\beacon.py", line 93, in __init__
    self.bd.scan()
  File "C:\Program Files\pyTivo\beacon.py", line 64, in scan
    if 'TSN' in info.properties:
AttributeError: 'NoneType' object has no attribute 'properties'


----------



## pcbrew

I had a TiVo explicitly listed in my PyTivo.conf file that I took offline.
I commented that out and now I am back up and running.


----------



## Rdian06

pcbrew said:


> I have been running pyTivo without issue for a while on my WHS box (Mediasmart EX485). I originally started with the Windows installer but moved to wmcbrines 6/21/09 snapshot to avoid this bugs in that version. I have to remote desktop in and manually start bu have learned to live with that.


Why don't you use the Windows Service auto-start?


----------



## pcbrew

Rdian06 said:


> Why don't you use the Windows Service auto-start?


See this post: http://tivocommunity.com/tivo-vb/showthread.php?p=7359173#post7359173
I could only see my shared directories for a short time and then they would disappear.


----------



## Rdian06

pcbrew said:


> See this post: http://tivocommunity.com/tivo-vb/showthread.php?p=7359173#post7359173
> I could only see my shared directories for a short time and then they would disappear.


If you upgraded to the newer wmcbrine git code, then you must add a firewall exception for UDP 5353 inbound and outbound otherwise the Windows Firewall will eventually block the Zeroconf beacons and the shares will disappear from the Now Playing List.


----------



## briankasper

I downloaded the latest version of pyTivo from wmcbrine's git repository yesterday, and while it appears to be mostly working, I am seeing the message

Error no admin plugin exists. Check the type setting for your share.

when I start pyTivo. I see this message in the command prompt window if I start pyTivo manually, and I see it in log.txt when I start the pyTivo service (my preferred means of starting). I'm able to use the web administration by pointing Firefox to 127.0.0.1:9032, but I'm bothered by the error message and was hoping someone might have an idea how to resolve this.

I'm using Python 2.6 on 32-bit WinXP SP3, and my pyTivo.conf is very simple:

[_tivo_SD]

[Kids Movies]
force_alpha = True
type = video
path = G:\Movies

[Admin]
tivo_mak = [redacted]
togo_path = f:\tmp
type = admin

[Parents Movies]
force_alpha = True
type = video
path = F:\Movies_ForBigPeople

[Server]
ffmpeg_pram = -threads 2
port = 9032
hack83 = False
ffmpeg = C:\bin\ffmpeg.exe

[Photos]
type = photo
path = F:\Photos

[Music]
type = music
path = F:\Music

[_tivo_HD]

Here's the detailed message I see in log.txt when I start pyTivo as a Windows service:

Traceback (most recent call last):
File "C:\Python26\lib\logging\__init__.py", line 766, in emit
self.flush()
File "C:\Python26\lib\logging\__init__.py", line 740, in flush
self.stream.flush()
IOError: [Errno 9] Bad file descriptor
Traceback (most recent call last):
File "C:\Python26\lib\logging\__init__.py", line 766, in emit
self.flush()
File "C:\Python26\lib\logging\__init__.py", line 740, in flush
self.stream.flush()
IOError: [Errno 9] Bad file descriptor
Error no admin plugin exists. Check the type setting for your share.

Thanks ....

-Brian


----------



## Rdian06

briankasper said:


> I downloaded the latest version of pyTivo from wmcbrine's git repository yesterday, and while it appears to be mostly working, I am seeing the message
> 
> Error no admin plugin exists. Check the type setting for your share.


Recent git versions enable the admin plugin by default, so wmcbrine did away with the admin conf section. So you're getting the error because you still have the lines in there.

Just delete the admin conf lines and move the togo_path and tivo_mak to the Server section.

Also make sure to add the UDP 5353 Windows Firewall exception to prevent the shares from disappear from the NPL a short time after pyTivo startup.


----------



## briankasper

Rdian06 said:


> Recent git versions enable the admin plugin by default, so wmcbrine did away with the admin conf section. So you're getting the error because you still have the lines in there.
> 
> Just delete the admin conf lines and move the togo_path and tivo_mak to the Server section.
> 
> Also make sure to add the UDP 5353 Windows Firewall exception to prevent the shares from disappear from the NPL a short time after pyTivo startup.


Thanks, Rdian06 -- that fixed it. I'd already opened up UDP port 5353, and so far it looks like all my shares are hanging around -- thanks for the reminder.

On that topic, if anyone needs guidance on how to open up this port in Norton Internet Security 2009, PM me -- it's not obvious.

Is there a primary/go-to source of up-to-date information about pyTivo? I'm familiar with the wiki and (obviously) this thread, but rather than bother folks like you, I'd like to just be able to read the latest information.

I recognize that pyTivo is maintained by folks volunteering their time (thanks, everyone!) so up-to-date documentation like this may not exist, which I would completely understand, but I ask just in case there's an information source of which I'm unaware.

-B


----------



## Rdian06

briankasper said:


> I recognize that pyTivo is maintained by folks volunteering their time (thanks, everyone!) so up-to-date documentation like this may not exist, which I would completely understand, but I ask just in case there's an information source of which I'm unaware.
> -B


There is the pyTivo forum:

http://pytivo.sourceforge.net/forum/

The bugs usually crop up in the Support forum and the major changes are usually documented in the pyTivo development thread.

And you can always read the commit logs for wmcbrine's git:

http://repo.or.cz/w/pyTivo/wmcbrine.git


----------



## briankasper

Rdian06 said:


> There is the pyTivo forum:
> 
> http://pytivo.sourceforge.net/forum/
> 
> The bugs usually crop up in the Support forum and the major changes are usually documented in the pyTivo development thread.
> 
> And you can always read the commit logs for wmcbrine's git:
> 
> http://repo.or.cz/w/pyTivo/wmcbrine.git


Yep, that's generally the first place I check; I forgot to mention it in my previous post. I'll have to put in a bit more effort paying attention to the support and development threads.

Thanks again for your help.

-B

P.S. wmcbrine, if you're reading this, thanks for your huge efforts, the new zeroconf stuff looks like a winner ....


----------



## orangeboy

Sorry for such a lame post, but I cannot get pyTivo (pyTivo-wmcbrine-2009.03.19-RC1) to work with Windows XP SP3 as a Service (not even the web config page is presented), nor as "Run As Administrator" console ("WindowsError: [Error 5] Access is denied" when browsing files from Tivo).

Very little was done to the .conf file, which is provided here:


Code:


[loggers]
keys = root

[_tivo_SD]

[handler_console]
formatter = basicform
class = StreamHandler
args = (sys.stdout,)

[My Videos]
type = video
path = K:\PyTivo Files

[Admin]
tivo_mak = <hidden from forum>
type = admin
togo_path = K:\From Tivo

[handlers]
keys = console,rotfile

[Server]
video_pct = 0
ffmpeg_pram = -threads 2 -drc_scale 0.0
ffmpeg = C:\Program Files\pyTivo\bin
temp = C:\Documents and Settings\All Users\Documents\pyTivo
video_br = 12Mi
height = 1080
width = 1920
max_audio_br = 448k
audio_br = 448k
bufsize = 16Mi
port = 9032

[formatter_basicform]
format = %(asctime)s %(levelname)-5s %(name)s: %(message)s

[handler_rotfile]
formatter = basicform
class = handlers.RotatingFileHandler
args = ('C:\Documents and Settings\All Users\Documents\pyTivo\debug.log', 'a', 10485760, 5)

[_tivo_HD]

[logger_root]
handlers = console,rotfile
level = DEBUG

[formatters]
keys = basicform

What obvious thing am I missing?


----------



## briankasper

orangeboy said:


> Sorry for such a lame post, but I cannot get pyTivo (pyTivo-wmcbrine-2009.03.19-RC1) to work with Windows XP SP3 as a Service (not even the web config page is presented), nor as "Run As Administrator" console ("WindowsError: [Error 5] Access is denied" when browsing files from Tivo).
> 
> Very little was done to the .conf file, which is provided here:
> 
> 
> Code:
> 
> 
> [loggers]
> keys = root
> 
> [_tivo_SD]
> 
> [handler_console]
> formatter = basicform
> class = StreamHandler
> args = (sys.stdout,)
> 
> [My Videos]
> type = video
> path = K:\PyTivo Files
> 
> [Admin]
> tivo_mak = <hidden from forum>
> type = admin
> togo_path = K:\From Tivo
> 
> [handlers]
> keys = console,rotfile
> 
> [Server]
> video_pct = 0
> ffmpeg_pram = -threads 2 -drc_scale 0.0
> ffmpeg = C:\Program Files\pyTivo\bin
> temp = C:\Documents and Settings\All Users\Documents\pyTivo
> video_br = 12Mi
> height = 1080
> width = 1920
> max_audio_br = 448k
> audio_br = 448k
> bufsize = 16Mi
> port = 9032
> 
> [formatter_basicform]
> format = %(asctime)s %(levelname)-5s %(name)s: %(message)s
> 
> [handler_rotfile]
> formatter = basicform
> class = handlers.RotatingFileHandler
> args = ('C:\Documents and Settings\All Users\Documents\pyTivo\debug.log', 'a', 10485760, 5)
> 
> [_tivo_HD]
> 
> [logger_root]
> handlers = console,rotfile
> level = DEBUG
> 
> [formatters]
> keys = basicform
> 
> What obvious thing am I missing?


I'm unfamiliar with most of the sections in your pytivo.conf file, but I do see one bug: I think the ffmpeg executable filename is supposed to be in the "ffmpeg" value, so I think you need to change

ffmpeg = C:\Program Files\pyTivo\bin

to

ffmpeg = C:\Program Files\pyTivo\bin\ffmpeg.exe

(or whatever your ffmpeg executable is called.)

I'd also suggest that you simplify your conf file by removing everything but the "server" section, and moving tivo_mak and togo_path from "admin" to "server".

These steps probably won't fix your "access is denied" error, but they might simplify the debug output of pyTivo enough for you to figure out the actual problem.

Also, are you sure your Python install is working?

Can you submit a bit more detail about the "access denied" error? Are you seeing this when you try to connect to your Tivo with a browser? Or when you try to browse files in your computer shares *from* your Tivo? If it's the latter, fixing the "ffmpeg" value might actually solve your problem -- it's possible that pyTivo tries to run ffmpeg when you browse shares.

-B


----------



## orangeboy

briankasper said:


> I'm unfamiliar with most of the sections in your pytivo.conf file, but I do see one bug: I think the ffmpeg executable filename is supposed to be in the "ffmpeg" value, so I think you need to change
> 
> ffmpeg = C:\Program Files\pyTivo\bin
> 
> to
> 
> ffmpeg = C:\Program Files\pyTivo\bin\ffmpeg.exe
> 
> (or whatever your ffmpeg executable is called.)


That's exactly what it was. I reboot the PC (I had some pending Windows Updates which may have had ill effect on the Service), and was able to access the web config page. Finding these two links helped when I compared my debug logs: 
http://pytivo.sourceforge.net/forum/unable-to-transfer-mkv-files-t767.html
http://pytivo.sourceforge.net/forum/can-t-stream-exciting-logs-attached-t880.html

After updating the .conf file to include the target instead of just the path, the "WindowsError: [Error 5] Access is denied" error disappeared. I was just about to update this thread when I read your post. Thanks for info!


----------



## trapedui

pcbrew: I also just installed pytivo on an HP Mediasmart EX485. Everything is working brilliantly, except HD photos. I have searched all over this site (though probably not well enough), but I can't find instructions to launch the HD Photo HME. I can get HD Photos running from on my desktop using Tivo Desktop and I can get SD photos through pytivo on my EX485, but I can't seem to figure out how to do get HD photos using pytivo. Do I need to run the jnlp file included in wbcbrine's latest package javaws? I tried running "C:\Program Files\pyTivo\plugins\photo\templates\container.jnlp", but I got a nasty error message:

MissingFieldException[ The following required field is missing from the launch file: <jnlp>]
at com.sun.javaws.jnl.XMLFormat.parse(Unknown Source)
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Any suggestions would be helpful. I am pretty good at tinkering, but am no programmer.


----------



## Rdian06

trapedui said:


> pcbrew: I also just installed pytivo on an HP Mediasmart EX485. Everything is working brilliantly, except HD photos. I have searched all over this site (though probably not well enough), but I can't find instructions to launch the HD Photo HME. I can get HD Photos running from on my desktop using Tivo Desktop and I can get SD photos through pytivo on my EX485, but I can't seem to figure out how to do get HD photos using pytivo. Do I need to run the jnlp file included in wbcbrine's latest package javaws? I tried running "C:\Program Files\pyTivo\plugins\photo\templates\container.jnlp", but I got a nasty error message:
> 
> MissingFieldException[ The following required field is missing from the launch file: <jnlp>]
> at com.sun.javaws.jnl.XMLFormat.parse(Unknown Source)
> at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
> at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
> at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
> at com.sun.javaws.Main.launchApp(Unknown Source)
> at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
> at com.sun.javaws.Main$1.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
> 
> Any suggestions would be helpful. I am pretty good at tinkering, but am no programmer.


See:

http://www.tivocommunity.com/tivo-vb/showthread.php?p=7350504#post7350504


----------



## bmarkenson

Hello. I am a brand new user of pyTivo, and so far I'm enjoying it quite a bit.

I have encountered something odd, though, that I'm hoping someone will be able to point me in the right direction.

Using the Tivo interface, I am able to see the videos on my local PC system, and am able to transfer and watch them successfully. However, when I try to push the video to the Tivo from the web interface, I get an error. Here is the error:

-------------------------------

2009-09-20 12:48:42,003 ERROR pyTivo: Exception during request from ('192.168.1.107', 3956)
Traceback (most recent call last):
File "C:\Program Files\Python26\lib\SocketServer.py", line 558, in process_request_thread
self.finish_request(request, client_address)
File "C:\Program Files\Python26\lib\SocketServer.py", line 320, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "c:\Tivo\pyTivo\httpserver.py", line 61, in __init__
client_address, server)
File "C:\Program Files\Python26\lib\SocketServer.py", line 615, in __init__
self.handle()
File "C:\Program Files\Python26\lib\BaseHTTPServer.py", line 329, in handle
self.handle_one_request()
File "C:\Program Files\Python26\lib\BaseHTTPServer.py", line 323, in handle_one_request
method()
File "c:\Tivo\pyTivo\httpserver.py", line 94, in do_GET
self.handle_query(query)
File "c:\Tivo\pyTivo\httpserver.py", line 126, in handle_query
method(self, query)
File "c:\Tivo\pyTivo\plugins\video\video.py", line 297, in Push
tsn = query['tsn'][0]
KeyError: 'tsn'

------------------------------

Here is the contents of my pytivo.conf file:

[loggers]
keys = root

[Television]
type = video
path = C:\Multimedia\TV

[_tivo_SD]

[handler_console]
formatter = basicform
class = StreamHandler
args = (sys.stdout,)

[handlers]
keys = console,rotfile

[Admin]
togo_path = C:\Multimedia\TV
tivo_mak = 5267566938
type = admin

[handler_rotfile]
formatter = basicform
class = handlers.RotatingFileHandler
args = ('C:\Users\Public\Documents\pyTivo\debug.log', 'a', 10485760, 5)

[Server]
port = 9032
temp = C:\Users\Public\Documents\pyTivo
ffmpeg = C:\Tivo\pyTivo\bin\ffmpeg.exe

[formatter_basicform]
format = %(asctime)s %(levelname)-5s %(name)s: %(message)s

[Photos]
type = photo
path = C:\Multimedia\Photos

[Movies]
type = video
path = C:\Multimedia\Movies

[Music]
type = music
path = c:\multimedia\music

[_tivo_HD]

[logger_root]
handlers = console,rotfile
level = DEBUG

[formatters]
keys = basicform

----

If anyone has any thoughts on why this error is occurring, I would appreciate the help.

Thanks very much.


----------



## windracer

Under your [Server] section, you're missing the following entries which are required for push:



Code:


tivo_username = <tivo.com username>
tivo_password = <tivo.com password>


----------



## bmarkenson

I'm sorry, I should have mentioned that I tried earlier with those entries with the same result. I just added them back in and get the exact same error text:

2009-09-20 13:53:35,808 ERROR pyTivo: Exception during request from ('192.168.1.107', 4291)
Traceback (most recent call last):
File "C:\Program Files\Python26\lib\SocketServer.py", line 558, in process_request_thread
self.finish_request(request, client_address)
File "C:\Program Files\Python26\lib\SocketServer.py", line 320, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "c:\Tivo\pyTivo\httpserver.py", line 61, in __init__
client_address, server)
File "C:\Program Files\Python26\lib\SocketServer.py", line 615, in __init__
self.handle()
File "C:\Program Files\Python26\lib\BaseHTTPServer.py", line 329, in handle
self.handle_one_request()
File "C:\Program Files\Python26\lib\BaseHTTPServer.py", line 323, in handle_one_request
method()
File "c:\Tivo\pyTivo\httpserver.py", line 94, in do_GET
self.handle_query(query)
File "c:\Tivo\pyTivo\httpserver.py", line 126, in handle_query
method(self, query)
File "c:\Tivo\pyTivo\plugins\video\video.py", line 297, in Push
tsn = query['tsn'][0]
KeyError: 'tsn'

Config file:
-----------
[loggers]
keys = root

[Television]
type = video
path = C:\Multimedia\TV

[_tivo_SD]

[handler_console]
formatter = basicform
class = StreamHandler
args = (sys.stdout,)

[handlers]
keys = console,rotfile

[Admin]
togo_path = C:\Multimedia\TV
tivo_mak = 5267566938
type = admin

[handler_rotfile]
formatter = basicform
class = handlers.RotatingFileHandler
args = ('C:\Users\Public\Documents\pyTivo\debug.log', 'a', 10485760, 5)

[Server]
port = 9032
temp = C:\Users\Public\Documents\pyTivo
ffmpeg = C:\Tivo\pyTivo\bin\ffmpeg.exe
tivo_username = ********
tivo_password = ********

[formatter_basicform]
format = %(asctime)s %(levelname)-5s %(name)s: %(message)s

[Photos]
type = photo
path = C:\Multimedia\Photos

[Movies]
type = video
path = C:\Multimedia\Movies

[Music]
type = music
path = c:\multimedia\music

[_tivo_HD]

[logger_root]
handlers = console,rotfile
level = DEBUG

[formatters]
keys = basicform


----------



## wmcbrine

Yeah, that's not the error that's showing, but you do need them if you expect pushing to work.

The error says there's no TSN (TiVo Service Number). The TSN is how pyTivo knows which TiVo to push the file to. (This applies even if you only have one TiVo.) You should see a drop-down selector with the names of your TiVos on the Push page. In your case, for whatever reason, it sounds like the list isn't populated; i.e., your TiVos aren't being detected. However, if you're seeing the pyTivo shares in the TiVo's NPL, then that's not it. I dunno.


----------



## bmarkenson

You are correct; those drop downs are not being populated in the web interface, but I am able to look at the PC-based videos in the Tivo Now Playing List.

I did some additional research, and found someone that recommended hard-coding the TSN into video.py. I tried that, and it worked.

I'm still curious why it's not working with the tsn query, though.


----------



## spocko

I used kmttg to xfer several recordings to my PC, decode them, and generate metadata files. Later I used the 8/21 wmcbrine version of PyTivo to push those decoded recordings back to the Tivo. A few strange things I've noticed:

Initially after the files were pushed, a few of the recordings were listed in folders in NPL (one item per folder), while other recordings were listed directly in NPL without folders. Now, after those same recordings have been on the Tivo for a while, they are all listed in folders (one item per folder still).

Also, the pushed files don't have the full metadata that is in the .txt file. They do show title and description, so I know the metadata files are getting used, but fields like year, rating, etc. are not shown on the Tivo despite being present in the metadata file.

Are these behaviors expected? Why would single items be listed in folders?


----------



## wmcbrine

Yes, it's normal.


Single items in folders
The metadata systems for pushed and pulled videos are different, and we don't know all the keywords for push yet.


----------



## spocko

Thanks wmcbrine. It's ironic that the thread you linked actually discusses both of the issues I metioned. I guess I just didn't search hard enough.  

Regarding single items in folders, I tried a reboot and it didn't have any effect on the items that were already in NPL. Maybe new xfers would be affected. Does this issue only affect pushes?

Regarding metadata, it did occur to me that pushes and pulls might do things differently. However I did test a pull and it looked like it got the same limited metadata as with a push. I'll have to test that again.

These would be good subjects to add to the Wiki.

Thanks again for all your work on PyTivo!


----------



## wmcbrine

spocko said:


> Regarding single items in folders, ... Does this issue only affect pushes?


Yes.


----------



## bmarkenson

Another question that might have been answered before, but my search fu is clearly weak (I must train harder):

I'm transferring some .avi files from my PC to my Tivo. These files were recorded in HD, and are a 16x9 ratio. The transfer completes successfully, and everything looks fine, but I just noticed that it seems to be cutting off a very small portion of the edges of the video (top, bottom, left and right), as though it were zoomed in a little. 

Can anyone point me in the right direction to understand why the video picture is being resized during the transcoding process? Thanks.


----------



## Rdian06

bmarkenson said:


> Another question that might have been answered before, but my search fu is clearly weak (I must train harder):
> 
> I'm transferring some .avi files from my PC to my Tivo. These files were recorded in HD, and are a 16x9 ratio. The transfer completes successfully, and everything looks fine, but I just noticed that it seems to be cutting off a very small portion of the edges of the video (top, bottom, left and right), as though it were zoomed in a little.
> 
> Can anyone point me in the right direction to understand why the video picture is being resized during the transcoding process? Thanks.


Transcoding shouldn't alter the resolution as long as your max resolution settings are beyond the size of the video.

Your TV probably has a slight overscan and you just never noticed until now because you had nothing to compare to.


----------



## spocko

I figured out why I was getting only partial metadata for some pulled files. The reason is that quite a few of my metadata files have an empty episodeNumber field. For example:



Code:


title : The Wild
seriesTitle : The Wild
description : A young lion who was raised in captivity finds himself accidentally plucked from the New York Zoo and deposited in Africa. Animated. 
time : 2009-07-02T00:00:00Z
mpaaRating : G1
movieYear : 2006
isEpisode : false
isEpisodic : false
starRating : x3
tvRating : x3
[B]episodeNumber :[/B] 
displayMajorNumber : 236
callsign : DISNHD
vActor : Sutherland|Kiefer
vActor : Izzard|Eddie
vActor : Belushi|James
vActor : Garofalo|Janeane
vActor : Kimmel|Jonathan
vActor : Shatner|William
vActor : Leupp|Clinton
vActor : Siravo|Joseph
vActor : Joles|Bob
vActor : Kay|Dominic Scott
vActor : Edgerly|Chris
vActor : Berg|Greg
vActor : Cherry|Don
vActor : Kind|Richard
vActor : Cipes|Greg
vActor : Hay|Colin
vDirector : Williams|Steve &quot;Spaz&quot;
vProgramGenre : Action Adventure
vProgramGenre : Animated
vProgramGenre : Kids
vSeriesGenre : Action Adventure
vSeriesGenre : Animated
vSeriesGenre : Kids
vSeriesGenre : Interests
vSeriesGenre : Kids
vSeriesGenre : Movies
vSeriesGenre : Action Adventure
vWriter : Decter|Ed
vWriter : Gibson|Mark
vWriter : Halprin|Philip
vWriter : Strauss|John J.

With this file as-is, only a small subset of the metadata shows up on the Tivo when I pull the associated video file. If I delete the episodeNumber line and then pull the associated video file, then all the metadata shows up.

Perhaps pyTivo could be made more robust if it would just skip empty lines in metadata files?


----------



## wmcbrine

Where did that bad metadata come from?


----------



## 20TIL6

Just real quick. this is an awesome app. simple and solid. TiVo desktop on Windows was unreliable for me, so I built a little Ubuntu box and followed instructions. It's great... always available. Thanks to you bright folks who put this together, and continue to support it.


----------



## spocko

wmcbrine said:


> Where did that bad metadata come from?


Generated by kmttg (I'm not sure which version). Can't fault pyTivo for that obviously, but I do think it would be good if pyTivo could just skip lines that it doesn't like in metadata files.

Note that with the empty episodeNumber line in there, pyTivo didn't just stop at that line. It included some but not all of the data before the offending line, and a few pieces of data from after the offending line as well.


----------



## djwilso

20TIL6 said:


> Just real quick. this is an awesome app. simple and solid. TiVo desktop on Windows was unreliable for me, so I built a little Ubuntu box and followed instructions. It's great... always available. Thanks to you bright folks who put this together, and continue to support it.


I'll second that. Just sent over a donation to William (wmcbrine) in appreciation.

Been using it on Windows Server 2008 for about 9 months now and it has worked very well.


----------



## lew

isn't working properly. Same folder works with TD.

I added some photos after I set up the folder. The second group of photos are show (slide show) after the first group (both groups sorted by date).

TD properly sorts both groups together.


----------



## Rdian06

lew said:


> isn't working properly. Same folder works with TD.
> 
> I added some photos after I set up the folder. The second group of photos are show (slide show) after the first group (both groups sorted by date).
> 
> TD properly sorts both groups together.


It might be that pyTivo is using a different time stamp for the sort than TD. Windows OSes stores a "birth date" and a "data modification date". When you make a copy of a file, normally the "birth date" of the copy is the time of the copy, but the "modify date" is inherited from the original. So it's possible to have a file with a "modify date" preceding the "birth date". There is also a "metadata modification date" which tracks when the filename is altered or the file is moved from one directory to another.

I believe pyTivo looks at the "birth date".


----------



## jtkohl

If we're talking JPG files, I would expect both TD and pyTiVo to use the EXIF metadata, which includes the capture date. Maybe one of the two uses file dates instead of EXIF?


----------



## lew

Both let you sort by date picture is taken. TD is using the picture taken taken (EXIF) metadata. PyTivo seems to be using the date picture taken EXIF but grouping the pictures by date copied into the folder. All files copied in a single date are sorted by date taken. Pictures copied a few days later seem to be sorted in seperate group, after the first bunch.


----------



## wmcbrine

pyTivo uses the file creation date, yes. I think that looking into the EXIF dates of thousands of pictures, assuming they're even available, would be too much startup overhead, and I don't really want to cache them between runs, either. (Tivo Desktop takes freaking forever to open a large folder the first time.)

pyTivo does check the EXIF date, as you note, but only when actually opening the picture (e.g., when creating a thumbnail). This means that at most a few pictures are checked at a time. I could cache the results then, for future sorting purposes, but that would mean the sort order would change as you went along. Not good.

Perhaps the best solution would be to stamp the files with their EXIF dates.


----------



## lew

wmcbrine said:


> pyTivo uses the file creation date, yes. I think that looking into the EXIF dates of thousands of pictures, assuming they're even available, would be too much startup overhead, and I don't really want to cache them between runs, either. (Tivo Desktop takes freaking forever to open a large folder the first time.)
> 
> pyTivo does check the EXIF date, as you note, but only when actually opening the picture (e.g., when creating a thumbnail). This means that at most a few pictures are checked at a time. I could cache the results then, for future sorting purposes, but that would mean the sort order would change as you went along. Not good.
> 
> Perhaps the best solution would be to stamp the files with their EXIF dates.


*My issue is with the verbiage*. Play a side show and TD gives us an option to sort pictures by date taken. PyTivo gives us the same option* but doesn't do it*. I now have a reason to run both TD and pyTivo.

Don't give us the option to sort by date taken if that option hasn't been implemented.

REASON. I won't convert my guests to "victims" by showing a slide show of thousands of pictures. Rather I'll copy a limited number of pictures (50-125) into one directory. I want to display them as a slide show, sorted by date taken. After I view the slide show I'll add, and delete pictures to that directory.

Maybe there needs to be a way to sort the pictures on the PC, or "stamp" them with their EXIF date.

edited to add--I don't think my post reads the way I intended when I wrote it. I fully understand your reasons for using file creation date. I have *no complaint with sorting in whatever way works for you*. I was annoyed that I thought I was sorting by date picture was take and spent time trying to figure out what I did wrong.

I loaded TD so I could show the pictures as a slide show.


----------



## wmcbrine

The verbiage is built into the TiVo, as are the available options. pyTivo has no control over them, only over how it responds to the requests.


----------



## jcthorne

editing the file creation date to match the exif date picture taken is not difficult. there are simple free utilities to do this.


----------



## lew

jcthorne said:


> editing the file creation date to match the exif date picture taken is not difficult. there are simple free utilities to do this.


Any suggestions? Otherwise I'll do a search.


----------



## bmarkenson

First, a disclaimer. I am a novice ffmpeg user. I don't have a solid understanding of what it does or how it works.

I recently installed pyTivo, and started using it to watch various videos that I have stored on my PC on my Tivo. After some minor debugging, everything was working great. Then suddenly, videos started to get cut off during the transfer to the Tivo. Some would stop after 8 seconds, others after 9 - 15 minutes. I did some poking around and found the ffmpeg executable line from the pytivo debug log, and tried running it outside of pytivo, to find out what was going on with the encoding. The problem is with the ffmpeg process -- it is stopping after some amount of time and outputting a file that is not the full length of the video.

Here is an example of a manual run of ffmpeg on an .avi file that plays fine in Windows Media Player, but when outputting mpeg stops after 8 seconds of video:

C:\Users\brianm>C:\Tivo\pyTivo\bin\ffmpeg.exe -i C:\video.avi -vcodec mpeg2video -b 16384k -maxrate 30000k -bufsize 4096k -ab 448k -ar 48000 -acodec ac3 -copyts -f vob test.mpg
FFmpeg version SVN-r15216-rdian06-0.96-win32-x86_32, Copyright (c) 2000-2008 Fabrice Bellard, et al.
configuration: --enable-memalign-hack --enable-postproc --enable-swscale --enable-gpl --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libvorbis --enable-libtheora --en
able-libx264 --enable-libxvid --disable-ffserver --disable-vhook --enable-avisynth --enable-pthreads
libavutil 49.10. 0 / 49.10. 0
libavcodec 51.71. 0 / 51.71. 0
libavformat 52.22. 0 / 52.22. 0
libavdevice 52. 1. 0 / 52. 1. 0
libswscale 0. 6. 1 / 0. 6. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Sep 25 2008 23:08:49, gcc: 4.2.4 [Sherpya]
[NULL @ 021F6F50]Invalid and inefficient vfw-avi packed B frames detected

Seems stream 0 codec frame rate differs from container frame rate: 23.98 (65535/2733) -> 23.98 (2997003/125000)
Input #0, avi, from 'C:\video.avi':
Duration: 00:43:02.08, start: 0.000000, bitrate: 1136 kb/s
Stream #0.0: Video: mpeg4, yuv420p, 624x352 [PAR 1:1 DAR 39:22], 23.98 tb(r)
Stream #0.1: Audio: mp3, 48000 Hz, stereo, s16, 128 kb/s
Output #0, vob, to 'test.mpg':
Stream #0.0: Video: mpeg2video, yuv420p, 624x352 [PAR 1:1 DAR 39:22], q=2-31, 16384 kb/s, 23.98 tb(c)
Stream #0.1: Audio: ac3, 48000 Hz, stereo, s16, 448 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Press [q] to stop encoding
[mpeg4 @ 021F6F50]Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 021F6F50]Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 021F6F50]Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 021F6F50]Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 021F6F50]Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 021F6F50]Invalid and inefficient vfw-avi packed B frames detected
[mp3 @ 021F78A0]mdb:89, lastbuf:53 skipping granule 0itrate=1998.6kbits/s
[mpeg4 @ 021F6F50]slice end not reached but screenspace end (945327 left 7E6062, score= -101)
[mpeg4 @ 021F6F50]concealing 858 DC, 858 AC, 858 MV errors
[mpeg4 @ 021F6F50]Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 021F6F50]Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 021F6F50]Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 021F6F50]Invalid and inefficient vfw-avi packed B frames detected
frame= 197 fps=162 q=2.0 Lsize= 2366kB time=8.10 bitrate=2394.1kbits/s
video:1888kB audio:443kB global headers:0kB muxing overhead 1.509199%

Can anyone please point me in the right direction to find out why the ffmpeg process is failing on this (and other) .avi files that I have?

Thank you very much for any help!


----------



## spocko

You are using the 0.96 version of ffmpeg which is a bit old. Try the 0.98 or 0.99 version which can be downloaded here:

http://pytivo.sourceforge.net/forum/rdian06-s-ffmpeg-builds-t468.html


----------



## bmarkenson

Spocko,

Thank you, this solved my issue!

I appreciate your help.


----------



## jsbellin

I've got an HD TV, and a Pentium E2180 PC. I'd like to use my HD TV to watch HD mkv and wmv files that are currently on my PC. I'm considering buying either: 
1) a graphics card for my PC that can output HDMI (e.g. ATI HD 4550) , OR
2) a Tivo HD, to which I`d stream the files using PyTivo

I live in Canada: I`m okay with not using the Tivo HD`s ability to record HD programs from cable. 

I`m leaning towards 1), because I don`t think my PC can handle the transcoding without the new graphics card. However, I love my current setup of using PyTivo to send SD video to my Series 2 Tivo, and would like to keep the same UI for HD video. 

Any recommendations between 1) and 2)?


----------



## Aaron1121

It looks like a new version of FFMPEG was released a few weeks ago that supports the Windows Media Audio Pro codec. 

Does anyone know of a place that has a compiled version of the new version .exe that will work with pytivo?

Thanks!


----------



## Rdian06

jsbellin said:


> I've got an HD TV, and a Pentium E2180 PC. I'd like to use my HD TV to watch HD mkv and wmv files that are currently on my PC. I'm considering buying either:
> 1) a graphics card for my PC that can output HDMI (e.g. ATI HD 4550) , OR
> 2) a Tivo HD, to which I`d stream the files using PyTivo
> 
> I live in Canada: I`m okay with not using the Tivo HD`s ability to record HD programs from cable.
> 
> I`m leaning towards 1), because I don`t think my PC can handle the transcoding without the new graphics card. However, I love my current setup of using PyTivo to send SD video to my Series 2 Tivo, and would like to keep the same UI for HD video.
> 
> Any recommendations between 1) and 2)?


If you go down the video card route, you should have a look at this. I haven't tried it myself, but it looks like the most promising google hit I could find quickly:

http://iphonedaily.net/other-news/hardware-acceleration-h264-movie-hdtv-low-cpu-usage.html

As for pyTivo, my Core 2 Quad Q6600 can transcode 720p HD video faster than real time (in some cases 2x realtime) via ffmpeg which is not video card hardware accelerated. I never got around to testing on a Core 2 Duo to see if they'll do realtime or better.

You might also want to investigate a set top box media player like the Popcorn Hour and similar devices (since you can't use the Tivo HD's recording capability):

http://www.popcornhour.com


----------



## Rdian06

Aaron1121 said:


> It looks like a new version of FFMPEG was released a few weeks ago that supports the Windows Media Audio Pro codec.
> 
> Does anyone know of a place that has a compiled version of the new version .exe that will work with pytivo?
> 
> Thanks!


Saw the announcement. Haven't had time to recompile yet. Hopefully it will also fix the other audio oddities we're seeing with remuxing AC3 audio, but I haven't tested yet.

Vanilla Win32 automatic builds of the near latest SVN are available here:

http://ffmpeg.arrozcru.org/autobuilds/

Again, I haven't tested these, but you can give them a shot and report back. I'm guessing the native AAC decoder still is wacky with certain audio profiles, but I'd love to be wrong.


----------



## Aaron1121

Thanks for the link!!!

I tested a few WMV files (with Windows Media Audio Pro- previously unplayable), and it worked great. I also tried an .mkv file with AC3 audio, and it worked great.

I'm not sure what other issues you were having with AC3 audio, but I'll go through a few file formats to see if I have any issues.

Thanks again!


----------



## lrhorer

I don't think I have seen a reference to this, but a while back I came across what might be a bug either in pyTiVo or in the TiVo. One of my management tools is using symlinks to group videos and their metafiles by something other than title alpha. For example, while all the actual files are in /RAID/Recordings and its subdirectories by franchise / series name for the main share, I also have a share named "Videos by Genre" where the subdirectories are named "Action", "Adventure", "Classic", "Comedy", etc. In each of these directories I have symlinks to the main files and their metafiles in /RAID/Recordings for whatever programs match the genre. The problem with a symlink, however, is if the main file is removed, renamed, or moved to another directory, the symlink does not get re-directed, and the file system now reports it as a zero length file. If such a file exists in a pyTivo folder, the TiVo reports the directory to be empty once it encounters the file. Thus, if a folder with 20 entries in it has a zero length file 18 entries down in the list, the first two pages display OK, but when the third page is scrolled up, the TiVo reports the folder to be empty.

Has this been reported before? I wrote a script which searches for and deletes such orphaned files, but it would be nice if the system handled the situation a bit more gracefully.


----------



## wmcbrine

It's not zero-length files (which work fine -- I have a bunch of those in my test directories), just broken symlinks. Yeah, I see that they seem to cause problems. You're the first to report it, AFAIK.

Edit: OK, this is fairly easy to deal with...


----------



## lrhorer

wmcbrine said:


> It's not zero-length files (which work fine -- I have a bunch of those in my test directories), just broken symlinks. Yeah, I see that they seem to cause problems. You're the first to report it, AFAIK.
> 
> Edit: OK, this is fairly easy to deal with...


Oh, OK. I didn't dig very deep into the symptomology, since the broken links were without question... well... broken - no flippancy intended. I'm happy it will be an easy fix for you, and I agree it is not a particularly obvious problem. I am somewhat surprised no one else has come across it, however. To me it seems managing ones' recordings this way is something many people might like to do, and whenever one moves, renames, or deletes a file...


----------



## moyekj

Forgive me if this kind of script/capability already exists, but I was looking for a way to setup an automated "watch" folder with pyTivo similar to how one can setup auto watch folders with Tivo Desktop.
The idea being that you simply drop files into a folder and those files are then automatically pushed to one of your TiVos using pyTivo.

Attached is my first (still very crude) attempt at the above. Since this is to be used by pyTivo users who already have python installed I figured the best scripting language to use would be python even though I have little to no experience with it.

To summarize what current script does:
* Watches 1 specific folder which I will refer to as <watchDir>
* Checks <watchDir> for files to process and then sleeps for a period of time (10 seconds) before checking again. This happens in infinite loop.
* If it is determined a file is not changing (modification time & file size not changing) then the file is moved to "processed" folder under <watchDir> and a pyTivo push is initiated.

There are comments at top of script with some instructions on how to set it up properly with pyTivo. Specifically you need to have a pyTivo video share setup with name="auto_push" and path=<watchDir>\processed.

Obviously a lot of room for improvement but I figured I'd get the ball rolling if this kind of capability is not already available.
Down the road if there is interest in this then one can worry about details such as running as windows service for windows platforms, etc. For now though just run this script in a console/xterm.


----------



## PaulS

I really like the idea of auto-pushes. You could combine it with some form of content aggregator (such as Miro or iTunes) and have podcasts automatically pushed to your TiVo's. That would be sweet.

pyTivo already has the concept of "shares" to dictate where content is located on your computer's drive. Would it be better to have the auto-push feature recursively scan the defined shares, rather than define yet another variable for pyTivo to deal with ? Just thinking out loud here...


----------



## orangeboy

moyekj said:


> Forgive me if this kind of script/capability already exists, but I was looking for a way to setup an automated "watch" folder with pyTivo similar to how one can setup auto watch folders with Tivo Desktop.
> The idea being that you simply drop files into a folder and those files are then automatically pushed to one of your TiVos using pyTivo.
> 
> Attached is my first (still very crude) attempt at the above. Since this is to be used by pyTivo users who already have python installed I figured the best scripting language to use would be python even though I have little to no experience with it.
> 
> To summarize what current script does:
> * Watches 1 specific folder which I will refer to as <watchDir>
> * Checks <watchDir> for files to process and then sleeps for a period of time (10 seconds) before checking again. This happens in infinite loop.
> * If it is determined a file is not changing (modification time & file size not changing) then the file is moved to "processed" folder under <watchDir> and a pyTivo push is initiated.
> 
> There are comments at top of script with some instructions on how to set it up properly with pyTivo. Specifically you need to have a pyTivo video share setup with name="auto_push" and path=<watchDir>\processed.
> 
> Obviously a lot of room for improvement but I figured I'd get the ball rolling if this kind of capability is not already available.
> Down the road if there is interest in this then one can worry about details such as running as windows service for windows platforms, etc. For now though just run this script in a console/xterm.


Should your comments in auto_push.py state:


Code:


[auto_push]
type=video
path=c:\home\dvd\watch\processed

and not:


Code:


[videos]
type=auto_push
path=c:\home\dvd\watch\processed

I'm VERY new to both kmttg and pyTivo, and I want to be certain I'm understanding the process! Thanks for providing this!


----------



## moyekj

PaulS said:


> pyTivo already has the concept of "shares" to dictate where content is located on your computer's drive. Would it be better to have the auto-push feature recursively scan the defined shares, rather than define yet another variable for pyTivo to deal with ? Just thinking out loud here...


 One probably would not want all video shares pushing files automatically, rather specific ones only. Plus in this crude implementation I move files under 'processed' folder as a lazy way of avoiding to keep a history of what has transferred, so certainly wouldn't want to apply that approach to all pyTivo video shares. The ideal place for auto transfers implementation is within pyTivo itself, perhaps as a plugin of some sort. But at first I was just looking for an easy way of implementing this and seeing if there is more general interest in this type of capability and then perhaps let the experts take over the implementation if there is enough interest.


----------



## moyekj

orangeboy said:


> Should your comments in auto_push.py state:
> 
> 
> Code:
> 
> 
> [auto_push]
> type=video
> path=c:\home\dvd\watch\processed
> 
> and not:
> 
> 
> Code:
> 
> 
> [videos]
> type=auto_push
> path=c:\home\dvd\watch\processed
> 
> I'm VERY new to both kmttg and pyTivo, and I want to be certain I'm understanding the process! Thanks for providing this!


Yes you are correct. The comments are wrong and should be exactly as you posted here. I fixed the comments and re-posted the zip file in the original posting. Thanks.


----------



## reneg

Nice script Moyekj! Before I figured out the right edits to the pytivo.conf file. I was getting a crash in the script as follows:

pushing file: f:\movietrailers\processed\AmeliaAimingForParis720p.mov
http://localhost:9032/TiVoConnect?C...File=/AmeliaAimingForParis720p.mov&tsn=Family Room
Traceback (most recent call last):
File "C:\Program Files\pyTivo\auto_push.py", line 108, in <module>
process(entry)
File "C:\Program Files\pyTivo\auto_push.py", line 83, in process
push(file_new)
File "C:\Program Files\pyTivo\auto_push.py", line 63, in push
error(e)
File "C:\Program Files\pyTivo\auto_push.py", line 40, in error
sys.stderr.write("ERROR: " + message + "\n")
TypeError: cannot concatenate 'str' and 'HTTPError' objects

Pytivo was returning a 404 error and the script was crashing in the try/except handling.


----------



## moyekj

reneg said:


> Nice script Moyekj! Before I figured out the right edits to the pytivo.conf file. I was getting a crash in the script as follows:
> 
> pushing file: f:\movietrailers\processed\AmeliaAimingForParis720p.mov
> http://localhost:9032/TiVoConnect?C...File=/AmeliaAimingForParis720p.mov&tsn=Family Room
> Traceback (most recent call last):
> File "C:\Program Files\pyTivo\auto_push.py", line 108, in <module>
> process(entry)
> File "C:\Program Files\pyTivo\auto_push.py", line 83, in process
> push(file_new)
> File "C:\Program Files\pyTivo\auto_push.py", line 63, in push
> error(e)
> File "C:\Program Files\pyTivo\auto_push.py", line 40, in error
> sys.stderr.write("ERROR: " + message + "\n")
> TypeError: cannot concatenate 'str' and 'HTTPError' objects
> 
> Pytivo was returning a 404 error and the script was crashing in the try/except handling.


 OK thanks. I fixed that problem and updated the zip file attachment again.


----------



## lrhorer

moyekj said:


> The idea being that you simply drop files into a folder and those files are then automatically pushed to one of your TiVos using pyTivo.


I may have some interest in this sort of thing. Right now, I have an "Unverified" share where I automatically create symlinks to my main files until I have verified the files will transfer to one of my TiVos. Once I have verified the programs transfer properly (sometimes they do not and I have to edit them), I then run a script which removes the symlinks and updates a database showing the program to have been verified.


----------



## reneg

moyekj said:


> The idea being that you simply drop files into a folder and those files are then automatically pushed to one of your TiVos using pyTivo.


Don't drop a default.txt file for metadata into the watch folder. I did and it crashed both this script and pytivo. However, when I placed the default.txt file in the watch folder\processed directory, it worked. I needed to force transcoding because of the restrictions on pushable file types that are acceptable to the Tivo.


----------



## moyekj

reneg said:


> Don't drop a default.txt file for metadata into the watch folder. I did and it crashed both this script and pytivo. However, when I placed the default.txt file in the watch folder\processed directory, it worked. I needed to force transcoding because of the restrictions on pushable file types that are acceptable to the Tivo.


 Yes, would probably be good to have script use ffmpeg or something similar to determine if a file is a video file instead of blindly trying to push any file. Also when moving video file to processed dir should also check for accompanying .txt file and move it as well.

Actually, perhaps a better alternative to moving processed files to a folder is to simply create an empty file of same name and with a .processed extension or something like that.


----------



## moyekj

OK, posted a new version of auto_push script with several changes/enhancements:
1. Instead of moving processed files to 'processed' folder simply creates an empty file of same name but with .processed file extension. Files are no longer processed if such a file name exists.

2. Changed configuration so that you can specify multiple watch folders that can be pushed to different Tivos (or all same Tivo if you wish).

3. Uses ffmpeg to determine if a file is a video file instead of blindly trying to push any file. i.e. Non video files are not attempted to be pushed any longer.

One enhancement still needed is to have script traverse any folder hierarchy when looking for video files. Currently only video files in top level watch folder are processed.

If there is continued interest in this it's probably best to start a new/dedicated thread for it with 1st post containing latest version of script.


----------



## moyekj

OK, started a new "pyTivo auto pushes" thread.


----------



## lrhorer

The pyTivo forum seems to be down.


----------



## windracer

It seems to be up now ...


----------



## wmcbrine

SourceForge is just that way. If you posted every time the forum was inaccessible, you could post about it twice a day or so.

The real problem is the wiki, which is intolerably slow. The forum at least responds quickly most of the time.


----------



## bmarkenson

Hello,

I am having a weird problem with ffmpeg, and I'm hoping that someone here can point me in the right direction.
I tried transferring a video file from my computer to my Tivo, but it stopped about 22 minutes into the 1.5 hour show. I looked at the source; it plays fine in Windows Media Player on my computer.

I tried running the ffmpeg command directly from the command line with the same result:

C:\Tivo\tmp>C:\Tivo\pyTivo\bin\ffmpeg.exe -i FILE -vcodec mpeg2video -b 16384k -maxrate 30000k -bufsize 4096k -ab 448k -ar 48000 -acodec copy -copyts -f vob test.mpg
FFmpeg version SVN-r15216-rdian06-0.96-win32-x86_32, Copyright (c) 2000-2008 Fabrice Bellard, et al.
configuration: --enable-memalign-hack --enable-postproc --enable-swscale --enable-gpl --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-libxvid --disable-ffserver --disable-vhook --enable-avisynth --enable-pthreads
libavutil 49.10. 0 / 49.10. 0
libavcodec 51.71. 0 / 51.71. 0
libavformat 52.22. 0 / 52.22. 0
libavdevice 52. 1. 0 / 52. 1. 0
libswscale 0. 6. 1 / 0. 6. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Sep 25 2008 23:08:49, gcc: 4.2.4 [Sherpya]
Input #0, avi, from 'FILE':
Duration: 01:36:57.01, start: 0.000000, bitrate: 1012 kb/s
Stream #0.0: Video: msmpeg4, yuv420p, 640x360, 23.98 tb(r)
Stream #0.1: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
Output #0, vob, to 'test.mpg':
Stream #0.0: Video: mpeg2video, yuv420p, 640x360, q=2-31, 16384 kb/s, 23.98
tb(c)
Stream #0.1: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Press [q] to stop encoding
frame=24046 fps=196 q=1.6 size= 235056kB time=1002.88 bitrate=1920.1kbits/s
frame=24146 fps=196 q=2.0 size= 235912kB time=1007.05 bitrate=1919.1kbits/s
frame=24237 fps=196 q=2.0 size= 236810kB time=1010.84 bitrate=1919.1kbits/s
frame=24333 fps=196 q=2.0 size= 237648kB time=1014.85 bitrate=1918.3kbits/s
frame=24444 fps=196 q=2.0 size= 238334kB time=1019.48 bitrate=1915.1kbits/s
frame=24563 fps=197 q=2.0 size= 238986kB time=1024.44 bitrate=1911.1kbits/s
frame=24693 fps=197 q=2.0 size= 239646kB time=1029.86 bitrate=1906.3kbits/s
frame=24821 fps=197 q=2.0 size= 240352kB time=1035.20 bitrate=1902.0kbits/s
frame=24942 fps=197 q=2.0 size= 240984kB time=1040.25 bitrate=1897.8kbits/s
frame=25063 fps=197 q=2.0 size= 241632kB time=1045.29 bitrate=1893.7kbits/s
frame=25190 fps=198 q=2.0 size= 242276kB time=1050.59 bitrate=1889.2kbits/s
frame=25319 fps=198 q=2.0 size= 242896kB time=1055.97 bitrate=1884.3kbits/s
frame=25449 fps=198 q=2.0 size= 243546kB time=1061.39 bitrate=1879.7kbits/s
frame=25574 fps=198 q=2.0 size= 244228kB time=1066.61 bitrate=1875.8kbits/s
frame=25667 fps=198 q=2.0 size= 245168kB time=1070.49 bitrate=1876.2kbits/s
frame=25769 fps=198 q=2.0 size= 246034kB time=1074.74 bitrate=1875.3kbits/s
frame=25891 fps=198 q=2.0 size= 246808kB time=1079.83 bitrate=1872.4kbits/s
frame=26018 fps=199 q=2.0 size= 247542kB time=1085.13 bitrate=1868.8kbits/s
frame=26144 fps=199 q=2.0 size= 248302kB time=1090.38 bitrate=1865.5kbits/s
frame=26257 fps=199 q=2.0 size= 249052kB time=1095.09 bitrate=1863.1kbits/s
frame=26376 fps=199 q=2.0 size= 249756kB time=1100.06 bitrate=1859.9kbits/s
frame=26489 fps=199 q=2.0 size= 250512kB time=1104.77 bitrate=1857.6kbits/s
frame=26612 fps=199 q=2.0 size= 251214kB time=1109.90 bitrate=1854.2kbits/s
frame=26734 fps=200 q=2.0 size= 251948kB time=1114.99 bitrate=1851.1kbits/s
frame=26858 fps=200 q=2.0 size= 252652kB time=1120.16 bitrate=1847.7kbits/s
frame=26961 fps=200 q=2.0 size= 253576kB time=1124.46 bitrate=1847.4kbits/s
frame=27057 fps=200 q=2.0 size= 254666kB time=1128.46 bitrate=1848.7kbits/s
frame=27160 fps=200 q=2.0 size= 255458kB time=1132.76 bitrate=1847.5kbits/s
frame=27260 fps=200 q=2.0 size= 256174kB time=1136.93 bitrate=1845.8kbits/s
frame=27353 fps=200 q=2.0 size= 256978kB time=1140.81 bitrate=1845.3kbits/s
frame=27454 fps=200 q=2.0 size= 258140kB time=1145.02 bitrate=1846.9kbits/s
frame=27549 fps=200 q=2.0 size= 259250kB time=1148.98 bitrate=1848.4kbits/s
frame=27650 fps=200 q=2.0 size= 260512kB time=1153.19 bitrate=1850.6kbits/s
frame=27762 fps=200 q=2.0 size= 261408kB time=1157.87 bitrate=1849.5kbits/s
frame=27874 fps=200 q=2.0 size= 262134kB time=1162.54 bitrate=1847.2kbits/s
frame=27967 fps=200 q=2.0 size= 263334kB time=1166.42 bitrate=1849.5kbits/s
frame=28056 fps=200 q=2.0 size= 264634kB time=1170.13 bitrate=1852.7kbits/s
frame=28158 fps=200 q=2.0 size= 265954kB time=1174.38 bitrate=1855.2kbits/s
frame=28250 fps=200 q=2.0 size= 266786kB time=1178.22 bitrate=1854.9kbits/s
frame=28348 fps=200 q=2.0 size= 267834kB time=1182.31 bitrate=1855.8kbits/s
frame=28438 fps=200 q=2.0 size= 268980kB time=1186.06 bitrate=1857.8kbits/s
frame=28525 fps=199 q=2.0 size= 270008kB time=1189.69 bitrate=1859.2kbits/s
frame=28586 fps=199 q=2.0 size= 271980kB time=1192.23 bitrate=1868.8kbits/s
frame=28645 fps=199 q=2.0 size= 273848kB time=1194.69 bitrate=1877.8kbits/s
frame=28707 fps=199 q=2.0 size= 275638kB time=1197.28 bitrate=1886.0kbits/s
frame=28787 fps=198 q=2.0 size= 277072kB time=1200.62 bitrate=1890.5kbits/s
frame=28890 fps=199 q=1.6 size= 278110kB time=1204.91 bitrate=1890.8kbits/s
frame=29002 fps=199 q=2.0 size= 279068kB time=1209.58 bitrate=1890.0kbits/s
frame=29093 fps=199 q=2.0 size= 280250kB time=1213.38 bitrate=1892.1kbits/s
frame=29195 fps=199 q=2.0 size= 281592kB time=1217.63 bitrate=1894.5kbits/s
frame=29312 fps=199 q=2.0 size= 282262kB time=1222.51 bitrate=1891.4kbits/s
frame=29406 fps=199 q=2.0 size= 283034kB time=1226.43 bitrate=1890.5kbits/s
frame=29513 fps=199 q=2.0 size= 283754kB time=1230.90 bitrate=1888.5kbits/s
frame=29622 fps=199 q=2.0 size= 284478kB time=1235.44 bitrate=1886.3kbits/s
frame=29740 fps=199 q=2.0 size= 285314kB time=1240.36 bitrate=1884.4kbits/s
frame=29827 fps=199 q=2.0 size= 286440kB time=1243.99 bitrate=1886.3kbits/s
frame=29908 fps=199 q=2.0 size= 287430kB time=1247.37 bitrate=1887.7kbits/s
frame=29994 fps=199 q=2.0 size= 288414kB time=1250.96 bitrate=1888.7kbits/s
frame=30088 fps=199 q=2.0 size= 289178kB time=1254.88 bitrate=1887.8kbits/s
frame=30184 fps=198 q=2.0 size= 289812kB time=1258.88 bitrate=1885.9kbits/s
frame=30277 fps=198 q=2.0 size= 290550kB time=1262.76 bitrate=1884.9kbits/s
frame=30382 fps=198 q=1.6 size= 291128kB time=1267.14 bitrate=1882.1kbits/s
frame=30474 fps=198 q=2.0 size= 291844kB time=1270.98 bitrate=1881.1kbits/s
frame=30560 fps=198 q=2.0 size= 292688kB time=1274.56 bitrate=1881.2kbits/s
frame=30664 fps=198 q=2.0 size= 293554kB time=1278.90 bitrate=1880.4kbits/s
frame=30762 fps=198 q=2.0 size= 294422kB time=1282.99 bitrate=1879.9kbits/s
frame=30848 fps=198 q=2.0 size= 295250kB time=1286.58 bitrate=1879.9kbits/s
frame=30931 fps=198 q=2.0 size= 296218kB time=1290.04 bitrate=1881.0kbits/s
frame=31020 fps=198 q=2.0 size= 297250kB time=1293.75 bitrate=1882.2kbits/s
frame=31117 fps=198 q=2.0 size= 298316kB time=1297.80 bitrate=1883.0kbits/s
frame=31227 fps=198 q=2.0 size= 299240kB time=1302.38 bitrate=1882.2kbits/s
frame=31320 fps=198 q=2.0 size= 300088kB time=1306.26 bitrate=1881.9kbits/s
frame=31407 fps=198 q=2.0 size= 301364kB time=1309.89 bitrate=1884.7kbits/s
frame=31520 fps=198 q=2.0 size= 302170kB time=1314.60 bitrate=1883.0kbits/s
frame=31609 fps=198 q=2.0 size= 303338kB time=1318.32 bitrate=1884.9kbits/s
frame=31714 fps=198 q=1.6 size= 304302kB time=1322.70 bitrate=1884.7kbits/s
frame=31824 fps=198 q=2.0 size= 305278kB time=1327.28 bitrate=1884.2kbits/s
frame=31944 fps=198 q=2.0 size= 306196kB time=1332.29 bitrate=1882.7kbits/s
frame=32040 fps=198 q=2.0 size= 307092kB time=1336.29 bitrate=1882.6kbits/s
frame=32140 fps=198 q=2.0 size= 308174kB time=1340.46 bitrate=1883.3kbits/s

The file should be >700MB, it stopped with a windows error at 308MB. An error box popped up "ffmpeg has stopped working". Here's the data from the event log:

Faulting application name: ffmpeg.exe, version: 0.0.0.0, time stamp: 0x48dc5258
Faulting module name: ffmpeg.exe, version: 0.0.0.0, time stamp: 0x48dc5258
Exception code: 0xc0000005
Fault offset: 0x000b3e13
Faulting process id: 0x1d44
Faulting application start time: 0x01ca5469bf4b0ef8
Faulting application path: C:\Tivo\pyTivo\bin\ffmpeg.exe
Faulting module path: C:\Tivo\pyTivo\bin\ffmpeg.exe
Report Id: 60a2a568-c05d-11de-a9ac-001e90651f3d

If anyone has any idea what I'm doing wrong, please let me know! Thanks for any help.


----------



## Rdian06

bmarkenson said:


> Hello,
> 
> I am having a weird problem with ffmpeg, and I'm hoping that someone here can point me in the right direction.
> I tried transferring a video file from my computer to my Tivo, but it stopped about 22 minutes into the 1.5 hour show. I looked at the source; it plays fine in Windows Media Player on my computer.
> 
> I tried running the ffmpeg command directly from the command line with the same result:
> 
> C:\Tivo\tmp>C:\Tivo\pyTivo\bin\ffmpeg.exe -i FILE -vcodec mpeg2video -b 16384k -maxrate 30000k -bufsize 4096k -ab 448k -ar 48000 -acodec copy -copyts -f vob test.mpg
> FFmpeg version SVN-r15216-rdian06-0.96-win32-x86_32, Copyright (c) 2000-2008 Fabrice Bellard, et al.
> configuration: --enable-memalign-hack --enable-postproc --enable-swscale --enable-gpl --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-libxvid --disable-ffserver --disable-vhook --enable-avisynth --enable-pthreads
> libavutil 49.10. 0 / 49.10. 0
> libavcodec 51.71. 0 / 51.71. 0
> libavformat 52.22. 0 / 52.22. 0
> libavdevice 52. 1. 0 / 52. 1. 0
> libswscale 0. 6. 1 / 0. 6. 1
> libpostproc 51. 2. 0 / 51. 2. 0
> built on Sep 25 2008 23:08:49, gcc: 4.2.4 [Sherpya]
> Input #0, avi, from 'FILE':
> Duration: 01:36:57.01, start: 0.000000, bitrate: 1012 kb/s
> Stream #0.0: Video: msmpeg4, yuv420p, 640x360, 23.98 tb(r)
> Stream #0.1: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
> Output #0, vob, to 'test.mpg':
> Stream #0.0: Video: mpeg2video, yuv420p, 640x360, q=2-31, 16384 kb/s, 23.98
> tb(c)
> Stream #0.1: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
> Stream mapping:
> Stream #0.0 -> #0.0
> Stream #0.1 -> #0.1
> Press [q] to stop encoding
> ..
> frame=32140 fps=198 q=2.0 size= 308174kB time=1340.46 bitrate=1883.3kbits/s
> 
> The file should be >700MB, it stopped with a windows error at 308MB. An error box popped up "ffmpeg has stopped working".


There is probably something about that file that ffmpeg can't handle. Try updating your ffmpeg to my 0.98 build:

http://pytivo.sourceforge.net/forum/rdian06-s-ffmpeg-builds-t468.html#3557


----------



## lrhorer

wmcbrine said:


> SourceForge is just that way. If you posted every time the forum was inaccessible, you could post about it twice a day or so.
> 
> The real problem is the wiki, which is intolerably slow. The forum at least responds quickly most of the time.


No, this was really down hard, for at least a couple of hours. I tied every few minutes to access the forum for quite a while and got nothing. It wasn't a time-out, either. It was some weird error I haven't seen before, and it was instantaneous.


----------



## spolebitski

Where can I get the proper python software to run with pytivo? 2.4 or 2.5???


----------



## Rdian06

spolebitski said:


> Where can I get the proper python software to run with pytivo? 2.4 or 2.5???


http://www.python.org/

2.6x is recommended. It won't work with the 3.x line because their are Python language changes that haven't been accounted for in pyTivo yet.


----------



## spolebitski

I'll try that again but when I go to install pytivo it gives me an error (that I can't go any further till I instal 2.4 or 2.5).


----------



## Rdian06

spolebitski said:


> I'll try that again but when I go to install pytivo it gives me an error (that I can't go any further till I instal 2.4 or 2.5).


Are you using my March 2009 installer?


----------



## Aredubya

Hi folks,

Long time pyTivo user, but recently ran into an odd problem. After functioning fine for ~6 months, my Tivo series 3 stopped seeing my pyTivo shares. I followed the instructions from the main pyTivo forum on updating my version to the latest wmcbrine version and pulled down the latest ffmpeg.exe, updating my conf settings to match where I dropped it. The service starts up, but gives the following error on startup:

ERRORyTivo.beacon:Zeroconf failure

Presumably, I have a wrong setting in one of the beacon setup files, but I'm not sure where. I did notice that the good folks at Apple had force-installed the Bonjour zero config daemon on my system. It also runs on udp/5353, so I verified that the Windows Firewall still had that port (and tcp/5353) opened. Still no luck. My pytivo.conf file is quite simple (see below). Running in debug mode didn't produce anything obvious concerning zeroconf or beaconing issues, so I'm a bit stumped. Any ideas? Thanks.

[Admin]
togo_path = V:\video\Saved
tivo_mak = 5484608640
type = admin

[_tivo_SD]

[_tivo_HD]

[pyTivo Videos]
path = V:\video\
type = video
auto_subshares = false

[Server]
debug = true
port = 9032
ffmpeg = C:\Program Files\pyTivo\plugins\ffmpeg.exe


----------



## wmcbrine

Aredubya said:


> After functioning fine for ~6 months, my Tivo series 3 stopped seeing my pyTivo shares.


Did you try rebooting the TiVo?



> _Presumably, I have a wrong setting in one of the beacon setup files_


No, I wouldn't presume that.

Bonjour shouldn't conflict with Zeroconf.py. Also, in principle, everything should still work in the event of a Zeroconf failure, since the old beacons are still used as well (but this is where rebooting the TiVo may help). That's why I catch the exception there, although it does kind of obscure the cause.

Did you try it more than once? Zeroconf can be erratic.

BTW, it's not the problem, but the Admin plugin is no more (it's split into ToGo and Settings). You should move the togo_path and tivo_mak lines to the Server section and remove the Admin section.


----------



## Rdian06

Aredubya said:


> ERRORyTivo.beacon:Zeroconf failure
> 
> Presumably, I have a wrong setting in one of the beacon setup files, but I'm not sure where. I did notice that the good folks at Apple had force-installed the Bonjour zero config daemon on my system. It also runs on udp/5353, so I verified that the Windows Firewall still had that port (and tcp/5353) opened. Still no luck. My pytivo.conf file is quite simple (see below). Running in debug mode didn't produce anything obvious concerning zeroconf or beaconing issues, so I'm a bit stumped. Any ideas? Thanks.
> 
> [Admin]
> togo_path = V:\video\Saved
> tivo_mak = xxxxxxxxx
> type = admin
> 
> [_tivo_SD]
> 
> [_tivo_HD]
> 
> [pyTivo Videos]
> path = V:\video\
> type = video
> auto_subshares = false
> 
> [Server]
> debug = true
> port = 9032
> ffmpeg = C:\Program Files\pyTivo\plugins\ffmpeg.exe


Zeroconf has literally zero configuration options. Try launching services.msc and stopping the Bonjour Service. Then start pyTivo and see if it works. I don't remember anyone else mentioning this being a problem though.

Also, drop the Admin section from your conf as it doesn't exist anymore (got renamed to settings and it's always on by default now.) Move the togo_path and tivo_mak lines to the Server section.


----------



## Aredubya

Thanks for the pointers. Rebooting the Tivo was the first thing I tried, based on the discussions at the Sourceforge site. Didn't change the behavior though. I doublechecked my services, and Bonjour was indeed uninstalled as expected. I fired up the Sysinternals TCPView tool to check the listeners, and I see these three attached to python processes:

python.exe:29332	UDP	giles:1942	*:* 
python.exe:29332	UDP	giles:5353	*:* 
python.exe:29332	TCP	giles:9032	giles:0	LISTENING	

I did confirm port 9032's accessible from elsewhere on the network, but running a udp port scan of the machine (via nmap) turned up no responses on 5353 or 1942. I disabled the Windows Firewall and ran a 2nd scan with no change in results. I know the Tivo's network connectivity is working fine, as I can stream from Netflix without issue. Are there any other ports/protos I should be concerned with, or any other tips? Thanks again.

**EDIT** Fixed! I decided to do the cleanup of the admin server entries as had been suggested. Reran the startup, and this time, no Zeroconf error. I checked on Tivo, and the share is visible again. Hope this helps other folks that may be running into the same issue. Thanks again!


----------



## wmcbrine

Huh. Maybe it _was_ the problem. Have to figure that out...


----------



## stlarenas

I have been running pytivo for a while now but have never been able to get my music to work correctly.

I just recently installed the latest version of pytivo (including wmcbrine's latest updates) on a new PC, and I would like to finally tackle my playlists problem.

Currently when I select a playlist (m3u) from my music menu, the song title shows on screen but it never starts playing. (I don't have any trouble playing standard mp3 files)

I did a little research and it seems it may have something to do with how my playlist/music is set up in my directory. Are there any general steps I can take to troubleshoot this problem? Does it matter where in directory the m3u are stored? Admittedly my music collection is a bit of a mess, are there any special charachters in the file names that will trip up pytivo?

Thanks
Diane


----------



## wmcbrine

One issue is that the playlists and the files they point to have to be within the same share path.


----------



## stlarenas

wmcbrine said:


> One issue is that the playlists and the files they point to have to be within the same share path.


Does it matter if there are subfolders in the share?

The actual error is "A problem occurred while accessing the server this may be a temporary problem due to a network interruption, or the server being busy. If the problem persists, check your network connections and verify that the tivo server application is running on your computer"

I only get this when I try to play a playlist. All other pytivo functions work for me.

Do I need to have Tivo desktop installed?


----------



## Rdian06

stlarenas said:


> Does it matter if there are subfolders in the share?
> 
> The actual error is "A problem occurred while accessing the server this may be a temporary problem due to a network interruption, or the server being busy. If the problem persists, check your network connections and verify that the tivo server application is running on your computer"
> 
> I only get this when I try to play a playlist. All other pytivo functions work for me.
> 
> Do I need to have Tivo desktop installed?


Not sure about the subfolder thing, but you definitely don't need Tivo Desktop for it to work.

The error message on the Tivo side won't be very helpful. You need to figure out what pyTivo's error message is:

1) Stop the pyTivo Windows service using the Start menu item (make sure to right click on the item and choose "Run as administrator" if you're using Vista/Win7)

2) Launch pyTivo using the "pyTivo - Start on Console" Start menu item. This will open a command prompt window displaying all the debug output.

3) Click on the icon in the top left corner of the window and choose Properties. On the Options table check QuickEdit Mode. Then on the Layout tab, increase Height under Screen Buffer Size to some large value (I use 5000). Then save the settings. When asked whether to modify the current session only or the shortcut that started the session, choose to modify the shortcut.

4) Scroll to the top and select drag down until you get everything. Then copy and paste it here. If the debug output has passwords or email addresses, xxx them out before posting. Also, your TSN will show in the output, make sure to xxx out all but the first 3 digits of it.


----------



## stlarenas

Rdian06 said:


> Not sure about the subfolder thing, but you definitely don't need Tivo Desktop for it to work.
> 
> The error message on the Tivo side won't be very helpful. You need to figure out what pyTivo's error message is:
> 
> 1) Stop the pyTivo Windows service using the Start menu item (make sure to right click on the item and choose "Run as administrator" if you're using Vista/Win7)
> 
> 2) Launch pyTivo using the "pyTivo - Start on Console" Start menu item. This will open a command prompt window displaying all the debug output.
> 
> 3) Click on the icon in the top left corner of the window and choose Properties. On the Options table check QuickEdit Mode. Then on the Layout tab, increase Height under Screen Buffer Size to some large value (I use 5000).....


I got to here...then clicked okay. After that the properties box closed and nothing in the command prompt window changed....now what?

Thanks for the response...I am on Vista BTW


----------



## Rdian06

stlarenas said:


> I got to here...then clicked okay. After that the properties box closed and nothing in the command prompt window changed....now what?
> 
> Thanks for the response...I am on Vista BTW


Sorry, I should have said you need to try to play a playlist between 3 and 4 so that we have debug output from when the error occurs.

Step 3 just prepares the Windows to retain more of the debug output that would normally be discarded when the output starts churning. And there will be LOTS of output.


----------



## stlarenas

Ahhh....Got it!

As I was searching the data to remove any private info, I noticed that it was unable to locate the file of the mp3.

I went to my playlist and realized I have some broken file paths in it (I said my library was a mess...)

So. I created a new playlist with only songs I knew the paths were correct, and tried to play it...it worked first try.

Thank you so much for taking the time to point me to the debugger. Now I can trust that my pytivo is set up correctly and spend time fixing my broken playlists...

Thanks again. Diane


----------



## reg036

Need some help here, I am having a few issues with the audio only on a few transferred files, they play fine on the pc but when transferred to the Tivo the audio is behind the video by a few seconds. I assume it has something to due with the way the file was encoded, but I am just getting back into using my Tivo to play media and the learning curve here is a little steep to jump into. I have upgraded to the lastest wmcbrine fork and installed rdian06 0.99 ffmpeg in attempts to solve this. Any advice would help. TIA


----------



## lew

1) I just upgraded my free version of AVG to version 9. In order to troubleshoot I disabled the resident shield but I didn't un-install the program.
2) I can use TivoDesktop or Tivo Playlist to D/L a program without any issues.
3) Hitting refresh shows the program being D/L (gives the speed and how much of the file was transferred) but nothing is really transferred. When In go into mytivorecordings folder the partial recording doesn't show.

I upgraded my python to 2.6.4 but that didn't help.

Any suggestions?

edited to add I just tried to "push" a video and that seems to be working.


----------



## stlarenas

Okay - my new computer/network and pyTivo don't seem to be getting along.

Now - I can see My shares (main folder, all subfolders, and titles of files) in the Now Playing List, and can select a video to transfer. I get the prompt saying it is going to transfer. The title of the video appears in my NPL, but it never actually transfers the show. It shows a 0:00 (partial) time. I never get the Blue transferring dot.

My shares are on an external hard drive and my path is set as I:\videos I tried to change to //MAIN/i/videos, but then My Videos said there were no files in it.


----------



## wmcbrine

It took me a minute to realize that you were talking about ToGo. Lew, we normally use the term "pull" to describe pulling a file _to_ the TiVo from the TiVo side menus, as opposed to a "push" transfer, which is initiated from pyTivo's web interface.



lew said:


> 3) Hitting refresh shows the program being D/L (gives the speed and how much of the file was transferred) but nothing is really transferred. When In go into mytivorecordings folder the partial recording doesn't show.


Are you sure that's the directory you've set as the "togo_path" in your pyTivo config?


----------



## lew

I try to match the terms to whatever is used by the program. Access pyTivo via http://localhost:9032/
and the term used is Pull from TiVos: with an option of which tivo

That said you hit the problem.

I moved my tivorecordings directory to a different drive and changed the path for My Videos. I didn't realize I also had to change the path in the togo_path

Thanks.



wmcbrine said:


> It took me a minute to realize that you were talking about ToGo. Lew, we normally use the term "pull" to describe pulling a file _to_ the TiVo from the TiVo side menus, as opposed to a "push" transfer, which is initiated from pyTivo's web interface.
> 
> Are you sure that's the directory you've set as the "togo_path" in your pyTivo config?


----------



## stlarenas

Okay - I was able to get the Tivo to see the shares while using the UNC path, but I still am unable to transfer anything or play music....

Here is my console log:

Checking to see if pyTivo is already running . . .

Starting pyTivo Server. Use ctrl+Break to exit.

2009-11-02 18:26:30,332 INFO pyTivo.beacon: Announcing shares...
2009-11-02 18:26:30,901 INFO pyTivo.beacon: Registering: My Videos
2009-11-02 18:26:31,829 INFO pyTivo.beacon: Registering: Music
2009-11-02 18:26:32,756 INFO pyTivo.beacon: Scanning for TiVos...
2009-11-02 18:26:34,043 INFO pyTivo: pyTivo is ready.
2009-11-02 18:26:34,160 INFO pyTivo: 192.168.1.101 [02/Nov/2009 18:26:34] "GET
/TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
2009-11-02 18:26:34,161 INFO pyTivo: 192.168.1.103 [02/Nov/2009 18:26:34] "GET
/TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
2009-11-02 18:26:39,740 INFO pyTivo: 127.0.0.1 [02/Nov/2009 18:26:39] "GET /TiV
oConnect HTTP/1.1" 404 -
2009-11-02 18:26:40,821 INFO pyTivo: 127.0.0.1 [02/Nov/2009 18:26:40] "GET /fav
icon.ico HTTP/1.1" 200 -
2009-11-02 18:26:43,740 INFO pyTivo: 127.0.0.1 [02/Nov/2009 18:26:43] "GET / HT
TP/1.1" 200 -
2009-11-02 18:26:44,836 INFO pyTivo: 127.0.0.1 [02/Nov/2009 18:26:44] "GET /fav
icon.ico HTTP/1.1" 200 -
2009-11-02 18:26:46,974 INFO pyTivo: 127.0.0.1 [02/Nov/2009 18:26:46] "GET /TiV
oConnect?Command=Settings&Container=Settings HTTP/1.1" 200 -
2009-11-02 18:26:48,079 INFO pyTivo: 127.0.0.1 [02/Nov/2009 18:26:48] "GET /fav
icon.ico HTTP/1.1" 200 -
2009-11-02 18:27:05,974 INFO pyTivo: 127.0.0.1 [02/Nov/2009 18:27:05] "POST /Ti
VoConnect HTTP/1.1" 200 -
2009-11-02 18:27:07,039 INFO pyTivo: 127.0.0.1 [02/Nov/2009 18:27:07] "GET /fav
icon.ico HTTP/1.1" 200 -
2009-11-02 18:27:17,063 INFO pyTivo: 127.0.0.1 [02/Nov/2009 18:27:17] "GET /TiV
oConnect?Command=Settings&Container=Settings HTTP/1.1" 200 -
2009-11-02 18:27:18,230 INFO pyTivo: 127.0.0.1 [02/Nov/2009 18:27:18] "GET /fav
icon.ico HTTP/1.1" 200 -
2009-11-02 18:27:22,892 INFO pyTivo: 127.0.0.1 [02/Nov/2009 18:27:22] "GET /TiV
oConnect?Command=Reset&Container=Settings HTTP/1.1" 200 -
2009-11-02 18:27:22,894 INFO pyTivo.settings: pyTivo has been soft reset.
2009-11-02 18:27:23,960 INFO pyTivo: 127.0.0.1 [02/Nov/2009 18:27:23] "GET /fav
icon.ico HTTP/1.1" 200 -
2009-11-02 18:27:26,933 INFO pyTivo: 127.0.0.1 [02/Nov/2009 18:27:26] "GET /TiV
oConnect?Command=Settings&Container=Settings HTTP/1.1" 200 -
2009-11-02 18:27:28,141 INFO pyTivo: 127.0.0.1 [02/Nov/2009 18:27:28] "GET /fav
icon.ico HTTP/1.1" 200 -
2009-11-02 18:27:42,398 INFO pyTivo: 127.0.0.1 [02/Nov/2009 18:27:42] "GET / HT
TP/1.1" 200 -
2009-11-02 18:27:43,441 INFO pyTivo: 127.0.0.1 [02/Nov/2009 18:27:43] "GET /fav
icon.ico HTTP/1.1" 200 -
2009-11-02 18:27:45,403 INFO pyTivo: 127.0.0.1 [02/Nov/2009 18:27:45] "GET /TiV
oConnect?Command=QueryContainer&Container=My%20Videos HTTP/1.1" 200 -
2009-11-02 18:27:46,421 INFO pyTivo: 127.0.0.1 [02/Nov/2009 18:27:46] "GET /TiV
oConnect?Command=XSL&Container=My%20Videos HTTP/1.1" 200 -
2009-11-02 18:27:47,486 INFO pyTivo: 127.0.0.1 [02/Nov/2009 18:27:47] "GET /fav
icon.ico HTTP/1.1" 200 -
2009-11-02 18:28:06,434 INFO pyTivo: 192.168.1.103 [02/Nov/2009 18:28:06] "GET
/TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200
-
2009-11-02 18:28:07,144 INFO pyTivo: 192.168.1.103 [02/Nov/2009 18:28:07] "GET
/TiVoConnect?Command=QueryContainer&Container=My%20Videos&SortOrder=!CaptureDate
&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,vid
eo%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
2009-11-02 18:28:09,171 INFO pyTivo: 192.168.1.103 [02/Nov/2009 18:28:09] "GET
/TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200
-
2009-11-02 18:28:09,427 INFO pyTivo: 192.168.1.103 [02/Nov/2009 18:28:09] "GET
/TiVoConnect?Command=QueryContainer&Container=My%20Videos%2FTV&SortOrder=!Captur
eDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolde
r,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
2009-11-02 18:28:12,717 INFO pyTivo: 192.168.1.103 [02/Nov/2009 18:28:12] "GET
/TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200
-
2009-11-02 18:28:12,924 DEBUG pyTivo.video.transcode: starting ffmpeg, will wait
10 seconds for it to complete
2009-11-02 18:28:13,190 DEBUG pyTivo.video.transcode: ffmpeg output=FFmpeg versi
on SVN-r19249-rdian06-0.98-win-x86_32, Copyright (c) 2000-2009 Fabrice Bellard,
et al.
configuration: --enable-memalign-hack --disable-debug --enable-hardcoded-table
s --enable-runtime-cpudetect --enable-static --disable-shared --disable-ffserver
--disable-ffplay --enable-gpl --enable-pthreads --enable-libmp3lame --enable-li
bvorbis --enable-libtheora --enable-libspeex --enable-libgsm --enable-libx264 --
enable-libschroedinger --enable-libfaad --disable-decoder=aac --enable-avisynth
--enable-postproc --enable-avfilter --enable-avfilter-lavf
libavutil 50. 3. 0 / 50. 3. 0
libavcodec 52.32. 0 / 52.32. 0
libavformat 52.34. 0 / 52.34. 0
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 0. 5. 0 / 0. 5. 0
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Jun 25 2009 02:20:59, gcc: 4.4.0
[NULL @ 0x13f8250]Invalid and inefficient vfw-avi packed B frames detected

Seems stream 0 codec frame rate differs from container frame rate: 23.98 (65535/
2733) -> 23.98 (2997003/125000)
Input #0, avi, from '\\Main\i\Videos\TV\House.S06E05.avi':
Duration: 00:42:56.95, start: 0.000000, bitrate: 1136 kb/s
Stream #0.0: Video: mpeg4, yuv420p, 624x352 [PAR 1:1 DAR 39:22], 23.98 tbr,
23.98 tbn, 23.98 tbc
Stream #0.1: Audio: mp3, 48000 Hz, 2 channels, s16, 128 kb/s
At least one output file must be specified

2009-11-02 18:28:13,213 DEBUG pyTivo.video.transcode: aFreq=48000; vFps=23.98; c
ontainer=avi; kbps=1136; mapAudio=[('0.1', '')]; vHeight=352; vCodec=mpeg4; Supp
orted=True; aKbps=128; par=None; millisecs=2576950; par2=1.0; par1=1:1; mapVideo
=0.0; vWidth=624; dar1=39:22; aCodec=mp3
2009-11-02 18:28:13,214 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:13,220 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:13,221 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:13,223 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec mpeg
4 not compatible, \\Main\i\Videos\TV\House.S06E05.avi
2009-11-02 18:28:13,226 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:13,227 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:13,229 INFO pyTivo: 192.168.1.103 [02/Nov/2009 18:28:13] "GET
/TiVoConnect?Command=QueryContainer&Container=My%20Videos%2FTV&SortOrder=!Captur
eDate&ItemCount=1&AnchorItem=%2FMy%2520Videos%2FTV%2FHouse.S06E05.avi&AnchorOffs
et=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-
tivo-mpeg,video%2F* HTTP/1.1" 200 -
2009-11-02 18:28:13,378 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:13,380 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:13,384 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:13,387 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:13,388 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec mpeg
4 not compatible, \\Main\i\Videos\TV\House.S06E05.avi
2009-11-02 18:28:13,390 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:13,391 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:13,473 INFO pyTivo: 192.168.1.103 [02/Nov/2009 18:28:13] "GET
/TiVoConnect?Command=TVBusQuery&Container=My%20Videos&File=%2FTV%2FHouse.S06E05.
avi HTTP/1.1" 200 -
2009-11-02 18:28:27,164 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:27,167 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec mpeg
4 not compatible, \\Main\i\Videos\TV\House.S06E05.avi
2009-11-02 18:28:27,167 INFO pyTivo: 192.168.1.103 [02/Nov/2009 18:28:27] "GET
/My%20Videos/TV/House.S06E05.avi HTTP/1.1" 206 -
2009-11-02 18:28:27,168 DEBUG pyTivo.video.video: \\Main\i\Videos\TV\House.S06E0
5.avi is not tivo compatible
2009-11-02 18:28:27,171 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:27,176 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:27,180 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:27,184 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:27,186 DEBUG pyTivo.video.transcode: tsn: 5900001802E8AF4
2009-11-02 18:28:27,187 DEBUG pyTivo.video.transcode: aspect169: False
2009-11-02 18:28:27,187 DEBUG pyTivo.video.transcode: optres: False
2009-11-02 18:28:27,188 DEBUG pyTivo.video.transcode: File=\\Main\i\Videos\TV\Ho
use.S06E05.avi vCodec=mpeg4 vWidth=624 vHeight=352 vFps=23.98 millisecs=2576950
TIVO_HEIGHT=480 TIVO_WIDTH=544
2009-11-02 18:28:27,190 DEBUG pyTivo.video.transcode: rheight=22 rwidth=39
2009-11-02 18:28:27,190 DEBUG pyTivo.video.transcode: par2=1.000 ratio=177.273 m
ult4by3=1.176
2009-11-02 18:28:27,191 DEBUG pyTivo.video.transcode: File is wider than 4:3 pad
ding top and bottom
-aspect 4:3 -s 544x360 -padtop 60 -padbottom 60
2009-11-02 18:28:27,194 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:27,198 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:27,203 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:27,211 DEBUG pyTivo.video.transcode: transcoding to tivo model
590 using ffmpeg command:
2009-11-02 18:28:27,213 DEBUG pyTivo.video.transcode: C:\Program Files\pyTivo\bi
n\ffmpeg.exe -i \\Main\i\Videos\TV\House.S06E05.avi -vcodec mpeg2video -r 29.97
-b 4096k -maxrate 30000k -bufsize 1024k -aspect 4:3 -s 544x360 -padtop 60 -padbo
ttom 60 -ab 448k -ar 48000 -acodec mp2 -copyts -f vob -
FFmpeg version SVN-r19249-rdian06-0.98-win-x86_32, Copyright (c) 2000-2009 Fabri
ce Bellard, et al.
configuration: --enable-memalign-hack --disable-debug --enable-hardcoded-table
s --enable-runtime-cpudetect --enable-static --disable-shared --disable-ffserver
--disable-ffplay --enable-gpl --enable-pthreads --enable-libmp3lame --enable-li
bvorbis --enable-libtheora --enable-libspeex --enable-libgsm --enable-libx264 --
enable-libschroedinger --enable-libfaad --disable-decoder=aac --enable-avisynth
--enable-postproc --enable-avfilter --enable-avfilter-lavf
libavutil 50. 3. 0 / 50. 3. 0
libavcodec 52.32. 0 / 52.32. 0
libavformat 52.34. 0 / 52.34. 0
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 0. 5. 0 / 0. 5. 0
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Jun 25 2009 02:20:59, gcc: 4.4.0
[NULL @ 0x2ff430]Invalid and inefficient vfw-avi packed B frames detected

Seems stream 0 codec frame rate differs from container frame rate: 23.98 (65535/
2733) -> 23.98 (2997003/125000)
Input #0, avi, from '\\Main\i\Videos\TV\House.S06E05.avi':
Duration: 00:42:56.95, start: 0.000000, bitrate: 1136 kb/s
Stream #0.0: Video: mpeg4, yuv420p, 624x352 [PAR 1:1 DAR 39:22], 23.98 tbr,
23.98 tbn, 23.98 tbc
Stream #0.1: Audio: mp3, 48000 Hz, 2 channels, s16, 128 kb/s
[mp2 @ 0x2f0dcb0]bitrate 448 is not allowed in mp2
Output #0, vob, to 'pipe:':
Stream #0.0: Video: mpeg2video, yuv420p, 544x480 [PAR 20:17 DAR 4:3], q=2-31
, 4096 kb/s, 90k tbn, 29.97 tbc
Stream #0.1: Audio: mp2, 48000 Hz, 2 channels, s16, 448 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Error while opening encoder for output stream #0.1 - maybe incorrect parameters
such as bit_rate, rate, width or height
2009-11-02 18:28:27,453 DEBUG pyTivo.video.video: Finished outputing video
2009-11-02 18:28:34,575 INFO pyTivo: 192.168.1.103 [02/Nov/2009 18:28:34] "GET
/TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200
-
2009-11-02 18:28:34,693 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:34,697 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:34,706 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:34,710 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:34,710 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec mpeg
4 not compatible, \\Main\i\Videos\TV\House.S06E05.avi
2009-11-02 18:28:34,714 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:34,719 DEBUG pyTivo.video.transcode: CACHE HIT! \\Main\i\Videos
\TV\House.S06E05.avi
2009-11-02 18:28:34,757 INFO pyTivo: 192.168.1.103 [02/Nov/2009 18:28:34] "GET
/TiVoConnect?Command=QueryContainer&Container=My%20Videos%2FTV&SortOrder=!Captur
eDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolde
r,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
2009-11-02 18:28:36,687 INFO pyTivo: 192.168.1.103 [02/Nov/2009 18:28:36] "GET
/TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200
-
2009-11-02 18:28:37,155 INFO pyTivo: 192.168.1.103 [02/Nov/2009 18:28:37] "GET
/TiVoConnect?Command=QueryContainer&Container=My%20Videos&SortOrder=!CaptureDate
&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3D
My%2520Videos%2FTV&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-
container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -


----------



## Rdian06

stlarenas said:


> Okay - I was able to get the Tivo to see the shares while using the UNC path, but I still am unable to transfer anything or play music....
> 
> Here is my console log:
> 
> Checking to see if pyTivo is already running . . .
> 
> Starting pyTivo Server. Use ctrl+Break to exit.
> 
> 2009-11-02 18:26:30,332 INFO pyTivo.beacon: Announcing shares...
> 
> ...
> 
> 2009-11-02 18:28:27,211 DEBUG pyTivo.video.transcode: transcoding to tivo model
> 590 using ffmpeg command:
> 2009-11-02 18:28:27,213 DEBUG pyTivo.video.transcode: C:\Program Files\pyTivo\bi
> n\ffmpeg.exe -i \\Main\i\Videos\TV\House.S06E05.avi -vcodec mpeg2video -r 29.97
> -b 4096k -maxrate 30000k -bufsize 1024k -aspect 4:3 -s 544x360 -padtop 60 -padbo
> ttom 60 -ab 448k -ar 48000 -acodec mp2 -copyts -f vob -
> FFmpeg version SVN-r19249-rdian06-0.98-win-x86_32, Copyright (c) 2000-2009 Fabri
> ce Bellard, et al.
> configuration: --enable-memalign-hack --disable-debug --enable-hardcoded-table
> s --enable-runtime-cpudetect --enable-static --disable-shared --disable-ffserver
> --disable-ffplay --enable-gpl --enable-pthreads --enable-libmp3lame --enable-li
> bvorbis --enable-libtheora --enable-libspeex --enable-libgsm --enable-libx264 --
> enable-libschroedinger --enable-libfaad --disable-decoder=aac --enable-avisynth
> --enable-postproc --enable-avfilter --enable-avfilter-lavf
> libavutil 50. 3. 0 / 50. 3. 0
> libavcodec 52.32. 0 / 52.32. 0
> libavformat 52.34. 0 / 52.34. 0
> libavdevice 52. 2. 0 / 52. 2. 0
> libavfilter 0. 5. 0 / 0. 5. 0
> libswscale 0. 7. 1 / 0. 7. 1
> libpostproc 51. 2. 0 / 51. 2. 0
> built on Jun 25 2009 02:20:59, gcc: 4.4.0
> [NULL @ 0x2ff430]Invalid and inefficient vfw-avi packed B frames detected
> 
> Seems stream 0 codec frame rate differs from container frame rate: 23.98 (65535/
> 2733) -> 23.98 (2997003/125000)
> Input #0, avi, from '\\Main\i\Videos\TV\House.S06E05.avi':
> Duration: 00:42:56.95, start: 0.000000, bitrate: 1136 kb/s
> Stream #0.0: Video: mpeg4, yuv420p, 624x352 [PAR 1:1 DAR 39:22], 23.98 tbr,
> 23.98 tbn, 23.98 tbc
> Stream #0.1: Audio: mp3, 48000 Hz, 2 channels, s16, 128 kb/s
> [mp2 @ 0x2f0dcb0]bitrate 448 is not allowed in mp2
> Output #0, vob, to 'pipe:':
> Stream #0.0: Video: mpeg2video, yuv420p, 544x480 [PAR 20:17 DAR 4:3], q=2-31
> , 4096 kb/s, 90k tbn, 29.97 tbc
> Stream #0.1: Audio: mp2, 48000 Hz, 2 channels, s16, 448 kb/s
> Stream mapping:
> Stream #0.0 -> #0.0
> Stream #0.1 -> #0.1
> Error while opening encoder for output stream #0.1 - maybe incorrect parameters
> such as bit_rate, rate, width or height
> 
> ...


pyTivo is trying to convert the audio from mp3 to mp2, but the audio bitrate it's trying to use is higher than allowed by ffmpeg. According to the configure docs, pyTivo isn't supposed to select mp2 audio by default, it should be using ac3. So it seems you configured it to force mp2 audio for your Series 2 box. If you choose to do that, you also need to reduce the audio bitrate setting to something like 192k to be within the allowed bitrate range for the mp2 encoder in ffmpeg (which I assume is part of the mp2 spec).

See http://pytivo.sourceforge.net/wiki/index.php/Configure_pyTivo

Specifically audio_codec and audio_br sections.


----------



## wmcbrine

Better yet, don't use MP2. There is no reason to. In fact... maybe I should kill that option altogether.


----------



## Rdian06

wmcbrine said:


> Better yet, don't use MP2. There is no reason to. In fact... maybe I should kill that option altogether.


Yeah, the wiki implies that using mp2 audio with 2 channels reduces the size of the transfer.

I don't care since I want 5.1 output and I only have S3s.

If it does offer significant size savings, maybe introduce a cap on the audio_br setting so you can't specify a value too high based on the codec and TSN you're sending to. For instance you could cap the AC3 bitrate at 448k since anything higher will transmit to an S3 but will result in no audio playback?


----------



## stlarenas

Thank you! I forgot I changed it to mp2 when I installed the latest version. The only reason I did it was because I thought that was the recommended setting based on what was in the Wiki for series 2 units (I only have series 2). I will make the change back to the default setting when I get home.

Thanks again for your help.
Diane


----------



## wmcbrine

The wiki also says that if you set it to MP2, you _must_ also set the bit rate, which you didn't do.

And of course, the bit rate is what determines the file size, not the codec per se. The question is, does MP2 really sound better at a low bit rate than AC3? Or is there some other reason (lower encoding overhead? simple inertia?) why an AC3-capable device like the S2 uses MP2 for its own recordings?

The size savings is kind of moot anyway, since video is by far the bulkier part of the stream.


----------



## wmcbrine

lew said:


> I moved my tivorecordings directory to a different drive and changed the path for My Videos. I didn't realize I also had to change the path in the togo_path


With recent versions, you can put a share name as the togo_path, instead of an actual path. That way you wouldn't have to change it twice.


----------



## resanders

Does pyTivo allow you to transfer shows from your TiVo box to a PC? Sorry, I'm about to become a new user on Windows 7. Thanks!


----------



## jbernardis

resanders said:


> Does pyTivo allow you to transfer shows from your TiVo box to a PC? Sorry, I'm about to become a new user on Windows 7. Thanks!


Yes it most certainly does - but for going in this direction, you might also consider kmttg which you can find via this forum.

I find pytivo more useful (and more powerful) for going in the other direction - PC to Tivo.


----------



## csell

jbernardis said:


> Yes it most certainly does - but for going in this direction, you might also consider kmttg which you can find via this forum.
> 
> I find pytivo more useful (and more powerful) for going in the other direction - PC to Tivo.


Does pyTivo (or kmttg) allow you to transfer FROM tivo to your PC through the Tivo interface on your Tivo, kinda like Galleon ToGo does? Or do you have it do it from you PC?


----------



## jbernardis

with pytivo you can "pull" videos from the tivo by just finding them in your NPL and queueing them up for transfer. You can also "push" them from the PC TO your Tivo. Works both ways - although there are subtle differences in terms of handling metadata/grouping/etc.

kmttg is one way only - although it can also work with pytivo to send things back to your tivo - I've never done this though.


----------



## csell

jbernardis said:


> with pytivo you can "pull" videos from the tivo by just finding them in your NPL and queueing them up for transfer.


But where do you do this from? The PC or the Tivo? For example, with Galleon, from the Tivo you can select shows you want to transfer to he PC. So can can do this whole process without getting on your PC. Can this be done using pytivo???


----------



## jbernardis

csell said:


> But where do you do this from? The PC or the Tivo? For example, with Galleon, from the Tivo you can select shows you want to transfer to he PC. So can can do this whole process without getting on your PC. Can this be done using pytivo???


You pull from the tivo - using your remote control.

You push from the PC.

Your choice - you can do it either way.


----------



## csell

jbernardis said:


> You pull from the tivo - using your remote control.
> 
> You push from the PC.
> 
> Your choice - you can do it either way.


Sorry for having such a difficult time grasping this, but can you PUSH a video from the Tivo to the PC from within Tivo (as in with the remote)? Galleon does this and I'm trying to figure out if pytivo does. You might have answered that question in your last reply, but I didn't get it  So essentially when I'm on my TV / Tivo and I would like to transfer a tivo recorded video to my PC, can I do it directly from the Tivo.... I use pytivo right now for sending videos from my PC to the Tivo but I haven't figured out if you can do it the other way using Tivo... Sorry for being an idiot!


----------



## txporter

csell said:


> Sorry for having such a difficult time grasping this, but can you PUSH a video from the Tivo to the PC from within Tivo (as in with the remote)? Galleon does this and I'm trying to figure out if pytivo does. You might have answered that question in your last reply, but I didn't get it  So essentially when I'm on my TV / Tivo and I would like to transfer a tivo recorded video to my PC, can I do it directly from the Tivo.... I use pytivo right now for sending videos from my PC to the Tivo but I haven't figured out if you can do it the other way using Tivo... Sorry for being an idiot!


No. pytivo is a piece of software that basically replaces Tivo Desktop software. You cannot force a video to your PC from the Tivo box with it.


----------



## csell

txporter said:


> No. pytivo is a piece of software that basically replaces Tivo Desktop software. You cannot force a video to your PC from the Tivo box with it.


Is Galleon the only one that can do that?

Here's what I'm trying to come up with. I'm looking to buy a device that hooks up to your TV and plays video off of your PC wirelessly through your network. An example is - Hauppauge-Media MVP Wireless Digital Media Receiver. The idea is I want to be able to watch my Tivo shows on my bedroom TV without purchasing a new Tivo and paying the $10 additional monthly subscription fee..... From my Tivo, I would like to be able to pick the shows to transfer to my PC (using Galleon or something similar). Upon receiving the shows on the PC, a script will automatically convert it to an mpeg2. This folder will be shared with the remote viewer device... So when it is all said and done all I have to do is pick a show from my Tivo and select Send to PC and then in a few minutes or so I can watch it in my bedroom... May sound silly, but to me it meets a need or desire.


----------



## txporter

Possibly. I haven't played with Galleon myself. I am not aware of any other programs that do it, but then again that isn't something I have looked for either.

Some ideas:

- I believe that kmttg can be set up to do auto-transfers. Now this obviously only works if you know ahead of time that you will want to watch a specific show later.
- I know at least for TivoHD/Series3/XL, the video is output on both component and HDMI at the same time so you could route one of the signal to your other TV and use an IR extender to control your tivo
- you could have a HTPC (or any computer really) hooked up to your bedroom TV where you could initiate the pull of whatever video you want to watch

Guess that is all I could come up with at the moment. I use a component amp/distributor for my setup. But I also own multiple Tivos.


----------



## csell

txporter said:


> Possibly. I haven't played with Galleon myself. I am not aware of any other programs that do it, but then again that isn't something I have looked for either.
> 
> Some ideas:
> 
> - I believe that kmttg can be set up to do auto-transfers. Now this obviously only works if you know ahead of time that you will want to watch a specific show later.
> - I know at least for TivoHD/Series3/XL, the video is output on both component and HDMI at the same time so you could route one of the signal to your other TV and use an IR extender to control your tivo
> - you could have a HTPC (or any computer really) hooked up to your bedroom TV where you could initiate the pull of whatever video you want to watch
> 
> Guess that is all I could come up with at the moment. I use a component amp/distributor for my setup. But I also own multiple Tivos.


Thanks for the ideas, some interesting ones in there...

Using Galleon, Media MVP Wireless, and a video converter program together will definitely work as I described. Just seeing what other options exist, especially since I don't like relying on Galleon anymore since its no longer being developed/supported.


----------



## windracer

csell said:


> Is Galleon the only one that can do that?


I believe it is, because it has an actual app written to do so.


csell said:


> I don't like relying on Galleon anymore since its no longer being developed/supported.


It kinda is ... just not as much as it used to be.  I try to "support" it as much as I can, and I know others here (like s2kdave and jtkohl) do as well.


----------



## jtkohl

windracer said:


> I believe it is, because it has an actual app written to do so.
> 
> It kinda is ... just not as much as it used to be.  I try to "support" it as much as I can, and I know others here (like s2kdave and jtkohl) do as well.


Yeah, my problem is lack of time to spend working on Galleon. Anybody with Java skills is welcome to volunteer (send me a PM) and learn about it/work on fixes.


----------



## csell

windracer said:


> I believe it is, because it has an actual app written to do so.
> 
> It kinda is ... just not as much as it used to be.  I try to "support" it as much as I can, and I know others here (like s2kdave and jtkohl) do as well.


Good to know! And thanks for working on that (as well as the others)...


----------



## spocko

When Tivo Desktop 2.8 was initially posted, the following statement was included under "New features":



> Transferring web videos in the MPEG-4 format to the TiVo HD or Series3 DVR is significantly faster.


That statement has since been removed. I don't know if it was just a mistake, or if it is a real change in TD 2.8. Since this statement was listed only for TD Plus, and specifically says "web videos", I assume it was referring to pushes. Maybe TD 2.8 does something new with the push interface? Maybe something that pyTivo can also take advantage of? Just thinking out loud here.


----------



## moyekj

Don't know for sure but I suspect that whoever wrote that was thinking that MPEG4 videos were always transcoded to MPEG2 before transferring to Series 3 Tivos. I bet you TD 2.8 still can't handle native pushes of H.264 video + AC3 audio, so pyTivo is still superior in that regard.
"MPEG4" is too broad of a term when not used in specific context. Do they mean MPEG4 containers in general or are they talking about MPEG4 video? I would suspect the latter. To this point we know H.264 videos can transfer natively. May be worth trying MPEG4 video in MPEG4 container with AAC or AC3 audio to see if perhaps that transfers natively as well... If that's not it then who knows.

EDIT: Just confirmed that mpeg4 video + AAC audio still does NOT stream natively to Tivos, so looks like it's still H.264 only that Tivo supports in mpeg4 container.


----------



## AZrob

Hi all,

I just installed pyTivo (using the 3-09 Windows install) and then overlaid mcbrine's latest update. I think I did it correctly. I can transfer see and transfer .avi files from the PC to Tivo. 

But when I try to transfer .Tivo files they fail to start the transfer. Either they have a "transfer error" or it says they were deleted immediately due to lack of space - which is not a problem on my Tivo. 

Appreciate any help I can get...

Thanks,

Rob from AZ


----------



## cherry ghost

My videos path has always been a folder on my E drive and everything worked fine. Today pytivo can't seem to see that particular folder. If I put a video in a folder on my C drive and change the path to that folder, it sees it. Any one else ever experience this? The only thing I can think of that's changed lately is installing desktop 2.8.

Thanks


----------



## AZrob

AZrob said:


> Hi all,
> 
> I just installed pyTivo (using the 3-09 Windows install) and then overlaid mcbrine's latest update. I think I did it correctly. I can transfer see and transfer .avi files from the PC to Tivo.
> 
> But when I try to transfer .Tivo files they fail to start the transfer. Either they have a "transfer error" or it says they were deleted immediately due to lack of space - which is not a problem on my Tivo.
> 
> Appreciate any help I can get...
> 
> Thanks,
> 
> Rob from AZ


Oops...I got part of this fixed by overlaying the mcbrine changes properly. Before, I extracted everything to a /pytivo/mcbrine directory instead of just to /pytivo. So now I can transfer some of my .tivo files.

But others won't start transferring at all, because I get an immediate Copyright flag. These are broadcast shows and shouldn't be flagged. Help would be appreciated.

Rob from AZ


----------



## AZrob

AZrob said:


> Oops...I got part of this fixed by overlaying the mcbrine changes properly. Before, I extracted everything to a /pytivo/mcbrine directory instead of just to /pytivo. So now I can transfer some of my .tivo files.
> 
> But others won't start transferring at all, because I get an immediate Copyright flag. These are broadcast shows and shouldn't be flagged. Help would be appreciated.
> 
> Rob from AZ


Okay...never mind. The files I was trying to transfer were empty....the header was there but the rest was lost....this happened the other day when my disk crapped out. I thought they were completely recovered...but guess not.


----------



## Rdian06

cherry ghost said:


> My videos path has always been a folder on my E drive and everything worked fine. Today pytivo can't seem to see that particular folder. If I put a video in a folder on my C drive and change the path to that folder, it sees it. Any one else ever experience this? The only thing I can think of that's changed lately is installing desktop 2.8.
> 
> Thanks


Did you do anything that might have changed the security permissions on the drive or folder? The folder and files need to be readable by whatever account you are running pyTivo from. If you are running as a Windows service without an explicit account defined, then it runs as the Local System user. If you're running from console, then it's running from your account.


----------



## cherry ghost

Rdian06 said:


> Did you do anything that might have changed the security permissions on the drive or folder? The folder and files need to be readable by whatever account you are running pyTivo from. If you are running as a Windows service without an explicit account defined, then it runs as the Local System user. If you're running from console, then it's running from your account.


As far as I know, nothing has changed. It has to be something with the drive because no matter what folder I use it's not seen. The other drive works fine when I change the path to a folder there.

Edit :

I got it work by reinstalling it not to run as a service and am running it from console.


----------



## lrhorer

jbernardis said:


> You pull from the tivo - using your remote control.
> 
> You push from the PC.
> 
> Your choice - you can do it either way.


You're not reading what he wrote. He's not (primarily) asking about TTCB transfers from the PC to the TiVo. He's asking about TiVo-To-Go transfers from the Tivo to the PC.



csell said:


> Does pyTivo (or kmttg) allow you to transfer FROM tivo to your PC through the Tivo interface on your Tivo, kinda like Galleon ToGo does? Or do you have it do it from you PC?


Galleon is the only program which allows one to initiate TiVo-To-Go transfers from the TiVo, and of course it thus goes without saying it is the only program which allows one to initiate a TTG transfer from a different TiVo than from which the transfer is made.


----------



## Rdian06

cherry ghost said:


> As far as I know, nothing has changed. It has to be something with the drive because no matter what folder I use it's not seen. The other drive works fine when I change the path to a folder there.
> 
> Edit :
> 
> I got it work by reinstalling it not to run as a service and am running it from console.


When you run from console, you're running it from your account. Whereas the service runs as Local System by default. I think something must have altered the file permissions at the root of the other drive.

Which version of Windows are you using? On most of them you can bring up the security permissions by right clicking on the drive in My Computer and choosing Properties. Then on the Security tab, make sure SYSTEM appears and has full control over the drive and it's subfolders/files. If it doesn't appear, then the Windows Service won't be able to see anything on the drive.


----------



## cherry ghost

Rdian06 said:


> When you run from console, you're running it from your account. Whereas the service runs as Local System by default. I think something must have altered the file permissions at the root of the other drive.
> 
> Which version of Windows are you using? On most of them you can bring up the security permissions by right clicking on the drive in My Computer and choosing Properties. Then on the Security tab, make sure SYSTEM appears and has full control over the drive and it's subfolders/files. If it doesn't appear, then the Windows Service won't be able to see anything on the drive.


Windows 7 64 bit

SYSTEM was not there, but I added it to the path folder and everything seems to be working now, thanks.


----------



## westside_guy

I'm running into an odd problem with pyTivo on Mac OS X 10.5.8 - I've been seeing this for a while, but only now have gotten annoyed enough to try to solve it.

I've ripped a bunch of our DVDs to mpeg2+ac3. I pulled the vob files out using mplayer with the dumpstream option, then I use mpeg streamclip to fix any timecode problems and only output one audio stream. Most of the resulting mpeg files play very nicely with pyTivo and my Tivo HD. However a very small number (for example, two of the bonus episodes off a Powerpuff Girls DVD that had about four regular episodes plus bonus features) will show up as "transfer prohibited by copyright holder". I'd understood this was usually due to an ffmpeg issue or a problem with the file itself, but 1) ffmpeg -i doesn't show any problems; and 2) if I run pyTivo without ffmpeg being available, the "problem" video transfers to my Tivo and plays just fine - so it's not an incompatible video (which seemed unlikely anyway, since the vast majority of that DVD's content works).

So what other things can cause this "copyright" issue to occur?

I'm currently using the wmcbrine fork from 2009-10-12, but like I said this has been an issue for a while.

Thanks for any help you can provide!


----------



## wmcbrine

Your point 2 indicates that there _is_ a problem with what ffmpeg -i is reporting about the file, as far as pyTivo is concerned. Post the output for a problem file.


----------



## westside_guy

wmcbrine said:


> Your point 2 indicates that there _is_ a problem with what ffmpeg -i is reporting about the file, as far as pyTivo is concerned. Post the output for a problem file.


Hi,

Here is the output. Ffmpeg is provided by fink (although at one point I also tried the one that's part of pyTivoX, with the same result):



Code:


$ ffmpeg -i 129_Meat_Fuzzy.mpg 
FFmpeg version UNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
  configuration: --prefix=/sw --mandir=/sw/share/man --enable-shared --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-x11grab --enable-liba52 --enable-libamr-nb --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --disable-mmx --disable-iwmmxt --disable-altivec
  libavutil version: 49.6.0
  libavcodec version: 51.49.0
  libavformat version: 52.2.0
  built on Nov 16 2008 19:26:44, gcc: 4.0.1 (Apple Inc. build 5465)
Input #0, ac3, from '129_Meat_Fuzzy.mpg':
  Duration: 03:27:53.0, bitrate: 192 kb/s
    Stream #0.0: Audio: liba52, 48000 Hz, stereo, 192 kb/s
Must supply at least one output file

Huh. You're right - it's not reporting a video stream! Apologies... I don't know how I missed that the first time. The file certainly has an audio and a video stream.


----------



## Rdian06

westside_guy said:


> Hi,
> 
> Here is the output. Ffmpeg is provided by fink (although at one point I also tried the one that's part of pyTivoX, with the same result):
> 
> 
> 
> Code:
> 
> 
> $ ffmpeg -i 129_Meat_Fuzzy.mpg
> FFmpeg version UNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
> configuration: --prefix=/sw --mandir=/sw/share/man --enable-shared --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-x11grab --enable-liba52 --enable-libamr-nb --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --disable-mmx --disable-iwmmxt --disable-altivec
> libavutil version: 49.6.0
> libavcodec version: 51.49.0
> libavformat version: 52.2.0
> built on Nov 16 2008 19:26:44, gcc: 4.0.1 (Apple Inc. build 5465)
> Input #0, ac3, from '129_Meat_Fuzzy.mpg':
> Duration: 03:27:53.0, bitrate: 192 kb/s
> Stream #0.0: Audio: liba52, 48000 Hz, stereo, 192 kb/s
> Must supply at least one output file
> 
> Huh. You're right - it's not reporting a video stream! Apologies... I don't know how I missed that the first time. The file certainly has an audio and a video stream.


That ffmpeg still has liba52 support rather than the current native AC3 decoder/encoder. Meaning your ffmpeg is pretty ancient.

If you run ffmpeg -i using the pyTivoX binary, do you get different output?


----------



## westside_guy

Rdian06 said:


> That ffmpeg still has liba52 support rather than the current native AC3 decoder/encoder. Meaning your ffmpeg is pretty ancient.
> 
> If you run ffmpeg -i using the pyTivoX binary, do you get different output?


Here's the output using pyTivoX's ffmpeg binary:



Code:


$ /Applications/Tivo/pyTivoX.app/Contents/Resources/ffmpeg -i 129_Meat_Fuzzy.mpg 
FFmpeg version SVN-r19732, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: [email protected]_path --arch=i386 --cpu=i686 --disable-static --enable-shared --enable-pthreads --enable-gpl --enable-libmp3lame --enable-libfaac --enable-nonfree --enable-libfaad --enable-libx264 --extra-cflags='-I/Users/yoav/src/lame/include -I/Users/yoav/src/faad2-2.7/include -I/Users/yoav/src/faac-1.28/include -I/Users/yoav/src/x264' --extra-ldflags='-L/Users/yoav/src/lame/libmp3lame/.libs -L/Users/yoav/src/faad2-2.7/libfaad/.libs -L/Users/yoav/src/faac-1.28/libfaac/.libs -L/Users/yoav/src/x264/'
  libavutil     50. 3. 0 / 50. 3. 0
  libavcodec    52.34. 0 / 52.34. 0
  libavformat   52.38. 0 / 52.38. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libswscale     0. 7. 1 /  0. 7. 1
  built on Aug 27 2009 10:32:06, gcc: 4.0.1 (Apple Inc. build 5484)
129_Meat_Fuzzy.mpg: Unknown format
$

I am puzzled why a video that Tivo can play successfully is giving such fits to ffmpeg (both old and new)...

Thanks to both of you for the help.


----------



## Gavroche

csell said:


> Sorry for having such a difficult time grasping this, but can you PUSH a video from the Tivo to the PC from within Tivo (as in with the remote)? Galleon does this and I'm trying to figure out if pytivo does. You might have answered that question in your last reply, but I didn't get it  So essentially when I'm on my TV / Tivo and I would like to transfer a tivo recorded video to my PC, can I do it directly from the Tivo.... I use pytivo right now for sending videos from my PC to the Tivo but I haven't figured out if you can do it the other way using Tivo... Sorry for being an idiot!


Why not just run PyTivo and Galleon? It works out great for me... with that setup you can do exactly what your talking about.


----------



## Rdian06

westside_guy said:


> Here's the output using pyTivoX's ffmpeg binary:
> 
> 
> 
> Code:
> 
> 
> $ /Applications/Tivo/pyTivoX.app/Contents/Resources/ffmpeg -i 129_Meat_Fuzzy.mpg
> FFmpeg version SVN-r19732, Copyright (c) 2000-2009 Fabrice Bellard, et al.
> configuration: [email protected]_path --arch=i386 --cpu=i686 --disable-static --enable-shared --enable-pthreads --enable-gpl --enable-libmp3lame --enable-libfaac --enable-nonfree --enable-libfaad --enable-libx264 --extra-cflags='-I/Users/yoav/src/lame/include -I/Users/yoav/src/faad2-2.7/include -I/Users/yoav/src/faac-1.28/include -I/Users/yoav/src/x264' --extra-ldflags='-L/Users/yoav/src/lame/libmp3lame/.libs -L/Users/yoav/src/faad2-2.7/libfaad/.libs -L/Users/yoav/src/faac-1.28/libfaac/.libs -L/Users/yoav/src/x264/'
> libavutil     50. 3. 0 / 50. 3. 0
> libavcodec    52.34. 0 / 52.34. 0
> libavformat   52.38. 0 / 52.38. 0
> libavdevice   52. 2. 0 / 52. 2. 0
> libswscale     0. 7. 1 /  0. 7. 1
> built on Aug 27 2009 10:32:06, gcc: 4.0.1 (Apple Inc. build 5484)
> 129_Meat_Fuzzy.mpg: Unknown format
> $
> 
> I am puzzled why a video that Tivo can play successfully is giving such fits to ffmpeg (both old and new)...
> 
> Thanks to both of you for the help.


ffmpeg tends to be a bit strict about following specs whereas some players are more forgiving. Remember that the Tivo has to be able to tolerate signal breakups on cable and and over the air MPEG2 broadcasts.

Try running your problem MPEG2s through Mpeg streamclip's timecode fix.


----------



## westside_guy

Rdian06 said:


> Try running your problem MPEG2s through Mpeg streamclip's timecode fix.


You mean do it a second time? The mpeg files were originally generated from vobs using mpeg streamclip.


----------



## Rdian06

westside_guy said:


> You mean do it a second time? The mpeg files were originally generated from vobs using mpeg streamclip.


Sorry, I missed the line in your previous post where you said you used streamclip. Not sure what else you can do beyond trying with a newer build of ffmpeg.


----------



## spolebitski

So question if I try to transfer a .mkv file it will not show up on my TiVo HD but if I simply change the extension to .avi it shows up and can be transferred. Why is this?


----------



## westside_guy

Rdian06 said:


> Sorry, I missed the line in your previous post where you said you used streamclip. Not sure what else you can do beyond trying with a newer build of ffmpeg.


I just built ffmpeg from SVN - the same problem still occurs. 

Is there a way to tell pyTivo to not do this checking of mpegs, without resorting to removing ffmpeg completely? For most of my videos ffmpeg is unnecessary; but I do have a few oddball files that do require transcoding.


----------



## Rdian06

westside_guy said:


> I just built ffmpeg from SVN - the same problem still occurs.
> 
> Is there a way to tell pyTivo to not do this checking of mpegs, without resorting to removing ffmpeg completely? For most of my videos ffmpeg is unnecessary; but I do have a few oddball files that do require transcoding.


.tivo files USED to be passed through without any processing, but this was changed a while back when it was discovered that ffmpeg could see some of the unencrypted information. However, wmcbrine has said that people have reported "problems" with some versions of ffmpeg returning bogus info on them, so he's thinking about special casing them again.


----------



## txporter

About 6-7 months ago, moyekj and I and some others had a discussion in the Streambaby thread about x264 (h.264) encoding. I was having an issue with an ugly opening screen (~8 columns of white/green color with a muted red that remains in place for ~1-2s before the video starts in) and was never able to fix it. I recently started browsing other forums again looking for a way to fix the way I encode my files to avoid it. Whether I use Handbrake or XVID4PSP to encode my files, I see the same thing. I am assuming that this is fairly standard since I see it on every file, but if not someone already has a fix...please let me know.

I saw a thread on the Handbrake forums where someone was complaining about a grey opening scene. The developers of Handbrake said it was likely due to the mp4 edit list not being supported by the player. Disabling b-frames fixed the issue. I thought it was close enough to my Tivo playback issue that I should try it. I did last night and it didn't affect the opening screen...but it did affect seeking functionality. Without b-frames, my x264 video seeks just like MPEG2 video now. The resultant video quality appears the same (to me at least). Since b-frames are normally lower bitrate frames than I or P frames, you may need to up your bitrate or just use CRF and it will auto adjust for you. At any rate, I was really surprised and excited by the improvement in seeking. I am going to continue trying to find a solution to the opening scene issue though.


----------



## waiting485

I am having issues pushing video files to my Tivo from pyTivo, I can see the list of videos and my Tivo Name but when I click on SEND TO TIVO I am getting Internet Explorer Page not found error, this started happening recently, it was working fine since last 6 months.
Any place to check logs to see what is causing this??

This is the web adress for which I am getting no page found error. 
(can't post link hence I removed http: before //localhost)
//localhost:9032/TiVoConnect?Command=Push&Container=Movies&File=%5Home+Video.mpg&tsn=MY_TIVO


----------



## ajayabb

waiting485 said:


> I am having issues pushing video files to my Tivo from pyTivo, I can see the list of videos and my Tivo Name but when I click on SEND TO TIVO I am getting Internet Explorer Page not found error, this started happening recently, it was working fine since last 6 months.
> Any place to check logs to see what is causing this??
> 
> This is the web adress for which I am getting no page found error.
> (can't post link hence I removed http: before //localhost)
> //localhost:9032/TiVoConnect?Command=Push&Container=Movies&File=%5Home+Video.mpg&tsn=MY_TIVO


Is your Tivo.com user name and password entered under the server settings?


----------



## waiting485

ajayabb said:


> Is your Tivo.com user name and password entered under the server settings?


Yes, I verified the user name and password under Server Settings and they are correct, I ran the pyTivo on Console and here is the end of log file.

Traceback (most recent call last):
File "C:\Python26\lib\SocketServer.py", line 558, in process_request_thread
self.finish_request(request, client_address)
File "C:\Python26\lib\SocketServer.py", line 320, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Program Files\pyTivo\httpserver.py", line 61, in __init__
client_address, server)
File "C:\Python26\lib\SocketServer.py", line 615, in __init__
self.handle()
File "C:\Python26\lib\BaseHTTPServer.py", line 329, in handle
self.handle_one_request()
File "C:\Python26\lib\BaseHTTPServer.py", line 323, in handle_one_request
method()
File "C:\Program Files\pyTivo\httpserver.py", line 94, in do_GET
self.handle_query(query)
File "C:\Program Files\pyTivo\httpserver.py", line 126, in handle_query
method(self, query)
File "C:\Program Files\pyTivo\plugins\video\video.py", line 320, in Push
s.connect(('tivo.com',123))
File "<string>", line 1, in connect
gaierror: [Errno 11001] getaddrinfo failed


----------



## reneg

> File "C:\Program Files\pyTivo\plugins\video\video.py", line 320, in Push
> s.connect(('tivo.com',123))
> File "<string>", line 1, in connect
> gaierror: [Errno 11001] getaddrinfo failed


Looks like you are running a fairly old version of pyTivo. Have you thought about updating to a more current version?


----------



## Rdian06

waiting485 said:


> Yes, I verified the user name and password under Server Settings and they are correct, I ran the pyTivo on Console and here is the end of log file.
> 
> Traceback (most recent call last):
> File "C:\Python26\lib\SocketServer.py", line 558, in process_request_thread
> self.finish_request(request, client_address)
> File "C:\Python26\lib\SocketServer.py", line 320, in finish_request
> self.RequestHandlerClass(request, client_address, self)
> File "C:\Program Files\pyTivo\httpserver.py", line 61, in __init__
> client_address, server)
> File "C:\Python26\lib\SocketServer.py", line 615, in __init__
> self.handle()
> File "C:\Python26\lib\BaseHTTPServer.py", line 329, in handle
> self.handle_one_request()
> File "C:\Python26\lib\BaseHTTPServer.py", line 323, in handle_one_request
> method()
> File "C:\Program Files\pyTivo\httpserver.py", line 94, in do_GET
> self.handle_query(query)
> File "C:\Program Files\pyTivo\httpserver.py", line 126, in handle_query
> method(self, query)
> File "C:\Program Files\pyTivo\plugins\video\video.py", line 320, in Push
> s.connect(('tivo.com',123))
> File "<string>", line 1, in connect
> gaierror: [Errno 11001] getaddrinfo failed


According to the error message, your pyTivo box cannot resolve tivo.com to an IP address.

I just tried to do an nslookup for tivo.com and am getting back a blank response. So it looks like Tivo did something funny to their DNS record at some point. Based on what you're saying, it was probably recent.

I just did a quick git search and it looks like prior to 2009-05-02, the pyTivo code tried to connect to tivo.com to determine your public IP address (you can't trust the machine returned one because it's likely a private one behind a NAT router). In the 2009-05-02 update, wmcbrine hardcoded it to connect to 4.2.2.1 instead.

So if you update to wmbrine's latest git code, you should be back in business.


----------



## waiting485

Thanks guys for your help, I updated the pyTivo to the latest version and now the error is gone. I am able to push the files now.


----------



## alanmcdonley

pyTivo seems to transcode every Vegas Movie Studio Platinum 9.0b default template output format I have tried.

Is there currently an output format which I can customize, (in the Vegas 9 rendering process), to prevent a Tivo pull from pyTivo from transcoding?

This is just for home videos, and I am pleased with the transcoded result enough, but understand that it is one more massage that might be avoided with the proper Vegas template.

My workflow:
Panasonic ZS3 720p 60fps (actually 30fps with duplicate frames) AVCHD "lite" SH (17Mbps) -> PhotoFunStudioHD (or copy 0000.m2t and rename to 0000.m2ts) -> Import to Vegas Movie Studio 9.0b (trial) -> organize, trim, add titles, "make movie to hard disk" (render selecting container, vcodec, acodec, and parameters)->PC<--(pyTivo)--<--TivoHD pull.

(I tried MainConcept MPEG2 HDV 720p-30p .m2t but I don't see the file in My Videos on Tivo. I tried renaming that to .m2ts so it is seen but the transfer fails - info says container mpegts not compatible, acodec:copy vcodec:copy)

Many thanks go to wmcbrine and Eugenia, and the other smart video folks paving the trail in a huge mess of HD soup (and end user goals). This is a plea for help to avoid any needless degradation of my home memories.

Alan



> J:\Videos\VegasMovieStudio\test1\Renders>"C:\Program Files\pyTivo\bin\ffmpeg" -i
> test1_m2t.m2t
> FFmpeg version SVN-r15216-rdian06-0.96-win32-x86_32, Copyright (c) 2000-2008 Fab
> rice Bellard, et al.
> configuration: --enable-memalign-hack --enable-postproc --enable-swscale --ena
> ble-gpl --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --
> enable-libvorbis --enable-libtheora --enable-libx264 --enable-libxvid --disable-
> ffserver --disable-vhook --enable-avisynth --enable-pthreads
> libavutil 49.10. 0 / 49.10. 0
> libavcodec 51.71. 0 / 51.71. 0
> libavformat 52.22. 0 / 52.22. 0
> libavdevice 52. 1. 0 / 52. 1. 0
> libswscale 0. 6. 1 / 0. 6. 1
> libpostproc 51. 2. 0 / 51. 2. 0
> built on Sep 25 2008 23:08:49, gcc: 4.2.4 [Sherpya]
> Input #0, mpegts, from 'test1_m2t.m2t':
> Duration: 00:00:38.01, start: 0.213367, bitrate: 19785 kb/s
> Program 1
> Stream #0.0[0x1000]: Video: mpeg2video, yuv420p, 1280x720 [PAR 1:1 DAR 16:9]
> , 18300 kb/s, 29.97 tb(r)
> Stream #0.1[0x1002]: Audio: mp2, 48000 Hz, stereo, s16, 384 kb/s
> Must supply at least one output file


----------



## Rdian06

alanmcdonley said:


> pyTivo seems to transcode every Vegas Movie Studio Platinum 9.0b default template output format I have tried.
> 
> Is there currently an output format which I can customize, (in the Vegas 9 rendering process), to prevent a Tivo pull from pyTivo from transcoding?
> 
> This is just for home videos, and I am pleased with the transcoded result enough, but understand that it is one more massage that might be avoided with the proper Vegas template.


The Tivo won't accept MPEG2 TS directly. They have to be converted to an MPEG2 PS (aka vob or mpg) to send to the Tivo.

Back to the basics, for a multimedia file, you need to worry about three basic things:

1) Video codec

2) Audio codec

3) Container format

Each container format specifies what audio/video codecs it's allowed to carry.

MPEG2 PS and MPEG2 TS are two related container types. Again, for Pull, the Tivo only accepts MPEG2 PS containers. The Tivo also wants you to only use mpeg2video video codec inside the container. I know it accepts ac3 for audio and I think it can take mp3 and mp2 audio as well (most of my library has ac3 audio so I don't have very much experience dealing with mp3 and mp2 audio for the pyTivo video plugin.)

Now, pyTivo runs ffmpeg to gather information about your file. If it determines that the container format is MPEG2 PS and the codecs used are the compatible ones and within the allowed bitrate ranges, then it will send the video directly without remuxing or transcoding.

If pyTivo sees that the video or audio is using a compatible codec within the allowed bitrate ranges, but that the container is not MPEG2 PS, it will remux the audio or video into a new MPEG2 PS container and stream that to the Tivo. Remuxing does NOT change the quality of the audio or video as it is essentially being passed through into the new container. However, remuxing can do funny things to the internal timestamps that say what audio frame is synced to what video frame so sometimes ffmpeg remuxing can cause problems, but in practice it works quite well.

If pyTivo sees that your video or audio is not compatible, it forces a transcode to mpeg2video for video or ac3 for audio again into the MPEG2 PS container. This transcoding can result in some degradation. And sometimes you run into files with slight corruption to their audio and video streams that will cause transcoding to produce bad results even though other PC playback software handles it just fine. That is ffmpeg is pickier about codec standards than playback software.

It sounds complicated, but most of the time it just works.


----------



## lew

made but I don't recall an answer.

How hard would it be pyTvio to use ffmpeg to gather information. If it determines the container format is MP4, correct audio format etc cancel the pull request and instead initiate a push request for the same video? The increased transfer rate for such a push, the smaller file size and elimination of transcoding should more then offset the short period of time (less then a minute?) such an action would take.



Rdian06 said:


> Now, pyTivo runs ffmpeg to gather information about your file. If it determines that the container format is MPEG2 PS and the codecs used are the compatible ones and within the allowed bitrate ranges, then it will send the video directly without remuxing or transcoding.


----------



## AbMagFab

No TTG - any ideas?

I had a working version of the March pyTivo, with TTG. I just upgraded to the current build, and everything else works, but I don't get a TTG link on the main config screen anymore.

Any ideas?

Thanks!


----------



## CrispyCritter

AbMagFab said:


> No TTG - any ideas?
> 
> I had a working version of the March pyTivo, with TTG. I just upgraded to the current build, and everything else works, but I don't get a TTG link on the main config screen anymore.


I asked exactly the same question on the pytivo forum earlier this month! (It's not obvious at all). The answer from rdian06:



> The ToGo functionality is hidden until you add tivo_mak with your Tivo MAK and togo_path with the path to store togo downloads to the Server section of your conf.
> 
> Likewise, if you want to use the Push capability you need to add your tivo_username and tivo_password with your Tivo.com account info into the Server section of your conf.


----------



## Rdian06

lew said:


> made but I don't recall an answer.
> 
> How hard would it be pyTvio to use ffmpeg to gather information. If it determines the container format is MP4, correct audio format etc cancel the pull request and instead initiate a push request for the same video? The increased transfer rate for such a push, the smaller file size and elimination of transcoding should more then offset the short period of time (less then a minute?) such an action would take.


You'll have to wait for wmcbrine to answer this. I seem to recall he wasn't keen on the idea, but that might just be my fuzzy memory.


----------



## AbMagFab

CrispyCritter said:


> I asked exactly the same question on the pytivo forum earlier this month! (It's not obvious at all). The answer from rdian06:


Thanks... I eventually figured that out! It's different than the previous 3/09 build, so it took a little bit to find it.

Couple more questions:

1) Any chance of pyTivo maintaining recording date when it's a .Tivo file? Really annoying to push a bunch of files, especially in a series, and have no idea as to the order once pushed (since they all have the date pushed, not the date recorded).

2) Any chance of supporting folder-push, and maintaining the folder name once on the Tivo? Apparently this is possible now, but only with a bunch of manual work. It would seem to be a small step to allow a checkbox on the folder in pyTivo, right?

Thanks!


----------



## Rdian06

AbMagFab said:


> 1) Any chance of pyTivo maintaining recording date when it's a .Tivo file? Really annoying to push a bunch of files, especially in a series, and have no idea as to the order once pushed (since they all have the date pushed, not the date recorded).
> 
> 2) Any chance of supporting folder-push, and maintaining the folder name once on the Tivo? Apparently this is possible now, but only with a bunch of manual work. It would seem to be a small step to allow a checkbox on the folder in pyTivo, right?
> 
> Thanks!


1) The date cannot be controlled for a Push as far as we know. wmcbrine has tried to populate the field with various times and the Tivo doesn't seem to use them. So we're stuck.

2) Outside of my knowledge.


----------



## lew

Rdian06 said:


> You'll have to wait for wmcbrine to answer this. I seem to recall he wasn't keen on the idea, but that might just be my fuzzy memory.


The idea sounds easy, but I have no idea how hard it would be to implement.

I don't know if the issue is how much work it would take to include or if wmcbrine doesn't think enough people would use the feature to be worth even a small amount of effort.

I'll state the obvious. MP4 files are generally smaller and can be pushed at a much faster speed.

Alternately pulling a MP4 file requires transcoding and is much slower.

It might be worth the time to convert files to MP4 if we're going to push them but less so if we're going to pull them.


----------



## AbMagFab

Rdian06 said:


> 1) The date cannot be controlled for a Push as far as we know. wmcbrine has tried to populate the field with various times and the Tivo doesn't seem to use them. So we're stuck.
> 
> 2) Outside of my knowledge.


Really? For Tivo Desktop, both things work, and they all use the same protocol, don't they?


----------



## MaxWin100

Where did you download the latest version? I can't find an installer anywhere, and I don't know how to use the raw code.


----------



## AbMagFab

MaxWin100 said:


> Where did you download the latest version? I can't find an installer anywhere, and I don't know how to use the raw code.


You have to install the 3/09 version, then copy the current GIT version on top of it, then copy the newest ffmpeg into bin, then copy the newest tivodecode.exe into bin. Then you need to move the conf file into the program directory until that gets fixed.

Then do some config changes to point to ffmpeg and tivodecode, and add your MAK back in, and tivo_user/password if you want to push.


----------



## Rdian06

AbMagFab said:


> Really? For Tivo Desktop, both things work, and they all use the same protocol, don't they?


Yes, it's the same protocol. Reverse engineered by sniffing what Tivo Desktop Plus does.

However, I'm not the one who did the reverse engineering and I'm just repeating what wmcbrine has said regarding not being able to control the date for Push. See:

http://pytivo.sourceforge.net/forum/metadata-changes-since-2009-03-19-rc1-t1093.html

If it does indeed work in TD 2.8, then it's something to look into, but I'm not the one qualified to do it.


----------



## orangeboy

AbMagFab said:


> ...
> 1) Any chance of pyTivo maintaining recording date when it's a .Tivo file? Really annoying to push a bunch of files, especially in a series, and have no idea as to the order once pushed (since they all have the date pushed, not the date recorded).


Is it date pushed, or file created/modified date? I found this utility: NirCmd that can alter the date fields of a file. If you are willing to download that utility, I wrote a Windows batch file to pull the dates out of the filename (based on your example from another thread: The Shield - ''Petty Cash'' (Recorded Nov 11, 2008, FXHD).TiVo), and update the file's create and modified date:



Code:


@Echo off
SetLocal EnableDelayedExpansion
echo Enter the path to the .tivo files in this format: C:\tivo
Set /P filepath=File path: 
For /f "Delims=" %%A In ('dir /b /s "%filepath%\*.tivo"') Do (
   For /f "Tokens=1-3 Delims=()" %%B In ("%%A") Do (
      For /f "Tokens=2-4 Delims=, " %%E In ("%%C") Do (
         Set month=%%E
         Set day=%%F
         Set year=%%G
         Call :set_dates
         echo File date changed from %%~tA to !month!/!day!/!year! 12:00 AM
         NirCmdc.exe setfiletime "%%~fA" "!day!-!month!-!year!" "!day!-!month!-!year!" 
      )
   )
)
Exit /B

:set_dates
Set month=!month:Jan=01!
Set month=!month:Feb=02!
Set month=!month:Mar=03!
Set month=!month:Apr=04!
Set month=!month:May=05!
Set month=!month:Jun=06!
Set month=!month:Jul=07!
Set month=!month:Aug=08!
Set month=!month:Sep=09!
Set month=!month:Oct=10!
Set month=!month:Nov=11!
Set month=!month:Dec=12!
Set day=0!day!
Set day=!day:~-2!
Goto :EOF

I really don't know if file create or modified date has anything to do with it, but it seems I read it in another thread that it did. I don't have any small tivo files to test pushing and resulting order, but I have run this batch to successfully change the dates.


----------



## Spenner

That doesn't work. I had tried changing the file Created, Modified, and Last Accessed dates with a similar utility, and when pushed they showed on Tivo as the date of the push.


----------



## orangeboy

Spenner said:


> That doesn't work. I had tried changing the file Created, Modified, and Last Accessed dates with a similar utility, and when pushed they showed on Tivo as the date of the push.


As I guess you said earlier: http://tivocommunity.com/tivo-vb/showthread.php?p=7627017#post7627017.


----------



## wmcbrine

Rdian06 said:


> You'll have to wait for wmcbrine to answer this. I seem to recall he wasn't keen on the idea


Indeed I'm not. But, if what he's looking for is pushes initiated from the TiVo side, I believe that Streambaby has that functionality.


----------



## lew

wmcbrine said:


> Indeed I'm not. But, if what he's looking for is pushes initiated from the TiVo side, I believe that Streambaby has that functionality.


*You get to decide what new features are worth the time it takes implement. I have no idea how much effort it would take to push from the tivo side.* The fact that is sounds easy to me doesn't really mean anything.

There are significant advantages to pushing a MP4 file. If the viewer knows the program is "pushable" he can either push it from the PC or even use Streambaby (although I prefer to transfer the program). There is an advantage in converting a pull request to a push. The viewer doesn't have to know if the program is a format that should be pushed. PyTivo would automatically make the decision. That makes sense if a number of programs are being stored on a PC and will be viewed by multiple family members on multiple tivos. The family member requesting the program won't necessarily know which programs to request from "My Videos" and which programs should be viewed with Streambaby and/or pushed from a PC. Plus it's easier to just select the programs you want to view from the My Videos section of the NPL.

I don't think I need the feature enough to take the time to learn Python.

edited to add--I don't know how many PyTivo users are transcoding their videos into a pushable MP4 format. This may be a feature that would benefit releatively few users.


----------



## wmcbrine

It's not a question of time; it's just the wrong way to do things. The family member who doesn't know what format the file is in isn't going to pleased when they try to start a transfer and get an error message, only to have the program mysteriously start appearing in the NPL a few minutes later. You'd also remove the ability to actually pull any files that are pushable, which is sometimes needed. pyTivo and the TiVo box don't always agree on what's pushable, so pull needs to be available as a fallback. Plus there's the startup delay when pushing, which in some cases may be more important than total transfer time.


----------



## lew

wmcbrine said:


> It's not a question of time; it's just the wrong way to do things. The family member who doesn't know what format the file is in isn't going to pleased when they try to start a transfer and get an error message, only to have the program mysteriously start appearing in the NPL a few minutes later. You'd also remove the ability to actually pull any files that are pushable, which is sometimes needed. pyTivo and the TiVo box don't always agree on what's pushable, so pull needs to be available as a fallback. Plus there's the startup delay when pushing, which in some cases may be more important than total transfer time.


This could be a feature which, by default, would not be enabled. Posters who want a faster startup time would not enable this feature.

JMO but I think it wrong to pull a file that can be pushed. The MP4 file will (almost always) take less space on the tivo and will transfer faster.

*You've done a good job explaining your point. It doesn't make sense for you to implement a feature you think is wrong*. I'll stop suggesting this feature.

Of course my suggestion assumes pyTivo can reliably determine if a file is pushable. Probably applicable to users who use the same paramenters in transcoding a number of videos.


----------



## audiodane

AbMagFab said:


> 2) Any chance of supporting folder-push, and maintaining the folder name once on the Tivo? Apparently this is possible now, but only with a bunch of manual work. It would seem to be a small step to allow a checkbox on the folder in pyTivo, right?


It's really not that hard at all. Not a lot of manual work, either. Just pick some arbitrary seriesId value (such as "MyKidsMovies" or just about anything using A-Z and 0-9. I don't know if spaces or hyphens are allowed, but there are plenty of choices without such characters since it's never really a "seen" value. You could name it "11111111" if you wanted and it would work the same. It just has to be unique.), and put that in the metadata file along with the other information. Add isEpisode:true, also. Use seriesTitle: to set the folder name, and episodeTitle: to set the name of the individual episode.

You don't really need to do any dummy file pushing. It won't create a folder until there are at least two items with the same seriesId value, BTW, so make sure you push at least two.

Quick summary: (add to metadata file)
seriesId: <somevalue>
seriesTitle: <name of folder on Tivo>
isEpisode: true
episodeTitle: <name of file being pushed>

- also note that you don't need to use quotation marks. If you do, they'll show up as a part of the title itself. 

Limitations: pushing doesn't yet support recordedOn date pushing, and I think a number of other tags aren't transferred w/ push.. As a result, I have moved to PULL transfers.

Note: PULL'ing does not support arbitrary folders, however it does support grouping into folders based on program guide data. Go to "wishlist search" and pick a keyword and find any matches that may suite your needs. "Home Movies", "KidSpace", and "At the Movies" are three folders currently in our program guide data that we're now using for our own PULL'd content. I found those three folders by doing wishlist searches using keywords "movie" and "kid" and going through all the upcoming episodes of matches found. You can probably find the seriesId of any show online, or you can just record one episode and use the extractIds.py script to pull off the list of seriesId's currently in your NPL. (Also note that it seems you cannot PULL into a PUSH-created arbitrary folder. Another note is that you really don't need to set the seriesTitle of PULL'd content when using existing seriesId values, since the Tivo already has it in its guide data..)



lew said:


> *You get to decide what new features are worth the time it takes implement. I have no idea how much effort it would take to push from the tivo side.* The fact that is sounds easy to me doesn't really mean anything.


I agree (and no offense to william) that it can be frustrating to request a feature that someone could really find useful to have william nix the idea outright. However, he's done so much wonderful work to bring us his own fork of pyTivo that it's understandable for he to be able to decide such things!  After all, all the hard work he's done is completely open-source and can be looked at and modified by anybody else.

This approach (modifying an existing fork) is the one that I've taken to include a feature that I wanted added that william nix'd -- I've grabbed TheBayer's dvdvideo plugin and modified it to add my own timestamp "workaround." It took about a day to learn python JUST enough to get my modification done, but it's a minimal modification and gets the job done very well..

I'm currently trying to get dynamic range compression working but am having very little success there..  I'm also learning the differences between Parental Controls and KidZone so that I can have a properly made plan before I start pulling all my content over to the Tivo..

Cheers and Kudos to wmcbrine and rdian06 and so many others who have made pyTivo even possible at all!

..dane


----------



## PaulS

Agreed, it's really simple once you know how things work.
I did precisely this kind of thing to get my kids' movies all in one folder on the TiVo.

Summary :
1. All the kids' movies are in a single folder on my PC's filesystem.
2. In that folder is a file named default.txt. It's contents :


Code:


seriesId : KidMovies

3. For each movie in that folder, there is a very simple accompanying metadata file in the same folder. For example, for the video Movie.mpg, there would be a metadata file named Movie.mpg.txt. It's contents :


Code:


title : Movie

That's really all you need to do to create a custom folder using push. You can add more metadata as you'd like (title, description, actors, etc), but to do the grouping creation, this is really all you need.


----------



## orangeboy

Is there a definitive list or table of metadata fields that are supported by push and pull? I see a list of 24 keywords on the pyTivo Wiki, but only a passing reference to "push":



> Only a subset of metadata keywords are used in "Push" mode.


----------



## reneg

audiodane said:


> I agree (and no offense to william) that it can be frustrating to request a feature that someone could really find useful to have william nix the idea outright.


I side with wmcbrine. Pytivo developers can't change the Tivo side of pull, and erroring out on a pull is a kludge. Plus, when a program is pushed, it gets transfer prohibited.



> Is there a definitive list or table of metadata fields that are supported by push and pull? I see a list of 24 keywords on the pyTivo Wiki, but only a passing reference to "push":


Nothing is published by Tivo as to what is supported under push. If you look at the fields displayed in Web Videos on your Tivo, that will give you a pretty good idea of which metadata fields can be supported.

If you can network sniff and decode a SSL connection, perhaps more could be determined. I know that I'd love to be able to figure out how to extract the NPL and ToDo lists from my Tivo. I know they are sent back to the Tivo mothership for their web interface.


----------



## wmcbrine

orangeboy said:


> Is there a definitive list or table of metadata fields that are supported by push and pull?


Here's what we have so far for push:

title/seriesTitle
episodeTitle
description

Impressive list, isn't it?  I'm fairly sure that at least some others are possible, but this is all we know how to do right now. There's also grouping based on seriesId, but that doesn't actually _use_ the seriesId in the way pull does. And there's also an attempt to set the date, but I recently found that this is apparently not doing anything.

Amazon Unbox movies have ratings and star ratings, right? Or don't they? It's been a while since I looked at one... If they do, then in principle we can too.


----------



## AbMagFab

PaulS said:


> Agreed, it's really simple once you know how things work.
> I did precisely this kind of thing to get my kids' movies all in one folder on the TiVo.
> That's really all you need to do to create a custom folder using push. You can add more metadata as you'd like (title, description, actors, etc), but to do the grouping creation, this is really all you need.


Okay, so how do you create a metadata file? The original post on this topic mentions a tool is needed, implying this isn't just a simple text file. And there's no link. The only tool that comes close to what is mentioned is Mac-only.

Am I missing something here? I get the steps are easy once you have a metadata file, but how do you create one to begin with? And where do you put it?


----------



## lew

AbMagFab said:


> Okay, so how do you create a metadata file? The original post on this topic mentions a tool is needed, implying this isn't just a simple text file. And there's no link. The only tool that comes close to what is mentioned is Mac-only.
> 
> Am I missing something here? I get the steps are easy once you have a metadata file, but how do you create one to begin with? And where do you put it?


http://pytivo.sourceforge.net/forum/other-apps-f5.html


----------



## reneg

AbMagFab said:


> Okay, so how do you create a metadata file? The original post on this topic mentions a tool is needed, implying this isn't just a simple text file. And there's no link. The only tool that comes close to what is mentioned is Mac-only.
> 
> Am I missing something here? I get the steps are easy once you have a metadata file, but how do you create one to begin with? And where do you put it?


A metadata file is a text file.


----------



## PaulS

AbMagFab said:


> Okay, so how do you create a metadata file? The original post on this topic mentions a tool is needed, implying this isn't just a simple text file. And there's no link. The only tool that comes close to what is mentioned is Mac-only.
> 
> Am I missing something here? I get the steps are easy once you have a metadata file, but how do you create one to begin with? And where do you put it?


It's a simple text file. You can use just about anything to create/edit it.


----------



## wmcbrine

Valid locations:

dirname/filename.mpg
dirname/filename.mpg.txt

dirname/filename.mpg
dirname/.meta/filename.mpg.txt

Also -- these apply to all files in the directory:

dirname/filename.mpg
dirname/default.txt

dirname/filename.mpg
dirname/.meta/default.txt

I hope that's clear. And yes, it's a simple text file. Personally I've never used any of the generator tools.

P.S. I know this is a long thread, but the creation of the metadata text files was hashed out right here, starting around post 963, taking its present form in post 989. I don't know what you're talking about when you say "The original post on this topic mentions a tool is needed".


----------



## AbMagFab

wmcbrine said:


> Valid locations:
> 
> dirname/filename.mpg
> dirname/filename.mpg.txt
> 
> dirname/filename.mpg
> dirname/.meta/filename.mpg.txt
> 
> Also -- these apply to all files in the directory:
> 
> dirname/filename.mpg
> dirname/default.txt
> 
> dirname/filename.mpg
> dirname/.meta/default.txt
> 
> I hope that's clear. And yes, it's a simple text file. Personally I've never used any of the generator tools.
> 
> P.S. I know this is a long thread, but the creation of the metadata text files was hashed out right here, starting around post 963, taking its present form in post 989. I don't know what you're talking about when you say "The original post on this topic mentions a tool is needed".


Thanks.

And it was this post in this other (similar) thread that mentions needing a tool called "metagenerator":
http://tivocommunity.com/tivo-vb/showthread.php?p=7555181#post7555181


----------



## Rdian06

AbMagFab said:


> Thanks.
> 
> And it was this post in this other (similar) thread that mentions needing a tool called "metagenerator":
> http://tivocommunity.com/tivo-vb/showthread.php?p=7555181#post7555181


That happens to be that person's opinion of what is "needed".

The definitive source is:

http://pytivo.sourceforge.net/wiki/index.php/Metadata


----------



## dm_

Dumb question - does anyone know if push works for Australian tivo users? I've tried setting tivo_username and tivo_password to the email address and password I use on mytivo.com.au, but I get the following message when I try and push:

DEBUGyTivo.video.videoushing http://192.168.0.2:9032/Video/temp/All_Of_The_Dreamers.mp4
DEBUGyTivo.mind:__login
{'cams_security_domain': 'tivocom', 'cams_login_config': 'http', 'cams_cb_password': 'mypassword', 'cams_original_url': '/m
ind/mind7?type=infoGet', 'cams_cb_username': '[email protected]'}
DEBUGyTivo.mindcBodySearch
{}

<error>


Code:


badCookie

<debug>1</debug><text>Cookie cannot be authenticated; try login again</text></error>g
DEBUGyTivo.mindcBodyStore
{'replaceExisting': 'true', 'name': 'pyTivo'}

<error>


Code:


badCookie

<debug>1</debug><text>Cookie cannot be authenticated; try login again</text></error>g
DEBUGyTivo.mindcBodySearch
{}

<error>


Code:


badCookie

<debug>1</debug><text>Cookie cannot be authenticated; try login again</text></error>g
INFOyTivo:127.0.0.1 [01/Dec/2009 23:39:19] "POST /TiVoConnect HTTP/1.1" 500 -
ERRORyTivo:Exception during request from ('127.0.0.1', 49036)
Traceback (most recent call last):
File "/usr/lib/python2.5/SocketServer.py", line 464, in process_request_thread
self.finish_request(request, client_address)
File "/usr/lib/python2.5/SocketServer.py", line 254, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/scratch/davidm/tivostuff/wmcbrine/httpserver.py", line 56, in __init__
client_address, server)
File "/usr/lib/python2.5/SocketServer.py", line 522, in __init__
self.handle()
File "/usr/lib/python2.5/BaseHTTPServer.py", line 316, in handle
self.handle_one_request()
File "/usr/lib/python2.5/BaseHTTPServer.py", line 310, in handle_one_request
method()
File "/scratch/davidm/tivostuff/wmcbrine/httpserver.py", line 110, in do_POST
self.handle_query(query, tsn)
File "/scratch/davidm/tivostuff/wmcbrine/httpserver.py", line 132, in handle_query
method(self, query)
File "/scratch/davidm/tivostuff/wmcbrine/plugins/video/video.py", line 383, in Push
mime = mime)
File "/scratch/davidm/tivostuff/wmcbrine/mind.py", line 48, in pushVideo
pc_body_id = self.__pcBodySearch()[0]
IndexError: list index out of range

I'm happy to do traffic sniffing if that is what it takes to figure out what the code _should_ be doing


----------



## wmcbrine

Push works for Australian users, last I heard, but you have to set tivo_mind to symind.tivo.com:8181 in pyTivo.conf.


----------



## dm_

Cheers! that seems to have worked. Is that documented somewhere? (I did make some attempt to search for it first before spamming the thread...)


----------



## wmcbrine

It's documented in the help for tivo_mind, but admittedly, you'd have to think to look there first. I'll see about improving that.


----------



## jkates

I am attempting to push MP4 files to a TivoHD without transcoding.

This is how I created the MP4 file.
./HandBrakeCLI -v -i /dev/sr1 -L -o The_Bourne_Ultimatum.mp4 -e x264 -f mp4 -w 480 -Y 320 -b 1500 -2 -9 -T -x

I have also tested this method:
./HandBrakeCLI -i /dev/sr0 -f mp4 -e x264 -a 1 -E ac3 -x ref=3:mixed-refs=1:bframes=3:b-pyramid=1:weightb=1:analyse=all:8x8dct=1:me=umh:subq=9sy-rd=1,0.2:direct=auto:keyint=24:min-keyint=2:no-fast-pskip=1:no-dct-decimate=1 -v -o The_Bourne_Ultimatum.mp4

This is the output from pytivo (with the tsn updated).

subq=6:frameref=6:me=umh:threads=auto:bframes=3:weight-b:qcomp=0.8artitions=all:b-pyramid:mixed-refs:trellis=1:no-fast-pskip:nr=100 -E aac+ac3 -B 160 -R 48 -m

<pcBodyList><isBottom>true</isBottom><isTop>true</isTop><pcBody><bucketNumber>400</bucketNumber><levelOfDetail>low</levelOfDetail><name>pyTivo</name><pcBodyId>tivoc.1000949441</pcBodyId><type>pcBody</type></pcBody></pcBodyList>g
DEBUG:cookielib:add_cookie_header
DEBUG:cookielib:Checking .mind.tivo.com for cookies to return
DEBUG:cookielib:- checking cookie path=/
DEBUG:cookielib: - checking cookie CAMS_SID_session=xgqv0AaQSbiKUxcCj8q92aOQ0XRX46y7rrCulFuRvlsIEl4f6y3SLKCWv1ntk3xgyjPHu8vFtR8122OD90NaS.UxdgdBjYYJit4i6YdW2CSMdMfugMsLsEULuvRkyhFmrbRVr4S7tKsY1a0wzTxDxg--
DEBUG:cookielib: it's a match
DEBUG:cookielib:extract_cookies: Date: Wed, 02 Dec 2009 04:47:18 GMT
Content-Type: text/xml
Content-Length: 140
Connection: close

DEBUGyTivo.mind:bodyOfferModify&bodyId=tsn:652XXXXXXXXXXXX
{'description': '', 'title': 'The_Bourne_Ultimatum', 'url': 'http://24.60.146.19:9032/DVDs/Espionage_Thrillers/The_Bourne_Ultimatum.mp4?Format=video/mp4', 'pcBodyId': 'tivoc.1000949441', 'bodyId': 'tsn:652XXXXXXXXXXXX', 'publishDate': '2009-12-02 04:4717', 'source': 'The_Bourne_Ultimatum', 'state': 'complete', 'partnerId': 'tivot.3187', 'duration': 6919, 'encodingType': 'avcL41MP4', 'size': 1494982183}

<error>


Code:


badArgument

<text>unsupported encodingType for this body: avcL41MP4</text></error>g
INFOyTivo:192.168.78.101 [01/Dec/2009 23:47:18] "POST /TiVoConnect HTTP/1.1" 500 -
ERRORyTivo:Exception during request from ('192.168.78.101', 43213)
Traceback (most recent call last):
File "/usr/lib/python2.4/SocketServer.py", line 463, in process_request_thread
self.finish_request(request, client_address)
File "/usr/lib/python2.4/SocketServer.py", line 254, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/export/local/pyTivo/httpserver.py", line 56, in __init__
client_address, server)
File "/usr/lib/python2.4/SocketServer.py", line 521, in __init__
self.handle()
File "/usr/lib/python2.4/BaseHTTPServer.py", line 316, in handle
self.handle_one_request()
File "/usr/lib/python2.4/BaseHTTPServer.py", line 310, in handle_one_request
method()
File "/export/local/pyTivo/httpserver.py", line 110, in do_POST
self.handle_query(query, tsn)
File "/export/local/pyTivo/httpserver.py", line 132, in handle_query
method(self, query)
File "/export/local/pyTivo/plugins/video/video.py", line 383, in Push
mime = mime)
File "/export/local/pyTivo/mind.py", line 78, in pushVideo
offer_id, content_id = self.__bodyOfferModify(data)
File "/export/local/pyTivo/mind.py", line 194, in __bodyOfferModify
 content_id = offer_id.replace('of','ct')
AttributeError: 'NoneType' object has no attribute 'replace'

I am running this version of pyTivo http://repo.or.cz/w/pyTivo/wmcbrine.git/commit/4d3a425217db54e22d65692e881b303dd996f249

Thanks -Jason​


----------



## wmcbrine

jkates said:


> unsupported encodingType for this body: avcL41MP4


Weird. I haven't seen that before.

Note that the actual file is kind of irrelevant here, since it's mind.tivo.com complaining, before the TiVo ever sees the file. In fact it seems to be saying that it won't do native MP4 transfers at all! Unless "this body" means that for some _other_ body, it would be OK... but I don't see anything distinctive about it.

It's working for me. (For the heck of it, I even tried it with a file named "The_Bourne_Ultimatum.mp4", although not the actual movie.) How about other files? Other types?


----------



## wgoosey

Folks, 

I don't claim to be smart enough to understand this whole thread but I have a question I've posted elsewhere on the forum without response yet (sorry I'm too impatient to wait without double posting). 

Simply, it is possible to use a series 2 tivo as a simple player of content from a mac with pytivoX when it is not subscribed? I'm about to upgrade to a HD version and will have my old series 2 laying around. Is it possbile to just make it a DivX player? I somehow doubt it but I have to ask before I do something else with it.... 

thanks...


----------



## jcthorne

NO. An unsubscribed Tivo has no network media capabilities.


----------



## Rdian06

wmcbrine said:


> It's documented in the help for tivo_mind, but admittedly, you'd have to think to look there first. I'll see about improving that.


I seem to recall that you once said you were going to detect the Australian TSN prefix and automatically choose the right mind server?


----------



## wmcbrine

I did say that, didn't I? Hmm... yeah, looking into it again now, I'm starting to remember why I didn't do that. I think it could work for regular pushes (aside from beta users, who'd still have to manually change to stagingmind), but I'm not sure about the webvideo plugin. But maybe that doesn't matter -- does that work down under anyway?


----------



## txporter

jkates said:


> I am attempting to push MP4 files to a TivoHD without transcoding.
> 
> This is how I created the MP4 file.
> ./HandBrakeCLI -v -i /dev/sr1 -L -o The_Bourne_Ultimatum.mp4 -e x264 -f mp4 -w 480 -Y 320 -b 1500 -2 -9 -T -x
> 
> I have also tested this method:
> ./HandBrakeCLI -i /dev/sr0 -f mp4 -e x264 -a 1 -E ac3 -x ref=3:mixed-refs=1:bframes=3:b-pyramid=1:weightb=1:analyse=all:8x8dct=1:me=umh:subq=9sy-rd=1,0.2:direct=auto:keyint=24:min-keyint=2:no-fast-pskip=1:no-dct-decimate=1 -v -o The_Bourne_Ultimatum.mp4
> --snip--


Is this with the newest version of Handbrake (0.9.4) or the old one (0.9.3)? The newest version has an updated build of x264 that now supports weightp. I haven't pushed any video to TivoHD using that compression algorithm, but I do know that is causing problems with some other devices (apple tv and maybe wdtv). You can force it off using weightp=0 in your command line.


----------



## Eddief66

I have a problem with transferring a dual-audio .mkv file from my pc to my tivo. The default audio track is japanese so when I transfer it I get the japanese audio. Is there any way to get pytivo to select the audio track it transfers? Or is demuxing/remuxing my only option?


----------



## Spenner

Eddief66 said:


> I have a problem with transferring a dual-audio .mkv file from my pc to my tivo. The default audio track is japanese so when I transfer it I get the japanese audio. Is there any way to get pytivo to select the audio track it transfers? Or is demuxing/remuxing my only option?


Yes, in your pyTivo configuration, HD Tivo Settings, set audio_lang to en, and it'll always use the en (english) track if there is one.


----------



## Eddief66

Spenner said:


> Yes, in your pyTivo configuration, HD Tivo Settings, set audio_lang to en, and it'll always use the en (english) track if there is one.


Thank you for your quick response. I forgot to say that I have a series2 so I set the lang. to eng in the SD settings and it worked.


----------



## wmcbrine

OK, I have Australian TSNs (663 -- are there others?) defaulting to symind for regular pushes (but not the webvideo plugin) now. You can still override this with the tivo_mind setting. Not actually tested in Australia.


----------



## jkates

wmcbrine said:


> Weird. I haven't seen that before.
> 
> Note that the actual file is kind of irrelevant here, since it's mind.tivo.com complaining, before the TiVo ever sees the file. In fact it seems to be saying that it won't do native MP4 transfers at all! Unless "this body" means that for some _other_ body, it would be OK... but I don't see anything distinctive about it.
> 
> It's working for me. (For the heck of it, I even tried it with a file named "The_Bourne_Ultimatum.mp4", although not the actual movie.) How about other files? Other types?


I think that I have made some progress. The TiVo seems be be behaving better not that it has it's cable care paired and I can now see live TV.

The push to the Tivo is still not work, I now have different items in the log but the same net results. The Tivo can still pull files but i still can't push files to the tivo.

DEBUGyTivo.video.transcode:CACHE HIT! /tmp/Indiana_Jones_and_The_Last_Crusade.mp4
DEBUGyTivo.video.transcode:CACHE HIT! /tmp/Indiana_Jones_and_The_Last_Crusade.mp4
DEBUGyTivo.video.transcode:CACHE HIT! /tmp/Indiana_Jones_and_The_Last_Crusade.mp4
DEBUGyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, /tmp/Indiana_Jones_and_The_Last_Crusade.mp4
DEBUGyTivo.video.transcode:CACHE HIT! /tmp/Indiana_Jones_and_The_Last_Crusade.mp4
DEBUGyTivo.video.transcode:CACHE HIT! /tmp/Indiana_Jones_and_The_Last_Crusade.mp4
DEBUGyTivo.video.transcode:CACHE HIT! /tmp/Indiana_Jones_and_The_Last_Crusade.mp4
DEBUGyTivo.video.transcode:CACHE HIT! /tmp/Indiana_Jones_and_The_Last_Crusade.mp4
DEBUGyTivo.video.transcode:tsn: 
DEBUGyTivo.video.transcode:aspect169: True
DEBUGyTivo.video.transcodeptres: False
DEBUGyTivo.video.transcode:File=/tmp/Indiana_Jones_and_The_Last_Crusade.mp4 vCodec=h264 vWidth=480 vHeight=208 vFps=90k.00 millisecs=7613180 TIVO_HEIGHT=480 TIVO_WIDTH=544
DEBUGyTivo.video.transcode:rheight=13 rwidth=30
DEBUGyTivo.video.transcodear2=1.000 ratio=230.769 mult4by3=1.176
DEBUGyTivo.video.transcode:16:9 aspect allowed, file is wider than 16:9 padding top and bottom
-aspect 16:9 -s 544x368 -padtop 56 -padbottom 56
DEBUGyTivo.video.transcode:CACHE HIT! /tmp/Indiana_Jones_and_The_Last_Crusade.mp4
DEBUGyTivo.video.transcode:CACHE HIT! /tmp/Indiana_Jones_and_The_Last_Crusade.mp4
DEBUGyTivo.video.transcode:CACHE HIT! /tmp/Indiana_Jones_and_The_Last_Crusade.mp4
DEBUGyTivo.video.transcode:CACHE HIT! /tmp/Indiana_Jones_and_The_Last_Crusade.mp4
DEBUGyTivo.video.transcode:CACHE HIT! /tmp/Indiana_Jones_and_The_Last_Crusade.mp4
DEBUGyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, /tmp/Indiana_Jones_and_The_Last_Crusade.mp4
DEBUGyTivo.video.transcode:CACHE HIT! /tmp/Indiana_Jones_and_The_Last_Crusade.mp4
DEBUGyTivo.video.transcode:CACHE HIT! /tmp/Indiana_Jones_and_The_Last_Crusade.mp4
INFOyTivo:192.168.78.101 [07/Dec/2009 01:26:31] "GET /TiVoConnect?Command=QueryContainer&Container=DVDs/AAA_UNSORTED HTTP/1.1" 200 -
INFOyTivo:192.168.78.101 [07/Dec/2009 01:26:31] "GET /TiVoConnect?Command=XSL&Container=DVDs/AAA_UNSORTED HTTP/1.1" 200 -
DEBUGyTivo.video.transcode:CACHE HIT! /tmp/Indiana_Jones_and_The_Last_Crusade.mp4
DEBUGyTivo.video.transcode:TRANSCODE=NO, all compatible, /tmp/Indiana_Jones_and_The_Last_Crusade.mp4
INFOyTivo:192.168.78.226 [07/Dec/2009 01:26:55] "GET /DVDs/AAA_UNSORTED/Indiana_Jones_and_The_Last_Crusade.mp4?Format=video%2Fmp4 HTTP/1.1" 206 -
DEBUGyTivo.video.video:/tmp/Indiana_Jones_and_The_Last_Crusade.mp4 is tivo compatible
INFOyTivo.video.video:'module' object has no attribute 'SEEK_CUR'
DEBUGyTivo.video.video:Finished outputing video

This is how I encoded the video. 
HandBrakeCLI -v -i /dev/sr1 -L -o Indiana_Jones_and_The_Last_Crusade.mp4 -e x264 -f mp4 -w 480 -Y 320 -b 1500 -2 -9 -T -x subq=6:frameref=6:me=umh:threads=auto:bframes=3:weight-b:qcomp=0.8artitions=all:b-pyramid:mixed-refs:trellis=1:no-fast-pskip:nr=100 -E aac+ac3 -B 160 -R 48 -m

Any pointers would be appreciated.

Thanks -Jason​


----------



## jkates

txporter said:


> Is this with the newest version of Handbrake (0.9.4) or the old one (0.9.3)? The newest version has an updated build of x264 that now supports weightp. I haven't pushed any video to TivoHD using that compression algorithm, but I do know that is causing problems with some other devices (apple tv and maybe wdtv). You can force it off using weightp=0 in your command line.


Sorry that I am just seeing your Post. I built this from SVN about a month ago a bit before 0.9.4 was released.

I will download 0.9.4 and give it a test!
Thanks -Jason​


----------



## jcthorne

Your command line use of handbrake appears to have a few things Tivo will not like or may not like.

The resolution is an odd frame size, recommend using a full frame resolution, 640x480, 720x480, 1280x720 etc.

Next, it appears that you are not making the file a streamable mp4 including the moov atom at the begining, I could be missing that in your command line but dont see it.

The audio appears to be using both aac and ac3. You need to use one or the other. aac stereo 2 track only, ac3 can be 5.1.. Handbrake does not encode ac3 audio, one of its biggest shortcommings for use with Tivo and why I do not use it. 

Just some things to look into. A properly encoded mp4 does push fine but I do not think you are going to get there with handbrake.


----------



## wmcbrine

jkates said:


> INFOyTivo.video.video:'module' object has no attribute 'SEEK_CUR'


WTF? What version of Python are you using?



jcthorne said:


> Next, it appears that you are not making the file a streamable mp4 including the moov atom at the begining, I could be missing that in your command line but dont see it.


pyTivo will handle that... actually, it was pyTivo's attempt to handle it that failed in this case (very different from jkates' previous error), which is... odd.


----------



## jkates

wmcbrine said:


> WTF? What version of Python are you using?
> 
> pyTivo will handle that... actually, it was pyTivo's attempt to handle it that failed in this case (very different from jkates' previous error), which is... odd.


I think that the Tivo might have been in a bit of an odd state as it was waiting for a comcast visit to pair the cable card. A few of the menus wouldn't work until the cable card was happy.

This is the python version that's installed on the server:
rpm -q --info -f /usr/bin/python
Name : python Relocations: (not relocatable)
Version : 2.4.3 Vendor: CentOS
Release : 27.el5 Build Date: Thu 03 Sep 2009 03:41:41 PM EDT
Install Date: Wed 04 Nov 2009 06:34:35 PM EST Build Host: builder16.centos.org
Group : Development/Languages Source RPM: python-2.4.3-27.el5.src.rpm
Size : 21614489 License: PSF - see LICENSE
Signature : DSA/SHA1, Sat 19 Sep 2009 11:54:54 PM EDT, Key ID a8a447dce8562897
URL : http://www.python.org/
Summary : An interpreted, interactive, object-oriented programming language.
Description :
Python is an interpreted, interactive, object-oriented programming
language often compared to Tcl, Perl, Scheme or Java. Python includes
modules, classes, exceptions, very high level dynamic data types and
dynamic typing. Python supports interfaces to many system calls and
libraries, as well as to various windowing systems (X11, Motif, Tk,
Mac and MFC).

Programmers can write new built-in modules for Python in C or C++.
Python can be used as an extension language for applications that need
a programmable interface. This package contains most of the standard
Python modules, as well as modules for interfacing to the Tix widget
set for Tk and RPM.

Note that documentation for Python is provided in the python-docs
package.

Thanks again for the help -Jason


----------



## wmcbrine

jkates said:


> Version : 2.4.3 Vendor: CentOS


Hmm. It looks like the qtfaststart module may not be compatible with Python 2.4.  Is there any way you can get 2.5 or 2.6 on that system?

I'd really rather drop support for 2.4, but I keep running into people who still want to use it. At least one of them was a CentOS user, too.

Meanwhile, I guess I'll check if there's a 2.4-compatible way to do the seek... Edit: OK, did that. Try it now.


----------



## wmcbrine

ferrumpneuma said:


> I have allowed the UDP and TCP port specifically in windows firewall. ... If I do nothing it disappears in 1-2 minutes


I assume you mean port 9032? Try adding 2190 and 5353 as well.



> _Then it gives an "WindowsError [Error 5] Access is Denied" error._


I think we need a little more info here. Can you post everything from the GET request to that line? Preferably with debug mode on.


----------



## reneg

ferrumpneuma said:


> Back at the console output it shows the transaction smoothly until the actual video is selected. Then it gives an "WindowsError [Error 5] Access is Denied" error. Pytivo will not continue until I quit python completely.


Shotgun a few potential causes for WindowsError:
1) pytivo.conf Configuration
a) double check your ffmpeg path
b) double check your path statement in your share
2) file system
a) check file permissions
b) check open file handles
c) don't share a root directory of a drive, try sharing a subdirectory


----------



## wmcbrine

ferrumpneuma said:


> I opened 9032 as TCP
> 
> I am 90% sure it was 2190 UDP. 5353 I have not seen referenced in pytivo documentation.


5353 UDP is for Zeroconf, which is relatively new to pyTivo. I don't know where opening ports is discussed (I've never had to do it).



> _Thank you for your effort with this software and this specific problem._


You actually have two problems, AFAICT -- opening 5353 should fix one, but it won't help the other.


----------



## reneg

ferrumpneuma said:


> 2b. I do not understand 2b. What are and how do I check "open file handles"?


Sorry I didn't explain it clearer. A WindowsError could be due to open file handle(s) on a deleted file(s). Windows won't remove a deleted file directory entry until all open handles are closed. One common source of handles being left open are from explorer extensions. Rebooting your PC also clears up these quasi-deleted files, so I doubt that this is your issue.

I use a freeware tool, Unlocker 1.8.8, to close open handles when I run across this type of issue.


----------



## Rdian06

ferrumpneuma said:


> Here is my .conf file.
> 
> 
> 
> Code:
> 
> 
> [MyMovies]
> type = video
> path = C:\Documents and Settings\user\My Documents\My Videos
> 
> [_tivo_SD]
> 
> [_tivo_HD]
> 
> [Server]
> tivo_password = xxxxxxxx
> tivo_mak = xxxxxxxxxxxx
> ffmpeg = C:\Program Files\kmttg_v0p7b\ffmpeg
> tivodecode = C:\Program Files\kmttg_v0p7b\tivodecode\tivodecode.exe
> tdcat = C:\Program Files\kmttg_v0p7b\tivodecode\tdcat.exe
> beacon = 192.168.1.11
> debug = True
> tivo_username = xxxxxxxxxxxxxxx
> port = 9032
> 
> Thanks for your help.


The error is a result of not having a valid ffmpeg conf line.

pyTivo needs to know the full path to the ffmpeg executable name. Notice how your conf file has C:\Program Files\kmttg_v0p7b\tivodecode\tivodecode.exe for tivodecode, but your ffmpeg line has C:\Program Files\kmttg_v0p7b\ffmpeg .

Is that a folder or is that an exe file? If it's a folder, then you need to add the \<ffmpeg file name.exe> to the end of it. If it's the actual exe file, then add the .exe onto the end.

kmttg is written in Java which may not care about leaving off the .exe or it may allow pointing to the folder that contains ffmpeg.exe, but pyTivo MUST have the actual full path and file name exactly.


----------



## moyekj

Your ffmpeg setting is wrong. You are pointing to directory instead of executable. It should probably be:
ffmpeg = C:\Program Files\kmttg_v0p7b\ffmpeg\ffmpeg.exe
EDIT: Rdian06 beat me to it but I'll leave my post anyway.


----------



## jkates

wmcbrine said:


> Hmm. It looks like the qtfaststart module may not be compatible with Python 2.4.  Is there any way you can get 2.5 or 2.6 on that system?
> 
> I'd really rather drop support for 2.4, but I keep running into people who still want to use it. At least one of them was a CentOS user, too.
> 
> Meanwhile, I guess I'll check if there's a 2.4-compatible way to do the seek... Edit: OK, did that. Try it now.


That version is the current version for CentOS/RHEL 5.4. I can look at compiling a stand alone version but I would break a lot of the box upgrading the bundled version of Python.

-Jason​


----------



## wmcbrine

jkates said:


> That version is the current version for CentOS/RHEL 5.4.


Yeah, so I've read... a good reason to move off that platform, IMHO. Python 2.5 is over three years old already.

But anyway:



wmcbrine said:


> Meanwhile, I guess I'll check if there's a 2.4-compatible way to do the seek... Edit: *OK, did that. Try it now.*


----------



## jkates

wmcbrine said:


> Yeah, so I've read... a good reason to move off that platform, IMHO. Python 2.5 is over three years old already.
> 
> But anyway:


 Thanks for the 2.4 fix.Python is using 2.0% of the CPU and the download is moving along much better than real time. In the pas it was just about real time.

Thanks Again -Jason​


----------



## Eddief66

I'm having a problem with Push. I keep getting the following error:


> list index out of range
> 
> Traceback (most recent call last):
> File "C:\Program Files\pyTivo\plugins\video\video.py", line 383, in Push
> mime = mime)
> File "C:\Program Files\pyTivo\mind.py", line 48, in pushVideo
> pc_body_id = self.__pcBodySearch()[0]
> IndexError: list index out of range


Using python ver. 2.6.4 and wmcbrine's latest fork. I thought that it might have been the video format so I used Videora Tivo converter to transcode a video and still get the error but here's no problem pulling any videos no matter what the format. Do I need to use an older version of python?

Edit: I tried using python ver. 2.4.4 and it didn't make any difference.


----------



## reneg

Eddief66 said:


> I'm having a problem with Push. I keep getting the following error:
> 
> Using python ver. 2.6.4 and wmcbrine's latest fork. I thought that it might have been the video format so I used Videora Tivo converter to transcode a video and still get the error but here's no problem pulling any videos no matter what the format. Do I need to use an older version of python?
> 
> Edit: I tried using python ver. 2.4.4 and it didn't make any difference.


Python version should not matter, I'd stick with 2.6.4.

I recall seeing a problem like this once on push, but am having trouble remembering what I changed to fix it. I don't see how you are initiating the push. Check the syntax of your push command, case is significant. You can also try forcing a transcode with a default.txt file in the same directory as the "push" file. Put

Override_vCodec: foo

in the default.txt file.


----------



## moyekj

Eddief66 said:


> list index out of range
> 
> Traceback (most recent call last):
> File "C:\Program Files\pyTivo\plugins\video\video.py", line 383, in Push
> mime = mime)
> File "C:\Program Files\pyTivo\mind.py", line 48, in pushVideo
> pc_body_id = self.__pcBodySearch()[0]
> IndexError: list index out of range


 That means login to tivo mind server is failing. Make sure you have your tivo.com login & password set in pyTivo.conf in Server section:
*tivo_username = ...
tivo_password = ...
*


----------



## reneg

moyekj said:


> That means login to tivo mind server is failing. Make sure you have your tivo.com login & password set in pyTivo.conf in Server section:
> *tivo_username = ...
> tivo_password = ...
> *


That was it. My memory is worse than I thought.


----------



## Eddief66

I could have sworn I did enter those but if that turns out to be the problem I'm going to build a kicking machine for myself. I just downgraded pytivo to an earlier version and I had to manually add a server section and username and password settings but it worked. Only problem is I can only push one video at a time with it and the reason I wanted to get push working is because I could check more than one video and send them all to tivo. I'll go ahead and upgrade again and see how it goes after making sure to enter the username and password.

Edit: Well it worked. Thanks to both of you for your help. Now I need to start building that kicking machine. 

Just one more thing. There seems to be a delay before the tivo starts recording with push but with pull it was immediate. Is that normal?


----------



## wmcbrine

Yes. The reason you have to enter your username and password is that, for a push, pyTivo sends a message to a server running at TiVo Inc., to tell the TiVo box to request the file. Later, the TiVo gets the message, and only then actually starts pulling the file from pyTivo. So that's why there's a delay.


----------



## wmcbrine

ferrumpneuma said:


> Why does TiVo Inc. do it this way?


You'd have to ask them. But, this feature was originally designed to support TiVoCasts (now called Web Videos). It's also used for Amazon VOD. Your TiVo is probably behind a NAT firewall, which makes it a little difficult to contact it directly from outside your LAN. This way, all the requests go outward, which works much better with a typical home network.



> _I assume this is so TiVo Inc. can stop this functionality if they want to._


They can stop any functionality at any time. They didn't need to make push work this way for that.


----------



## cburbs

We moved recently so I missed some shows so I downloaded a few that I missed. Since I can't get streambaby to work I want to push the show back to the same folder as the others. The only issue I am having is that the show has todays date so it is out of episode order. Is there a way so that I can make it have the correct date so that the episodes are in order on the tivo box?


----------



## Spenner

cburbs said:


> We moved recently so I missed some shows so I downloaded a few that I missed. Since I can't get streambaby to work I want to push the show back to the same folder as the others. The only issue I am having is that the show has todays date so it is out of episode order. Is there a way so that I can make it have the correct date so that the episodes are in order on the tivo box?


Nope. With Push, you can put it into a folder, but you can't set the date (it'll always be the date/time it was pushed). If you Pull, you can set the date with a metadata file, but you can't put it into a folder. Yep, bummer.


----------



## waynomo

cburbs said:


> We moved recently so I missed some shows so I downloaded a few that I missed. Since I can't get streambaby to work I want to push the show back to the same folder as the others. The only issue I am having is that the show has todays date so it is out of episode order. Is there a way so that I can make it have the correct date so that the episodes are in order on the tivo box?


I am new to this forum so don't know much but . . .

Have you tried changing the date/time on your PC? Then make a copy. Delete the original and rename the copy. Then change the time back.

Good luck.


----------



## moyekj

waynomo said:


> I am new to this forum so don't know much but . . .
> Have you tried changing the date/time on your PC? Then make a copy. Delete the original and rename the copy. Then change the time back.


 Most likely the date is set based on TiVo clock when it pulls the file -- the PC clock will have no influence.


----------



## waynomo

moyekj said:


> Most likely the date is set based on TiVo clock when it pulls the file -- the PC clock will have no influence.


I was thinking that he downloaded the file from the internet or some other non-tivo place. I was figuring that since they were in the process of moving that the Tivo wasn't hooked up.

Of course even in that circumstance I am not sure my idea will work.


----------



## cburbs

No it looks like it does the time/date from the tivo would be my guess.

Another question - These files are bittorrent so I copied a previous metadata file and change a few things to match the current file. When I send it back it creates another new folder on the tivo - "Two and a half men". I though if I recall as long as the seriesID was the same it would push to the current recorded folder listed on the tivo.


----------



## xdroccax

I've been successfully using pytivo with a NAS device (Maxtor MSS1) for some time now. Recently, i purchased a new NAS device (Maxtor Central Axis 1tb) and can't seem to be able to get it to work with pytivo.

The debug log always shows the same following error. I'm running the most currently wmcbrine as of a few hours ago. Can someone help? Thanks.



Code:


2009-12-21 23:19:02,578 ERROR pyTivo: Exception during request from ('10.12.29.175', 2197)
Traceback (most recent call last):
  File "C:\Python25\lib\SocketServer.py", line 464, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python25\lib\SocketServer.py", line 254, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\Program Files\pyTivo\httpserver.py", line 56, in __init__
    client_address, server)
  File "C:\Python25\lib\SocketServer.py", line 522, in __init__
    self.handle()
  File "C:\Python25\lib\BaseHTTPServer.py", line 316, in handle
    self.handle_one_request()
  File "C:\Python25\lib\BaseHTTPServer.py", line 310, in handle_one_request
    method()
  File "C:\Program Files\pyTivo\httpserver.py", line 82, in do_GET
    self.handle_query(query, tsn)
  File "C:\Program Files\pyTivo\httpserver.py", line 132, in handle_query
    method(self, query)
  File "C:\Program Files\pyTivo\plugins\video\video.py", line 256, in QueryContainer
    mtime = datetime.fromtimestamp(f.mdate)
ValueError: timestamp out of range for platform localtime()/gmtime() function


----------



## orangeboy

xdroccax said:


> I've been successfully using pytivo with a NAS device (Maxtor MSS1) for some time now. Recently, i purchased a new NAS device (Maxtor Central Axis 1tb) and can't seem to be able to get it to work with pytivo.
> 
> The debug log always shows the same following error. I'm running the most currently wmcbrine as of a few hours ago. Can someone help? Thanks.
> 
> 
> 
> Code:
> 
> 
> 2009-12-21 23:19:02,578 ERROR pyTivo: Exception during request from ('10.12.29.175', 2197)
> Traceback (most recent call last):
> File "C:\Python25\lib\SocketServer.py", line 464, in process_request_thread
> self.finish_request(request, client_address)
> File "C:\Python25\lib\SocketServer.py", line 254, in finish_request
> self.RequestHandlerClass(request, client_address, self)
> File "C:\Program Files\pyTivo\httpserver.py", line 56, in __init__
> client_address, server)
> File "C:\Python25\lib\SocketServer.py", line 522, in __init__
> self.handle()
> File "C:\Python25\lib\BaseHTTPServer.py", line 316, in handle
> self.handle_one_request()
> File "C:\Python25\lib\BaseHTTPServer.py", line 310, in handle_one_request
> method()
> File "C:\Program Files\pyTivo\httpserver.py", line 82, in do_GET
> self.handle_query(query, tsn)
> File "C:\Program Files\pyTivo\httpserver.py", line 132, in handle_query
> method(self, query)
> File "C:\Program Files\pyTivo\plugins\video\video.py", line 256, in QueryContainer
> mtime = datetime.fromtimestamp(f.mdate)
> ValueError: timestamp out of range for platform localtime()/gmtime() function


See this


----------



## AbMagFab

Is there any way to queue up a bunch of transfers (from Tivo to PC) using pyTivo? I can't figure out how...


----------



## AudioNutz

Not with pyTivo, but there are three other solutions for that.


----------



## AbMagFab

AudioNutz said:


> Not with pyTivo, but there are three other solutions for that.


Should I try to guess?


----------



## xyth

jcthorne said:


> Your command line use of handbrake appears to have a few things Tivo will not like or may not like.
> 
> Handbrake does not encode ac3 audio, one of its biggest shortcommings for use with Tivo and why I do not use it.
> 
> Just some things to look into. A properly encoded mp4 does push fine but I do not think you are going to get there with handbrake.


I wish I saw this sooner, I spent a dozen hours trying to get the latest version of Handbreak output a 5.1 audio track that would play on the Tivo HD. No combination of handbreak settings or codecs help. Too bad, its such a sweet program. The latest version of the mp4 standard allows for ac3 audio, and VLC will play a file so encoded, but media player nor quicktime will play it.

Is the tivo desktop plus transcoder dependent on what quicktime will play in order to properly transcode back to the Tivo, or is that built in? The Tivo would play the video portion of the file fine, but no audio. Still not sure if the problem is how Handbreak passes the ac3 through in the creation of the MP4 or if it on the Tivo side of the decode.

So any suggestions of a program that will properly encode an mp4 (H264) with ac3 passthru so that it can be pulled to a Tivo HD? Or would a handbreak encoded MP4 w/ ac3 file work if served by PyTivo?


----------



## wmcbrine

AudioNutz said:


> Not with pyTivo, but there are three other solutions for that.


Eric von Bayer's fork does it. (I'm slowly working toward integrating that into mine... I like some things he did, dislike others, but it's basically all in one big patch.) But you might look at kmttg or other programs. I don't think TiVo -> PC is pyTivo's strong suit, or ever will be. I expect to add queuing, tivodecoding and metadata dumping, but that's all. (Maybe a generic post-processing command option?)


----------



## AbMagFab

wmcbrine said:


> Eric von Bayer's fork does it. (I'm slowly working toward integrating that into mine... I like some things he did, dislike others, but it's basically all in one big patch.) But you might look at kmttg or other programs. I don't think TiVo -> PC is pyTivo's strong suit, or ever will be. I expect to add queuing, tivodecoding and metadata dumping, but that's all. (Maybe a generic post-processing command option?)


Queueing downloads would be huge. It's the only reason I even consider going to TD anymore.


----------



## wmcbrine

It's no reason to use TD. Again, look at kmttg.


----------



## AbMagFab

wmcbrine said:


> Eric von Bayer's fork does it. (I'm slowly working toward integrating that into mine... I like some things he did, dislike others, but it's basically all in one big patch.) But you might look at kmttg or other programs. I don't think TiVo -> PC is pyTivo's strong suit, or ever will be. I expect to add queuing, tivodecoding and metadata dumping, but that's all. (Maybe a generic post-processing command option?)


Well, I'm trying kmttg, but it keeps failing on transferring a file, saying:
"Warning: Transient problem: HTTP error Will retry in 4 seconds"

Any thoughts?

EDIT: NM, I had pyTivo downloading a file at the same time.

So it seems to work okay, except that I had to manually put in my Tivo's, as it only detected one of them automatically.


----------



## xyth

xyth said:


> So any suggestions of a program that will properly encode an mp4 (H264) with ac3 passthru so that it can be pulled to a Tivo HD? Or would a handbreak encoded MP4 w/ ac3 file work if served by PyTivo?


Nevermind, after experimenting more, I see that Streambaby will deliver the Handbreak v0.9.4 encoded mp4 (H264 + AC3 5.1) to a Tivo HD.


----------



## AbMagFab

Update - okay, so kmttg works, but it's *insanely and unacceptably slow!* pyTivo direct downloads took about the same time as Tivo Desktop.

When I use Tivo Desktop, I download a 2 hour movie in about 2 hours, give or take 30 minutes.

Using kmttg, the same movie *took almost 9 hours*!!! What the heck?

If it seriously takes this long for kmttg, I will be faster manually pulling one at a time. This is absurd. *I recommend people stay away from kmttg*, unless there's some setting I'm missing.


----------



## jcthorne

xyth said:


> Nevermind, after experimenting more, I see that Streambaby will deliver the Handbreak v0.9.4 encoded mp4 (H264 + AC3 5.1) to a Tivo HD.


PyTivo will PUSH an mp4 to Tivo as will Streambaby. Neither will allow tivo to PULL an mp4 without transcoding as that is not supported by the tivo. If the file you start with already has a properly encoded ac3 track, you can use handbrake to encode the video and pass through the audio, but it will not encode the audio if you have an AAC or other audio track to start with. I recommend MeGUI to prep mp4 files for tivo. It can handle most all input formats and both audio and video. Also allows adding boarders to 720p video so they display correctly on tivo. If you just need to remux, there are batch files posted here that do a fabulous job (search for orangeboy) very easily.


----------



## AbMagFab

A couple of additional questions:

1) When I used kmttg to transcode to mp4, I used ff-h264-high. When transferring using pyTivo back to a Tivo HD, the size in "Info" says the orginal size (more than double the actual size), and it transcodes it on playback.

2) What setting can I use to transcode a Tivo HD file to mp4, maintaining the HD and AC3, but not requiring transcoding when sending back to the Tivo?

Thanks for any advice!


----------



## jcthorne

Were you pushing or pulling with pytivo? The settings you used for kmttg should have been correct. you can only PUSH an mp4 to tivo, pulling will alwasys trascode and greatly increase the size in so doing.


----------



## wmcbrine

AbMagFab said:


> Update - okay, so kmttg works, but it's *insanely and unacceptably slow!*


It shouldn't be... but anyway, please direct kmttg issues to the kmttg thread. I only brought it up here to suggest that there were alternatives to TiVo Desktop for downloading from TiVos, too. There are others besides kmttg as well. (I don't use them, so I won't go into them.)

All of them take the same amount of time, normally.


----------



## AbMagFab

jcthorne said:


> Were you pushing or pulling with pytivo? The settings you used for kmttg should have been correct. you can only PUSH an mp4 to tivo, pulling will alwasys trascode and greatly increase the size in so doing.


Really? I was viewing from the NPL on the Tivo, and picked the MP4 file through the pyTivo entry.

Back in the day, when I hit "Info", I'd get a detailed screen telling me the codecs, and whether it was going to be transcoded.

Now, I got a file size that was not the size of the source file, no codec information, and no indication if it would be transcoded. Bummer.

1) So is the file size displayed something pyTivo is estimating based on knowing it wil be transcoded?

2) Am I mistaken in thinking that pyTivo didn't transcode mp4 files (of the right format) when grabbed from the Tivo NPL?

3) If 2 is yes (I'm mistaken), is there any way to trigger a push from the Tivo?

If not, there's little use in transcoding down to MP4. Disk space is cheap, and the inconvenience of the transcode (meaning way slower than real-time) makes it useless.


----------



## AbMagFab

Okay, I'm trying to do a push, but it never seems to start. Can I do a push and a pull at the same time?

That is, can I pull a file from a Tivo to the PC using pyTivo at the same time as pushing a file from the PC to the Tivo?


----------



## jcthorne

AbMagFab said:


> Okay, I'm trying to do a push, but it never seems to start. Can I do a push and a pull at the same time?
> 
> That is, can I pull a file from a Tivo to the PC using pyTivo at the same time as pushing a file from the PC to the Tivo?


Selecting the file from the NPL is PULLING the file from pytivo. It will always transcode to mpeg2 video, greatly expanding the file and increasing the transfer time more than 4x. You PUSH by selecting the video from the pytivo web menu.

No, tivo will not pull and push a file at the same time. The tivo will queue the requests, or get confused and do nothing..... One or the other at a time.

Streambaby can allow you to initiate a push from a HME menu on the tivo but I am not all that familur with it and do not use it. Would like to find a way to do this from pytivo but no one has come up with a way that would not be confusing to the user on the tivo.


----------



## AbMagFab

Photos question - the listing shows up in HME, the directories all show up and are navigatable, but all the pictures show up with broken icons.

Any ideas?

It works fine through TD.


----------



## jcthorne

AbMagFab said:


> Photos question - the listing shows up in HME, the directories all show up and are navigatable, but all the pictures show up with broken icons.
> 
> Any ideas?
> 
> It works fine through TD.


sounds like you are missing the python photo extension. Do a search, wmcbrine has a link to it in his install instructions.


----------



## AbMagFab

jcthorne said:


> sounds like you are missing the python photo extension. Do a search, wmcbrine has a link to it in his install instructions.


*bonk* Okay, installed it... still doesn't work, but I can't reset pyTivo right now as I'm transferring a video. I assume it will need a reset?


----------



## wmcbrine

A restart.


----------



## Hcour

I installed pyTivo using the Windows installer. I copied my config file to another folder. Then I dl'ed the latest ver and unzipped it into the pyTivo folder, then copied my old config file back. Now I can still pull files fine but when I push they're all messed up. Do I need to install the latest ver of ffmpeg, as per this thread?

http://pytivo.sourceforge.net/forum/updated-windows-installer-2009-03-21-t512-30.html#7536

It says to copy it to the bin folder, but I don't have one. ffmpeg_mp2.exe is in plugins/video folder, and that's the folder my config file points to.

Also, I can't find the ffmpeg sticky thread referred to in that thread.


----------



## wmcbrine

Define "all messed up".

But if you're seeing a difference between pushed and pulled, then most likely the problem is precisely that ffmpeg _isn't_ involved -- that the files appear pushable to pyTivo, but the TiVo doesn't like them.


----------



## Hcour

The video is all noise, just lines and colors and such. It's the same files that played fine when I pushed them before I updated pyTivo and they play fine now when I pull them.


----------



## Rdian06

AbMagFab said:


> Update - okay, so kmttg works, but it's *insanely and unacceptably slow!* pyTivo direct downloads took about the same time as Tivo Desktop.
> 
> When I use Tivo Desktop, I download a 2 hour movie in about 2 hours, give or take 30 minutes.
> 
> Using kmttg, the same movie *took almost 9 hours*!!! What the heck?
> 
> If it seriously takes this long for kmttg, I will be faster manually pulling one at a time. This is absurd. *I recommend people stay away from kmttg*, unless there's some setting I'm missing.


Did you configure kmttg to convert to MP4 after downloading? If so then it's encoding MPEG2 video to h264 video and that can take a long, long time. You should be able to set it just to download.


----------



## AbMagFab

Rdian06 said:


> Did you configure kmttg to convert to MP4 after downloading? If so then it's encoding MPEG2 video to h264 video and that can take a long, long time. You should be able to set it just to download.


Already discussed in the previous few posts. No, I didn't. Also, that would show multiple items queued up in the middle of the window.

No transcoding, just the .Tivo file downloaded.

I can do it quicker manually doing one at a time through pyTivo.


----------



## wmcbrine

Hcour said:


> The video is all noise, just lines and colors and such. It's the same files that played fine when I pushed them before I updated pyTivo and they play fine now when I pull them.


Then presumably they were being transcoded during push before, and now aren't. (pyTivo didn't always do native pushes of MP4.)

If you're looking for a way to keep pushing them, you could try forcing transcoding via metadata overrides.


----------



## AbMagFab

wmcbrine said:


> A restart.


Okay, I've moved on to installing pyTivo on my QNAP NAS. It seems to be working well, but I can't get photos working on it.

I've done an ipkg install of the py25-pil, but it put it in /opt. So I did a symbolic link from the .qpkg directory to the site-packages/PIL. But alas, still not working.

1) Any ideas on how to get this working on a QNAP? It's running Python 2.5 on Ubuntu.

2) What's a graceful way to shutdown pyTivo, if it's running in the background?

Thanks!


----------



## wmcbrine

AbMagFab said:


> 1) Any ideas on how to get this working on a QNAP? It's running Python 2.5 on Ubuntu.


If it's Ubuntu, wouldn't it be "apt-get install python-imaging"?



> _2) What's a graceful way to shutdown pyTivo, if it's running in the background?_


Try "kill -2 pid". That should be equivalent to pressing ^C in the console, which (perversely enough) is the orderly shutdown method.


----------



## AbMagFab

wmcbrine said:


> If it's Ubuntu, wouldn't it be "apt-get install python-imaging"?
> 
> Try "kill -2 pid". That should be equivalent to pressing ^C in the console, which (perversely enough) is the orderly shutdown method.


Well, apt-get isn't on the QNAP. I can do iPkg, which I did, but I think all the files for PIL are in the wrong place (since the python was installed with QPKG).

So do you know where the files should go? Is there some sort of directory map of the PIL files and their location?


----------



## wmcbrine

AbMagFab said:


> Well, apt-get isn't on the QNAP.


Then, I don't think you're running Ubuntu. (I googled "ipkg" and found a reference to "Unslung" as the relevant distro. Might it be that?)



> _So do you know where the files should go?_


Well, it has to be in the path Python searches for modules. You can find out what that is by starting Python, and doing "import sys", then "sys.path".

On my system, it's in /usr/share/pyshared/PIL , with symbolic links to there from /usr/lib/python2.5/site-packages/PIL . The latter is in my sys.path.


----------



## AbMagFab

wmcbrine said:


> Then, I don't think you're running Ubuntu. (I googled "ipkg" and found a reference to "Unslung" as the relevant distro. Might it be that?)





Code:


[/opt] # cat /proc/version
Linux version 2.6.30.6 ([email protected]) (gcc version 4.1.3 20070929 (prerelease)
(Ubuntu 4.1.2-16ubuntu2)) #1 SMP Sat Dec 12 04:16:28 CST 2009




> Well, it has to be in the path Python searches for modules. You can find out what that is by starting Python, and doing "import sys", then "sys.path".
> 
> On my system, it's in /usr/share/pyshared/PIL , with symbolic links to there from /usr/lib/python2.5/site-packages/PIL . The latter is in my sys.path.


Okay, I added the PIL symlink to the path, but photos still isn't working (I did a full restart of pyTivo).

Is there something else that needs to be accessible to python/pyTivo for this to work? I noticed a few .py files that also came down with the PIL install.


----------



## jkalnin

Quick, hopefully simple, question:
Is there way to setup pyTivo to deinterlace an avi file?


----------



## wmcbrine

You can specify additional ffmpeg options, which could include "-deinterlace", I guess. But I can't see why you'd want to do that. The TV should handle it.


----------



## lex3001

Thank you for working on this awesome program.

I have a couple of suggestions for features:
1. If you try and "Send to Tivo" but the tivo_username/pass settings don't exit, throw up a message that says that they exist and should be added. I'd never heard of them until about 3 hours ago.
2. If anything goes wrong in video_info trying to execute ffmpeg.exe, please put in some kind of message about that. I spent the last two hours googling obscure keywords to figure out (1) that I needed to change the path to ffmpeg in the conf file and then, another hour later, that (2) I needed to put the ffmpeg.exe in that setting and not just the path.

It seems that a few other people have run into the same issues, so think of the all the extra sleep people will be getting once it is more user friendly ;-)

Now I'm closer to getting kmttg and pytivo to transfer all my son's tv shows from our series 2 to our series 3 automatically... I hope.


----------



## lex3001

Ok, now I'm stuck again. I'm seeing a 206 http code in the console from pyTiVo as a response to the TiVo requesting the file. On the TiVo, the file is created and the metadata is there but it is "done" transferring with 0 minutes.

Background:
I used kmttg to download a couple .TiVo files from my series 2 to the computer and now I'm trying to send those to the TiVo HD. I don't want to transcode them or anything. Both TiVos have the same MAK address.

Is there anything else I need to configure or do?

Thanks in advance...


----------



## AbMagFab

AbMagFab said:


> Code:
> 
> 
> [/opt] # cat /proc/version
> Linux version 2.6.30.6 ([email protected]) (gcc version 4.1.3 20070929 (prerelease)
> (Ubuntu 4.1.2-16ubuntu2)) #1 SMP Sat Dec 12 04:16:28 CST 2009
> 
> Okay, I added the PIL symlink to the path, but photos still isn't working (I did a full restart of pyTivo).
> 
> Is there something else that needs to be accessible to python/pyTivo for this to work? I noticed a few .py files that also came down with the PIL install.


Any ideas? Or do you know any way to test to see if PIL is present, and/or what it's missing?


----------



## wmcbrine

lex3001 said:


> If you try and "Send to Tivo" but the tivo_username/pass settings don't exit, throw up a message that says that they exist and should be added.


In recent versions, the option to send doesn't even appear unless you've set those. I guess you're running an old version.



> _I spent the last two hours googling obscure keywords to figure out (1) that I needed to change the path to ffmpeg in the conf file and then, another hour later, that (2) I needed to put the ffmpeg.exe in that setting and not just the path._


In recent versions of pyTivo, ffmpeg will be found automatically if it's in the PATH, or in the "bin" directory, which is where I recommend placing it.



> _I'm seeing a 206 http code in the console from pyTiVo as a response to the TiVo requesting the file._


206 is normal.



> _On the TiVo, the file is created and the metadata is there but it is "done" transferring with 0 minutes._


Not enough to go on here. Are there any _other_ messages on the console?

Anyway, I'd guess that the TiVo is dropping the connection. You could try rebooting it.


----------



## wmcbrine

AbMagFab said:


> Any ideas? Or do you know any way to test to see if PIL is present, and/or what it's missing?


$ python
>>> import Image


----------



## lex3001

wmcbrine said:


> In recent versions, the option to send doesn't even appear unless you've set those. I guess you're running an old version.


I started with an old version and added those options. Then I got (gitted?) your latest build and copied over. Anyway, that part is working. Just a suggestiong.



wmcbrine said:


> In recent versions of pyTivo, ffmpeg will be found automatically if it's in the PATH, or in the "bin" directory, which is where I recommend placing it.


Cool. Anyway that part is resolved.



wmcbrine said:


> 206 is normal.
> 
> Not enough to go on here. Are there any _other_ messages on the console?
> 
> Anyway, I'd guess that the TiVo is dropping the connection. You could try rebooting it.


Hmm. No other messages in the console at all. I'll try rebooting the TiVo. Anything else I need to transfer raw .tivo files? Do I need TiVo Desktop installed as well or anything? Any way to verify that transcoding is or is not happening? I am expecting no transcoding, or would like to force that to make it all go faster. Thanks!


----------



## lex3001

I can initiate the transfer from the TiVo manually and the programs will transfer perfectly. Its only when I use Send To TiVo that they do not transfer.

I believe the problem is that when "?Format=video%2Fmpeg" is appended to the query string, pytivo is returning an empty file. I can confirm this by manually trying to access the URL for movie from pytivo with and without that query string. Without the query string, IE will let me "download" the whole .tivo file. With query string, Windows Media Center tries to play it but it ends up being a zero byte file. I'm not sure where to go from there, though. Any ideas?

More info

I am using your pytivo build Master from Wed, 30 Dec 2009 03:25:51 +0000

PYTIVO.CONF


Code:


[MyMovies]
type = video
path = C:\Documents and Settings\All Users\Documents\My Videos

[_tivo_SD]

[_tivo_HD]

[Server]
tivo_password = ********
tivo_mak = **********
ffmpeg = C:\Program Files\pyTivo\bin\ffmpeg.exe
temp = C:\Documents and Settings\All Users\Documents\pyTivo
tivo_username = ********
port = 9032

LOG WHEN INITIATING TRANSFER FROM TIVO (WORKS)


Code:


Checking to see if pyTivo is already running . . .

Starting pyTivo Server. Use ctrl+Break to exit.

INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: MyMovies
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.3.3 [01/Jan/2010 10:49:09] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.3.5 [01/Jan/2010 10:49:09] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.3.5 [01/Jan/2010 10:49:23] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.3.5 [01/Jan/2010 10:49:23] "GET /TiVoConnect?Command=QueryContainer&Container=MyMovies&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.3.5 [01/Jan/2010 10:49:26] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.3.5 [01/Jan/2010 10:49:26] "GET /TiVoConnect?Command=QueryContainer&Container=MyMovies&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FMyMovies%2FDinosaur%2520Train%2520-%2520Valley%2520of%2520the%2520Stygimolochs%2520Tiny%2520Loves%2520Fish%2520%252809_07_2009%2529.TiVo&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.3.5 [01/Jan/2010 10:49:26] "GET /TiVoConnect?Command=TVBusQuery&Container=MyMovies&File=%2FDinosaur%20Train%20-%20Valley%20of%20the%20Stygimolochs%20Tiny%20Loves%20Fish%20(09_07_2009).TiVo HTTP/1.1" 200 -
INFO:pyTivo:192.168.3.5 [01/Jan/2010 10:49:29] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.3.5 [01/Jan/2010 10:49:29] "GET /TiVoConnect?Command=QueryItem&Url=http%3A%2F%2Fa%2Fb%3FContainer%3D%2FNowPlaying%26id%3D%2FMyMovies%2FDinosaur%2520Train%2520-%2520Valley%2520of%2520the%2520Stygimolochs%2520Tiny%2520Loves%2520Fish%2520%252809_07_2009%2529.TiVo HTTP/1.1" 404 -
INFO:pyTivo:192.168.3.5 [01/Jan/2010 10:49:31] "GET /MyMovies/Dinosaur%20Train%20-%20Valley%20of%20the%20Stygimolochs%20Tiny%20Loves%20Fish%20(09_07_2009).TiVo
HTTP/1.1" 206 -

LOG WHEN USING "SEND TO TIVO" (DOES NOT WORK)


Code:


Checking to see if pyTivo is already running . . .

Starting pyTivo Server. Use ctrl+Break to exit.

INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: MyMovies
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.3.5 [01/Jan/2010 11:13:14] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.3.3 [01/Jan/2010 11:13:14] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:127.0.0.1 [01/Jan/2010 11:13:27] "GET /TiVoConnect?Command=QueryContainer&Container=MyMovies HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [01/Jan/2010 11:13:27] "GET /TiVoConnect?Command=XSL&Container=MyMovies HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [01/Jan/2010 11:13:43] "POST /TiVoConnect HTTP/1.1" 302 -
INFO:pyTivo:127.0.0.1 [01/Jan/2010 11:13:43] "GET /TiVoConnect?Command=QueryContainer&Container=MyMovies HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [01/Jan/2010 11:13:43] "GET /TiVoConnect?Command=XSL&Container=MyMovies HTTP/1.1" 200 -
INFO:pyTivo:192.168.3.5 [01/Jan/2010 11:14:01] "GET /MyMovies/Dinosaur%20Train%20-%20Beating%20the%20Heat%20Flowers%20for%20Mom%20(09_07_2009).TiVo?Format=video%2Fmpeg HTTP/1.1" 206 -


----------



## lex3001

lex3001 said:


> I can initiate the transfer from the TiVo manually and the programs will transfer perfectly. Its only when I use Send To TiVo that they do not transfer.


I think I figured it out. Re-read some wikis and realized that TiVo files don't push without tivodecode, and added



Code:


tivodecode = C:\Program Files\kmttg\tivodecode\tivodecode.exe

to my .conf. It seemed to do something more than before.

I think I might just configure kmttg to do the decode for me if I still have have issues, but hopefully I am all squared away now. To bad pus doesn't support TiVo files in native format (assuming MAK is the same, as it is in my case).

Next step... upgrade the HD TiVo hard drive to 1.5GB before transferring everything from my 500GB Series 2....


----------



## AbMagFab

wmcbrine said:


> $ python
> >>> import Image


import PIL succeeds, but import Image fails - any idea how to fix this?


----------



## AbMagFab

wmcbrine said:


> $ python
> >>> import Image


Okay, I created another symlink to the same directory as PIL using Image. The above now results in:



Code:


Python 2.5.4 (r254:67916, Jun  2 2009, 02:51:52)
[GCC 4.2.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Image
Image.py:53: RuntimeWarning: Python C API version mismatch for module _imaging:
This Python has API version 1013, module _imaging has version 1012.
  import _imaging
>>> quit()

But running python2.5 I get no warning at all (which is what use to start pyTivo):


Code:


Python 2.5.4 (r254:67916, Jun  2 2009, 02:51:52)
[GCC 4.2.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Image
>>>

And pictures still fail after a complete restart. Any thoughts on further diagnostics?


----------



## AbMagFab

Okay, ran in command line mode. Here's the error pyTivo is throwing:


Code:


ERROR:pyTivo:Could not open /share/Pictures/Fun/Stitched_001.JPG -- 'module' obj
ect has no attribute 'open'
INFO:pyTivo:x.x.x.x [01/Jan/2010 17:20:28] code 404, message Not Found
INFO:pyTivo:x.x.x.x [01/Jan/2010 17:20:28] "GET /Dir&#37;20Photos/Fun/
Stitched_001.JPG?Width=88&Height=60&PixelShape=40%3A33&Format=image%2Fjpeg HTTP/
1.0" 404 -

Weird, since it lists the files, and they definitely exist. Now I'm stumped.


----------



## AbMagFab

Okay, I fixed it, but there are two issues, one I'd recommend you fix, the other I'm not sure about (both in photo.py):

1) *from PIL import Image *- you currently just say *import Image*, but I believe this is the proper form? It fixed things for me.

2) The *pic.draft()*failed with an integer divide by zero, so I just commented out that section.

Will test some more and let you know how it goes. Any ideas on these issues?

Thanks.


----------



## AbMagFab

AbMagFab said:


> Okay, I fixed it, but there are two issues, one I'd recommend you fix, the other I'm not sure about (both in photo.py):
> 
> 1) *from PIL import Image *- you currently just say *import Image*, but I believe this is the proper form? It fixed things for me.
> 
> 2) The *pic.draft()*failed with an integer divide by zero, so I just commented out that section.
> 
> Will test some more and let you know how it goes. Any ideas on these issues?
> 
> Thanks.


Still working well. Would recommend you make the above changes (unless you have some reasons for them?).


----------



## wmcbrine

AbMagFab said:


> Still working well. Would recommend you make the above changes (unless you have some reasons for them?).


The reason for the .draft() call is a massive speedup on loading, especially for thumbnails, with no real PQ loss. The fact that it doesn't work on your system only suggests that your installation of PIL is broken... which we kind of knew already.

Similarly, "import Image" is something that works, with a correctly installed PIL. However, I can find no agreement on a preferred form (both appear in the PIL docs). I can include both, for good measure.


----------



## AbMagFab

wmcbrine said:


> The reason for the .draft() call is a massive speedup on loading, especially for thumbnails, with no real PQ loss. The fact that it doesn't work on your system only suggests that your installation of PIL is broken... which we kind of knew already.
> 
> Similarly, "import Image" is something that works, with a correctly installed PIL. However, I can find no agreement on a preferred form (both appear in the PIL docs). I can include both, for good measure.


Not sure why you think my PIL install is broken? It's just a directory off the python directory.

There are a number of documented issues with "import Images" from the PIL causing a blank load of the __init__.py file, versus the proper Images.py file. Since the library is PIL, and you're loading Images.py from it, my understanding from the people with issues out there is "from PIL import Images" is the proper syntax, at least on Linux.

As for the draft, it loads super fast with it commented out. Perhaps the linux ipkg distro has an issue with the draft function? In any case, commenting it out seems to make no difference, either to speed or functionality.


----------



## vectorcatch

wmcbrine said:


> If it's Ubuntu, wouldn't it be "apt-get install python-imaging"?
> 
> Try "kill -2 pid". That should be equivalent to pressing ^C in the console, which (perversely enough) is the orderly shutdown method.


I saw this and just thought I should point you guys to a post I made in the pyTiVo forum about the graceful shutdown.

http://pytivo.sourceforge.net/forum/graceful-shutdown-of-linux-daemon-t1310.html

I found that I had to make some small changes for it to work correctly, but in the end they weren't too bad.


----------



## cburbs

What causes the following error when I try Soft Reset PyTivo -
Unsupported Command
Query:

* Container: ['$quote($container)']
* Command: ['Reset']


----------



## wmcbrine

Comes from you using a version from between 2/10, when I broke the javascript out into a separate file, and 2/20, when I fixed the obvious problem that came of it no longer being in a template. D'oh!

Update your installation.


----------



## cburbs

wmcbrine said:


> Comes from you using a version from between 2/10, when I broke the javascript out into a separate file, and 2/20, when I fixed the obvious problem that came of it no longer being in a template. D'oh!
> 
> Update your installation.


thanks - I was going off of old info as I had to do a rebuild of my PC -


----------



## TreborPugly

Hey guys - I'm still using one of krkeegan's builds of pyTivo that I grabbed in Feb 2008. (First consistently stable build I got, after bugs causing crashes on the Tivo were fixed) I grabbed a more recent one a year ago, but never really dove into using it - I've used it a couple of times when the old one didn't like a particular video file for converting.

So what am I missing by not updating? Or should I just stick with my "if it ain't broke" system? I have very low demands - Series 2 Tivo, and I have my bit rate set to 1024K, so video quality isn't important to me.


----------



## orangeboy

TreborPugly said:


> Hey guys - I'm still using one of krkeegan's builds of pyTivo that I grabbed in Feb 2008. (First consistently stable build I got, after bugs causing crashes on the Tivo were fixed) I grabbed a more recent one a year ago, but never really dove into using it - I've used it a couple of times when the old one didn't like a particular video file for converting.
> 
> So what am I missing by not updating? Or should I just stick with my "if it ain't broke" system? I have very low demands - Series 2 Tivo, and I have my bit rate set to 1024K, so video quality isn't important to me.


Where I once worked, the adage had always been: "if it ain't broke, don't fix it". I amended it to include "is a good way to get left behind". If you follow wmcbrine's versions, you can see all the updates here: http://repo.or.cz/w/pyTivo/wmcbrine.git/shortlog


----------



## dlfl

And as you're digesting the several hundred terse comments in the "short log", please do everyone a favor and compile an easily understandable summary of the major improvements since early 2008! 

No criticism intended -- free software usually doesn't have "hand-it-to-me-on-a-platter" documentation.


----------



## orangeboy

dlfl said:


> And as you're digesting the several hundred terse comments in the "short log", please do everyone a favor and compile an easily understandable summary of the major improvements since early 2008!
> 
> No criticism intended -- free software usually doesn't have "hand-it-to-me-on-a-platter" documentation.


Well, one thing the shortlogs show is that the app is not being ignored with development sitting idle!


----------



## reneg

TreborPugly said:


> Hey guys - I'm still using one of krkeegan's builds of pyTivo that I grabbed in Feb 2008. (First consistently stable build I got, after bugs causing crashes on the Tivo were fixed) I grabbed a more recent one a year ago, but never really dove into using it - I've used it a couple of times when the old one didn't like a particular video file for converting.
> 
> So what am I missing by not updating? Or should I just stick with my "if it ain't broke" system? I have very low demands - Series 2 Tivo, and I have my bit rate set to 1024K, so video quality isn't important to me.


If you do update to a current version of pyTivo, I suggest also updating FFMPEG and the other items listed here


----------



## GreenMonkey

TreborPugly said:


> Hey guys - I'm still using one of krkeegan's builds of pyTivo that I grabbed in Feb 2008. (First consistently stable build I got, after bugs causing crashes on the Tivo were fixed) I grabbed a more recent one a year ago, but never really dove into using it - I've used it a couple of times when the old one didn't like a particular video file for converting.
> 
> So what am I missing by not updating? Or should I just stick with my "if it ain't broke" system? I have very low demands - Series 2 Tivo, and I have my bit rate set to 1024K, so video quality isn't important to me.


The last time I tried to update last year, I had trouble with the newer version of Python and couldn't get it to work at all. It's made me leery of upgrading it again. I'll probably try the new versions of everything first on another windows box before I try to upgrade it again on my media server.


----------



## Sparty99

Hey guys. Big fan of PyTivo but I haven't been keeping up with all 90 pages of this thread, so forgive me if this has been addressed. I've got a rather sizable collection of videos that I would like to maintain on a networked drive to my laptop as opposed to having it constantly connected via USB cable. However, it appears that doing so would prevent me from using this drive with PyTivo. Is there a workaround for this?


----------



## orangeboy

Sparty99 said:


> Hey guys. Big fan of PyTivo but I haven't been keeping up with all 90 pages of this thread, so forgive me if this has been addressed. I've got a rather sizable collection of videos that I would like to maintain on a networked drive to my laptop as opposed to having it constantly connected via USB cable. However, it appears that doing so would prevent me from using this drive with PyTivo. Is there a workaround for this?


If I'm understanding correctly, pyTivo _does_ support network drives when using the UNC (\\servername\sharename). Here's a portion of my .conf file:



Code:


[Downloaded]
type = video
path = \\media-center\ToTivo\Downloaded

[Cut Programs]
type = video
path = F:\ToTivo\Cut Programs

Does that help?


----------



## wmcbrine

Sparty99 said:


> Big fan of PyTivo but I haven't been keeping up with all 90 pages of this thread


Hah, you think this thread is long, there's a whole other forum. 

And yeah, the only problem with keeping files on a network share is that it's slow. But personally I recommend that you run pyTivo on the system where the files are (since it will run almost anywhere), unless you really need more transcoding power.


----------



## TreborPugly

I did the network drive thing for a good while - with a stand-alone, LaCie network drive. Those things are inherently slow on the netwoork speed, so I had to transfer things and then watch them, rather than watch them while they were transfering. But it worked okay.

I think there was some issue with using the service, and a mapped network drive - to see if it inherently works, run it from the command prompt.


----------



## Sparty99

wmcbrine said:


> Hah, you think this thread is long, there's a whole other forum.
> 
> And yeah, the only problem with keeping files on a network share is that it's slow. But personally I recommend that you run pyTivo on the system where the files are (since it will run almost anywhere), unless you really need more transcoding power.


Well I got the networked drive up and running, but I heeded everyone's advice in talking about how slow it is, so I just set up PyTivo on the other computer. Is there a way (other than using a program like Logmein) to control PyTivo from another computer?


----------



## wmcbrine

Define "control"? pyTivo provides a web interface, which you can access from anywhere. It doesn't quite do everything, though.


----------



## Sparty99

wmcbrine said:


> Define "control"? pyTivo provides a web interface, which you can access from anywhere. It doesn't quite do everything, though.


Well, now that I've got everything configured on the other computer, my main concern is accessing that computer's pyTivo interface so I can send files to the computer, without having to either go downstairs to do so or without using Logmein. Is there a simple way to do that?


----------



## wmcbrine

I'm not quite sure what you mean by "send files to the computer" -- from the TiVo? That's covered by the web interface, yes.


----------



## Sparty99

wmcbrine said:


> I'm not quite sure what you mean by "send files to the computer" -- from the TiVo? That's covered by the web interface, yes.


Sorry, I misspoke. From the pyTivo web interface, it's possible to send a file from the computer to the TiVo (which I realize is the exact opposite of what I said). I would like to be able to access this portion of pyTivo from another computer and use pyTivo to send programs to my DVR. Is this possible?


----------



## orangeboy

Sparty99 said:


> Sorry, I misspoke. From the pyTivo web interface, it's possible to send a file from the computer to the TiVo (which I realize is the exact opposite of what I said). I would like to be able to access this portion of pyTivo from another computer and use pyTivo to send programs to my DVR. Is this possible?


Instead of "http://localhost:9032/" in a browser, replace localhost with the ip address of the machine running pyTivo.


----------



## Sparty99

orangeboy said:


> Instead of "http://localhost:9032/" in a browser, replace localhost with the ip address of the machine running pyTivo.


Perfect! Exactly what I was looking for, thanks!


----------



## bkdtv

Screenshot of pyTiVo + Premiere:


----------



## dlfl

60 Mbps, wow! Is that for real?


----------



## bkdtv

dlfl said:


> 60 Mbps, wow! Is that for real?


Yep. 

MPEG-4 and MPEG-2 throughput is 60Mbps and 40Mbps, respectively, under the classic interface. More details in my review.


----------



## dlfl

bkdtv said:


> Yep.
> 
> MPEG-4 and MPEG-2 throughput is 60Mbps and 40Mbps, respectively, under the classic interface. More details in my review.


The Premier Review PDF link in your signature doesn't work for me:



> Not Found
> The requested URL /~fiosdvr/prem_review_01.pdf was not found on this server.


I assume your network is hardwired. 100 Mbps or Gigabit ? In other words, is the speed increase is entirely due to the Premiere?


----------



## bkdtv

dlfl said:


> The Premier Review PDF link in your signature doesn't work for me:


That's odd. I just added a mirror.



dlfl said:


> I assume your network is hardwired. 100 Mbps or Gigabit ? In other words, is the speed increase is entirely due to the Premiere?


All of my TiVos and PCs are networked with MoCA, which is the equivalent of a 100Mbps network. The increase is due entirely to the Premiere.

_Edit: I just posted the performance charts to the TCF Premiere FAQ._


----------



## cburbs

OK I shrunk some of my HD files down and wanted to send them back to the Tivo. I know the date stamp will have the date of the send....but my file looks like this KMTTG\Home\Encode\House\5 to 9 (Recorded Feb 08,2010).mp4 and it shows up on the tivo as the following:

House\5 to 9

Since I am sending mutliple shows of House back to the tivo I want the recorded date there so I know which one to watch first.....why isn't that showing up as part of the transferred file?


----------



## Rdian06

cburbs said:


> OK I shrunk some of my HD files down and wanted to send them back to the Tivo. I know the date stamp will have the date of the send....but my file looks like this KMTTG\Home\Encode\House\5 to 9 (Recorded Feb 08,2010).mp4 and it shows up on the tivo as the following:
> 
> House\5 to 9
> 
> Since I am sending mutliple shows of House back to the tivo I want the recorded date there so I know which one to watch first.....why isn't that showing up as part of the transferred file?


Are you using kmttg to preserve the metadata from the original .tivo file?

For instance, for KMTTG\Home\Encode\House\5 to 9 (Recorded Feb 08,2010).mp4, do you have a corresponding KMTTG\Home\Encode\House\5 to 9 (Recorded Feb 08,2010).mp4.txt? If so, the metadata from the .txt file is used as the title rather than the filename.


----------



## cburbs

Rdian06 said:


> Are you using kmttg to preserve the metadata from the original .tivo file?
> 
> For instance, for KMTTG\Home\Encode\House\5 to 9 (Recorded Feb 08,2010).mp4, do you have a corresponding KMTTG\Home\Encode\House\5 to 9 (Recorded Feb 08,2010).mp4.txt? If so, the metadata from the .txt file is used as the title rather than the filename.


Yes - Ok if I change the file in the txt file - episodeTitle : 5 to 9 to episodeTitle : 5 to 9 (Recorded Feb 08,2010) this will work.

Is there any other way of doing this without actually having to edit each file?


----------



## Rdian06

cburbs said:


> Yes - Ok if I change the file in the txt file - episodeTitle : 5 to 9 to episodeTitle : 5 to 9 (Recorded Feb 08,2010) this will work.
> 
> Is there any other way of doing this without actually having to edit each file?


You can use my hacked pyTivo templates to put the Season/episode numbers from the metadata into the title. See this thread:

http://pytivo.sourceforge.net/forum/pytivo-video-templates-t618.html

The latest copy of my hacked templates are here (make sure you login to the pyTivo forum as the download is only visible to members):

http://pytivo.sourceforge.net/forum/post9307.html#9307


----------



## cburbs

Rdian06 said:


> You can use my hacked pyTivo templates to put the Season/episode numbers from the metadata into the title. See this thread:
> 
> http://pytivo.sourceforge.net/forum/pytivo-video-templates-t618.html
> 
> The latest copy of my hacked templates are here (make sure you login to the pyTivo forum as the download is only visible to members):
> 
> http://pytivo.sourceforge.net/forum/post9307.html#9307


That is a step closer but doesn't help when there isn't a episode # for the show.

Is there a way I can change your file to just grab the air date?


----------



## Rdian06

cburbs said:


> That is a step closer but doesn't help when there isn't a episode # for the show.
> 
> Is there a way I can change your file to just grab the air date?


If you know how to code, you could compare my hacked templates to the originals to figure out how to do that. Either by including the air date in the title or by using the filename instead of the metadata title.

The other thing you might want to try is to use the "time" metadata value to set the date stamp to "air date" rather than "date of send". That way when you sort based on date on the Tivo's Now Playing list, things will be in order.

wmcbrine added the augmented "time" metadata handling back in Nov 09. You can put a default.txt in your folder and set time value to "OAD" and it will use the original air date for date stamping for all files in the folder (note, sub-folders need their own default.txt files since they don't recruse.) See:

http://pytivo.sourceforge.net/forum/time-in-metadata-t1091.html


----------



## cburbs

Rdian06 said:


> wmcbrine added the augmented "time" metadata handling back in Nov 09. You can put a default.txt in your folder and set time value to "OAD" and it will use the original air date for date stamping for all files in the folder (note, sub-folders need their own default.txt files since they don't recruse.) See:
> http://pytivo.sourceforge.net/forum/time-in-metadata-t1091.html


Sorry I am lost on this part - the default.txt where is the file located or stored?


----------



## Rdian06

cburbs said:


> Sorry I am lost on this part - the default.txt where is the file located or stored?


Assuming your video is in:

KMTTG\Home\Encode\House\5 to 9 (Recorded Feb 08,2010).mp4

Then the individual metadata file corresponding to that video is:

KMTTG\Home\Encode\House\5 to 9 (Recorded Feb 08,2010).mp4.txt

Then you would create:

KMTTG\Home\Encode\House\default.txt

Any metadata you place in default.txt will be used as defaults and merged with the individual metadata files found within a given folder. For instance, if all the shows in your folder have the same seriesId, you can put the seriesId in your default.txt and then omit it from the individual metadata files. If a field shows up in both default.txt and the individual metadata files, then the individual metadata file's field value will override (hence why it's called a default.)

See:

http://pytivo.sourceforge.net/wiki/index.php/Metadata


----------



## cburbs

OK makes sense - but them I am still trying to understand the originalAirDate part. 

How would you set that up in the default.txt file.

Will this follow the file over when you push/pull it to the tivo?

Thanks for all the info so far.


----------



## Rdian06

cburbs said:


> OK makes sense - but them I am still trying to understand the originalAirDate part.
> 
> How would you set that up in the default.txt file.
> 
> Will this follow the file over when you push/pull it to the tivo?
> 
> Thanks for all the info so far.


Create a default.txt file and in it specify:



Code:


time : OAD

Then make sure your individual metadata files do NOT contain a time field, but DO contain an originalAirDate. Then upon transfer with pyTivo pull, the date stamp for Now Playing list sorting will be set to the originalAirDate.

You can also use the File keyword instead of OAD and the file's modify time will be used rather than the originalAirDate.

Assuming your metadata is correct, you should end up with the oldest episodes from a given series at the bottom of your Now Playing list. And if you have valid current seriesId's set for all the files, they'll end up in a folder in order of originalAirDate.


----------



## cburbs

So you need to do this thru the Tivo(Pull) vs Push from the web interface for it to work correctly? Sorry for all the simple questions but I want to get a better understanding of it all.


----------



## Rdian06

cburbs said:


> So you need to do this thru the Tivo(Pull) vs Push from the web interface for it to work correctly? Sorry for all the simple questions but I want to get a better understanding of it all.


Yes, the date stamp can only be sent via pulls initiated via the Now Playing list. Push transfers using the web interface do not allow the same metadata unfortunately.


----------



## cburbs

My metadata files are from KMTTG and my date still shows the date of the file vs OAD when I do a pull.
What doesn't it like with the metadata file from KMTTG VS Metagenerator?

If I use Metagenerator on that same show then do a pull from the NPL then the file is labeled the day before.

So in my house example:
title : House
seriesTitle : House
episodeTitle : 5 to 9
episodeNumber : 13
originalAirDate : 2010-02-08T00:00:00Z

it shows up as

"5 to 9" Sun 2/7 in the NPL why would it do that?


----------



## moyekj

cburbs said:


> My metadata files are from KMTTG and my date still shows the date of the file vs OAD when I do a pull.
> What doesn't it like with the metadata file from KMTTG VS Metagenerator?


 The kmttg metadata file probably includes "time" field which is overriding the one in your default.txt file hence the difference.


----------



## Rdian06

cburbs said:


> My metadata files are from KMTTG and my date still shows the date of the file vs OAD when I do a pull.
> What doesn't it like with the metadata file from KMTTG VS Metagenerator?
> 
> If I use Metagenerator on that same show then do a pull from the NPL then the file is labeled the day before.
> 
> So in my house example:
> title : House
> seriesTitle : House
> episodeTitle : 5 to 9
> episodeNumber : 13
> originalAirDate : 2010-02-08T00:00:00Z
> 
> it shows up as
> 
> "5 to 9" Sun 2/7 in the NPL why would it do that?


As moyekj pointed out and I mentioned before, your individual metadata file must NOT contain a "time" field or it will override the value specified in default.txt.

Also, originalAirDate is specified as a GMT time. So a date of 2010-02-08T00:00:00Z GMT ends up being sometime on 2010-02-07 in most US timezones (GMT -4 to -7 currently, hence the show being labeled the day before.)


----------



## cburbs

Is there a way around this so I don't have to edit each Metadata to remove the "Time" field?


----------



## Rdian06

cburbs said:


> Is there a way around this so I don't have to edit each Metadata to remove the "Time" field?


Not with the current code. There are metadata Override fields for info affecting whether or not to transcode and duration, but they don't apply to where the time field is used.

wmcbrine, what do you think about adding Override processing code to video.metadata_full() right before the episodeNumber check? This would allow using "Override_time" from default.txt so that it would replace the "time" value in any individual metadata files (as in this case with kmttg.)


----------



## cburbs

Ok thanks again for all the great help/answers. 

Now when sending/pulling shows...I know you can send multiple files by selecting which ones you want can you pull a folder from the NPL? or is it only possible to do one show at a time?


----------



## wmcbrine

Rdian06 said:


> wmcbrine, what do you think about adding Override processing code to video.metadata_full() right before the episodeNumber check?


For several reasons, no.



cburbs said:


> _Now when sending/pulling shows...I know you can send multiple files by selecting which ones you want can you pull a folder from the NPL?_


Not yet. Folder support for both Push and ToGo is on my agenda.



> _or is it only possible to do one show at a time?_


No, you can do the multi-select thing in ToGo now (since March 15th).


----------



## Rdian06

wmcbrine said:


> For several reasons, no.


Is there a cleaner way to achieve what cburbs is asking wrt to how time is handled?



wmcbrine said:


> No, you can do the multi-select thing in ToGo now (since March 15th).


I think he meant Pulling a whole folder from PC to Tivo. I don't think you can do that. You can of course queue up multiple transfers, but each video has to be set to transfer individually.


----------



## cburbs

Rdian06 said:


> I think he meant Pulling a whole folder from PC to Tivo. I don't think you can do that. You can of course queue up multiple transfers, but each video has to be set to transfer individually.


Yes that is what I was asking if that could be done.

Otherwise you just select them one by one and then once one finishes the other one will start correct?


----------



## dm_

Hi,

think I've found a possible bug in the metadata parser - if I have a leading 0 on the episodeNumber field (eg 0302) then it gets interpreted as octal (tivo displays the episode number as 194. In the event that it can't be interpreted as octal (eg 0308) - you don't get an episode number on the tivo. I'd assume this is not the intended behaviour 

This is using a recent wmcbrine build 'pytivo-wmcbrine-17c16dd2e68f5d7856085cc7ba774759ecf44985' if thats meaningful.


----------



## epstewart

Hi,

I have a problem with having pyTivoX push HandBrake h.264 output from my Mac to my TiVo Series3. When I do, I get video that is "jumpy" or "jerky" looking. It seems to "jump" or "jerk" slightly at regular intervals of a split second or so. Everything else is normal: audio is fine and in sync with video.

When I pull the same HB video output file from the TiVo Now Playing list to the TiVo, the video plays perfectly smoothly. I believe that in that scenario pyTivoX is transcoding the video from h.264 to MPEG-2. But in the push scenario (whether initiated from the TiVo or from my computer's web browser; it makes no difference) I believe my h.264 <filename>.mp4 file that was output from HB is left in its original form, and the h.264 decoder on the TiVo is causing playback to be "jumpy/jerky."

I'm using pyTivoX v. 1.3, incorporating StreamBaby, and HandBrake's GUI version for Mac v. 0.9.4 (not the CLI version). In HB I'm using settings copied from Tivo Native Video Compatibility, specifically under the heading "Handbrake encoding H.264 mpeg4 with AC3 audio for Tivo (from mpeg2 source)."

Specifically, I'm using



Code:


ref=3:mixed-refs=1:bframes=3:b-pyramid=1:weightb=1:analyse=all:8x8dct=1:me=umh:subq=9:psy-rd=1,0.2:direct=auto:keyint=24:min-keyint=2:no-fast-pskip=1:no-dct-decimate=1

in the HB Advanced Settings pane, Current x264 Advanced Option string. I copied those from the Tivo Native Video Compatibility page.

In the HB Video pane, I'm using

Format: MP4 file
Video Codec: h.264 (x264)
Framerate (FPS): Same as source
Quality: Average bitrate (kbps): 5000

In the HB Picture Settings window, under Size I'm using Anamorphic: Strict, which disables the other settings so they are at their default values. I don't fiddle with the Filters pane of the Picture Settings window.

In the Audio panel of the HB main window I select as the Audio Codec AC3 Passthru.

Can someone offer me some tips on how to get HandBrake to produce h.264 output that won't look "jumpy/jerky" when pushed to a TiVo? Many thanks in advance ...


----------



## wmcbrine

dm_ said:


> think I've found a possible bug in the metadata parser - if I have a leading 0 on the episodeNumber field (eg 0302) then it gets interpreted as octal (tivo displays the episode number as 194. In the event that it can't be interpreted as octal (eg 0308) - you don't get an episode number on the tivo. I'd assume this is not the intended behaviour


Interesting. No, it turns out it's not the metadata parser that's interpreting it as octal; it's the TiVo.

The episodeNumber field was just being passed through as a string. A while back, I found that the TiVo would only accept integers, and a bad episodeNumber could mess up other fields. So I attempted to deal with this with this bit of code:



Code:


if 'episodeNumber' in data:
    try:
        int(data['episodeNumber'])
    except:
        data['episodeNumber'] = '0'

but notice that this only resets the episodeNumber if it fails to convert to an integer -- if it passes, the original text is left unaltered. Well, there's only one kind of string that will pass the int() test, but come out oddly on the TiVo, and you found it; congratulations.  Python says int('0302') = 302, but the TiVo thinks <episodeNumber>0302</episodeNumber> means 194.

So, I've changed the code to:



Code:


if 'episodeNumber' in data:
    try:
        ep = int(data['episodeNumber'])
    except:
        ep = 0
    data['episodeNumber'] = str(ep)

in my repo now. Thanks.


----------



## epstewart

I'm using pyTivoX v. 1.3, and I have found that sometimes when I push an h.264 file to my TiVo Series3, although the push seems to be completed, the file doesn't actually get sent to my TiVo until much, much later -- not two or three minutes later, but an indeterminate amount of time later.

Today I was experimenting with different HandBrake options and tried pushing an output file. It didn't seem to arrive any time soon after it had been successfully pushed, so I gave up on it. I went about my business for a few hours and later came back and did some more experimenting. In the course of those later experiments, I noticed that my original pushes from earlier in the day were now in the Now Playing list!

(They were all of the same file, the only difference being that the file name was in quote marks for some pushes and did not have quote marks for others. It depended on whether the push was initiated from my browser or from my TiVo, I think, but I'm not sure which kind of push added the quotes.)

Anyway, at other times I've been able to do pushes which happen pretty close to immediately. Can anyone tell me why some pushes get long delayed? Thanks.


----------



## Rdian06

epstewart said:


> I'm using pyTivoX v. 1.3, and I have found that sometimes when I push an h.264 file to my TiVo Series3, although the push seems to be completed, the file doesn't actually get sent to my TiVo until much, much later -- not two or three minutes later, but an indeterminate amount of time later.
> 
> Today I was experimenting with different HandBrake options and tried pushing an output file. It didn't seem to arrive any time soon after it had been successfully pushed, so I gave up on it. I went about my business for a few hours and later came back and did some more experimenting. In the course of those later experiments, I noticed that my original pushes from earlier in the day were now in the Now Playing list!
> 
> (They were all of the same file, the only difference being that the file name was in quote marks for some pushes and did not have quote marks for others. It depended on whether the push was initiated from my browser or from my TiVo, I think, but I'm not sure which kind of push added the quotes.)
> 
> Anyway, at other times I've been able to do pushes which happen pretty close to immediately. Can anyone tell me why some pushes get long delayed? Thanks.


Transfers initiated from the pyTivo web interface are called "Pushes".

Transfers initiated from the the Tivo's Now Playing list are called "Pulls".

"Pulls" happen right away because all the communication is local to your home network. That is when you hit the buttons on the remote, the Tivo makes the request for the video right away.

"Pushes" are an extension of the Tivo online schedule system. That is when you initiate the transfer, pyTivo contacts a Tivo.com server and tells it to schedule the transfer. Your Tivo checks in with the Tivo.com server periodically and picks up new assignments. Once it has the assignment, it then talks to pyTivo to begin the transfer. This is why "Push" requires your Tivo.com username/password and the delay results from waiting for your Tivo to check in with Tivo.com.


----------



## epstewart

Rdian06 said:


> Transfers initiated from the pyTivo web interface are called "Pushes".
> 
> Transfers initiated from the the Tivo's Now Playing list are called "Pulls".
> 
> "Pulls" happen right away because all the communication is local to your home network. That is when you hit the buttons on the remote, the Tivo makes the request for the video right away.
> 
> "Pushes" are an extension of the Tivo online schedule system. That is when you initiate the transfer, pyTivo contacts a Tivo.com server and tells it to schedule the transfer. Your Tivo checks in with the Tivo.com server periodically and picks up new assignments. Once it has the assignment, it then talks to pyTivo to begin the transfer. This is why "Push" requires your Tivo.com username/password and the delay results from waiting for your Tivo to check in with Tivo.com.


Rdian06,

Thanks for your help. You stated very well what is crucially important for users to know about pyTivoX "pushes." I was already aware of most of it, but what I was fishing for was more along the lines of an explanation for why a push can apparently be delayed not just for a minute or two but for a much longer time.

I had several pushes queued yesterday while I was experimenting with HandBrake encodes of DVDs. I gave up on them, thinking they had somehow failed despite apparently succeeding. Many minutes had gone by after I initiated the pushes before I gave up. Some hours later I came back and found that all of the pushes had belatedly sent the files to my TiVo. Unfortunately, I don't know exactly how long they were queued, but, again, it was longer than several minutes.

For lurkers: I believe the Tivo.com server mentioned by Rdian06 is (for most people in the U.S.) mind.tivo.com. When you install pyTivoX on a Mac and run it, you can point your browser to http://localhost:9032/ and see a page appear that has a Web Configuration link (along with links to the shared directories you have put in pyTivoX). Clicking Web Configuration, you see a list of sections at upper left. Click on Global Server Settings, enter mind.tivo.com:8181 in the tivo_mind box and your TiVo Media Access Key number in tivo_mak. Make sure tivo_username contains the username (e-mail address) you use at tivo.com, and tivo_password contains your tivo.com password. Click the Save Changes button. When the editing page reappears, be sure to click the "Soft Reset pyTivo" button so that the changes take effect. Then you will be able to select any of your shared directories, navigate to a video, select a TiVo to push it to, and perform a push. After some indeterminate amount of time, you can go to the TiVo and find the pushed video in your Now Playing list. If the transfer is still incomplete, you should see the blue LED on the front of the TiVo.

My basic question, then, is why the "some indeterminate amount of time" can occasionally be very long. Is it possibly because the mind.tivo.com server gets overloaded?


----------



## wmcbrine

There is simply no way for us to know or control what happens on mind.tivo.com. All we can do is send the requests.


----------



## epstewart

wmcbrine said:


> There is simply no way for us to know or control what happens on mind.tivo.com. All we can do is send the requests.


Understood ... in case I need to say so, I meant no criticism - none whatever - of pyTivo or pyTivoX, which is/are great software.

The following is possibly due to my not having done enough "homework," or not having enough experience with open source software, but I'll suggest it anyway: It would be nice to see at the pyTivo wiki (without the casual user having to dig for it) a general discussion of how pushing differs from pulling, and how pushing from the computer end, via a browser, requires the user to provide configuration parameters that aren't expressly input when the pushing is initiated from a TiVo. When do video files get transcoded, when played/transferred natively? What is the right tivo_mind parameter, and does it depend on where one lives? Questions like these are essential, and (especially for pyTivoX users) it is not obvious at first that they are important. So I suggest adding to the Automatic install: pyTivoX discussion a link to a page discussing these matters.

Cheers ...


----------



## Stormspace

I'm late to this party, but i had a few questions and didn't want to slog through the entire thread. 

 What video fomat(s) does it work with, or is it mpeg2 only same as with Galleon?
 If it works with other Codec's than mpeg2, does it encode on the fly for Series2 TiVos since they require mpeg2?
 Can it use the file format galleon uses to set Show/Episode data?
 Does it run as a service, or do you have to be logged into the machine for it to run?
 How much system resources does it require? Kmttg kills my media server when it's running. 
 Can it be used with a Roku? (Hopeful/Just askin)


----------



## epstewart

epstewart said:


> Hi,
> 
> I have a problem with having pyTivoX push HandBrake h.264 output from my Mac to my TiVo Series3. When I do, I get video that is "jumpy" or "jerky" looking. It seems to "jump" or "jerk" slightly at regular intervals of a split second or so. Everything else is normal: audio is fine and in sync with video.
> 
> When I pull the same HB video output file from the TiVo Now Playing list to the TiVo, the video plays perfectly smoothly. I believe that in that scenario pyTivoX is transcoding the video from h.264 to MPEG-2. But in the push scenario (whether initiated from the TiVo or from my computer's web browser; it makes no difference) I believe my h.264 <filename>.mp4 file that was output from HB is left in its original form, and the h.264 decoder on the TiVo is causing playback to be "jumpy/jerky."
> 
> I'm using pyTivoX v. 1.3, incorporating StreamBaby, and HandBrake's GUI version for Mac v. 0.9.4 (not the CLI version). In HB I'm using settings copied from Tivo Native Video Compatibility, specifically under the heading "Handbrake encoding H.264 mpeg4 with AC3 audio for Tivo (from mpeg2 source)."
> 
> Specifically, I'm using
> 
> 
> 
> Code:
> 
> 
> ref=3:mixed-refs=1:bframes=3:b-pyramid=1:weightb=1:analyse=all:8x8dct=1:me=umh:subq=9:psy-rd=1,0.2:direct=auto:keyint=24:min-keyint=2:no-fast-pskip=1:no-dct-decimate=1
> 
> in the HB Advanced Settings pane, Current x264 Advanced Option string. I copied those from the Tivo Native Video Compatibility page.
> 
> In the HB Video pane, I'm using
> 
> Format: MP4 file
> Video Codec: h.264 (x264)
> Framerate (FPS): Same as source
> Quality: Average bitrate (kbps): 5000
> 
> In the HB Picture Settings window, under Size I'm using Anamorphic: Strict, which disables the other settings so they are at their default values. I don't fiddle with the Filters pane of the Picture Settings window.
> 
> In the Audio panel of the HB main window I select as the Audio Codec AC3 Passthru.
> 
> Can someone offer me some tips on how to get HandBrake to produce h.264 output that won't look "jumpy/jerky" when pushed to a TiVo? Many thanks in advance ...


In post #2747 quoted above I talked about getting jumpy/jerky video on my TiVo when I used HandBrake to make TiVo-compatible files from a DVD as recommended at Tivo Native Video Compatibility under the heading "Handbrake encoding H.264 mpeg4 with AC3 audio for Tivo (from mpeg2 source)." (I assume a DVD qualifies as an mpeg2 source.)

I have made some experiments and found the following works OK in HandBrakeCLI  Handbrake with a command-line interface, that is; not necessarily the GUI version  on a Mac:



Code:


HandBrakeCLI -i <path to VIDEO_TS folder on DVD> -t 1 -o "<path and filename of output file>.mp4" -f mp4 -O -e x264 -b 5000 -2 -T -a 1 -E ac3 -s 4 -F -x ref=2:bframes=2:me=umh -v --strict-anamorphic

The "advanced" *-x* options are much less complex than suggested by "Tivo Native Video Compatibility." I haven't pinned down which option or options in that recommendation caused the jerkiness, but I find the result of the HandBrakeCLI call I show above to be good enough for my purposes. The extra -x options are ones that ostensibly refine the quality of the output video, but I'm not sure they're needed.

During my experiments I found that a large range of HandBrakeCLI options (the regular options, not the *-x* advanced ones) do work as expected in making video files destined for a TiVo. You should feel free to experiment; what I suggested above is not holy writ.

I did find that omitting *--strict-anamorphic* gave me a video picture that was squeezed horizontally into a box with a 4:3 aspect ratio on the TiVo, though it played on my Mac in MPlayer Extended OSX with the correct dimensions. I was using a DVD that is itself anamorphically encoded at the time. I am not sure *--strict-anamorphic* is needed, or even works, with DVDs that are not anamorphic.

I also found to my chagrin that it is possible for gremlins to interfere with HandBrake. I left my DVD in the drive for two nights running and started to get weird video results during my experiments  until I just happened to eject the DVD, use the optical drive for another purpose, and put the DVD back in. It might be a good idea to eject and reinsert any DVD you want HandBrake to rip, for TiVo use or otherwise, if it has been sitting in the drive for any length of time.

Also, I got burned by failing to pay sufficient heed and originally downloading the 64-bit version of HandBrakeCLI, which gave me incomprehensible errors. My fairly recent-model iMac uses (surprise!) a 32-bit CPU. If yours does too, then make sure you get the 32-bit version of HandBrakeCLI!

Yet more (sorry): I have a lot of DVD rips from days gone by that do not play on my TiVo. Most or all came from HandBrake and are at least two years old. I don't exactly remember what profile/options I used then. I do know that most were not ripped to play on my iPod, even  now replaced by an iPhone  and I found out at some point the the iPod/iPhone is persnickety about .mp4/.m4v encoding options.

At some point I did begin doing iPod-compatible rips and/or converting the older rips to iPod compatibility in iTunes. Sadly, AFAIK none of these plays on a TiVo. They'll have to be redone ...

That said, I'm "dead chuffed" that I can now rip DVDs and play the rips on my TiVo!


----------



## txporter

@epstewart-

The advanced options for x264 (encoder used by Handbrake) are really meant to improve compression without loss of quality. If you are encoding DVD rips at 5000 kbps, then you have no need for any advanced compression options. When I convert DVD to H.264, I normally target around 2000 kbps. Your DVDs would look excellent at 5000 kbps even just encoding back to MPEG2.

Since nearly all Region1 DVDs are film content pulled down to NTSC framerates (23.976 fps --> 29.97 fps), the jerkiness that you are talking about is probably the telecined frames. Handbrake will happily IVTC 3:2 material for you (rebuild the original 23.976fps frames). When it does, you will see smooth playback without the jerkiness.

That being said, I have complained about subtitle shimmering (from hardcoded subs) on 23.976fps H.264 files on my TivoHD. I have found that playback of H.264 files with framerates lower than 25 fps exhibit a subtle up and down movement that makes static images appear to shimmer. This has apparently been fixed on the Tivo Premiere but I have been told that my bug report will very likely never be addressed on Series3/TivoHD. moyekj (author of kmttg) has also done a lot of work with H.264 files on his Series3 units. It sounds like the Series3 may be even more picky about H.264 files than the TivoHD. It is possible that the shimmering issue that I notice at 23.976fps is even worse on the Series3 and that might be the cause of your problems.

Download MediaInfo and look at a file that displays jerkiness and one that does not. What are the framerates?


----------



## Gavroche

Is there a way to use the file name as the episode title in default.txt?


----------



## wmcbrine

epstewart said:


> What is the right tivo_mind parameter, and does it depend on where one lives?


Most people won't need to mess with it, and shouldn't. Only New Zealand users and beta testers should set it, AFAIK.


----------



## wmcbrine

Stormspace said:


> I'm late to this party, but i had a few questions and didn't want to slog through the entire thread.


At least check out the home page, eh?



> _• What video fomat(s) does it work with, or is it mpeg2 only same as with Galleon?_


It can convert pretty much anything ffmpeg understands to the TiVo's requirements. That's what "transcoding server" means. Yes, on the fly. Yes, it supports Series 2, 3 and 4.



> _• Can it use the file format galleon uses to set Show/Episode data?_


I don't know what format Galleon uses. Please tell me. I've asked about it before, but got no response. (Please, don't make me reinstall Galleon to find out. The only thing I hate more than Galleon is TiVo Desktop.) I'm _guessing_ that it's a dump of the TiVoVideoDetails XML, with "filename.xml" describing "filename.mpg", sitting next to it in the same directory. I could implement support for that in about five minutes, but I've been holding off until I could get confirmation.

If the rest is right, but you don't know if the XML files are in TiVoVideoDetails format, just send me some to look at.

Apart from that, pyTivo has its own metadata format, as well as support for reading metadata from .TiVo files, and from several other kinds of media files.



> _• Does it run as a service, or do you have to be logged into the machine for it to run?_


It can run as a service if you set it up that way.



> _• How much system resources does it require? Kmttg kills my media server when it's running._


Python tends to be a lot less heavy than Java, IME (even though it's slower -- apart from startup, which is much faster), but YMMV.



> _• Can it be used with a Roku? (Hopeful/Just askin) _


With the Roku as a client, or server? pyTivo will only serve to TiVos (or to anyone else who wants to implement their protocols, but as of now, AFAIK, that's just TiVo). I'm not really familiar with the Roku, but if you can install random software on it, then it should be able to run pyTivo, yes.


----------



## wmcbrine

Gavroche said:


> Is there a way to use the file name as the episode title in default.txt?


Not at present, sorry.


----------



## Gavroche

wmcbrine said:


> Not at present, sorry.


Thats for the quick response. Just thought I'd ask in case I'd missed something.

Probably what I really need to do is write a converter to scrape the xml data from RSS feeds into filename.txt metadata format.

Oooooh I have a project!


----------



## txporter

Isn't the filename used if only SeriesId is set in the default.txt? You should be able to create a file named <whatever you want the folder name to be>.containerextension. In your default text file, just use whatever SeriesId you want for the folder. Push that initial file to set the name of the folder. Now, whenever you push anything from that PC folder, it should group in the folder of that first pushed file and be called whatever the filename is. (Remember that if you delete everything from the folder and leave the folder dry on the Tivo for ~2-3 weeks, it will lose the group info and you will need to start over with your initial file to re-create the folder name.)


----------



## wmcbrine

wmcbrine said:


> I don't know what format Galleon uses. Please tell me. I've asked about it before, but got no response. (Please, don't make me reinstall Galleon to find out. The only thing I hate more than Galleon is TiVo Desktop.) I'm _guessing_ that it's a dump of the TiVoVideoDetails XML, with "filename.xml" describing "filename.mpg", sitting next to it in the same directory. I could implement support for that in about five minutes, but I've been holding off until I could get confirmation.
> 
> If the rest is right, but you don't know if the XML files are in TiVoVideoDetails format, just send me some to look at.


Anybody?


----------



## lrhorer

wmcbrine said:


> Anybody?


AFAIK, everything is bundled in the filename. The format is: SeriesName - EpisodeName (Recorded DOW MTH DD YEAR HR MINAM/PM CHANNEL).TIVO/MPG It looks like it might be possible to embed the episode number, as well, but I don't know how. I also don't know of any way to embed the description.


----------



## lrhorer

The pyTivo forum seems to be down, so I'll post this here. Now, I'm not big into eye candy, and functionally pyTiVo's web server push utility is really great, but I wonder if it wouldn't be possible to spiff it up a bit? Something a little along the lines of TiVoWebPlus' NPL listing would be really nice, although I don't know how difficult the channel logos would be. If nothing else, a little splash of color would be nice, though, and shouldn't be too difficult, at all. At the very least, I find the bright yellow and bright white on black text easier to read than the black on gray of pyTivo's web utility.


----------



## wmcbrine

lrhorer said:


> At the very least, I find the bright yellow and bright white on black text easier to read than the black on gray of pyTivo's web utility.


Yuck. :down: But, you can set your own color preferences in content/main.css. (This is pretty new -- the style elements used to be mixed in with the various templates.)


----------



## lrhorer

wmcbrine said:


> Yuck. :down:


You've got to be kidding me. You *REALLY* prefer black on white to TiVoWebPlus' color scheme? De gustibus non est disputandum, I suppose.



wmcbrine said:


> But, you can set your own color preferences in content/main.css. (This is pretty new -- the style elements used to be mixed in with the various templates.)


OK, I picked up the latest pyTivo tarball and installed it. I don't know very much about style sheets more than what they are and roughly speaking what they can do. I've played around with the variables defined by default in main.css, but I don't know how to change the text color for the folder links. I also would prefer the comments text to start to the right of the title text. That's a lot of wasted screen real estate on the title line. Also, is it possible for the comments text to have a different color than the title text? Finally, is it possible to insert a 1 pixel line between each program entry? This is much easier to read and less distracting than shading the background of each program field slightly differently. In short, as I said, I would prefer a layout and color scheme closer to the TiVoWebPlus NPL shown below. What .css parameters could I embed into the file to get a close as possible?

Edit: I figured out the link colors.

Link to TiVoWebPlus image


----------



## wmcbrine

Please size that pic down, or make it a link or something. It makes the whole page too wide.


----------



## lrhorer

wmcbrine said:


> Please size that pic down, or make it a link or something. It makes the whole page too wide.


It is sized down. It's only 1402 x 1187 pixels, which is less than 75% of the minimum screen resolution I employ. Nonetheless, I've made it a link.


----------



## wmcbrine

lrhorer said:


> It is sized down. It's only 1402 x 1187 pixels, which is less than 75% of the minimum screen resolution I employ.


And yet, it's still almost 40% wider than the most common screen/browser window size.



> _Nonetheless, I've made it a link._


Thank you.



> _You *REALLY* prefer black on white to TiVoWebPlus' color scheme?_


Yes, really. By a lot. And I have issues with that screen shot beyond the color scheme.



> _I don't know very much about style sheets more than what they are and roughly speaking what they can do._


There are many places to learn about CSS, and if you want to make pyTivo look more like TWP (which also uses CSS), then that's what you should do.



> _I also would prefer the comments text to start to the right of the title text. That's a lot of wasted screen real estate on the title line._


I assume you mean the description. You only perceive this as "wasted space" because of your very wide screen. Anyway, to change this, you'll have to take out a 
tag from plugins/video/content/container.xsl.



> _Also, is it possible for the comments text to have a different color than the title text? Finally, is it possible to insert a 1 pixel line between each program entry?_


Yes, certainly, those things are possible. I'm not planning to do them, but you're welcome to.



> _This is much easier to read and less distracting than shading the background of each program field slightly differently._


I disagree. The alternating backgrounds help you keep track of your place in the list, which the grid doesn't do at all. (Of course you could have both.)


----------



## jcthorne

I also think the tivoweb screen shot is more difficult to read and runs off the end of the page. The icons are cute perhaps but otherwise the pytivo screen presents an easier to reference list with proper word wrap etc.

Yes, black on white text is easier to read than white on black.


----------



## lrhorer

wmcbrine said:


> Yes, really. By a lot. And I have issues with that screen shot beyond the color scheme.


Such as? It is efficient and compact.



wmcbrine said:


> There are many places to learn about CSS, and if you want to make pyTivo look more like TWP (which also uses CSS), then that's what you should do.


Reading up on style sheets won't necessarily tell me what I need to know. Indeed, from what I have been able to determine, they're pretty trivial, but triviality of the form doesn't mean it will tell me what I need to know about the system in question.



wmcbrine said:


> I assume you mean the description. You only perceive this as "wasted space" because of your very wide screen.


It's not a matter of perception. It is a matter of objective fact. With the TiVoWebPlus format, I get on average about 29+ programs listed per page. With the default pyTivo format, I get about 16. That's almost a factor of two. I also find it much more difficult to home in reliably on the titles. My brother complained rather forcefully of the same thing without any prompting from me when I showed him the screen yesterday.



wmcbrine said:


> Anyway, to change this, you'll have to take out a
> tag from plugins/video/content/container.xsl.


See my point about the style sheets above. Nowhere would learning about style sheets give me the info about which file to edit, which is what is required. The only problem I have with this is with further development of pyTivo, I'll have to re-edit the .xsl file if / when it ever changes. Copying over the old file is of course simple, but then I would lose any new functionality deriving from that file, or possibly even break something.

Thank you, though.



wmcbrine said:


> I disagree. The alternating backgrounds help you keep track of your place in the list, which the grid doesn't do at all. (Of course you could have both.)


They're closer to being camouflage. It's even worse when the window is narrow. I found myself searching for the titles, rather than seeing them instantly. Ignoring the description is much easier if the description text is a different color. I'm not entirely certain what you mean by "keep track of your place in the list". I don't really need to keep track of my place in the list, per se. After all, for the most part all one wants to do is read the title and then go one to the next title. Finding that next title is much more difficult when the screen is both filled with additional lines and alternating colors. I find it takes me easily three times as long to scan the page for titles, and because my eyes have to jump around a lot, it even gives me a bit of a headache.


----------



## lrhorer

jcthorne said:


> I also think the tivoweb screen shot is more difficult to read and runs off the end of the page.


Nothing runs off the end of any page. Both utilities are HTML based, and the fields in question are simple text, and so both behave identically as far as formatting is concerned.



jcthorne said:


> The icons are cute perhaps but otherwise the pytivo screen presents an easier to reference list with proper word wrap etc.


Word wrapping is the same on both.



jcthorne said:


> Yes, black on white text is easier to read than white on black.


If one is speaking of flat text, then this is true. We're not talking about flat text, though. We're talking about differentiated text. It's vastly easier to categorically visually ignore a particular information type if the text for the type is a different color. Since far more that 90% of the text in this case is constituted by usually irrelevant* descriptions, making it easy to ignore is paramount. One could do this by making the text background different, but that would really be visually confusing. Barring this, it effectively means the background needs to be dark and the foreground light colors.

* - I'm not saying having the description text available isn't handy or desirable. Indeed, it is essential. Having to drill into each listing of interest to see what it might be is dreadful. It's just that most of the time it isn't of interest, and needs to be easily ignored. When it is of interest, it needs to be there without user intervention.


----------



## lrhorer

wmcbrine said:


> And yet, it's still almost 40% wider than the most common screen/browser window size.


But demonstrating some of my points calls for it to be closer to my screen sizes. I don't have any monitors capable of less than 1920 pixels horizontal resolution, and both of my TV displays are 1080i.


----------



## reneg

Given N number of people, there will be at least N+1 opinions on what makes a UI good. 

The source code is available so those that want to customize it can do so. Don't expect the primary caretaker of the code to accept your change requests based on your opinion. If you want to get changes worked back into the mainline codebase, make the effort and try to understand the underlying code. Propose constructively and try to work cooperatively.

For instance, what is the minimum display resolution that should be required for a UI to operate efficiently? Remember that not everyone has a massive desktop work area. Is 1024x768 enough or does it have to be bigger?


----------



## Rdian06

lrhorer said:


> But demonstrating some of my points calls for it to be closer to my screen sizes. I don't have any monitors capable of less than 1920 pixels horizontal resolution, and both of my TV displays are 1080i.


lrhorer, we respect your opinion, but realize you are in the minority when it comes to browser display size. Here are the w3schools stats (based on people who visit their site):

http://www.w3schools.com/browsers/browsers_display.asp

http://www.w3schools.com/browsers/browsers_resolution_higher.asp

The stats show that the sweet spot is between 1024 and 1280 horizontal.

My primary computer displays are 1920x1080 or 1920x1200. However, I rarely allow my web browser to take up the full screen. Normally, I've got one open to half the horizontal screen size.

Some layouts lend themselves better to dealing with resizing, but creating these aren't easy and normally involve annoying trade-offs.

We remind you again that pyTivo is free. If you want things your way and the devs don't feel it's a priority, then as reneg said, dig in and figure out how to do it. Or sponsor someone to do it.


----------



## lrhorer

reneg said:


> Given N number of people, there will be at least N+1 opinions on what makes a UI good.


That doesn't make much sense. Someone has to vote twice in order for it to be true. It's also an exaggeration in any case. There will tend to be groups of people who like certain things a certain way. Nevertheless, regardless of how many of these groups there may be, the more flexible - which is usually to say, "User configurable" an interface is, the better.

Perhaps more fundamentally, however, an opinion is just that, an opinion, and often it is a personally based one. What's important (not only in this forum) is that people express those opinions and defend them - one would hope effectively. I have expressed my opinion and its related desires, along with the justification for same. 'Not that you or anyone else is required to express their opinions, and no offense intended, but I have to wonder why you decided to lecture me on the nature of opinions instead of posting your own opinion and defending it.



reneg said:


> The source code is available so those that want to customize it can do so.


Yes, and I already have. Based on William's input, I have edited the files to more closely approximate the desired target result. The main point is, unless some provisions are made in the primary code to make these changes a user configurable option, then every time I download a new version of the software, I will have to go back and modify the code once again. Code modifications grow cold on one, especially when one isn't the primary maintainer and doesn't modify the code but once every few months or so. Of course I can do so, and if I have to I will, keeping a small changelog on my system so I don't have to spend as much time searching for the files and the code segments which need to be changed.



reneg said:


> Don't expect the primary caretaker of the code to accept your change requests based on your opinion.


Oh, that's nonsense! All feature requests are nothing more or less than a request for a code change based upon the opinion of the user making the request. It's ultimately the developer's decision whether or not to honor that request, but nothing more than a desire on the part of the user is required to make a feature request reasonable.



reneg said:


> If you want to get changes worked back into the mainline codebase, make the effort and try to understand the underlying code.


'And that's just ridiculous. In my case, I don't mind doing just that, but then I am an engineer. Expecting the average pyTivo user to undertake that sort of burden is patently absurd.



reneg said:


> Propose constructively and try to work cooperatively.


I'm afraid I quite fail to see how I have done anything else. I have neither sought to insult or belittle anyone (certainly not William), nor have I made any unreasonable demands of anyone, nor have I refused to offer any additional information or undertake any specific tasks - not that anyone has asked.



reneg said:


> For instance, what is the minimum display resolution that should be required for a UI to operate efficiently?


That's more or less an irrelevant question given the nature of HTML paragraph structure. Ideally, the code should work effectively with *any* display resolution. For it to work more poorly with greater resolutions is not the best solution, but the current solution also works more poorly with narrow screens. The fact placing the text on one line and the description on the other results in less of an impact on efficiency with narrower windows doesn't mean it is not impacted at all even with narrower windows. With narrow windows (depending on the actual length of the descriptions), the difference may be an average of, say, four lines per program entry instead of three. With a wider display, the average falls toward one line per program entry if the text is all placed as a single paragraph, whereas the absolute minimum for formatting it as two paragraphs is two lines. In the limit of descriptions shorter than the available line length after the title is displayed, it represents a factor of two to one.



reneg said:


> Remember that not everyone has a massive desktop work area.


That's completely irrelevant. Putting all the text in a single paragraph, rather than two, results in greater efficiency even for the very narrowest windows. It's just the difference between one paragraph and two is not as great for a narrow screen as it is for a wide screen. What's more, the desktop work area doesn't necessarily limit the size of the window.



reneg said:


> Is 1024x768 enough or does it have to be bigger?


Some applications, like calculators or terminal emulators, can't benefit from an expandable window. Such applications don't need to worry about the maximum window size, only the minimum window size. Some can even effectively employ a fixed window. This is not one such application. When I am using a Linux workstation, I may expand the window to 3000 pixels or more. Of course, being the goofy OS that it is, Windows doesn't allow this, but I avoid Windows as much as possible.


----------



## reneg

lrhorer, you win.


----------



## lrhorer

Rdian06 said:


> lrhorer, we respect your opinion, but realize you are in the minority when it comes to browser display size.


Well, first of all, not all that much. By the stats you posted, more than 22% of users have screen resolutions of 1440 pixels or greater. That's a very significant minority. More to the point, however, we're not talking about a request which works better at high resolutions and poorly at low resolutions. We are talking about a request that works significantly better at low resolutions and much better at high resolutions. That means everyone benefits by my suggestion, not just the 20+% who have large windows.

You may want to argue that my criteria for "better" are different than yours or the average users, but as of yet I haven't seen anyone else offer a competing criteria for "better". My suggestion puts up as much as twice the amount of information on the screen as the default with no negative impact to read-ability, and by my criteria a considerable positive impact to same. (The coloration is a different issue.)



Rdian06 said:


> My primary computer displays are 1920x1080 or 1920x1200. However, I rarely allow my web browser to take up the full screen. Normally, I've got one open to half the horizontal screen size.


Why anyone would do that is beyond me. At best, you're just wasting a good chunk of the money you spent on the monitor while simultaneously limiting the amount of information available to you without intervention. You are free, however, to handle your apps any way you like. I am only asking for the same privilege, or are only people who work like you do to be considered? In this specific instance, however, I am asking for something which would benefit YOU as well. 'Not as much as it benefits, me, perhaps, but really, what's the down side to making this work for everyone?



Rdian06 said:


> Some layouts lend themselves better to dealing with resizing, but creating these aren't easy and normally involve annoying trade-offs.


This is one which most readily does so. Other than changing the style sheet in plugins/video/content, all I had to do was remove one line in the code and make tiny changes to two others. Making it user configurable will only require a few additional lines of code.



Rdian06 said:


> We remind you again that pyTivo is free. If you want things your way and the devs don't feel it's a priority, then as reneg said, dig in and figure out how to do it.


As I mentioned, I already did so. It took less time than posting in this forum, and most of that was due to my unfamiliarity with style sheets and my very modest capability with HTML. The point is, it won't stick unless the main code is changed.



Rdian06 said:


> Or sponsor someone to do it.


I have no problem with donating a few dollars, although funds are tight for me right now. That said, it is *not* appropriate that non-configurable changes be made on my behalf just because I have more money than someone else. Making them configurable, or making them because a very large majority of users feel them to be useful, is appropriate, IMO. Either way, the donation is appropriate, but I don't want William to go about making unpopular absolute changes just because I fork over some cash.


----------



## lrhorer

reneg said:


> lrhorer, you win.


I hope not because you feel dispirited about continuing a debate, but because I have convinced you of the merit of my position. It's your absolute right to bow out for whatever reason, of course, and your motivation for doing should not be criticized by me or anyone else.


----------



## wmcbrine

lrhorer said:


> Such as? It is efficient and compact.


Frankly, I think it's hideous. Very busy, and poorly laid out.

If there's a visual model for the Push and ToGo screens, it's the TiVo's built-in web server, not TiVoWebPlus.



> _It's not a matter of perception. It is a matter of objective fact._


No sir. "Wasted" is a subjective judgment. Some people actually value well-placed white space over maximum information density.



> _Ignoring the description is much easier if the description text is a different color._


The titles are in boldface, and in a larger font than the description. They should stand out dramatically. Are you really not seeing this? Maybe I need a pyTivo screen shot from your system as well...


----------



## Rdian06

lrhorer said:


> My suggestion puts up as much as twice the amount of information on the screen as the default with no negative impact to read-ability, and by my criteria a considerable positive impact to same. (The coloration is a different issue.)


Some of us prefer NOT to be overloaded with that much information on one page. Your opinion of read-ability does not match mine. Nor does it appear to match the others who have commented.



lrhorer said:


> Why anyone would do that is beyond me. At best, you're just wasting a good chunk of the money you spent on the monitor while simultaneously limiting the amount of information available to you without intervention. You are free, however, to handle your apps any way you like. I am only asking for the same privilege, or are only people who work like you do to be considered? In this specific instance, however, I am asking for something which would benefit YOU as well. 'Not as much as it benefits, me, perhaps, but really, what's the down side to making this work for everyone?


First of all, I multi-task so my web browser is NOT the only window I have open at a given time. Sometimes I have two browser windows open so I can cross reference data. Other times I have other apps open filling the rest of the space. Not to mention that most of the sites I visit purposely choose to eat up the extra space with empty borders on the left and right - maintaining the proportions of the center area where the text is. If a line goes on too long before wrapping, I find it fatiguing to read because my eyes lose their place when they finally reach the end of the line and have to find the beginning of the next. Maybe it's a consequence of all the portrait oriented text I've been accustomed to in my life, but that's how I'm wired now. And I suspect many would agree with me wrt line length.

"what's the down side to making this work for everyone?" Opportunity cost. Developer resources are finite and are prioritized how the developer sees fit for an open source project. Even small changes have consequences. Either someone will come to depend on the functionality and complain if it later gets broken, or it could constrain other uses or evolution of that code that you may not be thinking about. I'm not saying your changes will have these consequences, but I'm just saying there may be other factors you're not considering that the dev has.



lrhorer said:


> This is one which most readily does so. Other than changing the style sheet in plugins/video/content, all I had to do was remove one line in the code and make tiny changes to two others. Making it user configurable will only require a few additional lines of code.


I'm happy you figured out how to make the changes you wanted yourself. Now if you are inclined to make it configurable, you can either ask wmcbrine to include it or you can post it to the pyTivo forum under Hacks. Personally, I don't need or want this so I could care less.



lrhorer said:


> I have no problem with donating a few dollars, although funds are tight for me right now. That said, it is *not* appropriate that non-configurable changes be made on my behalf just because I have more money than someone else. Making them configurable, or making them because a very large majority of users feel them to be useful, is appropriate, IMO. Either way, the donation is appropriate, but I don't want William to go about making unpopular absolute changes just because I fork over some cash.


I never said that you could pay to have the changes foisted onto the majority. What I was trying to express was that if you didn't have the expertise or the time to do it yourself, you could sponsor someone to do it for your use. If those sponsored changes were or weren't accepted by the pyTivo developers, then that is a different issue.

Now I'm done procrastinating what I'm supposed to be doing, so I'll shut up and let this die.


----------



## wmcbrine

I've done a little bit more with moving style elements into CSS, and I think lrhorer should be able to do everything he wants via content/main.css now (although I haven't tried to replicate his preferences). These were changes I needed to make anyway (well, I probably wouldn't have done the one that will let him move up the description, but I'm fine with it); I've been working towards themability for a while, but it wasn't quite ready yet. It's still not, really, but whatever.

The changes are only on my netbook right now, and will be uploaded to my repo later tonight.


----------



## lrhorer

wmcbrine said:


> Frankly, I think it's hideous. Very busy, and poorly laid out.


Well, I disagree. That said, it's a personal preference.



wmcbrine said:


> If there's a visual model for the Push and ToGo screens, it's the TiVo's built-in web server, not TiVoWebPlus.


That's horrible in the extreme to my eye. So, for that matter is TiVo Desktop, yet there are plenty of people out there who - quite inexplicably to me - prefer it to pyTivo.



wmcbrine said:


> No sir. "Wasted" is a subjective judgment.


All judgments are to one extent or other subjective. What is not subjective at all is that scanning from the beginning to the end of the NPL can take twice as many keystrokes and considerably more time at 16 programs per page than at 29, even if everything else were equal. When 3 to 6 people (occasionally more) are reading the list, top to bottom, trying to decide what to watch tonight, the difference is significant.

Let me ask this: Do you actually read, in the ordinary sense, the page? I do not. All my family and I do is scan quickly the titles, pausing only to read (independently) a synopsis here or there. When 3 to 6 people are reading the list, it is important the screen hold as much information as possible, or else it quickly becomes quite tedious. With the TiVo NPL, it's often difficult to get beyond the "F"s before people start to get frustrated. Using the default pyTivo list, it's difficult to get beyond the "C"s before people begin to fidget. Last night, using the default pyTivo scheme, we couldn't make it beyond the "B"s. With the TWP screen, at least we can usually get to the "J"s or the "K"s before the sighing and moaning starts. If I stretch the window beyond the screen borders, we get even further, although then, of course, reading any description becomes much more tedious, so it's not the best trade-off imaginable.



wmcbrine said:


> Some people actually value well-placed white space over maximum information density.


In the best of worlds, wouldn't it be that both camps can choose according to their desires?



wmcbrine said:


> The titles are in boldface, and in a larger font than the description.


They are.



wmcbrine said:


> They should stand out dramatically.


Not so much, especially when there are many lines of description text and doubly so if one is not sitting directly in front of the TV, especially when they are projection sets, which mine are.



wmcbrine said:


> Are you really not seeing this?


I see there is a difference between the two texts, yes, of course. Merely being a different font does not, however, make it easier to accurately jump from one title to the next in a fraction of a second, all the way down the screen. I have to search to find the next title. Yes, it only takes a half second or so, but do it 4000 times, and it adds up in a hurry. If almost all the programs only take up one line and the titles are by and large the only thing on the left side of the screen, it just makes it much easier on the eyes and the brain. When there is only very occasionally any text or variable space vertically between the sets of titles, it's easier still.

It's very hard to discern emotional context in a forum like this, so at this point I want to emphasize that I am not saying your choices for your application are in any sense "wrong". For your purposes, they may suit the application better than my requested options. What's more, as the developer, it's entirely your right to decide for or against any options you wish. It's also not as if I cannot edit the style sheets to better suit my own purposes every time I download a new version, or that I won't do so. If I have to, I most certainly will. Nor will it lessen my opinion of you as a developer, a forum participant, or a human being if you decide unilaterally against any support whatsoever for my request.



wmcbrine said:


> Maybe I need a pyTivo screen shot from your system as well...


OK. Of course, it's variable depending on what window size and text magnification I choose (the living room screen is both much smaller and further away from the viewers than the screen in the theater). Note also the degree of difficulty in distinguishing the two fonts varies with the text magnification. It's much more difficult in the living room than in the theater.

Here is a sample of the default config.

Here is a sample of the config I created this morning.

Both of these are at font magnifications I might use in the livingroom.

Here is an example of a text magnification I might use in the theater. Note it is much easier to differentiate the two fonts - even given the different colors, but the description text would be too small for many people to comfortably read in the living room.

Note with the default scheme at the same magnifaction shown here, it's much easier than with the very first image above, but still more difficult than with the image just previous.


----------



## wmcbrine

You're displaying it on a TV, and going over it with your family? That's strange to me. Why not just view it from the TiVo, then?

The web interface is not designed with TV viewing in mind, no.


----------



## PaulS

lrhorer said:


> Well, I disagree. That said, it's a personal preference.
> 
> That's horrible in the extreme to my eye. So, for that matter is TiVo Desktop, yet there are plenty of people out there who - quite inexplicably to me - prefer it to pyTivo.
> 
> All judgments are to one extent or other subjective. What is not subjective at all is that scanning from the beginning to the end of the NPL can take twice as many keystrokes and considerably more time at 16 programs per page than at 29, even if everything else were equal. When 3 to 6 people (occasionally more) are reading the list, top to bottom, trying to decide what to watch tonight, the difference is significant.
> 
> Let me ask this: Do you actually read, in the ordinary sense, the page? I do not. All my family and I do is scan quickly the titles, pausing only to read (independently) a synopsis here or there. When 3 to 6 people are reading the list, it is important the screen hold as much information as possible, or else it quickly becomes quite tedious. With the TiVo NPL, it's often difficult to get beyond the "F"s before people start to get frustrated. Using the default pyTivo list, it's difficult to get beyond the "C"s before people begin to fidget. Last night, using the default pyTivo scheme, we couldn't make it beyond the "B"s. With the TWP screen, at least we can usually get to the "J"s or the "K"s before the sighing and moaning starts. If I stretch the window beyond the screen borders, we get even further, although then, of course, reading any description becomes much more tedious, so it's not the best trade-off imaginable.
> 
> In the best of worlds, wouldn't it be that both camps can choose according to their desires?
> 
> They are.
> 
> Not so much, especially when there are many lines of description text and doubly so if one is not sitting directly in front of the TV, especially when they are projection sets, which mine are.
> 
> I see there is a difference between the two texts, yes, of course. Merely being a different font does not, however, make it easier to accurately jump from one title to the next in a fraction of a second, all the way down the screen. I have to search to find the next title. Yes, it only takes a half second or so, but do it 4000 times, and it adds up in a hurry. If almost all the programs only take up one line and the titles are by and large the only thing on the left side of the screen, it just makes it much easier on the eyes and the brain. When there is only very occasionally any text or variable space vertically between the sets of titles, it's easier still.
> 
> It's very hard to discern emotional context in a forum like this, so at this point I want to emphasize that I am not saying your choices for your application are in any sense "wrong". For your purposes, they may suit the application better than my requested options. What's more, as the developer, it's entirely your right to decide for or against any options you wish. It's also not as if I cannot edit the style sheets to better suit my own purposes every time I download a new version, or that I won't do so. If I have to, I most certainly will. Nor will it lessen my opinion of you as a developer, a forum participant, or a human being if you decide unilaterally against any support whatsoever for my request.
> 
> OK. Of course, it's variable depending on what window size and text magnification I choose (the living room screen is both much smaller and further away from the viewers than the screen in the theater). Note also the degree of difficulty in distinguishing the two fonts varies with the text magnification. It's much more difficult in the living room than in the theater.
> 
> Here is a sample of the default config.
> 
> Here is a sample of the config I created this morning.
> 
> Both of these are at font magnifications I might use in the livingroom.
> 
> Here is an example of a text magnification I might use in the theater. Note it is much easier to differentiate the two fonts - even given the different colors, but the description text would be too small for many people to comfortably read in the living room.
> 
> Note with the default scheme at the same magnifaction shown here, it's much easier than with the very first image above, but still more difficult than with the image just previous.


Geez, man, give it a break. 

It's quite apparent that you're the only one who wants this change. 
If you feel like making the change to your local setup, feel free.
That's what open source is all about.

However, continually harping about this change with your multi-thousand word dissertations isn't doing anything but polluting this thread. Can you please take it off-line ?


----------



## gonzotek

PaulS said:


> ... with your multi-thousand word dissertations isn't doing anything but polluting this thread. Can you please take it off-line ?


Just 767 words, according to a cut and paste JS word count page. While I don't personally agree with the color choice, lrhorer has been polite and as he pointed out, has tried suggestions and provided examples as requested. wmcbrine has already done some work to make it easier for lrhorer (and others) to accomplish what they want and has indicated that theming is something he still has intentions to complete:


wmcbrine said:


> I've done a little bit more with moving style elements into CSS, and I think lrhorer should be able to do everything he wants via content/main.css now (although I haven't tried to replicate his preferences). These were changes I needed to make anyway (well, I probably wouldn't have done the one that will let him move up the description, but I'm fine with it); I've been working towards themability for a while, but it wasn't quite ready yet. It's still not, really, but whatever.
> 
> The changes are only on my netbook right now, and will be uploaded to my repo later tonight.


 It's extremely rare that any program has exactly the features and design that is perfect for everyone. I think wmcbrine does a good job of evaluating requests and accommodating them if they make sense to the overall pyTivo picture. I don't think it's appropriate to ask lrhorer to 'take it off-line'. If his posts are that unhelpful to you, use the ignore feature; but personally I'm following this particular discussion in this thread closely and am interested in his continued commenting. While I pretty much agree with wmcbrine that TiVoWebPlus has a cramped and visually unappealing page layout, I think the goal of giving pyTivo the ability to look good (and operate well) at various resolutions and in various contexts (cell phone, small and large browser windows, tv, etc.) is a highly desirable one.


----------



## PaulS

gonzotek said:


> It's extremely rare that any program has exactly the features and design that is perfect for everyone. I think wmcbrine does a good job of evaluating requests and accommodating them if they make sense to the overall pyTivo picture. I don't think it's appropriate to ask lrhorer to 'take it off-line'. If his posts are that unhelpful to you, use the ignore feature; but personally I'm following this particular discussion in this thread closely and am interested in his continued commenting. While I pretty much agree with wmcbrine that TiVoWebPlus has a cramped and visually unappealing page layout, I think the goal of giving pyTivo the ability to look good (and operate well) at various resolutions and in various contexts (cell phone, small and large browser windows, tv, etc.) is a highly desirable one.


Mostly agreed. William has done a phenomenal job with pyTivo, and he has my sincere thanks. There isn't a day that I don't use pyTivo. While I would fully endorse a move to beautify or extend pyTivo, I would hate for it to end up looking like TiVoWebPlus (IHMO a cramped mess).

My request to take the discussion off-line was directed at lrhorer simply because the thread has devolved into a back-n-forth between lrhorer & wmcbrine, and ceased to be a community discussion. If this were a feature request that seemingly had more support, I wouldn't mind. However, lrhorer's long-winded posts and continuous posting have simply dominated this thread, to the point of nearly excluding everyone else.

There's a dedicated pyTivo forum for just this reason. This topic could easily be continued there, or via PM, or via mail.


----------



## gonzotek

PaulS said:


> Mostly agreed. William has done a phenomenal job with pyTivo, and he has my sincere thanks. There isn't a day that I don't use pyTivo. While I would fully endorse a move to beautify or extend pyTivo, I would hate for it to end up looking like TiVoWebPlus (IHMO a cramped mess).
> 
> My request to take the discussion off-line was directed at lrhorer simply because the thread has devolved into a back-n-forth between lrhorer & wmcbrine, and ceased to be a community discussion. If this were a feature request that seemingly had more support, I wouldn't mind. However, lrhorer's long-winded posts and continuous posting have simply dominated this thread, to the point of nearly excluding everyone else.
> 
> There's a dedicated pyTivo forum for just this reason. This topic could easily be continued there, or via PM, or via mail.


Agreed it's probably best broken off as a separate discussion, preferably (for me) in the pyTivo forum so that others can participate as desired.


----------



## orangeboy

Post #2,790:
At this point in the thread, I would think that any discussion about pyTivo is fair game, be it feature request, bug report, jeers or accolades. A couple/few posts discussing (customizable?) cosmetic changes is a very small percentage, and is hardly dominating a 93 page thread.


----------



## lrhorer

wmcbrine said:


> You're displaying it on a TV, and going over it with your family? That's strange to me. Why not just view it from the TiVo, then?


Because the TiVo only updates 7 programs at a time on the screen, with no descriptions up top. Not only that, but the screen update, especially for network sources like pyTivo shares, is dreadfully slow. What's worse, many titles are chopped off by the TiVo NPL.

If pressing <PgDn> more than 200 times to view the list is tedious, doing it 600 times is horribly so. What's worse, inevitably about every 20th title or so, someone will want to know more details of the program. In the TiVo NPL, that means drilling into the info screen. If the program happens to be one of a large series (i.e. Star Trek: The Next Generation with 178 episodes), you know what happens. Even if not, everyone else has to sit on their hands until Curious has taken in the information. With upwards of 20 titles on a screen, the impact is much smaller. While Curious is reading her program description, most of the others are just browsing the titles. There's also a good chance that while Curious is reading about The Abyss, Inquisitive might be musing over the description for Absence of Malice. This cuts the "details" time by more than half.



wmcbrine said:


> The web interface is not designed with TV viewing in mind, no.


The distinction between "Computer Monitor" and "TV Display" is blurring rather quickly. Certainly I do a lot of computer work having nothing to do with video in my living room and my theater. In any case, the pyTivo web interface really serves no other purpose for me. If I want a listing of the videos on the server for my own use, I can just type `ls *.mpg | more`


----------



## lrhorer

Rdian06 said:


> Some of us prefer NOT to be overloaded with that much information on one page.


Twenty-six titles, typically less than 780 characters (including white space), isn't an overload of information in anyone's book. The whole point of making the description text diminutive and indistinct is to make it readily ignored by the brain out of hand. It becomes wall paper; not even perceptually part of the information at hand.



Rdian06 said:


> Your opinion of read-ability does not match mine. Nor does it appear to match the others who have commented.


What's your point? I can also just about guarantee I drive a different car than anyone else here. Was GM foolish for making the car I drive? Many of us have somewhat unique preferences.



Rdian06 said:


> First of all, I multi-task so my web browser is NOT the only window I have open at a given time.


That's not relevant. Unless I have just rebooted within a short time, I rarely have fewer than 20 windows open. At work I often have more than 50, and often 4 or 5 active desktops.



Rdian06 said:


> Sometimes I have two browser windows open so I can cross reference data.


So do I. When I am doing comparative work, I make the active window smaller. When I'm not, I maximize it. That's what that little box in the upper right corner of the window does. As it happens, I never do any comparative work when using pyTivo's web interface. If you do, more power to you. Why are you trying so hard to make the way I prefer to do it less effective, when it doesn't impact you? If for some reason I want to use a smaller window, then I would:










Why I would do that when we are trying to accomplish absolutely nothing more than decide what program we are going to watch this night is beyond me, but I could if I wanted, and no one is stopping you from making it your norm. It's horribly inefficient, but even so, I still prefer it to the default:










Note that even in this narrow and somewhat short window, the default shows four fewer titles than my preference. With more than 3000 titles from which to choose 11 per page versus 15 per page is an important difference. Even so, I never suggested it should be cast in stone either way. I only requested that it be configurable. Why is it such a horrible notion to you that I and others might be allowed to do things differently without a lot of trouble to ourselves?



Rdian06 said:


> If a line goes on too long before wrapping, I find it fatiguing to read because my eyes lose their place when they finally reach the end of the line and have to find the beginning of the next.


This would be a valid point if it we were talking about reading a book (although I seem to be more tolerant of longer lines than many people). Excessively wide text can be difficult to read, especially if it is small and the "paper" has no rulings. For this application, however, it's largely a moot point. I don't think many people spend hours pouring over their pyTivo share list, reading every single line of every description. We certainly never do. Quite to the contrary, generally none of us reads more than 1 description in 20. For the most part, the descriptions are ignored, until every once in a while, one isn't. Not only that, but as often as not, one may only read the first sentence or two of the text, so the return scanning error is not relevant. This especially since, if you will notice, with a wider screen, many of the descriptions only take up one line.



Rdian06 said:


> "what's the down side to making this work for everyone?" Opportunity cost. Developer resources are finite and are prioritized how the developer sees fit for an open source project.


We're not talking about a major re-write, here. It took me less than two hours to read up on style sheets, find the areas I needed to change (with a nudge from William for which I am grateful) and make the changes. It wouldhave taken me a fraction of that time to make the changes if I had ever edited a style sheet before in my life, or had ever previously browsed over the style sheets in pyTivo. Adding an additional if statement or two would of course take a bit more time, but William is vastly more adept at editing this code than I am. Of that I am quite sure.



Rdian06 said:


> I'm not saying your changes will have these consequences, but I'm just saying there may be other factors you're not considering that the dev has.


I've done development work. I know what is involved.



Rdian06 said:


> I never said that you could pay to have the changes foisted onto the majority.


I did not for a moment think that was your intent. I just wanted to make sure everyone knew that it was neither your nor my implication.


----------



## lrhorer

gonzotek said:


> Agreed it's probably best broken off as a separate discussion, preferably (for me) in the pyTivo forum so that others can participate as desired.


The pyTivo forum was my first choice for the initial post, but when I went to submit it, the forum was down. After trying several times over the course of two or three hours, I gave up and posted here. I would be happy to move the discussion over there, or to another thread on this forum, if it is deemed most desirable. Since William has very graciously decided to implement some of the variability for which I asked, I would agree the content of the discussion may have dwindled in topicality for this thread.


----------



## wmcbrine

lrhorer said:


> The distinction between "Computer Monitor" and "TV Display" is blurring rather quickly.


Not for me. I see them as very different. I was actually thinking that your preference for light text on a dark background (as the TiVo itself uses) made more sense in the context of a TV display.


----------



## lrhorer

wmcbrine said:


> Not for me. I see them as very different.


I think maybe I understand what you mean. You're saying your _intent_ is very different when you say you are going to use one or the other? Certainly the hardware is not so different. Indeed, many people use their computer monitors to watch TV, and vice versa. If I do take your meaning correctly, then I would tend to agree. The nature of the task at hand induces one to change the environment almost without thinking about it, or at least it does me.

In that same vein, though, I'm using pyTivo's web interface as an integral part of watching the content on the server, not as a part of managing the software or administrating the content. I use other tools for that.



wmcbrine said:


> I was actually thinking that your preference for light text on a dark background (as the TiVo itself uses) made more sense in the context of a TV display.


Well, yes, I hadn't really thought about it, but there's that, too. At the very least, I don't do "computer work" in a darkened room, but we are usually in a darkened room when we are picking out a program using pyTivo's web interface.

It's interesting to me that you, as a principle developer for the app, apparently never really considered integrating it into your TV watching. To me, it seems the most natural idea in the world, especially given the TiVo NPL's shortcomings, and the fact the use of pyTiVo in the first place suggests a potentially larger video library than the TiVo NPL can really handle effectively.


----------



## wmcbrine

If you have a PC hooked up to your TV... why do you need pyTivo? Why wouldn't you just play the videos on the PC?


----------



## gonzotek

wmcbrine said:


> If you have a PC hooked up to your TV... why do you need pyTivo? Why wouldn't you just play the videos on the PC?


In my case, it's because the pc (and it's on-board video) can't handle 1080 or even 720p without serious frame dropping. It does a fine job of sending over hd material to the tivo, with just faster than real-time transcodes (in the case of hd, sd is plenty better than real time), and it does a lot of other household server duties. Although it is connected with a vga cable to the tv, my most common way to access it is remotely to do maintenance tasks. Occasionally, I use the pc input on the tv to display photos from photo sites (or facebook, ugh) and other digital content that can't be easily sent/viewed on the TiVo.


----------



## Phantom Gremlin

wmcbrine said:


> If you have a PC hooked up to your TV... why do you need pyTivo? Why wouldn't you just play the videos on the PC?


I can answer that. I have tried VLC, XBMC, Plex, etc, and the human interface on all of them is pathetic! The way TiVo lets you back up 8 seconds, skip 30 seconds, skip to tick, etc., is orders of magnitude better than the "free" viewers. In this case you get what you pay for.

Or to use a German phrase to describe the situation, the PC (or Mac in my case) software players are *alles Scheiße!*


----------



## lrhorer

wmcbrine said:


> If you have a PC hooked up to your TV... why do you need pyTivo? Why wouldn't you just play the videos on the PC?


Do you mean, "Why do I need the TiVo?" If I were using the PC to play the video, I would still use pyTivo to select the program, since it has the program names, rather than the filenames, and has the descriptions at hand.

First of all, they are old, slow PCs. 'Not nearly good enough for HD video. Secondly, not all the video is on the server. Some is on the server and some is on one or the other of the TiVos. Of course I could switch back and forth bewtween PC and TiVo, but I find it no more difficult to switch from the PC to the TiVo than to switch from one application on the PC to another. Maybe to some extent it's just habit. Surely, if the TiVo had an interface more closely approximating the pyTivo interface, then I would not use pyTivo's interface, and if I ever replace the PCs ('not going to happen any time soon: I'm about broke), I might start using the PC instead of the TiVo, and relegate the TiVo to being mostly an automated recorder.

By the way, I showed the screen shots to my colleague without prompting him concerning which to choose, and he also chose my preferred format. I did, however, specify that the display would be on a TV, to be used for he and his wife to select a program to watch. I think I was careful to be noncommittal on my preference, and I did point out all the shortcomings of the choice.


----------



## lrhorer

gonzotek said:


> In my case, it's because the pc (and it's on-board video) can't handle 1080 or even 720p without serious frame dropping.


Yeah. Here, too. The two I have are fine for still pictures, but for full motion HD video...



gonzotek said:


> It does a fine job of sending over hd material to the tivo, with just faster than real-time transcodes (in the case of hd, sd is plenty better than real time), and it does a lot of other household server duties.


Not here. The servers are in the server room. Since the two of them with their external RAID arrays do a fair imitation of a 747 taking off, I really don't want them in my theater. 



gonzotek said:


> Although it is connected with a vga cable to the tv, my most common way to access it is remotely to do maintenance tasks. Occasionally, I use the pc input on the tv to display photos from photo sites (or facebook, ugh) and other digital content that can't be easily sent/viewed on the TiVo.


I use them for casual web browsing and sometimes for working from home. 'Nothing requiring any amount of motion on the screen, and generally not for lots of text work, but if it's mouse intensive, then it's a lot more comfortable in a recliner than an office chair.


----------



## lrhorer

Phantom Gremlin said:


> I can answer that. I have tried VLC, XBMC, Plex, etc, and the human interface on all of them is pathetic! The way TiVo lets you back up 8 seconds, skip 30 seconds, skip to tick, etc., is orders of magnitude better than the "free" viewers. In this case you get what you pay for.


'Good point. Since all of the videos being transferred from the server are edited to remove commercials, I don't use trickplay much, but sometimes at the end credits I like moving back and forth. I think if I had HTPC class PCs attached, though, I might live with it well enough. I'd have to try it for a while to really know. Given the PCs I have, though, it's moot.


----------



## innocentfreak

I decided to try pyTiVo again on a new computer. I had it setup previously on my old XP machine but now I am running into an issue on Win 7. I know I had a similar issue on XP but don't remember how I fixed it. I followed this page as the install guide.

I installed the latest wmcbrine fork. I can see the share on my PC but it is empty when running as a service. Also it doesn't show up on the web configuration page. It works fine as a console and shows up then.

I am using a mapped network drive and I did put the login for my account. Still I can't see the files. I would prefer to run it as a service so I don't have to think about it.

Also possibly related to run the service or console I have to run as administrator otherwise it won't work.

Now on another matter since I have been using console, I am guessing there isn't a way to have multiple folders under one share? I am trying to combine all of my files across several drives into one now playing list. Unfortunately I don't have the free space just to combine them on my PC/server.


----------



## wmcbrine

innocentfreak said:


> I am guessing there isn't a way to have multiple folders under one share? I am trying to combine all of my files across several drives into one now playing list.


There are ways, but the simpler thing is just to have each folder be a share. pyTivo doesn't place a limit on the number of shares. (TiVo Desktop only provides one video share, so you _have_ to link all your video folders under it.)

Someone else can probably answer you better about running as a service under Windows with the appropriate user credentials. I'll just add that you should really consider running pyTivo on the system where the files are, instead of using a network share.


----------



## innocentfreak

wmcbrine said:


> There are ways, but the simpler thing is just to have each folder be a share. pyTivo doesn't place a limit on the number of shares. (TiVo Desktop only provides one video share, so you _have_ to link all your video folders under it.)
> 
> Someone else can probably answer you better about running as a service under Windows with the appropriate user credentials. I'll just add that you should really consider running pyTivo on the system where the files are, instead of using a network share.


Ultimately every share will be its own folder so I will have one for Movies, MMA, Concerts, and TV Shows. I currently don't have enough room on my server though so I have most files on the server and then my TiVo transfers on local drives. I am slowly transitioning those over to the server as I add more space and delete shows as I watch them. I just don't have enough room to throw everything on the server. Once it is I will probably just run pytivo on my WHS.

Eventually also I plan on trying to incorporate my WTV recordings if and when FFmeg adds support. I just don't want to go through converting them all to DVR-MS due to the limited space since I have an extender in the same room.


----------



## wmcbrine

There's no reason not to run pyTivo on multiple systems, either.  (Just don't use the same share names on both.)


----------



## innocentfreak

True and I may set that up to. It still presents the problem of keeping track of what shows are where until I centralize them.


----------



## pmiranda

orangeboy said:


> Post #2,790:
> At this point in the thread, I would think that any discussion about pyTivo is fair game, be it feature request, bug report, jeers or accolades.


Notwithstanding lrhorer's well known propensity for verbosity and debate beyond that of any normal person, is there an up to date FAQ on PyTiVo somewhere that says what it can do now? I don't have time to wade through all this ust to find out if you can send mp4 directly to an S3 without using push. Not that I ever got to learn how the push interface worked, either.


----------



## orangeboy

pmiranda said:


> Notwithstanding lrhorer's well known propensity for verbosity and debate beyond that of any normal person, is there an up to date FAQ on PyTiVo somewhere that says what it can do now? I don't have time to wade through all this ust to find out if you can send mp4 directly to an S3 without using push. Not that I ever got to learn how the push interface worked, either.


Maybe here? http://pytivo.sourceforge.net/wiki/index.php/PyTivo

But to answer your question about mp4 to TiVo without push: No, pull will transcode to mpeg2 (source).

What I think would be very awesome is if bkdtv would write technical docs on pyTivo, kmttg, Harmonium, etc... He seems to have quite a knack for creating excellent write ups, and that would allow the developers to continue developing, and not have them be too concerned with elaborate documenting.


----------



## fyodor

innocentfreak said:


> Now on another matter since I have been using console, I am guessing there isn't a way to have multiple folders under one share? I am trying to combine all of my files across several drives into one now playing list. Unfortunately I don't have the free space just to combine them on my PC/server.


If you're using an NTFS formatted hard drive you can use the mklink command to create symbolic links in directories. So you create a "videos" directory and put symbolic links in it to your different folders. Then you make the "videos" directory a pytivo share and all of your linked folders show up as subfolders of that share.

http://en.wikipedia.org/wiki/NTFS_symbolic_link


----------



## innocentfreak

Looks like I only had it temporarily working. I fired up the console again today running it as administrator and it shows the share name except it is empty. In the console window it says windows can't find the path.

WindowsError: [Error 3] The system cannot find the path specified: u'V:\\TV Shows'

Now maybe something changed because I did extract the new update over my folder and maybe something got overwritten that shouldn't have?


----------



## orangeboy

innocentfreak said:


> Looks like I only had it temporarily working. I fired up the console again today running it as administrator and it shows the share name except it is empty. In the console window it says windows can't find the path.
> 
> WindowsError: [Error 3] The system cannot find the path specified: u'V:\\TV Shows'
> 
> Now maybe something changed because I did extract the new update over my folder and maybe something got overwritten that shouldn't have?


It seems I've had trouble in the past using mapped network drives, and switched to using UNC format. I keep most of my HD movies on a remote machine, and TV series local...


----------



## innocentfreak

This is when I start to hate Win 7 since I haven't delved deep into it.

Ok changing it to UNC works again under console, but still no go on the service. Thanks for that suggestion.

EDIT: OK I think I got it working now as a service. It looks like there is an issue with using the last version of the windows installer with windows 7 based off this thread. Once I copied my pytivo.conf file back to users/public/public documents/pytivo it worked. Now hopefully it stays that way.


----------



## chemosh6969

Is there a setting I can change so if the video file has a subtitles file, it'll add subs?


----------



## Spenner

chemosh6969 said:


> Is there a setting I can change so if the video file has a subtitles file, it'll add subs?


No. FFMPEG (what pytivo uses to transcode video) doesn't have that capability. Whenever I've needed to do that (i.e. Avatar) I've used MKV2VOB.


----------



## chemosh6969

Spenner said:


> No. FFMPEG (what pytivo uses to transcode video) doesn't have that capability. Whenever I've needed to do that (i.e. Avatar) I've used MKV2VOB.


Found some directions for what I wanted(and cleaned them up). Just tested it and it works perfect.

Install AviSynth so you have vsfilter.dll

Make a file called something.avs and put it in one of the folders you use to stream. Inside the file, which I saved as WagesofFear-subs.avs



Code:


loadplugin("C:\Program Files\Combined Community Codec Pack\Filters\vsfilter.dll")
DirectShowSource("P:\Movies\Wages Of Fear (1953).avi",convertfps=true)
TextSub("P:\Movies\Wages Of Fear (1953).srt")

In the first line, point it to the vsfilter.dll file
Second line is the path to the movie
Third is the path to the subs.

If you're going to use a .sub or .idx file, replace TextSub with vobsub


----------



## orangeboy

This might be an odd question, but how do I not publish pyTivo's containers/shares on the TiVo DVR? I'm converting all my videos to h264/ac3/mp4, and I'm interested only in the push aspect. I don't want to delete the containers from pytivo.conf because I still need them for push. I'm thinking beacon.py is the answer, but there too, I think it's needed to know where to push to. 

Any insights?


----------



## wmcbrine

You can do it through your pyTivo.conf. For each TiVo that you don't want to see the shares, add a section named "_tivo_" plus the TSN, with the line "shares =". Example:



Code:


[_tivo_648000101234567]
shares =

(If you want to suppress the warning about Zeroconf being disabled, you can also add the line "zeroconf = False" to the Server section.) The TiVos should still be seen by pyTivo, when they make requests in response to the old-style beacons it sends.


----------



## loganasu

Ok... I'm confused. I have a HD Tivo where I have downloaded the video to the PC. I am now trying to use pyTivo to get the video to the Series 2 Tivo and I'm not getting it to work. 

Can someone please point me in some direction that will resolve my confusion?
Any assistance would be greatly appreciated.


----------



## wmcbrine

Sorry, but "not getting it to work" is too vague a complaint to advise you. However, I can say that if you're trying to transfer HD (or upconverted) .TiVo videos to the S2, you'll need to have tivodecode present, and your MAK set, so that pyTivo can decrypt them (and then reencode them to SD).


----------



## orangeboy

wmcbrine said:


> You can do it through your pyTivo.conf. For each TiVo that you don't want to see the shares, add a section named "_tivo_" plus the TSN, with the line "shares =". Example:
> 
> 
> 
> Code:
> 
> 
> [_tivo_648000101234567]
> shares =
> 
> (If you want to suppress the warning about Zeroconf being disabled, you can also add the line "zeroconf = False" to the Server section.) The TiVos should still be seen by pyTivo, when they make requests in response to the old-style beacons it sends.


Sweet! This should keep the temptation of pulling (and unnecessarily transcoding) from occurring.

However, it does make me want to dig into your code to see if I can bastardize it a bit to have a list presented on the TiVo(s), as it does now, but have an additional option to push, perhaps by using curl.exe with popen(), and passing tsn, container and file(?) back to the pyTivo server using "Command=Push". I would think all of those variables would/should be present at the time... 

Edit: Unless that's not possible due to the differences in HME vs. HMO?


----------



## wmcbrine

There would be no earthly reason to use curl. Anyway, if that's the behavior you want, then just use Streambaby. (And no, you can't just add options to the menu in HMO. You could implement what you want in other ways, but you're looking at either HME, or an ugly kludge.)


----------



## orangeboy

wmcbrine said:


> There would be no earthly reason to use curl...


When your only tool is a hammer, every problem looks like a nail...


----------



## loganasu

wmcbrine said:


> Sorry, but "not getting it to work" is too vague a complaint to advise you. However, I can say that if you're trying to transfer HD (or upconverted) .TiVo videos to the S2, you'll need to have tivodecode present, and your MAK set, so that pyTivo can decrypt them (and then reencode them to SD).


Sorry about that. It's what I get for posting after a long weekend camping.

When transferring to the S2, it only uploads a split second and the stops uploading.

is the tivodecode something that needs to be downloaded separate from pyTivo?


----------



## wmcbrine

I guess I should back up and ask you how you installed pyTivo. Hopefully not with the broken, ancient "Windows Installer". That version won't transfer .TiVo files at all. But it might come with tivodecode... I'm not sure. If not, you can get it here, among other places. Remember, you also have to set your tivo_mak in the Server section of pyTivo.conf for tivodecode to work.


----------



## orangeboy

wmcbrine said:


> You can do it through your pyTivo.conf. For each TiVo that you don't want to see the shares, add a section named "_tivo_" plus the TSN, with the line "shares =". Example:
> 
> 
> 
> Code:
> 
> 
> [_tivo_648000101234567]
> shares =
> 
> (If you want to suppress the warning about Zeroconf being disabled, you can also add the line "zeroconf = False" to the Server section.) The TiVos should still be seen by pyTivo, when they make requests in response to the old-style beacons it sends.


I finally got around to altering pytivo.conf, but the above code actually enforces the opposite of what I want. From the pyTivo shares help section:



Code:


shares

Default Setting: Blank, which is equivalent to allow [B][I][U]all shares[/U][/I][/B] on this TiVo.


----------



## wmcbrine

No, it doesn't, unless you're using a version from before January 28th.

I'll try to update the documentation.


----------



## orangeboy

wmcbrine said:


> No, it doesn't, unless you're using a version from before January 28th.
> 
> I'll try to update the documentation.


My shares still show up on the DVRs.  The modified date of most of the .py files are dated 4/24/2010. I'll grab the latest copy and test further...


----------



## loganasu

wmcbrine said:


> I guess I should back up and ask you how you installed pyTivo. Hopefully not with the broken, ancient "Windows Installer". That version won't transfer .TiVo files at all. But it might come with tivodecode... I'm not sure. If not, you can get it here, among other places. Remember, you also have to set your tivo_mak in the Server section of pyTivo.conf for tivodecode to work.


I think I may have started with the Windows Installer, but I have replaced the pytivo folder serveral times with different forks. 
(I am able to download .TiVo files successfully.)
I have now downloaded the tivodecode files and updated the config file.

It appears to have worked.

Thanks for your assistance. I think you have created/maintaining a great product


----------



## bschuler2007

I've noticed a new issue I got after recently updating. Suddenly, I had alot of files with a "-" for a name. Troubleshooting, I got that it was an issue with WMV files. For WMV files, Pytivo seems to be taking the file's properties for Title, etc.. instead of the filename. Is there any easy way to force Pytivo to use the filename and NOT the wmv file properties? 

I guess I could remove all the .wmv files titles, etc.. but.. but a simple fix would let me not have to do that to all files in the future.


----------



## wmcbrine

You could create .txt files for the offending files, which would override the tags inside the WMVs. Otherwise, you could remove or comment out these lines:



Code:


    elif ext in ['.dvr-ms', '.asf', '.wmv']:
        metadata.update(from_dvrms(full_path))

from metadata.py. Personally, I'd prefer to fix the tags in the WMV files.


----------



## bschuler2007

Thanks for the answer wmcbrine. So far, I deleted the tags. But I will comment out the section for future use. I feel all tags (mp3's included) are rarely used correctly and usually cause more issues then they solve.
The fact that Pytivo reads those tags now though is very interesting.

Anyway, Thanks for maintaining your branch. Pytivo is awe inspiring and awesome, in large part thanks to your work.


----------



## PeskyPete

re. pyTivoMetaThis and pytivo.
I first created a default.txt file in the dir. where I have a bunch of episodes of a tv show.
The file conatined an episode id of one of the shows.
I ran pyTivoMetaThis and it created a 'seriesid' file, plus a .txt file with that single episode info:
seriesTitle : The Office (DE)
isEpisode : true
episodeNumber : 301
vActor : Jochen Busse

So now what?
I started pytivo and go to the push dir. Just the episodes are listed.
Shouldn't the 'seriesid' file be avail. to push too, in order to get Tivo to create the dir?
Sorry, complete noob alert!
Pete
Update:
found this thread:
http://www.tivocommunity.com/tivo-vb/showthread.php?t=435365&highlight=pyTivoMetaThis


----------



## GregComeLately

I give up. This stuff is strictly for programmers or really really smart people or incredibly patient people. Ideally, two of the three. 

Just spent three hours trying to make heads or tails from multiple browser tabs I've opened up, each of which contain either wiki pages, forum pages, etc., all of which leave out at least a little bit of some necessary information for setting up pyTivo, which in turns starts another search & tab creation to track down what else is missing. :down:

There really should be an edit of the first post reflecting this reality, particularly for anything pyTivo related. 

Sorry, just a little frustrated right now. Not sure if you can tell.


----------



## PeskyPete

GregComeLately said:


> I give up. This stuff is strictly for programmers or really really smart people or incredibly patient people. Ideally, two of the three.
> 
> Just spent three hours trying to make heads or tails from multiple browser tabs I've opened up, each of which contain either wiki pages, forum pages, etc., all of which leave out at least a little bit of some necessary information for setting up pyTivo, which in turns starts another search & tab creation to track down what else is missing. :down:
> 
> There really should be an edit of the first post reflecting this reality, particularly for anything pyTivo related.
> 
> Sorry, just a little frustrated right now. Not sure if you can tell.


I'm gonna have to agree with you there!
I got somewhere with pytivometathis, but hit a brick wall and just could not find anything to progress.
The one post I found, explains how to get a couple of files to Tivo, in a directory, but the file names are the same, and I couldn't figure out how to get them to be named properly:

I have 2 mpg's:
The Office S03E01.mpg and The Office S03E02.mpg
I created a default.txt file that contained a line:
#seriesId: EP00726133
(I got the number by following the instructions to find the id of any particular office episode at http://tvlistings.zap2it.com/tvlistings)

I run pytivometathis from the same dir. and it creates only one file (The Office S03E01.mpg.txt), and a file called "The Office.seriesID"
I'm sure I need to create another file for episode 2, so I tried doing it manually.
Using Pytivo, I push the 2 mpg files and sure enough, Tivo creates a dir called "The Office" but the two mpgs are both called "The Office".

There is no documentation on the sourceforge site for pytivometathis 
I know I'm close to doing this, but... no cigar!


----------



## PeskyPete

GregComeLately said:


> I give up. This stuff is strictly for programmers or really really smart people or incredibly patient people. Ideally, two of the three.
> 
> Just spent three hours trying to make heads or tails from multiple browser tabs I've opened up, each of which contain either wiki pages, forum pages, etc., all of which leave out at least a little bit of some necessary information for setting up pyTivo, which in turns starts another search & tab creation to track down what else is missing. :down:
> 
> There really should be an edit of the first post reflecting this reality, particularly for anything pyTivo related.
> 
> Sorry, just a little frustrated right now. Not sure if you can tell.


I had a lot of problems with setting up pytivo until I d/l'd the correct version.
Of course, I don't have a link to it anymore!
Once I had that version, it seemed to go pretty smoothly, but not without a few issues.


----------



## wmcbrine

PeskyPete said:


> Shouldn't the 'seriesid' file be avail. to push too, in order to get Tivo to create the dir?


No, the folder would be created by the first episode pushed. "default.txt" isn't something you push, it's data that attaches to each episode (or more precisely, each video file in the directory). I'm not familiar with the "seriesId" files created by pyTivoMetaThis (this is the first I've heard of them), but they wouldn't be recognized by pyTivo with that name.

BTW, "#" starts a comment line in pyTivo metadata. A line starting with "#" will be ignored. Also, to name each episode, you want "episodeTitle".


----------



## PeskyPete

Hi and thanks for the info.
I'm still not getting unique episode names though.
I'm getting a Folder "The Office" and two videos, The Office & The Office.
When I 'push' from Pytivo, I select the 2 files (the .txt files are not shown - do they get sent to Tivo in the background?)
The contents of each txt file are as follows...

The Office S03E01.mpg.txt:
seriesTitle : The Office
EpisodeTitle: The Office S03E01
isEpisode : true
episodeNumber : 301


The Office S03E02.mpg.txt:
seriesTitle : The Office
EpisodeTitle: The Office S03E02
isEpisode : true
episodeNumber : 302
seriesId: EP00726133

So I can remove the SeriesId line?
But what else is wrong?
I do not have default.txt in this dir anymore, since I am doing this manually.
Pete

I cleaned up the entries:

seriesTitle : The Office
episodeTitle: The Office S03E01
isEpisode : true
episodeNumber : 301


This now works!!!
Either the seriesId was messing it up, or the commands are case sensitive
Thank you v. much!


----------



## PeskyPete

Ok, I'm now doing the real Push - 23 files, 18Gig - hope it works....


----------



## wmcbrine

The keywords are indeed case-sensitive.


----------



## Rdian06

GregComeLately said:


> I give up. This stuff is strictly for programmers or really really smart people or incredibly patient people. Ideally, two of the three.
> 
> Just spent three hours trying to make heads or tails from multiple browser tabs I've opened up, each of which contain either wiki pages, forum pages, etc., all of which leave out at least a little bit of some necessary information for setting up pyTivo, which in turns starts another search & tab creation to track down what else is missing. :down:
> 
> There really should be an edit of the first post reflecting this reality, particularly for anything pyTivo related.
> 
> Sorry, just a little frustrated right now. Not sure if you can tell.


What OS are you using?


----------



## Rdian06

PeskyPete said:


> I run pytivometathis from the same dir. and it creates only one file (The Office S03E01.mpg.txt), and a file called "The Office.seriesID"
> I'm sure I need to create another file for episode 2, so I tried doing it manually.
> Using Pytivo, I push the 2 mpg files and sure enough, Tivo creates a dir called "The Office" but the two mpgs are both called "The Office".


Are you using the latest version of pyTivoMetaThis from:

http://sourceforge.net/projects/pytivometathis/

When you run pyTivoMetaThis without specifying anything on the command line, it should process all compatible videos within the current directory. If you specify a filename, then I believe it will only process that one file. And the .seriesID files are there so that pyTivoMetaThis can remember what name to seriesID mappings you choose (say when a series name matches multiple seriesIDs and you interactively choose the proper one.) .seriesID files are not used by pyTivo directly.


----------



## orangeboy

Rdian06 said:


> Are you using the latest version of pyTivoMetaThis from:
> 
> http://sourceforge.net/projects/pytivometathis/
> 
> When you run pyTivoMetaThis without specifying anything on the command line, it should process all compatible videos within the current directory. If you specify a filename, then I believe it will only process that one file. And the .seriesID files are there so that pyTivoMetaThis can remember what name to seriesID mappings you choose (say when a series name matches multiple seriesIDs and you interactively choose the proper one.) .seriesID files are not used by pyTivo directly.


FWIW, you can limit what files pyTivoMetaThis reports on by paring down the file extension list. Opening pyTivoMetaThis.py with notepad (or other text editor) and editing the "fileExtList" variable name's values made my install only work on ".mp4" files:



Code:


# Types of files we want to get metadata for
# fileExtList = [".mpg", ".avi", ".ogm", ".mkv", ".mp4", ".mov", ".wmv", ".vob", ".m4v"]
fileExtList = [".mp4"]

("#" indicates a comment line)


----------



## PeskyPete

Rdian06 said:


> What OS are you using?


Win7


----------



## Rdian06

PeskyPete said:


> Win7


That question wasn't for you since you have things mostly working.

It was for GregComeLately.


----------



## PeskyPete

Rdian06 said:


> Are you using the latest version of pyTivoMetaThis from:
> 
> http://sourceforge.net/projects/pytivometathis/
> 
> When you run pyTivoMetaThis without specifying anything on the command line, it should process all compatible videos within the current directory. If you specify a filename, then I believe it will only process that one file. And the .seriesID files are there so that pyTivoMetaThis can remember what name to seriesID mappings you choose (say when a series name matches multiple seriesIDs and you interactively choose the proper one.) .seriesID files are not used by pyTivo directly.


Yes, I am using this ver.
I am just creating my own .txt files for now, so I can at least get all files processed.
I did have some success by doing this:
All 23 files transferred over with Pytivo, but only 1-9 went into a folder.

Here is a txt file for #9:

seriesTitle : The Office Series 3
episodeTitle: The Office S03E09
isEpisode : true
episodeNumber : 309

and here is the txt file for #10:

seriesTitle : The Office Series 3
episodeTitle: The Office S03E10
isEpisode : true
episodeNumber : 310

What do I need to do to get this (and 11 to 23) into the directory "The Office Series 3"?

Thanks!
Peter


----------



## PeskyPete

Rdian06 said:


> When you run pyTivoMetaThis without specifying anything on the command line, it should process all compatible videos within the current directory. If you specify a filename, then I believe it will only process that one file. And the .seriesID files are there so that pyTivoMetaThis can remember what name to seriesID mappings you choose (say when a series name matches multiple seriesIDs and you interactively choose the proper one.) .seriesID files are not used by pyTivo directly.


So I copied pyTivoMetaThis-0.22.py to my working directory, where I have 2 sample vids:
The Office S03E01.mpg & The Office S03E02.mpg

I get the IMDB warning, then the process finishes and it creates:
The Office.seriesID
and
The Office S03E01.mpg.txt

So,
1. I don't get The Office S03E02.mpg.txt created and.
2. The file, The Office S03E01.mpg.txt, does not contain an 'episodeTitle:' entry, which, wmcbrine has mentioned, it needs.
These are the sticking points right now.
Any ideas why these problems occur?
Here is the contents of the The Office S03E01.mpg.txt file:

seriesTitle : The Office (DE)
isEpisode : true
episodeNumber : 301
vActor : Jochen Busse


----------



## Rdian06

PeskyPete said:


> So I copied pyTivoMetaThis-0.22.py to my working directory, where I have 2 sample vids:
> The Office S03E01.mpg & The Office S03E02.mpg
> 
> I get the IMDB warning, then the process finishes and it creates:
> The Office.seriesID
> and
> The Office S03E01.mpg.txt
> 
> So,
> 1. I don't get The Office S03E02.mpg.txt created and.
> 2. The file, The Office S03E01.mpg.txt, does not contain an 'episodeTitle:' entry, which, wmcbrine has mentioned, it needs.
> These are the sticking points right now.
> Any ideas why these problems occur?
> Here is the contents of the The Office S03E01.mpg.txt file:
> 
> seriesTitle : The Office (DE)
> isEpisode : true
> episodeNumber : 301
> vActor : Jochen Busse


Seems to me that pyTivoMetaThis is encountering an error parsing information coming back from thetvdb (it's data source for TV series.) Otherwise you'd see a lot more actor info and an episodeTitle.

Run it again with a -dddd switch to print all the debugging information.


----------



## PeskyPete

Rdian06 said:


> Run it again with a -dddd switch to print all the debugging information.


Interesting!
So running pmt (pytivometathis) from an explorer window is one of the issues.
It has to be run from a dos box.
Running from a command line (dos box), I am able to pipe the errors to a report file (pytivometathis-0.22.py -dddd > test.rep)

I now do not get any .txt files generated.
I have a default.txt file with what I think is the correct series ID, since that's one of the choices pmt gave me when I first ran it:
seriesId : 77470

My error report is:
IMDB module could not be loaded. Movie Lookups will be disabled. See http://imdbpy.sourceforge.net

Console Input encoding: cp850
Console Output encoding: ascii
Metadata File Output encoding: UTF-8

Error looking information from thetvdb, no metadata will be retrieved for TV shows.

## Looking for videos in: .
fileList after cull: ['The Office S03E01.mpg', 'The Office S03E02.mpg']

--->working on: The Office S03E01.mpg
Metadir is: .
Metadata service for TV shows is unavailable, skipping this show.

--->working on: The Office S03E02.mpg
Metadir is: .
Metadata service for TV shows is unavailable, skipping this show.


----------



## Rdian06

PeskyPete said:


> Interesting!
> So running pmt (pytivometathis) from an explorer window is one of the issues.
> It has to be run from a dos box.
> Running from a command line (dos box), I am able to pipe the errors to a report file (pytivometathis-0.22.py -dddd > test.rep)
> 
> I now do not get any .txt files generated.
> I have a default.txt file with what I think is the correct series ID, since that's one of the choices pmt gave me when I first ran it:
> seriesId : 77470
> 
> My error report is:
> IMDB module could not be loaded. Movie Lookups will be disabled. See http://imdbpy.sourceforge.net
> 
> Console Input encoding: cp850
> Console Output encoding: ascii
> Metadata File Output encoding: UTF-8
> 
> Error looking information from thetvdb, no metadata will be retrieved for TV shows.
> 
> ## Looking for videos in: .
> fileList after cull: ['The Office S03E01.mpg', 'The Office S03E02.mpg']
> 
> --->working on: The Office S03E01.mpg
> Metadir is: .
> Metadata service for TV shows is unavailable, skipping this show.
> 
> --->working on: The Office S03E02.mpg
> Metadir is: .
> Metadata service for TV shows is unavailable, skipping this show.


It looks like when you first attempted to run pyTivoMetaThis, thetvdb was at least partially available because that's where the seriesID comes from. They may have been having problems and didn't return full results.

For your more recent attempts, it looks like thetvdb is completely unavailable.

Without a data source, it can't create any output.

The IMDb error is normal if you didn't install IMDbPY module.

Thetvdb appears to be up right now, though their announcements mention various MySQL database issues they've been having and fixing.


----------



## PeskyPete

PeskyPete said:


> Yes, I am using this ver.
> I am just creating my own .txt files for now, so I can at least get all files processed.
> I did have some success by doing this:
> All 23 files transferred over with Pytivo, but only 1-9 went into a folder.
> 
> Here is a txt file for #9:
> 
> seriesTitle : The Office Series 3
> episodeTitle: The Office S03E09
> isEpisode : true
> episodeNumber : 309
> 
> and here is the txt file for #10:
> 
> seriesTitle : The Office Series 3
> episodeTitle: The Office S03E10
> isEpisode : true
> episodeNumber : 310
> 
> What do I need to do to get this (and 11 to 23) into the directory "The Office Series 3"?
> 
> Thanks!
> Peter


Anyone have any insight of why 10-23 didn't get put in the directory?


----------



## orangeboy

Rdian06 said:


> Are you using the latest version of pyTivoMetaThis from:
> 
> http://sourceforge.net/projects/pytivometathis/
> 
> When you run pyTivoMetaThis without specifying anything on the command line, it should process all compatible videos within the current directory. If you specify a filename, then I believe it will only process that one file. And the .seriesID files are there so that pyTivoMetaThis can remember what name to seriesID mappings you choose (say when a series name matches multiple seriesIDs and you interactively choose the proper one.) .seriesID files are not used by pyTivo directly.


To get pyTivoMetaThis to work with single files passed from the command line, I had to modify the code a bit:



Code:


def processDir(dir, MirrorURL):
	if os.path.isfile(dir):
		fileList = [os.path.split(dir) [1]]
		dir = os.path.dirname(dir)
		dirList = []
	else:
		debug(1,'\n## Looking for videos in: ' + dir)
		(fileList, dirList) = getfiles(dir)

This is how it looked before the mod:



Code:


def processDir(dir, MirrorURL):
	debug(1,'\n## Looking for videos in: ' + dir)
	(fileList, dirList) = getfiles(dir)

I've got some other mods in place to run it in "batch/function" mode, so it ignores metadata files already in place, and doesn't create any actual files, but rather output's the data to stdout so I can parse what pieces I want/need. But those mods aren't relevant to this topic.


----------



## PeskyPete

Well, persistence is paying off.
I am not a programmer, so debugging code is not my cup of tea.
However, using the pipe command, and ctrl c'ing the pytivometathis program (because it hangs...), I am able to see somewhat, what is happening.
I increased the timeout value to the tvdb site, and then found that there were several episodes called "The Office".
I renamed the episodes to "The Office (US)" and FINALLY, got the prog. to write TWO .txt files. which transferred over into one directory.

Update:
All metafiles for my 'real' directory of a complete season of The Office were finally written.
I believe there were two problems:

If the timeout setting for tvdb is set too low (default is 5, mine is now 25), and you have a slow connection to the Internet (Either it's my cable company or router s/w), then pytivometathis will time out.

If your filename (I used "The Office S03E01.mpg") is ambiguous, tvdb will give pytivometathis several choices (including the US and UK versions of the show).
I am running this in a command box in Windows 7, and I am not presented with these choices at this time, so the program appears to 'hang'.

Renaming all my videos to "The Office (US) S03E01.mpg" bypassed the choice problem and all meta files were created.
Pytivo then did the rest!
I HOPE that my time spent debugging this will aid others.
Thanks to Rdian06 for pointing me in the right direction.
Pete


----------



## txporter

There are 4 different 'The Office' on tvdb.com. Try putting 'The Office (US) S03E01.mpg' or 'The.Office.(US).S03E01.mpg' (I prefer to eliminate spaces since it breaks a lot of DOS batch files).

update: oops, didn't look at the last page of replies on this before posting. Looks like he already figured this out.


----------



## PeskyPete

:up: Thanks anyways - point taken re. spaces.
Yeah, batch and batch type files are always prone to unusual circumstances!


----------



## Rdian06

PeskyPete said:


> Well, persistence is paying off.
> I am not a programmer, so debugging code is not my cup of tea.
> However, using the pipe command, and ctrl c'ing the pytivometathis program (because it hangs...), I am able to see somewhat, what is happening.
> I increased the timeout value to the tvdb site, and then found that there were several episodes called "The Office".
> I renamed the episodes to "The Office (US)" and FINALLY, got the prog. to write TWO .txt files. which transferred over into one directory.
> 
> Update:
> All metafiles for my 'real' directory of a complete season of The Office were finally written.
> I believe there were two problems:
> 
> If the timeout setting for tvdb is set too low (default is 5, mine is now 25), and you have a slow connection to the Internet (Either it's my cable company or router s/w), then pytivometathis will time out.
> 
> If your filename (I used "The Office S03E01.mpg") is ambiguous, tvdb will give pytivometathis several choices (including the US and UK versions of the show).
> I am running this in a command box in Windows 7, and I am not presented with these choices at this time, so the program appears to 'hang'.
> 
> Renaming all my videos to "The Office (US) S03E01.mpg" bypassed the choice problem and all meta files were created.
> Pytivo then did the rest!
> I HOPE that my time spent debugging this will aid others.
> Thanks to Rdian06 for pointing me in the right direction.
> Pete


When you run the script from a command line, it runs in interactive mode and should print out options if more than one show matches. Perhaps you redirected the output to a file so you weren't seeing the prompts?

The script also has the concept of non-interactive mode where it will just use the first match if there are multiple matches. It tries to detect whether to be in interactive mode or not, but maybe it's broken on Win7. It works fine for me on Win XP.


----------



## txporter

Rdian06 said:


> When you run the script from a command line, it runs in interactive mode and should print out options if more than one show matches. Perhaps you redirected the output to a file so you weren't seeing the prompts?
> 
> The script also has the concept of non-interactive mode where it will just use the first match if there are multiple matches. It tries to detect whether to be in interactive mode or not, but maybe it's broken on Win7. It works fine for me on Win XP.


It used to run in interactive mode for me as well. It works as PeskyPete describes now for me in XP and Vista.


----------



## Rdian06

txporter said:


> It used to run in interactive mode for me as well. It works as PeskyPete describes now for me in XP and Vista.


I just downloaded a fresh copy of pyTivoMetaThis 0.22 and placed it in a directory alongside three files (0 bytes, only the name matters) named:

The Office S03E01.mpg
The Office S03E02.mpg
The Office S03E03.mpg

Now if you double click the script from the Windows Explorer, it runs in non-interactive mode and will create two files:

The Office S03E01.mpg
The Office.seriesID (which contains 172751)

This is because of all the possible matches, the first returned match is "The Office (DE)" with a thetvdb seriesID of 172751. In non-interactive mode, the first match is automatically used and "The Office.seriesID" is created.

Now, if you then switch to the command line and run pyTivoMetaThis from there in interactive mode, it will reuse the data in "The Office.seriesID" and NOT prompt you.

If you go to Season 3 of The Office (DE) (172751) on thetvdb, there is only one episode in the database - so trying to query S02 and S03 will fail and no metadata files will be created for them.

Now delete The Office.seriesID and the bogus .txt files so you start again with just the three dummy office mpgs and the pyTivoMetaThis script. Then run pyTivoMetaThis from a command line and because no "The Office.seriesID" file is found AND there are multiple matches for "The Office", the script will prompt you to choose which thetvdb seriesID to use.

Final note, thetvdb seriesID is NOT the pyTivo/Tivo seriesId (notice the slightly different spellings). They have similar names, but very different formats. thetvdb seriesIDs are assigned by thetvdb and are just numbers. pyTivo/Tivo seriesId values begin with EP or SH and are followed by 6 or 8 digits (you may see some of them written as EP or SH followed by 7 digits in thetvdb database, but these are invalid for Tivo grouping and must be padded with a leading 0 - see http://pytivo.sourceforge.net/forum/gmd-s-python-metadata-generator-grouping-fix-t1058.html.)

Tivo seriesIds are stored in the thetvdb database as the "Zap2it / SchedulesDirect ID". If you're browsing thetvdb website, you must be logged in to your thetvdb account to see them (go to the Series main page and under Information, click "show/hide edit".) For shows that don't have the Zap2it ID field filled in, you can go to zap2it.com, find the shows main page, and then look at the end of the URL to find the Tivo/Zap2it seriesId (begins with EP.)


----------



## txporter

Rdian06 said:


> I just downloaded a fresh copy of pyTivoMetaThis 0.22 and placed it in a directory alongside three files (0 bytes, only the name matters) named:
> 
> The Office S03E01.mpg
> The Office S03E02.mpg
> The Office S03E03.mpg
> 
> Now if you double click the script from the Windows Explorer, it runs in non-interactive mode and will create two files:
> 
> The Office S03E01.mpg
> The Office.seriesID (which contains 172751)
> 
> This is because of all the possible matches, the first returned match is "The Office (DE)" with a thetvdb seriesID of 172751. In non-interactive mode, the first match is automatically used and "The Office.seriesID" is created.
> 
> Now, if you then switch to the command line and run pyTivoMetaThis from there in interactive mode, it will reuse the data in "The Office.seriesID" and NOT prompt you.
> 
> If you go to Season 3 of The Office (DE) (172751) on thetvdb, there is only one episode in the database - so trying to query S02 and S03 will fail and no metadata files will be created for them.
> 
> Now delete The Office.seriesID and the bogus .txt files so you start again with just the three dummy office mpgs and the pyTivoMetaThis script. Then run pyTivoMetaThis from a command line and because no "The Office.seriesID" file is found AND there are multiple matches for "The Office", the script will prompt you to choose which thetvdb seriesID to use.
> 
> Final note, thetvdb seriesID is NOT the pyTivo/Tivo seriesId (notice the slightly different spellings). They have similar names, but very different formats. thetvdb seriesIDs are assigned by thetvdb and are just numbers. pyTivo/Tivo seriesId values begin with EP or SH and are followed by 6 or 8 digits (you may see some of them written as EP or SH followed by 7 digits in thetvdb database, but these are invalid for Tivo grouping and must be padded with a leading 0 - see http://pytivo.sourceforge.net/forum/gmd-s-python-metadata-generator-grouping-fix-t1058.html.)
> 
> Tivo seriesIds are stored in the thetvdb database as the "Zap2it / SchedulesDirect ID". If you're browsing thetvdb website, you must be logged in to your thetvdb account to see them (go to the Series main page and under Information, click "show/hide edit".) For shows that don't have the Zap2it ID field filled in, you can go to zap2it.com, find the shows main page, and then look at the end of the URL to find the Tivo/Zap2it seriesId (begins with EP.)


Yes, following you now. I was double-clicking the .py file. If I create a simple batch file that just calls the .py file, it goes back to interactive and asks me to pick the correct series.


----------



## PeskyPete

I tried pushing 14 files to Tivo, but only 3 went through. Is there an issue sometimes with sending a lot of files?
I am trying again, but doing 3 at a time.
I sent a whole bunch more than that before, so I am a bit surprised.

Edit:
Seems to be ok now, sent 3, then 5, and now I'm sending 6 over.
Network glitch??


----------



## Kivo

I have a Tivo HD and a Premiere. I've been using pyTivo (and kmttg) to push H.264 files encoded with Handbrake to the Tivo HD. It's been working flawlessly for months and still does. However, when I try to push the same exact files to the Premiere, the video only fills a 4:3 portion of the screen with black bars on the sides. 

Does anyone know why this is happening? Is there a setting in pyTivo somewhere that I need to change?


----------



## wmcbrine

Perhaps you need to upgrade to a version of pyTivo that will recognize the Premiere as an HD unit. That change was made on March 3rd. If it's not that, then I'd look at the settings on the TiVo itself -- make sure the aspect ratio and zoom settings are correct. (Or, if the ostensibly correct setting doesn't work, just set zoom mode to "Full".)


----------



## Kivo

wmcbrine said:


> Perhaps you need to upgrade to a version of pyTivo that will recognize the Premiere as an HD unit. That change was made on March 3rd. If it's not that, then I'd look at the settings on the TiVo itself -- make sure the aspect ratio and zoom settings are correct. (Or, if the ostensibly correct setting doesn't work, just set zoom mode to "Full".)


How do I install a new version? I tried downloading the latest zip file and copying the files to my pyTivo directory, but it didn't work. The service started, but when I tried to go to the configuration page I got an error.


----------



## Kivo

Kivo said:


> How do I install a new version? I tried downloading the latest zip file and copying the files to my pyTivo directory, but it didn't work. The service started, but when I tried to go to the configuration page I got an error.


I finally got the new pyTivo installed by following Scott's instructions here: http://scottsoapbox.com/2010/04/20/pytivo-install-instructions/#more-976. Thank you, Scott!

Now, pyTivo is pushing the files perfectly, except for one thing. The audio is stereo, instead of 5.1. The files I'm pushing are MP4 with AC3 and AAC tracks, in that order. The 5.1 plays on the Tivo HD, but not on the Premiere.

UPDATE: My audio problem was a problem with my system setup. Everything seems to be working great now.


----------



## sdzc

I am trying to get this installed and am just not getting it.

I have Python 2.7 installed
I try to run pyTivo-wmcbrine-2009.03.19-RC1, but this asks for a version of Python of 2.4, 2.5 or 2.6. How/Where do I get a newer version that will work with 2.7?

Thanks in advance for any help.


----------



## jcthorne

sdzc said:


> I am trying to get this installed and am just not getting it.
> 
> I have Python 2.7 installed
> I try to run pyTivo-wmcbrine-2009.03.19-RC1, but this asks for a version of Python of 2.4, 2.5 or 2.6. How/Where do I get a newer version that will work with 2.7?
> 
> Thanks in advance for any help.


Click on the link in WMCBRINE's signature a few messages up....download and install the latest version from a few weeks ago.


----------



## sdzc

jcthorne said:


> Click on the link in WMCBRINE's signature a few messages up....download and install the latest version from a few weeks ago.


I was at that site last night, but which link on the page is the one I want? The "Download Source" button?? If so, I did download that zip file, but what do I do with the unzipped stuff in the folder?

To be honest, I am looking for an exe file, but do not see one.

I have this folder now: \wmcbrine-pytivo-af4ac21.zip\wmcbrine-pytivo-af4ac21 on my PC. Just do not know what to do with it.

edit:

I uninstalled 2.7 and installed 2.6.6. That allowed the wmcbrine to install, but I cannot open the config file (windows does not recognize the extension and wants to know what program to open it with)


----------



## jcthorne

Try these instructions to walk you through:

http://scottsoapbox.com/2010/04/20/pytivo-install-instructions/

There is no up to date windows installer or exe file. Its a Python program that runs on multiple operating systems. You install the python interpreter for windows and then the pyTivo system runs in a command line window.


----------



## stlarenas

I have been using pytivo for a couple of years with no issues. I have been able to transfer all sorts of files to both of my s2 tivos at about real time speed (sometimes slightly longer by 5 or 10 minutes).

Both tivos are connected to the network via Ethernet cables, and the transfers speeds have been the same whether I push or pull the files.

Recently anytime I try and transfer a file it is very slow...close to 4 hours for a 45 min file.

I reset my tivo's and upgraded my pytivo to the most recent build but nothing has helped. 

Any idea where to go next to troubleshoot this issue?

Thanks
diane


----------



## Phantom Gremlin

stlarenas said:


> Any idea where to go next to troubleshoot this issue?


Try power cycling your Ethernet switch and/or router.

Are there lights on your Ethernet switch? Do they indicate 100 Mbit full duplex?

Do you have any other Ethernet cables you could try?

Do you have any way of monitoring traffic on you Ethernet network? If nothing else, look at all the blinky lights on the switch when things should be relatively quiet. Are the lights flashing madly? If so, your transfers might be fighting with a lot of other network traffic. Maybe some Windoze exploit just made you part of a botnet. If so, replace all your Windoze machines with Macs.


----------



## MikeAndrews

I know I'm repeating a discussion from here:
http://www.tivocommunity.com/tivo-vb/showthread.php?t=418958&page= but I'm looking for the latest information and the downloads from last year have gone into hiding.

I'm trying to install pyTiVo on a G4 Mac Mini running OS X 10.4.11 Tiger. I have kmttg working for file transfers.

First where is the latest version of pyTivo that isn't pyTiVoX and OS X 10.5 specific? The download page on Sourceforge only offers me pyTivoX and Google isn't being too helpful other than pointing here.

It's looking like the version of ffmeg packaged with kmttg_v0p71 doesn't run on 10.4. I get a bus error and decodes aren't working in kmttg. Where can I find the latest version of ffmeg that will run on 10.4?

EDIT: tivodecode gives a bus error, too. ARGGH!

Thanks for any pointers!


----------



## wmcbrine

netringer said:


> First where is the latest version of pyTivo that isn't pyTiVoX and OS X 10.5 specific?


Link in my sig -- select "Download source" -- or use one of the other two mirrors.

http://github.com/wmcbrine/pytivo
http://repo.or.cz/w/pyTivo/wmcbrine.git
http://pytivo.git.sourceforge.net/git/gitweb.cgi?p=pytivo/pytivo;a=summary


----------



## MikeAndrews

wmcbrine said:


> Link in my sig -- select "Download source" -- or use one of the other two mirrors.
> 
> http://github.com/wmcbrine/pytivo
> http://repo.or.cz/w/pyTivo/wmcbrine.git
> http://pytivo.git.sourceforge.net/git/gitweb.cgi?p=pytivo/pytivo;a=summary


THANKS, Bill!

Just to show I'm not as clueless as it appears I managed to compile and install from source a working copy of tivodecode-0.2pre4!

configure in the ffmpeg0.6 package makes a corrupt Makefile? make keeps telling me there's mismatched parens on line 28 of common.mak but I sure don't see it. I found an old download of ffmpeg on my Macbook so I have hope. Oh. It's on the Wiki. Same version.



Code:


netringer-Mac-mini:/Applications/local/pyTiVo netringer$ cat pyTivo.conf
[MyMovies]
type = video
path = /Volumes/WDC20two/Movies/TiVo

[Server]
port = 9032
ffmpeg = /usr/local/bin/ffmpeg
netringer-Mac-mini:/Applications/local/pyTiVo netringer$ ./pyTivo.py
ERROR: pyTivo.conf does not exist.
You must create this file before running pyTivo.
netringer-Mac-mini:/Applications/local/pyTiVo netringer$ cat /etc/pyTivo.conf
[MyMovies]
type = video
path = /Volumes/WDC20two/Movies/TiVo

[Server]
port = 9032
ffmpeg = /usr/local/bin/ffmpeg
netringer-Mac-mini:/Applications/local/pyTiVo netringer$

*sigh*
How much more exist does pyTivo.conf have to be?

I give up. I'll upgrade to OS X 10.5 as soon as I can. Event that is looking to be an adventure.


----------



## wmcbrine

That is odd. I can't account for it. I can only tell you that I have no problem running pyTivo on my own Mini with 10.4.

Oh -- you do need at least Python 2.4 to run pyTivo. OS X 10.4 comes with Python 2.3.5, which won't cut it. I installed 2.5, and later 2.6, on my Mini. /usr/bin/python is still 2.3.5, so it doesn't mess anything up.

Edit: Confirmed -- this is the error I get if I try to run pyTivo with 2.3.5 on my Mini. I'll see about making it give a more appropriate error message.


----------



## stlarenas

Phantom Gremlin said:


> Try power cycling your Ethernet switch and/or router.
> 
> Are there lights on your Ethernet switch? Do they indicate 100 Mbit full duplex?
> 
> Do you have any other Ethernet cables you could try?
> 
> Do you have any way of monitoring traffic on you Ethernet network? If nothing else, look at all the blinky lights on the switch when things should be relatively quiet. Are the lights flashing madly? If so, your transfers might be fighting with a lot of other network traffic. Maybe some Windoze exploit just made you part of a botnet. If so, replace all your Windoze machines with Macs.


Thanks for the reply.

I have determined that the speed of transfer is fine from tivo to tivo. Just not from my external hard drive to tivo....

So I think it may be an issue with my external hard drive where my media is stored. I am going to run a check disk on the drive and cross my fingers that it is not a failing hard drive....

If you have any further thoughts let me know....

thanks


----------



## Neenahboy

I'm having an issue with transferring certain .mkv files using pyTivoX v1.3 on OS X 10.6.4 using a TiVo HD. I queued up a transfer list of 24 files; the first nine completed successfully, while the others registered as 0:00 partials in Now Playing. Thinking this was an aberration, I queued them up again to no avail.

Currently, I can only transfer the .mkv files that are already completed, as well as any other file formats that could be done previously. The failed .mkv files are not corrupt, and I can think of no reason why they're not transferring. I've uninstalled pyTivoX a couple times and rebooted both the Mac and TiVo, but am still coming up empty.

Thoughts?


----------



## psywzrd

Neenahboy said:


> I'm having an issue with transferring certain .mkv files using pyTivoX v1.3 on OS X 10.6.4 using a TiVo HD. I queued up a transfer list of 24 files; the first nine completed successfully, while the others registered as 0:00 partials in Now Playing. Thinking this was an aberration, I queued them up again to no avail.
> 
> Currently, I can only transfer the .mkv files that are already completed, as well as any other file formats that could be done previously. The failed .mkv files are not corrupt, and I can think of no reason why they're not transferring. I've uninstalled pyTivoX a couple times and rebooted both the Mac and TiVo, but am still coming up empty.
> 
> Thoughts?


Funny you should mention this because I'm experiencing the same exact problem. I'm on a Mac as well and I'm unable to transfer an mkv file from my Mac to my S3. The transfer starts but it stops after a couple of seconds or so and I'm left with just a partial on my Tivo. I even tried it on my other S3 and the same thing happens. Not sure what's going on because I was able to transfer 2 avi files without a problem.


----------



## innocentfreak

I just want to make sure I am not missing it. There isn't a tool for automated metadata for existing files?

I saw the one that does it during current transfers and the one that does one file at a time, but I was hoping there was one similar to the various metadata tools out there.


----------



## sdzc

OK, I have both Python and PyTivo running and PyTivo can see my tivos in the To Go section.

What I cannot get right now is for my Tivo's to see the My Videos folder where I have set up the path. In other words, it is not showing up in my Now Playing list


Any thoughts? Hopefully tonight (to get an answer)


----------



## windracer

Post your pytivo.conf file ... that might help.


----------



## steinbch

Is it possible to run PyTivoX and not have it show up in the dock? That's my only reason for not keeping it running 24/7. I like to have a minimalist dock. I didn't see anything in the config file for it.


----------



## Iluvatar

psywzrd said:


> Funny you should mention this because I'm experiencing the same exact problem. I'm on a Mac as well and I'm unable to transfer an mkv file from my Mac to my S3. The transfer starts but it stops after a couple of seconds or so and I'm left with just a partial on my Tivo. I even tried it on my other S3 and the same thing happens. Not sure what's going on because I was able to transfer 2 avi files without a problem.


You need to upgrade to rdian06's latest FFmpeg 1.01 release from here or if you are using macports upgrade to the latest FFmpeg-devel package. This more than likely will fix your MKV transfer issues.


----------



## Iluvatar

steinbch said:


> Is it possible to run PyTivoX and not have it show up in the dock? That's my only reason for not keeping it running 24/7. I like to have a minimalist dock. I didn't see anything in the config file for it.


Create a new file calling it "pyTivo.plist" with the following code



Code:


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>KeepAlive</key>
    <true/>
    <key>Label</key>
    <string>pyTivo</string>
    <key>ProgramArguments</key>
    <array>
        <string>python</string>
        <string>/Applications/pyTivo/pyTivo.py</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

Modify the string with the file location of your pyTivo folder then save this plist file and place it in "/Library/LaunchDaemons" folder. Restart the computer and after login you will have an invisible pyTivo process. It is a KeepAlive process so if it crashes it automatically restarts. If you need to restart the pyTivo process then kill the python process running under 'All Processes' using the Activity Monitor app (or using the pyTivo web access page)

*Edit: I read your post wrong and thought you were talking just about pyTivo. So using the above works only if you decide to run pyTivo standalone without pyTivoX. Sorry *


----------



## psywzrd

Iluvatar said:


> You need to upgrade to rdian06's latest FFmpeg 1.01 release from here or if you are using macports upgrade to the latest FFmpeg-devel package. This more than likely will fix your MKV transfer issues.


What exactly do I need to do? I downloaded the zip file and opened it up and it's a folder with a bunch of files in it. Do I need to copy those files somewhere?


----------



## Iluvatar

psywzrd said:


> What exactly do I need to do? I downloaded the zip file and opened it up and it's a folder with a bunch of files in it. Do I need to copy those files somewhere?


Those are all the current files necessary to make FFmpeg work. You copy all the files over to where FFmpeg is stored currently by pyTivo or pyTivoX and your config file points to ffmpeg.bin. It should just be drag and drop replacement.

If you tell me whether you have the pyTivoX app or just the regular pyTivo scripts I can help you more specifically on where to place the files.


----------



## psywzrd

Iluvatar said:


> Those are all the current files necessary to make FFmpeg work. You copy all the files over to where FFmpeg is stored currently by pyTivo or pyTivoX and your config file points to ffmpeg.bin. It should just be drag and drop replacement.
> 
> If you tell me whether you have the pyTivoX app or just the regular pyTivo scripts I can help you more specifically on where to place the files.


I believe I just have the pytivox app (1.3) but I'm not 100% sure. How I can I definitively tell if I have the app or the scripts?


----------



## Iluvatar

psywzrd said:


> I believe I just have the pytivox app (1.3) but I'm not 100% sure. How I can I definitively tell if I have the app or the scripts?


If you are running pyTivoX to access your media files on the TiVo then thats what you have. pyTivoX is just a frontend that allows easy configuration and access to both pyTivo and StreamBaby which are normally separate programs.

To replace the FFmpeg that pyTivoX uses:

-Make sure pyTivoX is no longer running
-Download rdian06's latest OS X FFmpeg binaries (for x86 or PPC) here
-Extract the files from the updated FFmpeg file you downloaded.
-Navigate to the location your pyTivoX app is stored
-Right click on the application and select "Show Package Contents", an new window will open showing the files that make up pyTivoX
-In the window that opened navigate to /Contents/Resources/
-Drag and drop the new FFmpeg files onto this window. It will ask you if you want to replace the existing files, say yes.

That's all it takes to upgrade your FFmpeg. If you have any new issues after this post here. Since pyTivoX is no longer updated I am uncertain what version of pyTivo the app is running and it may need to have those files updated as well to run the latest FFmpeg.


----------



## psywzrd

Iluvatar said:


> If you are running pyTivoX to access your media files on the TiVo then thats what you have. pyTivoX is just a frontend that allows easy configuration and access to both pyTivo and StreamBaby which are normally separate programs.
> 
> To replace the FFmpeg that pyTivoX uses:
> 
> -Make sure pyTivoX is no longer running
> -Extract the files from the updated FFmpeg file you downloaded.
> -Navigate to the location your pyTivoX app is stored
> -Right click on the application and select "Show Package Contents", an new window will open showing the files that make up pyTivoX
> -In the window that opened navigate to /Contents/Resources/
> -Drag and drop the new FFmpeg files onto this window. It will ask you if you want to replace the existing files, say yes.
> 
> That's all it takes to upgrade your FFmpeg. If you have any new issues after this post here. Since pyTivoX is no longer updated I am uncertain what version of pyTivo the app is running and it may need to have those files updated as well to run the latest FFmpeg.


Thank you for that! It does seem to be working better now since I started transferring an MKV file and it didn't quit after a second or two like it was before. I'll let it run all the way through just to make sure it grabs the whole file.

Since you mentioned that pyTivoX is no longer being updated, I'm wondering if there's anything similar out for Mac that is still being updated. Do you know of anything (preferably free or at least cheap)?


----------



## Iluvatar

psywzrd said:


> Thank you for that! It does seem to be working better now since I started transferring an MKV file and it didn't quit after a second or two like it was before. I'll let it run all the way through just to make sure it grabs the whole file.
> 
> Since you mentioned that pyTivoX is no longer being updated, I'm wondering if there's anything similar out for Mac that is still being updated. Do you know of anything (preferably free or at least cheap)?


pyTivoX is the only frontend for pyTivo on the Mac that I am aware of. If you dont care about losing the pretty frontend you may want to check out the original pyTivo website. This is the real program that runs in the background and transfers the videos to and from your TiVo and is still developed by wmcbrine and others. The current snapshot can be downloaded here by selecting the tar.gz or zip links on the right. As it doesn't have a pretty frontend you may find it more difficult to utilize than pyTivoX but it's the best way to stay up to date with pyTivo developments.


----------



## psywzrd

Thx iluvatar. I'll just stick with pytivox for now. I don't use it all that much anyway so it should suffice for my needs.


----------



## jbernardis

pytivo filed to push an mp4 video file to my tivo. I find the following in my log file. ANy clue as to what's wrong here? Could it be something is wrong with the file? I am concerned about "moov atom not found" message, but I don't know what that means. It seems to try to send it anyway. I can play it with VLC.

2010-08-26 00:42:00,578 INFO pyTivo.video.video: [26/Aug/2010 00:42:00] Start sending "\\BSERVER\media\My Videos\NHL\2009 Playoffs\Round 1 - Philadelphia\Game 4.mp4" to Master Bedroom
2010-08-26 00:42:00,578 DEBUG pyTivo.video.video: "\\BSERVER\media\My Videos\NHL\2009 Playoffs\Round 1 - Philadelphia\Game 4.mp4" is tivo compatible
2010-08-26 00:42:00,671 DEBUG pyTivo.video.qt-faststart: moov atom not found, is this a valid MOV/MP4 file?
2010-08-26 00:42:00,671 DEBUG pyTivo.video.qt-faststart: mp4 already streamable -- copying
2010-08-26 00:42:01,750 INFO pyTivo.video.video: [Errno 10054] An existing connection was forcibly closed by the remote host
2010-08-26 00:42:01,750 INFO pyTivo.video.video: [26/Aug/2010 00:42:01] Done sending "\\BSERVER\media\My Videos\NHL\2009 Playoffs\Round 1 - Philadelphia\Game 4.mp4" to Master Bedroom, 0 bytes, 0.00 KBps
2010-08-26 00:55:19,765 DEBUG pyTivo.mind: __login

this file was encoded using kmttg profile ff_tivo_hd


----------



## moyekj

qt-faststart (at least the one built into pyTivo) is failing find the moov atom and move it to the front of the file which is required for TiVo playback of mp4 files. Have you pushed mp4 files via pyTivo from a network share (i.e. \\BSERVER) before? I'm not sure if the qt-faststart method works from a network share or not which is why I ask.

Perhaps try streaming it with streambaby and/or manually run qt-faststart on it:
qt-faststart file.mp4 file_new.mp4
(Then of course try pushing file_new.mp4 if qt-faststart works)


----------



## jbernardis

moyekj said:


> qt-faststart (at least the one built into pyTivo) is failing find the moov atom and move it to the front of the file which is required for TiVo playback of mp4 files....


Thank you!!

I ran qt-faststart directly on the file and it was successful. At this moment, the file is pushing. I will let you know if it was successful.

I'm not sure what the issue was - qa-faststart did not complain, although it did take a good 20 minutes to process the file. This is quite a large file ~5.5GB as an mp4; the original .tivo file was about 12GB.

On a separate note, I am having good success with the latest version of curl in conjunction with kmttg. Prior to this, kmttg was almost unusable to me because of the frequent transmission failures. With curl 7.21.1 I haven't had a single failure yet.


----------



## jbernardis

ok - push was successful and file played perfectly on the tivo. I guess I just need to incorporate qa-faststart into my workflow between kmttg and pytivo.

Thanks again.


----------



## moyekj

I used to run qt-faststart automatically in kmttg as part of encode tasks intended for playback on TiVo, but since both streambaby & pyTivo added qt-faststart processing if necessary I took it out a while back. Still would be curious to know why the built in pyTivo qt-faststart doesn't work in this case. I wonder if it's related to network share or some other problem?


----------



## wmcbrine

It's possible that I broke the bundled version of qt-faststart at some point. I don't have a good test suite of recordings for it. If you can point me to some that are known to require it, I'll check it out.


----------



## moyekj

wmcbrine said:


> It's possible that I broke the bundled version of qt-faststart at some point. I don't have a good test suite of recordings for it. If you can point me to some that are known to require it, I'll check it out.


 Here is a very small 1 min SD clip with moov atom at the end. NOTE, I haven't updated my pyTivo installation in a couple of months but I know the version I have is working fine for that and various other clips.


----------



## jbernardis

I was thinking that it had to do with integer precision. The file is greater than 4 GB and so seekinh it at the end would require an offset of more than 32 bits. But I've also read that python (since 2.2} autotatically gives you as much precision as you need - so I don't know - unless it's a limitation of the seek/tell implementation.


----------



## moyekj

FYI, I created and tried pushing an mp4 file > 4GB (6.2GB) and get exactly the same issue. A bunch of smaller ones pushed fine. Manually running qt-faststart.exe on the big one worked and then pushed fine.


Code:


DEBUG:pyTivo.video.transcode:CACHE HIT! c:\home\dvd\I_Am_Legend.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, c:\home\dvd\I_Am_Lege
nd.mp4
INFO:pyTivo:192.168.1.107 [27/Aug/2010 06:54:13] "GET /videos/I_Am_Legend.mp4?Fo
rmat=video&#37;2Fmp4 HTTP/1.1" 206 -
INFO:pyTivo.video.video:[27/Aug/2010 06:54:13] Start sending "c:\home\dvd\I_Am_L
egend.mp4" to Bedroom
DEBUG:pyTivo.video.video:"c:\home\dvd\I_Am_Legend.mp4" is tivo compatible
DEBUG:pyTivo.video.qt-faststart:moov atom not found, is this a valid MOV/MP4 fil
e?
DEBUG:pyTivo.video.qt-faststart:mp4 already streamable -- copying
INFO:pyTivo.video.video:(10054, 'Connection reset by peer')
INFO:pyTivo.video.video:[27/Aug/2010 06:54:15] Done sending "c:\home\dvd\I_Am_Le
gend.mp4" to Bedroom, 0 bytes, 0.00 Mb/s


----------



## PeskyPete

When I push the files to tivo, they go into a directory, and adding 'Episode x" to the episodeTitle field, I get the episode number showing up ok.
However, the directory is 'The Office (US)'
I would like it to say: The Office Season 5.
How to I modify the txt file to achieve this?
Sample txt file:
seriesTitle : The Office Season 5
title : Weight Loss
episodeTitle : Episode 1 Weight Loss
originalAirDate : 2008-09-25T00:00:00Z
description : Michael tries to motivate the Scranton branch to lose weight as part of an interoffice competition. Jim is lost after Pam leaves for art school in New York, and Angela continues to see Dwight even though she is now engaged to Andy.
isEpisode : true
seriesId : SH726133
episodeNumber : 501
vProgramGenre : Comedy
vSeriesGenre : Comedy
vDirector : Paul Feig
vWriter : Lee Eisenberg
vWriter : Gene Stupnitsky
vGuestStar : Amy Ryan
vActor : Steve Carell
vActor : John Krasinski
vActor : Jenna Fischer
vActor : Rainn Wilson
vActor : Craig Robinson
vActor : David Denman
vActor : Paul Lieberstein
vActor : Melora Hardin
vActor : Creed Bratton
vActor : Mindy Kaling
vActor : Kate Flannery
vActor : Ed Helms
vActor : Phyllis Smith
vActor : Angela Kinsey
vActor : B.J. Novak
vActor : Oscar Nuñez
vActor : Brian Baumgartner
vActor : Leslie David Baker
vActor : Ellie Kemper


----------



## Rdian06

PeskyPete said:


> When I push the files to tivo, they go into a directory, and adding 'Episode x" to the episodeTitle field, I get the episode number showing up ok.
> However, the directory is 'The Office (US)'
> I would like it to say: The Office Season 5.
> How to I modify the txt file to achieve this?
> Sample txt file:
> seriesTitle : The Office Season 5
> title : Weight Loss
> episodeTitle : Episode 1 Weight Loss
> originalAirDate : 2008-09-25T00:00:00Z
> description : Michael tries to motivate the Scranton branch to lose weight as part of an interoffice competition. Jim is lost after Pam leaves for art school in New York, and Angela continues to see Dwight even though she is now engaged to Andy.
> isEpisode : true
> seriesId : SH726133
> episodeNumber : 501
> vProgramGenre : Comedy
> vSeriesGenre : Comedy
> vDirector : Paul Feig
> vWriter : Lee Eisenberg
> vWriter : Gene Stupnitsky
> vGuestStar : Amy Ryan
> vActor : Steve Carell
> vActor : John Krasinski
> vActor : Jenna Fischer
> vActor : Rainn Wilson
> vActor : Craig Robinson
> vActor : David Denman
> vActor : Paul Lieberstein
> vActor : Melora Hardin
> vActor : Creed Bratton
> vActor : Mindy Kaling
> vActor : Kate Flannery
> vActor : Ed Helms
> vActor : Phyllis Smith
> vActor : Angela Kinsey
> vActor : B.J. Novak
> vActor : Oscar Nuñez
> vActor : Brian Baumgartner
> vActor : Leslie David Baker
> vActor : Ellie Kemper


I believe you need to use a different seriesId. If you use the real seriesId that already exists in the Tivo guide, the folder will be named according to the guide data.

If you pick an unused seriesId and do a Push, then I believe the folder name will be whatever you specify as the seriesTitle in the first file pushed.


----------



## PeskyPete

Ok thanks for this tip.
What would be a typical example of an used id? SH999999?


----------



## wmcbrine

If it's really a Push, the seriesId shouldn't matter. That is to say, they work for grouping purposes, but they don't get recognized as real, existing seriesIds. So it doesn't matter if it's unused or not. But for Push purposes, you might as well leave it out altogether.


----------



## hotwire32

Oh is that why I can get something from like Amazon VOD and it will list the right grouping even though the show isn't in the current listings, because they pushed it to my Tivo? Does pyTivo let you push?


----------



## bwall23

Using Windows7-64-bit, Python version 2.6.5, snapshot wmcbrine-2010-07-02-af4ac219c26f90baa3a59daef57f91e13e920a36, FFmpeg version SVN-r21085

Is there a debug setting left enabled?

I get an ffmpeg like output in the "Hosts:" section of an MP4 file on my server that I'm browsing from my TiVo shares. It looks like a response from pyTiVo querying the container and deciding what to do with it. Is this the result of a debug setting not disabled?

I ONLY see it when I have Global Server Settings->debug: True

What does Global Server Settings->debug: True DO???

I'm also having problems with the "threads=#" and the docs don't cover what it applies to. Currently it's a problem and without knowing what it applies to, I don't know how to solve it.


----------



## bwall23

innocentfreak said:


> I just want to make sure I am not missing it. There isn't a tool for automated metadata for existing files?
> 
> I saw the one that does it during current transfers and the one that does one file at a time, but I was hoping there was one similar to the various metadata tools out there.


kmttg will give you accurate metadata in a .txt file. I also posted a Windows command script that will give you an xml file of metadata gen'd from a .TiVo file here.


----------



## wmcbrine

hotwire32 said:


> Oh is that why I can get something from like Amazon VOD and it will list the right grouping even though the show isn't in the current listings, because they pushed it to my Tivo?


Yes... all pushes (aka TiVoCasts) create their own seriesIds/do their own grouping.



> _Does pyTivo let you push?_


Yes. As noted, you do it from the web interface.



bwall23 said:


> I get an ffmpeg like output in the "Hosts:" section of an MP4 file on my server that I'm browsing from my TiVo shares. ... I ONLY see it when I have Global Server Settings->debug: True


Yes, that's normal.



> _What does Global Server Settings->debug: True DO???_


Apart from the Hosts data, it adds extra log/console output.



> _I'm also having problems with the "threads=#" and the docs don't cover what it applies to._


pyTivo doesn't have a "threads" option, although it's an option for ffmpeg. Where are you seeing this?



> _Currently it's a problem_


Why?


----------



## bwall23

wmcbrine said:


> bwall23 said:
> 
> 
> 
> I get an ffmpeg like output in the "Hosts:" section of an MP4 file on my server that I'm browsing from my TiVo shares. ... I ONLY see it when I have Global Server Settings->debug: True
> 
> 
> 
> Yes, that's normal.
Click to expand...

Thanks



wmcbrine said:


> bwall23 said:
> 
> 
> 
> I'm also having problems with the "threads=#" and the docs don't cover what it applies to.
> 
> 
> 
> pyTivo doesn't have a "threads" option, although it's an option for ffmpeg. Where are you seeing this?
Click to expand...

Yes, in the Global Server Settings->ffmpeg_pram:



wmcbrine said:


> bwall23 said:
> 
> 
> 
> Currently it's a problem
> 
> 
> 
> Why?
Click to expand...

Now that I know it's just for ffmpeg, I've figured it out


----------



## hotwire32

Ah I installed the lastest version on my MacMini and now I see the push services! VERY COOL, Thank you thank you thank you .

Now i've got to figure out is it default.txt that you put in each folder you want to push?

Also another quick question, there use to be a software package that I had that would search TVDB to get episode information? I'm using pyTivoMetadataManager but it doesn't appear to get episode info. Thanks again everyone!


----------



## Eamus Catuli

Kivo said:


> I have a Tivo HD and a Premiere. I've been using pyTivo (and kmttg) to push H.264 files encoded with Handbrake to the Tivo HD. It's been working flawlessly for months and still does. However, when I try to push the same exact files to the Premiere, the video only fills a 4:3 portion of the screen with black bars on the sides.
> 
> Does anyone know why this is happening? Is there a setting in pyTivo somewhere that I need to change?


I had the same problem and tried the same solution, but it didn't work for me. I was about the pose a question of why but then I found the answer myself - you need to make sure when you apply the updated code that it overwrites the previous versions.

I noticed when I tried to update it the first time, I just added a "wmcbine" subdirectory and in the pyTivo directory, there were whole bunch of ".py" files dated 2009-03-19. When I took the contents of "wmcbine" an overwrote "pyTivo", everything was fine.

I hope someone might find this useful in the future. It's an easy mistake to make. 

I'm now running pyTivo  with:

Windows 7 x64
Python 2.6.6
wmcbrine-2fb21cf9579762e6dead74dee95f50b3378209a5 (Aug. 8, 2010)
ffmpeg 1.01


----------



## PeskyPete

wmcbrine said:


> If it's really a Push, the seriesId shouldn't matter. That is to say, they work for grouping purposes, but they don't get recognized as real, existing seriesIds. So it doesn't matter if it's unused or not. But for Push purposes, you might as well leave it out altogether.


Sorry for the late follow up - been oot.
I am still not clear on the seriesid command.

From your post, you say that I don't need it if I am 'pushing' from computer to Tivo with pytivo - right?
Now does that mean I leave off the entire line, or do I still need:

seriesId_:_ (where _= space, before and after the colon).

The program is very case/character sensitive, so you need to be VERY specific.

If I want the files to go into a directory of a particular name, can you actually give an example of acouple of txt files please?

For example, say I have a series of shows:
My Home Movie 1.mkv
My Home Movie 2.mkv

I want these to appear on my Tivo under a folder called "Home Movies 2010"
Would these txt files work?:

seriesTitle : Home Movies 2010
episodeTitle : My Home Movie 1
description : Cat takes a bath
episodeNumber : 101

seriesTitle : Home Movies 2010
episodeTitle : My Home Movie 2
description : Dog takes a bath
episodeNumber : 102

Thanks
Pete


----------



## bwall23

I'm running pytivo wmcbrine-2010-07-02-af4ac219c26f90baa3a59daef57f91e13e920a36.zip in console mode on WIN7-64bit.
tivodecode 0.3pre4 Copyright (c) 2006-2007, Jeremy Drake
tdcat same as tivodecode

Everything has been and is working great, except for a problem I've just discovered with 4 TiVo files on my share.

My one share has 50 folders and 410 TiVo files.
From my TiVo NPL I go into my video share and then select one of these 4 problem TiVo files and it says "Transferring prohibited by the copyright holder." and shows the duration as 0:00 and doesn't display the Title, episodeTitle or Description. It just displays the filename.
TiVo Desktop v2.8.1 allows me to share them, pull them to my TiVo and they are viewable.
I can play them on my PC with Windows Media Player.
I've looked at the metadata xml chunks gen'd from both tivodecode and tdcat and everything looks fine.
kmttg v0p7m generates good metadata text from them.
The TiVo filenames don't seem to be the problem as they're like all my others;
1) Disaster in the Gulf A Race Against Time (Thu Jun 10, 2010 1700 DSCHD).TiVo"
2) Louisiana (Fri Jul 30, 2010 1800 DSCHD).TiVo
3) Hidden Predator #007 (Thu Aug 05, 2010 1800 DSCHD).TiVo
4) After the Fall #202 (Tue Aug 03, 2010 1900 DSCHD).TiVo

Attempting to push these from the pytivo web interface throws an error that the duration is zero.

I'm not sure what I should be looking for.


----------



## wmcbrine

It means ffmpeg can't read them. It tries to read them without decoding, a process which at first appeared to work quite consistently (for purposes of finding the duration and other details), but has since turned out to be iffy. Try a different version of ffmpeg. (Alternatively, with no ffmpeg at all, pyTivo will switch to passthrough mode, where only common MPEG extensions and ".TiVo" will be recognized.)


----------



## bwall23

wmcbrine said:


> It means ffmpeg can't read them. It tries to read them without decoding, a process which at first appeared to work quite consistently (for purposes of finding the duration and other details), but has since turned out to be iffy. Try a different version of ffmpeg. (Alternatively, with no ffmpeg at all, pyTivo will switch to passthrough mode, where only common MPEG extensions and ".TiVo" will be recognized.)


Removing ffmpeg from the pytivo config file works, but then I don't get the recording duration listed.

Using a new version of ffmpeg did not fix the problem.

Original version I was using on a problem recording



Code:


T:\>ffmpeg -i "Disaster in the Gulf A Race Against Time (Thu Jun 10, 2010 1700 DSCHD).TiVo"
FFmpeg version SVN-r21085, Copyright (c) 2000-2010 Fabrice Bellard, et al.
  built on Jan  8 2010 06:05:02 with gcc 4.2.4
  configuration: --enable-memalign-hack --prefix=/mingw --cross-prefix=i686-mingw32- --cc=ccache-i686-mingw32-gcc --target-os=mingw32 --arch=i686 --cpu=i686 --enable-avisynth --enable-gpl --enable-version3 --enable-zlib --enable-bzlib --enable-libgsm --enable-libfaad --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libmp3lame --enable-libopenjpeg --enable-libxvid --enable-libschroedinger --enable-libx264 --enable-libopencore_amrwb --enable-libopencore_amrnb
  libavutil     50. 7. 0 / 50. 7. 0
  libavcodec    52.45. 0 / 52.45. 0
  libavformat   52.46. 0 / 52.46. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libswscale     0. 8. 0 /  0. 8. 0

Seems stream 1 codec frame rate differs from container frame rate: inf (1/0) -> nan (0/0)
Input #0, mpeg, from 'Disaster in the Gulf A Race Against Time (Thu Jun 10, 2010 1700 DSCHD).TiVo':
  Duration: 01:00:01.10, start: 1.000000, bitrate: 10929 kb/s
    Stream #0.0[0x1bd]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
    Stream #0.1[0x1e0]: Video: mpeg2video, 90k tbn
At least one output file must be specified

New version I'm trying on a problem recording



Code:


T:\>ffmpeg -i "Disaster in the Gulf A Race Against Time (Thu Jun 10, 2010 1700 DSCHD).TiVo"
FFmpeg version SVN-r21659-rdian06-1.02-win-x86_32, Copyright (c) 2000-2010 Fabrice Bellard, et al.
  built on Aug 24 2010 20:46:16 with gcc 4.4.0
  configuration: --enable-memalign-hack --disable-debug --enable-hardcoded-tables --enable-runtime-cpudetect --enable-static --disable-shared --disable-ffserver --disable-ffplay --enable-gpl --enable-pthreads --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libgsm --enable-libx264 --enable-libschroedinger --enable-libfaad --enable-libxvid --disable-decoder=aac --enable-avisynth --enable-postproc --enable-avfilter --enable-avfilter-lavf
  libavutil     50. 8. 0 / 50. 8. 0
  libavcodec    52.52. 0 / 52.52. 0
  libavformat   52.50. 0 / 52.50. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.17. 0 /  1.17. 0
  libswscale     0.10. 0 /  0.10. 0
  libpostproc   51. 2. 0 / 51. 2. 0

Seems stream 1 codec frame rate differs from container frame rate: inf (1/0) -> nan (0/0)
Input #0, mpeg, from 'Disaster in the Gulf A Race Against Time (Thu Jun 10, 2010 1700 DSCHD).TiVo':
  Duration: 00:55:49.55, start: 1.000000, bitrate: 11750 kb/s
    Stream #0.0[0x1bd]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
    Stream #0.1[0x1e0]: Video: mpeg2video, 90k tbn
At least one output file must be specified

Original version I was using on a good recording



Code:


T:\>ffmpeg -i "Hunting the Lost Symbol (Sun Nov 01, 2009 1300 DSCHD).TiVo"
FFmpeg version SVN-r21085, Copyright (c) 2000-2010 Fabrice Bellard, et al.
  built on Jan  8 2010 06:05:02 with gcc 4.2.4
  configuration: --enable-memalign-hack --prefix=/mingw --cross-prefix=i686-mingw32- --cc=ccache-i686-mingw32-gcc --target-os=mingw32 --arch=i686 --cpu=i686 --enable-avisynth --enable-gpl --enable-version3 --enable-zlib --enable-bzlib --enable-libgsm --enable-libfaad --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libmp3lame --enable-libopenjpeg --enable-libxvid --enable-libschroedinger --enable-libx264 --enable-libopencore_amrwb --enable-libopencore_amrnb
  libavutil     50. 7. 0 / 50. 7. 0
  libavcodec    52.45. 0 / 52.45. 0
  libavformat   52.46. 0 / 52.46. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libswscale     0. 8. 0 /  0. 8. 0
[mpeg2video @ 0x17e4d80]mpeg_decode_postinit() failure
    Last message repeated 3 times
[mpeg2video @ 0x17e4d80]ignoring pic after 100
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 0
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 1
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 2
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 3
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 4
[mpeg2video @ 0x17e4d80]skipped MB in I frame at 1 5
[mpeg2video @ 0x17e4d80]invalid mb type in I Frame at 0 6
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 7
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 8
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 9
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 10
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 11
[mpeg2video @ 0x17e4d80]invalid mb type in I Frame at 0 12
[mpeg2video @ 0x17e4d80]invalid mb type in I Frame at 0 13
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 14
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 15
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 16
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 17
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 18
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 19
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 20
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 21
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 22
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 23
[mpeg2video @ 0x17e4d80]invalid mb type in I Frame at 0 24
[mpeg2video @ 0x17e4d80]invalid mb type in I Frame at 0 25
[mpeg2video @ 0x17e4d80]invalid mb type in I Frame at 0 26
[mpeg2video @ 0x17e4d80]skipped MB in I frame at 1 27
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 28
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 29
[mpeg2video @ 0x17e4d80]invalid mb type in I Frame at 0 30
[mpeg2video @ 0x17e4d80]invalid mb type in I Frame at 0 31
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 32
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 33
[mpeg2video @ 0x17e4d80]mb incr damaged
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 35
[mpeg2video @ 0x17e4d80]ac-tex damaged at 1 36
[mpeg2video @ 0x17e4d80]skipped MB in I frame at 1 37
[mpeg2video @ 0x17e4d80]invalid mb type in I Frame at 0 38
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 39
[mpeg2video @ 0x17e4d80]skipped MB in I frame at 1 40
[mpeg2video @ 0x17e4d80]invalid mb type in I Frame at 0 41
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 42
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 43
[mpeg2video @ 0x17e4d80]skipped MB in I frame at 1 44
[mpeg2video @ 0x17e4d80]skipped MB in I frame at 1 45
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 46
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 47
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 48
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 49
[mpeg2video @ 0x17e4d80]ac-tex damaged at 1 50
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 51
[mpeg2video @ 0x17e4d80]invalid mb type in I Frame at 1 52
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 53
[mpeg2video @ 0x17e4d80]invalid mb type in I Frame at 0 54
[mpeg2video @ 0x17e4d80]invalid mb type in I Frame at 0 55
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 56
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 57
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 58
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 59
[mpeg2video @ 0x17e4d80]ac-tex damaged at 1 60
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 61
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 62
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 63
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 64
[mpeg2video @ 0x17e4d80]mb incr damaged
[mpeg2video @ 0x17e4d80]ac-tex damaged at 0 66
[mpeg2video @ 0x17e4d80]ac-tex damaged at 1 67
[mpeg2video @ 0x17e4d80]Warning MVs not available
[mpeg2video @ 0x17e4d80]concealing 8160 DC, 8160 AC, 8160 MV errors
[mpeg @ 0x19acd70]MAX_READ_SIZE:5000000 reached

Seems stream 1 codec frame rate differs from container frame rate: 59.94 (60000/1001) -> 29.97 (30000/1001)
Input #0, mpeg, from 'Hunting the Lost Symbol (Sun Nov 01, 2009 1300 DSCHD).TiVo':
  Duration: 02:00:00.72, start: 1.000000, bitrate: 11057 kb/s
    Stream #0.0[0x1bd]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
    Stream #0.1[0x1e0]: Video: mpeg2video, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 20000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
At least one output file must be specified

New version I'm trying on a good recording



Code:


T:\>ffmpeg -i "Hunting the Lost Symbol (Sun Nov 01, 2009 1300 DSCHD).TiVo"
FFmpeg version SVN-r21659-rdian06-1.02-win-x86_32, Copyright (c) 2000-2010 Fabrice Bellard, et al.
  built on Aug 24 2010 20:46:16 with gcc 4.4.0
  configuration: --enable-memalign-hack --disable-debug --enable-hardcoded-tables --enable-runtime-cpudetect --enable-static --disable-shared --disable-ffserver --disable-ffplay --enable-gpl --enable-pthreads --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libgsm --enable-libx264 --enable-libschroedinger --enable-libfaad --enable-libxvid --disable-decoder=aac --enable-avisynth --enable-postproc --enable-avfilter --enable-avfilter-lavf
  libavutil     50. 8. 0 / 50. 8. 0
  libavcodec    52.52. 0 / 52.52. 0
  libavformat   52.50. 0 / 52.50. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.17. 0 /  1.17. 0
  libswscale     0.10. 0 /  0.10. 0
  libpostproc   51. 2. 0 / 51. 2. 0
[mpeg2video @ 0x3304d80]mpeg_decode_postinit() failure
    Last message repeated 3 times
[mpeg2video @ 0x3304d80]ignoring pic after 100
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 0
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 1
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 2
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 3
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 4
[mpeg2video @ 0x3304d80]skipped MB in I frame at 1 5
[mpeg2video @ 0x3304d80]invalid mb type in I Frame at 0 6
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 7
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 8
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 9
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 10
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 11
[mpeg2video @ 0x3304d80]invalid mb type in I Frame at 0 12
[mpeg2video @ 0x3304d80]invalid mb type in I Frame at 0 13
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 14
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 15
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 16
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 17
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 18
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 19
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 20
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 21
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 22
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 23
[mpeg2video @ 0x3304d80]invalid mb type in I Frame at 0 24
[mpeg2video @ 0x3304d80]invalid mb type in I Frame at 0 25
[mpeg2video @ 0x3304d80]invalid mb type in I Frame at 0 26
[mpeg2video @ 0x3304d80]skipped MB in I frame at 1 27
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 28
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 29
[mpeg2video @ 0x3304d80]invalid mb type in I Frame at 0 30
[mpeg2video @ 0x3304d80]invalid mb type in I Frame at 0 31
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 32
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 33
[mpeg2video @ 0x3304d80]mb incr damaged
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 35
[mpeg2video @ 0x3304d80]ac-tex damaged at 1 36
[mpeg2video @ 0x3304d80]skipped MB in I frame at 1 37
[mpeg2video @ 0x3304d80]invalid mb type in I Frame at 0 38
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 39
[mpeg2video @ 0x3304d80]skipped MB in I frame at 1 40
[mpeg2video @ 0x3304d80]invalid mb type in I Frame at 0 41
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 42
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 43
[mpeg2video @ 0x3304d80]skipped MB in I frame at 1 44
[mpeg2video @ 0x3304d80]skipped MB in I frame at 1 45
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 46
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 47
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 48
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 49
[mpeg2video @ 0x3304d80]ac-tex damaged at 1 50
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 51
[mpeg2video @ 0x3304d80]invalid mb type in I Frame at 1 52
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 53
[mpeg2video @ 0x3304d80]invalid mb type in I Frame at 0 54
[mpeg2video @ 0x3304d80]invalid mb type in I Frame at 0 55
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 56
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 57
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 58
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 59
[mpeg2video @ 0x3304d80]ac-tex damaged at 1 60
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 61
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 62
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 63
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 64
[mpeg2video @ 0x3304d80]mb incr damaged
[mpeg2video @ 0x3304d80]ac-tex damaged at 0 66
[mpeg2video @ 0x3304d80]ac-tex damaged at 1 67
[mpeg2video @ 0x3304d80]Warning MVs not available
[mpeg2video @ 0x3304d80]concealing 8160 DC, 8160 AC, 8160 MV errors
[mpeg @ 0x153cdf0]MAX_READ_SIZE:5000000 reached

Seems stream 1 codec frame rate differs from container frame rate: 59.94 (60000/1001) -> 29.97 (30000/1001)
Input #0, mpeg, from 'Hunting the Lost Symbol (Sun Nov 01, 2009 1300 DSCHD).TiVo':
  Duration: 02:00:00.72, start: 1.000000, bitrate: 11057 kb/s
    Stream #0.0[0x1bd]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
    Stream #0.1[0x1e0]: Video: mpeg2video, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 20000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
At least one output file must be specified


----------



## Rdian06

Seems ffmpeg can't determine the video resolution in the two problematic examples. Do those recordings have resolution changes near the beginning?


----------



## bwall23

Rdian06 said:


> Seems ffmpeg can't determine the video resolution in the two problematic examples. Do those recordings have resolution changes near the beginning?


Not that I could tell by viewing it with WMP, on my TiVo HD or opening it in VideoRedo TVSuite 4. 1920x1080i HD, 3-15 secs of previous HD program, fade to black for <1 sec to 2 secs, then fade from black to new program. Anything in particular I should look for?

The one problem recording I showed the ffmpeg output for has 114 frames or 3.24 secs of the previous program, fades to black (23 frames/0.95 secs of black), then fades to new program which was recorded. All in HD.
Here's the Video Program Info from VideoReDo TVSuite 4;

File Name: T:\Disaster in the Gulf A Race Against Time (Thu Jun 10, 2010 1700 DSCHD).TiVo
File Size: 4919987881 ( 4.58 GB )
Program Duration: 00:59:59.17
File Type: TiVo
Encoding: MPEG2
Video stream Id: xE0
Encoding Dimensions: 1920 x 1080
Display Size: 1920 x 1080
Aspect Ratio: 16:9
Frame Rate: 29.97 FPS
Bit Rate: 20.000 Mbps
VBV_Buffer: 976 KB
Profile: Main/High
Progressive: Prog or Int
Chroma: 4:2:0
Audio Format: 5.1
Audio Stream Id: AC3: 0 (x80)
Audio Bit Rate: 384 Kbps
Audio Sampling Rate: 48000 Hz
TS Mux Rate (bps): -1
Est. video bit rate: 10.130 (Mbps)


----------



## bwall23

bwall23 said:


> Not that I could tell by viewing it with WMP, on my TiVo HD or opening it in VideoRedo TVSuite 4. 1920x1080i HD, 3-15 secs of previous HD program, fade to black for <1 sec to 2 secs, then fade from black to new program. Anything in particular I should look for?
> 
> The one problem recording I showed the ffmpeg output for has 114 frames or 3.24 secs of the previous program, fades to black (23 frames/0.95 secs of black), then fades to new program which was recorded. All in HD.
> Here's the Video Program Info from VideoReDo TVSuite 4;
> 
> File Name: T:\Disaster in the Gulf A Race Against Time (Thu Jun 10, 2010 1700 DSCHD).TiVo
> File Size: 4919987881 ( 4.58 GB )
> Program Duration: 00:59:59.17
> File Type: TiVo
> Encoding: MPEG2
> Video stream Id: xE0
> Encoding Dimensions: 1920 x 1080
> Display Size: 1920 x 1080
> Aspect Ratio: 16:9
> Frame Rate: 29.97 FPS
> Bit Rate: 20.000 Mbps
> VBV_Buffer: 976 KB
> Profile: Main/High
> Progressive: Prog or Int
> Chroma: 4:2:0
> Audio Format: 5.1
> Audio Stream Id: AC3: 0 (x80)
> Audio Bit Rate: 384 Kbps
> Audio Sampling Rate: 48000 Hz
> TS Mux Rate (bps): -1
> Est. video bit rate: 10.130 (Mbps)


A bit blurry eyed right now (lack of sleep) but I figured it out.

Video Dimension Change 1920x1080 -> 1280x720 at a point where the local cableco inserted a local commercial in the 1920x1080 broadcast half-way through it. VRD QSFIX takes care of it. I didn't know and so was amazed that VRD TVSuite 4 QSFIX's a TiVo file. I'll have to look into it further, but looks like you can also do commercial cuts on a TiVo file and keep it in it's native format.

*UPDATE:* I've since found other TiVo files that don't have a problem with pyTiVo, but VRD shows a Video Dimension Change and can't edit them without first doing a QSF to eliminate the other Video Dimension. These are programs broadcast as 1920x1080 and have 1-3 minute commercial segments inserted at 1920x1088 resolution.


----------



## bwall23

bwall23 said:


> I didn't know and so was amazed that VRD TVSuite 4 QSFIX's a TiVo file. I'll have to look into it further, but looks like you can also do commercial cuts on a TiVo file and keep it in it's native format.


And it turns out that, *yes*, you *can* open a TiVo file, QSF and save as TiVo file, then open and process it using ad detective (manually adjust cut points if needed) and save it back in it's native TiVo format with all chunks/metadata/encryption intact. So it's possible to send native TiVo recordings to your computer, process them in their original TiVo wrapper and optionally get them back on your TiVo (could do this as TiVo, mpeg2, MP4, etc.).


----------



## jbernardis

I just went through the exercise of porting pytivo to my ReadyNAS environment. In th eprocess, I also ported the imaging library. I must have made a mistake though, because I can't see any pictures. I instead get the "broken picture" icon that indicates there is a problem. Also, for each picture, I see the following in the log file:

Resize failed on /media/Pictures/1940s and before/PD_0034.JPG -- decoder jpeg not available

I don't recall seeing any issues when I built the imaging library. Do you have any suggestions as to how I can figure out what's missing here?


----------



## jbernardis

Problem solved!!

I had to completely remove the PIL, and then apt-get libjpeg62 libjpeg62-dev libfreetype6 and libfreetype6-dev. After this I was able to build the PIL again and all was well.


----------



## TBoons

I've got a weird issue, forgive me if it already discussed. I did a search for 'delete' and found a few hints, but nothing that was my problem.

I have a movie "The Union" that has been in my NPL for about 3 months. It will not go away. It has a blue "transferring" icon next to it, I can go in to it and choose "Stop Transfer" but it doesn't stop. It stays there. I can not play this firm either. Anyone know how I can get this out without doing a total delete of all my recordings?


----------



## pmiranda

TBoons said:


> I have a movie "The Union" that has been in my NPL for about 3 months. It will not go away. It has a blue "transferring" icon next to it, I can go in to it and choose "Stop Transfer" but it doesn't stop. It stays there. I can not play this firm either. Anyone know how I can get this out without doing a total delete of all my recordings?


Tried restarting PyTiVo and/or your TiVo?


----------



## TBoons

pmiranda said:


> Tried restarting PyTiVo and/or your TiVo?


Ya... I have tried all that. Like I said, it has been on there for months. Tivo and PC have been restarted tons of times since then.

I am really convinced it is just stuck there. I was hoping maybe someone had a magic trick to get it out. It is WAY down on my NPL, so I rarely see it. It is just taking up 13GB of space.


----------



## pmiranda

Does the broken transfer keep you from doing other transfers? If so, I guess just ignore the dumb thing until you happen to get down to just a few recordings that you don't mind deleting (or can actually transfer off to the PC temporarily...good luck if you're on Time Warner) to try and nuke the whole unit.


----------



## TBoons

pmiranda said:


> Does the broken transfer keep you from doing other transfers? If so, I guess just ignore the dumb thing until you happen to get down to just a few recordings that you don't mind deleting (or can actually transfer off to the PC temporarily...good luck if you're on Time Warner) to try and nuke the whole unit.


All other transfer work flawlessly.

Guess I could transfer to PC anything I wanted to keep and nuke it.


----------



## wmcbrine

Is the movie in question actually present in one of the pyTivo video shares? If so -- remove it or rename it, then restart pyTivo and the TiVo. (I'd do it this way: stop pyTivo, unplug the TiVo, move the file, restart pyTivo, then plug the TiVo back in.)


----------



## gedaso

This is a bit of an odd request, but I was hoping someone could help...

I've just gotten interested in pyTivo and tried to get it installed by downloading one of the pre-packaged windows binaries from the pyTivo discussion forum on sourceforge. However when I visit any page at that site, all I get is a message that "You have been banned from this forum. Please contact the webmaster or board administrator for more information."

Which is kinda odd seeing as I have never been on that site before 

Unfortunately, seeing as I am apparently banned, I can't access any page which might direct me to the webmaster or board admin so that I could try to get this resolved. Can anyone provide with an email address for them ?

thanks
Geoff


----------



## m_jonis

jcthorne said:


> Try these instructions to walk you through:
> 
> http://scottsoapbox.com/2010/04/20/pytivo-install-instructions/
> 
> There is no up to date windows installer or exe file. Its a Python program that runs on multiple operating systems. You install the python interpreter for windows and then the pyTivo system runs in a command line window.


I think his point (and I'm seeing this too) is that those instructions you reference tell you to download python (they give you a link), and if you go to that link, you will download Python 2.7

Those same instructions on Scott's site then have you download the "installer" version of PyTivo which apparently only detects or works with Python 2.4-2.6 and nothing else.

At least I cannot seem to find a newer "installer" version so it seems will have to back-rev Python to 2.6.x in order to follow Scott's instructions.


----------



## wmcbrine

gedaso, it sounds like it's your IP address that's blocked. Presumably you're using an IP that was previously used by a spammer.


----------



## m_jonis

I just finished setting up PyTivo (mcbrine version) on Windows XP SP3 Pro.

Here's what's strange:

I run the console version for debugging. It (the pyTivo server) sees my 4 Tivo's. My Series2 DT Tivos see the: My Videos folder in the NPL, along with the one video I put into said folder.

But none of my Tivo HD (two of them) see the My Videos folder in the NPL.

????

A few other questions/observations:
Cannot seem to use Python 2.7 as per Scott's website (you have to use 2.6.x and then the installer and then upgrade).

For some strange reason the PyTivo SERVICE doesn't work with mapped drives. Not referring to UNC path access, but I mean you have logged into the windows OS, manually mapped a drive, and then start the PyTivo service. Perhaps it's a python issue as we do this all the time with our Windows servers at work and none of the "local system" services seem to have a problem accessing mapped drives (provided we have already authenticated). But for now, I can live with the console version.

Just puzzled as to why only the TivoHD units cannot see the My Videos (I don't even see the browsing request on the console when the TivoHD tries to look for it. But the Series2 DT units DO show up).


----------



## Rdian06

m_jonis said:


> I just finished setting up PyTivo (mcbrine version) on Windows XP SP3 Pro.
> 
> Here's what's strange:
> 
> I run the console version for debugging. It (the pyTivo server) sees my 4 Tivo's. My Series2 DT Tivos see the: My Videos folder in the NPL, along with the one video I put into said folder.
> 
> But none of my Tivo HD (two of them) see the My Videos folder in the NPL.
> 
> ????
> 
> A few other questions/observations:
> Cannot seem to use Python 2.7 as per Scott's website (you have to use 2.6.x and then the installer and then upgrade).
> 
> For some strange reason the PyTivo SERVICE doesn't work with mapped drives. Not referring to UNC path access, but I mean you have logged into the windows OS, manually mapped a drive, and then start the PyTivo service. Perhaps it's a python issue as we do this all the time with our Windows servers at work and none of the "local system" services seem to have a problem accessing mapped drives (provided we have already authenticated). But for now, I can live with the console version.
> 
> Just puzzled as to why only the TivoHD units cannot see the My Videos (I don't even see the browsing request on the console when the TivoHD tries to look for it. But the Series2 DT units DO show up).


Yeah, for some reason the mechanics behind the pyTivo service in the Windows installer won't recognize mapped drives. You have to use a UNC path AND set the service to login with credentials that allow access to the UNC path as well as login to the local system. I'd imagine it has to do with old APIs, but I've never really looked at it very hard.


----------



## m_jonis

Rdian06 said:


> Yeah, for some reason the mechanics behind the pyTivo service in the Windows installer won't recognize mapped drives. You have to use a UNC path AND set the service to login with credentials that allow access to the UNC path as well as login to the local system. I'd imagine it has to do with old APIs, but I've never really looked at it very hard.


Thanks for the info.

So I've narrowed down the symptom with the My Videos folder, but not sure why. It seems that after a fresh install, any Tivo I go to will see the folder, but the minute one of them accesses it (I go into the "My Videos" folder to see the one .mpg file), once I exit out, then none of my Tivos will see that folder again.

Almost as if the PyTivo server is a "use once". Which is quite bizarre.

Is PyTivo normally this flakey? I mean the default config seems fairly obvious.


----------



## Rdian06

m_jonis said:


> Thanks for the info.
> 
> So I've narrowed down the symptom with the My Videos folder, but not sure why. It seems that after a fresh install, any Tivo I go to will see the folder, but the minute one of them accesses it (I go into the "My Videos" folder to see the one .mpg file), once I exit out, then none of my Tivos will see that folder again.
> 
> Almost as if the PyTivo server is a "use once". Which is quite bizarre.
> 
> Is PyTivo normally this flakey? I mean the default config seems fairly obvious.


Make sure you have the UDP 5353 firewall rule allowing outbound AND inbound.

Also, some home routers are known to do funny things to the multicast DNS beaconing. On some Linksys models, the switch to enable multicast really means disable it. Some have reversed the setting in their router to get Tivo discovery working stably. However, if your router is the problem, it also affects MRV discovery between the Tivos themselves.

Power cycling your network equipment and the Tivos to clear all the ARP tables and get the speed negotiation right also doesn't hurt if you think you've got everything else set right.


----------



## rassi

I have been a long-time user of PyTiVo - probably 3 yrs or so.... Just in the last week or so transfers from my PC to our HDTiVo have become horribly slow. It might take 8 hrs now to transfer a 24 min sitcom.

I have tried rebooting both the TiVo and the PC. I've also tried uninstalling Python and pyTiVo and reinstalling them. Sadly, there is still no joy in mudville. We used to be able to transfer most shows and watch them real-time. Now that's impossible.

What do we need to do to figure out what the problem is???


----------



## m_jonis

Rdian06 said:


> Make sure you have the UDP 5353 firewall rule allowing outbound AND inbound.
> 
> Also, some home routers are known to do funny things to the multicast DNS beaconing. On some Linksys models, the switch to enable multicast really means disable it. Some have reversed the setting in their router to get Tivo discovery working stably. However, if your router is the problem, it also affects MRV discovery between the Tivos themselves.
> 
> Power cycling your network equipment and the Tivos to clear all the ARP tables and get the speed negotiation right also doesn't hurt if you think you've got everything else set right.


Well got it to work by simply shutting off the windows XP firewall. Not sure why it would work once with the firewall and then not again (every time you stop/start the PyTivo service it would work once). Especially since the port for the firewall was in the firewall exceptions. If memory serves, the XP firewall doesn't actually block inbound traffic, it's the outbound stuff.

But whatever it's going now so that's all that matters.


----------



## wmcbrine

rassi said:


> Just in the last week or so transfers from my PC to our HDTiVo have become horribly slow. It might take 8 hrs now to transfer a 24 min sitcom.


I would guess that this is a network problem. Wired or wireless?

Try pinging the TiVo from the PC.


----------



## Phantom Gremlin

wmcbrine said:


> I would guess that this is a network problem. Wired or wireless?
> 
> Try pinging the TiVo from the PC.


Also, try power cycling all other equipment (such as Ethernet switches, wireless access points, etc). Don't just focus on the PC and TiVo. There are (unfortunately) many other failure points. E.g. I have an Apple Extreme Base Station wireless access point which is normally very reliable. But about 2x a year the network access from one computer connected wirelessly becomes very slow. Rebooting the computer doesn't help, but power cycling the access point fixes the problem.


----------



## seths17

wmcbrine (or other pytivo super users): Help please!

Long time lurker and pytivo user.

Have recently been running into trouble transferring (pulling from the TiVo interface) .ts files. Most of these are sporting events. I can usually get one half of the game (in one .ts file) to transfer no problems. The other half I only get a partial transfer. The first several minutes of the partial transfer looks and sounds great. The partial transfers never make it beyond 3-7 minutes.

This has happened quite a lot all with .ts files. MKVs seem to be (and have always been) fine.

Any help would be appreciated. I'm dying to watch this match.

My simple (2 line) metadata file looks like this:

Override_aKbps : 2048
Override_aCodec: wma

The .ts files are typically ~2GB each, h.264, AC3 audio (typically), 720p
I'm on a Windows Vista system, TiVo is Series 3

Thanks in advance!


----------



## metronomadic

I've been trying to sort out how to push mpeg-4 videos from my NAS to my TiVo, and I'm about at my wit's end. I hope that someone might be able to help me move in the right direction!

I believe I'm running the latest wmcbrine, 2010-08-08. Here's my python info, I think...



Code:


python -i
Python 2.5.2 (r252:60911, Jan 24 2010, 21:03:09) 
[GCC 4.3.2] on linux2

I've done my best at building ffmpeg, and am getting at least 1 error that looks weird when getting info on the video that I want to push - "Seems stream 0 codec frame rate differs from container frame rate: 30000.00 (30000/1) -> 29.97 (30000/1001)" - full ffmpeg -i below...



Code:


./ffmpeg -i /path/to/Ratatouille.mp4
FFmpeg version 0.6, Copyright (c) 2000-2010 the FFmpeg developers
  built on Oct 26 2010 08:30:40 with gcc 4.3.2
  configuration: --prefix=/ffmpeg --enable-gpl
  libavutil     50.15. 1 / 50.15. 1
  libavcodec    52.72. 2 / 52.72. 2
  libavformat   52.64. 2 / 52.64. 2
  libavdevice   52. 2. 0 / 52. 2. 0
  libswscale     0.11. 0 /  0.11. 0

Seems stream 0 codec frame rate differs from container frame rate: 30000.00 (30000/1) -> 29.97 (30000/1001)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/path/to/Ratatouille.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2mp41
    title           : Ratatouille
    encoder         : DigiArty AV Encoder Core
    comment         : Remy is a young rat...
    show            : Ratatouille
    date            : 2007
  Duration: 01:51:03.50, start: 0.000000, bitrate: 1837 kb/s
    Stream #0.0(und): Video: mpeg4, yuv420p, 720x404 [PAR 1:1 DAR 180:101], 1667 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 30k tbc
    Stream #0.1(und): Audio: aac, 48000 Hz, stereo, s16, 165 kb/s
At least one output file must be specified

When I tried to push the video via the web interface I also got the following, which I think means it's trying to convert the video on my NAS, right?



Code:


Output #0, vob, to 'pipe:':
  Metadata:
    encoder         : Lavf52.64.2
    Stream #0.0(und): Video: mpeg2video, yuv420p, 720x404 [PAR 1:1 DAR 180:101], q=2-31, 16384 kb/s, 90k tbn, 29.97 tbc
    Stream #0.1(und): Audio: ac3, 48000 Hz, stereo, s16, 448 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Press [q] to stop encoding

So, there's my situation, in a nutshell. If I've left anything important out, please forgive me, as it's getting late here in California. Thanks for any help you can provide! -m


----------



## wmcbrine

seths17: Well, you could try overriding the vCodec as well. The video should be reencoded anyway on a pull if it's h.264, but since you only describe this as "typical", perhaps you have some problematic MPEG-2 video that's being passed through?

An alternative might be to remux these files to MP4 and push them. (Get rid of the overrides in that case!)

Or, perhaps try a different (newer?) version of ffmpeg.

metronomadic: You left out the actual problem.  Does it not get transferred? Or do you just want to get it transferred without transcoding? (I imagine the NAS is very slow at that.) If it's the latter, your problem is that the video codec is reported as "mpeg4" rather than "h264". Only h264, mpeg2video, mpeg1video and vc1 can be pushed without transcoding.


----------



## seths17

wmcbine - Thanks for the help.

I need a little hand-holding here as I've been pretty hands-off with pytivo since it has worked so nicely until now...

1) what exactly should my entry look like for the suggested override vCodec metadata line?
2) Where can I get a newer or different ffmpeg (I have been using the latest: ffmpeg-SVN-r21659-rdian06-1.02-win-x86_32.zip) ?
3) If I need to provide a log to get to the bottom of this issue (which as I've mentioned seems only to occur with .ts files as of recent), how do I do that?
4) Would I potentially have any better luck using something like StreamBaby (which I can't get to show in my TiVo menu appropriate - I'll post that inquiry in the right thread if this is an option to overcome the issue)...

PS - I also tried pushing the file via the pytivo web interface (no metadata file) and it failed to fully transfer (got a partial transfer stopped at the exact same place when pulling at 3 minutes in...)

Here are the details of the file I am attempting to get to TiVo (push or pull) via pytivo:

Format : MPEG-TS
Size: ~4.5 GB (~2.2GB per half)
Video
Bit rate : 6000kps
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16/9
Frame rate : 59.940 fps
Scan type : Progressive
Audio
Format : AC-3
Bit rate mode : Constant
Bit rate : 384 Kbps
Channel(s) : 5.1 channels

Thanks for all of the help. Still waiting to watch the first half...


----------



## metronomadic

wmcbrine said:


> metronomadic: You left out the actual problem.  Does it not get transferred? Or do you just want to get it transferred without transcoding? (I imagine the NAS is very slow at that.) If it's the latter, your problem is that the video codec is reported as "mpeg4" rather than "h264". Only h264, mpeg2video, mpeg1video and vc1 can be pushed without transcoding.


I knew that I was forgetting something! It's the latter - I want it to get transferred without transcoding. Thanks for catching that for me, I'll give it another shot at encoding, and I hope that'll solve it for me.


----------



## wmcbrine

seths17:

1. "Override_vCodec: foo". It doesn't matter what the codec is, as long as it's _not_ one of the ones that can be passed through without transcoding.

2. I dunno; maybe here?

3. I don't think a log will be needed. Either the override line will work, indicating that it was bad MPEG-2 data; or it won't, and changing ffmpeg or separate remuxing would be your only remedies.

4. I can't see why Streambaby would handle it any better, but who knows? Note that Streambaby should appear in the "Music, Photos, & Showcases" menu (or "Showcases & extras" in the Premiere's HDUI), not the NPL.


----------



## NYHeel

I'm having an issue with Pytivo (on a windows 7 32bit laptop) and my new premieres. I'm trying to transfer back HD shows that were pulled off of a Tivo (and decrypted) via kmttg. Transferring to a TivoHD works fine, everything looks nice and HD, but to a Premiere, it gets changed to SD. I'm using pytivo on my windows laptop. I just updated to wmcbrine's most recent fork (10/31 I believe) by extracting the zip over the existing pytivo directory. I restarted my laptop and premiere and it still transfers in SD to my Premiere. It sees the file as HD but thinks it needs to be reencoded to SD. It probably has something to do with pytivo not recognizing that the Premiere is HD capable but I'm not sure what else to do beyond what I've done. Any thoughts on this?

In the interest of full disclosure, I posted this in the Premiere forum but just realized that I probably should have posted it here. So sorry for the double post.


----------



## Rdian06

Sounds like you didn't extract the new wmcbrine code over the old code correctly. When you download the zip from git, it normally extracts to a wmcbrine folder. So if you look in your pyTivo folder and there is a wmcbrine folder inside it, then you didn't overwrite anything and you're still running the old code that thinks the Premiere is an SD unit.


----------



## jcthorne

If I use pytivo to push a 1080p file to my TivoHD are there settings to allow it to play as 1080p on my projector? Or is this only a Premier function?

Just got a new projector and never dealt with 1080 files before, was stuck at 720p for many years.


----------



## Rdian06

I think the max output res for the Tivo HD is 1080i. You should be able to see this on one of the video output option menus. Can't remember the name off the top of my head. It's where you have the option to set a fixed resolution or native res.

If you're transcoding, you might want to up the height and width settings in your pyTivo.conf to 1920x1080.


----------



## zundian

OK, let's forget about the previous problem, because I got it all sussed out. New problem: When transferring video to my new Premiere everything shows up postage boxed, so I need to zoom in on it to fill the screen. The exact same videos on my TiVo HD are full screen (HD). I even upped the height and width to 1920x1080, with the same results.


----------



## bschuler2007

wmcbrine,
I was thinking recently about Tivo's inability to play items in random order from one of it's NPL folders and how sad it is that Tivo was never able to fix this, and then I came up with this idea for pytivo:
In pytivo.cfg, add in with Type and Path, Israndom=Date or something like that. Then have pytivo, when it transfers something from that folder, it randomizes it's recorded on date. This would give Tivo the ability to play in random based on it sorted via Date Recorded. You could also have instead of random dates, random file naming as an option for those who wanna sort via Alphabetically.
So is this possible, sound doable, etc? or is there a simple method to do this I already overlooked. I would love this ability added to pytivo if possible.


----------



## wmcbrine

bschuler: It's possible. But, it's not something I'd want to implement, sorry. It's a kludgy approach; random order might make more sense in a streaming app. 

zundian: When you replace the contents of your post like that, it's not marked as new, so lots of people will miss it. Anyway, it sounds like you need a newer version of pyTivo that recognizes the Premiere as an HD unit. That change was made on March 3rd, 2010.


----------



## moyekj

TS .TiVo files don't seem to transfer back to TiVos natively using pyTivo. Has anyone checked if latest TiVo Desktop software allows them to transfer back? Other than faster download speeds these TS TiVo files seem to be more trouble than they are worth.


----------



## wmcbrine

Yeah, pyTivo needs a little tweaking to be able to transfer them. I've been reluctant to mess with them until tivodecode gets fixed. The Mysterious Person who first provided the TS support patch for tivodecode told me privately that he knows how to fix it, but doesn't have time right now. But there's no theoretical reason pyTivo can't transfer them, and yeah, I'm pretty sure (though speaking as a non-user) that TiVo Desktop will do it (as of 2.8 or so).

Potentially more interesting to me is to have pyTivo send fake, unencrypted .TiVo files generated on the fly, to include TS files, maybe even to include h.264 video. I know how to do it, but I've been short on time myself. Meanwhile, I actually did test it in an ad-hoc way, which unfortunately was not suitable to commit, with MPEG-2 PS only. It finally got the stupid episode numbers transferred, which was a big win.


----------



## orangeboy

Does pyTivo try to resend a failed transfer? I saw this tonight:



Code:


2011-01-18 20:24:22,187 INFO  pyTivo.video.video: [18/Jan/2011 20:24:22] Start sending "\\SY-6BA-100\ToTivo\Some.Show.mp4" to TivoS4
2011-01-18 20:24:22,187 DEBUG pyTivo.video.video: "\\SY-6BA-100\ToTivo\Some.Show.mp4" is tivo compatible
2011-01-18 20:24:22,203 DEBUG pyTivo.video.qt-faststart: mp4 already streamable -- copying
2011-01-18 20:26:32,155 INFO  pyTivo.video.video: [Errno 10054] An existing connection was forcibly closed by the remote host
2011-01-18 20:26:32,155 INFO  pyTivo.video.video: [18/Jan/2011 20:26:32] Done sending "\\SY-6BA-100\ToTivo\Some.Show.mp4" to TivoS4, 0 bytes, 0.00 Mb/s

I've got a hack in place that triggers off the "Done sending" message, writing out the file name to a text file. A push script reads the text file, and deletes any successful transfers before sending the request to pyTivo, in an effort to do some housekeeping. However, the forcibly closed connection terminated the transfer before completing. A couple hours later, I see this in the log:



Code:


2011-01-18 22:00:19,967 ERROR pyTivo: Exception during request from ('192.168.0.199', 58528)
Traceback (most recent call last):
  File "C:\Python26\lib\SocketServer.py", line 558, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python26\lib\SocketServer.py", line 320, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\Program Files\pyTivo\httpserver.py", line 64, in __init__
    client_address, server)
  File "C:\Python26\lib\SocketServer.py", line 615, in __init__
    self.handle()
  File "C:\Python26\lib\BaseHTTPServer.py", line 329, in handle
    self.handle_one_request()
  File "C:\Python26\lib\BaseHTTPServer.py", line 323, in handle_one_request
    method()
  File "C:\Program Files\pyTivo\httpserver.py", line 95, in do_GET
    self.handle_file(query, splitpath)
  File "C:\Program Files\pyTivo\httpserver.py", line 165, in handle_file
    plugin.send_file(self, path, query)
  File "C:\Program Files\pyTivo\plugins\video\video.py", line 86, in send_file
    transcode.tivo_compatible(path, tsn, mime)[0])
  File "C:\Program Files\pyTivo\plugins\video\transcode.py", line 613, in tivo_compatible
    vInfo = video_info(inFile)
  File "C:\Program Files\pyTivo\plugins\video\transcode.py", line 645, in video_info
    mtime = os.stat(fname).st_mtime
WindowsError: [Error 2] The system cannot find the file specified: u'\\\\SY-6BA-100\\ToTivo\\Some.Show.mp4'

It looks like pyTivo tried to resend the file but couldn't, because it had already been deleted. I was unaware of a "retry" option.


----------



## moyekj

It's not pyTivo resending, it's the TiVo re-requesting. Once you queue something up at mind.tivo.com (which is what push does) unless the queued entry is cleared then TiVo will keep asking for it each time it checks in. Unfortunately the reverse engineering of mind.tivo.com didn't come up with a way of managing the mind.tivo.com queue directly (specifically querying what is queued up and clearing out the queue would be useful), so sometimes there can be stuck entries in the queue. I haven't used push in a while but I seem to recall usually after a failed request though the queue clears up and won't be tried again, but perhaps depending on type of failure it may not clear the entry.


----------



## orangeboy

moyekj said:


> It's not pyTivo resending, it's the TiVo re-requesting. Once you queue something up at mind.tivo.com (which is what push does) unless the queued entry is cleared then TiVo will keep asking for it each time it checks in. Unfortunately the reverse engineering of mind.tivo.com didn't come up with a way of managing the mind.tivo.com queue directly (specifically querying what is queued up and clearing out the queue would be useful), so sometimes there can be stuck entries in the queue. I haven't used push in a while but I seem to recall usually after a failed request though the queue clears up and won't be tried again, but perhaps depending on type of failure it may not clear the entry.


Ah - makes sense. I may have to adjust my housekeeping script to query the NPL to assure that indeed the transfer was successful before deleting the files.


----------



## sirfergy

I'm pushing an h264 video file to my Premiere and pytivo is using mpeg2 as the video type. Any reason why it wouldn't push the original video?

Stream info:

Stream #0.0: Video: h264, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc

Stream #0.1(eng): Audio: dca, 48000 Hz, 5.1, s16, 1536 kb/s

Stream #0.2(eng): Audio: ac3, 48000 Hz, stereo, s16, 224 kb/s

Logs snippets:

2011-01-24 18:03:24,961 DEBUG pyTivo.video.transcode: aspect169: True
2011-01-24 18:03:24,963 DEBUG pyTivo.video.transcode: optres: False

2011-01-24 18:03:24,987 DEBUG pyTivo.video.transcode: transcoding to tivo model 748 using ffmpeg command:
2011-01-24 18:03:24,989 DEBUG pyTivo.video.transcode: C:\Program Files\pyTiVo\bin\ffmpeg.exe -i Movie.mkv -vcodec mpeg2video -b 16384k -maxrate 30000k -bufsize 4096k -ab 448k -ar 48000 -acodec ac3 -copyts -threads 4 -f vob -


----------



## moyekj

mkv container not supported by TiVo, only mp4 container can have H.264. Plus *primary* audio needs to be ac3.
See video_compatibility


----------



## sirfergy

I thought container didn't matter since ffmpeg can easily swap to mp4. I understand audio needs to be converted.


----------



## moyekj

It's basically a binary decision for pyTivo. If anything is not compatible then transcode to mpeg2 is done, so it's up to you to get it into proper format to avoid transcode. Utilities such as orangeboy's script can help:
mkv2tivomp4.bat


----------



## jcthorne

sirfergy said:


> I thought container didn't matter since ffmpeg can easily swap to mp4. I understand audio needs to be converted.


ffmpeg cannot convert from mkv to a streamable mp4 on the fly. That is why it must be converted ahead of transfer.


----------



## wmcbrine

Yeah, streamable MP4 is the key problem, otherwise we'd do it. What moyekj said is how pyTivo used to work, but it's slightly more sophisticated now -- it can separately reencode only the video or audio, or only do a remux (in the case of an MPEG-2 transport stream or MPEG-1 video). Unfortunately this doesn't help with h.264. But if I can only get the TiVo to accept transport streams...


----------



## jcthorne

wmcbrine said:


> Yeah, streamable MP4 is the key problem, otherwise we'd do it. What moyekj said is how pyTivo used to work, but it's slightly more sophisticated now -- it can separately reencode only the video or audio, or only do a remux (in the case of an MPEG-2 transport stream or MPEG-1 video). Unfortunately this doesn't help with h.264. But if I can only get the TiVo to accept transport streams...


Ahh the holy grail to eliminate all this file manipulation prior to pytivo push.....Sure hope it gets to that.

On a similar subject, has anyone tried pushing NON streamable mp4s to a Premiere on the latest version (14.7) software? I was told it just may work now. If so, pytivo could transcode to mp4 on the fly.....


----------



## orangeboy

I see that pyTivo supports flac files in a roundabout way, using ffmpeg to transcode into mp3. I'm good with that. So I setup a new section through the Web Configuration named "Led Zeppelin Music" (without quotes), Saved changes, edited the new section to set the type to "music" (without quotes), gave it the UNC path that contains the root folder to my flac file collection, then soft-reset pyTivo. The problem I have is that I can't find "Led Zeppelin Music" anywhere on my TiVos.

I tried to bounce the Windows Service, which caused another problem: "Could not start Service. pyTivoService.exe is not a valid Win32 application." Fine. Dunno what caused _that_; The Service stopped and started without issue since I installed and upgraded it countless times. I fixed that by editing the Windows Registry to include quotes around the path to pyTivoService.exe (found at HKLM\SYSTEM\CurrentControlSet\Services\pyTivo). Started the Service, same thing - no music. I just restarted the TiVo, same thing - no music.

What am I missing?

Dunno if this is relevant in any way:


Code:


2011-01-26 22:16:43,703 INFO  pyTivo: 192.168.0.60 [26/Jan/2011 22:16:43] "POST /TiVoConnect HTTP/1.1" 200 -
2011-01-26 22:16:44,515 INFO  pyTivo: 192.168.0.60 [26/Jan/2011 22:16:44] code 404, message Not Found
2011-01-26 22:16:44,515 INFO  pyTivo: 192.168.0.60 [26/Jan/2011 22:16:44] "GET /favicon.ico HTTP/1.1" 404 -
2011-01-26 22:16:49,078 INFO  pyTivo: 192.168.0.60 [26/Jan/2011 22:16:49] "GET /TiVoConnect?Command=Settings&Container=Settings HTTP/1.1" 200 -
2011-01-26 22:16:49,842 INFO  pyTivo: 192.168.0.60 [26/Jan/2011 22:16:49] "GET /main.css HTTP/1.1" 200 -
2011-01-26 22:16:49,842 INFO  pyTivo: 192.168.0.60 [26/Jan/2011 22:16:49] "GET /plugins/settings/settings.js HTTP/1.1" 200 -
2011-01-26 22:16:49,858 INFO  pyTivo: 192.168.0.60 [26/Jan/2011 22:16:49] "GET /plugins/settings/settings.css HTTP/1.1" 200 -
2011-01-26 22:16:50,421 INFO  pyTivo: 192.168.0.60 [26/Jan/2011 22:16:50] code 404, message Not Found
2011-01-26 22:16:50,421 INFO  pyTivo: 192.168.0.60 [26/Jan/2011 22:16:50] "GET /favicon.ico HTTP/1.1" 404 -
2011-01-26 22:16:55,375 INFO  pyTivo: 192.168.0.60 [26/Jan/2011 22:16:55] "GET /TiVoConnect?Command=Reset&Container=Settings HTTP/1.1" 200 -
2011-01-26 22:16:55,390 INFO  pyTivo.settings: pyTivo has been soft reset.
2011-01-26 22:16:56,108 INFO  pyTivo: 192.168.0.60 [26/Jan/2011 22:16:56] code 404, message Not Found
2011-01-26 22:16:56,108 INFO  pyTivo: 192.168.0.60 [26/Jan/2011 22:16:56] "GET /favicon.ico HTTP/1.1" 404 -
2011-01-26 22:16:58,578 INFO  pyTivo: 192.168.0.60 [26/Jan/2011 22:16:58] "GET /TiVoConnect?Command=Settings&Container=Settings HTTP/1.1" 200 -
2011-01-26 22:16:59,280 INFO  pyTivo: 192.168.0.60 [26/Jan/2011 22:16:59] "GET /main.css HTTP/1.1" 200 -
2011-01-26 22:16:59,280 INFO  pyTivo: 192.168.0.60 [26/Jan/2011 22:16:59] "GET /plugins/settings/settings.css HTTP/1.1" 200 -
2011-01-26 22:16:59,296 INFO  pyTivo: 192.168.0.60 [26/Jan/2011 22:16:59] "GET /plugins/settings/settings.js HTTP/1.1" 200 -
2011-01-26 22:17:00,592 INFO  pyTivo: 192.168.0.60 [26/Jan/2011 22:17:00] code 404, message Not Found
2011-01-26 22:17:00,592 INFO  pyTivo: 192.168.0.60 [26/Jan/2011 22:17:00] "GET /favicon.ico HTTP/1.1" 404 -
2011-01-26 22:17:09,108 INFO  pyTivo: 192.168.0.199 [26/Jan/2011 22:17:09] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
2011-01-26 22:17:40,265 INFO  pyTivo: 192.168.0.199 [26/Jan/2011 22:17:40] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
2011-01-26 22:18:11,015 INFO  pyTivo: 192.168.0.199 [26/Jan/2011 22:18:11] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
2011-01-26 22:18:42,312 INFO  pyTivo: 192.168.0.199 [26/Jan/2011 22:18:42] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
2011-01-26 22:18:59,953 INFO  pyTivo: 192.168.0.199 [26/Jan/2011 22:18:59] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
2011-01-26 22:19:01,546 INFO  pyTivo: 192.168.0.199 [26/Jan/2011 22:19:01] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
2011-01-26 22:19:09,765 INFO  pyTivo: 192.168.0.199 [26/Jan/2011 22:19:09] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -

I generally don't like "Not Found" messages.


----------



## wmcbrine

orangeboy said:


> I generally don't like "Not Found" messages.


If you notice, they're all in response to requests for "favicon.ico".  This has no effect on anything. (And no, the rest of that log wasn't helpful, sorry.) I posted about this on the pyTivo forum, BTW, soliciting icons for possible use, but got no responses. 

Rather than explaining the steps you took to set up the share, please, just post your pyTivo.conf.

Common issues:

Music shares appear under "Music, Photos and Showcases", or whatever it's called now, rather than the NPL.

The path to your files needs to be accessible by the user account pyTivo runs as, not just your regular desktop user account.

Since you mention UNC paths, I'm guessing this is a network share? Personally I'd prefer to run pyTivo on the system where the files are, so they only have to traverse the network once. Of course the exception is if the files need to be transcoded, and that system isn't up to it.


----------



## orangeboy

Nevermind - It shows up on my Series3, just not my Premiere. I'll dig into why that is.


----------



## rassi

I'd had PyTiVo working fine for a couple of weeks, and all of a sudden in the last few days it has been failing with the following error:



Code:


Traceback (most recent call last):
  File "C:\Python26\lib\SocketServer.py", line 560, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python26\lib\SocketServer.py", line 322, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\Program Files\pyTivo\httpserver.py", line 64, in __init__
    client_address, server)
  File "C:\Python26\lib\SocketServer.py", line 618, in __init__
    self.finish()
  File "C:\Python26\lib\SocketServer.py", line 661, in finish
    self.wfile.flush()
  File "C:\Python26\lib\socket.py", line 297, in flush
    self._sock.sendall(buffer(data, write_offset, buffer_size))
error: [Errno 10054] An existing connection was forcibly closed by the remote ho
st
2011-01-28 19:13:19,144 DEBUG pyTivo.video.transcode: killing pid=4632

Does this shed any light on what's happening?

PyTiVo is running on Win 7-64 and we're transferring to an HDTiVo....


----------



## orangeboy

rassi said:


> I'd had PyTiVo working fine for a couple of weeks, and all of a sudden in the last few days it has been failing with the following error:
> 
> 
> 
> Code:
> 
> 
> Traceback (most recent call last):
> File "C:\Python26\lib\SocketServer.py", line 560, in process_request_thread
> self.finish_request(request, client_address)
> File "C:\Python26\lib\SocketServer.py", line 322, in finish_request
> self.RequestHandlerClass(request, client_address, self)
> File "C:\Program Files\pyTivo\httpserver.py", line 64, in __init__
> client_address, server)
> File "C:\Python26\lib\SocketServer.py", line 618, in __init__
> self.finish()
> File "C:\Python26\lib\SocketServer.py", line 661, in finish
> self.wfile.flush()
> File "C:\Python26\lib\socket.py", line 297, in flush
> self._sock.sendall(buffer(data, write_offset, buffer_size))
> error: [Errno 10054] An existing connection was forcibly closed by the remote ho
> st
> 2011-01-28 19:13:19,144 DEBUG pyTivo.video.transcode: killing pid=4632
> 
> Does this shed any light on what's happening?
> 
> PyTiVo is running on Win 7-64 and we're transferring to an HDTiVo....


My guess would be that you're using a wireless connection to the TiVo.


----------



## rassi

orangeboy said:


> My guess would be that you're using a wireless connection to the TiVo.


Yes, that is correct. We have the original Tivo G series wireless connector.


----------



## Nak

Does PyTivo do any intermittent maintenance or indexing? I have an HP EX495 WHS machine with PyTivo installed. I also stream Bluray content off the same machine. The problem is I get video stuttering every hour or two when streaming a bluray to my Dune media player. (Not with PyTivo obviously...) I've troubleshot everything about WHS and the EX495 and applied every fix I could find. I could uninstall pyTivo and see if it gets better, but I'd hate to do that if it's not possible that it's causing problems. No one else is using a Tivo when this happens, PyTivo should be idle.

Thanks!


----------



## wmcbrine

Nak said:


> Does PyTivo do any intermittent maintenance or indexing?


No. Indexing pretty much happens on demand, as you browse, or at startup, if you turn on the option for that. About all an idle pyTivo would be doing is announcing itself every few seconds via Zeroconf and beacons, and taking up memory.


----------



## Nak

wmcbrine said:


> No. Indexing pretty much happens on demand, as you browse, or at startup, if you turn on the option for that. About all an idle pyTivo would be doing is announcing itself every few seconds via Zeroconf and beacons, and taking up memory.


Thanks! I really appreciate the help. I can eliminate pyTivo as a problem then. 'Course, it's back to tearing my hair out...


----------



## ncfoster

Hi all,

I am new to the Tivo world. I was supposed to get my cable installed today, but "Snowmageddon 2011" managed to delay things another two weeks.

So, I am looking to get some of the other features going in the meantime. I have, in the past used DVarchive for ReplayTVs in the house, and I have the house wired for Gigabit ethernet to the places that matter for this discussion.

I am looking to get pyTivo and whatever else going. I have an old Athlon XP 2500+ with 4 GB of RAM running OpenSUSE 10.3. Can I expect a box like this to be up to the task, and would I be well-advised to install a different OS for any reason? I'm not attached to it. I simply try out distros once in a while. This one isn't really doing much right now, except serving as my once-in-a-while-it-is-nice-to-have-Linux machine. I should have a spare Windows 7 license from a Family Pack. I also will likely want this box to serve up media to my PS3 occasionally, and to a "Neuros Link", which is basically an XBMC/Ubuntu client box.

Any other general advice or pointers to a newbie FAQ are much appreciated. Thank you.


----------



## wmcbrine

That's far in excess of pyTivo's requirements. Of course, transcoding is faster with a faster server -- but only up to a point, since the TiVo can only take in video at a certain rate. Lots of people run pyTivo on NAS devices.

I personally have yet to run pyTivo on a system with more than 1 GB of RAM, although mostly on faster processors.

I certainly recommend Linux over Windows. I use Ubuntu. I can't comment on OpenSUSE specifically, but I have no reason to suppose it's a problem.


----------



## PeskyPete

I don't know if this has been asked before, but...
Some mkv files, when transcoded (encoding??) via pytivo, play back with a jitter.
If I run the same file through Handbrake, then do a a quickstream fix in VideoReDo, they copy over without re-encoding, since handbrake's mpeg2'ed them and run smoothly.
Is it possible to find out before I send them over to Tivo, whether I should use Pytivo or Handbrake?
Or maybe I am not using the right software?
My config has this:

[Server]
tivo_password = xxxx
tivo_mak = xxxx
ffmpeg = d:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
togo_path = d:\Users\me\Videos
tivo_username = xxxx
port = 9032

So I'm guessing it uses the ffmpeg_mp2.exe to transcode?
This program has a date of 2008. Could this be the problem?
There is another exe in the \plugins\video folder called ffmpeg.exe.
Should I be using this instead? It has a date 6/15/2010
Thanks!
Pete


----------



## Rdian06

PeskyPete said:


> I don't know if this has been asked before, but...
> Some mkv files, when transcoded (encoding??) via pytivo, play back with a jitter.
> If I run the same file through Handbrake, then do a a quickstream fix in VideoReDo, they copy over without re-encoding, since handbrake's mpeg2'ed them and run smoothly.
> Is it possible to find out before I send them over to Tivo, whether I should use Pytivo or Handbrake?
> Or maybe I am not using the right software?
> My config has this:
> 
> [Server]
> tivo_password = xxxx
> tivo_mak = xxxx
> ffmpeg = d:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
> togo_path = d:\Users\me\Videos
> tivo_username = xxxx
> port = 9032
> 
> So I'm guessing it uses the ffmpeg_mp2.exe to transcode?
> This program has a date of 2008. Could this be the problem?
> There is another exe in the \plugins\video folder called ffmpeg.exe.
> Should I be using this instead? It has a date 6/15/2010
> Thanks!
> Pete


Yes, change your conf to use the newer ffmpeg.exe. That should fix the problem. The old one had a problem with certain mkv/h264 encode flags. It sounds like at some point you upgraded pyTivo, but you kept your old conf file which referred to the older ffmpeg.


----------



## PeskyPete

Ok thanks, I'll give this file a try the next time.


----------



## boredsox38

Has anyone looked into how to serve the images for show's along with the metadata over to the premiere? Let me know if I missed the info somewhere in the thread.


----------



## johnjay829

anyone having trouble pushing to tivo i have a tivoHD. using the lastest wmcbrine release. i haven't changed anything and now cannot push videos.. reinstalled pytivo and no change.


----------



## jbernardis

Apparently if you are running ffmpeg on multiple computers, it's important to keep them somewhat in sync, especially if you decode on one machine and encode on the other.

I run pytivo on my NAS, which is debian linux based. However, I was ripping some DVDs and transcoding them to MP4 on my PC - which is windows 7 based. I tried pulling one of the movies to the tivo using the nas-based pytivo, and it was a mess. The movie was watchable, but there were frequent video and audio glitches. I was able to push the MP4 to the tivo successfully, and I was able to successfully watch the mp4 file on both my PC and streaming to my PS3. That pointed my sights directly at my NAS.

The version of ffmpeg I use on my PC is relatively recent - it showed as having been built January 10, 2011. On my NAS, I built ffmpeg myself from source back in september of last year. The version numbers weren't even close to one another, but I didn't think 3 or 4 months of time shouldn't make that much of a difference. So I downloaded the latest tar file to my NAS, unpacked it, and built it. The version numbers are still different, although a lot closer than they were, but now the pulled video plays fine.


----------



## jcthorne

jbernardis said:


> Apparently if you are running ffmpeg on multiple computers, it's important to keep them somewhat in sync, especially if you decode on one machine and encode on the other.
> 
> I run pytivo on my NAS, which is debian linux based. However, I was ripping some DVDs and transcoding them to MP4 on my PC - which is windows 7 based. I tried pulling one of the movies to the tivo using the nas-based pytivo, and it was a mess. The movie was watchable, but there were frequent video and audio glitches. I was able to push the MP4 to the tivo successfully, and I was able to successfully watch the mp4 file on both my PC and streaming to my PS3. That pointed my sights directly at my NAS.
> 
> The version of ffmpeg I use on my PC is relatively recent - it showed as having been built January 10, 2011. On my NAS, I built ffmpeg myself from source back in september of last year. The version numbers weren't even close to one another, but I didn't think 3 or 4 months of time shouldn't make that much of a difference. So I downloaded the latest tar file to my NAS, unpacked it, and built it. The version numbers are still different, although a lot closer than they were, but now the pulled video plays fine.


Its not an incompatibility between ffmpeg versions. True your old version did not transcode well for your tivo and needed updating but the reason the files PUSHED from the pc to the tivo worked differently is that they were not transcoded at all. The files PULLED from your NAS were transcoded to mpeg2 video when transferred, a much inferior solution. PUSHING allows transfer of unaltured mp4 files containing h264 video and ac3 audio. Pulling does not allow this, mpeg2 only.


----------



## jbernardis

Yeah - I realize that there is no transcoding when pushing - that's how I was able to narrow my focus to ffmpeg on the NAS. It verified to me that the mp4 file, and therefore the original transcoding on the PC, worked fine. The only variable left was the transcoding on the NAS.

I agree that pushing is a superior technique. Sometimes, though, it's a lot easier, when sitting in the family room with a tivo remote in my hand, to pull a video rather than fire up the PC, browse to the pytivo HTTP server, and request a push. Too bad the pull request doesn't result in a push.


----------



## jcthorne

No worries, glad you got it figured out and your NAS is working well for you.

I too wish a native mp4 transfer could be initiated from the tivo menu. Streambaby is capable of this but adds yet one more item in the mix that I do not want to burden the family with. Pytivo's menu item is already there and works, just slow due to transcoding.

Not a big deal for us as 99.99% of what we watch is already loaded on the tivo, vary rarely does anyone call for video from the server.


----------



## orangeboy

jbernardis said:


> I agree that pushing is a superior technique. Sometimes, though, it's a lot easier, when sitting in the family room with a tivo remote in my hand, to pull a video rather than fire up the PC, browse to the pytivo HTTP server, and request a push. Too bad the pull request doesn't result in a push.


Check out Streambaby's "Push" option: http://code.google.com/p/streambaby/wiki/PushConfiguration


----------



## jbernardis

alas - java is not installed on my NAS, and I am reluctant to install it. I am uneasy doing any installations that do not use the apt-get mechanism, and the apt-get search (actually apt-cache) is unclear about the content of the java packages it has available. There is something called java-common, but I don't know if that's just a JVM, or a development package, or what, and I don't know what version it is.

I guess I could try running streambaby on my PC, but the whole objective behind porting to the NAS was to not need the PC turned on 24/7. If only streambaby (and harmonium for that matter) were written in python or perl.


----------



## orangeboy

Well, I'm thinking that if an HME app like Streambaby has the ability to push from the TiVo UI, another one could be crafted to do the same. I have zero experience with HME coding, but McBrine's python port of the SDK may help in that respect.


----------



## caddyroger

What is the latest version ffmpeg and where can I down load it from? I have ffmpeg svn r21659 rdian06 1.02v installed now


----------



## orangeboy

http://ffmpeg.org/
"The last revision committed to SVN was r26402 on 2011-01-19"


----------



## Iluvatar

orangeboy said:


> http://ffmpeg.org/
> "The last revision committed to SVN was r26402 on 2011-01-19"


This is the last SVN version. They introduced a GIT repository and are probably a couple hundred revisions past this one.

Unless the user is familiar with compiling their own FFmpeg executable and has a specific issue with Rdian06's versions I recommend sticking with the latest versions he has posted on the pyTivo forum.


----------



## jbernardis

orangeboy said:


> Well, I'm thinking that if an HME app like Streambaby has the ability to push from the TiVo UI, another one could be crafted to do the same. I have zero experience with HME coding, but McBrine's python port of the SDK may help in that respect.


Yeah - I downloaded the code so I could study it, but it's low on the priority list.


----------



## caddyroger

Iluvatar said:


> This is the last SVN version. They introduced a GIT repository and are probably a couple hundred revisions past this one.
> 
> Unless the user is familiar with compiling their own FFmpeg executable and has a specific issue with Rdian06's versions I recommend sticking with the latest versions he has posted on the pyTivo forum.


No I am familiar with compiling can not even start to. I am not having problems just wanted the latest version. I'll be sticking to the svn version for now


----------



## jackny

New to pytivo......everything works great except have been unable to transfer .avi files from my PC to my series 2 tivos......is there a quick fix I that I can add the the config file....thanks for any help


----------



## wmcbrine

jackny said:


> New to pytivo......everything works great except have been unable to transfer .avi files from my PC to my series 2 tivos


That's not enough info to diagnose your problem.

Does that mean it _does_ work with your Series 3/4 TiVos? Or just that you only have Series 2?

What happens when you try? Or do they not even show up in the listing?

What exactly _does_ work? .MPG files?


----------



## jackny

wmcbrine said:


> That's not enough info to diagnose your problem.
> 
> Does that mean it _does_ work with your Series 3/4 TiVos? Or just that you only have Series 2?
> 
> What happens when you try? Or do they not even show up in the listing?
> 
> What exactly _does_ work? .MPG files?


Pytivo is installed on two(2) Windows XP PCs'; have two(2) Tivo machines (1 Series-2 Dual Tuner and a Series-2 single tuner). All files show-up in the NPL of both machines and all files with extensions .mkv, .mpg, .divx, .flv,
.m4v, .mov, .wmv, and .tivo transfer without problems to both tivo machines. 
All of the .avi files showup in the NPLs but only 2 out of 10 on the computers do transfer sucessly; the non-transferring .avi files appear to not start the transfer at all.....


----------



## Welshdog

caddyroger said:


> What is the latest version ffmpeg and where can I down load it from? I have ffmpeg svn r21659 rdian06 1.02v installed now


Same question for ffmpegx and associated files. I updated the ffmpegx app, but the mencoder etc. files are all really old. I did some searching and it seems they have not been updated recently. Is that right?


----------



## Iluvatar

Welshdog said:


> Same question for ffmpegx and associated files. I updated the ffmpegx app, but the mencoder etc. files are all really old. I did some searching and it seems they have not been updated recently. Is that right?


If you are on OS X you can install MacPorts and then use the Terminal app to install FFmpeg-devel which is the easiest way you will get something relatively new on OS X without manual compilation.

Terminal commands to install ffmpeg-devel after you download Macports.

1. sudo port selfupdate
2. sudo port install ffmpeg-devel

You then have to point your pyTivo.conf file to the correct location of your new ffmpeg which will be "/opt/local/bin/ffmpeg"


----------



## dlfl

caddyroger said:


> What is the latest version ffmpeg and where can I down load it from? I have ffmpeg svn r21659 rdian06 1.02v installed now


See this post. I had a .flv file that would not transfer correctly using the rdian build and the latest archived version of ffmpeg (see linked post) solved the problem.


----------



## rrr22777

Does pyTivo or another plugin for it provide ability to view photos in HD? Having migrated pyTivo and streambaby to my linux computer Tivo Desktop is still running on Windows for the HD Photos. Would like to replace it.

EDIT: I see the answer in http://www.tivocommunity.com/tivo-vb/showthread.php?p=7346929#post7346929. Any tips on "You can run TiVo's "HD Photos" HME app with pyTivo as the backend instead of TiVo Desktop" much appreciated.


----------



## sirfergy

Where can I delete the pytivo queue cache? It seems to always hang trying to transfer a video and restarting both the service and my TiVos doesn't stop it from trying to re-run the transfer again.


----------



## orangeboy

sirfergy said:


> Where can I delete the pytivo queue cache? It seems to always hang trying to transfer a video and restarting both the service and my TiVos doesn't stop it from trying to re-run the transfer again.


Not really possible via pyTivo. The request sent by pyTivo to the TiVo servers have already been accepted. That's why cycling the pyTivo service had no effect.

However, all is not lost! You can rename the file that gets stuck, so when the TiVo Servers attempt to send the file, it can't be found, and the request will eventually time-out.


----------



## sirfergy

Yeah, I was about to post back saying I realized that! Now I just need to figure out why the file just hangs when trying to stream.


----------



## jcncamsdad

I have a S2 and S3 and I have not been able to load movies. I have change the FFMpeg file and now I am using the latest version. Here is a copy of my Console Log:

INFOyTivoyTivo is ready.
INFOyTivo:192.168.1.222 [29/Mar/2011 09:58:45] "GET /TiVoConnect?Command=Query
Formats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFOyTivo:192.168.1.222 [29/Mar/2011 09:58:48] "GET /TiVoConnect?Command=Query
Container&Container=The%20Movie%20House&SortOrder=!CaptureDate&ItemCount=1&Ancho
rItem=%2FThe%2520Movie%2520House%2FThe.Princess.and.the.Frog.2009.DVDrip.XviD.av
i&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolde
r,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFOyTivo:192.168.1.222 [29/Mar/2011 09:58:48] "GET /TiVoConnect?Command=TVBus
Query&Container=The%20Movie%20House&File=%2FThe.Princess.and.the.Frog.2009.DVDri
p.XviD.avi HTTP/1.1" 200 -
INFOyTivo:192.168.1.222 [29/Mar/2011 09:58:52] "GET /TiVoConnect?Command=Query
Formats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFOyTivo:192.168.1.222 [29/Mar/2011 09:58:52] "GET /TiVoConnect?Command=Query
Item&Url=http%3A%2F%2Fa%2Fb%3FContainer%3D%2FNowPlaying%26id%3D%2FThe%2520Movie%
2520House%2FThe.Princess.and.the.Frog.2009.DVDrip.XviD.avi HTTP/1.1" 404 -
INFOyTivo:192.168.1.222 [29/Mar/2011 09:58:56] "GET /The%20Movie%20House/The.P
rincess.and.the.Frog.2009.DVDrip.XviD.avi HTTP/1.1" 206 -
INFOyTivo.video.video:[29/Mar/2011 09:58:56] Start sending "O:\The Movie House
\The.Princess.and.the.Frog.2009.DVDrip.XviD.avi" to Mac Daddy
FFmpeg version git-N-28671-gf8b0cd8-Sherpya, Copyright (c) 2000-2011 the FFmpeg
developers
built on Mar 27 2011 07:24:33 with gcc 4.2.5 20090330 (prerelease) [Sherpya]
libavutil 50. 40. 0 / 50. 40. 0
libavcodec 52.115. 0 / 52.115. 0
libavformat 52.103. 0 / 52.103. 0
libavdevice 52. 3. 0 / 52. 3. 0
libavfilter 1. 76. 0 / 1. 76. 0
libswscale 0. 13. 0 / 0. 13. 0
libpostproc 51. 2. 0 / 51. 2. 0
Input #0, avi, from 'O:\The Movie House\The.Princess.and.the.Frog.2009.DVDrip.Xv
iD.avi':
Duration: 01:37:29.67, start: 0.000000, bitrate: 2065 kb/s
Stream #0.0: Video: mpeg4, yuv420p, 720x400 [PAR 1:1 DAR 9:5], 23.98 tbr, 23
.98 tbn, 23.98 tbc
Stream #0.1: Audio: ac3, 48000 Hz, 5.1, s16, 448 kb/s
Option 'padtop' has been removed, use the pad filter instead
F:\pyTivo\bin\ffmpeg.exe: failed to set value '2' for option 'padtop'
INFOyTivo.video.video:[29/Mar/2011 09:58:57] Done sending "O:\The Movie House\
The.Princess.and.the.Frog.2009.DVDrip.XviD.avi" to Mac Daddy, 0 bytes, 0.00 Mb/s

INFOyTivo:192.168.1.222 [29/Mar/2011 09:59:10] "GET /TiVoConnect?Command=Query
Formats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFOyTivo:192.168.1.222 [29/Mar/2011 09:59:10] "GET /TiVoConnect?Command=Query
Container&Container=The%20Movie%20House&SortOrder=!CaptureDate&ItemCount=8&Ancho
rItem=%2FThe%2520Movie%2520House%2FThe.Princess.and.the.Frog.2009.DVDrip.XviD.av
i&AnchorOffset=-8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolde
r,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -

Any help would be appreciated.

Thanks


----------



## orangeboy

> Option 'padtop' has been removed, use the pad filter instead
> F:\pyTivo\bin\ffmpeg.exe: failed to set value '2' for option 'padtop'


The above seems to indicate an "options" change with ffmpeg.

Either your ffmpeg will need to change back to a release that supports 'padtop', or pyTivo will need to be updated to use the new ffmpeg options. I imagine the latter taking much more time to do, considering the logic it would take to determine which version of ffmpeg is in use.


----------



## Iluvatar

orangeboy said:


> The above seems to indicate an "options" change with ffmpeg.
> 
> Either your ffmpeg will need to change back to a release that supports 'padtop', or pyTivo will need to be updated to use the new ffmpeg options. I imagine the latter taking much more time to do, considering the logic it would take to determine which version of ffmpeg is in use.


Yea this is documented on pyTivo's forum last year. No fix was worked up but it seems to only affect Series 2 models which require the video to be padded to maintain aspect ratio.

Unless you can hack up pyTivo to change the commands I would recommend staying with an FFmpeg SVN older than 23054


----------



## jcncamsdad

@Orangeboy
@Iluvatar

Thanks for your quick response/fix!


----------



## NatasNJ

I installed and had pyTivo running for months on end with no problems. Well tonight I went into my list and no longer see the WHS icon. Both my TivoHD's don't see it they BOTH however see the HP WHS EX495 Server which is where my WHS pytivo videos are housed.

So I don't think it is a connection (wifi) issue since I can see and access the EX495.

I tried rebooting the TIVO. No luck.

I tried logging into the EX495 and stopping/starting the Pytivo service. No luck.

I tried resetting my router. No luck.

Here is what the pytivo Console states:
Here is the pytivo console dump.

Checking to see if pyTivo is already running . . .

Starting pyTivo Server. Use ctrl+Break to exit.

Traceback (most recent call last): 
File "C:\Program Files\pyTivo\pyTivo.py", line 3, in <module> 
import logging 
File "C:\Python26\lib\logging\__init__.py", line 43, in <module> 
import threading 
File "C:\Python26\lib\threading.py", line 16, in <module> 
from collections import deque 
ValueError: bad marshal data

pyTivo Server is Stopped.

Press any key to continue . . .

The only thing I can think of that caused this was the night before we had several power dips in my house but this seems to be the only thing effected.

Thoughts?


----------



## Iluvatar

NatasNJ said:


> I installed and had pyTivo running for months on end with no problems. Well tonight I went into my list and no longer see the WHS icon. Both my TivoHD's don't see it they BOTH however see the HP WHS EX495 Server which is where my WHS pytivo videos are housed.
> 
> So I don't think it is a connection (wifi) issue since I can see and access the EX495.
> 
> I tried rebooting the TIVO. No luck.
> 
> I tried logging into the EX495 and stopping/starting the Pytivo service. No luck.
> 
> I tried resetting my router. No luck.
> 
> Here is what the pytivo Console states:
> Here is the pytivo console dump.
> 
> Checking to see if pyTivo is already running . . .
> 
> Starting pyTivo Server. Use ctrl+Break to exit.
> 
> Traceback (most recent call last):
> File "C:\Program Files\pyTivo\pyTivo.py", line 3, in <module>
> import logging
> File "C:\Python26\lib\logging\__init__.py", line 43, in <module>
> import threading
> File "C:\Python26\lib\threading.py", line 16, in <module>
> from collections import deque
> ValueError: bad marshal data
> 
> pyTivo Server is Stopped.
> 
> Press any key to continue . . .
> 
> The only thing I can think of that caused this was the night before we had several power dips in my house but this seems to be the only thing effected.
> 
> Thoughts?


Go to the Python directory and find the files stated in your console and delete the .pyc files for the 2 listed files (threading and __init__). Then restart pyTivo. It has something to do with a faulty cache compile when creating the .pyc files.


----------



## NatasNJ

Iluvatar said:


> Go to the Python directory and find the files stated in your console and delete the .pyc files for the 2 listed files (threading and __init__). Then restart pyTivo. It has something to do with a faulty cache compile when creating the .pyc files.


Thanks. Will try this tonight and report back.


----------



## NatasNJ

Well just deleted the .pyc files from the directory and get SAME error when running console. Could the .PY files gone bad?

Anyway. Since the next step was probably to delete Python and reinstall it that is what I just did.
Uninstalled Python and PIL. Reinstalled both (from the original versions I had installed) 

BAM. 

Works. 



What would cause something like this to just randomly stop working? Seems weird.


----------



## HerronScott

I'm having a problem playing .wma audio files using pyTivo from my Windows WHS server. Is there a log file for ffmpeg?

Scott


----------



## wmcbrine

HerronScott said:


> I'm having a problem playing .wma audio files using pyTivo from my Windows WHS server. Is there a log file for ffmpeg?


Not per se. But if you run it from the console, you can watch the ffmpeg output.

Can you describe exactly what happens?


----------



## HerronScott

No audio when playing the WMA files is the symptom but the TiVo thinks it's playing them. Issue still appears to be WMA lossless support with ffmpeg. I thought I had read where the latest version supported it but apparently not as I'm getting something like the following:

Decoder (codec id 86057) not found for input stream #0.0

Scott


----------



## lrhorer

Is anyone else having trouble with the push function? Are the mind servers down again? I've been trying to push some videos for several hours, to no avail:



Code:


<urlopen error [Errno 110] Connection timed out>

Traceback (most recent call last):
  File "/usr/share/pyTivo/plugins/video/video.py", line 449, in Push
    tvrating = file_info['tvRating'])
  File "/usr/share/pyTivo/mind.py", line 84, in pushVideo
    offer_id, content_id = self.__bodyOfferModify(data)
  File "/usr/share/pyTivo/mind.py", line 197, in __bodyOfferModify
    data['bodyId'])
  File "/usr/share/pyTivo/mind.py", line 185, in __dict_request
    result = self.__opener.open(r)
  File "/usr/lib/python2.6/urllib2.py", line 391, in open
    response = self._open(req, data)
  File "/usr/lib/python2.6/urllib2.py", line 409, in _open
    '_open', req)
  File "/usr/lib/python2.6/urllib2.py", line 369, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.6/urllib2.py", line 1178, in https_open
    return self.do_open(httplib.HTTPSConnection, req)
  File "/usr/lib/python2.6/urllib2.py", line 1145, in do_open
    raise URLError(err)
URLError: <urlopen error [Errno 110] Connection timed out>


----------



## orangeboy

lrhorer said:


> Is anyone else having trouble with the push function? Are the mind servers down again? I've been trying to push some videos for several hours, to no avail:


I haven't tried pushing anything, but connections to the TiVo Service are borked on all TiVos I own: Series 2, Series 3, and Premiere. All fail during the connection process after a period of time, stating "Service not found". It gets through setting the clock and verifying account status, but not much more after that. All DVRs were reboot, as well as router and cable modem.


----------



## windracer

orangeboy said:


> I haven't tried pushing anything, but connections to the TiVo Service are borked on all TiVos I own: Series 2, Series 3, and Premiere. All fail during the connection process after a period of time, stating "Service not found". It gets through setting the clock and verifying account status, but not much more after that. All DVRs were reboot, as well as router and cable modem.


Thank god, I thought it was just me! All of my TiVos (wireless and MoCA) started throwing N11, N18, etc. errors last night. I rebooted my router, my cable model, checked firewall settings, etc. and couldn't get any of them to connect. The problem persisted this morning so I was hoping it was a problem on TiVo's end. There must be another thread about this around here somewhere ...

_edit:_ hmmm, I don't see any recent threads about this. I know orangeboy is in FL like me so maybe this is a Brighthouse issue?


----------



## orangeboy

I'm starting a thread in the Help forum in the hopes to catch TiVoJerry or TiVoStephen's attention. I'm going to include links to yours and lrhorer's posts.

http://www.tivocommunity.com/tivo-vb/showthread.php?goto=newpost&t=467682


----------



## ncfoster

Hi all,

Is there any sort of trouble-shooting checklist for pyTivo? Obviously, you can search, but most of the search terms are going to be very common.

My current problem that just developed is that I have a folder which contains multiple episodes of the same show from different sources. One was downloaded directly from the Tivo and decoded, and has the appropriate metadata. The others came from a ReplayTV, and were transcoded, one with Handbrake, and the other with MeGUI, just to test how they would work. At this point, none of the shows show up in the folder, where at least the Tivo-originated ones would show up before.

Do I have to add the metadata for everything in the folder to make things work?


----------



## wmcbrine

ncfoster said:


> Is there any sort of trouble-shooting checklist for pyTivo?


There is, but it's not going to help in your case.



> _Do I have to add the metadata for everything in the folder to make things work?_


No.

Presumably an exception is being thrown at some point. Check the log and/or console output.


----------



## ncfoster

wmcbrine said:


> Presumably an exception is being thrown at some point. Check the log and/or console output.


How can I monitor the console if I am running pyTivo in console mode? Or am I limited to the log file(s) in this case?

EDIT: Restarting the service seems to have resolved my problems for now, but I'd still love to know the answer for future reference.


----------



## innocentfreak

This has probably been asked for, but I thought about it at work so I haven't had time to search yet.

Is there anyway to add navigational links to the web interface for PyTiVo? I use it most of the time from my iPad to navigate and push recordings to my TiVos. It would be nice if there were shortcuts I could use to jump back to the main share page at least.


----------



## speed_phreak

Yes, navigation links would be nice.. More than a couple times I have also wanted a "Check All" box for whatever folder I'm in to take a whole folder to go...

Maybe one of these days I will experiment and make a contribution.

Thanks wmcbrine for continuing to maintain and advance this project!!!


----------



## windracer

innocentfreak said:


> Is there anyway to add navigational links to the web interface for PyTiVo?


gonzotek had a patch that would add a "home" link to the web pages. I used it for a while but it never made it into wmcbrine's fork and after a while I forgot to keep applying it every time I upgraded.


----------



## ncfoster

innocentfreak said:


> Is there anyway to add navigational links to the web interface for PyTiVo?


+1 I was wondering this the other day. I was going to add it myself, then I realized there was a bit too much straight XML going on to do it quickly for a noob like me.


----------



## wmcbrine

Wow, that's a new one.

No, there are no issues with any version of pyTivo and 14.8 that I'm aware of. I'd look at pyTivo's log and/or console output.


----------



## gonzotek

windracer said:


> ...and after a while I forgot to keep applying it every time I upgraded.


me too actually 

Sometime this weekend I'll make sure it still works, and post a fix if doesn't.
I'd love for it to be included in wmcbrine's fork however. William, do you have any interest in that, and if so, do you want me to do anything specific to submit it to you?


----------



## speed_phreak

wmcbrine said:


> Wow, that's a new one.
> 
> No, there are no issues with any version of pyTivo and 14.8 that I'm aware of. I'd look at pyTivo's log and/or console output.


Thanks for the reply... I just deleted my post... it must have been something on my end. I rebooted everything and all is well!

It does appear that TiVo has updated the backend logic involved with transfers, I guess we will see if that is good or bad... LOL..


----------



## jbernardis

I noticed that a lot of my videos that I had transcoded to MP4 (H264/AC3) were being transcoded when pushing. Since this obviously defeats the advantage of pushing, I did a little investigating, and here is what I find:



Code:


2011-06-20 22:57:40,405 DEBUG pyTivo.video.transcode: ffmpeg output=FFmpeg version UNKNOWN, Copyright (c) 2000-2011 the FFmpeg developers
  built on Mar 15 2011 17:58:44 with gcc 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
  configuration: --disable-yasm
  libavutil    50. 39. 0 / 50. 39. 0
  libavcodec   52.114. 0 / 52.114. 0
  libavformat  52.103. 0 / 52.103. 0
  libavdevice  52.  3. 0 / 52.  3. 0
  libavfilter   1. 76. 0 /  1. 76. 0
  libswscale    0. 12. 0 /  0. 12. 0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/media/Videos/TV/Falling Skies/Falling Skies - E100 - Pilot.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    creation_time   : 1970-01-01 00:00:00
    encoder         : Lavf52.93.0
  Duration: 01:22:57.21, start: 0.000000, bitrate: 4480 kb/s
    Stream #0.0(und): Video: h264 (Main), yuv420p, 960x540 [PAR 1:1 DAR 16:9], 4028 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc
    Metadata:
      creation_time   : 1970-01-01 00:00:00
    Stream #0.1(und): Audio: ac3, 48000 Hz, 6 channels, s16, 448 kb/s
    Metadata:
      creation_time   : 1970-01-01 00:00:00
At least one output file must be specified

2011-06-20 22:57:40,416 DEBUG pyTivo.video.transcode: aFreq=48000; vFps=29.97; container=mov; kbps=4480; mapAudio=[('0.1', '(und)')]; vHeight=540; vCodec=h264 (Main); Supported=True; aKbps=448; par=None; millisecs=4977210; par2=1.0; par1=1:1; mapVideo=0.0; vWidth=960; dar1=16:9; aCodec=ac3
2011-06-20 22:57:40,420 DEBUG pyTivo.video.transcode: CACHE HIT! /media/Videos/TV/Falling Skies/Falling Skies - E100 - Pilot.mp4
2011-06-20 22:57:40,423 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec h264 (Main) not compatible, /media/Videos/TV/Falling Skies/Falling Skies - E100 - Pilot.mp4

Obviously the vCodec is coming back as "h264 (main)" which isn't what the program is expecting.

I am running pytivo in a rather unorthodox environment - on my Netgear ReadyNAS. Running pytivo itself was never an issue - the issue was getting a current copy of ffmpeg I could run. The version I was able to get with the apt-get tool was way behind, so I actually built the ffmpeg from very recent source code. Obviously I found an unanticipated result.

I guess I'm seeking advice on how to handle this. I'm thinking of changing the code that looks for literal 'h264' to allow 'h264 (*'. The problem is that I don't really know if this vCodec is truly the same as h264. In the same debug.log file, I noticed other videos (notably m4v videos downloaded from Make Magazine) return a vCodec value of 'h264 (Constrained Baseline)'. I'm not sure what the differences are between these two and what the consequences are of allowing a direct push to tivo. Perhaps instead of 'h264 (*' I should allow either 'h264' or 'h264 (Main)'?

Advice Anyone?

Thanks


----------



## jbernardis

OK - here is an update.

I changed transcode.py to accept any vCodec that begins with h264, and now the video pushes fine. The problem is that playback is wrong - I am getting vertical pillars and am seeing a 4x3 image. Note the image is not being squeezed - it is being cropped. Changing the aspect ratio on the tivo does nothing but stretch (and thereby distort) the image on screen.

edit - this was one of the 'h264 (Main)' videos - haven't tried on of the Constrained Baseline ones yet

edit # 2 - the image is not being cut off left AND right - the left edge is fine - it is the right side that is being cropped - but twice the width of the pillar and then the screen is being shifted right to be centered on the screen

edit #3 - I tried one of the Constrained Baseline files, and it was also being shown 4x3, but this one was squeezed - playing with the aspect button brought it to proper width and aspect ratio

Not sure what to do next.


----------



## jbernardis

I'm not sure if it will solve all the issue's I'm seeing, but I have decided that it;s time to update my pytivo. I notice that in the current version of transcode.py, the regular expression that parses out the video codec now stops when it sees a comma or a space - it used to only look for the comma. With this, my version of ffmpeg will yield a vCodec value of 'h264' which will satisfy the test. I'll let you know how it goes.

I also noticed that the tivo itself (mine are series 3's) is rather sensitive to the video characteristics. I had cut down the frame size, and left the frame rate at 59+ fps. I transcoded the video back to full size frames and changed the frame rate to 29.97. It seems to be working now.

Now I have to solve the issue of qtfaststart not handling files that are larger that 4G. I noticed in the update of pytivo that there is a new version of qtfaststart.py. Tomorrow I'll see if this solves this issue.


----------



## txporter

Yes, updating your pytivo is probably a good idea. The (main) portion of the vCodec is just the profile. Tivos accept baseline, main and high profiles.

I don't have a Series 3, but do have a TivoHD. I know that jcthorne has made a lot of post about the problems of displaying framesizes that were different than the norm (720x480, 1280x720 and 1920x1080).

Are you transcoding these videos yourself from recordings? Is there any reason that you need to set the profile level or change the frame size to 960x540? I would be surprised to find out that the profile itself is causing any of these odd display characteristics of the video. More likely it is the frame size.


----------



## jcthorne

Good catch, I did not see the 960x540 frame size in the ffmpeg output posted.

That frame size will not display correctly on a series 3 machine. You will need to pad it with boarders to 1280x720 or down res to 720x480. Its a know bug in that generation tivo. The Premiere fixed this.


----------



## jbernardis

Thanks all. This is what I assumed. I had been reducing the frame size (if you notice 960x540 is 1920x1080 with each dimension halved) just to save space, but I'd rather have tivo compatibility - so I'll re-transcode.

On another matter, I have some bluray rips that play on the tivo, but have a strobe-like effect. I'm thinking that the large frame size (full 1920x1080) together with a relatively high quality are too much for the tivo. I was thinking that I should reduce the quality setting a bit to see if it's any better. Any other advice?


----------



## jcthorne

What is the bitrate, frame rate and profile level of the encodes? Series 3 are a bit more limited than most bluray players and Premiere. I don't remember the exact upper limits for 1080 on the series 3 as I did not have 1080 display devices then, everything I did for the THD was at 720p.


----------



## jbernardis

jcthorne said:


> What is the bitrate, frame rate and profile level of the encodes? Series 3 are a bit more limited than most bluray players and Premiere. I don't remember the exact upper limits for 1080 on the series 3 as I did not have 1080 display devices then, everything I did for the THD was at 720p.


Here is the output from ffmpeg:


Code:


FFmpeg version UNKNOWN, Copyright (c) 2000-2011 the FFmpeg developers
  built on Mar 15 2011 17:58:44 with gcc 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
  configuration: --disable-yasm
  libavutil    50. 39. 0 / 50. 39. 0
  libavcodec   52.114. 0 / 52.114. 0
  libavformat  52.103. 0 / 52.103. 0
  libavdevice  52.  3. 0 / 52.  3. 0
  libavfilter   1. 76. 0 /  1. 76. 0
  libswscale    0. 12. 0 /  0. 12. 0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'xxxxxx.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    creation_time   : 1970-01-01 00:00:00
    encoder         : Lavf52.93.0
  Duration: 02:06:01.69, start: 0.000000, bitrate: 8473 kb/s
    Stream #0.0(und): Video: h264 (Main), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 7828 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc
    Metadata:
      creation_time   : 1970-01-01 00:00:00
    Stream #0.1(und): Audio: ac3, 48000 Hz, 6 channels, s16, 640 kb/s
    Metadata:
      creation_time   : 1970-01-01 00:00:00
At least one output file must be specified

SO it appears the bit rate is 8473 kbps, the frame rate is 23.98, and the profile level (from the transcoding parameters) is 4.1.

Maybe the 23.98 fps is the issue - I think others have stated that the series 3 chokes if the frame rate is not at least 29.97


----------



## jcthorne

23.976 fps 1080p cannot be played on the Series 3 units. Only 1080i which is usually 29.97. Also the number of reference frames should be checked. No more than 4.

The Premiere added the capability for 1080p 24.

That video would have to be re-encoded to play on a Series 3.


----------



## jbernardis

jcthorne said:


> 23.976 fps 1080p cannot be played on the Series 3 units. Only 1080i which is usually 29.97. Also the number of reference frames should be checked. No more than 4.
> 
> The Premiere added the capability for 1080p 24.
> 
> That video would have to be re-encoded to play on a Series 3.


thank you - looks like I'm going to be busy re-encoding


----------



## txporter

Frankly, none of the Tivos (Series 3, TivoHD or Premiere) handle 23.976fps very well. On my TivoHDs, I found that any framerate less than ~25fps exhibited strobing/shimmering. Even the Premiere shows some of this, but it isn't as bad. Perhaps some of it is has to do with the refresh rate of the LCDs. Not really sure. I had found that 23.976fps MPEG2 playback was always much more stable than 23.976fps H.264 though, so it seems like it is mainly a Tivo decode/playback issue.

Also, if you want to transcode to a smaller framesize, I would just use 1280x720. It should be ok for you.


----------



## heuer1370

OK, my pytivo opens for about 1 second in a black box then closes. I cannot figuire out what I'm doing wrong. Here is a copy of my config. Any help would be greatly appreciated.

[Laptop Videos]
type = video
ffmpeg = C:\Program Files\pyTivo\bin\ffmpeg.exe
path = C:\Users\MyName\Videos


----------



## jcthorne

heuer1370 said:


> OK, my pytivo opens for about 1 second in a black box then closes. I cannot figuire out what I'm doing wrong. Here is a copy of my config. Any help would be greatly appreciated.
> 
> [Laptop Videos]
> type = video
> ffmpeg = C:\Program Files\pyTivo\bin\ffmpeg.exe
> path = C:\Users\MyName\Videos


Please refer to the link in my signature for step by step instructions for getting pytivo up and running in windows.


----------



## jcthorne

txporter said:


> Frankly, none of the Tivos (Series 3, TivoHD or Premiere) handle 23.976fps very well. On my TivoHDs, I found that any framerate less than ~25fps exhibited strobing/shimmering. Even the Premiere shows some of this, but it isn't as bad. Perhaps some of it is has to do with the refresh rate of the LCDs. Not really sure. I had found that 23.976fps MPEG2 playback was always much more stable than 23.976fps H.264 though, so it seems like it is mainly a Tivo decode/playback issue.
> 
> Also, if you want to transcode to a smaller framesize, I would just use 1280x720. It should be ok for you.


I never used 1080i in a series 3 but in my Premiere, displaying on a native 1080p lcd projector or a 40" LCD panel, I see none of the shimmer or strobing you speak of using 1080i 29.97 or 1080p 23.976, both of which the premiere displays natively without conversion.


----------



## heuer1370

jcthorne said:


> Please refer to the link in my signature for step by step instructions for getting pytivo up and running in windows.


 please send me a pm. i do not have 10 or more posts and cannot see your link. thanks for the help.


----------



## jcthorne

heuer1370 said:


> please send me a pm. i do not have 10 or more posts and cannot see your link. thanks for the help.


PM sent


----------



## sanity

I've been using pyTivoX without problems for several weeks now.

Suddenly yesterday I started to find that the pyTivoX folder on my Tivo would be empty, and then if I went out of it it would disappear completely. I've tried removing some files from the folder, but nothing seems to work.

This is all that is in my pytivo.log:



Code:


pyTivoX $ cat pytivo.log 
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: PyTivoX
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:10.0.1.196 [26/Jun/2011 15:07:49] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:10.0.1.197 [26/Jun/2011 15:07:49] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:10.0.1.196 [26/Jun/2011 15:07:50] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:10.0.1.196 [26/Jun/2011 15:08:43] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -

Please help!


----------



## Tobashadow

I am getting a weird transfer bug.

If i transfer a show or two from another Tivo and watch them, then if i decide to transfer a show or movie from PyTivo i get the last show i transferred from the Tivo instead of what i chose on PyTivo and the only way to solve it is to remove the other Tivo from the network.

Same problem no matter if i have metadata on the file or not.


----------



## wmcbrine

Tobashadow said:


> Same problem no matter if i have metadata on the file or not.


Well, yes, because it's a TiVo-side bug. Not much you can do except to reboot the TiVo AFAIK.


----------



## Johnwashere

Wow, I wish I would have used PyTivo years ago. It was pretty easy to install and works perfectly on my premiere and HD. I am able to transfer my 720P MKV files and surround sound works for most of my movies. So awesome!! :up::up:


----------



## SameerUCLA

Having a problem... installed pyTivo and got it running on my Win7 box. I have set up two video shares - one for Movies, one for TV shows. The TiVos see the shares properly, but when I select each folder, they are empty. I can scroll up and down the screen inside the folder, but I can't select anything or get anything to run.

Furthermore, I can't push from pyTivo to the Tivos. pyTivo shows me the "Pull from" and "Push To" choices but... no workee.

Any help?

- Sameer

p.s. here's my pyTivo.conf file:

[Server]
port = 9032
ffmpeg = c:\Program Files\pyTivo\bin\ffmpeg.exe
tivo_mak = [removed]
tdcat = c:\Program Files\pyTivo\bin\tdcat.exe
tivo_password = [removed]
tivo_username = [removed]
togo_path = D:\TivoToGo
tivodecode = c:\Program Files\pyTivo\bin\tivodecode.exe

[_tivo_SD]

[_tivo_HD]

[Movies]
path = D:\Movies
type = video

[TV Shows]
type = video
path = D:\Media\TV Shows


----------



## wmcbrine

No errors on the TiVo screen?

Post your log file or console output.


----------



## SameerUCLA

As requested:

Traceback (most recent call last):
File "C:\Program Files\Python27\lib\logging\__init__.py", line 866, in emit
self.flush()
File "C:\Program Files\Python27\lib\logging\__init__.py", line 828, in flush
self.stream.flush()
IOError: [Errno 9] Bad file descriptor
Logged from file beacon.py, line 88
Traceback (most recent call last):
File "C:\Program Files\Python27\lib\logging\__init__.py", line 866, in emit
self.flush()
File "C:\Program Files\Python27\lib\logging\__init__.py", line 828, in flush
self.stream.flush()
IOError: [Errno 9] Bad file descriptor
Logged from file beacon.py, line 39
Traceback (most recent call last):
File "C:\Program Files\Python27\lib\logging\__init__.py", line 866, in emit
self.flush()
File "C:\Program Files\Python27\lib\logging\__init__.py", line 828, in flush
self.stream.flush()
IOError: [Errno 9] Bad file descriptor
Logged from file beacon.py, line 39
Traceback (most recent call last):
File "C:\Program Files\Python27\lib\logging\__init__.py", line 866, in emit
self.flush()
File "C:\Program Files\Python27\lib\logging\__init__.py", line 828, in flush
self.stream.flush()
IOError: [Errno 9] Bad file descriptor
Logged from file beacon.py, line 94
Traceback (most recent call last):
File "C:\Program Files\Python27\lib\logging\__init__.py", line 866, in emit
self.flush()
File "C:\Program Files\Python27\lib\logging\__init__.py", line 828, in flush
self.stream.flush()
IOError: [Errno 9] Bad file descriptor
Logged from file beacon.py, line 69
Traceback (most recent call last):
File "C:\Program Files\Python27\lib\logging\__init__.py", line 866, in emit
self.flush()
File "C:\Program Files\Python27\lib\logging\__init__.py", line 828, in flush
self.stream.flush()
IOError: [Errno 9] Bad file descriptor
Logged from file beacon.py, line 69


----------



## SameerUCLA

Oh, and BTW, I can pull files from the Tivo, just can't push. Obviously it seems there's a problem in my 'file descriptor', just not sure what that means.

Perchance it be related to my PC LOAD LETTER? 

- Sameer


----------



## wmcbrine

Ugh. That's saying it can't log. I'd assume it was a problem with the way logging was set up in your .conf file, but from what you posted, you don't have anything set up there...


----------



## reneg

> Traceback (most recent call last):
> File "C:\Program Files\Python27\lib\logging\__init__.py", line 866, in emit
> self.flush()
> File "C:\Program Files\Python27\lib\logging\__init__.py", line 828, in flush
> self.stream.flush()
> IOError: [Errno 9] Bad file descriptor
> Logged from file beacon.py, line 88
> Traceback (most recent call last):


Are you running pyTivo as a service? If so, try running it from a command prompt window. The error may be related to access permissions as service vs user.


----------



## moyekj

Win7 and Vista lock down write permissions pretty tight under c:\Program Files (and c:\Program Files (x86)). Install it elsewhere and you can avoid some headaches...


----------



## caddyroger

I am running a Windows pro 7 64 bit computer.
What would causing this in my auto push log.

2011_06_28_17:44:58 ERROR: Received unexpected response for: http://localhost:9032/TiVoConnect?Command=Push&Container=My+Videos&File=/PART+1++++Hawaii+Five-0+-+Oiaio+%2805_16_2011%29.mpg&tsn=CAREBEAR[/url]
2011_06_28_17:44:58 ERROR: Internal Server Error

My config file looks like this

[My Videos]
type = video
path = G:\FOR THE TIVO

[Server]
tivo_password = xxxxxxx
tivo_mak = xxxxxxxxxxx
tivo_username = xxxxxxxxxxxx
ffmpeg = C:\Program Files\pyTivo\bin\ffmpeg.exe
tivodecode = C:\Program Files\pyTivo\bin\TIVODECODE.EXE
tdcat = C:\Program Files\pyTivo\bin\tdcat.exe
beacon = 192.168.0.106 192.168.0.105
togo_path = G:\FROM THE TIVO
port = 9032


----------



## SameerUCLA

moyekj said:


> Win7 and Vista lock down write permissions pretty tight under c:\Program Files (and c:\Program Files (x86)). Install it elsewhere and you can avoid some headaches...


OK, turned off pyTivo as a service and moved the pyTivo directory to C:\pyTivo. Works beautifully!!
Now just need to see if I can get it running as a service again.

THANKS!!
- Sameer


----------



## MrJedi

Question about meta data. Is the file read differently based on whether you do a pull on the TiVo vs a push from the web? I ask because when I do a push I can get files to go in a folder and have a brief description, but not air date, actor info, or a series specific thumbnail (HDUI). When I pull via the TiVo, the descriptions, original air date, actors, series thumbnail image all appear.

This isn't a huge deal and I don't really need a resolution, just wondering if this was an issue with others.


----------



## wmcbrine

The push metadata is passed to the TiVo in a totally different way, yes, and we only know a few of the possible keywords to use. It's frustrating, too, because if you look at (say) an Amazon movie, which uses the same mechanism, there are clearly more fields available, but we haven't been able to find the keywords.

Description, title, subtitle (i.e. episode title), and TV rating are the only fields that we know how to push. You would not believe how long it took me to find TV rating.

I had high hopes that the iPad remote mechanism, which seems to use the same basic format to report metadata (the only difference being that it's JSON-encoded instead of HME-style), would reveal some new pushable keywords. But so far, nothing I've tried from that works, either.


----------



## innocentfreak

Wonder who we need to try to bribe so they can release some of the necessary codes.


----------



## MrJedi

wmcbrine said:


> The push metadata is passed to the TiVo in a totally different way, yes, and we only know a few of the possible keywords to use.


Thanks for clarifying that.


----------



## AZrob

Hi everyone,
I don't know if this has anything to do with the latest version of Tivo, but I have a .mp4 file that starts out as HD on my PC, but ends up looking like mediocre SD on my Premiere XL after a pytivo transfer. Funny thing is, it works fine to my Tivo HD. Also if I use Tivo Desktop to my Premiere it transfers perfectly as well. 

So do I need to tweak/update my pytivo? 

The .mp4 was created using mkvtomp4.

Thanks in advance,

Rob from AZ


----------



## orangeboy

AZrob said:


> Hi everyone,
> I don't know if this has anything to do with the latest version of Tivo, but I have a .mp4 file that starts out as HD on my PC, but ends up looking like mediocre SD on my Premiere XL after a pytivo transfer. Funny thing is, it works fine to my Tivo HD. Also if I use Tivo Desktop to my Premiere it transfers perfectly as well.
> 
> So do I need to tweak/update my pytivo?
> 
> The .mp4 was created using mkvtomp4.
> 
> Thanks in advance,
> 
> Rob from AZ


It's probable that you are running an old version of pyTivo that doesn't know about the Premiere, and pyTivo is transcoding to Series 2 compatible mpeg2.


----------



## AZrob

orangeboy said:


> It's probable that you are running an old version of pyTivo that doesn't know about the Premiere, and pyTivo is transcoding to Series 2 compatible mpeg2.


Sorry to be dumb about this, but it's been so long since I installed pytivo (I think I used the Windows executable) that I don't know where to start. Do I just find a Windows executable somewhere and if so, where, please?

thanks,

Rob


----------



## jcthorne

AZrob said:


> Sorry to be dumb about this, but it's been so long since I installed pytivo (I think I used the Windows executable) that I don't know where to start. Do I just find a Windows executable somewhere and if so, where, please?
> 
> thanks,
> 
> Rob


The windows installer is very outdated and no longer needed.

Please see the link in my signature for full install instructions for windows.


----------



## lrhorer

wmcbrine said:


> The push metadata is passed to the TiVo in a totally different way, yes, and we only know a few of the possible keywords to use. It's frustrating, too, because if you look at (say) an Amazon movie, which uses the same mechanism, there are clearly more fields available, but we haven't been able to find the keywords.


I take it, then, they are not clear text? Some sort of binary? Sniffing for expected text doesn't lend a clue?


----------



## johnjay829

Hello all i have been around a few years using pytivo and it is a wonderful tool for the tivo. I was wondering if it would be possible to have one folder on the tivo share mapped to more than on folder on my pc and nas. Instead having separate folders


----------



## jcthorne

Yes. You need to create symlinks in your share to point to the other direcrtories, then only share the one folder with all the symlinks in it.


----------



## johnjay829

thanks i was able to find a little program to make the symlinks but i was wondering where the files are actually saved or are they in both locations


----------



## johnjay829

Anyone have a setup that will auto extract the video and audio folders from a iso or img file instead of me using magic disk to mount then dvd shrink to copy the files


----------



## lrhorer

jcthorne said:


> Yes. You need to create symlinks in your share to point to the other direcrtories, then only share the one folder with all the symlinks in it.


Or not. There's nothing wrong with shaing both. I have multiple shares, one consisting only of hard links, all the others consisting of symlinks.


----------



## lrhorer

johnjay829 said:


> thanks i was able to find a little program to make the symlinks but i was wondering where the files are actually saved or are they in both locations


A symlink is merely a pointer to a directory entry. Some operations, such as reading and writing, typically occur on the data contained in the file referenced by location pointed to by the symlink. Delete operations and certain ohter manipulations on a symlink, however, should only access the link, not the data. A symlink is typically less than 2K in size.


----------



## jbernardis

The way I think of it is that a file is physically identified by a number, known as an inode. A directory entry is merely a reference to that inode. When you create a hard link, you are making a second reference to that same inode. The inode knows it is being pointed to by 2 (or more) directory entries. When you delete a file, you are actually deleting a directory entry and decrementing the reference count in the inode. When the reference count reaches 0, the inode is physically deleted and the space is freed. It is very difficult (if not impossible) to break a hard link.

A symbolic link is actually a directory entry that refers symbolically to another directory entry. The inode reference count in this case is still 1. If you delete the actual directory entry, you also delete the inode, and the symbolic link is now broken. If you delete the symbolic link, the original entry, and therefore the inode, knows nothing of what you did.


----------



## lrhorer

jbernardis said:


> The way I think of it is that a file is physically identified by a number, known as an inode.


Only on *nix file systems, and not on all file systems on *nix computers, at that. I don't think the ISO 9600 file system employs indoes, for example, even when mounted on a *nix computer. I couldn't swear to it, though.



jbernardis said:


> A directory entry is merely a reference to that inode.


Only on *nix systems. Windows file systems handle things quite a bit differently.



jbernardis said:


> When you create a hard link, you are making a second reference to that same inode. The inode knows it is being pointed to by 2 (or more) directory entries. When you delete a file, you are actually deleting a directory entry and decrementing the reference count in the inode. When the reference count reaches 0, the inode is physically deleted and the space is freed. It is very difficult (if not impossible) to break a hard link.


That's in *nix. Windows actually does suport hard links on NTFS file systems, but they are arcane and difficult to create and manage. Consequently, no one uses (and few people even know about) hard links in Windows.

That's also why one can freely move files in *nix, as long as the movement does not span logical volumes, without disturbing any reads or writes that are underway. I frequently rename files while the application is writing them. Try that in Windows and it whines about the file being in use.



jbernardis said:


> A symbolic link is actually a directory entry that refers symbolically to another directory entry. The inode reference count in this case is still 1.


Windows symlinks, or "shortcuts" as they are called, work similarly in some respects and differently in others.



jbernardis said:


> If you delete the actual directory entry, you also delete the inode, and the symbolic link is now broken.


Well, not quite. As you mention, there can be multiple hard links, and deleting only one when there exists more than one does not free up the inode. (One does not actually delete an inode, and even when the hard link counter reaches zero, the inode is not released if some process has the file open.) Nonetheless, if the hard link happens to be the directory entry to which the symlink points, then the symlink is broken, even though the inode is still in use by the file. What's more, one does not have to delete the hard link. Simply renaming it will break the symlink.



jbernardis said:


> If you delete the symbolic link, the original entry, and therefore the inode, knows nothing of what you did.


Or rename it, move it to another drive, whatever. As long as the directory entry to which the symlink points remains unchanged, however, the symlink remains intact. It is noteworthy hard links cannot span logical volumes, which symlinks can. Moving or copying a symlink happens in the blink of an eye. Moving a hard link within the confines of a mount point is similarly instantaneous, but issuing a mv command from one volume to another can takes hours or even days, depending on the size of the file and the transfer speed of the I/O system. What actually happens in this case is the file is copied to the foreign file system, a new hard link is created, and the hard link counter for the old inode is decremented by one. If the hard link counter is then zero, the inode is released.


----------



## orangeboy

I'm not sure I'd agree with all your statements, lrhorer. I frequently use hardlinks in Windows using the FSUTIL command with the appropriate hardlink create switches, and find it quite a bit more convenient to reference the same file by two different applications. It may be just good timing on my part, but I've not encountered the "file in use" problem with such files. Testing the number of links a files has can be accomplished with the HLSCAN command found in various Resource Kits or Support Tools for Windows.


----------



## lrhorer

orangeboy said:


> I'm not sure I'd agree with all your statements, lrhorer. I frequently use hardlinks in Windows using the FSUTIL command with the appropriate hardlink create switches, and find it quite a bit more convenient to reference the same file by two different applications.


Yes, but how many people know about the FSUTIL command or how to use it? What's more, it only works on NTFS file systems, not FAT.



orangeboy said:


> It may be just good timing on my part, but I've not encountered the "file in use" problem with such files.


I think you misunderstand. Forget about FSUTIL. Take a large file, say a video file, and perform some sort of write operation on it. As an example, take, say, a 10GB file named video.mpg and in one window, issue the command



Code:


copy video.mpg video1.mpg

Depending on the speed of your I/O subsystem, that should take at least a few minutes to complete. Now in a second window, issue the command



Code:


ren video1.mpg video2.mpg

You will get an error. Try:



Code:


move video1.mpg <directory name>

and you will get the same error. You will also get the same error if you try dragging the file from one window to another. Try doing the same thing with an ftp client, and you will get the same error.

Not so with Linux. I have scripts, for example, that perform automatic file processing, including moving the files to specific directories and renaming them, while programs like kmttg, VideoRedo, or VAP are creating them. I never have to worrry about whther the apps are done writing to the files, or any such nonsense. I just rename them and / or move them however and wherever I like, as long as I don't attempt to move them outside of the mount point. I never have to wait for a web download to complete in order to rename or move the file.



orangeboy said:


> Testing the number of links a files has can be accomplished with the HLSCAN command found in various Resource Kits or Support Tools for Windows.


I never claimed otherwise. Again, however, how many people know about HLSCAN?


----------



## enclave000

does this support subtitles in mkv files?


----------



## wmcbrine

enclave000 said:


> does this support subtitles in mkv files?


Nope.


----------



## innocentfreak

I am wondering if my Premiere is dying or if there is something with PyTiVo pushes that my TiVo is hiccuping on. In the last month my TiVo started rebooting, and I noticed this only happens during a push. Sometimes I have no issues and then sometimes a couple episodes will transfer fine and then reboot in the middle of another transfer. 

Any ideas? 

This is over a wired connection and my PC is sending them from my WHS via a network share. I am usually pushing AVIs or MKVs. It may just be a bug in 14.8, but I wasn't sure if you knew of anything else that might cause this.


----------



## toddeades

I've been trying to get pyTivo working for a few days. While I've been able to get the Push to work I can't get the list of videos to be shown on the NPL.

I see the "MyMovies" option at the bottom on the NPL but I when I select it, it says that I don't have any recordings.

Here is my config:



HTML:


[Server]
port = 9032
ffmpeg = c:\Program Files\pyTivo\bin\ffmpeg.exe
tivo_password = xxxxxx
tivo_username = xxxxxx
debug = true
tivodecode = C:\Program Files\pyTivo\bin
beacon = 192.168.0.255

[MyMovies]
type = video
path = c:\videos

[_tivo_SD]

[_tivo_HD]

I do see this message on the console when I select "MyMovies" on my tivo.



HTML:


INFO:pyTivo:192.168.0.117 [26/Jul/2011 17:53:02] "GET /TiVoConnect?Command=Query
Container&Container=%2F HTTP/1.0" 200 -
ERROR:pyTivo:Exception during request from ('192.168.0.116', 33021)
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 582, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 323, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\Program Files\pyTivo\httpserver.py", line 64, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 639, in __init__
    self.handle()
  File "C:\Python27\lib\BaseHTTPServer.py", line 343, in handle
    self.handle_one_request()
  File "C:\Python27\lib\BaseHTTPServer.py", line 313, in handle_one_request
    self.raw_requestline = self.rfile.readline(65537)
  File "C:\Python27\lib\socket.py", line 476, in readline
    data = self._sock.recv(self._rbufsize)
error: [Errno 10035] A non-blocking socket operation could not be completed imme
diately
INFO:pyTivo:192.168.0.116 [26/Jul/2011 17:55:02] "GET /TiVoConnect?Command=Query
Container&Container=%2F HTTP/1.0" 200 -

A Few Notes:

I'm running the latest "master" version from wmcbrine from this location:

http://repo.or.cz/w/pyTivo/wmcbrine.git/snapshot/d2e63d53ecdaf80ce39ad134e7e8466b58c75dcb.zip


I have UDP port 5353 open 
I've even just turned off the Windows Firewall.
I have Vuze installed and I use it to copy videos to my Tivos. I've tried with it running and not running, can't get pyTivo working either way.
I have Tivo Desktop installed but have the server stopped.

Anyone have any ideas?

Thanks!
Todd


----------



## wmcbrine

Huh, that's a new one. And this is repeatable -- the same message every time?


----------



## toddeades

wmcbrine said:


> Huh, that's a new one. And this is repeatable -- the same message every time?


Yes, every time.

I was trying to think what might make my computer different and the only think I came up with was that I had pyTivo installed a couple of years ago as a Service. I couldn't figure out how to remove the services so I just disabled it. Deleted the entire contents of the pytivo folder and copied the new code base over.

Other then that I can't think of anything.


----------



## bwall23

toddeades said:


> I've been trying to get pyTivo working for a few days. While I've been able to get the Push to work I can't get the list of videos to be shown on the NPL.
> 
> I see the "MyMovies" option at the bottom on the NPL but I when I select it, it says that I don't have any recordings.
> 
> Here is my config:
> 
> 
> 
> HTML:
> 
> 
> [Server]
> port = 9032
> ffmpeg = c:\Program Files\pyTivo\bin\ffmpeg.exe
> tivo_password = xxxxxx
> tivo_username = xxxxxx
> debug = true
> tivodecode = C:\Program Files\pyTivo\bin
> beacon = 192.168.0.255
> 
> [MyMovies]
> type = video
> path = c:\videos
> 
> [_tivo_SD]
> 
> [_tivo_HD]
> 
> I do see this message on the console when I select "MyMovies" on my tivo.
> 
> 
> 
> HTML:
> 
> 
> INFO:pyTivo:192.168.0.117 [26/Jul/2011 17:53:02] "GET /TiVoConnect?Command=Query
> Container&Container=%2F HTTP/1.0" 200 -
> ERROR:pyTivo:Exception during request from ('192.168.0.116', 33021)
> Traceback (most recent call last):
> File "C:\Python27\lib\SocketServer.py", line 582, in process_request_thread
> self.finish_request(request, client_address)
> File "C:\Python27\lib\SocketServer.py", line 323, in finish_request
> self.RequestHandlerClass(request, client_address, self)
> File "C:\Program Files\pyTivo\httpserver.py", line 64, in __init__
> client_address, server)
> File "C:\Python27\lib\SocketServer.py", line 639, in __init__
> self.handle()
> File "C:\Python27\lib\BaseHTTPServer.py", line 343, in handle
> self.handle_one_request()
> File "C:\Python27\lib\BaseHTTPServer.py", line 313, in handle_one_request
> self.raw_requestline = self.rfile.readline(65537)
> File "C:\Python27\lib\socket.py", line 476, in readline
> data = self._sock.recv(self._rbufsize)
> error: [Errno 10035] A non-blocking socket operation could not be completed imme
> diately
> INFO:pyTivo:192.168.0.116 [26/Jul/2011 17:55:02] "GET /TiVoConnect?Command=Query
> Container&Container=%2F HTTP/1.0" 200 -
> 
> A Few Notes:
> 
> I'm running the latest "master" version from wmcbrine from this location:
> 
> http://repo.or.cz/w/pyTivo/wmcbrine.git/snapshot/d2e63d53ecdaf80ce39ad134e7e8466b58c75dcb.zip
> 
> 
> I have UDP port 5353 open
> I've even just turned off the Windows Firewall.
> I have Vuze installed and I use it to copy videos to my Tivos. I've tried with it running and not running, can't get pyTivo working either way.
> I have Tivo Desktop installed but have the server stopped.
> 
> Anyone have any ideas?
> 
> Thanks!
> Todd


If you're running it on Vista or Win7, install it to a different directory. If installed to C:\Program Files or C:\Program Files (x86) you will have problems.

I setup a pyTivo.cmd file to launch it since double-clicking the pytivo.py file would not start python.

pyTivo.cmd file contents;


Code:


C:
CD [I]C:\path_where_you_extracted_pytivo[/I]
[I]C:\path_where_python_is_installed[/I]\python.exe "[I]C:\path_where_you_extracted_pytivo[/I]\pyTivo.py"
EXIT

Replace _C:\path_where_you_extracted_pytivo_ with the path to your pyTivo installation. In my case it's C:\pyTivo

Replace _C:\path_where_python_is_installed_ with the path to your Python installation. In my case it's C:\Python26, in your case it's C:\Python27

So the example would be;
pyTivo.cmd file contents;


Code:


C:
CD C:\pyTivo
C:\Python27\python.exe "C:\pyTivo\pyTivo.py"
EXIT


----------



## wmcbrine

bwall23 said:


> If you're running it on Vista or Win7, install it to a different directory.


I really don't think that's the issue here. Not that I have anything helpful to offer in its place yet.


----------



## toddeades

wmcbrine said:


> I really don't think that's the issue here. Not that I have anything helpful to offer in its place yet.


I tried moving it out of the program file folder and I'm getting the same errors.


----------



## loganasu

I am having trouble pulling files off of the TiVo.

The following is from my log:



Code:


INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: MyMovies
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:HDTivo
INFO:pyTivo.beacon:LivingRoom
INFO:pyTivo.beacon:Life-Down
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:10.0.0.10 [07/Aug/2011 11:38:51] "GET /TiVoConnect?Command=QueryCont
ainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:10.0.0.11 [07/Aug/2011 11:38:51] "GET /TiVoConnect?Command=QueryCont
ainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:10.0.0.6 [07/Aug/2011 11:38:52] "GET /TiVoConnect?Command=QueryConta
iner&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:10.0.0.104 [07/Aug/2011 11:39:06] "GET / HTTP/1.1" 200 -
INFO:pyTivo:10.0.0.104 [07/Aug/2011 11:39:06] "GET /main.css HTTP/1.1" 200 -
INFO:pyTivo:10.0.0.104 [07/Aug/2011 11:39:11] "GET /TiVoConnect?Command=NPL&Cont
ainer=ToGo&TiVo=10.0.0.10 HTTP/1.1" 200 -
INFO:pyTivo:10.0.0.104 [07/Aug/2011 11:39:11] "GET /main.css HTTP/1.1" 200 -
INFO:pyTivo:10.0.0.104 [07/Aug/2011 11:39:11] "GET /folder.png HTTP/1.1" 200 -
INFO:pyTivo:10.0.0.104 [07/Aug/2011 11:39:11] "GET /soon.png HTTP/1.1" 200 -
INFO:pyTivo:10.0.0.104 [07/Aug/2011 11:39:11] "GET /nocopy.png HTTP/1.1" 200 -
INFO:pyTivo:10.0.0.104 [07/Aug/2011 11:39:11] "GET /expired.png HTTP/1.1" 200 -
INFO:pyTivo:10.0.0.104 [07/Aug/2011 11:39:13] "GET /TiVoConnect?Command=NPL&Cont
ainer=ToGo&Folder=37283&TiVo=10.0.0.10 HTTP/1.1" 200 -
INFO:pyTivo:10.0.0.104 [07/Aug/2011 11:39:13] "GET /main.css HTTP/1.1" 200 -
INFO:pyTivo:10.0.0.104 [07/Aug/2011 11:39:13] "GET /back.png HTTP/1.1" 200 -
INFO:pyTivo:10.0.0.104 [07/Aug/2011 11:39:13] "GET /expired.png HTTP/1.1" 200 -
INFO:pyTivo.togo:[07/Aug/2011 11:39:21] Queued "http://10.0.0.10:80/download/Who
se Line Is It Anyway?.TiVo?Container=/NowPlaying&id=640429" for transfer to E:\M
edia\Media\Tivo
INFO:pyTivo:10.0.0.104 [07/Aug/2011 11:39:21] "POST /TiVoConnect HTTP/1.1" 200 -

INFO:pyTivo:10.0.0.104 [07/Aug/2011 11:39:27] "GET /TiVoConnect?Command=NPL&Cont
ainer=ToGo&Folder=37283&TiVo=10.0.0.10 HTTP/1.1" 200 -
INFO:pyTivo:10.0.0.104 [07/Aug/2011 11:39:27] "GET /main.css HTTP/1.1" 200 -
INFO:pyTivo:10.0.0.104 [07/Aug/2011 11:39:27] "GET /back.png HTTP/1.1" 200 -
INFO:pyTivo:10.0.0.104 [07/Aug/2011 11:39:27] "GET /expired.png HTTP/1.1" 200 -
INFO:pyTivo.togo:[07/Aug/2011 11:39:27] Start getting "E:\Media\Media\Tivo\Whose
 Line Is It Anyway? - 640429.TiVo" from LivingRoom
Unhandled exception in thread started by <unbound method ToGo.process_queue>
ERROR:pyTivo:Exception in pyTivo
Traceback (most recent call last):
  File "C:\Program Files\pyTivo\plugins\togo\togo.py", line 299, in process_queu
e
    self.get_tivo_file(tivoIP, url, mak, togo_path)
  File "C:\Program Files\pyTivo\plugins\togo\togo.py", line 250, in get_tivo_fil
e
    f = open(outfile, 'wb')
IOError: [Errno 22] invalid mode ('wb') or filename: 'E:\\Media\\Media\\Tivo\\Wh
ose Line Is It Anyway? - 640429.TiVo'

And here is the pytivo.conf:


Code:


[Server]
port = 9032
ffmpeg = C:\Program Files\pyTivo\bin\ffmpeg.exe
tivo_password = XXXXXXXX
tivo_username = XXXXXXXX
tivo_mak = ################
togo_path = E:\Media\Media\Tivo

[MyMovies]
type = video
path = E:\Media

[_tivo_SD]

[_tivo_HD]

Any help with this would be greatly appreciated.


----------



## windracer

My guess is it's the question mark in the show name:



Code:


IOError: [Errno 22] invalid mode ('wb') or filename: 'E:\\Media\\Media\\Tivo\\Wh
ose Line Is It Anyway? - 640429.TiVo'

It looks like you're running pyTivo on Windows, which doesn't support the question mark in a file name. I thought pyTivo was supposed to strip out those 'special' characters but I could be wrong. Can you try transferring a different show and see if it works?


----------



## moyekj

This looks like an invalid path to me:


Code:


togo_path = E:\Media\Media\Tivo

I'm guessing it has an extra \Media that shouldn't be there.


----------



## loganasu

windracer said:


> My guess is it's the question mark in the show name:
> 
> 
> 
> Code:
> 
> 
> IOError: [Errno 22] invalid mode ('wb') or filename: 'E:\\Media\\Media\\Tivo\\Wh
> ose Line Is It Anyway? - 640429.TiVo'
> 
> It looks like you're running pyTivo on Windows, which doesn't support the question mark in a file name. I thought pyTivo was supposed to strip out those 'special' characters but I could be wrong. Can you try transferring a different show and see if it works?


I got that with all of the shows that I attempted, but it's working for everything else now. 
now I wonder if all of my tests were with the same show just different episode.



moyekj said:


> This looks like an invalid path to me:
> 
> 
> Code:
> 
> 
> togo_path = E:\Media\Media\Tivo
> 
> I'm guessing it has an extra \Media that shouldn't be there.


This is the correct path. Had a reason for this naming convention, but it's obsolete now.

Is there a way to strip out the special characters?


----------



## thomb

How do you run pyTivo as a service in Windows 7?? Pytivo works fine if I manually launch it and keep the window open.

I followed the directions in the pyTivo wiki:
1) Installed "pywin32"
2) tried running pyTivoService.py from a DOS prompt, but got an error message:


> Installing service pyTivo
> Error installing service: Access is denied. (5)


What did I do wrong?


----------



## caddyroger

thomb said:


> How do you run pyTivo as a service in Windows 7?? Pytivo works fine if I manually launch it and keep the window open.
> 
> I followed the directions in the pyTivo wiki:
> 1) Installed "pywin32"
> 2) tried running pyTivoService.py from a DOS prompt, but got an error message:
> 
> What did I do wrong?


Did you try installing this as a administrator rights?


----------



## thomb

caddyroger said:


> Did you try installing this as a administrator rights?


Thanks Caddyroger. That fixed it.


----------



## innocentfreak

Other than .TiVo format what is the fastest file format to transfer via Push for recorded TV?

I have a HD recording in MPG format which I pushed to the TiVo Premiere. It is taking a really long time though so I am wondering why.

From mediainfo on the file


Code:


General
Format                           : MPEG-PS
File size                        : 4.55 GiB
Duration                         : 1h 2mn
Overall bit rate                 : 10.4 Mbps

Video
ID                               : 224 (0xE0)
Format                           : MPEG Video
Format version                   : Version 2
Format profile                   : [email protected]
Format settings, BVOP            : Yes
Format settings, Matrix          : Custom
Duration                         : 1h 2mn
Bit rate mode                    : Variable
Bit rate                         : 10.1 Mbps
Maximum bit rate                 : 80.0 Mbps
Width                            : 1 920 pixels
Height                           : 1 080 pixels
Display aspect ratio             : 16:9
Frame rate                       : 29.970 fps
Standard                         : Component
Color space                      : YUV
Chroma subsampling               : 4:2:0
Bit depth                        : 8 bits
Scan type                        : Interlaced
Scan order                       : Bottom Field First
Compression mode                 : Lossy
Bits/(Pixel*Frame)               : 0.163
Stream size                      : 4.46 GiB (98%)

Text #1
ID                               : 224 (0xE0)-608-1
Format                           : EIA-608
Muxing mode                      : A/53 / DTVCC Transport
Muxing mode, more info           : Muxed in Video #1
Stream size                      : 0.00 Byte (0%)

Text #2
ID                               : 224 (0xE0)-608-2
Format                           : EIA-608
Muxing mode                      : A/53 / DTVCC Transport
Muxing mode, more info           : Muxed in Video #1
Stream size                      : 0.00 Byte (0%)

Text #3
ID                               : 224 (0xE0)-1
Format                           : EIA-708
Muxing mode                      : A/53 / DTVCC Transport
Muxing mode, more info           : Muxed in Video #1
Stream size                      : 0.00 Byte (0%)


----------



## lrhorer

innocentfreak said:


> Other than .TiVo format what is the fastest file format to transfer via Push for recorded TV?


An H.264 file in an MPEG4 container transfers more than 4 times faster than the same content encoded as MPEG2 on my S3 and THD machines*. If I transfer a 720p program on my S3s, even with both tuners disabled I still encounter pauses unless I allow about 90 seconds of buffering for a 22 minute program. If I recode to an h.264 .mp4 file using VideoRedo TVSuite, the same program will transfer to my S3 with both tuners active in a little over 7 minutes. Even on my THD, it will transfer in less than 10 minutes.

Most 1080i MPEG2 content will transfer at real time or just a bit better to my S3s with both tuners disabled, unless the bit rate exceeds 17 Mbps average. If I recode to .mp4, a 90 minute movie will transfer in about 30 minutes, and I don't have to bother to disable the tuners.

* - Using the default compression employed by VRD when recoding an MPEG2 file to h.264. This results in about a 30% reduction in file size. It is possible greater compression might yield even faster transfers, but at the potential cost of additional artifacts in the video.


----------



## innocentfreak

What I am doing is using MC-TVconverter to just remove the WTV container to expose the Mpeg2 similar to using KMTTG to remove the .TiVo container.

I wonder if his default settings are messing with it then. It also didn't transfer correctly so TiVo displays it like it is a zoomed out SD show where it is boxed on all four sides.


----------



## innocentfreak

It is looking like at this point it may not matter since my TiVo has started rebooting every time I push a file to the Premiere.


----------



## jcthorne

Did you try pushing a properly formatted mp4 file as lrhorer suggested? Sending improperly formated media to tivo can cause all sorts of problems. Lock ups among them. Tivo does not support windows 7 wtv files, they will need to be converted to h264 and ac3 in a mp4 container. Lots of help and utilities to accomplish the task available here.


----------



## innocentfreak

jcthorne said:


> Did you try pushing a properly formatted mp4 file as lrhorer suggested? Sending improperly formated media to tivo can cause all sorts of problems. Lock ups among them. Tivo does not support windows 7 wtv files, they will need to be converted to h264 and ac3 in a mp4 container. Lots of help and utilities to accomplish the task available here.


No I haven't had another chance to mess with it yet.

I guess I was going off the assumption MPG would be easier since when KMTTG decrypts the .TiVo file you are left with just an MPG so I was trying to do the same with WTV. It could also be an issue with the profile that they wrote into the MC-TVconverter.

Trying MP4 now and I don't think this is going to work for us. MP4 just takes way too long to convert from WTV since we record so much.


----------



## jsheinz1234

I have been using Pytivo for quite a while now (Current version installed 2009), but have recently "cut the cord" and cancelled Cable TV, so want to update to the latest version. (sounds like it has video push? And hoping to get pictures working?)

How do I update to the most recent version without jacking my current install?


----------



## johnjay829

jsheinz1234 said:


> I have been using Pytivo for quite a while now (Current version installed 2009), but have recently "cut the cord" and cancelled Cable TV, so want to update to the latest version. (sounds like it has video push? And hoping to get pictures working?)
> 
> How do I update to the most recent version without jacking my current install?


You just have to download the zip for the lastest release if you are using windows can't help with linux. Extract to the pytivo folder and that should be fine it will ask to overwrite the files there just say yes. If you like just make a backup of your pitivo folder.


----------



## jsheinz1234

Thanks!


----------



## lrhorer

innocentfreak said:


> No I haven't had another chance to mess with it yet.
> 
> I guess I was going off the assumption MPG would be easier since when KMTTG decrypts the .TiVo file you are left with just an MPG so I was trying to do the same with WTV. It could also be an issue with the profile that they wrote into the MC-TVconverter.
> 
> Trying MP4 now and I don't think this is going to work for us. MP4 just takes way too long to convert from WTV since we record so much.


Well, if you have slow CPUs (like I do), then it's true it can take a very long time to recode to h.264, but the results are definitely worth it. What's more, you don't have to babysit the conversion. Select 3 or 4 - or 3 or 4 dozen - files to convert on a PC and let the process run 24 x 7 until it completes.

That, or you could use this as an excuse to upgrade your CPU, motherboard, and memory. A 3.6 GHz, 6 core cpu should be able to recode at just about real-time. Overclock it to 4GHz, and it can probably do a bit better than real-time. Running it 24 x 7 will wind up convertging a *LOT* of videos. I've done a couple of hundred so far.


----------



## jsheinz1234

hmmmm...replace all the files in Pytivo with the Wmcombrine stuff.

Can't connect to http://localhost:9032/ now...

Don't know what to give you guys. Pretty sure it is setup as a service.

Check Start on Console says this:
Checking to see if pyTivo is already running . . .
pyTivo

=================== Error =======================
The pyTivo Service is already running.

Please stop the pyTivo Service first before
running pyTivo in console mode.

Press any key to continue . . .

Check Start Service:
The requested service has already been started.

More help is available by typing NET HELPMSG 2182.

Press any key to continue . . .

It appears to be running?


----------



## Iluvatar

jsheinz1234 said:


> hmmmm...replace all the files in Pytivo with the Wmcombrine stuff.
> 
> Can't connect to http://localhost:9032/ now...
> 
> Don't know what to give you guys. Pretty sure it is setup as a service.
> 
> Check Start on Console says this:
> Checking to see if pyTivo is already running . . .
> pyTivo
> 
> =================== Error =======================
> The pyTivo Service is already running.
> 
> Please stop the pyTivo Service first before
> running pyTivo in console mode.
> 
> Press any key to continue . . .
> 
> Check Start Service:
> The requested service has already been started.
> 
> More help is available by typing NET HELPMSG 2182.
> 
> Press any key to continue . . .
> 
> It appears to be running?


Try restarting the service or restart your computer if you did not after replacing the files.


----------



## dlfl

lrhorer said:


> An H.264 file in an MPEG4 container transfers more than 4 times faster than the same content encoded as MPEG2 on my S3 and THD machines*. ............
> * - Using the default compression employed by VRD when recoding an MPEG2 file to h.264. This results in about a 30% reduction in file size........


These two facts seem inconsistent, don't they? How does (only) a 30% file size reduction lead to 4X transfer speed increase?


----------



## jsheinz1234

I have restarted several times. 

I will replace pytivo folder with my backup and see what happens later when I get home tonight and see what happens.


----------



## Iluvatar

jsheinz1234 said:


> I have restarted several times.
> 
> I will replace pytivo folder with my backup and see what happens later when I get home tonight and see what happens.


If you still have issues run pyTivo from the command line and post your log here.


----------



## jcthorne

dlfl said:


> These two facts seem inconsistent, don't they? How does (only) a 30% file size reduction lead to 4X transfer speed increase?


Not exactly. Mpeg2 video transfered to a tivo results in the tivo transcoding to its internal storage format as its recieved. mp4 files containing compatible h264/ac3 data correctly interleaved and formatted for streaming will store on the tivo 'as is' requireing no processing on the tivo end. On a premiere, there is little difference unless the tivo is really busy, but on a series 3, the difference can be sufficient to prevent real time transfer of HD video in mpeg2 format.


----------



## lrhorer

jcthorne said:


> On a premiere, there is little difference unless the tivo is really busy, but on a series 3, the difference can be sufficient to prevent real time transfer of HD video in mpeg2 format.


Especially on a TiVoHD, but even my S3 TiVos cannot transfer 720p content at real-time, even with both tuners disabled. The same video, converted to .mp4, trransfers at over 30Mbps with both tuners recording on HD channels.


----------



## jsheinz1234

Ran the current "NEW" pytivo.py from CMD
******************
C:\Program Files\pyTivo>pytivo.py
Traceback (most recent call last):
File "C:\Program Files\pyTivo\pyTivo.py", line 21, in <module>
config.init_logging()
File "C:\Program Files\pyTivo\config.py", line 409, in init_logging
elif getDebug():
File "C:\Program Files\pyTivo\config.py", line 191, in getDebug
return config.getboolean('Server', 'debug')
File "C:\Python27\lib\ConfigParser.py", line 360, in getboolean
v = self.get(section, option)
File "C:\Python27\lib\ConfigParser.py", line 599, in get
raise NoSectionError(section)
ConfigParser.NoSectionError: No section: 'Server'

I don't see another log file anywhere.


----------



## jsheinz1234

Replaced "New" Pytivo Folder with Backup Pytivo folder and all appears to be running fine. Can see my ToGo list, etc. 

Should I just start Fresh with the new Wmcombrine zip? 
wmcbrine-d2e63d53ecdaf80ce39ad134e7e8466b58c75dcb

I DL'd ffmpeg-SVN-r21659-rdian06-1.02-win-x86_32
and pywin32-216.win32-py2.7

Should I uninstall and start over?


----------



## Iluvatar

jsheinz1234 said:


> Ran the current "NEW" pytivo.py from CMD
> ******************
> C:\Program Files\pyTivo>pytivo.py
> Traceback (most recent call last):
> File "C:\Program Files\pyTivo\pyTivo.py", line 21, in <module>
> config.init_logging()
> File "C:\Program Files\pyTivo\config.py", line 409, in init_logging
> elif getDebug():
> File "C:\Program Files\pyTivo\config.py", line 191, in getDebug
> return config.getboolean('Server', 'debug')
> File "C:\Python27\lib\ConfigParser.py", line 360, in getboolean
> v = self.get(section, option)
> File "C:\Python27\lib\ConfigParser.py", line 599, in get
> raise NoSectionError(section)
> ConfigParser.NoSectionError: No section: 'Server'
> 
> I don't see another log file anywhere.


This is enough. It seems your pyTivo.conf file is missing vital parts of the configuration for it to run (Server). I am uncertain if this section has changed with newer pyTivo developments.

Post your pyTivo.conf contents (with private info removed) and we can help you make it work with the newer pyTivo releases.


----------



## jsheinz1234

Weird...don't know if this is correct, but I found the currect pytivo.conf in C:\Users\Public\Documents\pyTivo Is that correct?

Here are the contents:
[loggers]
keys = root

[_tivo_SD]

[handler_console]
formatter = basicform
class = StreamHandler
args = (sys.stdout,)

[My Videos]
type = video
path = REDACTED

[Admin]
tivo_mak = REDACTED
type = admin

[handlers]
keys = console,rotfile

[My Photos]
type = photo
path = REDACTED

[Server]
port = 9032
temp = C:\Users\Public\Documents\pyTivo
ffmpeg = C:\Program Files\pyTivo\bin\ffmpeg.exe

[formatter_basicform]
format = %(asctime)s %(levelname)-5s %(name)s: %(message)s

[handler_rotfile]
formatter = basicform
class = handlers.RotatingFileHandler
args = ('C:\Users\Public\Documents\pyTivo\debug.log', 'a', 10485760, 5)

[_tivo_HD]

[logger_root]
handlers = console,rotfile
level = DEBUG

[formatters]
keys = basicform


----------



## jsheinz1234

New Question: If I cancel my Tivo Service can I still access it via Pytivo?


----------



## dlfl

jsheinz1234 said:


> Weird...don't know if this is correct, but I found the currect pytivo.conf in C:\Users\Public\Documents\pyTivo Is that correct?
> ..........


I bet you're running Win7. Move your pyTivo stuff out of the Program Files folder tree. When you edit pytivo.conf and save it, Win7 "protects" you by actually saving the new version somewhere else (with no clue to you that it is doing so). Then when you run, you're still using the unedited file. There is no advantage to having pyTivo in the program files folder system

Similarly, no properly designed Windows program will attempt to write to files in the Program Files folder, because typically they don't have access to do so on Win7. Note this issue applies to vidmgr, which writes a thumbnail cache in the same folder tree it is running from. Thus, don't install pyhme or vidmgr in the program files folder systems.


----------



## windracer

jsheinz1234 said:


> New Question: If I cancel my Tivo Service can I still access it via Pytivo?


No.


----------



## jsheinz1234

windracer said:


> No.


Well then, this is all pointless. Was hoping to cancel my monthly fee, but still use it as a repository for videos from my computer. Can't transfer videos to it without tivo subscription?


----------



## jcthorne

No. Home Media features and transfers are a part of the subscription.

Sorry you feel these very worthwhile and useful extensions to the Tivo appliance are pointless. The remainder of the folks here feel otherwise.


----------



## jsheinz1234

No, sorry, you misunderstand the direction of my comment. I think PYTIVO et al are extremely useful and awesome. I have been using it for more than 3 years. 

Unfortunately, after cancelling my Cable subscription to cut costs, I have no real use for my TIVO box other than to access files from my computer, and was going to cancel my monthly subscription (yes I made the mistake of getting the monthly subscription instead of the lifetime service). 

I was hoping I would be able to access the device without the subscription. If I can't use my Tivo as a media server without the subscription, then my efforts to get an upgraded version of PYTIVO working are pointless.


----------



## jcthorne

You don't plan to use your Tivo for OTA broadcasts?

Between OTA, netflix and internet video sources, we have all we could ever watch. I too cut the cable. Four years ago. The only thing we miss are distant playoff games not shown on broadcast tv. Refuse a cable sub just for that. Much cheaper to have dinner at the sports bar down the street and spend the evening on thier sofa and plasma tv a few times a year.

I really don't think I could have made the cord cutting acceptable to the wife if it were not for Tivo as our whole home media center. We really use the 'one box' concept Tivo was so fond of promoting.


----------



## jsheinz1234

A series 2 doesn't have a digital tuner does it?


----------



## wmcbrine

A Series 2 can control an external tuner for digital OTA, unless it's a 2DT or a 542.


----------



## jsheinz1234

OK...Chips are back on the table and I am pushing ALL IN! Gonna keep the TIVO service!

Got the digital converter box (RCA from Walmart - Pretty nice unit in comparison to others I have seen online elsewhere) and we are amazed at the amount of programming available...especially for our kids!

So how to I get up to date? I would like to get the push ability so I can get some of the shows that I am missing onto the box.

I just downloaded the most recent wmcbrine fork...Probably best to just start over? Unzip and copy my conf file in there? What adjustments need to be made to my conf file I pasted previously. (http://www.tivocommunity.com/tivo-vb/showthread.php?p=8658752#post8658752) or will moving it into the parent pytivo folder solve the problem with localhost.

As always, your help (and dedication) are appreciated!


----------



## Iluvatar

jsheinz1234 said:


> OK...Chips are back on the table and I am pushing ALL IN! Gonna keep the TIVO service!
> 
> Got the digital converter box (RCA from Walmart - Pretty nice unit in comparison to others I have seen online elsewhere) and we are amazed at the amount of programming available...especially for our kids!
> 
> So how to I get up to date? I would like to get the push ability so I can get some of the shows that I am missing onto the box.
> 
> I just downloaded the most recent wmcbrine fork...Probably best to just start over? Unzip and copy my conf file in there? What adjustments need to be made to my conf file I pasted previously. (http://www.tivocommunity.com/tivo-vb/showthread.php?p=8658752#post8658752) or will moving it into the parent pytivo folder solve the problem with localhost.
> 
> As always, your help (and dedication) are appreciated!


here is a sample of my pyTivo.conf file. Appropriate info is redacted and as always change to suit your needs. With just a basic pyTivo.conf to get running you can use the web admin tool to finish the rest.



Code:


[Server]
tivo_password = ****
tivo_mak = *****
ffmpeg = /Applications/pyTivo/ffmpeg
ffmpeg_pram = -threads 2
togo_path = /Volumes/Media/TiVo
debug = True
tivo_username = ****

[Movies]
force_alpha = true
type = video
path = /Volumes/Videos/Movies

[TV Shows]
force_alpha = true
type = video
path = /Volumes/Videos/TV Shows

And of course this is placed in the primary pyTivo directory. I would run it command line first to get debug output and make sure its working. Then follow the pyTivo Service guide on pyTivo wiki if everything looks good.


----------



## jsheinz1234

Thanks!

My current conf doesn't have username or password. Do I need those? And if so where do I find them?

What is the togo_path?


----------



## Iluvatar

jsheinz1234 said:


> Thanks!
> 
> My current conf doesn't have username or password. Do I need those? And if so where do I find them?
> 
> What is the togo_path?


user name and password of your Tivo.com account to utilize the file push. This is required if you use push.

togo_path is where you want your videos to be stored if you transfer files off of your TiVo and on to your computer. Not required if you do not intend on using TiVo ToGo.

The pyTivo web admin tool I referenced earlier has descriptions for all the settings. Or you can go to the pyTivo wiki.

TBH you have had so many issues that I would just delete your current pyTivo.conf and just put the things from the Server section I have posted below, then use the pyTivo web admin tool to set up the rest.



Code:


[Server]
ffmpeg = C:\Path\To\ffmpeg.exe
debug = True


----------



## jsheinz1234

OK. Uninstalled old version, and looks like I am up and running! 

Messing with Webconf now. 

Thanks for your help!


----------



## Iluvatar

jsheinz1234 said:


> OK. Uninstalled old version, and looks like I am up and running!
> 
> Messing with Webconf now.
> 
> Thanks for your help!


Sure.

Post here or on the pyTivo forums if you need additional help.


----------



## jsheinz1234

Getting this error:
C:\pytivo>pyTivoService.py --startup auto install
Traceback (most recent call last):
File "C:\pytivo\pyTivoService.py", line 4, in <module>
import win32event
ImportError: DLL load failed: %1 is not a valid Win32 application.


----------



## pmiranda

I rediscovered an important tip: if it works fine in a command window, and you run it as a service but can't get to the config page and TiVo can't see it... you have to mark the python win32 service as allowed through the firewall


----------



## Iluvatar

pmiranda said:


> I rediscovered an important tip: if it works fine in a command window, and you run it as a service but can't get to the config page and TiVo can't see it... you have to mark the python win32 service as allowed through the firewall


Also make sure that if you are running 64 bit python you install the 64 bit extensions for pywin as well...vice versa for 32 bit. And make sure pywin is installed for All Users.

And when you are setting up the service you run the command prompt with Administrative privileges.


----------



## jsheinz1234

C:\pytivo>pyTivoService.py --startup auto install
Installing service pyTivo
Service installed



Also helps if you install the Intel version of Python and not the AMD version


----------



## jsheinz1234

So I got the service installed, but it doesn't seem to startup when windows starts...how do I get that going?


----------



## pmiranda

When you go into control panel->admin tools->services, do you see pytivo and it's not running? If you start it by hand does it run?


----------



## jsheinz1234

---------------------------
Services
---------------------------
Windows could not start the pyTivo service on Local Computer.

Error 1053: The service did not respond to the start or control request in a timely fashion.


----------



## jsheinz1234

I completely uninstalled and reinstalled everything. Service started!


----------



## captainDlp

I've been using Pytivo with my TivoHD for years and want to know what the difference is with Tivo Premiere? Does HD transfer faster? is there a different transfer format? any better features? any problems?


----------



## wmcbrine

captainDlp said:


> Does HD transfer faster?


Yes (for cases where the TiVo is the limiting factor).



> _is there a different transfer format?_


No. (Theoretically, there could be, but we haven't been able to make it work yet.)

My Premiere will take 1080p videos, unlike my S3 (dunno about the HD), and is more tolerant generally of a wider range of MP4 videos.


----------



## jcthorne

Sometime ago, someone told me how to chage a config setting for pytivo so that the video shares do not show up in the MyShows list. I'll be darned if I can find it with a search though. Its not in the wiki either. 

I think it was wmcbrine that told me but could not find the message.

If anyone knows, I would be grateful and will update the wiki this time.


----------



## Iluvatar

jcthorne said:


> Sometime ago, someone told me how to chage a config setting for pytivo so that the video shares do not show up in the MyShows list. I'll be darned if I can find it with a search though. Its not in the wiki either.
> 
> I think it was wmcbrine that told me but could not find the message.
> 
> If anyone knows, I would be grateful and will update the wiki this time.


Was me  in the Synology post on the pyTivo Forum.

You need to place the following in your pyTivo.conf



Code:


[_tivo_TSN]
Shares =

Put share name in to show only that share or leave blank to show no shares. This disables zeroconf mode if I remember. Restart both pyTivo and the TiVo in question.

This is in the wiki but is not described exactly how it is working for me.

*I am experiencing a bug though where if I place this into the .conf file and then use the web admin to access the config this section will be erased. Not sure what's up with that. So if you have issues with the shares showing again in your NPL that's probably what happened.


----------



## jcthorne

Thanks!

And I updated the Wiki to reflect this.


----------



## wmcbrine

Iluvatar said:


> *I am experiencing a bug though where if I place this into the .conf file and then use the web admin to access the config this section will be erased.


Cannot reproduce.


----------



## johnjay829

Having a lil trouble with videos in sub folders not showing up. when i select the share from the main tivo window i can see that the folder has files with a number indicator but when i open the sub folder no videos show up. i checked to make sure the video was working by moving to the main share folder.


----------



## Iluvatar

wmcbrine said:


> Cannot reproduce.


Not sure what to say other than it happens for me. I manually add a blank 'Shares = ' line under each [_tivo_tsn] heading, restart pyTivo, then go to the web admin, make other changes, save and restart. At this point the pyTiVo.conf has the Shares line deleted in all _tivo_tsn sections.

Not a big deal though as this is on my NAS installation so once it's setup I pretty much don't touch it anymore. I just have to remember to double check my .conf file last.

I am running lucasnz fork though so perhaps the difference is there.


----------



## lpwcomp

Since I am still running W2K, I have not tried to use pyTivo. Based on a post in another thread, i tried it.

I went through the installation procedures, including installing Python 2.7. and this was the result:

I executed pyTivo.py from within windows. All I got was a brief flash of a command prompt window.

Tried to go to "http://localhost:9032/" and Firefox cannot establish a connection.

Opened a command prompt, changed to pyTivo directory, entered "pyTivo.py" and received the following:

_Traceback (most recent call last):
File "C:\pyTivo\pyTivo.py", line 11, in <module>
import beacon
File "C:\pyTivo\beacon.py", line 12, in <module>
from plugin import GetPlugin
File "C:\pyTivo\plugin.py", line 9, in <module>
from Cheetah.Filters import Filter
ImportError: No module named Cheetah.Filters_


----------



## dlfl

lpwcomp said:


> Since I am still running W2K, I have not tried to use pyTivo. Based on a post in another thread, i tried it.
> 
> I went through the installation procedures, including installing Python 2.7. and this was the result:
> 
> I executed pyTivo.py from within windows. All I got was a brief flash of a command prompt window.
> 
> Tried to go to "http://localhost:9032/" and Firefox cannot establish a connection.
> 
> Opened a command prompt, changed to pyTivo directory, entered "pyTivo.py" and received the following:
> 
> _Traceback (most recent call last):
> File "C:\pyTivo\pyTivo.py", line 11, in <module>
> import beacon
> File "C:\pyTivo\beacon.py", line 12, in <module>
> from plugin import GetPlugin
> File "C:\pyTivo\plugin.py", line 9, in <module>
> from Cheetah.Filters import Filter
> ImportError: No module named Cheetah.Filters_


I'm not a Python whiz but since no one else is jumping in here:
Do you have a cheetah subfolder in your pyTivo installation folder?
Does it contain a file named filters.py (and many other files)?
If not, you don't have a complete installation of pyTiVo. This subfolder and its files are normally included.


----------



## Iluvatar

dlfl said:


> I'm not a Python whiz but since no one else is jumping in here:
> Do you have a cheetah subfolder in your pyTivo installation folder?
> Does it contain a file named filters.py (and many other files)?
> If not, you don't have a complete installation of pyTiVo. This subfolder and its files are normally included.


Can't say I have seen this either. All I can offer is that maybe the Python install is corrupt or that the pyTivo download was corrupt (also assuming you are using the latest snapshot from here)

pyTivo is generally as easy as ensuring you have Python installed, downloading the latest pyTivo snapshot, making the config file correct and then running it. Not sure what went wrong for you. I am pretty sure Python 2.7 is W2K compatible.


----------



## lpwcomp

dlfl said:


> I'm not a Python whiz but since no one else is jumping in here:
> Do you have a cheetah subfolder in your pyTivo installation folder?
> Does it contain a file named filters.py (and many other files)?
> If not, you don't have a complete installation of pyTiVo. This subfolder and its files are normally included.


Had no cheetah folder. Decided to clear out the pyTivo folder and start over. This time, when I extracted the zip, there was only one thing there - a folder named wmcbrine, which contained everyything, including a cheetah folder. Probably could have just left everything there but I decided to move everything out of it to pyTivo. I now have it running and it is working fine. Thanks.:up:


----------



## johnjay829

johnjay829 said:


> Having a lil trouble with videos in sub folders not showing up. when i select the share from the main tivo window i can see that the folder has files with a number indicator but when i open the sub folder no videos show up. i checked to make sure the video was working by moving to the main share folder.


any help with this?


----------



## Iluvatar

johnjay829 said:


> any help with this?


Hard to determine with the given information.

Are you using the latest pyTivo snapshot?
Can you provide the pyTivo logs when you are attempting this?

Have you tried restarting everything?


----------



## johnjay829

INFOyTivo:192.168.1.20 [01/Sep/2011 20:15:48] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFOyTivo:192.168.1.20 [01/Sep/2011 20:15:53] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFOyTivo:192.168.1.20 [01/Sep/2011 20:23:32] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFOyTivo:192.168.1.20 [01/Sep/2011 20:23:36] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFOyTivo:192.168.1.20 [01/Sep/2011 20:23:43] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFOyTivo:192.168.1.20 [01/Sep/2011 20:23:43] "GET /TiVoConnect?Command=QueryC
ontainer&Container=Tv%20Shows&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-c
ontainer%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&S
erialNum=************** HTTP/1.1" 200 -
INFOyTivo:192.168.1.20 [01/Sep/2011 20:23:46] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFOyTivo:192.168.1.20 [01/Sep/2011 20:23:47] "GET /TiVoConnect?Command=QueryC
ontainer&Container=Tv%20Shows%2FEntourage&SortOrder=!CaptureDate&ItemCount=8&Fil
ter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg
,video%2F*&SerialNum=************** HTTP/1.1" 200 -


----------



## Iluvatar

johnjay829 said:


> INFOyTivo:192.168.1.20 [01/Sep/2011 20:15:48] "GET /TiVoConnect?Command=QueryC
> ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> INFOyTivo:192.168.1.20 [01/Sep/2011 20:15:53] "GET /TiVoConnect?Command=QueryC
> ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> INFOyTivo:192.168.1.20 [01/Sep/2011 20:23:32] "GET /TiVoConnect?Command=QueryC
> ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> INFOyTivo:192.168.1.20 [01/Sep/2011 20:23:36] "GET /TiVoConnect?Command=QueryC
> ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> INFOyTivo:192.168.1.20 [01/Sep/2011 20:23:43] "GET /TiVoConnect?Command=QueryF
> ormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFOyTivo:192.168.1.20 [01/Sep/2011 20:23:43] "GET /TiVoConnect?Command=QueryC
> ontainer&Container=Tv%20Shows&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-c
> ontainer%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&S
> erialNum=************** HTTP/1.1" 200 -
> INFOyTivo:192.168.1.20 [01/Sep/2011 20:23:46] "GET /TiVoConnect?Command=QueryF
> ormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFOyTivo:192.168.1.20 [01/Sep/2011 20:23:47] "GET /TiVoConnect?Command=QueryC
> ontainer&Container=Tv%20Shows%2FEntourage&SortOrder=!CaptureDate&ItemCount=8&Fil
> ter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg
> ,video%2F*&SerialNum=************** HTTP/1.1" 200 -


Well still not really anything to go on. If you could restart pyTivo, test this issue again, and capture all output from start to finish.

Are you running the latest pyTivo snapshot?
And did you try restarting your PC, router and TiVo.

I'm going on vacation for a week so it will be a bit before I can reply. You could PM the main developer (wmcbrine) or post this in the pyTivo forums. Maybe someone else has seen this issue and can give advice.


----------



## wmcbrine

Do not PM me. I read this thread.

There's nothing useful in that portion of the log, but that's surely not the whole log, either.


----------



## johnjay829

sorry i couldn't figure out how to get the entire log in. getting a error that i have to many images so i added a space after INFO:

INFO: pyTivo.beacon:Announcing shares...
INFO: pyTivo.beacon:Registering: Amaya and Savannah
INFO: pyTivo.beacon:Registering: DvD
INFO: pyTivo.beacon:Registering: Movies
INFO: pyTivo.beacon:Registering: Tv Shows
INFO: pyTivo.beacon:Registering: Workouts
INFO: pyTivo.beacon:Scanning for TiVos...
INFO: pyTivo.beacon:Bedroom
INFO: pyTivo.beacon:Living Room
INFO: pyTivoyTivo is ready.
INFO: pyTivo:192.168.1.20 [01/Sep/2011 20:14:47] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO: pyTivo:192.168.1.3 [01/Sep/2011 20:14:47] "GET /TiVoConnect?Command=QueryCo
ntainer&Container=%2F HTTP/1.0" 200 -
INFO: pyTivo:192.168.1.4 [01/Sep/2011 20:14:47] "GET /TiVoConnect?Command=QueryCo
ntainer&Container=%2F HTTP/1.0" 200 -
INFO: pyTivo:192.168.1.12 [01/Sep/2011 20:14:47] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F HTTP/1.0" 200 -
INFO: pyTivo:192.168.1.20 [01/Sep/2011 20:15:48] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO: pyTivo:192.168.1.20 [01/Sep/2011 20:15:48] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO: pyTivo:192.168.1.20 [01/Sep/2011 20:15:53] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO: pyTivo:192.168.1.20 [01/Sep/2011 20:23:32] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO: pyTivo:192.168.1.20 [01/Sep/2011 20:23:36] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO: pyTivo:192.168.1.20 [01/Sep/2011 20:23:43] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO: pyTivo:192.168.1.20 [01/Sep/2011 20:23:43] "GET /TiVoConnect?Command=QueryC
ontainer&Container=Tv%20Shows&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-c
ontainer%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&S
erialNum=**************** HTTP/1.1" 200 -
INFO: pyTivo:192.168.1.20 [01/Sep/2011 20:23:46] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO: pyTivo:192.168.1.20 [01/Sep/2011 20:23:47] "GET /TiVoConnect?Command=QueryC
ontainer&Container=Tv%20Shows%2FEntourage&SortOrder=!CaptureDate&ItemCount=8&Fil
ter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg
,video%2F*&SerialNum=**************** HTTP/1.1" 200 -
INFO: pyTivo:192.168.1.2 [02/Sep/2011 15:35:48] "GET /TiVoConnect?Command=QueryCo
ntainer&Container=%2F HTTP/1.0" 200 -
INFO: pyTivo:192.168.1.3 [02/Sep/2011 19:48:48] "GET /TiVoConnect?Command=QueryCo
ntainer&Container=%2F HTTP/1.0" 200 -
INFO: pyTivo:192.168.1.20 [02/Sep/2011 20:03:25] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO: pyTivo:192.168.1.20 [02/Sep/2011 20:03:25] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO: pyTivo:192.168.1.20 [02/Sep/2011 20:03:25] "GET /TiVoConnect?Command=QueryC
ontainer&Container=Tv%20Shows%2FEntourage&SortOrder=!CaptureDate&ItemCount=8&Fil
ter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg
,video%2F*&SerialNum=**************** HTTP/1.1" 200 -
INFO: pyTivo:192.168.1.20 [02/Sep/2011 20:03:25] "GET /TiVoConnect?Command=QueryC
ontainer&Container=Tv%20Shows%2FEntourage&SortOrder=!CaptureDate&ItemCount=8&Fil
ter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg
,video%2F*&SerialNum=**************** HTTP/1.1" 200 -
INFO: pyTivo:192.168.1.20 [02/Sep/2011 20:03:31] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO: pyTivo:192.168.1.20 [02/Sep/2011 20:03:31] "GET /TiVoConnect?Command=QueryC
ontainer&Container=Tv%20Shows&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FT
iVoConnect%3FCommand%3DQueryContainer%26Container%3DTv%2520Shows%2FEntourage&Anc
horOffset=-2&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,vid
eo%2Fx-tivo-mpeg,video%2F*&SerialNum=**************** HTTP/1.1" 200 -
INFO: pyTivo:192.168.1.20 [02/Sep/2011 20:03:36] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO: pyTivo:192.168.1.20 [02/Sep/2011 20:03:36] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -


----------



## johnjay829

the log is showing me going into a share on the tivo then trying to access a file in a subfolder in the share..


----------



## wmcbrine

For future reference, you could just check the "Disable smilies in text" box (Advanced mode only). Or use the "code" tags.

Unfortunately I still don't see a problem there. Maybe if you turned on debug?


----------



## jrtroo

http://www.tivocommunity.com/tivo-vb/showthread.php?p=5849022#post5849022 (hopefully I linked this correctly)

I'm having the same problem as this poster (post in this thread # 1711) with pulling from both of my tivos (a premiere and thd). However, I just freshly loaded pytivo with the most recent version of the wmcbrine build and verified that I already have the code indicated in the fix. I have read through this thread and, if the solution is in here somplace, I cannot recognize it.

Any thoughts on how I can resolve?

Thanks everyone!


----------



## jrtroo

Hi again. I have continued to search and still have not come across a solution to my problem. Instead of linking to the post, I'm just going to explain my problem directly.

Thanks again for any guidance, I'm completely clueless why this is happening as I had problems with my prior installation. These same symptoms are happening with Vista and on my WHS and repeat with my THD and Premiere.

Basically, when I try to pull files to my TiVo, I can see only one screen worth of files, and when I try and scan down it refreshes the same screen instead of showing the next in the list of shows from the PC. In addition, regardless of what item I choose, it will only select the first item on the list. Moving up or down merely reselects that first item. 

My referenced post pointed to a coding issue that appears to have been rectified. I reviewed the code I have installed and verified it matches the solution in the post.

Pushes work just fine, and pulls for the one item I can select also work perfectly.

Thanks again in advance.


----------



## Iluvatar

jrtroo said:


> Hi again. I have continued to search and still have not come across a solution to my problem. Instead of linking to the post, I'm just going to explain my problem directly.
> 
> Thanks again for any guidance, I'm completely clueless why this is happening as I had problems with my prior installation. These same symptoms are happening with Vista and on my WHS and repeat with my THD and Premiere.
> 
> Basically, when I try to pull files to my TiVo, I can see only one screen worth of files, and when I try and scan down it refreshes the same screen instead of showing the next in the list of shows from the PC. In addition, regardless of what item I choose, it will only select the first item on the list. Moving up or down merely reselects that first item.
> 
> My referenced post pointed to a coding issue that appears to have been rectified. I reviewed the code I have installed and verified it matches the solution in the post.
> 
> Pushes work just fine, and pulls for the one item I can select also work perfectly.
> 
> Thanks again in advance.


It seems an odd problem that I haven't come across and may be why you haven't gotten replies from anyone else.

Can you ensure that



Code:


debug = true

exists in your pyTivo.conf under the Server section and then manually run pyTivo capturing the debug output. Post all the debug info here after attempting to reproduce your problem. Perhaps that will help.


----------



## jrtroo

Thanks. I did set debug=true earlier, but could not figure out what I was seeing. I'll restart pytivo and post the results later this evening.

Here is the contents of my pyTIvo.conf file (edited for security, of course)

[Server]
port = 9032
ffmpeg = c:\pytivo\bin\ffmpeg.exe
tivo_password = ZZZZZZZZ
tivo_username = [email protected]
togo_path = d:\Tivo recordings
tivodecode = c:\pytivo\bin\tivodecode.exe
tivo_mak = 0123456789
beacon = 192.168.1.255
ffmpeg_wait = 10 [NOTE: added this from research- did not change anything]
debug = True

[_tivo_SD]

[_tivo_HD]

[Movies from PC]
path = d:
type = video


----------



## wmcbrine

"path = d:" is not going to cut it, I think. Try "path = d:\"?


----------



## jrtroo

wmcbrine- thank you - that little error was the source of all of my pain. 

Iluvatar- thanks for your suggestion as well. That helped get the ball rollin'.


----------



## jsheinz1234

Recently, I have been unable to see my shared files on my PC from the TIVO. (i.e. when I go to "My Videos" folder at the bottom of Now Playing I can go into the folder, but I don't see anything.)

I can see my tivo and recordings on the tivo from my PC via http://localhost:9032/, but not the other way around. Where should I look to fix this?


----------



## pmiranda

Some basic debug steps...
Check firewall settings on that computer
Make sure that computer's connection to the network is the same type (public/home/work) as before (only applies to Vista/Win7)
- Sometimes windows updates or needing to redo your wireless connections can mess these two up

Check that TiVo has good network connectivity (i.e., do a test "call")
Try rebooting TiVo...sometimes it just gets in a funk


----------



## jsheinz1234

Thanks! I will give it a shot.


----------



## lpwcomp

Had something odd happen recently. Using the lucasnz fork of pyTivo, I pulled an mkv file to my Premiere (yes, I know it transcodes it on the fly) . I waited until it was done before starting to watch it. It immediately went to "Delete this recording?". After much wailing and gnashing of teeth, I eventually discovered that if I hit rewind or backup right after I hit play, it was positioned near the end of the recording and I could backup to the beginning and watch the whole thing.


----------



## wmcbrine

Fix your system clock.


----------



## lpwcomp

Just a question, not a complaint: Any idea why the full metadata for a PULLed show will only display if you are using the SD menus? When using the HD menus, all that displays is description and First Aired.


----------



## Soapm

wmcbrine, I was pleasantly surprised this morning to to find your fork has been downloading at over 4mbs. I had way more transferred than I expected. I was down to a few Gigs on the receiving driving and quickly had to move some of the downloaded stuff to my new storage drive. 

Good job my man!!!


----------



## jcthorne

pyTivo can go much faster than that....75 to 90 can be achieved. On my well used network and slow pytivo server, I usually get 30 to 50mbps.


----------



## wmcbrine

jcthorne said:


> pyTivo can go much faster than that....75 to 90 can be achieved.


...with a Premiere. ISTR Soapm has a Series 2.


----------



## Soapm

@wmcbrine = I need some help with your fork. Lets say I am 100 episodes of 250 that were queued and the computer hangs so I have to reboot it. In the regular version of PyTivo as long as the episodes are in the same folder it will still show "transfer Complete" for the shows that have already transferred. I'm not seeing that with the fork.

Is there anyway to tell which episodes have transferred? Anyway to see the Tivo number other than for the 3 seconds when it is queuing? 

I just figured out the list doesn't always sort the same so I can figure out which have transferred and which still needs to be transferred. I am also having trouble spotting the partially transferred episode without comparing the file size of each. Even then I don't know which it is since all I have is the Tivo number in the file name.


----------



## wmcbrine

I don't know what you mean by "the regular version". "Transfer complete" is still displayed in my version, though it's no longer in a separate column (look under the description). But no version of pyTivo (well, with one exception, but I doubt you've used it) would retain that state across a reboot, or even a restart of just pyTivo.

I'm not sure what you mean by "the TiVo number", either. I think you may be talking about two different things. Anyway, yes, the list should always sort the same.


----------



## Soapm

Colorado Getaways - 2994971.TiVo

I was calling that number after the title the "Tivo Number" for lack of knowing what it is but I did noting it is unique to each episode.


----------



## lpwcomp

A question and an observation.

First the question: Is there any way to get something other than the share name to display on the Group and/or Program page?

The observation: On the Premiere, pulls of files whose metadata has the same _*made up*_ seriesid will be grouped together. One caveat: The group name associated with that seriesid will be set by the first pull. I conjecture that the Premiere has a local DB of seriesid(s) and that the first time it sees a new one it gets added.


----------



## dylanemcgregor

I just can't seem to get pyTiVo working on my Windows 7 machine. I've ran through the Wiki and everything seems to have finally installed correctly. I run the console and a "MyMovies" folder shows up in the NP list on TiVo...but it is always empty. I've gone to http://localhost:9032 and have set the path to my video folder, verified that there are videos in the folder (including a couple transferred directly from the TiVo using TTG). Permissions for the folder allow access to everyone. I've made changes to Windows Firewall to allow access to pyTivo.

I've done a bunch of searching, but can't seem to find anyone else with the same problem. The other "empty folder" problems seem to all relate to a second video folder. What can I try for troubleshooting?


----------



## Iluvatar

dylanemcgregor said:


> I just can't seem to get pyTiVo working on my Windows 7 machine. I've ran through the Wiki and everything seems to have finally installed correctly. I run the console and a "MyMovies" folder shows up in the NP list on TiVo...but it is always empty. I've gone to http://localhost:9032 and have set the path to my video folder, verified that there are videos in the folder (including a couple transferred directly from the TiVo using TTG). Permissions for the folder allow access to everyone. I've made changes to Windows Firewall to allow access to pyTivo.
> 
> I've done a bunch of searching, but can't seem to find anyone else with the same problem. The other "empty folder" problems seem to all relate to a second video folder. What can I try for troubleshooting?


Please post your pyTivo.conf file contents (edit any personal info).

Can you post a debug log or the complete console output, from pyTivo startup to you trying to access the 'empty' folder?

Is TiVo Desktop also installed? This may cause issues.

Have you tried disabling the firewall temporarily?


----------



## dylanemcgregor

Iluvatar said:


> Please post your pyTivo.conf file contents (edit any personal info).


[Server]
port = 9032
ffmpeg = C:\Users\Dylan\AppData\Roaming\pytivo\bin\ffmpeg.exe

[MyMovies]
type = video
path = C:\Users\Dylan\Documents\Vuze Downloads\transcodes\TiVo

[_tivo_SD]

[_tivo_HD]



> Can you post a debug log or the complete console output, from pyTivo startup to you trying to access the 'empty' folder?





Code:


INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: MyMovies
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:DVD
INFO:pyTivo:pyTivo is ready.




> Is TiVo Desktop also installed? This may cause issues.


 TiVo Desktop is installed now. Originally it was not installed and I had the same issue. I installed it because at one point I had TiVo Desktop Plus, and I was going to use it as an alternative, but I've lost the key.



> Have you tried disabling the firewall temporarily?


I just turned off Windows Firewall, but sometime right before I turned this off "MyMovies" disappeared from the NP list.


----------



## Iluvatar

dylanemcgregor said:


> [Server]
> port = 9032
> ffmpeg = C:\Users\Dylan\AppData\Roaming\pytivo\bin\ffmpeg.exe
> 
> [MyMovies]
> type = video
> path = C:\Users\Dylan\Documents\Vuze Downloads\transcodes\TiVo
> 
> [_tivo_SD]
> 
> [_tivo_HD]
> 
> 
> 
> Code:
> 
> 
> INFO:pyTivo.beacon:Announcing shares...
> INFO:pyTivo.beacon:Registering: MyMovies
> INFO:pyTivo.beacon:Scanning for TiVos...
> INFO:pyTivo.beacon:DVD
> INFO:pyTivo:pyTivo is ready.
> 
> TiVo Desktop is installed now. Originally it was not installed and I had the same issue. I installed it because at one point I had TiVo Desktop Plus, and I was going to use it as an alternative, but I've lost the key.
> 
> I just turned off Windows Firewall, but sometime right before I turned this off "MyMovies" disappeared from the NP list.


Place this in your [Server] section of the pyTivo.conf file:


Code:


debug = True

This will enable additional output in the console and may help.

Restart pyTivo and post the entire log after trying to access the MyMovies folder in your NPL.

TiVo Desktop may or may not be causing issues but if you no longer intend on using it then I would uninstall it.


----------



## dylanemcgregor

Iluvatar said:


> Place this in your [Server] section of the pyTivo.conf file:
> 
> 
> Code:
> 
> 
> debug = True
> 
> This will enable additional output in the console and may help.
> 
> Restart pyTivo and post the entire log after trying to access the MyMovies folder in your NPL.
> 
> TiVo Desktop may or may not be causing issues but if you no longer intend on using it then I would uninstall it.


OK, put the debug = True line in the pytivo.conf file and saved. Restarted pyTivo and went to access MyMovies. No change in the output in the console.

I then went and uninstalled TiVo Desktop and then restarted pyTiVo again. Again I don't have a listing for MyMovies in NP at all.

Edit: Rebooting my PC got the MyMovies listing back in the NP list. Still nothing changes in the console when I select this folder from NP. One thing that I'm not sure is important, but when I enter the MyMovies folder the folder is empty, but I am able to use the page up/down buttons to scroll through the "list". With TiVo Desktop, if I went into an empty folder I'd get a message saying no videos in this folder.

BTW, sorry for not saying it sooner, but I really appreciate your help with this. I've been struggling on and off with this for a couple of months now.


----------



## Iluvatar

dylanemcgregor said:


> OK, put the debug = True line in the pytivo.conf file and saved. Restarted pyTivo and went to access MyMovies. No change in the output in the console.


That's odd. It sounds like you have two instances of pyTivo running. Have you ever setup pyTivo in the past to automatically startup at login?

Shooting in the dark here but just to see if it is a permissions problem can you setup a new temporary folder somewhere else outside of your USER directory? Maybe place a new folder in C:\ , put a video in there and then create a new share in pyTivo pointing to this. You'll need to restart. Try to access this folder on your TiVo.



dylanemcgregor said:


> BTW, sorry for not saying it sooner, but I really appreciate your help with this. I've been struggling on and off with this for a couple of months now.


No problem. I may not know what the issue is in the end but the info you put up will be useful to someone who may know what's going on.


----------



## dylanemcgregor

Iluvatar said:


> Shooting in the dark here but just to see if it is a permissions problem can you setup a new temporary folder somewhere else outside of your USER directory? Maybe place a new folder in C:\ , put a video in there and then create a new share in pyTivo pointing to this. You'll need to restart. Try to access this folder on your TiVo.


OK. Setup a test folder in the root of C: called pytivovideotest and put a couple of avi files in there. Pointed MyMovies to this folder, saved, and did a soft restart. Then quit and restarted the console. Still nothing in the console output when I access MyVideos from the Tivo. (plenty of stuff pops up when I make changes to the localhost file).

I don't think I've ever setup pyTivo to start at login. As I said, I've been working on this for a couple of months though, so it is possible I did something inadvertently back at the beginning, but I don't see any running processes that look like dupes (not that I'm even sure exactly what I'd be looking for, I see one instance of python running, but nothing under processes that identifies as pyTivo.


----------



## Iluvatar

dylanemcgregor said:


> OK. Setup a test folder in the root of C: called pytivovideotest and put a couple of avi files in there. Pointed MyMovies to this folder, saved, and did a soft restart. Then quit and restarted the console. Still nothing in the console output when I access MyVideos from the Tivo. (plenty of stuff pops up when I make changes to the localhost file).
> 
> I don't think I've ever setup pyTivo to start at login. As I said, I've been working on this for a couple of months though, so it is possible I did something inadvertently back at the beginning, but I don't see any running processes that look like dupes (not that I'm even sure exactly what I'd be looking for, I see one instance of python running, but nothing under processes that identifies as pyTivo.


One way to tell is to restart your PC. If the MyMovies share reappears in your NPL without you having to use the command prompt to start it then at some point you set it up as a service.

However if you are not running multiple instances of pyTivo then the requests are just not getting through to pyTivo. With the debug line in your config file you should be seeing lots of logging output when you navigate to a share with your TiVo....whether the shared folder path is correct or not. This is back at what looks like a firewall issue. However I do not run Windows and I am not familiar with the workings of its firewall. The pyTiVo wiki says to add port 9032 (or whatever port it is set to in your config) to your firewall permissions.

Perhaps wmcbrine or someone else will give recommendations on this.

On another note, just in case, if you are not running the latest snapshot of pyTivo then download the latest and overwrite your pyTivo directory. It won't fix your issue probably but we can be sure that we are troubleshooting the latest code.


----------



## dylanemcgregor

Had a bit of a change a while back. I'd left the MyMovies empty folder open for a bit while I was doing other things (not related to pyTivo) and at some point a message popped up saying the folder was empty. Since then I've restarted the console, and now I'm back to no message, just an empty folder that can scroll infinitely (or so it seems).

I restarted my computer, and nothing shows up in NP until I start the pyTivo console. I want to make sure I have my conf file set up properly. This is what it looks like now.



Code:


[Server]
port = 9032
ffmpeg = C:\Users\Dylan\AppData\Roaming\pytivo\bin\ffmpeg.exe
debug = True

[MyMovies]
type = video
path = C:\PyTivoVideoTest

[_tivo_SD]

[_tivo_HD]

Does that look correct? Just seems weird that no logs are being generated when I open the folder. I have put both incoming and outgoing exceptions to the Windows Firewall for port 9032 per the Wiki. I hadn't done this before in Win7, so it is possible that I screwed up, but the firewall is off right now anyway, so that shouldn't matter.


----------



## oregonman

I upgraded from a Tivo HD to a Premiere. I had pyTivo set up and working fine for me with the Tivo HD. When I try to push a video to the Premiere, the video shows up on the Premiere, but the duration is 0:00.

The last message on the pyTivo console is:
Option: 'padtop' has been removed, use the pad filter instead
ffmpeg.exe: failed to set value '60' for option 'padtop'

I searched around here looking for a solution and the only thread I found was an older thread suggesting that earlier versions of pyTivo did not recognize the Premiere, but I am using a pyTivo from this spring:
wmcbrine-7aac601ceab3e5c270096bdb3f904a3c7707f2fc.zip


----------



## wmcbrine

Sorry, but it's clear that you are indeed using a version of pyTivo that doesn't recognize the Premiere as an HD unit. pyTivo only attempts to pad for (what it thinks are) SD units.

The actual error message is due to your using a newer version of ffmpeg that doesn't recognize the old padding syntax. This too would be fixed with an up-to-date pyTivo.


----------



## lrhorer

dylanemcgregor said:


> I restarted my computer, and nothing shows up in NP until I start the pyTivo console. I want to make sure I have my conf file set up properly. This is what it looks like now.
> 
> 
> 
> Code:
> 
> 
> [Server]
> port = 9032
> ffmpeg = C:\Users\Dylan\AppData\Roaming\pytivo\bin\ffmpeg.exe
> debug = True
> 
> [MyMovies]
> type = video
> path = C:\PyTivoVideoTest
> 
> [_tivo_SD]
> 
> [_tivo_HD]
> 
> Does that look correct? Just seems weird that no logs are being generated when I open the folder. I have put both incoming and outgoing exceptions to the Windows Firewall for port 9032 per the Wiki. I hadn't done this before in Win7, so it is possible that I screwed up, but the firewall is off right now anyway, so that shouldn't matter.


As long as those paths do indeed exist, that config file should be fine. I don't see how pyTivo could be doing anything at all without any output to stdout. What is the command you are using to start pyTivo?


----------



## Soapm

I feel pretty dumb having to ask this question but I want to get vidmgr working so I guess i must put down my pride.

The very first sentence of the instructions says, "Go to the directory where you have pyhme installed." What in the world is *pyhme*?

I first searched my complete computer including drive where I know it wouldn't be but no luck. I can't find where I put *pyhme* but I do use pytivo with wmcbrine fork.

I've googled and googled and searched this forum to find many people using this acronym but for the life of me I can't figure out how you get it or what you do with it. then I think if I can't understand the first sentence maybe this one is over my head.

I'd like to try vidmgr but I'm off to a rocky start since I can't find *pyhme*. Help...

Ps.. I posted in this thread because the vidmgr thread id in developers corner and I didn't think I should be posting there.


----------



## dylanemcgregor

lrhorer said:


> As long as those paths do indeed exist, that config file should be fine. I don't see how pyTivo could be doing anything at all without any output to stdout. What is the command you are using to start pyTivo?


I'm not sure I understand this. I start pyTivo through the start menu, not the command line. What is stdout? Is a separate log file supposed to be generated and put in the pytivo folder? I've been under the impression that the console window would generate output? The same as happens if I make a change in the web configuration. Maybe I've been misunderstanding?


----------



## oregonman

wmcbrine said:


> Sorry, but it's clear that you are indeed using a version of pyTivo that doesn't recognize the Premiere as an HD unit. pyTivo only attempts to pad for (what it thinks are) SD units.
> 
> The actual error message is due to your using a newer version of ffmpeg that doesn't recognize the old padding syntax. This too would be fixed with an up-to-date pyTivo.


Thanks. I just grabbed the pyTivo from the link in your signature and installed that over my current installation. It seems to work now. I must have done the previous installation incorrectly and been running an older version than I thought I was running, but since it was working with my Tivo HD, I had no reason to investigate.

Is there any way to see the version number or build date of the running instance of pyTivo? I don't see anything in the output on the console or in the Web configuration page that gives any clue. It would be nice to see a version number or build date somewhere.


----------



## Soapm

oregonman said:


> Thanks. I just grabbed the pyTivo from the link in your signature and installed that over my current installation. It seems to work now. I must have done the previous installation incorrectly and been running an older version than I thought I was running, but since it was working with my Tivo HD, I had no reason to investigate.
> 
> Is there any way to see the version number or build date of the running instance of pyTivo? I don't see anything in the output on the console or in the Web configuration page that gives any clue. It would be nice to see a version number or build date somewhere.


Now I really feel dumb, I never thought to look at the links in his signature.

"An implementation of TiVo's HME (Home Media Extensions) protocol"


----------



## lrhorer

dylanemcgregor said:


> I'm not sure I understand this. I start pyTivo through the start menu, not the command line.


Try it from the command line. In the mean time, there must be a command line option in the shortcut you are using. What is it?



dylanemcgregor said:


> What is stdout?


It is the default output stream for all messages from a foreground session. Stderr is the default output stream for all error messages (if separate from stdout) from a foreground session.



dylanemcgregor said:


> Is a separate log file supposed to be generated and put in the pytivo folder?


Not unless you are re-directing stdout and perhaps stderr to such a file, although it doesn't particularly have to be in the pytivo folder. I re-direct mine to /var/log/pytivo.log. Without knowing the command line, we can't really tell one way or the other whether your stdout and stderr are being redirected. One would not ordinarily expect so, but then one would definitely expect that in the absence of such redirection, one should see output in the CLI window.



dylanemcgregor said:


> I've been under the impression that the console window would generate output?


It should unless it has been redirected. Starting the session from the command line with a simple

python pytivo.py

(assuming `python` is the proper command to run Python and assuming the pyTivo script is named `pytivo.py`) from the directory containing pyTivo should guarantee it is not redirected.



dylanemcgregor said:


> The same as happens if I make a change in the web configuration. Maybe I've been misunderstanding?


'Sounds like you may have a few minor misconceptions, yes, or at least that you don't have a thorough understanding of how your PC works. That's OK. Many people do not.


----------



## lrhorer

Soapm said:


> Now I really feel dumb, I never thought to look at the links in his signature.
> 
> "An implementation of TiVo's HME (Home Media Extensions) protocol"


Huh?


----------



## wmcbrine

Soapm said:


> Ps.. I posted in this thread because the vidmgr thread id in developers corner and I didn't think I should be posting there.


No, post there, it's fine... that thread should probably be here, really.

The correct name for the package that jbernardis refers to as "pyhme" is "HME for Python".


----------



## dylanemcgregor

I probably need this in the 3rd grade version for most of this post.



lrhorer said:


> Try it from the command line. In the mean time, there must be a command line option in the shortcut you are using. What is it?


I followed the Wiki instructions pretty much exactly, the only place I varied from them is in where I put the pytivo folder. It wasn't working in the location specified in the wiki (I use W7 64bit) and another poster said that I had to put the folder somewhere else due to permission issues. So I created the folder in

C:\Users\Dylan\AppData\Roaming\pytivo

I don't think I did anything special to put a shortcut in the Start menu. Given that, how do I find the command line option? Right clicking gives options, but no command line option that I can see. The Open With option suggests I open with python.exe.



> It is the default output stream for all messages from a foreground session. Stderr is the default output stream for all error messages (if separate from stdout) from a foreground session.
> 
> Not unless you are re-directing stdout and perhaps stderr to such a file, although it doesn't particularly have to be in the pytivo folder. I re-direct mine to /var/log/pytivo.log. Without knowing the command line, we can't really tell one way or the other whether your stdout and stderr are being redirected. One would not ordinarily expect so, but then one would definitely expect that in the absence of such redirection, one should see output in the CLI window.


I haven't done anything I'm aware of that would have done this.



> It should unless it has been redirected. Starting the session from the command line with a simple
> 
> python pytivo.py
> 
> (assuming `python` is the proper command to run Python and assuming the pyTivo script is named `pytivo.py`) from the directory containing pyTivo should guarantee it is not redirected.


I want to be sure exactly what is meant by the command line in this context.

1) Go to run and type in 'cmd' to open the command line (commonly referred to as the "DOS Window"

If I type in python pytivo.py here I get "python is not recognized as an internal or external command, operable program, or batch file."

2) If I type in to the "Run" window I get a console window to open up briefly and then close.

3) I can open python as a command line interface but I get a "Syntax error:invalid syntax" typing that line.

The pytivo script is named pytivo.py And python seems to be the right command to run the command line interface for python (typing Python into Run opens up Python)

So what else am I missing/misunderstanding?


----------



## Iluvatar

dylanemcgregor said:


> I probably need this in the 3rd grade version for most of this post.
> 
> I followed the Wiki instructions pretty much exactly, the only place I varied from them is in where I put the pytivo folder. It wasn't working in the location specified in the wiki (I use W7 64bit) and another poster said that I had to put the folder somewhere else due to permission issues. So I created the folder in
> 
> C:\Users\Dylan\AppData\Roaming\pytivo
> 
> I don't think I did anything special to put a shortcut in the Start menu. Given that, how do I find the command line option? Right clicking gives options, but no command line option that I can see. The Open With option suggests I open with python.exe.
> 
> I haven't done anything I'm aware of that would have done this.
> 
> I want to be sure exactly what is meant by the command line in this context.
> 
> 1) Go to run and type in 'cmd' to open the command line (commonly referred to as the "DOS Window"
> 
> If I type in python pytivo.py here I get "python is not recognized as an internal or external command, operable program, or batch file."
> 
> 2) If I type in to the "Run" window I get a console window to open up briefly and then close.
> 
> 3) I can open python as a command line interface but I get a "Syntax error:invalid syntax" typing that line.
> 
> The pytivo script is named pytivo.py And python seems to be the right command to run the command line interface for python (typing Python into Run opens up Python)
> 
> So what else am I missing/misunderstanding?


If you are running pyTivo from the command prompt in Windows this is where your debug log information is going to be displayed (although I know you had issues with this earlier). Unless you are running a very old version of pyTivo that had log file options or know how to edit the Python code this is the way it is out of the box. Operating systems such as Linux can set this up differently.

1. Open your command prompt.
2. Type 


Code:


C:\Users\Dylan\AppData\Roaming\pytivo\pyTivo.py

 and press enter.

This will start pyTivo and accomplish what lhorer was trying to describe. It may be that the shortcut you have been using to start pyTivo is not correct in some way.


----------



## dylanemcgregor

Iluvatar said:


> If you are running pyTivo from the command prompt in Windows this is where your debug log information is going to be displayed (although I know you had issues with this earlier). Unless you are running a very old version of pyTivo that had log file options or know how to edit the Python code this is the way it is out of the box. Operating systems such as Linux can set this up differently.
> 
> 1. Open your command prompt.
> 2. Type
> 
> 
> Code:
> 
> 
> C:\Users\Dylan\AppData\Roaming\pytivo\pyTivo.py
> 
> and press enter.
> 
> This will start pyTivo and accomplish what lhorer was trying to describe. It may be that the shortcut you have been using to start pyTivo is not correct in some way.


Thanks. I did this and pytivo seems to launch fine in the same window. Same behavior as before though. Going to MyMovies on the TiVo doesn't generate any additional messages.

Is there a place I can find which version I'm using? It looks like I set this up on August 20th, and I would have downloaded the most recent version around the same time.


----------



## Iluvatar

dylanemcgregor said:


> Thanks. I did this and pytivo seems to launch fine in the same window. Same behavior as before though. Going to MyMovies on the TiVo doesn't generate any additional messages.
> 
> Is there a place I can find which version I'm using? It looks like I set this up on August 20th, and I would have downloaded the most recent version around the same time.


Not that I am aware of. Best bet if you are not sure is to re-download from the source.

http://repo.or.cz/w/pyTivo/wmcbrine.git

Perhaps you could try scrapping your existing install. Save your pyTivo.conf file and FFmpeg binary. Extract the latest pyTivo snapshot into C:\pyTivo put your pyTivo.conf and FFmpeg in there. Fire up your command prompt and type


Code:


C:\pyTivo\pyTivo.py

Double check that your firewall has these exceptions enabled (thanks to user lucasnz):
1. Allow TCP 9032
2. Allow UDP 5353 and 9032


----------



## dylanemcgregor

Iluvatar said:


> Not that I am aware of. Best bet if you are not sure is to re-download from the source.
> 
> http://repo.or.cz/w/pyTivo/wmcbrine.git
> 
> Perhaps you could try scrapping your existing install. Save your pyTivo.conf file and FFmpeg binary. Extract the latest pyTivo snapshot into C:\pyTivo put your pyTivo.conf and FFmpeg in there. Fire up your command prompt and type
> 
> 
> Code:
> 
> 
> C:\pyTivo\pyTivo.py
> 
> Double check that your firewall has these exceptions enabled (thanks to user lucasnz):
> 1. Allow TCP 9032
> 2. Allow UDP 5353 and 9032


Thanks. Will try when I get home tonight.


----------



## dylanemcgregor

Iluvatar said:


> Not that I am aware of. Best bet if you are not sure is to re-download from the source.
> 
> http://repo.or.cz/w/pyTivo/wmcbrine.git
> 
> Perhaps you could try scrapping your existing install. Save your pyTivo.conf file and FFmpeg binary. Extract the latest pyTivo snapshot into C:\pyTivo put your pyTivo.conf and FFmpeg in there. Fire up your command prompt and type
> 
> 
> Code:
> 
> 
> C:\pyTivo\pyTivo.py
> 
> Double check that your firewall has these exceptions enabled (thanks to user lucasnz):
> 1. Allow TCP 9032
> 2. Allow UDP 5353 and 9032


Was able to play with this for a few minutes this morning. I did what you suggested and downloaded the latest zip, extracted to c:\pytivo and copied the ffmpeg.exe and pytivo.conf into the new folder. I turned off the firewall and launched pytvio.py via the command line...and no change.

I then went in and thought I'd turn the firewall on and check the specific ports. They are indeed open. I also noticed that in the program access list pytivo was given access, but python wasn't. Didn't know if that mattered, but thought I'd try to turn it on anyway. After that I ran pytivo again, and got the below output when I tried to access MyMovies on TiVo.



Code:


C:\Users\Dylan>c:\pytivo\wmcbrine\pytivo.py
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: MyMovies
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.1.144 [12/Oct/2011 08:05:08] "GET /TiVoConnect?Command=Query
Formats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.144 [12/Oct/2011 08:05:09] "GET /TiVoConnect?Command=Query
Container&Container=MyMovies&SortOrder=Title&ItemCount=8&Filter=x-tivo-container
%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1"
 200 -


----------



## Iluvatar

dylanemcgregor said:


> Was able to play with this for a few minutes this morning. I did what you suggested and downloaded the latest zip, extracted to c:\pytivo and copied the ffmpeg.exe and pytivo.conf into the new folder. I turned off the firewall and launched pytvio.py via the command line...and no change.
> 
> I then went in and thought I'd turn the firewall on and check the specific ports. They are indeed open. I also noticed that in the program access list pytivo was given access, but python wasn't. Didn't know if that mattered, but thought I'd try to turn it on anyway. After that I ran pytivo again, and got the below output when I tried to access MyMovies on TiVo.
> 
> 
> 
> Code:
> 
> 
> C:\Users\Dylan>c:\pytivo\wmcbrine\pytivo.py
> INFO:pyTivo.beacon:Announcing shares...
> INFO:pyTivo.beacon:Registering: MyMovies
> INFO:pyTivo.beacon:Scanning for TiVos...
> INFO:pyTivo:pyTivo is ready.
> INFO:pyTivo:192.168.1.144 [12/Oct/2011 08:05:08] "GET /TiVoConnect?Command=Query
> Formats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFO:pyTivo:192.168.1.144 [12/Oct/2011 08:05:09] "GET /TiVoConnect?Command=Query
> Container&Container=MyMovies&SortOrder=Title&ItemCount=8&Filter=x-tivo-container
> %2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1"
> 200 -


That seems more like what you should see on startup. When you opened the folder was it still empty?


----------



## dylanemcgregor

Iluvatar said:


> That seems more like what you should see on startup. When you opened the folder was it still empty?


Yes.


----------



## lpwcomp

When pyTivo is running, what do you see if you open http://localhost:9032/ and click on "Web Configuration"?


----------



## caddyroger

Does Pytivo work with the Premiere Elite?


----------



## lpwcomp

I don't know for sure, but I don't see why it wouldn't. The only potential problem I can see is that it might not recognize the Elite is an HD.

Edit: Took a look at the code. Since an Elite TSN should begin with a "7" and any TiVo with a TSN that begins with "6" or greater (unless it begins with "649") is treated as HD, that shouldn't be an issue.


----------



## djwilso

caddyroger said:


> Does Pytivo work with the Premiere Elite?


I have been able to get pushes to work with my Elite, but I don't see the pyTiVo shares on the Elite whereas they do appear on my Series 3.

I can also go to the web interface and see the Now Playing List (My Shows) of the Elite and transfer a show from the Elite to the computer that way.

I am using a pyTiVo version from 2010, so tomorrow or Friday I'll see if I can update it. I need to update my Python from 2.6 to 2.7, so I'm sure it will be an adventure.

So, right now it is partially working. I don't have Windows firewall enabled on the Windows Server 2008 R2 (x64) where pyTiVo is running as a service.


----------



## dylanemcgregor

Iluvatar said:


> That seems more like what you should see on startup. When you opened the folder was it still empty?


Checked again this morning and my test videos suddenly appeared in MyMovies. Don't think I changed anything on my end. Transferring one now, and will check to see if everything went OK tonight. Thanks very much for all your help.


----------



## Iluvatar

dylanemcgregor said:


> Checked again this morning and my test videos suddenly appeared in MyMovies. Don't think I changed anything on my end. Transferring one now, and will check to see if everything went OK tonight. Thanks very much for all your help.


Glad to see something finally work for you. I wasn't sure what to do next


----------



## djwilso

djwilso said:


> I have been able to get pushes to work with my Elite, but I don't see the pyTiVo shares on the Elite whereas they do appear on my Series 3.


I am still seeing the same problem with seeing shares on the Premiere Elite.

I removed Python 2.6 and installed 2.7.2 (x64) on my Windows Server 2008 R2 machine.

I also got the latest pyTiVo (2011-08-18) from http://repo.or.cz/w/pyTivo/wmcbrine.git and updated that.

I enabled Debug in the pytivo.conf file and started it from the command line. I see this output:



Code:


INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: PC-1 Audio Podcasts
INFO:pyTivo.beacon:Registering: PC-1 Music
INFO:pyTivo.beacon:Registering: PC-1 Video Podcasts
INFO:pyTivo.beacon:Registering: PC-1 Videos
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.0.119 [17/Oct/2011 19:07:59] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.0.100 [17/Oct/2011 19:07:59] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -

The shares appear immediately on my Series 3, but do not appear on the Elite.

In the pyTiVo web page at http://pc-1:9032/, both TiVos are listed in the "Pull from TiVos" section.

Both TiVos are also in the drop-down list on the Push page and pushing works on the Elite.

I have restarted the Elite and pyTiVo numerous times with no change in behavior.

I installed TiVo Desktop on my laptop and its shares do appear on the Elite.

How can I troubleshoot the shares not appearing on the Elite?

Thank you.

EDIT: Included is my pytivo.conf file in case it will help.



Code:


[Server]
port=9032
debug=True
ffmpeg_pram=-threads 2
tivo_mak=<<redacted>>
ffmpeg=C:\Program Files\pyTivo\bin\ffmpeg.exe
temp=C:\Users\Public\Documents\pyTivo
tivodecode=C:\Program Files\pyTivo\bin\tivodecode.exe
tdcat=C:\Program Files\pyTivo\bin\tdcat.exe
beacon=192.168.0.255 listen
togo_path=C:\Users\Public\Videos\TiVo
tivo_username=<<redacted>>
tivo_password=<<redacted>>

[_tivo_SD]

[_tivo_HD]

[PC-1 Videos]
type=video
path=C:\Users\pyTiVo\Videos

[PC-1 Video Podcasts]
type=video
path=C:\Users\pyTiVo\Music\iTunes\iTunes Music\Podcasts

[PC-1 Music]
type=music
path=C:\Users\pyTiVo\Music

[PC-1 Audio Podcasts]
type=music
path=C:\Users\pyTiVo\Music\iTunes\iTunes Music\Podcasts


----------



## lrhorer

Well, I'm never a fan of covering up issues, rather than fixing them, but running vidmgr should side-step the issue. Vidmgr is so much better than the NPL that I recommend running it in any case, and in this case it will also allow you to queue pyTivo pushes from the TiVo itself. Indeed, one of the features of vidmgr is you can queue a pyTivo push to a TiVo other than the one on which you select the video to push.

If that's not clear, using vidmgr, you can select any video to push from any TiVo in the house and have it sent to any TiVo in the house.


----------



## jcthorne

Yes, use vidmgr. I have disabled display of pytivo files in the NPL entirely for the reasons lrhoror has stated. The presentation by vidmgr on the tivo is much more useful and user friendly.


----------



## djwilso

Can you provide a link to where I can look at vidmgr? I have not heard of it before.

Also, I use pyTivo *mostly* to play music on the TiVo. I really don't transfer that many videos from my computer to the TiVo.

If the music shares will not appear under "Music & photos", what can I do then?

Thank you.


----------



## wmcbrine

Any particular reason for that "beacon" line? If not, I'd take it out.

Beyond that, I don't know. I think others have reported pyTivo working with their Elites.


----------



## jcthorne

djwilso said:


> Can you provide a link to where I can look at vidmgr? I have not heard of it before.
> 
> Thank you.


Try this thread:

http://www.tivocommunity.com/tivo-vb/showthread.php?t=468466&highlight=vidmgr


----------



## djwilso

jcthorne said:


> Try this thread:
> 
> http://www.tivocommunity.com/tivo-vb/showthread.php?t=468466&highlight=vidmgr


Thanks. Will check it out.


----------



## Soapm

Is there a setting in wmcbrine fork to change the sorting of the NPL? My pytivo view doesn't seem to have a logical order and I would perhaps like to sort them alpha or at least have the folders before the lose files.


----------



## lpwcomp

Soapm said:


> Is there a setting in wmcbrine fork to change the sorting of the NPL? My pytivo view doesn't seem to have a logical order and I would perhaps like to sort them alpha or at least have the folders before the lose files.


Yes.


----------



## wmcbrine

Soapm said:


> My pytivo view doesn't seem to have a logical order


It's date-sorted. Just like it says on the screen. If you want it name-sorted, press "1". Unfortunately that only works at the top level, and leaves folders date-sorted on lower levels; to get alpha sorting everywhere, you have to use the "force_alpha" kluge.


----------



## jcthorne

If you would like better control and better presentation of your video collection on the tivo, suggest looking at vidmgr. It uses the HMO interface to present a much nicer view and then uses pytivo to push the video. For properly encoded video on Premiere units, this happens in better than real time allowing you to essentially watch any video on your server instantly.


----------



## Soapm

wmcbrine said:


> It's date-sorted. Just like it says on the screen. If you want it name-sorted, press "1". Unfortunately that only works at the top level, and leaves folders date-sorted on lower levels; to get alpha sorting everywhere, you have to use the "force_alpha" kluge.


That makes more sense and since I consolidated movies from 4 or 5 different locations to one external drive what I see is a mess... 

When you say date sorted, what date? Original air date maybe? Anyway to sort be original air date?


----------



## lpwcomp

If you make the file names of the form series name.SssEee.<whatvever>.<ext>, this will accomplish two things:

1. An Alpha sort will put them in order.

2. You can drag the entire folder to pyTivoMetaThis and it will generate Metadata for every file in the folder.

Even the TiVo does not sort by OAD. The choices are Alpha or record time. I usually put a default.txt file in every folder with time: OAD so that when I pull them to the TiVo, the record time is at least close to what it would have been if I had recorded them on the TiVo when first shown. The only problem is that record time is adjusted to local time so if I leave the OAD as the default yyyy-mm-ddT00:00:00Z, the record time ends up off by a day. If I change originalAirDate to the actual time, that is usually the next day and then OAD ends up off a day. As a compromise, I usually change the OAD so that the time is 23:00:00. That I can do via a mass edit. My only other option would be to edit each metadata file individually and put a time entry with the actual universal time of the original showing.

I realize that the previous paragraph may have confused most people so may be ignored if you wish.


----------



## lrhorer

jcthorne said:


> If you would like better control and better presentation of your video collection on the tivo, suggest looking at vidmgr. It uses the HMO interface


Actually, it's HME, not HMO. pyTivo employs HMO.



jcthorne said:


> to present a much nicer view and then uses pytivo to push the video. For properly encoded video on Premiere units, this happens in better than real time allowing you to essentially watch any video on your server instantly.


He has a TiVoHD. MPEG2 1080i videos will not quite transfer in real time on the THD, and 720p videos definitely will not. SD videos will, and using pyTivo push (with or without vidmgr), h.264 videos in a .mp4 container will transfer much faster than real time. I also would not quite say "instantly". There is a brief pause - up to a minute - before the video starts transferring.


----------



## lrhorer

lpwcomp said:


> If you make the file names of the form series name.SssEee.<whatvever>.<ext>, this will accomplish two things:
> 
> 1. An Alpha sort will put them in order.


I have four different naming conventions on my server. The first is for ordinary movies. They are simply named:

<MovieName> (Recorded <Day> <Date>, <Channel>).mp[4g]

Example: World According to Garp, The (Recorded Fri Jul 09, 2010, ENCR1H).mpg

The next is for movie franchises. Each franchise is collected into its own directory and all the names start with the same fragment, followed by the number in the series, followed by the remaining name:

<Prefix><Number><Suffix> (Recorded <Day> <Date>, <Channel>).mp[4g]

Example: Star Trek 02 II The Wrath of Khan (Recorded Mon Sep 05, 2011, MAXHD).mp4

Finally, while I don't have many TV series, I do have a few of them. Again, each is collected into its own directory. If it was a series that was not chronologically ordered series, like the original Star Trek, then I just have the series name followed by the episode name:

Example: Star Trek - Ultimate Computer (Recorded Sun Feb 10, 2008 KMYSDT).mp4

If it is a chronological series, though, like ER or Wings, then I add the Season and Episode numbers to the name:

Example: Frasier - S01 E12 - Miracle on Third or Fourth Street (Recorded Fri Dec 25, 2009, KABBDT).mp4



lpwcomp said:


> 2. You can drag the entire folder to pyTivoMetaThis and it will generate Metadata for every file in the folder.


I simply use the metafile created by kmttg when the video is transferred from the TiVo. I run a script against the metafile that adds a metafield whose value is based upon the record date, fixes the duplicates and incorrect names sometimes found in the metadata, and limits the number and type of genres found in the metafile.



lpwcomp said:


> I realize that the previous paragraph may have confused most people so may be ignored if you wish.


It was a bit breathless, yeah.


----------



## lrhorer

Soapm said:


> When you say date sorted, what date? Original air date maybe? Anyway to sort be original air date?


Yes, if you include the original air date in the name. Alternatively, if you use vidmgr 2.0, you can create a virtual share that sorts based upon any partitular field in the metafiles. If the original air date is in the metafile, vidmgr can sort the share by that value. For example, I have a script create a metafield with a metavalue that is derived from the recording date. The metavalue is created in such a way that the lower the number, the more recently the video was recorded. (This is no longer necessary in V2.0 of vidmgr, since he has included a way to invert the sort, but I don't feel like going back and re-doing all the metafiles.) Here is an example:



Code:


title : Frasier
seriesTitle : Frasier
episodeTitle : Goodnight, Seattle
originalAirDate : 2004-05-13T00:00:00Z
description : During an especially bumpy flight, Frasier tells a fellow passenger about his eventful past few weeks, which are recounted in a long flashback. Niles worries that his child will turn out like Daphne's brothers. Frasier finally gets everyone out of the apartment, and he and Charlotte bid each other a sad farewell. Daphne delivers her son.
callsign : KABBDT
seriesId : SH080939
vSeriesGenre : Comedy
vDirector : David Lee
vWriter : Joe Keenan
vWriter : Christopher Lloyd
recordDate : 11921336
...

 I then created a virtual share that is sorted on the record date, like so:



Code:


[Browse by Date]
values = all
sort = recordDate

The result? I have a share that displays all my videos with the most recently recorded ones at the top. When my family comes over, we often want to see, "What's new?" I also have shares that sort by series, by name, by actor, by director, by channel, etc. Using the example metafile above as a template, with vidmgr all one needs to do to create a virtual share for series sorted by series name and then original air date is the following:



Code:


[Browse by Series]
values = isEpisodic:true,True,TRUE
groupby = seriesTitle
sort = originalAirDate

For more discussions relating to vidmgr, why don't we take it to the vidmgr thread?


----------



## lpwcomp

In what way does Star Trek: TOS have no chronological order? Yes, there was some instance of them being show out of production order but so are other series. The standard naming convention of SnnEnn is still relevant.

If what you are saying is that there was no episode to episode continuity, while mostly true, it is not entirely accurate. A particular example is that "Mudd's Women" should be viewed before "I, Mudd".

For the most part, I prefer "pulls" to "pushes" because more of the Metadata is transferred to the TiVo. Whether anyone thinks this is the "wrong way" is entirely irrelevant to me. It's my preference.


----------



## Soapm

lpwcomp said:


> Even the TiVo does not sort by OAD.


Actually, Da Goon hooked that up a while back so my folders have been sorted by original air date http://www.tivocommunity.com/tivo-vb/showthread.php?p=6936250#post6936250



lpwcomp said:


> He has a TiVoHD. MPEG2 1080i videos will not quite transfer in real time on the THD, and 720p videos definitely will not. SD videos will, and using pyTivo push (with or without vidmgr), h.264 videos in a .mp4 container will transfer much faster than real time. I also would not quite say "instantly". There is a brief pause - up to a minute - before the video starts transferring.


All the shows I took off my S2DT are still in the Tivo wrapper and they transfer better than anything I've seen to date. I can transfer a 30 minute show in about 10 to 15 minutes which means not only can I transfer real time, I can skip the commercials...



lrhorer said:


> [Browse by Series]
> values = isEpisodic:true,True,TRUE
> groupby = seriesTitle
> sort = originalAirDate


Why can't this coding be inserted in the pytivo code except sort only with "sort = originalAirDate". I used MetaGenerator.exe to make meta files for all the shows and they all have an original air date.

I tried loading vidmgr a while back and abandoned that exercise as just too complicated for me.


----------



## lrhorer

lpwcomp said:


> In what way does Star Trek: TOS have no chronological order? Yes, there was some instance of them being show out of production order but so are other series. The standard naming convention of SnnEnn is still relevant.


Not so much. Not only were they aired out of order, but their plot lines were not serialized.



lpwcomp said:


> If what you are saying is that there was no episode to episode continuity, while mostly true, it is not entirely accurate. A particular example is that "Mudd's Women" should be viewed before "I, Mudd".


Well, since I and everyone I know well enough to invite over to my house have seen every episode of the original series several times, it really doesn't matter in what order they are viewed. With the exception of the solitary two part episode ( "The Menagerie" ), "I, Mudd" is the only episode that has anything more than a momentary referent to any previous episode, and even that is only invested in the character H.F. Mudd himself. What he did in "Mudd's Women" isn't really even relevant to the plot of "I, Mudd", and that episode stands perfectly well all by itself. The singular inter-relationship of that pair of episodes and the somewhat less tenuous link between the pilot episode ( "The Cage" ) and the aforementioned two part "The Menagerie" episode notwithstanding, I saw no reason to bother with episode sorting for that series, nor its first offspring, "Star Trek: The Next Generation". By contrast, series like ER have long strings of well serialized plot sequences involving specific characters in specific, chronological progression.



lpwcomp said:


> For the most part, I prefer "pulls" to "pushes" because more of the Metadata is transferred to the TiVo. Whether anyone thinks this is the "wrong way" is entirely irrelevant to me. It's my preference.


The features of vidmgr so far outweigh the few advantages of pulls (the more complete metadata being greatest among them) that I cannot recommend the use of pulls in favor of vidmgr. Add to that the fact on the S3 and THD, h.264 videos transfer as much or more than 4x faster than the same video coded in MPEG2 (not to mention the fact the h.264 files take up about 1/3 less space on the server), and I simply don't use the NPL at all, any more.

It's not a matter of "right" or "wrong". It is a matter of which feature set provides the greatest bang for the buck. The only major advantage the pull has over vidmgr is the more complete metadata set. That's a very small advantage compared to the advantages of vidmgr over a pyTivo pull. I never even look at the metadata on a file I have transferred from the server, nor do I expect most people do.

I do frequently make use of the push feature in the pyTivo web utility.


----------



## lrhorer

Soapm said:


> All the shows I took off my S2DT are still in the Tivo wrapper and they transfer better than anything I've seen to date. I can transfer a 30 minute show in about 10 to 15 minutes which means not only can I transfer real time, I can skip the commercials...


The container doesn't really make any difference to the transfer speed. Any .TiVo file will transfer at just about precisely the same speed if it is converted to .mpg. The .TiVo file is just a .mpg file with some simple encryption and some metadata added to it. SD video will indeed transfer just fine at better than real-time on the THD.

HD content, OTOH, will not. Even moderately low bandwidth 1080i MPEG2 material will usually take a bit longer to transfer to the TiVo HD than it does to watch, resulting in pauses if one starts to watch immediately. High bandwidth 1080i and especially 720p material hasn't a chance of transferring at real time on a THD. By comparison, if that 720p material is re-coded to h.264, then not only will it use up about 1/3 less space on the server, but a 30 minute 720p video will transfer to the TiVo using the pyTivo push utility in about 10 minutes. A 30 minute SD video coded as h.264 will transfer in less than 5 minutes.

The down side is transferring h.264 files via pyTivo pull takes a long time, so any h.264 files are probably limited to pushes only.



Soapm said:


> Why can't this coding be inserted in the pytivo code except sort only with "sort = originalAirDate". I used MetaGenerator.exe to make meta files for all the shows and they all have an original air date.


pyTivo works very differently from the way vidmgr does. It would no doubt be possible for pyTivo to inspect the metafile for keys to sort the data, but it does not. You could certainly request such a feature.



Soapm said:


> I tried loading vidmgr a while back and abandoned that exercise as just too complicated for me.


Since you just accomplished hacking a TiVo, I assure you it is not. Especially if you move forward with that Linux server, adding HME for Python and vidmgr are quite easy, although vidmgr has a *TON* of configurable features, so figuring out which ones you want to implement can take a while.


----------



## lpwcomp

You are correct in that it isn't right or wrong. It is also not a matter of "bang for the buck". It is a matter of personal preference. I could not care less what you recommend. The way you do it is the best way - for you. The way I do it is better - for me. For one thing, most of what I have on my computer is neither MP4 nor MPG. For another, I sometimes like to start watching something immediately. Can't do that with a push.


----------



## lpwcomp

Soapm said:


> Actually, Da Goon hooked that up a while back so my folders have been sorted by original air date http://www.tivocommunity.com/tivo-vb/showthread.php?p=6936250#post6936250


Ok. I guess I should have said an "Unmodded TiVo".



Soapm said:


> Why can't this coding be inserted in the pytivo code except sort only with "sort = originalAirDate". I used MetaGenerator.exe to make meta files for all the shows and they all have an original air date.


Well, for starters, it isn't code. It is entries that you place in the hmeforpython ini file. I suspect that the "code" tag was simply used to distinguish it from the text of the post.

Could this feature be implemented in pyTivo? Probably. Is it a simple matter of copying the actual code from vidmgr and inserting it into pyTivo? Um, no.



Soapm said:


> I tried loading vidmgr a while back and abandoned that exercise as just too complicated for me.


I installed it a couple of hours ago. Just doesn't do it for me. If I were going to use it, I would definitely need a different skin for it. I switched to the blue because the original skin kept making want to say "Isn't that a lovely window treatment."


----------



## jcthorne

lrhorer said:


> Actually, it's HME, not HMO. pyTivo employs HMO.
> 
> He has a TiVoHD. MPEG2 1080i videos will not quite transfer in real time on the THD, and 720p videos definitely will not. SD videos will, and using pyTivo push (with or without vidmgr), h.264 videos in a .mp4 container will transfer much faster than real time. I also would not quite say "instantly". There is a brief pause - up to a minute - before the video starts transferring.


You are of course correct, I get my HMs crossed.....

Funny on the delay. I have never seen that. By the time I navigate from the vidmgr menu to my shows, its already transferring and ready to watch from the begining. Watching pytivo in the console window, the delay while it communicates with mind.tivo.com is only a few seconds at worst, usually instant. The transfer to the tivo starts as soon as the mind.tivo.com exchange is complete....unless mind.tivo.com is down or I am having a network issue.


----------



## jcthorne

lpwcomp said:


> You are correct in that it isn't right or wrong. It is also not a matter of "bang for the buck". It is a matter of personal preference. I could not care less what you recommend. The way you do it is the best way - for you. The way I do it is better - for me. For one thing, most of what I have on my computer is neither MP4 nor MPG. For another, I sometimes like to start watching something immediately. Can't do that with a push.


Actually, yes, a push can. That is why vidmgr works. It presents all the metadata for display, more data than pytivo can display in the NPL, along with cover art and allows choosing a show to watch. For large collections, it provides vell structured menus and folders. Once selected, you got to My Shows, your selected show is there to watch. Now. Again, this only works for properly encoded files but it works very well. Well enough to make it worth having the shows in the correct format.

Oh, and yes, the default skin is not for me either but it was very easy to change to one of my own creation. THey are just static graphics files. You can even use ones very similar to tivo's own if you wanted.


----------



## lpwcomp

jcthorne said:


> Actually, yes, a push can. That is why vidmgr works. It presents all the metadata for display, more data than pytivo can display in the NPL, along with cover art and allows choosing a show to watch. For large collections, it provides vell structured menus and folders. Once selected, you got to My Shows, your selected show is there to watch. Now. Again, this only works for properly encoded files but it works very well. Well enough to make it worth having the shows in the correct format.


Aye, there's the rub. Most of the files on my PC aren't "properly encoded". One of the advantages of pyTivo over the way I was doing it before (convert to mpg using Videora TiVo converter, then using Tivo's s/w to d/l) is that I don't _*have*_ to re-encode them. What I would _really_ like is a faster processor but I don't see that happening anytime in the near future.

I have been pushing at least one show to the THD but vidmgr doesn't really buy me anything. The TiVo I would initiate the push from is @10' from my computer. I just have to turn around to access it. Unless there is a way to push from one TiVo directly to another, vidmgr doesn't help me.

Can't we just leave it as a point of personal preference? Must I hire some woman to run in and throw a sledge hammer at the screen?


----------



## lrhorer

jcthorne said:


> Funny on the delay. I have never seen that. By the time I navigate from the vidmgr menu to my shows, its already transferring and ready to watch from the begining.


Definitely not here. I just queued a transfer of a .mp4 video from the server to one of my S3 TiVos. It was 41 seconds before the video started transferring to the TiVo.



jcthorne said:


> Watching pytivo in the console window, the delay while it communicates with mind.tivo.com is only a few seconds at worst, usually instant.


Agreed. The delay is almost always after mind.tivo.com responds back to pyTivo. I don't think I have ever seen it take less than 10 sxeconds, but OTOH, if the server is up at all, I've never seen it take much more than 60 seconds.


----------



## lrhorer

lpwcomp said:


> Aye, there's the rub. Most of the files on my PC aren't "properly encoded".


If by "properly encoded", you mean h.264 in a .mp4 container, then neither are most of mine, at least not yet. If you mean in a format the TiVo can understand without transcoding, then the vast majority of mine are. Mostly, the only exceptions are my DVDs, but then SD material transcodes very quickly, so it is not an issue. For the rest there is a very simple solution. 'Simply fire up VideoRedo V4's batch manager, select a few dozen (or hundred) videos to recode to h.264, and let 'er rip.



lpwcomp said:


> One of the advantages of pyTivo over the way I was doing it before (convert to mpg using Videora TiVo converter, then using Tivo's s/w to d/l) is that I don't _*have*_ to re-encode them.


True, and until one gets around to re-coding the material, it can be nice that pyTivo can transcode on the fly. This is true whether one pulls or pushes, however.



lpwcomp said:


> I have been pushing at least one show to the THD but vidmgr doesn't really buy me anything.


This is simply not true. You may not require the features offered by vidmgr, but suggesting they do not exist is disingenuous.

1. Vidmgr sports 14 lines of video title compared with 8 in the NPL, and they are 54 characters wide, compared with 31 in the NPL.

2. It includes the description text on the very same page with the title. 'No need to drill into the title.

3. Vidmgr offers a far greater amount of information concerning the video, and it can be formatted and filtered to the user's taste.

4. It requires far fewer keystrokes to get where one wishes. Not only is far less drilling into additional menus required, but the ability to jump 10%, 20%, 30%, etc of the way down the list can save dozens or even hundreds of keystrokes, not to mention a vast amount of time.

5. The addition of virtual shares allows one to sort, format, and filter the contents of the real shares in a vast array of different ways. Group by the year the movie was made? 'Piece of cake. Show all the movies with a particular actor, director, or producer? 'A mere bag of shells. Sort by original air date? 'A trifle.

6. Custom backgrounds and other skin features.

7. Cover art.

8. Vastly faster transfers and significantly smaller videos when encoded as h.264.



lpwcomp said:


> Can't we just leave it as a point of personal preference?


It is a matter of personal preference whether you take advantage of the advanced features offered by vidmgr. It is not a matter of personal anything that those features exist.

Let's take this over to the vidmgr thread, shall we?


----------



## lrhorer

jcthorne said:


> Now. Again, this only works for properly encoded files but it works very well. Well enough to make it worth having the shows in the correct format.


Um, no, pyTivo will happily push a video in any format, transcoding it on the fly, just as it will any pull. The increased speed, especially on a TiVo HD is well worth the trouble of recoding the videos, and saving 30% on disk space on the server is nothing at which to sneeze, either.



jcthorne said:


> Oh, and yes, the default skin is not for me either but it was very easy to change to one of my own creation. THey are just static graphics files. You can even use ones very similar to tivo's own if you wanted.


Again, we should take discussions specific to vidmgr over to that thread. I've posted some screenshots using some simple custom skins there.


----------



## lpwcomp

By all means, take your "discussion" to the vidmgr thread. I won't be joining you. Your opinion that vidmgr is superior in all ways is just that, *your* opinion. It is not an objective evaluation.

I was hardly being "disingenuous";vidmgr doesn't get me anything that *I* need. *I* like the additional metadata you get on the TiVo with a pull. *I* like not having to convert everything but still be able to start watching it before the transfer is complete.

Do I like _*some*_ of the features of vidmgr? Absolutely. But *for me*, those features are outweighed by the differences between a pull and a push.


----------



## lrhorer

lpwcomp said:


> By all means, take your "discussion" to the vidmgr thread. I won't be joining you. Your opinion that vidmgr is superior in all ways is just that, *your* opinion. It is not an objective evaluation.


It most certainly is. Vidmgr offers no fewer than 8 important features not found in the NPL or pyTiVo's web utility. By comarison, the NPL only allows for more in-depth metadata after transfer, but severely limited metadata prior to transfer. Unless I have forgotten how to count, 8 is a lot more than 1. Not only that, but I argue the features themselves are much more important to most people than the one partial advantage of the pull. You seem to have a real woody for pulling up the metadata on a video you just transferred yourself to the TiVo. Are you not able to remember what it is you just transferred? (BTW, this is just as easily done by pulling up the metadata in vidmgr, rather than on the TiVo, and having done so you would have access to much more information than that transferred by the pull.)



lpwcomp said:


> I was hardly being "disingenuous";vidmgr doesn't get me anything that *I* need. *I* like the additional metadata you get on the TiVo with a pull.


You said that. I acknowledged it.



lpwcomp said:


> *I* like not having to convert everything but still be able to start watching it before the transfer is complete.


Are you being deliberately obtuse? This is not an advantage of pulls. We've told you that, more than once.



lpwcomp said:


> Do I like _*some*_ of the features of vidmgr? Absolutely. But *for me*, those features are outweighed by the differences between a pull and a push.


It is not "differences". It is a single difference on the side of pushes not available with pulls. One. Not two. Not several. One. Somewhat more extensive metadata. That's it. It isn't even a whole difference, since some metadata is transferred with the push, and since the pull does not transfer all the metadata, either.

Pulls, OTOH, offer several advantages over pushes, even without the advantages of vidmgr:

1. Native h.264 support with vastly faster transfers.

2. The ability to create folders on the TiVo.

3. The ability to queue transfers from locations other than the receiving TiVo.

Meanwhile, please explain to me how this:









is superior to this:


----------



## lpwcomp

lrhorer said:


> It most certainly is. Vidmgr offers no fewer than 8 important features not found in the NPL or pyTiVo's web utility. By comarison, the NPL only allows for more in-depth metadata after transfer, but severely limited metadata prior to transfer. Unless I have forgotten how to count, 8 is a lot more than 1. Not only that, but I argue the features themselves are much more important to most people than the one partial advantage of the pull. You seem to have a real woody for pulling up the metadata on a video you just transferred yourself to the TiVo. Are you not able to remember what it is you just transferred? (BTW, this is just as easily done by pulling up the metadata in vidmgr, rather than on the TiVo, and having done so you would have access to much more information than that transferred by the pull.)


Features important to you. NOT TO ME. Do you not understand that? Why do you have this overwhelming need to have everyone agree with you?



lrhorer said:


> Are you being deliberately obtuse? This is not an advantage of pulls. We've told you that, more than once.


You cannot start watching a pushed program until it completes transfer unless it is in a compatible format. _*You*_ have been told that repeatedly. It just doesn't get impinged on your memory since it doesn't affect you and thus isn't a valid consideration.



lrhorer said:


> It is not "differences". It is a single difference on the side of pushes not available with pulls. One. Not two. Not several. One. Somewhat more extensive metadata. That's it. It isn't even a whole difference, since some metadata is transferred with the push, and since the pull does not transfer all the metadata, either.


As noted above, that is at least two differences. Want another one? OK. Pulled shows are grouped with shows in the same series that were recorded by the TiVo. Pushed ones are not. Also, even if there is no recorded episode, if the series is currently being shown, the "Explore this show/program" option is available.



lrhorer said:


> Pulls, OTOH, offer several advantages over pushes, even without the advantages of vidmgr:
> 1. Native h.264 support with vastly faster transfers.


Very little of what I have is in h.264 or any other natively supported format.



lrhorer said:


> 2. The ability to create folders on the TiVo.


Works for pulls also, on a Premiere. Well, at least on _*my*_ Premiere. Just to be clear, I am talking about pulling different files which have the same _*made up*_ seriesID in the metadata and having them grouped together(i.e., in the same "folder") in the Premiere VPL.



lrhorer said:


> 3. The ability to queue transfers from locations other than the receiving TiVo.


As I said, this isn't an advantage _*for me*_ since the TiVo from which I would be initiating the push is co-located with my computer. Since you can't push directly from one TiVo to another, it is far easier _*for me*_ to do it via kmttg.



lrhorer said:


> Meanwhile, please explain to me how this:
> 
> 
> 
> 
> 
> 
> 
> 
> 
> is superior to this:


When did I make any such claim? You are the one touting the absolute superiority of vidmgr for everyone in all circumstances. And guess what? Since I have installed vidmgr (or did you not notice that?), _*both*_ are an option for me. And, at least on the THD, the former is easier to get at. On the Premiere, I am using the HD menus so there is very little of the metadata available unless I switch to the SD menus or I transferred a .tivo file.


----------



## Phantom Gremlin

lrhorer said:


> Meanwhile, please explain to me how this:
> ... TiVo image ...
> is superior to this:
> ... vidmgr image ...


I can easily read TiVo text from the couch across the room. The vidmgr text looks more like a bad eye test.

Hopefully it's configurable for a larger font.


----------



## Soapm

Phantom Gremlin said:


> I can easily read TiVo text from the couch across the room. The vidmgr text looks more like a bad eye test.
> 
> Hopefully it's configurable for a larger font.


Taste great... Errr... Mines is bigger... I forget which discussion this is...???


----------



## lpwcomp

Phantom Gremlin said:


> I can easily read TiVo text from the couch across the room. The vidmgr text looks more like a bad eye test.
> 
> Hopefully it's configurable for a larger font.


Hoping that this will the last post I make about vidmgr in this thread.

As far as I can tell, the only text whose size can be changed is the description text that appears in the upper right when the cursor is on a file It is changed via a "descsize=nn" entry in the ini file. The default size is 20.


----------



## bgc

How do you get pushed .tivo files to show the date the program was recorded on instead of the date the file was pushed in the NPL of the Tivo?

I've got some .tivo files that won't go into proper groups unless they are pushed, but they all show the same date instead of the date each was recorded on.

Thanks


----------



## wmcbrine

I don't think it's possible to control the date on a push, sorry. (Or rather... it's probably possible, but we don't know how.)


----------



## bgc

Ok. Is it possible to force .tivo files into groups when the file transfer from pc to Tivo is requested from the NPL on the Tivo itself?


----------



## wmcbrine

Grouping of .tivo files is done based on their internal seriesIds. If they're not grouping, it's because the seriesId record has expired, or was never present.

Recently some people have claimed that even a pull will group on an arbitrary, invalid seriesId, at least with some recent version of the TiVo software. I haven't tried to reproduce that yet. If you want to try that, you'll have to decrypt the .tivo files to plain .mpg first, then make appropriate metadata files for them -- the metadata within a .tivo file will override what the HMO server reports, so you can't use external pyTivo-style metadata files to override the seriesId within the .tivo files. Alternatively, you could decrypt the .tivo files, then rebuild them with new metadata. (I don't recommend this and I'm not going to explain how to do it.)

However, if the group-on-pull-of-invalid-seriesId were true for your system, I have to assume you'd be seeing it already anyway, since a seriesId that wasn't in the cache should be treated the same as an invalid one. Shouldn't it? I'd think so, but like I say, I haven't explored this.


----------



## Soapm

I have some ISO files stored on my computer. Anyway to stream them directly to the Tivo or do I have to convert them to another format first.


----------



## bgc

wmcbrine said:


> Recently some people have claimed that even a pull will group on an arbitrary, invalid seriesId, at least with some recent version of the TiVo software. I haven't tried to reproduce that yet. If you want to try that, you'll have to decrypt the .tivo files to plain .mpg first, then make appropriate metadata files for them


Is it possible to use tivodecode to decrypt .tivo files already on the pc or does it only work when pulling files from the Tivo?


----------



## innocentfreak

I have noticed that my shows have stopped grouping when pushing. After researching it a bit, I found that theTVDB is now changing all the zap2it ID #'s from the SH# to the EP# that zap2it has on their webpage. 

Would this be the reason?


----------



## Iluvatar

Soapm said:


> I have some ISO files stored on my computer. Anyway to stream them directly to the Tivo or do I have to convert them to another format first.


I suppose you could mount the image first. If it contains individual video files you can point a pyTivo share at the drive/folder where it is mounted. If it is a DVD image you could use the lucasnz pyTivo fork coupled with his dvdvideo plugin to view the DVD on your TiVo without conversion.


----------



## lpwcomp

innocentfreak said:


> I have noticed that my shows have stopped grouping when pushing. After researching it a bit, I found that theTVDB is now changing all the zap2it ID #'s from the SH# to the EP# that zap2it has on their webpage.
> 
> Would this be the reason?


Somebody decided that theTVDB was supposed to be using the EP# and did a mass update.


----------



## innocentfreak

lpwcomp said:


> Somebody decided that theTVDB was supposed to be using the EP# and did a mass update.


Right I get that. My question is this why the shows are no longer grouping for me?


----------



## lpwcomp

innocentfreak said:


> Right I get that. My question is this why the shows are no longer grouping for me?


That I don't know unless the TiVo treats the EP prefix differently.

What I do know is the mass update was made by an administrator based on the input of _*one*_ user, aptly named "fiasco". I have expressed my displeasure by a posting in the thread on the tvDB forum that led to it.


----------



## lpwcomp

Where exactly on the zap2it website do you see the series ID?


----------



## wmcbrine

bgc said:


> Is it possible to use tivodecode to decrypt .tivo files already on the pc


Yes.


----------



## dlfl

lpwcomp said:


> That I don't know unless the TiVo treats the EP prefix differently.
> 
> What I do know is the mass update was made by an administrator based on the input of _*one*_ user, aptly named "fiasco". I have expressed my displeasure by a posting in the thread on the tvDB forum that led to it.


That thread is here:
http://forums.thetvdb.com/viewtopic.php?f=5&t=7819
for those who want to follow the gory details.

Going to be interesting to see how the theTVDB.com operators respond to the complaint. It appears that tivo metadata still uses the SH numbers, or will this change for series that originate after the change? Or is the SH number only retained on YOUR tivo if it established the ID number for a group PRIOR to the zap2it change? (i.e., if you start a group now, will it use the EP number?)


----------



## dlfl

lpwcomp said:


> Where exactly on the zap2it website do you see the series ID?


If there is a simple answer to this, I don't know it. I did some searching and all I came up with was the (very old) post on this forum:
http://www.tivocommunity.com/tivo-vb/showthread.php?p=5740125#post5740125

It appears this info is still correct, however. I went to zap2it.com and brought up the data for an episode of hawaii-five-0. The url included:

EP012800630031

If you apply the rule suggested by the linked post (remove the last four numerals), you get: EP01280063

If you strip the leading zero this is a 7-digit number. The pyTivo wiki says for seriesId:


> Usually starts with "SH" and followed by 6-8 digits


Thus the question still remains: How many of the leading zeros do you strip from the EP number to get the SH number TiVo will like? It would be nice if the answer is: "all of them".

I'm still curious where TiVo gets the SH numbers?


----------



## audiodane

wmcbrine said:


> Grouping of .tivo files is done based on their internal seriesIds. If they're not grouping, it's because the seriesId record has expired, or was never present.


Do you mean by that statement that even if you have recorded items within your Tivo to a "valid show", once that show is no longer in the listing data, you can no longer group to it?

For instance, "A Night At the Movies" is currently hosted on TCM. I'm recording one tonight on each Tivo to get it's SHxxxxx in each Tivo. Then I plan on doing PULLs of various recordings I have to taht SHxxxx number to group. I will then delete the originally recorded episode.

If in a few months that show is nowhere in sight within the listing, will I be able to PULL new content into that group?

thanks in advance,
..dane


----------



## lpwcomp

dlfl said:


> If there is a simple answer to this, I don't know it. I did some searching and all I came up with was the (very old) post on this forum:
> http://www.tivocommunity.com/tivo-vb/showthread.php?p=5740125#post5740125
> 
> It appears this info is still correct, however. I went to zap2it.com and brought up the data for an episode of hawaii-five-0. The url included:
> 
> EP012800630031
> 
> If you apply the rule suggested by the linked post (remove the last four numerals), you get: EP01280063
> 
> If you strip the leading zero this is a 7-digit number. The pyTivo wiki says for seriesId:
> 
> Thus the question still remains: How many of the leading zeros do you strip from the EP number to get the SH number TiVo will like? It would be nice if the answer is: "all of them".
> 
> I'm still curious where TiVo gets the SH numbers?


The fact that the EP number has four additional digits makes it even more likely that this is an _episode_ ID and that SH is still the correct prefix for a _series_ ID. Although it appears that the URL for the general show data is also EP. So now the questions become - is this a recent change in zap2it, is it internal only, is the SH prefix added by TiVo or is it in the data that TiVo gets from Tribune?

_*Grimm*_, which premiered on Friday, got an SH series ID on the TIVo. I would be shocked if TiVo ever started using the EP prefix for series ID. If you read the entire thread, initially Mr. fiasco was complaining about missing series IDs. Then he didn't like the fact that the SH ids didn't match what he was seeing on zap2it and convinced the admin that EP was the correct prefix.

Another thing about this change is that there was NO announcement of it in the announcements section of the tvDB forum.

This is probably not the proper thread for this discussion. Maybe some TCF admin should start a new thread somewhere and move the relevant posts.

There are two things relevant to this thread:

1. I pushed two episodes of a series to my THD and they are grouped together. However, the series ID is neither SH nor EP. It is BS. No, really. And the numeric part bears no resemblance to anything I see on tvDB.

2. A pull gets them in the correct group if the metadata has an SH series ID and the TiVo recognizes it or it is a Premiere. On the THD, I'm seeing some ..odd.. behavior on groupings for pulls.


----------



## innocentfreak

lpwcomp said:


> There are two things relevant to this thread:
> 
> 1. I pushed two episodes of a series to my THD and they are grouped together. However, the series ID is neither SH nor EP. It is BS. No, really. And the numeric part bears no resemblance to anything I see on tvDB.
> 
> 2. A pull gets them in the correct group if the metadata has an SH series ID and the TiVo recognizes it or it is a Premiere. On the THD, I'm seeing some ..odd.. behavior on groupings for pulls.


So on your push you had only a number and no SH or EP? If so their proposal of using only the number would work since grouping is my main intention.


----------



## audiodane

innocentfreak said:


> So on your push you had only a number and no SH or EP? If so their proposal of using only the number would work since grouping is my main intention.


FWIW, years ago I did PUSH grouping and indeed I could make up anything I wanted to. I think one of my first seriesId's was "TestID" and things grouped to it perfectly fine (on a push). Of course, not a Pull. This was on an old S2 (540), back in the 2008 timeframe.

I didn't like how little metadata was coming through on a Push, so I started doing Pull's instead. Limits my grouping capability, but gets more metadata. I've long since forgotten the seriesId I used back then, so I can't get any more files into that group. Thus my question above- if I get a new one for Pull's, in three years can I continue adding to it even if the original show is long-since-dead, or will I be out of luck then too?

thanks,
..dane


----------



## lpwcomp

innocentfreak said:


> So on your push you had only a number and no SH or EP? If so their proposal of using only the number would work since grouping is my main intention.


It was "BS" followed by numbers. And it doesn't appear to me that it is coming from tvDB.

Example:

BS589177614 Revenge


----------



## dlfl

lpwcomp said:


> It was "BS" followed by numbers. And it doesn't appear to me that it is coming from tvDB.
> 
> Example:
> 
> BS589177614 Revenge


It isn't coming from theTVDB. Using metagenerator 3 you can see theTVDB is returning EP01419525 for Revenge.


----------



## lpwcomp

dlfl said:


> It isn't coming from theTVDB. Using metagenerator 3 you can see theTVDB is returning EP01419525 for Revenge.


Yes, I knew that. It also doesn't look like anything _else_ in the theTVDB record.


----------



## kellyet

Hi everybody..

.. on the german wiki page the program transcode server from realtek is mentioned. It should decode files in order to view it with the media player (via stream). I downloaded this peace of software, but I don´t know how to use it and I couldn´t find any documention. Does someone have experince with it or knows another tool which supports that feature?

Thanks a lot for your help..


----------



## wmcbrine

audiodane said:


> Do you mean by that statement that even if you have recorded items within your Tivo to a "valid show", once that show is no longer in the listing data, you can no longer group to it?


I'd think that the TiVo would keep the cached seriesIds for any recordings that were still on the drive, but I wouldn't swear to that. I have seen old recordings lose some of their metadata IIRC.


----------



## audiodane

wmcbrine said:


> I'd think that the TiVo would keep the cached seriesIds for any recordings that were still on the drive, but I wouldn't swear to that. I have seen old recordings lose some of their metadata IIRC.


Yea, I realized yesterday that I could just pull the seriesId values on that Tivo, try to PULL something else with that same ID, and see if it still groups. I know for a fact that that ID value is no longer on the air (for several years now).

When I have a chance to test, I'll report back.

..dane


----------



## Soapm

wmcbrine said:


> I'd think that the TiVo would keep the cached seriesIds for any recordings that were still on the drive, but I wouldn't swear to that. I have seen old recordings lose some of their metadata IIRC.


My old S2 had Barney Miller episodes on it since 2007. I haven't seen them in the guide since then. Now that I've moved them the folder on my TivoHD doesn't have a title. Just the number of episodes in the folder. I suspect you're correct...


----------



## lpwcomp

I have added code to my copy of pyTiVoMetaThis that will hopefully handle the series ID issue in theTVDB whether they leave them EP, change to all numeric, or change back to SH.

The code I added is:



Code:


                        if ( tvTag == 'seriesId' ):
                                if ( text.startswith('EP') ):
                                        text = text.lstrip('EP') # strip off leading 'EP' if there is one
                                if (len(text) == 10):
                                        if ( text.startswith('SH00') ):
                                                text = text.lstrip('SH00') # for 'SH00nnnnnn'
                                if ( str(text).isdigit() ): # if remaining is numeric
                                        textint = int(text)
                                        if ( textint <= 1026171 ): # not 8 digit format (unknown if this upper bound is correct)
                                                text = text.lstrip('0') # strip leading zeros
                                                if ( textint < 1000000 ): # must be at least 6 digits
                                                        text = text.zfill(6)
                                        text = "SH" + text # add leading 'SH' to numeric ID

I added it after:


Code:


                        if ( tvTag == 'time' ):
                                text = 'time: OAD'

Note: In Python, leading spaces in the code are significant.

While it appears to work correctly and should handle any of the three formats they are considering, I can't guarantee that it's the best way to do it. I haven't written _any_ code in years and have _never_ done any Python.

I also don't know if the upper bound for less than 8-digit ids is correct nor if there are exceptions.


----------



## dlfl

lpwcomp said:


> I have added code to my copy of pyTiVoMetaThis that will hopefully handle the series ID issue in theTVDB whether they leave them EP, change to all numeric, or change back to SH.
> .............While it appears to work correctly and should handle any of the three formats they are considering, I can't guarantee that it's the best way to do it. I haven't written _any_ code in years and have _never_ done any Python.
> ......


So your assuming that:

1. All theTVDB.com ID's are two letters ("SH" or "EP") followed by 8 digits.
2. ID's that start with "SH" and 2 leading zeros, should be converted to "SH" followed by 6 digits (i.e., removing the 2 leading zeros)

Is that correct? (Ignoring the "upper limit" issue for now.)
If so, how did you deduce this from that thread in theTVDB forum? It wasn't clear to me that they had finalized on anything.

Also, I'm wondering whether the case of "EP" followed by two leading zeros shouldn't receive the same treatment as "SH" followed by two leading zeros?


----------



## lpwcomp

dlfl said:


> So your assuming that:
> 
> 1. All theTVDB.com ID's are two letters ("SH" or "EP") followed by 8 digits.


No, some of them are still the old style SH[6 or 8 digits leading 0 filled, or 7 digits no leading 0] .



dlfl said:


> 2. ID's that start with "SH" and 2 leading zeros, should be converted to "SH" followed by 6 digits (i.e., removing the 2 leading zeros)
> 
> Is that correct? (Ignoring the "upper limit" issue for now.)
> If so, how did you deduce this from that thread in theTVDB forum? It wasn't clear to me that they had finalized on anything.
> 
> Also, I'm wondering whether the case of "EP" followed by two leading zeros shouldn't receive the same treatment as "SH" followed by two leading zeros?


Let me see if I can explain it in English even though I loathe Cobol. The following reflects code changes that I haven't yet posted

A leading EP will be removed. If the seriesId is 10 characters long and begins with SH00, that will be removed. If it doesn't begin with either of those, it will be taken as is. Blast it, just realized this won't handle the case of them changing one that is SH followed by 7 digits by adding a loading 0. I'll just have to get to the numeric part and recreate it.

If what remains is numeric, that is when the limits come in. If the value is <= the upper limit, leading zeros will be removed. If the value is also < 1000000(note 1), it will be leading zero filled to 6 digits. We now have a string that is 6,7, or 8 digits long. An SH will be added to the beginning of this string.

I am assuming that if the ID in theTVDB is not of the form EPn, SHn(note 2) or n, it is correct or uncorrectable. Although maybe I need to revisit the code and not remove the EP or SH if the remainder is not numeric, but theoretically that shouldn't happen. I am also assuming that if the numeric portion has a value greater than the upper limit, it will have a leading 0 if there is supposed to be one.

My reading of the discussion at theTVDB forum is that they are looking at 3 options: Leaving things as they are now, going back to the SH form or going to a strictly numeric form. I think my code will handle any of those or a mixture, even if they return to the SH form but leading zero fill it to 8 digits.

note 1. I had error in the code that I have corrected.

note 2. Logic error. Some IDs that begin SH0 may not be correct. Corrected code in next post.


----------



## lpwcomp

new code:



Code:


                        if ( tvTag == 'seriesId' ):
                                texttmp = text
                                if ( texttmp.startswith('EP') ):
                                        texttmp = texttmp.lstrip('EP') # strip off leading 'EP' if there is one
                                if ( texttmp.startswith('SH') ) :
                                        texttmp = texttmp.lstrip('SH') # same for SH
                                if ( str(texttmp).isdigit() ): # if remaining is numeric
                                        textint = int(texttmp)
                                        if ( textint <= 1026171 ): # not 8 digit format (unknown if this upper bound is correct)
                                                texttmp = texttmp.lstrip('0') # strip leading zeros
                                                if ( textint < 1000000 ): # must be at least 6 digits
                                                        texttmp = texttmp.zfill(6)
                                        
                                        text = "SH" + texttmp # add leading 'SH' to numeric ID


----------



## lpwcomp

To summarize, I made the following assumptions with the latest version:

1. If the seriesId obtained from theTVDB is not numeric and it doesn't begin with EP or SH, it can't be fixed.

2. If the portion after the EP or SH is not numeric, it can't be fixed.

3. If the numeric portion is < 1000000, the correct format is SH followed by 6 digits.

4. If the numeric portion is >= 1000000 and <= 1026171, the correct format is SH followed by 7 digits.

5. If the numeric portion is > 1026171, the correct format is SH followed by the numeric _string_ as it was obtained from theTVDB.

6. Any seriesId that can't be fixed should be kept as is.


----------



## dlfl

lpwcomp said:


> .......4. If the numeric portion is >= 1000000 and <= 1026171, the correct format is SH followed by 7 digits.
> ..........


Where does this number come from? I searched both this thread and the one on theTVDB.com forum and the only place I found "1026171" was the three recent posts by you in this thread. (?)

I understand you said you're not sure about this limit, but what is the basis for saying there is such a limit?


----------



## lpwcomp

dlfl said:


> Where does this number come from? I searched both this thread and the one on theTVDB.com forum and the only place I found "1026171" was the three recent posts by you in this thread. (?)
> 
> I understand you said you're not sure about this limit, but what is the basis for saying there is such a limit?


This.


----------



## lpwcomp

What would be nice is if we could get someone at theTVDB to execute SQL something like:

Select max(zap2itid) from _whatevertableitsin_ where zap2itid like 'SH1%';

Especially if they could do it on a copy of the DB made prior to the mass update.


----------



## dlfl

lpwcomp said:


> What would be nice is if we could get someone at theTVDB to execute SQL something like:
> 
> Select max(zap2itid) from _whatevertableitsin_ where zap2itid like 'SH1%';
> 
> Especially if they could do it on a copy of the DB made prior to the mass update.


What would really be nice is if someone at TiVo would spend a paragraph or two (or a code snippet) to explain this.... but that's pie in the sky.


----------



## dlfl

dlfl said:


> Where does this number come from? I searched both this thread and the one on theTVDB.com forum and the only place I found "1026171" was the three recent posts by you in this thread. (?)
> 
> I understand you said you're not sure about this limit, but what is the basis for saying there is such a limit?





lpwcomp said:


> This.


Yep, I had figured this out just before you posted, by reading through the entire thread on theTVDB.com forum and viewing the linked text file. For the benefit of others, the last item in this file, which is sorted by ascending ID number, is a show with SH1026171. Thus the file is a proof of existence of 7-digit SH numbers at least that high. And we also have specific examples of SH numbers greater than that with a leading zero and 8 digits, which you and I have verified with our tivo TTG transfers. What a pain this is. I hope they don't plan to change this very often.


----------



## dlfl

Huhh ??

I was using Metagenerator 3 to look at ID's returned by theTVDB.com, trying to see if I could push the 7-digit SH number limit higher than SH102671. I found "Breaking Bad" returning "SH01009396", which is 8-digits and BELOW the limit.

"Breaking Bad" is also on the list linked a few posts above by lpwcomp, but with the ID = "SH1009396", i.e., WITHOUT the leading zero.

Is there actually any solid info regarding this issue?


----------



## lpwcomp

Does anyone have an episode of Breaking Bad that they actually recorded on their computer?

The following paragraph is all IMHO:

This is not TiVo's fault. I suspect they used what they got from TMS. TMS probably switched to 7 digits for a while and has now switched to 8. For existing series, TiVo is mapping the eight digit ids back to what they initially got so that episodes remain grouped together. Can you imagine the screams from the user community if they _*didn't*_ do this?

BTW, during the discussion on theTVDB forum, it came out that TMS is still providing the SH seriesId. That both the SH and EP are available.


----------



## dlfl

lpwcomp said:


> Does anyone have an episode of Breaking Bad that they actually recorded on their computer?


I would record it but I'm on TWC and all channels except locals are copy protected so no TTG (or MRV).

Still wondering if the ID they get will depend on whether they already have recordings on their TiVo made before the zap2it changes.


----------



## lpwcomp

dlfl said:


> Huhh ??
> 
> I was using Metagenerator 3 to look at ID's returned by theTVDB.com, trying to see if I could push the 7-digit SH number limit higher than SH102671. I found "Breaking Bad" returning "SH01009396", which is 8-digits and BELOW the limit.
> 
> "Breaking Bad" is also on the list linked a few posts above by lpwcomp, but with the ID = "SH1009396", i.e., WITHOUT the leading zero.
> 
> Is there actually any solid info regarding this issue?


Not that I am aware of, thus the caveat in my initial code post.

What is in theTVDB is really not relevant except that it means that it is probably not an accurate source for the upper limit. The important thing is - what does TiVo use?


----------



## lpwcomp

dlfl said:


> I would record it but I'm on TWC and all channels except locals are copy protected so no TTG (or MRV).


You should still be able to determine seriesId using the program that wcmbrine wrote.



dlfl said:


> Still wondering if the ID they get will depend on whether they already have recordings on their TiVo made before the zap2it changes.


Extremely unlikely.


----------



## dlfl

lpwcomp said:


> You should still be able to determine seriesId using the program that wcmbrine wrote.
> ........


LOL, I was one of the first users of that program -- then forgot completely about it. I got it going again but nothing on my TiVo now has an ID number in the magic gap, and using MG3 and my program guide I can't find anything to record tonight that falls in the gap. My tivo shows no episodes of Breaking Bad in the next 12 days.


----------



## innocentfreak

I would imagine that you could verify if Breaking Bad was changed by searching season pass alerts. I think when the series ID has changed this is what has required users to create a new season pass. 

I remember years ago this was fairly prevalent but it then went away. There was a time when several season passes just broke over night and the only fix was to recreate the season pass.


----------



## lpwcomp

dlfl said:


> LOL, I was one of the first users of that program -- then forgot completely about it. I got it going again but nothing on my TiVo now has an ID number in the magic gap, and using MG3 and my program guide I can't find anything to record tonight that falls in the gap. My tivo shows no episodes of Breaking Bad in the next 12 days.


I've been using it quite a bit over the last day or so. It's how I determined that pushed shows are getting those weird seriesIds. tivo.mind apparently uses some arcane formula involving metadata seriesId, seriesTitle and title. I guess you could say it has a - mind of its own.

My other recent use of it was one reason I was so peeved at the recent mass update to theTVDB. I had updated 8-10 records by hand for new series using the seriesIds I got using the program, only to be undone in one fell swoop.

I took another look at the list. It appears to me that, with a few notable exceptions, most of the 7 digit entries are one-offs. So whatever the final resolution, it doesn't present a huge problem.

While I've got your attention, If you do decide to make a mod to MetaGenerator, while you're mucking about in it, how difficult would it be to change it to allow 4 digit episode numbers? Just askin'.


----------



## lpwcomp

I have some documentation showing grouping of pulled shows on a Premiere based on a made up seriesId. Since I don't have TV screen capture capability, I had to get it elsewhere. You'll just have to take my word for it that I didn't make it up. I put it in a "CODE" block to maintain formatting.



Code:


Harry Potter Movies (2)	Fri 11/15/02 07:00 	  	 0:04 	0.04 GB 	 1.63 

Harry Potter Movies - Harry Potter and the Chamber of Secrets	Fri 11/15/02 07:00 		 0:01 	0.02 GB 	 1.93 
Harry Potter Movies - Harry Potter and the Philosopher's Stone	Fri 11/16/01 07:00 		 0:02 	0.02 GB 	 1.33 

HP01234567 Harry Potter Movies

Not counting blank lines, the first line is from the main kmttg NPL list for the Premiere. The next two lines are the contents of the folder, again from kmttg. The final line is the relevant line of output from the seriesid program that wcmbrine wrote. Note that the seriesId is the one I created and not one of those strange ones created by tivo.mind


----------



## lpwcomp

Based on the results of tests dlfl and I performed, it appears that TiVo is using either 6 digits or 8 digits after the SH, and not using 7 at all. With that in mind, here is the third and hopefully final version of the code:



Code:


                        if ( tvTag == 'seriesId' ):
                                texttmp = str(text).translate(None,' ') # remove all blanks
                                if ( texttmp.startswith('EP') ):
                                        texttmp = texttmp.lstrip('EP') # strip off leading 'EP' if there is one
                                if ( texttmp.startswith('SH') ) :
                                        texttmp = texttmp.lstrip('SH') # same for SH
                                if ( texttmp.isdigit() ): # if remaining is numeric
                                        texttmp = texttmp.lstrip('0') # strip leading zeros
                                        if (int(texttmp) < 1000000 ): #  6 digit format
                                                texttmp = texttmp.zfill(6)
                                        else:
                                                texttmp = texttmp.zfill(8)
                                        
                                        text = "SH" + texttmp # add leading 'SH' to numeric ID


----------



## bgc

Why do .mp4 videos transferred with pyTivo seem to fast forward and rewind alot faster than the same files transferred with Tivo Desktop? The 2nd level ">>" fast forward seems to be faster then the normal 3rd level and the 3rd level for the pyTivo files is so fast you can't really use it.


----------



## pmiranda

I've noticed that on some .mp4 videos I transfer to TiVo that the first fast-forward is still just 1X speed... I'm guessing it has to do with the number of "key" frames per second. TiVo can't interpolate on the fly so the only way to get all the playback capability you expect would be to adjust the ffmpeg settings for the transcode. I don't know exactly what they would be, but this seems like the right avenue.


----------



## txporter

Yes, it is the key frame setting. For ffmpeg the string is --keyint. It defaults to 250, which amounts to around 8s for 29.97fps video. I normally IVTC my video back to 23.976fps and then use a keyint of 48.


----------



## bgc

txporter said:


> Yes, it is the key frame setting. For ffmpeg the string is --keyint. It defaults to 250, which amounts to around 8s for 29.97fps video. I normally IVTC my video back to 23.976fps and then use a keyint of 48.


IVTC? Does this slow down the FF? If so, how would you go about setting this using pyTivo?

Thanks,
BGC


----------



## txporter

bgc said:


> IVTC? Does this slow down the FF? If so, how would you go about setting this using pyTivo?
> 
> Thanks,
> BGC


IVTC is inverse telecine. It is a method of removing the 3:2 pullup that is applied to FILM rate video (24p) to place on DVD (29.97fps). It doesn't really affect FF, but the number of keyframes will.

You don't use it in pyTivo, but you need to IVTC before sending to pyTivo. I do this when preparing files. I then send the completed files to my tivos with pytivo.


----------



## Shanezam203

I have tried a few times unsuccessfully to setup pyTivo but I want to try again.  Setup correctly, will I be able to create a Folder for MOVIES and relocate movies recorded on HBO that are in my Now Playing into that folder? 

Essentially I'd like to push the Now Playing button & have a few specific folders. Or leave everything in Now Playing as it is and just make 1 folder for Movies.

Thanks,

Shane


----------



## bgc

txporter said:


> IVTC is inverse telecine. It is a method of removing the 3:2 pullup that is applied to FILM rate video (24p) to place on DVD (29.97fps). It doesn't really affect FF, but the number of keyframes will.
> 
> You don't use it in pyTivo, but you need to IVTC before sending to pyTivo. I do this when preparing files. I then send the completed files to my tivos with pytivo.


Aren't you supposed to be able to add commands to what is sent to ffmpeg when pyTivo calls it?


----------



## lpwcomp

Shanezam203 said:


> I have tried a few times unsuccessfully to setup pyTivo but I want to try again.  Setup correctly, will I be able to create a Folder for MOVIES and relocate movies recorded on HBO that are in my Now Playing into that folder?
> 
> Essentially I'd like to push the Now Playing button & have a few specific folders. Or leave everything in Now Playing as it is and just make 1 folder for Movies.
> 
> Thanks,
> 
> Shane


pyTivo doesn't have any affect on anything that is already on your TiVo.

Since you said the movies are recorded off of HBO, they are probably copy protected and you can't even pull them to the PC, but if they aren't:

The only way to do what you want to do would be to pull the movies to your PC, decrypt and generate metadata for them, modify the metedata so they all have the same grouping data, delete them from the TiVo and push them (or pull if it is a Premiere).

If you wanted to leave them on the PC, you could just put them all in the same folder on the PC and create a pyTivo share for that folder.


----------



## Shanezam203

Thanks for the reply, so with pyTivo it more so communicates with media on my PC to the Tivo, not actually used to Group the media in Now Playing?


----------



## lpwcomp

Shanezam203 said:


> Thanks for the reply, so with pyTivo it more so communicates with media on my PC to the Tivo, not actually used to Group the media in Now Playing?


More or less correct. It's like TiVo Desktop+ except much better ... and free. The thing is, if the movies _aren't_ copy protected, you could copy them to your PC, put them all in a folder, create a pyTivo "share" and that folder would show up in the NPL of your TiVo.

As i said though, they are most likely copy protected.


----------



## Shanezam203

lpwcomp said:


> More or less correct. It's like TiVo Desktop+ except much better ... and free. The thing is, if the movies _aren't_ copy protected, you could copy them to your PC, put them all in a folder, create a pyTivo "share" and that folder would show up in the NPL of your TiVo.
> 
> As i said though, they are most likely copy protected.


A lot of them have the red no smoking copy protected sign... with that said, there isn't much I can do to try to make Groups in now playing right? I have the 1tb esata drive, so it's nice; but it would be nice to be able to organize the media besides just alphabetically and chronological.


----------



## jcthorne

You cannot regroup files that are already transferred to the tivo. The tivo does the grouping based on the metadata sent with the file. pytivo sends the metadata and the file to the tivo.

By changing the metadata and resending the file, you can change how they are grouped.

If you have a large number of files, say a group of movies and want them presented by genre, actor, date or whatever on the tivo, I suggest you look at vidmgr, and HME extension for pytivo that creates very nice HD menus for video stored on your server and transferres it to the tivo on demand.


----------



## txporter

bgc said:


> Aren't you supposed to be able to add commands to what is sent to ffmpeg when pyTivo calls it?


Yes, but ffmpeg doesn't have a filter to do inverse telecine.


----------



## bgc

txporter said:


> Yes, but ffmpeg doesn't have a filter to do inverse telecine.


Is there a way to fix the keyframes so FastForward acts normally?


----------



## txporter

bgc said:


> Is there a way to fix the keyframes so FastForward acts normally?


H.264 video is more difficult to decode than MPEG2. You can't really get the same seeking performance, but you can get closer with more keyframes. Ffmpeg uses -g to set the maximum value between keyframes. I normally use a value equal to 2x the framerate (48 for film rate video or 60 for NTSC video).


----------



## Shanezam203

jcthorne said:


> You cannot regroup files that are already transferred to the tivo. The tivo does the grouping based on the metadata sent with the file. pytivo sends the metadata and the file to the tivo.
> 
> By changing the metadata and resending the file, you can change how they are grouped.
> 
> If you have a large number of files, say a group of movies and want them presented by genre, actor, date or whatever on the tivo, I suggest you look at vidmgr, and HME extension for pytivo that creates very nice HD menus for video stored on your server and transferres it to the tivo on demand.


any screen shots of that on the Tivo now playing page?


----------



## jcthorne

Shanezam203 said:


> any screen shots of that on the Tivo now playing page?


This link should take you to a page of the thread with some screen shots. I do suggest you read the rest of the info though.

http://www.tivocommunity.com/tivo-vb/showthread.php?t=468466&page=12


----------



## lpwcomp

I have a very odd situation. I recorded something on the TP and transferred it to my PC via kmttg. When I try to transfer it back to either the TP or the THD via pyTivo pull, it is flagged as "Transferring prohibited by the copyright holder". I can transfer it fine via TTG or directly between from the TP to the THD.


----------



## wmcbrine

Means ffmpeg can't read it.


----------



## lpwcomp

Admittedly, I was using a newer version of ffmpeg. I switched back to the recommended version - no change. Additional info:

It transcodes OK and the mpeg transfers and plays with no problem.


----------



## wmcbrine

Show log/console output if you want more help.


----------



## lpwcomp

Not really seeking help, just reporting it:

INFOyTivo.config:Shares security in use -- zeroconf disabled
INFOyTivoyTivo is ready.
INFOyTivo:192.168.1.104 [24/Nov/2011 21:26:43] "GET /TiVoConnect?Command=Query
Container&Container=%2F HTTP/1.0" 200 -
INFOyTivo:192.168.1.102 [24/Nov/2011 21:26:43] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFOyTivo:192.168.1.103 [24/Nov/2011 21:26:44] "GET /TiVoConnect?Command=Query
Container&Container=%2F HTTP/1.0" 200 -
INFOyTivo:192.168.1.102 [24/Nov/2011 21:26:58] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFOyTivo:192.168.1.102 [24/Nov/2011 21:26:58] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFOyTivo:192.168.1.102 [24/Nov/2011 21:27:03] "GET /TiVoConnect?Command=Query
Formats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFOyTivo:192.168.1.102 [24/Nov/2011 21:27:03] "GET /TiVoConnect?Command=Query
Container&Container=TiVoToGo&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-co
ntainer%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&Se
rialNum=<REDACTED> HTTP/1.1" 200 -
INFOyTivo:192.168.1.102 [24/Nov/2011 21:27:05] "GET /TiVoConnect?Command=Query
Formats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFOyTivo:192.168.1.102 [24/Nov/2011 21:27:05] "GET /TiVoConnect?Command=Query
Container&Container=TiVoToGo&SortOrder=!CaptureDate&ItemCount=-8&Filter=x-tivo-c
ontainer%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&S
erialNum=<REDACTED> HTTP/1.1" 200 -
INFOyTivo:192.168.1.102 [24/Nov/2011 21:27:06] "GET /TiVoConnect?Command=Query
Formats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFOyTivo:192.168.1.102 [24/Nov/2011 21:27:06] "GET /TiVoConnect?Command=Query
Container&Container=TiVoToGo&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTi
VoToGo%2FThe%2520Untouchables.S04E12.Doublecross.TiVo&AnchorOffset=-8&Filter=x-t
ivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%
2F*&SerialNum=<REDACTED> HTTP/1.1" 200 -
INFOyTivo:192.168.1.102 [24/Nov/2011 21:27:09] "GET /TiVoConnect?Command=Query
Formats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFOyTivo:192.168.1.102 [24/Nov/2011 21:27:09] "GET /TiVoConnect?Command=Query
Container&Container=TiVoToGo&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTi
VoToGo%2FSecrets%2520of%2520a%2520Restaurant%2520Chef.000.The%2520Secret%2520to%
2520Piccolini.TiVo&AnchorOffset=-8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-
container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=<REDACTED> HTTP/
1.1" 200 -
INFOyTivo:192.168.1.102 [24/Nov/2011 21:27:13] "GET /TiVoConnect?Command=Query
Formats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
DEBUGyTivo.video.transcode:starting ffmpeg, will wait 10 seconds for it to com
plete
DEBUGyTivo.video.transcode:ffmpeg output=FFmpeg version SVN-r21659-rdian06-1.0
2-win-x86_32, Copyright (c) 2000-2010 Fabrice Bellard, et al.
built on Aug 24 2010 20:46:16 with gcc 4.4.0
configuration: --enable-memalign-hack --disable-debug --enable-hardcoded-table
s --enable-runtime-cpudetect --enable-static --disable-shared --disable-ffserver
--disable-ffplay --enable-gpl --enable-pthreads --enable-libmp3lame --enable-li
bvorbis --enable-libtheora --enable-libspeex --enable-libgsm --enable-libx264 --
enable-libschroedinger --enable-libfaad --enable-libxvid --disable-decoder=aac -
-enable-avisynth --enable-postproc --enable-avfilter --enable-avfilter-lavf
libavutil 50. 8. 0 / 50. 8. 0
libavcodec 52.52. 0 / 52.52. 0
libavformat 52.50. 0 / 52.50. 0
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.17. 0 / 1.17. 0
libswscale 0.10. 0 / 0.10. 0
libpostproc 51. 2. 0 / 51. 2. 0

Seems stream 1 codec frame rate differs from container frame rate: inf (1/0) ->
nan (0/0)
Input #0, mpeg, from 'F:\Video\Rachael Ray.6054.Jason Segel.TiVo':
Duration: 01:00:03.21, start: 1.000000, bitrate: 3076 kb/s
Stream #0.0[0x1bd]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
Stream #0.1[0x1e0]: Video: mpeg2video, 90k tbn
At least one output file must be specified

DEBUGyTivo.video.transcode:failed at vWidth/vHeight
DEBUGyTivo.video.transcode:failed at vFps
DEBUGyTivo.video.transcode:aFreq=48000; vFps=; container=mpeg; kbps=3076; mapA
udio=[('0.0', '[0x1bd]')]; vHeight=; vCodec=mpeg2video; Supported=False; aKbps=1
92; par=None; millisecs=3603210; par2=None; par1=None; mapVideo=0.1; vWidth=; da
r1=None; aCodec=ac3
DEBUGyTivo.video.transcode:FALSE, file not supported F:\Video\Rachael Ray.6054
.Jason Segel.TiVo
INFOyTivo:192.168.1.102 [24/Nov/2011 21:27:13] "GET /TiVoConnect?Command=Query
Container&Container=TiVoToGo&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FTi
VoToGo%2FRachael%2520Ray.6054.Jason%2520Segel.TiVo&AnchorOffset=-1&Filter=x-tivo
-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*
&SerialNum=<REDACTED> HTTP/1.1" 200 -
DEBUGyTivo.video.transcode:CACHE HIT! F:\Video\Rachael Ray.6054.Jason Segel.Ti
Vo
DEBUGyTivo.video.transcode:FALSE, file not supported F:\Video\Rachael Ray.6054
.Jason Segel.TiVo
INFOyTivo:192.168.1.102 [24/Nov/2011 21:27:13] "GET /TiVoConnect?Command=TVBus
Query&Container=TiVoToGo&File=%2FRachael%20Ray.6054.Jason%20Segel.TiVo&SerialNum
=<REDACTED> HTTP/1.1" 200 -


----------



## Phantom Gremlin

lpwcomp said:


> I have a very odd situation. I recorded something on the TP and transferred it to my PC via kmttg.


I don't run pytivo or ffmpeg directly, so I'm just guessing here:

I'm puzzled by the .TiVo extension on the file on your F: drive (as shown in the log).

When you used kmttg to get it, did you check the *decrypt* box? Usually the .TiVo extension means it hasn't been decrypted yet. If it's still encrypted, then ffmpeg won't be able to make any sense out of it.

Now that the file is on your local drive, you can also run tivodecode directly on it (found within kmttg directory).


----------



## moyekj

.TiVo files should be fine to transfer with pyTivo. The problem is ffmpeg output is missing information on video height & width among other things so pyTivo is not passing the "compatible video" test.


Code:


DEBUG:pyTivo.video.transcode:failed at vWidth/vHeight
DEBUG:pyTivo.video.transcode:failed at vFps

This is because video line is missing info pyTivo is looking for:


Code:


Stream #0.1[0x1e0]: Video: mpeg2video, 90k tbn

Most likely this is because you have "Download TiVo files in Transport Stream format" option enabled in kmttg and thus the TiVo files are in mpeg2 transport stream container which ffmpeg is unable to retrieve proper info for.
My suggestion is disable that option in kmttg so the downloads are in Program Stream container instead. This will mean slower downloads but more traditional format such that pyTivo and/or tivodecode can handle it properly.


----------



## lpwcomp

Phantom Gremlin said:


> I don't run pytivo or ffmpeg directly, so I'm just guessing here:
> 
> I'm puzzled by the .TiVo extension on the file on your F: drive (as shown in the log).
> 
> When you used kmttg to get it, did you check the *decrypt* box? Usually the .TiVo extension means it hasn't been decrypted yet. If it's still encrypted, then ffmpeg won't be able to make any sense out of it.
> 
> Now that the file is on your local drive, you can also run tivodecode directly on it (found within kmttg directory).


The reason there was a .tivo file is that I had no plans to decrypt it. I only did that (to the previously transferred file) in order to determine if it would work and give me a useable mpeg, which it did. You must have missed my second post on the subject.



moyekj said:


> Most likely this is because you have "Download TiVo files in Transport Stream format" option enabled in kmttg and thus the TiVo files are in mpeg2 transport stream container which ffmpeg is unable to retrieve proper info for.
> My suggestion is disable that option in kmttg so the downloads are in Program Stream container instead. This will mean slower downloads but more traditional format such that pyTivo and/or tivodecode can handle it properly.


*bzzz*,wrong answer, but thanks for playing. I do not have that option set. If I had, then tivodecode would have failed when I tried it. I download multiple files every day via kmttg and keep them in .tivo format and this is the only one I have ever had this problem with. As I noted in my second post on the subject, tivodecode had no problem with it nor does the decoded file exhibit this issue.


----------



## moyekj

lpwcomp said:


> *bzzz*,wrong answer, but thanks for playing. I do not have that option set. If I had, then tivodecode would have failed when I tried it. I download multiple files every day via kmttg and keep them in .tivo format and this is the only one I have ever had this problem with. As I noted in my second post on the subject, tivodecode had no problem with it nor does the decoded file exhibit this issue.


 Well, the symptoms match up. I just tried a TS .TiVo file and get the identical problem you described with the missing video information from ffmpeg. There is a newer version of tivodecode which works for decrypting *some* TS .TiVo files but fails on many. You could run mediainfo on it to check for sure.


----------



## wmcbrine

It could be a program stream .TiVo. In olden days, pyTivo used to treat .TiVo files as black boxes, and just pass them through without examining them. Then someone pointed out, "Hey, you can actually run ffmpeg against these things and get useful info out of them," so I started doing that. Then something changed in ffmpeg, and it stopped working as well as it used to. I had to give up analyzing the audio tracks... I might have to give up video as well, taking us back to square one.

My recommendation is to not deal with .TiVo files. Failing that, you can revert to the old pass-through behavior by taking ffmpeg away from pyTivo. (In this mode it will only handle .TiVo, .mpg, .mpeg and .vob.)


----------



## cburbs

I am trying to reset this up on a new win7 build.

My one issue is my Send to Tivo doesn't list my tivo. I have all the info entered correctly in my config file.

OK I cheated for now by adding my Tivo info to the pytivo.conf file.

Per this - http://pytivo.sourceforge.net/forum/npl-not-showing-up-in-pytivo-t1586.html

Now my Tivo shows up but when I try to send I get this -

pyTivo.video.video:[30/Nov/2011 20:39:09] Queued "e:\shows\Ice Age A Mammoth Christmas.mpg" for Push to Living Room
pyTivo:192.168.X.X [30/Nov/2011 20:39:09] "POST /TiVoConnect HTTP/1.1" 200 -
pyTivo:192.168.X.X [30/Nov/2011 20:39:14] "GET /TiVoConnect?Command=QueryContainer&Container=videos HTTP/1.1" 200 -
pyTivo:192.168.X.X [30/Nov/2011 20:39:14] "GET /main.css HTTP/1.1" 200 -
pyTivo:192.168.X.X [30/Nov/2011 20:39:14] "GET /folder.png HTTP/1.1" 200 -
*ERROR* - pyTivo.video.video:<error>


Code:


notAuthorized

<text>Cannot find accountId for TSN xxxxxxxxxx</text></error>

KMTTG works on this PC just an FYI.


----------



## Soapm

I am having trouble with the shares dropping out of my NPL on both of my tivo's. I've tried using 255.255.255.255, 192.168.254.255 and the IP's of the Tivo but the shares still go in and out.

I loaded pytivo on a linux server. The server is bare bones with minimal applications installed. I installed the debian base installation then manually installed SSH, Samba, pytivo etc...

Reading around it sounds like this Zeroconf is an application that needs to be installed. I thought it came with pytivo. I want to try adding it on to see if my shares stay more consistent.

does this command look like everything I need or is it more than what I need for a server with no GUI, etc...? does it look about right?



Code:


apt-get install avahi-daemon avahi-discover avahi-utils libnss-mdns mdns-scan


----------



## wmcbrine

Zeroconf is not an application. It does come with pyTivo. You do not need those tools, nor will they help pyTivo.

You could actually try disabling Zeroconf to see if that improves things. Otherwise, I'd try to eliminate WiFi links in favor of hard-wired Ethernet, and if that's not possible, try to improve the stability of the WiFi signal. I don't know exactly why these dropouts happen, but every case I've heard about, IIRC, they've been on WiFi networks.

When you mention IPs, I assume that's in conjunction with the "beacon" keyword in pyTivo.conf? It's not going to help with this.


----------



## Soapm

wmcbrine said:


> Zeroconf is not an application. It does come with pyTivo. You do not need those tools, nor will they help pyTivo.


You got that right but I can ping my Tivo by host name 

Well, I could before I uninstalled that crap.



wmcbrine said:


> You could actually try disabling Zeroconf to see if that improves things. Otherwise, I'd try to eliminate WiFi links in favor of hard-wired Ethernet, and if that's not possible, try to improve the stability of the WiFi signal. I don't know exactly why these dropouts happen, but every case I've heard about, IIRC, they've been on WiFi networks.


I still don't know what that means??? Disable Zeroconf which is probably evident by me loading an application I thought was it...



wmcbrine said:


> When you mention IPs, I assume that's in conjunction with the "beacon" keyword in pyTivo.conf? It's not going to help with this.


Yep... I discovered I can add the linux machine under "manually add server" which seems to be working so far but we'll see in a few days if it holds out. It brought the share into the NPL without me having to reboot the machines or restart pytivo...


----------



## Iluvatar

cburbs said:


> I am trying to reset this up on a new win7 build.
> 
> My one issue is my Send to Tivo doesn't list my tivo. I have all the info entered correctly in my config file.
> 
> OK I cheated for now by adding my Tivo info to the pytivo.conf file.
> 
> Per this - http://pytivo.sourceforge.net/forum/npl-not-showing-up-in-pytivo-t1586.html
> 
> Now my Tivo shows up but when I try to send I get this -
> 
> pyTivo.video.video:[30/Nov/2011 20:39:09] Queued "e:\shows\Ice Age A Mammoth Christmas.mpg" for Push to Living Room
> pyTivo:192.168.X.X [30/Nov/2011 20:39:09] "POST /TiVoConnect HTTP/1.1" 200 -
> pyTivo:192.168.X.X [30/Nov/2011 20:39:14] "GET /TiVoConnect?Command=QueryContainer&Container=videos HTTP/1.1" 200 -
> pyTivo:192.168.X.X [30/Nov/2011 20:39:14] "GET /main.css HTTP/1.1" 200 -
> pyTivo:192.168.X.X [30/Nov/2011 20:39:14] "GET /folder.png HTTP/1.1" 200 -
> *ERROR* - pyTivo.video.video:<error>
> 
> 
> Code:
> 
> 
> notAuthorized
> 
> <text>Cannot find accountId for TSN xxxxxxxxxx</text></error>
> 
> KMTTG works on this PC just an FYI.


That is an error response from the TiVo mind server. It may mean it couldn't find or was supplied with an incorrect username/password for your TiVo.com account. Make sure they are correct in your config.

Possibly the tsn in the extra section you added as described above is incorrect.

If you need more help then post up your pytivo config file too.


----------



## Soapm

I'm using Debian and can't figure out how to load the DVD plug in.

http://pytivo.sourceforge.net/forum/updated-dvd-video-plugin-for-pytivo-t1766.html

Anyone know of a step by step instructions on how to load the plugin using CLI? I'm using wmcbrine's fork if that helps?

Also, is there a command line tool that will let me rip DVD's directly to a single mpeg file that py can serve to my Tivo?


----------



## wmcbrine

(I don't use the DVD plugin so I won't comment on that.)



Soapm said:


> Also, is there a command line tool that will let me rip DVD's directly to a single mpeg file that py can serve to my Tivo?


I've used MPlayer for this purpose. From memory, something like this:

mplayer -dumpstream -dumpfile movie.mpg dvd://1

to dump title 1 (often the main movie) to a file.


----------



## Iluvatar

Soapm said:


> I'm using Debian and can't figure out how to load the DVD plug in.
> 
> http://pytivo.sourceforge.net/forum/updated-dvd-video-plugin-for-pytivo-t1766.html
> 
> Anyone know of a step by step instructions on how to load the plugin using CLI? I'm using wmcbrine's fork if that helps?
> 
> Also, is there a command line tool that will let me rip DVD's directly to a single mpeg file that py can serve to my Tivo?


You can switch to the  lucasnz fork  and add his  dvdplugin  easily afterwards.

http://pytivo.sourceforge.net/forum/updated-dvd-video-plugin-for-pytivo-t1766.html


----------



## Soapm

wmcbrine said:


> Z I don't know exactly why these dropouts happen, but every case I've heard about, IIRC, they've been on WiFi networks..


I do have wireless running on my network but both Tivo's and the PC with py are hardwired. I found a document you posted from Tivo named TiVoConnectDiscovery.pdf and it seems the problem has to do with this section on page 5;



Code:


Upon startup (meaning TiVo DVR boot up or activation of TiVo Connect software running on
some other hardware) a TCM broadcasts, for a short period of time (say, 30 seconds) a number
of redundant packets in "high frequency mode" (perhaps every 5 seconds). After this initial
period, the TCM drops into "low frequency mode" broadcasting at a reduced rate (maybe only
once every minute). The initial high-frequency mode allows listeners several chances to quickly
detect TCMs that have just arrived, while the eventual low-frequency broadcasts should be
infrequent enough to not overly burden the network  even in the presence of many TCMs.

It seems I'm working fine in high frequency mode but one or the other isn't happy happy in "low frequency mode". I believe it's the Tivo or my router since I also don't see the other Tivo listed in the NPL and my windows machine running Tivo DT is also intermittent. All shares come and go not just py. That is why I was trying to improve my network itself.

Any idea what files or applications participates in this high and low listening on the Tivo? Any idea if there is a difference between the high and low packet? When I reboot a Tivo or restart py I see all the shares in both Tivo's but it doesn't take long before they disappear.

I suspect my router isn't passing a packet type but I need idea's how to test this theory.


----------



## Soapm

It just might be my router, I got my old lynksys out of the garage and stuck it in and things seem to work so far. I'll have to give it a day or so but so far it seems to have solved the problem.

The router I believe is blocking MRV is a DLink DIR-655 in case anyone has an experience with it. http://www.dlink.com/DIR-655 I've had it for a while and it has the latest firmware...


----------



## wmcbrine

pyTivo doesn't actually do that high/low frequency thing. In any case, that's the old (pre-Zeroconf) beacon system.

Some routers have trouble with multicast, which is why I suggested turning off Zeroconf in pyTivo. Of course such routers are junk. But sadly, they're out there.


----------



## Soapm

wmcbrine said:


> pyTivo doesn't actually do that high/low frequency thing. In any case, that's the old (pre-Zeroconf) beacon system.
> 
> Some routers have trouble with multicast, which is why I suggested turning off Zeroconf in pyTivo. Of course such routers are junk. But sadly, they're out there.


I had put false in the zeroconf but the shares would still disappear after not too long. I definitely think it's my router because it's been several hours with my old lynksys and the shares are still showing along with the other Tivo. I guess now it's decision time.

I've been searching for DLink and pytivo and either I'm the only one with a DLink or it's just my DLink with this problem. I see tons of DLinks with forwarding multicast to the outside WAN problems but no one seems to use it on their internal LAN.


----------



## Soapm

In case anyone is interested, I did a factory reset on my router then moved my network to a new IP range. I was using 198.162.254.xxx and moved it to 192.168.0.xxx and it seems to have corrected the disappearing shares. We're at the 12 hour mark and both Tivo's can see the other Tivo as well as my py share.

However, there is a small caveat that I will have to report back later on. I forgot t change the beacon in the py config and still have it set to "192.168.254.255". Now that's strange because this seems to work. I'm going to put the beacon back to the default 255.255.255.255 and if I lose my shares I will try my new broadcast 192.168.0.255 and if no luck there I will put it back at this wrong broadcast. I will let you know if it no longer cares what beacon I use.


----------



## wmcbrine

The right thing to do is to remove the beacon line entirely. It should not be used in a normal setup. However, if you want to use it to disable the old-style beacons (it only affects the old-style beacons), I suggest "beacon = listen".


----------



## Soapm

wmcbrine said:


> The right thing to do is to remove the beacon line entirely. It should not be used in a normal setup. However, if you want to use it to disable the old-style beacons (it only affects the old-style beacons), I suggest "beacon = listen".


will do Buddy, thanks for all the help and work. She seems to be rock solid now but I will try the listen.


----------



## Soapm

Now that I got py consistent the people on the movies look tall and thin. Especially when I view one on my Premier. Here is my config file, any suggestions?



Code:


[Lenny]
force_alpha = True
type = video
path = /media/video

[_tivo_SD]
video_br = 4096K
optres = true
height = 480
width = 544
bufsize = 4096K
audio_br = 384k

[_tivo_HD]

[Server]
tivo_password = ********
tivo_mak = *********
ffmpeg = /usr/bin/ffmpeg
tivo_mind = mind.tivo.com:8181
zeroconf = True
beacon = 192.168.0.255
togo_path = /media/video/FromTivo
debug = True
tivo_username = *********
port = 9032

By the way, I don't have any HD movies. I'm one of the last to still own a CRT...


----------



## tjtv

Soapm said:


> Now that I got py consistent the people on the movies look tall and thin. Especially when I view one on my Premier. Here is my config file, any suggestions?


Press the ZOOM button on the Tivo remote a couple of times until it looks correct.


----------



## Soapm

tjtv said:


> Press the ZOOM button on the Tivo remote a couple of times until it looks correct.


Wow, never noticed that button. I've been using the old remote since it has a 1/2 switch but the Window button on it does the same thing.

All the time I spent changing the aspect ratio in py and the fix was pushing a button... Thanks!


----------



## johnjay829

trying a fresh install on a win7 pc.. used the update install info from the wiki page.. all goes well until i try to start pytivo using the pytivo.py file.. a command windows opens and closes. any help??


----------



## Iluvatar

johnjay829 said:


> trying a fresh install on a win7 pc.. used the update install info from the wiki page.. all goes well until i try to start pytivo using the pytivo.py file.. a command windows opens and closes. any help??


Run it from an open command prompt.

Start Menu -> run 'cmd' from the search box

type in location of pyTivo.py file. Should run fine. If you want it in the background follow the wiki to install pytivo as a service.


----------



## johnjay829

Thanks that was the issue. now all my videos say transfer prohibited

here is my config file

[Server]
port = 9032
ffmpeg = M:\Programs\PyTivo\bin\ffmpeg.exe
tivo_mak = #####
tdcat = M:\Programs\PyTivo\bin\tdcat.exe
tivo_password = ####
tivo_username = #####
tivodecode = M:\Programs\PyTivo\bin\tivodecode.exe
togo_path = M:\Videos\Tivo

[_tivo_SD]

[_tivo_HD]

[Movies]
path = M:\Videos\Movies
type = video

here is the cmd window:

INFOyTivo:192.168.1.11 [29/Dec/2011 09:35:50] "GET /TiVoConnect?Command=QueryC
ontainer&Container=Movies&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FMovie
s%2FContagion.avi&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-c
ontainer%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=748001190436551 HTTP/1
.1" 200 -
INFOyTivo:192.168.1.11 [29/Dec/2011 09:35:50] "GET /TiVoConnect?Command=TVBusQ
uery&Container=Movies&File=%2FContagion.avi&SerialNum=748001190436551 HTTP/1.1"
200 -


----------



## Iluvatar

johnjay829 said:


> Thanks that was the issue. now all my videos say transfer prohibited
> 
> here is my config file
> 
> [Server]
> port = 9032
> ffmpeg = M:\Programs\PyTivo\bin\ffmpeg.exe
> tivo_mak = #####
> tdcat = M:\Programs\PyTivo\bin\tdcat.exe
> tivo_password = ####
> tivo_username = #####
> tivodecode = M:\Programs\PyTivo\bin\tivodecode.exe
> togo_path = M:\Videos\Tivo
> 
> [_tivo_SD]
> 
> [_tivo_HD]
> 
> [Movies]
> path = M:\Videos\Movies
> type = video
> 
> here is the cmd window:
> 
> INFOyTivo:192.168.1.11 [29/Dec/2011 09:35:50] "GET /TiVoConnect?Command=QueryC
> ontainer&Container=Movies&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FMovie
> s%2FContagion.avi&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-c
> ontainer%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=**** HTTP/1
> .1" 200 -
> INFOyTivo:192.168.1.11 [29/Dec/2011 09:35:50] "GET /TiVoConnect?Command=TVBusQ
> uery&Container=Movies&File=%2FContagion.avi&SerialNum=**** HTTP/1.1"
> 200 -


That points to a problem with FFmpeg. It may not be able to read the files. Are you certain the file location in your config is correct? What is the output of running 'M:\Programs\PyTivo\bin\ffmpeg.exe' in your command prompt.

Add 'debug = true' to your [Server] line in your config file. Restart pytivo and repost your console output after trying to transfer the file.


----------



## johnjay829

M:\>M:\Programs\PyTivo\bin\ffmpeg.exe
FFmpeg version SVN-r21659-rdian06-1.02-win-x86_32, Copyright (c) 2000-2010 Fabri
ce Bellard, et al.
built on Aug 24 2010 20:46:16 with gcc 4.4.0
configuration: --enable-memalign-hack --disable-debug --enable-hardcoded-table
s --enable-runtime-cpudetect --enable-static --disable-shared --disable-ffserver
--disable-ffplay --enable-gpl --enable-pthreads --enable-libmp3lame --enable-li
bvorbis --enable-libtheora --enable-libspeex --enable-libgsm --enable-libx264 --
enable-libschroedinger --enable-libfaad --enable-libxvid --disable-decoder=aac -
-enable-avisynth --enable-postproc --enable-avfilter --enable-avfilter-lavf
libavutil 50. 8. 0 / 50. 8. 0
libavcodec 52.52. 0 / 52.52. 0
libavformat 52.50. 0 / 52.50. 0
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.17. 0 / 1.17. 0
libswscale 0.10. 0 / 0.10. 0
libpostproc 51. 2. 0 / 51. 2. 0
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfi
le}...

Use -h to get full help or, even better, run 'man ffmpeg'


----------



## johnjay829

DEBUGyTivo.video.transcode:starting ffmpeg, will wait 10 seconds for it to com
plete
DEBUGyTivo.video.transcode:ffmpeg output=
DEBUGyTivo.video.transcode:failed at aFreq
DEBUGyTivo.video.transcode:failed at container
DEBUGyTivo.video.transcode:failed at vCodec
DEBUGyTivo.video.transcode:failed at aKbps
DEBUGyTivo.video.transcode:failed at aCodec
DEBUGyTivo.video.transcode:failed at mapVideo
DEBUGyTivo.video.transcode:failed at vWidth/vHeight
DEBUGyTivo.video.transcode:failed at vFps
DEBUGyTivo.video.transcode:failed at kbps
DEBUGyTivo.video.transcode:failed at mapAudio
DEBUGyTivo.video.transcode:aFreq=None; vFps=; container=; kbps=None; mapAudio=
[('', '')]; vHeight=; vCodec=; Supported=False; aKbps=None; par=None; millisecs=
0; par2=None; par1=None; mapVideo=None; vWidth=; dar1=None; aCodec=None
DEBUGyTivo.video.transcode:FALSE, file not supported M:\Videos\Movies\Contagio
n.avi
INFOyTivo:192.168.1.11 [29/Dec/2011 11:44:04] "GET /TiVoConnect?Command=QueryC
ontainer&Container=Movies&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-conta
iner%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&Seria
lNum=748001190436551 HTTP/1.1" 200 -
INFOyTivo:192.168.1.11 [29/Dec/2011 11:44:06] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Contagion.avi
DEBUGyTivo.video.transcode:FALSE, file not supported M:\Videos\Movies\Contagio
n.avi
INFOyTivo:192.168.1.11 [29/Dec/2011 11:44:06] "GET /TiVoConnect?Command=QueryC
ontainer&Container=Movies&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FMovie
s%2FContagion.avi&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-c
ontainer%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=748001190436551 HTTP/1
.1" 200 -
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Contagion.avi
DEBUGyTivo.video.transcode:FALSE, file not supported M:\Videos\Movies\Contagio
n.avi
INFOyTivo:192.168.1.11 [29/Dec/2011 11:44:06] "GET /TiVoConnect?Command=TVBusQ
uery&Container=Movies&File=%2FContagion.avi&SerialNum=748001190436551 HTTP/1.1"
200 -


----------



## Iluvatar

johnjay829 said:


> Code:
> 
> 
> DEBUG:pyTivo.video.transcode:starting ffmpeg, will wait 10 seconds for it to com
> plete
> DEBUG:pyTivo.video.transcode:ffmpeg output=
> DEBUG:pyTivo.video.transcode:failed at aFreq
> DEBUG:pyTivo.video.transcode:failed at container
> DEBUG:pyTivo.video.transcode:failed at vCodec
> DEBUG:pyTivo.video.transcode:failed at aKbps
> DEBUG:pyTivo.video.transcode:failed at aCodec
> DEBUG:pyTivo.video.transcode:failed at mapVideo
> DEBUG:pyTivo.video.transcode:failed at vWidth/vHeight
> DEBUG:pyTivo.video.transcode:failed at vFps
> DEBUG:pyTivo.video.transcode:failed at kbps
> DEBUG:pyTivo.video.transcode:failed at mapAudio
> DEBUG:pyTivo.video.transcode:aFreq=None; vFps=; container=; kbps=None; mapAudio=
> [('', '')]; vHeight=; vCodec=; Supported=False; aKbps=None; par=None; millisecs=
> 0; par2=None; par1=None; mapVideo=None; vWidth=; dar1=None; aCodec=None
> DEBUG:pyTivo.video.transcode:FALSE, file not supported M:\Videos\Movies\Contagio
> n.avi


FFmpeg is unable to read that particular file. You are using a known good version of FFmpeg though (rdian06). It may be a bad file or maybe permissions issue.

Are you having this issue with every video?


----------



## johnjay829

yes..

i think i found the problem it was either my comodo antivirus or admin rights i started ffmpeg with admin and gave permission thru comodo.. works fine now.. thks for the help..


----------



## Iluvatar

johnjay829 said:


> yes..
> 
> i think i found the problem it was either my comodo antivirus or admin rights i started ffmpeg with admin and gave permission thru comodo.. works fine now.. thks for the help..


Glad it seems to work now.


----------



## m_jonis

Suddenly (at least for me, no apparent reason that's obvious), PyTivo has decided that random videos (.mpg that are ripped from DVD) are:
a) to be transcoded
and
b) in a format that's not valid

But, if I stop/restart the pytivo process, it'll let me grab one video (the one it said was invalid format), but then all subsequent transfers it'll do the same thing. Until I stop/restart it.

I have no idea why all of a sudden it decides to do this. It obviously can access the videos, and they don't need to be transcoded (that I can tell anyway).

It's running on Windows XP right now.


----------



## wmcbrine

Never seen anything like that. Post the log.


----------



## BankZ

My transfers are really slow. I have added "-threads 2" to ffmpeg_pram. Anything else I can do to speed things up? My CPU is only at 30%.


----------



## Squeege96

Ok, I am officially at wits end. I have been a faithful user of PyTivo for the last 5 years. I just did a upgrade on my home PC to Windows 7. It is a clean install on a new drive. For some reason, I can get Pytivo installed and running as a service, but I am unable to get Python running as a service. I have been up most of the night installing drivers and whatnot, and I am sure that there must be an easy fix, but I just can't figure it out.

Is there some trick to get Python 2.7.2 to run as a service at start up in Windows 7? I checked my install on XP, and it runs with no problems.


----------



## wmcbrine

BankZ said:


> My transfers are really slow.


Please quantify that. Tell us your TiVo type as well.



> _My CPU is only at 30%._


That sounds like you're doing well, then. It's often the TiVo that's the bottleneck -- it will only take in video at a certain rate.


----------



## BankZ

wmcbrine said:


> Please quantify that. Tell us your TiVo type as well.


Its a 4gb file, I'm about 50% done after 5 hours.

I have a TiVo Elite.


----------



## lrhorer

Squeege96 said:


> but I am unable to get Python running as a service. I have been up most of the night installing drivers and whatnot, and I am sure that there must be an easy fix, but I just can't figure it out.
> 
> Is there some trick to get Python 2.7.2 to run as a service at start up in Windows 7? I checked my install on XP, and it runs with no problems.


Huh? Python is an interpreter, not a server. Without arguments, running Python brings up an interactive CL. I don't see how it would ever be a service.


----------



## Squeege96

lrhorer said:


> Huh? Python is an interpreter, not a server. Without arguments, running Python brings up an interactive CL. I don't see how it would ever be a service.


When I run Task manager in Win XP, I can see both Python and PyTivo running as a "process". I am unable to do so with Python on Windows 7. I can see Pytivo running, I can associate my drives, and I see them in the Web Config menu, but I can't access them from my Tivos. Does that make sense?


----------



## lrhorer

Squeege96 said:


> When I run Task manager in Win XP, I can see both Python and PyTivo running as a "process".


A process is not a service (or a server), although of course any service will ordinarily have one or more processes running. A process is merely a job doing something on the PC.



Squeege96 said:


> I am unable to do so with Python on Windows 7. I can see Pytivo running


If pyTivo is running, then Python is running. PyTivo is a python app.



Squeege96 said:


> I can associate my drives


You can associate your drives with what?



Squeege96 said:


> and I see them in the Web Config menu


You can see what in which Web Config menu?



Squeege96 said:


> but I can't access them from my Tivos. Does that make sense?


I'm afraid not. 'Too many pronouns with too few clear antecedents. It's also internally inconsistent.

The first step is going to be to get pyTivo to run properly as am interactive application. Back out of or disable any attempts to run pyTivo as a service. Then run pyTivo from the command line. Post any errors. Once that is working without errors, you can continue to try to load pyTivo as a service.


----------



## tluxon

I'm in the final stages of replacing my aging Windows XP Pro SP3 PC with a new build. The new build is set up to boot to WinXP Pro SP3, Win7 x86, and Win7 x64, but I'm planning to use Win7 x86 (32-bit) 99% of the time.

When I first finished installing pyTivo, my shares were working just fine, but I just looked (after a few hours) and none of them are now available. When I click on the push from shares links from localhost:9032, it just keeps giving me connection reset errors. The pyTivo service is set to run automatically and is "Started" whenever I check it.

Any idea what the problem could be?


----------



## tluxon

tluxon said:


> I'm in the final stages of replacing my aging Windows XP Pro SP3 PC with a new build. The new build is set up to boot to WinXP Pro SP3, Win7 x86, and Win7 x64, but I'm planning to use Win7 x86 (32-bit) 99% of the time.
> 
> When I first finished installing pyTivo, my shares were working just fine, but I just looked (after a few hours) and none of them are now available. When I click on the push from shares links from localhost:9032, it just keeps giving me connection reset errors. The pyTivo service is set to run automatically and is "Started" whenever I check it.
> 
> Any idea what the problem could be?


Okay, now I can see the local shares from localhost:9032, but they're still not appearing in the TiVo NPL. What I had before were shares from a Windows Home Server, so I'm not sure if pyTivo is making a distinction between networked mapped shares and local shares.

But why did I see the shares (from the WHS) on the NPL for the first hour or two after setup and even started playing a couple transfers to test them out - and now cannot?

BTW, I am able to push and pull shows from the Web interface (localhost:9032) as long as they're between a TiVo and a local drive.

I'm confused when things work for a while and then completely don't when no apparent changes have been made outside of letting the clock roll. 

Any ideas?


----------



## wmcbrine

BankZ said:


> Its a 4gb file, I'm about 50% done after 5 hours.


But what is the length of the program? (File size is kind of irrelevant -- the reencoded size could be quite different.)


----------



## Soapm

tluxon said:


> But why did I see the shares (from the WHS) on the NPL for the first hour or two after setup and even started playing a couple transfers to test them out - and now cannot??


I had a problem with disappearing shares and fixed it by changing the IP range in my router. I also reset it t factory default. YMMV...


----------



## tluxon

Soapm said:


> I had a problem with disappearing shares and fixed it by changing the IP range in my router. I also reset it t factory default. YMMV...


I suspect this may be an issue, because I recently replaced my router with a Dlink DIR-825 and have found it to be a bit confusing compared to other routers I've used. The Tivos seem to be locked onto their static IP addresses, as do the network resources such as the Windows Home Server and our printers. However, the router's interface seems more complex and uses different terminology than other routers I've used - so I may need to fine tune a few things.

I use TiVo Publisher on the Windows Home Server, and it requires port forwarding through the router. I had to open a port on the Windows Firewall on my PC for pyTivo, but I wouldn't think anything of the sort would be required for the router, especially since I've already successfully played about 10 minutes of a couple HD videos from the WHS to the Tivo through a share published by pyTivo. Any thoughts on that?


----------



## lrhorer

Unless the communications have a wireless component, the router has nothing to do with any communications on the LAN. In fact, for the most part, the packets don't even reach the router itself. They are switched prior to reaching the router electronics. Logically and internally, the switch included with the router is not part of the router system itself. It merely shares the saem case and power supply as the router. If there is a wireless component, then it is a different matter, since the router itself is acting as a bridge between the wireless and wired segments.


----------



## tluxon

I think I'm having a problem with my firewall settings in Windows 7. When I go to <IP Address>:9032 of my old PC with Win XP Pro SP3, I get to the Web Adminstration page of that PC's pyTivo, but when I use the other PC to try to access <IP Address>:9032 of the new PC with Windows 7 x86, the connection times out.

I've got TCP and UDP exceptions for pytivo.py in my firewall for ports 2190 (Tivo beacon) and 9032 and checked both the Private and Domain "profiles" boxes. Adding the exceptions is not exactly the same as for the Windows XP firewall, so I'm guessing I must've done something wrong or incompletely. Can someone please let me know the right procedure to follow to get this done properly in Windows 7?

Thanks!


----------



## tluxon

tluxon said:


> I think I'm having a problem with my firewall settings in Windows 7. When I go to <IP Address>:9032 of my old PC with Win XP Pro SP3, I get to the Web Adminstration page of that PC's pyTivo, but when I use the other PC to try to access <IP Address>:9032 of the new PC with Windows 7 x86, the connection times out.
> 
> I've got TCP and UDP exceptions for pytivo.py in my firewall for ports 2190 (Tivo beacon) and 9032 and checked both the Private and Domain "profiles" boxes. Adding the exceptions is not exactly the same as for the Windows XP firewall, so I'm guessing I must've done something wrong or incompletely. Can someone please let me know the right procedure to follow to get this done properly in Windows 7?
> 
> Thanks!


I think I've got it now. I had added UDP and TCP port 5353 for python.exe, but not for pythonservice.exe (hidden deep in the C:\Python27\Lib\site-packages\win32 folder). In addition to port 5353, I also opened ports 2190 and 9032 and made sure the Private and Domain boxes were checked in the Advanced tab and "things" started working the way I expected.


----------



## wannaB

Looking for some direction..... I have Two HD TiVOs that are hard wired to the same hub and only difference is one has a cablecard and is lifetime. 

The lifetime unit has a very very slow push and pull rate. I can Netflix HD no problem on this unit so it appears to be pyTiVo related? 

I recently gave Fixed IP addresses to all non mobile items on our network and it doubled the speed to our good unit but the Lifetime unit is as slow as ever.


----------



## lew

I have similar issues. I had to change the default power save options. When my computer goes into sleep mode Py shares aren't available. My DVD burner doesn't work reliably after my computer awakes from sleep mode. Burned a number of coasters before I realized the issue. No big reason to let a desktop computer use sleep mode.

I think the problem is with the default power save settings used by Windows 7

edited to add--I think this only an issue with some MBs/chipsets (DVD burner). I'm pretty sure a tivo request isn't enough to wake a PC from sleep mode under any circumstances.



tluxon said:


> I'm in the final stages of replacing my aging Windows XP Pro SP3 PC with a new build. The new build is set up to boot to WinXP Pro SP3, Win7 x86, and Win7 x64, but I'm planning to use Win7 x86 (32-bit) 99% of the time.
> 
> When I first finished installing pyTivo, my shares were working just fine, but I just looked (after a few hours) and none of them are now available. When I click on the push from shares links from localhost:9032, it just keeps giving me connection reset errors. The pyTivo service is set to run automatically and is "Started" whenever I check it.
> 
> Any idea what the problem could be?


----------



## texag93

On Friday I am switching to Grande Communications (a Texas Cable company) who has partnered with Tivo to provide Tivo Premier as the DVR of choice (yea). However, I'm a little wary that the pyTivo app that I am loving and have used on my Tivo HD receiver for over a year now may not work on the cable co provided Tivo. They disabled Netflix and Hulu due to contract issues. Not sure if they also somehow will prevent pyTivo to work.

Has anyone else tried this with Grande, or any other cable provider that supplies Tivos? I was going to buy one with Lifetime service, but this was such a good deal provided with cable co, and I really am looking forward to the Premier speed improvement of transfers over the HD.

Thanks!!

Craig


----------



## lrhorer

texag93 said:


> On Friday I am switching to Grande Communications (a Texas Cable company) who has partnered with Tivo to provide Tivo Premier as the DVR of choice (yea).


Interesting. I have been thinking of jumping from TWC to Grande for a long time: I could surely make use of the extra cash going with Grande would provide. There are several important channels Grande doesn't offer, though. Umph.



texag93 said:


> However, I'm a little wary that the pyTivo app that I am loving and have used on my Tivo HD receiver for over a year now may not work on the cable co provided Tivo.


That is entirely possible. HMO and HME may be completely disabled. I'm not saying they are...



texag93 said:


> They disabled Netflix and Hulu due to contract issues.


Which may mean all operations through the mind server are disabled. That would mean no pyTivo push, even if pulls work. Again, either, neither, or both could be the case.

Are you in San Antonio?



texag93 said:


> I was going to buy one with Lifetime service, but this was such a good deal provided with cable co, and I really am looking forward to the Premier speed improvement of transfers over the HD.


You might consider looking into re-coding your content to h.264. It's better than 3x faster on the HD than the same content in .mpg.


----------



## texag93

lrhorer said:


> That is entirely possible. HMO and HME may be completely disabled. I'm not saying they are...
> 
> Which may mean all operations through the mind server are disabled. That would mean no pyTivo push, even if pulls work. Again, either, neither, or both could be the case.


They say that Youtube and Pandora are still active, and so can you copy between Grande's Tivo and any home purchased ones, so very hopeful that pyTivo still works.



lrhorer said:


> Are you in San Antonio?


Nope, in Dallas



lrhorer said:


> You might consider looking into re-coding your content to h.264. It's better than 3x faster on the HD than the same content in .mpg.


Yeah, I've tried that, but I'm apparently not good enough to make it work the way I want it (or perhaps it's not possible). I want at least DVD quality and so far have never gotten h.264 to look good enough, and I also want to keep the Dolby Digital 5.1 and have not been successful there either. I use PyTivo as a home media server to stream DVDs and like the Movie quality of DVD. Plus, I don't have to convert the file, it's just a Vob file cleanup which is quite fast.

I will post back with results! The install happens on Friday morning.


----------



## lrhorer

texag93 said:


> Yeah, I've tried that, but I'm apparently not good enough to make it work the way I want it (or perhaps it's not possible). I want at least DVD quality and so far have never gotten h.264 to look good enough, and I also want to keep the Dolby Digital 5.1 and have not been successful there either.


I use VideoRedo TV Suite with the default settings for h.264 in a .mp4 container. Essentially all my recordings are HD and the vast majority are 1080i. I am unable to detect any additional artifacts on my 150" DLP projector when compared with the original MPEG2 content. The picture quality is far better than DVD.



texag93 said:


> I use PyTivo as a home media server to stream DVDs and like the Movie quality of DVD.


I do have about 70 ripped DVDs. Those have not been recoded, but then SD transfers are at much better than real time, even for MPEG2.



texag93 said:


> Plus, I don't have to convert the file, it's just a Vob file cleanup which is quite fast.


That's not really relevant. I mean, it's not your time, it's the computer's. For example, I selected an entire directory of 160 SD videos (Star Trek: The Next Generation) and just let VRD run for a couple of weeks or so, recoding the videos. It only took "me" about 90 seconds. I did the same thing with large batches of other videos, and will continue to do so until perhaps eventually all the videos are h.264. All new videos are automatically recoded to h.264 when I edit out the leading and trailing padding from the video.


----------



## m_jonis

wmcbrine said:


> Never seen anything like that. Post the log.


I don't have the log output on the screen anymore, but apparently it was a "slowness" problem with pyTivo accessing the .mpg files. I'd run across a different forum where apparently if pyTivo doesn't access the file in X seconds, it spews out a faulty error about unsupported file type (as opposed to : hey, timeout accessing file).

I rebooted my iSCSI server that houses the .mpg and now things are zipping along just fine.


----------



## texag93

lrhorer said:


> I use VideoRedo TV Suite with the default settings for h.264 in a .mp4 container. Essentially all my recordings are HD and the vast majority are 1080i. I am unable to detect any additional artifacts on my 150" DLP projector when compared with the original MPEG2 content. The picture quality is far better than DVD.


Thanks for all the tips lrhorer. I will give that a try! BTW, do your DVD's play back on the Tivo with 5.1 surround sound?

Regarding the Grande Tivo, just to update in case anyone wonders. The Premier that comes with Grande service is pretty much an off the shelf Tivo. They only disabled Netflix and Hulu, and everything else seems to work, including pyTivo!

Now the only challenge i'm still having is they are having trouble linking my Grande Tivo with my personal one so that I can transfer shows between them (they have to have the same media access key). But they say it should work - they just started this service 2 months ago in Dallas and have some kinks to work out.


----------



## innocentfreak

It looks like v20.2 for the Premiere might have changed how some metadata is handled now. 

With the new channel bar, I no longer can see what episode I am watching. It looks like TiVo is either adding the episode name into the description or it is somehow adding it prior to the description field. With pushed and generated metadata, I only get the series name and description during playback. There is also a field showing 0-0 in white which looks like it might be looking for the channel number. 

I just figured I would point this out, but I know TiVo has never been helpful with how to get all the Metadata to TiVo.


----------



## wmcbrine

innocentfreak said:


> It looks like v20.2 for the Premiere might have changed how some metadata is handled now.


Make sure you're up to date with the changes I made for 14.9. If that doesn't resolve it... please fetch me some example XML, from a request like this:

https://yourtivoip/TiVoConnect?Command=QueryContainer&Container=/NowPlaying

(Username "tivo", password is your MAK.)


----------



## innocentfreak

wmcbrine said:


> Make sure you're up to date with the changes I made for 14.9. If that doesn't resolve it... please fetch me some example XML, from a request like this:
> 
> https://yourtivoip/TiVoConnect?Command=QueryContainer&Container=/NowPlaying
> 
> (Username "tivo", password is your MAK.)


Hmm looks like lucasnz hasn't updated his fork, which is what I am using, to add those yet. Just a note this seems unrelated though. Prior to 20.2, I had no issues seeing the Episode name and in fact it still displays fine in the SDUI with 20.2. It is just missing for the new channel banner and show description in the HDUI.



Code:


<?xml version="1.0" encoding="UTF-8"?>
-<TiVoContainer xmlns="http://www.tivo.com/developer/calypso-protocol-1.6/">-<Details><ContentType>x-tivo-container/tivo-videos</ContentType><SourceFormat>x-tivo-container/tivo-dvr</SourceFormat><Title>Now Playing</Title><LastChangeDate>0x4F08EA98</LastChangeDate><TotalItems>80</TotalItems><UniqueId>/NowPlaying</UniqueId></Details><SortOrder>Type,CaptureDate</SortOrder><GlobalSort>Yes</GlobalSort><ItemStart>0</ItemStart><ItemCount>16</ItemCount>-<Item>-<Details><ContentType>x-tivo-container/folder</ContentType><SourceFormat>x-tivo-container/tivo-dvr</SourceFormat><Title>Holmes on Homes</Title><LastChangeDate>0x4F08EA98</LastChangeDate><TotalItems>23</TotalItems><LastCaptureDate>0x4F08EA92</LastCaptureDate><UniqueId>22632</UniqueId></Details>-<Links>-<Content><Url>https://192.168.1.18:443/TiVoConnect?Command=QueryContainer&Container=%2FNowPlaying%2F22632</Url><ContentType>x-tivo-container/folder</ContentType></Content>-<CustomIcon><Url>urn:tivo:image:in-progress-folder</Url><ContentType>image/*</ContentType><AcceptsParams>No</AcceptsParams></CustomIcon></Links></Item>-<Item>-<Details><ContentType>video/x-tivo-raw-tts</ContentType><SourceFormat>video/x-tivo-raw-tts</SourceFormat><Title>Shooting Stars</Title><SourceSize>1038090240</SourceSize><Duration>174000</Duration><CaptureDate>0x4F08EA90</CaptureDate><EpisodeTitle>Salute to Police</EpisodeTitle><Description>Karl Malone, Cole Hauser and Gerald McRaney team up with professional shooters in a shooting competition. Copyright Tribune Media Services, Inc.</Description><SourceChannel>631</SourceChannel><SourceStation>VEL</SourceStation><InProgress>Yes</InProgress><HighDefinition>No</HighDefinition><ProgramId>EP015039760001</ProgramId><SeriesId>SH01503976</SeriesId><EpisodeNumber>1</EpisodeNumber><StreamingPermission>No</StreamingPermission><TvRating>5</TvRating><ShowingBits>4098</ShowingBits><SourceType>2</SourceType><IdGuideSource>31046</IdGuideSource></Details>-<Links>-<Content><Url>http://192.168.1.18:80/download/Shooting%20Stars.TiVo?Container=%2FNowPlaying&id=261820</Url><ContentType>video/x-tivo-raw-tts</ContentType><Available>No</Available></Content>-<CustomIcon><Url>urn:tivo:image:in-progress-recording</Url><ContentType>image/*</ContentType><AcceptsParams>No</AcceptsParams></CustomIcon>-<TiVoVideoDetails><Url>https://192.168.1.18:443/TiVoVideoDetails?id=261820</Url><ContentType>text/xml</ContentType><AcceptsParams>No</AcceptsParams></TiVoVideoDetails></Links></Item>-<Item>-<Details><ContentType>video/x-tivo-raw-tts</ContentType><SourceFormat>video/x-tivo-raw-tts</SourceFormat><Title>My Cat From Hell</Title><SourceSize>1038090240</SourceSize><Duration>179000</Duration><CaptureDate>0x4F08EA90</CaptureDate><EpisodeTitle>Terrorizing My Clients</EpisodeTitle><Description>A cat named Kleo keeps Tim from proposing to his girlfriend; Ruby has sudden fits of aggression and threatens the owners livelihood. Copyright Tribune Media Services, Inc.</Description><SourceChannel>630</SourceChannel><SourceStation>APLHD</SourceStation><InProgress>Yes</InProgress><HighDefinition>No</HighDefinition><ProgramId>EP014010260004</ProgramId><SeriesId>SH01401026</SeriesId><EpisodeNumber>201</EpisodeNumber><StreamingPermission>No</StreamingPermission><ShowingBits>4098</ShowingBits><SourceType>2</SourceType><IdGuideSource>57394</IdGuideSource></Details>-<Links>-<Content><Url>http://192.168.1.18:80/download/My%20Cat%20From%20Hell.TiVo?Container=%2FNowPlaying&id=243674</Url><ContentType>video/x-tivo-raw-tts</ContentType><Available>No</Available></Content>-<CustomIcon><Url>urn:tivo:image:in-progress-recording</Url><ContentType>image/*</ContentType><AcceptsParams>No</AcceptsParams></CustomIcon>-<TiVoVideoDetails><Url>https://192.168.1.18:443/TiVoVideoDetails?id=243674</Url><ContentType>text/xml</ContentType><AcceptsParams>No</AcceptsParams></TiVoVideoDetails></Links></Item>-<Item>-<Details><ContentType>video/x-tivo-raw-tts</ContentType><SourceFormat>video/x-tivo-raw-tts</SourceFormat><Title>Dexter</Title><SourceSize>5767168000</SourceSize><Duration>3600000</Duration><CaptureDate>0x4F08B958</CaptureDate><EpisodeTitle>Those Kinds of Things</EpisodeTitle><Description>Dexter attends his high school reunion; a faith-based murder causes Dexter to question spirituality; Deb becomes an unexpected hero. Copyright Tribune Media Services, Inc.</Description><SourceChannel>865</SourceChannel><SourceStation>SHOWHD</SourceStation><HighDefinition>Yes</HighDefinition><ProgramId>EP008597950062</ProgramId><SeriesId>SH859795</SeriesId><EpisodeNumber>601</EpisodeNumber><StreamingPermission>No</StreamingPermission><TvRating>6</TvRating><ShowingBits>987811</ShowingBits><SourceType>2</SourceType><IdGuideSource>21868</IdGuideSource></Details>-<Links>-<Content><Url>http://192.168.1.18:80/download/Dexter.TiVo?Container=%2FNowPlaying&id=243935</Url><ContentType>video/x-tivo-raw-tts</ContentType></Content>-<TiVoVideoDetails><Url>https://192.168.1.18:443/TiVoVideoDetails?id=243935</Url><ContentType>text/xml</ContentType><AcceptsParams>No</AcceptsParams></TiVoVideoDetails></Links></Item>-<Item>-<Details><ContentType>x-tivo-container/folder</ContentType><SourceFormat>x-tivo-container/tivo-dvr</SourceFormat><Title>Dirty Jobs</Title><LastChangeDate>0x4F08EA98</LastChangeDate><TotalItems>8</TotalItems><LastCaptureDate>0x4F086BFE</LastCaptureDate><UniqueId>21225</UniqueId></Details>-<Links>-<Content><Url>https://192.168.1.18:443/TiVoConnect?Command=QueryContainer&Container=%2FNowPlaying%2F21225</Url><ContentType>x-tivo-container/folder</ContentType></Content>-<CustomIcon><Url>urn:tivo:image:folder</Url><ContentType>image/*</ContentType><AcceptsParams>No</AcceptsParams></CustomIcon></Links></Item>-<Item>-<Details><ContentType>x-tivo-container/folder</ContentType><SourceFormat>x-tivo-container/tivo-dvr</SourceFormat><Title>Mysteries at the Museum</Title><LastChangeDate>0x4F08EA98</LastChangeDate><TotalItems>8</TotalItems><LastCaptureDate>0x4F0841CE</LastCaptureDate><UniqueId>19548</UniqueId></Details>-<Links>-<Content><Url>https://192.168.1.18:443/TiVoConnect?Command=QueryContainer&Container=%2FNowPlaying%2F19548</Url><ContentType>x-tivo-container/folder</ContentType></Content>-<CustomIcon><Url>urn:tivo:image:folder</Url><ContentType>image/*</ContentType><AcceptsParams>No</AcceptsParams></CustomIcon></Links></Item>-<Item>-<Details><ContentType>x-tivo-container/folder</ContentType><SourceFormat>x-tivo-container/tivo-dvr</SourceFormat><Title>Intelligence</Title><LastChangeDate>0x4F08EA98</LastChangeDate><TotalItems>24</TotalItems><LastCaptureDate>0x4F07B534</LastCaptureDate><UniqueId>30966</UniqueId></Details>-<Links>-<Content><Url>https://192.168.1.18:443/TiVoConnect?Command=QueryContainer&Container=%2FNowPlaying%2F30966</Url><ContentType>x-tivo-container/folder</ContentType></Content>-<CustomIcon><Url>urn:tivo:image:folder</Url><ContentType>image/*</ContentType><AcceptsParams>No</AcceptsParams></CustomIcon></Links></Item>-<Item>-<Details><ContentType>video/x-tivo-raw-tts</ContentType><SourceFormat>video/x-tivo-raw-tts</SourceFormat><Title>Infested!</Title><SourceSize>6333399040</SourceSize><Duration>3596000</Duration><CaptureDate>0x4F07A720</CaptureDate><EpisodeTitle>Crawls From the Walls</EpisodeTitle><SourceChannel>630</SourceChannel><SourceStation>APLHD</SourceStation><HighDefinition>Yes</HighDefinition><ProgramId>EP013605340004</ProgramId><SeriesId>SH01360534</SeriesId><EpisodeNumber>201</EpisodeNumber><StreamingPermission>No</StreamingPermission><TvRating>4</TvRating><ShowingBits>4098</ShowingBits><SourceType>2</SourceType><IdGuideSource>57394</IdGuideSource></Details>-<Links>-<Content><Url>http://192.168.1.18:80/download/Infested!.TiVo?Container=%2FNowPlaying&id=231396</Url><ContentType>video/x-tivo-raw-tts</ContentType></Content>-<TiVoVideoDetails><Url>https://192.168.1.18:443/TiVoVideoDetails?id=231396</Url><ContentType>text/xml</ContentType><AcceptsParams>No</AcceptsParams></TiVoVideoDetails></Links></Item>-<Item>-<Details><ContentType>video/x-tivo-raw-tts</ContentType><SourceFormat>video/x-tivo-raw-tts</SourceFormat><Title>Gold Rush</Title><SourceSize>6113198080</SourceSize><Duration>3654000</Duration><CaptureDate>0x4F07A720</CaptureDate><EpisodeTitle>Dead in the Water</EpisodeTitle><Description>Jack Hoffman's excavator requires emergency repairs after getting stranded in the creek; a wash plant tune-up doubles efficiency. Copyright Tribune Media Services, Inc.</Description><SourceChannel>620</SourceChannel><SourceStation>DSCHD</SourceStation><HighDefinition>Yes</HighDefinition><ProgramId>EP014707060012</ProgramId><SeriesId>SH01470706</SeriesId><EpisodeNumber>209</EpisodeNumber><StreamingPermission>No</StreamingPermission><TvRating>4</TvRating><ShowingBits>266243</ShowingBits><SourceType>2</SourceType><IdGuideSource>56905</IdGuideSource></Details>-<Links>-<Content><Url>http://192.168.1.18:80/download/Gold%20Rush.TiVo?Container=%2FNowPlaying&id=231335</Url><ContentType>video/x-tivo-raw-tts</ContentType></Content>-<TiVoVideoDetails><Url>https://192.168.1.18:443/TiVoVideoDetails?id=231335</Url><ContentType>text/xml</ContentType><AcceptsParams>No</AcceptsParams></TiVoVideoDetails></Links></Item>-<Item>-<Details><ContentType>video/x-tivo-raw-tts</ContentType><SourceFormat>video/x-tivo-raw-tts</SourceFormat><Title>Supernatural</Title><SourceSize>5955911680</SourceSize><Duration>3597000</Duration><CaptureDate>0x4F07A720</CaptureDate><EpisodeTitle>Adventures in Babysitting</EpisodeTitle><Description>Dean becomes obsessed with finding out how to take down Dick Roman (James Patrick Stuart); Sam helps a teenager search for her father (Ian Tracey), a hunter who disappeared. Copyright Tribune Media Services, Inc.</Description><SourceChannel>504</SourceChannel><SourceStation>WTOGDT</SourceStation><HighDefinition>Yes</HighDefinition><ProgramId>EP007542310144</ProgramId><SeriesId>SH754231</SeriesId><EpisodeNumber>711</EpisodeNumber><StreamingPermission>No</StreamingPermission><TvRating>5</TvRating><ShowingBits>397315</ShowingBits><SourceType>2</SourceType><IdGuideSource>30617</IdGuideSource></Details>-<Links>-<Content><Url>http://192.168.1.18:80/download/Supernatural.TiVo?Container=%2FNowPlaying&id=231357</Url><ContentType>video/x-tivo-raw-tts</ContentType></Content>-<TiVoVideoDetails><Url>https://192.168.1.18:443/TiVoVideoDetails?id=231357</Url><ContentType>text/xml</ContentType><AcceptsParams>No</AcceptsParams></TiVoVideoDetails></Links></Item>-<Item>-<Details><ContentType>video/x-tivo-raw-tts</ContentType><SourceFormat>video/x-tivo-raw-tts</SourceFormat><Title>A Gifted Man</Title><SourceSize>5819596800</SourceSize><Duration>3595000</Duration><CaptureDate>0x4F079910</CaptureDate><EpisodeTitle>In Case of a Bolt From the Blue</EpisodeTitle><Description>While working at the clinic during a blizzard, Michael starts exhibiting signs of a severe condition that needs immediate surgery. Copyright Tribune Media Services, Inc.</Description><SourceChannel>510</SourceChannel><SourceStation>WTSPDT</SourceStation><HighDefinition>Yes</HighDefinition><ProgramId>EP014198600010</ProgramId><SeriesId>SH01419860</SeriesId><EpisodeNumber>109</EpisodeNumber><StreamingPermission>No</StreamingPermission><TvRating>4</TvRating><ShowingBits>266243</ShowingBits><SourceType>2</SourceType><IdGuideSource>20495</IdGuideSource></Details>-<Links>-<Content><Url>http://192.168.1.18:80/download/A%20Gifted%20Man.TiVo?Container=%2FNowPlaying&id=231355</Url><ContentType>video/x-tivo-raw-tts</ContentType></Content>-<CustomIcon><Url>urn:tivo:image:expires-soon-recording</Url><ContentType>image/*</ContentType><AcceptsParams>No</AcceptsParams></CustomIcon>-<TiVoVideoDetails><Url>https://192.168.1.18:443/TiVoVideoDetails?id=231355</Url><ContentType>text/xml</ContentType><AcceptsParams>No</AcceptsParams></TiVoVideoDetails></Links></Item>-<Item>-<Details><ContentType>video/x-tivo-raw-tts</ContentType><SourceFormat>video/x-tivo-raw-tts</SourceFormat><Title>Chuck</Title><SourceSize>6165626880</SourceSize><Duration>3603000</Duration><CaptureDate>0x4F079910</CaptureDate><EpisodeTitle>Chuck Versus the Kept Man</EpisodeTitle><Description>Chuck and Sarah think about the next move for Carmichael Industries; Gertrude approaches Casey with a mission; Jeff and Lester suspect something strange is going on at the Buy More. Copyright Tribune Media Services, Inc.</Description><SourceChannel>508</SourceChannel><SourceStation>WFLADT</SourceStation><HighDefinition>Yes</HighDefinition><ProgramId>EP009307790093</ProgramId><SeriesId>SH930779</SeriesId><StreamingPermission>No</StreamingPermission><TvRating>4</TvRating><ShowingBits>921603</ShowingBits><SourceType>2</SourceType><IdGuideSource>21222</IdGuideSource></Details>-<Links>-<Content><Url>http://192.168.1.18:80/download/Chuck.TiVo?Container=%2FNowPlaying&id=231281</Url><ContentType>video/x-tivo-raw-tts</ContentType></Content>-<CustomIcon><Url>urn:tivo:image:expires-soon-recording</Url><ContentType>image/*</ContentType><AcceptsParams>No</AcceptsParams></CustomIcon>-<TiVoVideoDetails><Url>https://192.168.1.18:443/TiVoVideoDetails?id=231281</Url><ContentType>text/xml</ContentType><AcceptsParams>No</AcceptsParams></TiVoVideoDetails></Links></Item>-<Item>-<Details><ContentType>video/x-tivo-raw-tts</ContentType><SourceFormat>video/x-tivo-raw-tts</SourceFormat><Title>Caged</Title><SourceSize>7990149120</SourceSize><Duration>3600000</Duration><CaptureDate>0x4F0680FC</CaptureDate><EpisodeTitle>Amateur cage fighting</EpisodeTitle><Description>Louisiana friends long for futures in amateur cage fighting. Copyright Tribune Media Services, Inc.</Description><SourceChannel>710</SourceChannel><SourceStation>MTVHD</SourceStation><HighDefinition>Yes</HighDefinition><ProgramId>EP015117530001</ProgramId><SeriesId>SH01511753</SeriesId><EpisodeNumber>101</EpisodeNumber><StreamingPermission>No</StreamingPermission><ShowingBits>2</ShowingBits><SourceType>2</SourceType><IdGuideSource>60964</IdGuideSource></Details>-<Links>-<Content><Url>http://192.168.1.18:80/download/Caged.TiVo?Container=%2FNowPlaying&id=235724</Url><ContentType>video/x-tivo-raw-tts</ContentType></Content>-<CustomIcon><Url>urn:tivo:image:expires-soon-recording</Url><ContentType>image/*</ContentType><AcceptsParams>No</AcceptsParams></CustomIcon>-<TiVoVideoDetails><Url>https://192.168.1.18:443/TiVoVideoDetails?id=235724</Url><ContentType>text/xml</ContentType><AcceptsParams>No</AcceptsParams></TiVoVideoDetails></Links></Item>-<Item>-<Details><ContentType>video/x-tivo-raw-tts</ContentType><SourceFormat>video/x-tivo-raw-tts</SourceFormat><Title>American Stuffers</Title><SourceSize>7497318400</SourceSize><Duration>3585000</Duration><CaptureDate>0x4F0663B0</CaptureDate><EpisodeTitle>Keep Your Dead Animals Out of My Kitchen</EpisodeTitle><Description>Daniel uses the oven to dry animal parts; his wife erupts. Copyright Tribune Media Services, Inc.</Description><SourceChannel>630</SourceChannel><SourceStation>APLHD</SourceStation><HighDefinition>Yes</HighDefinition><ProgramId>EP015033930001</ProgramId><SeriesId>SH01503393</SeriesId><EpisodeNumber>1</EpisodeNumber><StreamingPermission>No</StreamingPermission><TvRating>5</TvRating><ShowingBits>266242</ShowingBits><SourceType>2</SourceType><IdGuideSource>57394</IdGuideSource></Details>-<Links>-<Content><Url>http://192.168.1.18:80/download/American%20Stuffers.TiVo?Container=%2FNowPlaying&id=234200</Url><ContentType>video/x-tivo-raw-tts</ContentType></Content>-<CustomIcon><Url>urn:tivo:image:expires-soon-recording</Url><ContentType>image/*</ContentType><AcceptsParams>No</AcceptsParams></CustomIcon>-<TiVoVideoDetails><Url>https://192.168.1.18:443/TiVoVideoDetails?id=234200</Url><ContentType>text/xml</ContentType><AcceptsParams>No</AcceptsParams></TiVoVideoDetails></Links></Item>-<Item>-<Details><ContentType>x-tivo-container/folder</ContentType><SourceFormat>x-tivo-container/tivo-dvr</SourceFormat><Title>Impractical Jokers</Title><LastChangeDate>0x4F08EA98</LastChangeDate><TotalItems>2</TotalItems><LastCaptureDate>0x4F0663B7</LastCaptureDate><UniqueId>186821</UniqueId></Details>-<Links>-<Content><Url>https://192.168.1.18:443/TiVoConnect?Command=QueryContainer&Container=%2FNowPlaying%2F186821</Url><ContentType>x-tivo-container/folder</ContentType></Content>-<CustomIcon><Url>urn:tivo:image:folder</Url><ContentType>image/*</ContentType><AcceptsParams>No</AcceptsParams></CustomIcon></Links></Item>-<Item>-<Details><ContentType>video/x-tivo-raw-tts</ContentType><SourceFormat>video/x-tivo-raw-tts</SourceFormat><Title>Jersey Shore</Title><SourceSize>8503951360</SourceSize><Duration>3898000</Duration><CaptureDate>0x4F0663B0</CaptureDate><EpisodeTitle>Hurricane Situation</EpisodeTitle><Description>The roommates are excited to be back in New Jersey; Mike threatens to destroy Snooki's relationship with Jionni. Copyright Tribune Media Services, Inc.</Description><SourceChannel>710</SourceChannel><SourceStation>MTVHD</SourceStation><HighDefinition>Yes</HighDefinition><ProgramId>EP012079990056</ProgramId><SeriesId>SH01207999</SeriesId><EpisodeNumber>501</EpisodeNumber><StreamingPermission>No</StreamingPermission><TvRating>5</TvRating><ShowingBits>851971</ShowingBits><SourceType>2</SourceType><IdGuideSource>60964</IdGuideSource></Details>-<Links>-<Content><Url>http://192.168.1.18:80/download/Jersey%20Shore.TiVo?Container=%2FNowPlaying&id=228530</Url><ContentType>video/x-tivo-raw-tts</ContentType></Content>-<CustomIcon><Url>urn:tivo:image:expires-soon-recording</Url><ContentType>image/*</ContentType><AcceptsParams>No</AcceptsParams></CustomIcon>-<TiVoVideoDetails><Url>https://192.168.1.18:443/TiVoVideoDetails?id=228530</Url><ContentType>text/xml</ContentType><AcceptsParams>No</AcceptsParams></TiVoVideoDetails></Links></Item></TiVoContainer>


----------



## lrhorer

texag93 said:


> Thanks for all the tips lrhorer. I will give that a try!


You're certainly welcome.



texag93 said:


> BTW, do your DVD's play back on the Tivo with 5.1 surround sound?


Yes, they do, provided of course it was 5.1 on the DVD in the first place. I have some DVDs that are not 5.1 or even 3.1.



texag93 said:


> Regarding the Grande Tivo, just to update in case anyone wonders. The Premier that comes with Grande service is pretty much an off the shelf Tivo. They only disabled Netflix and Hulu, and everything else seems to work, including pyTivo!


Have you tried any HME functions, like Galleon or vidmgr?



texag93 said:


> Now the only challenge i'm still having is they are having trouble linking my Grande Tivo with my personal one so that I can transfer shows between them (they have to have the same media access key). But they say it should work - they just started this service 2 months ago in Dallas and have some kinks to work out.


Yeah, that could be a bit sticky, since the MAK is tied to the account. This is something TiVo will have to fix on their end, at least in terms of it working at all. They will have to allow either you or Grande to add a TiVo that is not on your account.


----------



## JosephB

Now that streaming is coming soon with 20.2, is there any hope that pyTivo will be able to stream? I'm not sure how it works, I guess it's showing up to the Premieres as a Series 3? If so, any way to work towards streaming support?


----------



## wmcbrine

JosephB said:


> Now that streaming is coming soon with 20.2, is there any hope that pyTivo will be able to stream?


We don't really know anything about how streaming is implemented yet. So... maybe?



> _I guess it's showing up to the Premieres as a Series 3?_


If you mean pyTivo, no -- from the TiVo's perspective, it looks more like TiVo Desktop (with some aspects that are more like a real TiVo, and with unique elements of its own), but it doesn't actually masquerade as anything; it reports itself as pyTivo. (I could explain this in great detail, but it's boring.)


----------



## JosephB

Awesome. I don't know Python, but I'm generally a pretty adept technical type. Recently got back into TiVo when I got a Premiere so I'm looking forward to continued development and hope to help however I can


----------



## innocentfreak

wmcbrine, let me know if that works for you or I can email you the file. I didn't realize the code option would mess up the formatting.


----------



## wmcbrine

The code tag didn't mess up the formatting. Anyway, yes, that was good enough.


----------



## innocentfreak

wmcbrine said:


> The code tag didn't mess up the formatting. Anyway, yes, that was good enough.


Ok cool, let me know if you need anything else.


----------



## tomm1079

i looked up 4 posts and got my answer


----------



## TracySMiller

I'm having a problem now with pyTivo and my Tivo Premiere. I have the latest 20.2 update, and am using the McBrine fork of pyTiVo. My video shares are taking a LONG time to populate quite often, sometimes 10-15 minutes. When I enter the menu to my video shares, it'll appear as if the list is blank for this length of time. Eventually they appear. Pushes are also taking about 10-15 minutes before the blue light comes on on the TiVo. Any ideas? Here is my tivo.config:

[Tracy]
force_alpha = true
type = music
path = \\NAS\Public\Music

[_tivo_SD]

[Videos on NAS]
force_alpha = true
type = video
path = \\NAS\Public\Videos

[_tivo_HD]

[Server]
tivo_password = xxxxxxxxx
tivo_mak = xxxxxxxxx
ffmpeg = C:\Program Files\pyTivo\bin\ffmpeg.exe
temp = C:\Users\Public\Documents\pyTivo
tivodecode = C:\tivodecode\tivodecode
togo_path = \\NAS\Public\Videos\Tivo Recordings
tivo_username = xxxxxxxxxxxx
port = 9032


----------



## Mark.Tolman

My TiVo is placing files transferred from my pyTivo share into the "My Shows" list based on the date/time of the file, not the date/time it was transferred. I'm not sure what changed, they used to show up at the top of the list. I am using the McBrine fork of pyTiVo from a couple weeks ago.

I've searched this forum, but haven't found an answer, so I thought I would post.

Other than a minor mod to start the ffmpeg process in a "below-normal" priority, I've not touched the code. I was about to mess around with it to try and force the current date on the files, but figured I'd ask you first. Thanks.


----------



## moyekj

Mark.Tolman said:


> My TiVo is placing files transferred from my pyTivo share into the "My Shows" list based on the date/time of the file, not the date/time it was transferred. I'm not sure what changed, they used to show up at the top of the list. I am using the McBrine fork of pyTiVo from a couple weeks ago.
> 
> I've searched this forum, but haven't found an answer, so I thought I would post.
> 
> Other than a minor mod to start the ffmpeg process in a "below-normal" priority, I've not touched the code. I was about to mess around with it to try and force the current date on the files, but figured I'd ask you first. Thanks.


 There is a thread posted in the wrong forum about this:
http://www.tivocommunity.com/tivo-vb/showthread.php?t=482327
In short 20.2 software on Series 4 units broke sending extended metadata to a TiVo (among other things).


----------



## BankZ

wmcbrine said:


> But what is the length of the program? (File size is kind of irrelevant -- the reencoded size could be quite different.)


It was 2.5 hours


----------



## Hercules67

Two quick questions guys:

1) This has never happened to me before. I pulled a program using KMTTG and encoded it in mp4, putting it in my shared VIDEO directory. It's an episode of a series I am behind on. OK. So, now, I am trying to use pyTiVo to pull it back. Can't. It says that it's copyright protected. What the heck?!!! I've never seen this before! Do I need to re-encode this file or something?

2) Also, I can't get my PHOTO and MUSIC shares to show-up. Other than Identifying them as <photo> and <music> do I have to do anything else in config file with them? (No problem with any of my video shares. I got 4).

Thanks.


----------



## wmcbrine

Hercules67 said:


> It says that it's copyright protected. What the heck?!!!


pyTivo gives that notice for anything it can't transfer, for whatever reason, because that's basically the only mechanism available for reporting an error to the TiVo. Usually it means that ffmpeg reported an error when it tried to read the file. So, yes, it sounds like there's a problem with the file, at least from ffmpeg's perspective. I'd have to see the log/console output to tell you more.



> _Also, I can't get my PHOTO and MUSIC shares to show-up. Other than Identifying them as <photo> and <music>_


I'm assuming that you don't actually have the angle brackets in your pyTivo.conf. 

Usually when people say this, it's because they're looking in the wrong place. Video shares appear at the bottom of the NPL, but music and photo shares appear under "Music, Photos, & Showcases" (SDUI) or "Music & Photos" (HDUI). (These names vary slightly depending on the TiVo software version, but you get the idea.)


----------



## Hercules67

wmcbrine said:


> pyTivo gives that notice for anything it can't transfer, for whatever reason, because that's basically the only mechanism available for reporting an error to the TiVo. Usually it means that ffmpeg reported an error when it tried to read the file. So, yes, it sounds like there's a problem with the file, at least from ffmpeg's perspective. I'd have to see the log/console output to tell you more.
> 
> I'm assuming that you don't actually have the angle brackets in your pyTivo.conf.
> 
> Usually when people say this, it's because they're looking in the wrong place. Video shares appear at the bottom of the NPL, but music and photo shares appear under "Music, Photos, & Showcases" (SDUI) or "Music & Photos" (HDUI). (These names vary slightly depending on the TiVo software version, but you get the idea.)


On the second one (and since I am using your branch of pyTiVo) - :up: Thanks! - you're probably right! I'll go look.

On the first one, I'll run a diagnostic, OR re-encode!


----------



## Raver

I'm having a hard time getting this pytivo thing to work. I've dl python 3.2 and wmcbrine's zip info and have the pydoc server running. After reading through these posts there are other settings that I need to change but I don't know where or how to do them. Help!

I'm on win7


----------



## reneg

Raver said:


> I'm having a hard time getting this pytivo thing to work. I've dl python 3.2 and wmcbrine's zip info and have the pydoc server running. After reading through these posts there are other settings that I need to change but I don't know where or how to do them. Help!
> 
> I'm on win7


I think things went south when you DLed python 3.2. I haven't installed pytivo from scratch in a while, but these were some pretty straightforward installation instructions for windows. <removed link>


----------



## wmcbrine

Yes, pyTivo is for Python 2.x only, now and for the foreseeable future.

I don't recommend those instructions, I'd suggest these instead:

http://pytivo.sourceforge.net/wiki/index.php/Windows_Install#Manual_Install_Instructions_for_Windows

I mean, if you must use Windows.


----------



## Raver

wmcbrine said:


> Yes, pyTivo is for Python 2.x only, now and for the foreseeable future.
> 
> I don't recommend those instructions, I'd suggest these instead:
> 
> http://pytivo.sourceforge.net/wiki/index.php/Windows_Install#Manual_Install_Instructions_for_Windows
> 
> I mean, if you must use Windows.


Yes I must... lol


----------



## Raver

I created a folder in pyTivo called install/bin and installed the ffmpeg and the tivodecode and tdcat files in it. Is this the correct way to do it?

When I point my browser to http://localhost:9032

This is all I see... no the pyTivo webconfigurator

This is a pyTivo server

No Admin plugin installed in pyTivo.conf
If you wish to use the admin plugin add the following lines to pyTivo.conf

[Admin]
type=admin
Video shares:
MyMovies


----------



## Raver

I still can't get the web configuration up but I do get the push to Tivo buttons. I checked Tivo and it sees these files but I get and error when I try to push them to tivo. when I click on Tivo to start the movie it just goes back to the title I clicked on and won't start, presumably becuase it didn't get pushed?

MyMovies
Title	
Movies	Open Folder
VccTempVideo	Open Folder
00800	
ADS_UV_HarryPotter7P2_main_FAXS_2000k_dl	
Untitled


----------



## Raver

I added an exception in windows firewall...but since I'm seeing the files in on Tivos now playing I assume the firewall isn't the problem.


----------



## wmcbrine

Raver said:


> I created a folder in pyTivo called install/bin and installed the ffmpeg and the tivodecode and tdcat files in it. Is this the correct way to do it?


No -- just "bin". Where are you getting "install/bin"?

Of course you can call it whatever you want, as long as you point to it in pyTivo.conf. But "bin" in the one that's recognized automatically, so you don't need to specify the paths.



> _No Admin plugin installed in pyTivo.conf_


You're using a very old version of pyTivo.


----------



## Raver

6. Extract the ffmpeg.zip and overwrite the old ffmpeg.exe in \<install folder>\bin\ If the directory does not exist, create it.

7. To properly handle .tivo files grab the special version of tivodecode: http://pytivo.sourceforge.net/forum/download.php?id=196

8. Drop the tivodecode files into \<install folder>\bin\.

Which version is newer of pyTivo? Have link to it?


----------



## lpwcomp

<install folder> refers to whatever folder you installed pyTivo. For example, if you installed pyTivo in C:\pyTivo then <install folder>\bin would be C:\pyTivo\bin


----------



## Raver

lpwcomp said:


> <install folder> refers to whatever folder you installed pyTivo. For example, if you installed pyTivo in C:\pyTivo then <install folder>\bin would be C:\pyTivo\bin


Thanks that's what I ended up doing. Still won't upload to tivo however.


----------



## lpwcomp

To get the latest version of pyTivo, use the "My pyTivo fork" link in wcmbrine's sig line. He's the developer.


----------



## wmcbrine

_A_ developer.


----------



## BankZ

I am having a problem running as a service. Everything works fine when I run "pyTivo.py". However, when I run as a service it sees the app in my Now Playing but does now see any files. Ideas?


----------



## lpwcomp

wmcbrine said:


> _A_ developer.


Don't confuse the issue with facts.

OK then, he is one of* the developers of pyTivo.

* Thought of saying "current lead" but wasn't sure how that would be received.


----------



## Phantom Gremlin

wmcbrine said:


> Yes, pyTivo is for Python 2.x only, now and for the foreseeable future.


Back a number of years ago I wrote some Python code that relied on features in newer versions (2.x at the time), so I used various system calls to check.

A quick glance at the doc pulls up sys.version and sys.version_info. You could (and IMO should) check on startup and error out if you detect Python 3.x.

My problem was a little more complicated because the older 1.52 Python IIRC didn't even support the version info.


----------



## lpwcomp

Phantom Gremlin said:


> Back a number of years ago I wrote some Python code that relied on features in newer versions (2.x at the time), so I used various system calls to check.
> 
> A quick glance at the doc pulls up sys.version and sys.version_info. You could (and IMO should) check on startup and error out if you detect Python 3.x.
> 
> My problem was a little more complicated because the older 1.52 Python IIRC didn't even support the version info.


You mean like this:


Code:


if sys.version_info[0] != 2 or sys.version_info[1] < 4:
    print ('ERROR: pyTivo requires Python >= 2.4, < 3.0.\n')
    sys.exit(1)

The above lines of code were copied from pyTivo.py. They've been there for a while. Why did you assume they weren't in there?


----------



## Raver

Ok now I'm all screwed up and nothing works.....

It seems simple enough to setup but for some reason I'm mucking it all up....


----------



## Phantom Gremlin

lpwcomp said:


> The above lines of code were copied from pyTivo.py. They've been there for a while. Why did you assume they weren't in there?


The response from wmcbrine was one in a series, and I didn't go back and read the full thread. Nor did I read the source.

I assumed that the pyTivo test wasn't there, and perhaps python threw a confusing run time exception. Or perhaps the error message itself was confusing. So that's why I thought that the newbie was confused.

But the message you show above is pretty clear, so, assuming that there's no python run time error from the 2.x source when pyTivo starts, it should have been obvious to the guy with the problem that running on python 3.2.1 wasn't the right way to go.


----------



## Raver

when I click on pytivo file to load up the web configuration the dos prompt wndow comes up but disappears and I can't read what it says.

I've tried both methods and can't get anywhere. Here is the exact steps I''ve used

1. Download & Install Python 2.7 using defaults. http://www.python.org/download/

Then, go to the directory and make a copy of the file pyTivo.conf.dist and name it pytivo.conf. Note the helpful comments throughout this file -- and in particular be sure to put the correct path to ffmpeg.exe (see next 2 steps) in the ffmpeg variable in the Server section.

5. Grab the latest Rdian06 build of FFmpeg for pyTivo: http://pytivo.sourceforge.net/forum/download.php?id=323

Which I assume is this file?


6. Extract the ffmpeg.zip and overwrite the old ffmpeg.exe in \<install folder>\bin\ If the directory does not exist, create it. I had to create it.

7. To properly handle .tivo files grab the special version of tivodecode: http://pytivo.sourceforge.net/forum/download.php?id=196

8. Drop the tivodecode files into \<install folder>\bin\.

9. If you are using Windows Firewall, add a Windows Firewall exception for UDP 5353 so that Windows won't block pyTivo's new zeroconf share announcements. (The most common reason pyTivo shares don't show up or disappear from the Now Playing list on the Tivo is firewall blockages)

10. Start pyTivo by executing the file \<install folder>\pytivo.py.

11. Now that it's running, point your browser to http://localhost:9032. You should get the pyTivo home page:

my pytivo.conf reads:

C:\pyTivo\bin\ffmpeg
Videos
C:\Users\Xwing\Videos

[Admin]
type=admin
Video shares:
MyMovies

What am I doing wrong now?


----------



## moyekj

Phantom Gremlin said:


> But the message you show above is pretty clear, so, assuming that there's no python run time error from the 2.x source when pyTivo starts, it should have been obvious to the guy with the problem that running on python 3.2.1 wasn't the right way to go.


 Problem is in Windows when you launch the .py from explorer if there is an error you get a brief window popup and no chance to see the error. So a "newbie" has to know to open a cmd window and start from there in order to see the error message, which probably most won't know how to do.

Raver, start a "cmd" window and launch pyTivo from there:
cd c:\pyTivo
c:\python\python.exe pyTivo.py

That way you can see the error.


----------



## wmcbrine

Raver, pyTivo is not for everyone. You should really consider TiVo Desktop. But I kind of admire your persistence, so...



Raver said:


> when I click on pytivo file to load up the web configuration the dos prompt wndow comes up but disappears and I can't read what it says.


Open the command window first. Start -> Run "cmd.exe". In that window, type this (change the directories as needed):

cd \pyTivo
\python27\python pyTivo.py

The window will remain open when pyTivo exits, and you'll see any errors.



> _5. Grab the latest Rdian06 build of FFmpeg for pyTivo: http://pytivo.sourceforge.net/forum/download.php?id=323
> 
> Which I assume is this file?
> _


Um, that's pyTivo, not ffmpeg.



> _my pytivo.conf reads:
> 
> C:\pyTivo\bin\ffmpeg
> Videos
> C:\Users\Xwing\Videos
> 
> [Admin]
> type=admin
> Video shares:
> MyMovies
> 
> What am I doing wrong now?_


Pretty much everything. 

Try this one:



Code:


[Server]

[Videos]
type = video
path = C:\Users\Xwing\Videos


----------



## Raver

Thanks for the help and yes it is working, while yes it's more complicated than Tivo Desktop it provides me an avenue that Tivo Desktop doesn't. While I'm not a computer guru I figured if I can build a system I can accomplish this...some hiccups are just part of being in the electronic realm.

So in the future I'll just click on pytio and it should connect.


----------



## Raver

What video formats should I stick to for uploading to Tivo?


----------



## Iluvatar

Raver said:


> What video formats should I stick to for uploading to Tivo?


Anything that FFmpeg can read which is most everything.


----------



## Hercules67

Raver said:


> What video formats should I stick to for uploading to Tivo?


Let's put it this way, so far, FFmpeg has handled the following for me through pyTiVo:

Matroska (mkv), AVI (xvid, etc), MPG (any), WMV to name a few. It's your choice really -- let your imagination run wild.


----------



## bareyb

Is there anyone who has gotten "Photos" to work on a Mac and would like to collaborate with me to create an installation guide? 

You need to have PIL installed to get it to work, but so far I'm striking out on getting it to even install. I've got two versions of PIL ("Python Imaging Library") the newest one and the one from pyTiVoX. I followed the installation instructions on the new version (double clicked setup) but got nothing but error messages... 

If anyone has the know how and is willing to work with me on this, I'd be happy to create an installation guide for future generations. I have contacted PIL support as well. I already understand how to get Video and Music working, but Photos eludes me (primarily because I can't figure out how to install PIL) It would be great to get it ALL working. I know it can't be THAT hard.


----------



## wmcbrine

Here's what I did when I wanted to install it the other day:

1. Googled "python imaging library os x 10.6" (since that's the version on my MacBook Air).

2. Followed this (result #4): http://josh.gourneau.com/blog/2011/...imaging-library-pil-on-os-x-106-snow-leopard/


----------



## bareyb

wmcbrine said:


> Here's what I did when I wanted to install it the other day:
> 
> 1. Googled "python imaging library os x 10.6" (since that's the version on my MacBook Air).
> 
> 2. Followed this (result #4): http://josh.gourneau.com/blog/2011/...imaging-library-pil-on-os-x-106-snow-leopard/


Cool. Thank you (again), I'll give it a look. We are going Skiing next week so I might have to tackle that when I return. Thanks again for all your help.


----------



## bareyb

For what it's worth, I put up a "pyTivo Setup Tutorial" for beginners over at the pyTivo forum. Hopefully not rife with too many errors. 

I'll work on it more when I get back from Tahoe. Thanks again to wmcbrine and Iluvatar for all the help getting me up and running so I could write it.

Here's the link: Installing pyTivo on the Mac for Beginners


----------



## bareyb

Wow... You guys aren't going to believe this... Someone or something over at the pyTivo forum just screwed me royally... Every time I try to edit one of my posts, it deletes it now. Look at the first two posts... all that's left are the attachments... When you go into "Edit" the text is all there, but when you hit "submit" it brings up a blank post with all that text missing... Am I screwed or what???? 

I hate to say it, but I'm feeling like maybe they don't want me over there... 

Would anyone have a problem with me moving the thread over here. This is just such BS... I'm furious....


----------



## windracer

Probably just some weird issue with the forums on sourceforge. I doubt this is something personal directed at you.


----------



## Iluvatar

no worries probably just a temporary glitch. The forum software is not the best.

Here is a google cache copy:

http://webcache.googleusercontent.c...ml+&cd=1&hl=en&ct=clnk&gl=us&client=firefox-a


----------



## bareyb

Iluvatar said:


> no worries probably just a temporary glitch. The forum software is not the best.
> 
> Here is a google cache copy:
> 
> http://webcache.googleusercontent.c...ml+&cd=1&hl=en&ct=clnk&gl=us&client=firefox-a


Yeah. Something's messed up. I'll try to fix it later. In the meantime I was able to move everything to TCF here: http://www.tivocommunity.com/tivo-vb/showthread.php?p=8960459#post8960459

I like the formatting tools better here anyway. I was able to put the pics inline instead of having to have them all in Attachment Windows at the bottom of the post where they don't relate.


----------



## bareyb

Alright. pyTivo's website is working again. Not sure what was wrong but I added the posts back a couple of lines at a time and it took. It's fine for now.


----------



## Jebberwocky!

Bareyb, thanks for the inspiration, I installed pvTivo on my PC last night after work, I was up and running in 20 minutes. That was the good news, the bad news was that I deleted my entire directory of my archived TV shows. I should have paid attention when the pop up message said my deletion was too big for the recycle bin! LOL

I was able to pull 5 shows onto my premiere before I screwed the pooch. I was actually surprised that I was able to get it up and running pretty much without incident. that never happens (to me)


----------



## bareyb

Jebberwocky! said:


> Bareyb, thanks for the inspiration, I installed pvTivo on my PC last night after work, I was up and running in 20 minutes. That was the good news, the bad news was that I deleted my entire directory of my archived TV shows. I should have paid attention when the pop up message said my deletion was too big for the recycle bin! LOL
> 
> I was able to pull 5 shows onto my premiere before I screwed the pooch. I was actually surprised that I was able to get it up and running pretty much without incident. that never happens (to me)


Right on. This takes viewing to the next level for sure. Glad to hear it worked out so well! 20 minutes eh? That's awesome and it's exactly the kind of thing I was hoping to hear. Thanks for letting me know.


----------



## BankZ

Is there a way to hide folders? For some reason its showing my Recycle.Bin


----------



## bareyb

How does one access the "push" feature? I looked around on the Wiki but didn't see any mention of it. Do you "push" the files using Command-line instructions in Terminal or is there a GUI of some sort for that?


----------



## wmcbrine

BankZ said:


> Is there a way to hide folders? For some reason its showing my Recycle.Bin


It recognizes Unix "hidden" folders whose names start with a ".". Beyond that, I don't think there's anything; that might be something to look into. Meanwhile, my suggestion would be to point the share at a lower-level folder (e.g. "d:\movies" instead of "d:\").



bareyb said:


> How does one access the "push" feature?


Set your tivo_username and tivo_password, and the option will appear on the http://localhost:9032/ main page.



> _I looked around on the Wiki but didn't see any mention of it._


http://pytivo.sourceforge.net/wiki/index.php/Push

However, I'm not sure that page is linked from anywhere.


----------



## bareyb

wmcbrine said:


> Set your tivo_username and tivo_password, and the option will appear on the http://localhost:9032/ main page.
> 
> http://pytivo.sourceforge.net/wiki/index.php/Push
> However, I'm not sure that page is linked from anywhere.


Thanks. Got it. Decided to set up PUSH and PULL so I can add it to the Tutorial...

ETA: Wow. This is REALLY cool... Besides being able to PUSH video TO your Tivo from your computer, you can now you can PULL Movies FROM your TiVo and save them to your Hard Drive. Nice feature! :up

Success! From MAIN pyTivo Web Config page:


Brings up a list of shows on your Hard Drive, ready to push to, or pull from, any of your Tivo boxes. Who knew all this cool stuff was under the Hood!


----------



## krekeler_eagle

I am using pytivo and it works great for uploading from computer to the tivo, but since my computer crashed during a download from the tivo anytime i attempt to use tivo desktop or pytivo on another computer it gives me an error saying that the tivo is busy transfering other recordings. Is there any way to delete those transfers from the computer that crashed?


----------



## krekeler_eagle

krekeler_eagle said:


> I am using pytivo and it works great for uploading from computer to the tivo, but since my computer crashed during a download from the tivo anytime i attempt to use tivo desktop or pytivo on another computer it gives me an error saying that the tivo is busy transfering other recordings. Is there any way to delete those transfers from the computer that crashed?


reset the tivo and it is all working now


----------



## moyekj

20.2 seems to have introduced yet another bug related to closed captions being lost when pulling .TiVo or .mpg files with captions back to a series 4 unit:
http://www.tivocommunity.com/tivo-vb/showthread.php?p=8968329#post8968329

What's strange is if I force transcoding by pyTivo (I did that by putting "ts = True" in my pyTivo.conf but there's probably a better way) then captions do work OK on the TiVo.
Can anyone else confirm it's happening to you as well?


----------



## wmcbrine

I think the implication there would be that captions are being conveyed by transport streams, but not by program streams.

I'll try to test this later.


----------



## moyekj

moyekj said:


> 20.2 seems to have introduced yet another bug related to closed captions being lost when pulling .TiVo or .mpg files with captions back to a series 4 unit:
> http://www.tivocommunity.com/tivo-vb/showthread.php?p=8968329#post8968329
> 
> What's strange is if I force transcoding by pyTivo (I did that by putting "ts = True" in my pyTivo.conf but there's probably a better way) then captions do work OK on the TiVo.
> Can anyone else confirm it's happening to you as well?


FYI. The same 2 minute clip I transferred back to Premiere that did not have captions I transferred to my S3 OLED unit with pyTivo and captions worked fine on that unit. So it's confirmed to be a bug for Series 4 units. Not sure when the bug was introduced exactly but I'm pretty sure it used to work with my Premieres a few months ago.


----------



## txporter

moyekj said:


> FYI. The same 2 minute clip I transferred back to Premiere that did not have captions I transferred to my S3 OLED unit with pyTivo and captions worked fine on that unit. So it's confirmed to be a bug for Series 4 units. Not sure when the bug was introduced exactly but I'm pretty sure it used to work with my Premieres a few months ago.


Bad news.  There will be a lot of clamor about this. Seems like captions are getting hurt badly with this latest software release. I can't really confirm this though since I never bring MPEG2 video with captions back to my Tivo. Hopefully wmcbrine or someone else will be able to confirm for you.


----------



## moyekj

One more related item on this. The 2 minute clip I transferred to my S3 and verified captions were working I then used MRV to transfer to a Premiere and captions did not work when playing back on the Premiere either.

I then just used MRV to transfer a recording made by my S3 unit to a Premiere and verified that captions still worked fine that way.

So it looks like if at any point TTCB (in mpeg2 Program Stream format) is used for a clip the Premiere can no longer display captions properly even though they are present (since S3 OLED works with that same clip).


----------



## txporter

moyekj said:


> One more related item on this. The 2 minute clip I transferred to my S3 and verified captions were working I then used MRV to transfer to a Premiere and captions did not work when playing back on the Premiere either.
> 
> I then just used MRV to transfer a recording made by my S3 unit to a Premiere and verified that captions still worked fine that way.
> 
> So it looks like if at any point TTCB (in mpeg2 Program Stream format) is used for a clip the Premiere can no longer display captions properly even though they are present (since S3 OLED works with that same clip).


Maybe the remux algorithm that is used for 20.2 needs to be updated? It's pretty strange that the captions are still there and still work on older units. I just downloaded a batch of files and pulled the captions out using CCextractor without any issue. But then I hardcode the subs...so I don't have this particular issue.


----------



## moyekj

Haven't tried it yet but I'm guessing if I transfer off Premiere in TS format and then back again in TS format that it will work. I have no love for TS format though since it requires using DirectShowFilter to decrypt it (tivodecode has issues with TS transfers still) and chance of download problems seem to greatly increase using TS downloads.

I haven't yet tried but is wmcbrine pyTivo equipped to handle pulling TS .TiVo files without remuxing to PS container?


----------



## Iluvatar

moyekj said:


> Haven't tried it yet but I'm guessing if I transfer off Premiere in TS format and then back again in TS format that it will work. I have no love for TS format though since it requires using DirectShowFilter to decrypt it (tivodecode has issues with TS transfers still) and chance of download problems seem to greatly increase using TS downloads.
> 
> I haven't yet tried but is wmcbrine pyTivo equipped to handle pulling TS .TiVo files without remuxing to PS container?


Just tested and pulling TS Tivo file (not decrypted) and transferring back did not retain captions for the 3 min clip I tested.

I don't believe wmcbrine has implemented the TS pull but the other forks have it (based on lucasnz patch).


----------



## lillevig

wmcbrine said:


> I think the implication there would be that captions are being conveyed by transport streams, but not by program streams.
> 
> I'll try to test this later.


I clicked on your "My pyTivo fork" link at the end of your post here and it went to a non-existant page. I tried that because I'm wanting to install pyTivo but can't find the files I need. The pyTivo Wiki points me to your SourceForge page but that just seems to be source code. I did get Python downloaded and hopefully installed. I have kmttg and it looks like it has a way to link to pyTivo (maybe I can add a pyTivo folder in my kmttg folder?). I don't want to run pyTivo as a Windows service, I just want to activate and use as needed. Forgive my ignorance but where are the files I need?


----------



## jcthorne

lillevig said:


> I clicked on your "My pyTivo fork" link at the end of your post here and it went to a non-existant page. I tried that because I'm wanting to install pyTivo but can't find the files I need. The pyTivo Wiki points me to your SourceForge page but that just seems to be source code. I did get Python downloaded and hopefully installed. I have kmttg and it looks like it has a way to link to pyTivo (maybe I can add a pyTivo folder in my kmttg folder?). I don't want to run pyTivo as a Windows service, I just want to activate and use as needed. Forgive my ignorance but where are the files I need?


Click on the pytivo windows install help link in my sig.


----------



## wmcbrine

(Please don't quote me when you're not actually replying to what I wrote.)



lillevig said:


> I clicked on your "My pyTivo fork" link at the end of your post here and it went to a non-existant page.


Works for me, as of just now. Temporary glitch maybe?

Anyway, it's much the same as the other page you found...



> _The pyTivo Wiki points me to your SourceForge page but that just seems to be source code._


Yes, it's distributed as source code. Python is interpreted, so that works out OK. 



> _I don't want to run pyTivo as a Windows service, I just want to activate and use as needed. Forgive my ignorance but where are the files I need?_


Grab that source code zip, the latest one. Unzip it. Click on pyTivo.py. Voila, pyTivo is running. (You're going to want copies of ffmpeg, tivodecode, and tdcat for most purposes, but you don't need them to start.)


----------



## lillevig

wmcbrine said:


> (Please don't quote me when you're not actually replying to what I wrote.)
> 
> Works for me, as of just now. Temporary glitch maybe?
> 
> Anyway, it's much the same as the other page you found...
> 
> Yes, it's distributed as source code. Python is interpreted, so that works out OK.
> 
> Grab that source code zip, the latest one. Unzip it. Click on pyTivo.py. Voila, pyTivo is running. (You're going to want copies of ffmpeg, tivodecode, and tdcat for most purposes, but you don't need them to start.)


Sorry, I did the quote just so that you would get pinged that you had a new message. I often forget to check my former posts unless I see my name used when I do a search. Anyway, your link did work this time and I guess my old eyes hadn't picked up on the fact that there is a "zip" tab on the SourceForge page. I'm not familiar with Python so I didn't realize that it is an interpreter. Thanks for the help.


----------



## lpwcomp

lillevig said:


> Sorry, I did the quote just so that you would get pinged that you had a new message. I often forget to check my former posts unless I see my name used when I do a search. Anyway, your link did work this time and I guess my old eyes hadn't picked up on the fact that there is a "zip" tab on the SourceForge page. I'm not familiar with Python so I didn't realize that it is an interpreter. Thanks for the help.


I would imagine that he gets notified any time there is a new post in this thread. I know I do. That's because I have my options set to notify me whenever there is a change to a thread to which I am subscribed. Has nothing whatever to do with whether or not I am quoted.


----------



## lillevig

Ok, finally got pyTivo installed and the configuration file editted via the webpage. I did not try doing anything else via the web page. Instead, I tied pyTivo into kmttg and tried pushing a .tivo file and a .mpg file. The jobs finished pretty much instantly (not a good sign for 400+ MB files) with no errors in kmttg or in the Python window where pyTivo is running. However, no files actually made it to the Tivo. Help please.


----------



## wmcbrine

The way push works, the actual transfers can start up to several minutes after you initiate it. We can't control that. You should start with a pull from the TiVo's NPL to verify that pyTivo is working. Push is more complicated.


----------



## lillevig

wmcbrine said:


> The way push works, the actual transfers can start up to several minutes after you initiate it. We can't control that. You should start with a pull from the TiVo's NPL to verify that pyTivo is working. Push is more complicated.


Ok, I didn't realize that when pyTivo is running that I can see the MyMovies folder in the NPL of my Tivos and get them via a standard transfer. That will actually be more convenient for me because I won't have to change the destination Tivo (I have four) in either kmttg or online and do a push. The current need I have for this capability is that I want to copy some old VHS tapes to a Tivo, change the bogus Tivo assigned name, and then put them back on the Tivo. Looks like this will do it for me. Thanks again.

UPDATE: One thing I should add is that the Tivo is not fooled by the name change to a .tivo file. Apparently it reads the metadata in the .tivo file and goes with that name. To get the name change to stay, I use kmttg to convert the .tivo file to a .mpg file, rename it, and then put it back on the appropriate Tivo.


----------



## lpwcomp

lillevig said:


> UPDATE: One thing I should add is that the Tivo is not fooled by the name change to a .tivo file. Apparently it reads the metadata in the .tivo file and goes with that name. To get the name change to stay, I use kmttg to convert the .tivo file to a .mpg file, rename it, and then put it back on the appropriate Tivo.


If you also have kmttg create the metadata file, you can edit it and change it using a text editor.


----------



## lillevig

lpwcomp said:


> If you also have kmttg create the metadata file, you can edit it and change it using a text editor.


I haven't gotten that deeply into the capabilities of kmttg yet (is there a good tutorial?). Is creating the metadata file possible when transferring a .tivo file without converting it to .mpg?


----------



## bareyb

lillevig said:


> I haven't gotten that deeply into the capabilities of kmttg yet *(is there a good tutorial?)*. Is creating the metadata file possible when transferring a .tivo file without converting it to .mpg?


Not yet... but I'm thinking about it.


----------



## lpwcomp

lillevig said:


> I haven't gotten that deeply into the capabilities of kmttg yet (is there a good tutorial?). Is creating the metadata file possible when transferring a .tivo file without converting it to .mpg?


Yes, but I don't think it will do any good. The embedded metadata in the .tivo file will still be used.


----------



## wmcbrine

Yes, the .txt file takes precedence over every form of metadata _except_ that which is embedded in a .TiVo file. That's not our choice, it's the TiVo's -- we'd have to decrypt the .TiVo file to get around it. (This _is_ done in the case of a push, or when sending an HD .TiVo file to an SD TiVo.) You may as well just decrypt it up front.

There's no advantage to keeping a .TiVo file, except that the metadata remains attached. Plain MPEG files even transfer faster.


----------



## lrhorer

bareyb said:


> How does one access the "push" feature? I looked around on the Wiki but didn't see any mention of it. Do you "push" the files using Command-line instructions in Terminal or is there a GUI of some sort for that?


The simplest way is to bring up the web page in pyTivo to start the transfer. Since the transfer initiation is web based one can also employ curl or a similar utility to initiate a push. That's what I do here in order to allow myself, friends, and family to select videos to transfer prior to a movie night. There is also a truly excellent HME utility written by Jeff Bernardis named vidmgr. It allows one to initiate push transfers from the TiVo, and employs a UI that is vastly superior to the TiVo NPL.


----------



## emkorial

Just got this up and working, it's sweet!


----------



## Soapm

I am using wmcbrine fork on a debian headless server. Can someone give me a clue to installing the DVD plugin? I read that this version should work with wmcbrine fork but I have no idea what to do with a .git file.

http://repo.or.cz/w/pyTivo/wmcbrine/lucasnz.git

I know with windows I just unzipped the files and copied them into the pytivo directory so this can't be much different??? Can it???


----------



## lrhorer

Soapm said:


> I am using wmcbrine fork on a debian headless server. Can someone give me a clue to installing the DVD plugin? I read that this version should work with wmcbrine fork but I have no idea what to do with a .git file.
> 
> http://repo.or.cz/w/pyTivo/wmcbrine/lucasnz.git
> 
> I know with windows I just unzipped the files and copied them into the pytivo directory so this can't be much different??? Can it???


Well, yes, but if you wish you can simply employ his tarball:

http://repo.or.cz/w/pyTivo/wmcbrine...91fa1fceae16438abe4752d5fe802a9b5d8a65.tar.gz

Git repositories make it fairly easy to update changes to software releases without replacing the entire software suite.

Note that his git does not contain the DVD plugin itself, only a couple of small changes to William's code that reportedly make it work better with the DVD plugin. The plugin itself is here:

http://repo.or.cz/w/pyTivo_dvdvideo.git/snapshot/86e681acd63772546d0733fa95273b4134615e41.tar.gz


----------



## Soapm

lrhorer said:


> Well, yes, but if you wish you can simply employ his tarball:
> 
> http://repo.or.cz/w/pyTivo/wmcbrine...91fa1fceae16438abe4752d5fe802a9b5d8a65.tar.gz





lrhorer said:


> Note that his git does not contain the DVD plugin itself, only a couple of small changes to William's code that reportedly make it work better with the DVD plugin. The plugin itself is here:
> 
> http://repo.or.cz/w/pyTivo_dvdvideo.git/snapshot/86e681acd63772546d0733fa95273b4134615e41.tar.gz


This is what I think I was looking for. Does his git make it that much better or will I do ok with just this tar?


----------



## Soapm

lrhorer said:


> Well, yes, but if you wish you can simply employ his tarball:
> 
> http://repo.or.cz/w/pyTivo/wmcbrine...91fa1fceae16438abe4752d5fe802a9b5d8a65.tar.gz


Not sure what I'm supposed to use in here but I don't want to overwrite my config files so I may pass on this one.



lrhorer said:


> Note that his git does not contain the DVD plugin itself, only a couple of small changes to William's code that reportedly make it work better with the DVD plugin. The plugin itself is here:
> 
> http://repo.or.cz/w/pyTivo_dvdvideo.git/snapshot/86e681acd63772546d0733fa95273b4134615e41.tar.gz


This is what I think I was looking for. Does his git make it that much better or will I do ok with just this tar?


----------



## wmcbrine

The DVD-plugin-related changes in lucasnz's fork are just to get it to show up in the Push menu. I eliminated the need for these recently, in a different way. He also has other changes that are unrelated to the DVD plugin and is missing more recent changes from my fork.

I personally have never used the DVD plugin, so I can't really comment on it.


----------



## lrhorer

Soapm said:


> Not sure what I'm supposed to use in here but I don't want to overwrite my config files so I may pass on this one.


I think the plugin works with William's fork. 'Give it a try, if you like. Preventing the config file from being overwritten is trivial, though:



Code:


cd /tmp
tar -xzvf 5391fa1fceae16438abe4752d5fe802a9b5d8a65.tar.gz
cd /usr/share/pyTivo # Or whatever
cp pyTivo.conf pyTivo.conf.sav
mv /tmp/lucasnz/* ./
cp pyTivo.conf pyTivo.conf.new
cp pyTivo.conf.sav pyTivo.conf

That way you have a copy of both the old and new config file with the old one operational.

It's unnecessary in this case, however, since lucasnz doesn't provide a pyTivo.conf file in his tarball. He provides a pyTivoi.conf.dist, which will not overwrite the original config file.



Soapm said:


> This is what I think I was looking for. Does his git make it that much better or will I do ok with just this tar?


The tarball is the whole ball of wax. Git is a developer's tool. I suggest you not worry yourself with its use at this point.


----------



## Soapm

lrhorer said:


> The tarball is the whole ball of wax. *Git is a developer's tool. I suggest you not worry yourself with its use at this point*.


Yep, because I don't git it (pun intended)... :up:

Got it working with the tarball so thanks...


----------



## wkearney99

What's the "best" format to use for encoding a DVD video for downloading to a Tivo HD? One that pytivo will be able to transfer without additional processing? 

I've got a window program, Any Video Converter Ultimate, that does a pretty decent job of transcoding for other devices. They don't have a profile for Tivo devices but the software has the ability to add them, provided you know all the gnarly details. 

I've been using pytivo with the dvd plug-in, and that works a fair percentage of the time. That, combined with AnyDVD to import from discs, handles most discs. But I have a few discs my boy likes that don't seem to want to convert properly (why, is a different question). 

I've got the disc space to dedicate to multiple transcodings (ipad, ipod, android, etc) and the CPU to do the work (i7 3ghz) so it's no trouble to do the conversions ahead of time. The question is what specific settings to use? Which video resolution and codec? Which audio format (codec, bitrate, etc) and then which container to hold it all? 

Metadata is sure to be an issue, I'd like to make sure it's as complete as necessary for it to show up in the various Tivo screens in a reasonably complete form. I gather pytivo's ability to handle this via an external file might make it easier to get more information to transfer with it. Those questions I'll ask separately.

The goal here being to allow pytivo to transfer the video as painlessly as possible. A lot of this is spread over different threads, over a fair length of time. So I'm not entirely sure what the 'best practice' is with the current setups.


----------



## dcstager

No processing at all? 720x480 MPEG2 6000kb @ 29.97 fps with MP2 audio 2 channel 192k 48000.


----------



## wkearney99

dcstager said:


> No processing at all? 720x480 MPEG2 6000kb @ 29.97 fps with MP2 audio 2 channel 192k 48000.


What about using h264? I've got enough CPU on hand (or the time to let it run) to use it. Doesn't that form transfer faster to the Tivo?

Assuming I'll be using pytivo to get it to the Tivo, what file extension to use? mpg, mp4 or what?


----------



## jcthorne

I convert DVD to h264 video and ac3 audio in an mp4 container so that pytivo can push without transcode. Much quicker than MPEG2 and smaller file sizes as well. I use MeGUI for conversion and other uses.


----------



## hefe

wkearney99 said:


> What's the "best" format to use for encoding a DVD video for downloading to a Tivo HD? One that pytivo will be able to transfer without additional processing?





dcstager said:


> No processing at all? 720x480 MPEG2 6000kb @ 29.97 fps with MP2 audio 2 channel 192k 48000.





jcthorne said:


> I convert DVD to h264 video and ac3 audio in an mp4 container so that pytivo can push without transcode. Much quicker than MPEG2 and smaller file sizes as well.


Sorry for the newb question, but I'm just getting into this stuff, and was wondering the same thing. What formats can the TiVo (I've got a new Premiere) play natively without transcoding? The movies I have ripped so far are h264 in MKV. So what is pyTivo doing with a file like that...transcoding it to something else? I played one movie last night, and was a bit disappointed by the video quality, it looked too compressed, although that could totally be due to the settings I used in encoding the movie in the first place, I'm not sure. I'll have to do some tests to figure that out.


----------



## jcthorne

hefe said:


> Sorry for the newb question, but I'm just getting into this stuff, and was wondering the same thing. What formats can the TiVo (I've got a new Premiere) play natively without transcoding?


pyTivo can push mp4 files with h264 video, ac35.1 or aac 2.0 audio without change if they are IMSA compatible streaming mp4 format.

MPEG2 files with ac35.1 audio also work but are much larger for similar video quality.


----------



## Iluvatar

Also it will quickly convert(remux) any file that contains h264 video into a compatible MP4 file for pushing. Usually only adds 5-10 minutes to the process and you lose no video quality.


----------



## hefe

Iluvatar said:


> Also it will quickly convert(remux) any file that contains h264 video into a compatible MP4 file for pushing. Usually only adds 5-10 minutes to the process and you lose no video quality.


OK, so does that mean my MKV files (h264) are just being remuxed and not transcoded? That's cool if so.

Then, I think I need to revisit my encode settings. I thought I had set it up for basically a "good as DVD" sort of look, but I was seeing compression artifacts.


----------



## Iluvatar

hefe said:


> OK, so does that mean my MKV files (h264) are just being remuxed and not transcoded? That's cool if so.
> 
> Then, I think I need to revisit my encode settings. I thought I had set it up for basically a "good as DVD" sort of look, but I was seeing compression artifacts.


If you are pushing the file, possibly. If you are not running a (very) recent version of pyTivo the file will get rejected by the compatible checking for audio not being AC3 or AAC. At that point your file will be transcoded by pyTivo into a mpeg2/AC3 format.

To avoid this ensure you are running the very latest pyTivo commit. This relaxes the requirements on audio, transcoding only the audio (which takes an insignificant amount of time usually) when it is not compatible.

I can remux a 10GB movie at 900fps (as fast as my drive can read/write the data). If it has DTS audio or audio outside the specs it reduces it to maybe 750fps. Results may vary...


----------



## hefe

Good info. Yes, I would assume I've got the very latest version. I only downloaded and installed it about 3 days ago.


----------



## larrs

I did a quick search and did not find anything on this:

I am using wmcbrine's pytivo install and vidmgr for pushing to my Tivo Premieres. I am consistently getting a slight stuttering during playback while the video is still pushing to the Premiere. This happens with either vidmgr pushes initiated from the Premiere or pushes initiated from the computer. It appears it may be dropping frames during playback. The second the blue transfer light goes off, the video is fine from that point on, it only happens while the transfer is occurring. So far, I have tried with SD mpeg files with AC3 5.1, HD mpeg2 files with AC3 and mp4 files with AC3 and it happens with all of them. 

It does not happen with pulls and does not happen if I use streambaby, so I am clueless as to what to do.

Any suggestions?


----------



## moyekj

larrs said:


> I did a quick search and did not find anything on this:
> 
> I am using wmcbrine's pytivo install and vidmgr for pushing to my Tivo Premieres. I am consistently getting a slight stuttering during playback while the video is still pushing to the Premiere. This happens with either vidmgr pushes initiated from the Premiere or pushes initiated from the computer. It appears it may be dropping frames during playback. The second the blue transfer light goes off, the video is fine from that point on, it only happens while the transfer is occurring. So far, I have tried with SD mpeg files with AC3 5.1, HD mpeg2 files with AC3 and mp4 files with AC3 and it happens with all of them.
> 
> It does not happen with pulls and does not happen if I use streambaby, so I am clueless as to what to do.
> 
> Any suggestions?


 It's a bug with series4 machines. When pushing video the transfers happen at a high rate and apparently taking too many CPU cycles and affecting playback. When you pull or use streambaby those are much lower transfer rates that don't affect playback. Probably only workaround is to throttle the transfer speeds of the pushes through router settings or some other means.


----------



## wmcbrine

I've heard of this but have yet to observe it. Maybe because my Premiere is connected via component? I dunno.

We could add a throttle to pyTivo, I guess. It's just contrary to the spirit of everything we've ever done. 

P.S. MPEG2 transfers should be the same speed, push or pull...


----------



## larrs

wmcbrine said:


> I've heard of this but have yet to observe it. Maybe because my Premiere is connected via component? I dunno.
> 
> We could add a throttle to pyTivo, I guess. It's just contrary to the spirit of everything we've ever done.
> 
> P.S. MPEG2 transfers should be the same speed, push or pull...


I thought so, but it is definitely there and replicatable. I would hate to see anything throttled, but I can tell you that with an Mpeg 2 HD movie (roughly 10GB), it takes 45 mins or so to transfer and it is there all the way through until it finishes the transfer- both video and audio suffers for that period of time.

I just verified that it does happen on pulls as well. I did not remember that, but it does. I am going to look into it and post back any additional info.

Thanks for looking into it.


----------



## ncfoster

wmcbrine said:


> I've heard of this but have yet to observe it. Maybe because my Premiere is connected via component? I dunno.
> 
> We could add a throttle to pyTivo, I guess. It's just contrary to the spirit of everything we've ever done.
> 
> P.S. MPEG2 transfers should be the same speed, push or pull...


I know from my time on the ReplayTV side of things for years that some degree of throttling was necessary in most cases to keep the machines from crashing. I just experienced a crash when streaming something myself. Might be nice to have the option to throttle if it isn't too time-consuming to add. I'm guessing in little time, the community would have some pretty good guidelines as to what works best in various situations.

Thanks again for all of your work.


----------



## larrs

wmcbrine said:


> I've heard of this but have yet to observe it. Maybe because my Premiere is connected via component? I dunno.
> 
> We could add a throttle to pyTivo, I guess. It's just contrary to the spirit of everything we've ever done.
> 
> P.S. MPEG2 transfers should be the same speed, push or pull...


I played around with it this morning and it is definitely happening on the Elite. It seems less noticeable on the Premiere but it is there. Also, I verified that watching any other recorded program on the Tivo exibits the same behavior while the pyTivo push or pull is happening.

I doubt it is relevant, but the router connecting my Tivos is a Netgear with gigabit ports. This might affect the Elite with its gigbit port, but I thought the Premieres only have 10/100 ports. According to the Tivos, my transfers are only 40 +/- anyway.


----------



## txporter

wmcbrine said:


> I've heard of this but have yet to observe it. Maybe because my Premiere is connected via component? I dunno.
> 
> We could add a throttle to pyTivo, I guess. It's just contrary to the spirit of everything we've ever done.
> 
> P.S. MPEG2 transfers should be the same speed, push or pull...


This is interesting. I haven't noticed this myself either. I use both my HDMI and component outputs on my Premiere. I don't think I have had many occasions to watch a H.264/MP4 during a push since they upload so quickly though.


----------



## larrs

txporter said:


> This is interesting. I haven't noticed this myself either. I use both my HDMI and component outputs on my Premiere. I don't think I have had many occasions to watch a H.264/MP4 during a push since they upload so quickly though.


I only verified it with mpeg2 video (most of my stuff is still that format for now). I used a couple of tests (first was a movie recorded from HDNet and reencoded via VideoRedo at 10GB file/ 13Mbps avg bit rate). Second was a DVD run through VideoRedo. I will use an MP4 video tonight and also a DVD not run through VideoRedo.


----------



## cweb

I've noticed any problems on my elite. I use mpeg2 files on a gigabyte network and can even record at the same time. So he problem isn't universal.


----------



## larrs

cweb said:


> I've noticed any problems on my elite. I use mpeg2 files on a gigabyte network and can even record at the same time. So he problem isn't universal.


I'd like more people to verify or disprove this if possible. I have extensively tested it and it is there on all of my Tivo Premieres and the Elite. It runs from annoying to disruptive.

Mpeg2 at higher bitrates causes the most problems and affects even live TV which appears like it is losing frames. However, all mpeg2 videos affect it to some point. I used 1080i recordings from HDNet and other sources as well as DVD video to verify. MP4 does not exhibit the behavior for some reason.

I am using all hard wired connections through a gigabit router/switch.


----------



## wmcbrine

larrs said:


> Mpeg2 at higher bitrates causes the most problems ... MP4 does not exhibit the behavior for some reason.


Interesting. You might want to try transport stream mode -- add this line to the "Server" section of your pyTivo.conf, and see what happens:



Code:


ts = on


----------



## larrs

wmcbrine said:


> Interesting. You might want to try transport stream mode -- add this line to the "Server" section of your pyTivo.conf, and see what happens:
> 
> 
> 
> Code:
> 
> 
> ts = on


I did this this morning before work, but did not have time to test before leaving. I'll get back on it later today.

If you don't mind me asking a stupid question, what does this do that may affect this?


----------



## wmcbrine

Uses transport streams instead of program streams for MPEG2. Less work for the TiVo. Normally, to me, that just means faster transfers. But since you say MP4s don't show this effect, and they're in a similar situation as transport streams, I'm wondering if using transport streams will also clear up the noise.

There are some weird bugs with transport streams, so I'm still treating them as experimental. They shouldn't hurt your TiVo or anything though.

Oh, and the transport streams will only work with pulls.


----------



## larrs

wmcbrine said:


> Interesting. You might want to try transport stream mode -- add this line to the "Server" section of your pyTivo.conf, and see what happens:
> 
> 
> 
> Code:
> 
> 
> ts = on


Good news/ bad news.

First, the good news. This eliminates the playback issue on pulls (and as you stated not on pushes).

Now, the bad news. Every file stops before completing the transfer. And, I might add, at the exact same point in the video on both my Elite and the two Premieres I tested.

I have a an original mpeg2 clip (1GB) that I use to play around with and test with. I started with that. The original 1GB clip is [email protected] 15.5kbps with [email protected] 384k. I have it converted for test puposes at varying bit rates, resolutions and using different containers for mp4 (mp4, mkv, etc.). The original clip stops transfer at roughly 2 minutes into the 8 minute clip. At an avg bit rate of 13k, that clip stops at roughly 5 minutes. At 12K, it stops at 7 mins. The Tivos exhibit the same, consistent behavior- the light on the unit goes out but the blue circle remains on the progress bar at the bottom of the screen with the message "getting more program. please wait..." until you exit the video.

Thinking it might be my file, I tried it on a couple of mpegs (from DVDs) and a 1:35 movie stopped downloading at about 30 minutes in.

Ever see this? Or, is this the strange behavior with transport streams you were talking about?

EDIT: I can also verify this does not happen with transfers using Tivo Desktop (although I never use it any more, but it is still on my system so I launched and tested it), FWIW.


----------



## ncfoster

Just jumping in to say that I am noticing that not only the video being pushed, but even live video, is jumpy at least some of the time while the push is occurring. I don't know if a software change somewhere made this more of a problem, but I don't recall observing this until the last few months. I could be mistaken. It would certainly seem counter-intuitive if enabling the second core created this problem.

I would definitely welcome some settings to attempt to throttle or otherwise manage the problem. Everything in the house is wired for gigabit, so everything that supports it (including the pyTivo server) uses it. Does anyone have any thoughts on how to get some objective numbers to work with on this?


----------



## cweb

Have you tried to change you tuner to unused channels (e.g., 0,& 1)? That will free up a lot of TiVo resources.


----------



## Punker1234

HI folks.

I've used pyTivo before, but this is ym second install since 3-4 years ago. For whatever reason, I can't seem to get pytivo to allow me to see my computer so I can push files to it. I have my correct username and password in my config, and I'm able to pull, just can't push. All it says it Push from Video Shares: but nothing after it, no videos section. 

Help?


----------



## lrhorer

Punker1234 said:


> I've used pyTivo before, but this is ym second install since 3-4 years ago. For whatever reason, I can't seem to get pytivo to allow me to see my computer so I can push files to it.


This isn't making sense. "Pushing" has nothing to do with transferring to the PC.

Do you mean push files to the TiVo?



Punker1234 said:


> I have my correct username and password in my config, and I'm able to pull, just can't push. All it says it Push from Video Shares: but nothing after it, no videos section.


Try posting your config file. Just blank out the password and MAK.


----------



## Punker1234

lrhorer said:


> This isn't making sense. "Pushing" has nothing to do with transferring to the PC.
> 
> Do you mean push files to the TiVo?
> 
> Try posting your config file. Just blank out the password and MAK.


Hi.

Yes, I apologize I mean I'm unable to push videos to my tivo as I can't select the videos on my computer. I've listed my config file below, any help is appreciated!

[Server]
tivo_mak = 17
tivo_password = P
togo_path = C:\Downloads\Tivo
tivo_username = P
ffmpeg = C:\Pytivo\bin\ffmpeg.exe
path = C:\Downloads\Tivo

[_tivo_SD]

[_tivo_HD]
tivo_username = P
tivo_mak = 17
tivo_password = P


----------



## lrhorer

That's the entire thing? You don't have any shares defined. I'm not sure how pulls are working.


----------



## Punker1234

Yes sir.

Maybe I installed it incorrectly? I never configured the file. I simply loaded pytivo server, went into the web config and added in the fields that was supplied on the Wiki. I'm pretty computer literate, but network stuff always seems to get by me.


----------



## lpwcomp

Punker1234 said:


> Yes sir.
> 
> Maybe I installed it incorrectly? I never configured the file. I simply loaded pytivo server, went into the web config and added in the fields that was supplied on the Wiki. I'm pretty computer literate, but network stuff always seems to get by me.


It is not that it is installed incorrectly, but your config file is wrong. "path = C:\Downloads\Tivo" does not belong in the "Server" section and the stuff you repeated under the "Tivo HD" section should only be in the "Server" section. You need to define at least one share. Your config file should look something like this:


Code:


[Server]
tivo_mak = 17
tivo_password = P
togo_path = C:\Downloads\Tivo
tivo_username = P
ffmpeg = C:\Pytivo\bin\ffmpeg.exe

[_tivo_SD]

[_tivo_HD]

[Downloads]
type = video
force_alpha = True
path = C:\Downloads\Tivo

The force_alpha = True is optional. BTW, this really has nothing to do with configuring a network.


----------



## Punker1234

lpwcomp said:


> It is not that it is installed incorrectly, but your config file is wrong. "path = C:\Downloads\Tivo" does not belong in the "Server" section and the stuff you repeated under the "Tivo HD" section should only be in the "Server" section. You need to define at least one share. Your config file should look something like this:
> 
> 
> Code:
> 
> 
> [Server]
> tivo_mak = 17
> tivo_password = P
> togo_path = C:\Downloads\Tivo
> tivo_username = P
> ffmpeg = C:\Pytivo\bin\ffmpeg.exe
> 
> [_tivo_SD]
> 
> [_tivo_HD]
> 
> [Downloads]
> type = video
> force_alpha = True
> path = C:\Downloads\Tivo
> 
> The force_alpha = True is optional. BTW, this really has nothing to do with configuring a network.


You sir, are amazing. That seemed to do it, I now see the folder to push files to my Tivo. Thank you!


----------



## wmcbrine

lrhorer said:


> That's the entire thing? You don't have any shares defined. I'm not sure how pulls are working.


I assume he meant TiVo -> PC transfers. That wouldn't require a working share (just the togo_path and tivo_mak, which he had).


----------



## lrhorer

OK, yeah, I guess. Obviously one needn't define a share for TTG. When he said "pulls", I assumed he meant... well... pulls.


----------



## lpwcomp

lrhorer said:


> OK, yeah, I guess. Obviously one needn't define a share for TTG. When he said "pulls", I assumed he meant... well... pulls.


To be fair, if you bring up pyTivo in your browser via "http://localhost:9032/", it has "_*Pull*_ from TiVos:".


----------



## Hercules67

lpwcomp said:


> To be fair, if you bring up pyTivo in your browser via "http://localhost:9032/", it has "_*Pull*_ from TiVos:".


Believe me, when I learned to do that. my life changed...  

(but you know what I mean).


----------



## txporter

larrs said:


> I'd like more people to verify or disprove this if possible. I have extensively tested it and it is there on all of my Tivo Premieres and the Elite. It runs from annoying to disruptive.
> 
> Mpeg2 at higher bitrates causes the most problems and affects even live TV which appears like it is losing frames. However, all mpeg2 videos affect it to some point. I used 1080i recordings from HDNet and other sources as well as DVD video to verify. MP4 does not exhibit the behavior for some reason.
> 
> I am using all hard wired connections through a gigabit router/switch.


Just wanted to write back that I have now seen this stuttering issue. I had a 720p H.264/MP4 that had some time stamp issue or glitch or something (didnt bother to debug) and it would only transfer the first 13 mins of the video. So I decided to just pull it and have my machine transcode it to MPEG2. I waited a few minutes for it to buffer, however, when I tried to watch the video, it was stuttering quite badly. I waited for it to completely transfer and it play back just fine. Weird.


----------



## lpwcomp

Any one have any suggestions on the best settings to use in VirtualDub when saving as avi that will result in a reasonably sized file while still having a decent re-transcode/transfer speed when being pulled to a TiVo 2?


----------



## lrhorer

I just switched over from Time Warner Cable to Grande, and they offer a "free" Premier with my level of service. I can transfer from the Premier just fine, and I can pull from the server just fine, but when I try to push from the server using the web utility I get:



Code:


ERROR:pyTivo.video.video:<error>[CODE]authenticationFailed

<text>AccountId provided/derived does not match AccountId looked up from bodyId</text></error>[/CODE]

Nothing transfers. I can still push to my other TiVos with no problems.


----------



## txporter

lpwcomp said:


> Any one have any suggestions on the best settings to use in VirtualDub when saving as avi that will result in a reasonably sized file while still having a decent re-transcode/transfer speed when being pulled to a TiVo 2?


Any reason that you want to use VirtualDub/MPEG4 pt.2? Tivo2 will need to be fed MPEG2, so whatever you transcode to (other than MPEG2) will need to be transcoded again to bring up to your Tivo. Is it just a desire to save space? Your best bet there would be to transcode to H.264/MP4 then. The transcode back will be somewhat more time consuming then XVID/AVI, but the file size will be a little smaller. And those files will be compatible with TivoHD/Premiere/Elite for pushing without the need for transcode.

For H.264/MP4, you can use something like kmttg and one of its encoding profiles or Handbrake or MeGUI or..., there are a LOT of options.

For XVID/AVI, I guess you will need to stick with VirtualDub. I have little/no experience with it. There are other programs that you can transcode to XVID/AVI but support for that codec/container is waning.


----------



## lpwcomp

txporter said:


> Any reason that you want to use VirtualDub/MPEG4 pt.2? Tivo2 will need to be fed MPEG2, so whatever you transcode to (other than MPEG2) will need to be transcoded again to bring up to your Tivo. Is it just a desire to save space? Your best bet there would be to transcode to H.264/MP4 then. The transcode back will be somewhat more time consuming then XVID/AVI, but the file size will be a little smaller. And those files will be compatible with TivoHD/Premiere/Elite for pushing without the need for transcode.
> 
> For H.264/MP4, you can use something like kmttg and one of its encoding profiles or Handbrake or MeGUI or..., there are a LOT of options.
> 
> For XVID/AVI, I guess you will need to stick with VirtualDub. I have little/no experience with it. There are other programs that you can transcode to XVID/AVI but support for that codec/container is waning.


I'm using vdub to edit and save because it's free and easy to use. If you know of another free tool or combination thereof that I could easily edit with and create a file that is fairly small but transcodes back at real time or better, I'd be happy to try that.

I am recording a weekday 1/2 hour show for a friend. I then have to transport them to her at some point and put them on her computer. She then downloads them to her TiVo 2 via pyTivo. The most recent "delivery" involved more than 40 files, so size is definitely an issue. But the transfer to her TiVo runs at about 9fps, thus takes over an hour for the 20min (edited) show.

I made some changes in the vdub setting which resulted in a significant reduction in file size and some in the time for the final transfer but I am looking for further reductions if possible, particularly in the transfer time w/o sacrificing file size.


----------



## txporter

lpwcomp said:


> I'm using vdub to edit and save because it's free and easy to use. If you know of another free tool or combination thereof that I could easily edit with and create a file that is fairly small but transcodes back at real time or better, I'd be happy to try that.
> 
> I am recording a weekday 1/2 hour show for a friend. I then have to transport them to her at some point and put them on her computer. She then downloads them to her TiVo 2 via pyTivo. The most recent "delivery" involved more than 40 files, so size is definitely an issue. But the transfer to her TiVo runs at about 9fps, thus takes over an hour for the 20min (edited) show.
> 
> I made some changes in the vdub setting which resulted in a significant reduction in file size and some in the time for the final transfer but I am looking for further reductions if possible, particularly in the transfer time w/o sacrificing file size.


Do you know what the processor is in your friends computer? Perhaps she needs to set up the -threads parameter for ffmpeg to utilize all cores when transcoding.

You could try using Avidemux instead of Virtualdub for editting and transcoding. It is also free and has more options for what formats to output to, I think. I don't really use either one though. I use Videoredo for editting (not free) and then avisynth+x264 for transcoding.

If your main concern is the speed at which things transfer to her Tivo2, your best bet would probably be to invest in VRD v3 (or v4 but you don't sound like you really need H.264 capability) and a large-ish external hard drive. Supplying her with MPEG2 files will eliminate her need to transcode which will greatly improve the transfer times.


----------



## lpwcomp

txporter said:


> Do you know what the processor is in your friends computer? Perhaps she needs to set up the -threads parameter for ffmpeg to utilize all cores when transcoding.
> 
> You could try using Avidemux instead of Virtualdub for editting and transcoding. It is also free and has more options for what formats to output to, I think. I don't really use either one though. I use Videoredo for editting (not free) and then avisynth+x264 for transcoding.
> 
> If your main concern is the speed at which things transfer to her Tivo2, your best bet would probably be to invest in VRD v3 (or v4 but you don't sound like you really need H.264 capability) and a large-ish external hard drive. Supplying her with MPEG2 files will eliminate her need to transcode which will greatly improve the transfer times.


Investing in much of *anything* at this time is not an option. I'm considering acquiring a 16GB thumb drive so I don't have to use any DVD RWs (always seem to have a couple of files per DVD that won't copy to her computer), but that's about it.

Her machine is a laptop running Vista. Don't know if it is dual core or not. The thing is, transcode/transfer of avis she downloads run at a reasonable speed. While I may not be able to get that kind of performance using free tools, I should be able to make it better than it is.

I'll take a look at avidemux and am also looking at projectx but for the near term I was asking if anyone has suggestions for optimum vdub settings.


----------



## aaronwt

A 16GB thumb drive is only $6 to $8 dollars now. I stopped using RWs to carry files on years ago since the capacity was either too small or it took too long to burn like with the RW BDs. Plus flash memory is so inexpensive now and keeps going lower in price.


----------



## lrhorer

Well, the push to the Premier started working. I guess it just took a while for the mind server to catch up. I'm not terribly impressed by the Premier now that I have one, any more than before, but I do have to admit its networking is very fast. I just transferred an h.264 file via put at more than 15x real time. It took barely 9 minutes to transfer a 1080i movie that was nearly 2 hours long. The average throughput was 93.99 Mbps. Another .mpg program transferred at a bit over 50 Mbps. How much longer this CATV company is going to set CCI=0x00 is anybody's guess, though.


----------



## kevo777

lpwcomp said:


> Any one have any suggestions on the best settings to use in VirtualDub when saving as avi that will result in a reasonably sized file while still having a decent re-transcode/transfer speed when being pulled to a TiVo 2?


You don't want to re-encode to AVI before pushing back to TiVo. TiVo won't read your AVI file. My advice is to stop using AVI. Stick with MP4, MPG, and even MKV.

txporter is right. Handbrake is probably easiest to use. MeGUI gives more options but requires AVISynth script as input. kmttg looks interesting. Haven't used it (yet). But remember, file format (the three letter extension like AVI, MP4, etc.) doesn't determine file size. The bitrates of the audio and video codec streams do, like H264, AAC, MPEG-2, and AC-3. AVI can't handle H264 and AAC very well (requires hacking if memory serves). But that's a whole other thread that I know nothing about.


----------



## lpwcomp

aaronwt said:


> A 16GB thumb drive is only $6 to $8 dollars now. I stopped using RWs to carry files on years ago since the capacity was either too small or it took too long to burn like with the RW BDs. Plus flash memory is so inexpensive now and keeps going lower in price.


I found 1 at $8 with shipping of $7.95. Cheapest is more like $9.99 + tax. Still fairly inexpensive but it's all relative. I have a _*very*_ small income, even less _*disposable*_ income. Spend $10 on one thing and I have to forgo something else.

The reason I am still using the DVD RWs is - I have them. I also have a 4GB and a 2GB thumb drive. I had another 2GB drive but the person for whom I am doing this, um, misplaced it. The two 2GB drives I bought years ago, DVD RWs even longer ago. The 4GB drive was free (from Micro Center).


----------



## jcthorne

If the end path is to a Tivo series 2 then you should be storing the video to mpg files ONLY. That way they can transfer without transcoding, they transfer as is and should be much faster than what you are doing now. The files will be a bit larger but that is what they are being converted to when sent to the Tivo series 2 anyway. Still should be under 1GB per half hour episide even for mpeg 2.

Use kmttg and just have it decrypt and store as mpg. No further processing required.


----------



## lpwcomp

jcthorne said:


> If the end path is to a Tivo series 2 then you should be storing the video to mpg files ONLY. That way they can transfer without transcoding, they transfer as is and should be much faster than what you are doing now. The files will be a bit larger but that is what they are being converted to when sent to the Tivo series 2 anyway. Still should be under 1GB per half hour episide even for mpeg 2.
> 
> Use kmttg and just have it decrypt and store as mpg. No further processing required.


I do not have the capacity to transport 30-40 mpg files (the most recent one was actually 51). She doesn't have the space to store them on her computer. There isn't time to download all of them to her TiVo while I am there.

I made some changes to the vdub settings and the file size is 220-240MB plus the transcode/transfer speed back to the TiVo was slightly increased. What I am asking is - are there any settings that I can use to keep or even reduce the file size further _*and*_ speed up the final transcode/transfer.

Think of this as creating files intended for bittorrrent, except that instead of the internet, I am utilizing sneaker+MARTA net.


----------



## txporter

lpwcomp said:


> I do not have the capacity to transport 30-40 mpg files (the most recent one was actually 51). She doesn't have the space to store them on her computer. There isn't time to download all of them to her TiVo while I am there.
> 
> I made some changes to the vdub settings and the file size is 220-240MB plus the transcode/transfer speed back to the TiVo was slightly increased. What I am asking is - are there any settings that I can use to keep or even reduce the file size further _*and*_ speed up the final transcode/transfer.
> 
> Think of this as creating files intended for bittorrrent, except that instead of the internet, I am utilizing sneaker+MARTA net.


Do you care about final video quality? In general, XVID to MPEG2 transcoding will take about the same time for a given video length regardless of the bitrate used for the file. If you want to speed up transcoding, the first thing to look at is whether her cpu is being fully utilized in the transcode. Is she using pytivo? Does she have the -threads parameter defined if she has a multi-core computer?

If you still cannot find a happy space with the files and computer that you have, you can always reduce the resolution of the files. It will make the quality worse when blown up for TV viewing, but it should produce smaller files and they should transcode more quickly.


----------



## wmcbrine

lpwcomp, does your friend have Internet access? If so, you can set up pyTivo on your end to push to her. It's not limited to the LAN, although you have to set some special options.


----------



## lpwcomp

wmcbrine said:


> lpwcomp, does your friend have Internet access? If so, you can set up pyTivo on your end to push to her. It's not limited to the LAN, although you have to set some special options.


Yes, she does.

I assume that I would create a section for her TiVo, with her ID, password, and MAK.

Ok. I googled "push to remote Tivo" and one of things that came up was this. So, for the externalurl entry, will a an IP address work? Also, does this only work for pushes or would my shares be available for her to pull?

OK.1 Set it up as documented and the push fails in pyTivo with the following in the pyTivo seesion:


> INFOyTivo.video.video:[19/Jun/2012 23:16:37] Queued "F:\Video\Sue's AVIs\Copie
> d\Jeopardy.20120510.avi" for Push to 1300000801E990C
> INFOyTivo:127.0.0.1 [19/Jun/2012 23:16:37] "POST /TiVoConnect HTTP/1.1" 200 -
> INFOyTivo:127.0.0.1 [19/Jun/2012 23:16:37] "GET /favicon.ico HTTP/1.1" 200 -
> INFOyTivo:127.0.0.1 [19/Jun/2012 23:16:43] "GET /TiVoConnect?Command=QueryCont
> ainer&Container=TiVoToGo/Sue%27s%20AVIs/Copied&Format=text/html HTTP/1.1" 200 -
> INFOyTivo:127.0.0.1 [19/Jun/2012 23:16:43] "GET /main.css HTTP/1.1" 200 -
> INFOyTivo:127.0.0.1 [19/Jun/2012 23:16:43] "GET /favicon.ico HTTP/1.1" 200 -
> ERRORyTivo.video.video:<error>
> 
> 
> Code:
> 
> 
> authenticationFailed
> 
> <text>AccountId
> provided/derived does not match AccountId looked up from bodyId</text></error>


OK.2 Found that problem. A blank at the end of her TSN in the pyTivo conf file.

Now I have:


> INFOyTivo:<my public ip address> [19/Jun/2012 23:36:12] code 404, message Not Found
> INFOyTivo:<my public ip address> [19/Jun/2012 23:36:12] "GET /Sue's%20AVIs/Copied/Jeopard
> y.20120510.avi?Format=video%2Fmpeg HTTP/1.1" 404 -
> INFOyTivo:<my public ip address> [19/Jun/2012 23:36:49] code 404, message Not Found
> INFOyTivo:<my public ip address> [19/Jun/2012 23:36:49] "GET /Sue's%20AVIs/Copied/Jeopard
> y.20120510.avi?Format=video%2Fmpeg HTTP/1.1" 404 -


----------



## wmcbrine

There's a spot in the external URL handling where it looks like it loses a level. I've known about this for some time, but never had anyone to test with, so I left it alone. Can I ask, what is the path for the share used in this case? Is it "F:\Video", or "F:\Video\Sue's AVIs"? And what is the share name?

I think you should be able to make pulls work as well. First, you'd have to set up pyTivo on port 80. Then, use the "Manually Add a Server" function on the remote TiVo to specify the external IP of the pyTivo server. But again, I've never actually been able to test this.


----------



## wmcbrine

lpwcomp said:


> Does pyTivo validate that the requesting TiVo is either local or explicitly defined in the config file?


It does if you add the "allowedips" keyword in the Server section:

allowedips = 127.0.0.1 192.168.1.

Otherwise, it's open.


----------



## wmcbrine

wmcbrine said:


> There's a spot in the external URL handling where it looks like it loses a level.


OK, I have a patch for this in my repos now. Please try it and let me know if it works.


----------



## lpwcomp

wmcbrine said:


> OK, I have a patch for this in my repos now. Please try it and let me know if it works.


That seems to have fixed it. It is transferring even as I type. Slowly(5fps), but it is going. Thanks for the quick fix! Hopefully it will be in good shape. Otherwise, she may want to kill me when I tell her about my "oops".

Well, it is supposedly finished but I'm a bit trepidatious about it. Way too soon and it didn't end cleanly. Do you want me to post the pyTivo output, after suitable editing?

It may be a while before I try to test remote pulls. I was playing around with it this afternoon and my internet connection went completely wonky. I eventually had to reset the u-verse gateway to factory settings.


----------



## wmcbrine

Well, I don't know what "didn't end cleanly" means, so yeah, I guess so. But I doubt there's anything further I can do. You could retry it, I guess.


----------



## lpwcomp

By not cleanly, I mean that there were lines like this:

*INFOyTivo.video.transcode:[Errno 10053] An established connection was aborted
by the software in your host machine*

and

*ERRORyTivo:Exception during request from ('99.112.4.99', 3130)*

The latter folllowed by a traceback. If this is just a function of having debug enabled, then sorry. Even if it isn't, it may just be network problems, in which case there's nothing much either one of us can do. I did also send an mpg created via a decode of a TiVo 2 recording. Completed with no errors, as you can see from the last few lines of the file.

Here's the output:



Code:


DEBUG:pyTivo.video.transcode:CACHE HIT! F:\Video\Sue's AVIs\Copied\Jeopardy.2012
0515.avi
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:selected audio stream: 0.1
DEBUG:pyTivo.video.transcode:transcoding to tivo model 130 using ffmpeg command:

DEBUG:pyTivo.video.transcode:C:\pyTivo\bin\old_ffmpeg.exe -i F:\Video\Sue's AVIs
\Copied\Jeopardy.20120515.avi -vcodec mpeg2video -r 29.97 -b 4096k -maxrate 3000
0k -bufsize 1024k -aspect 4:3 -s 544x360 -padtop 60 -padbottom 60 -ab 448k -ar 4
8000 -acodec copy -copyts -map 0.0 -map 0.1 -f vob -
FFmpeg version SVN-r21659-rdian06-1.02-win-x86_32, Copyright (c) 2000-2010 Fabri
ce Bellard, et al.
  built on Aug 24 2010 20:46:16 with gcc 4.4.0
  configuration: --enable-memalign-hack --disable-debug --enable-hardcoded-table
s --enable-runtime-cpudetect --enable-static --disable-shared --disable-ffserver
 --disable-ffplay --enable-gpl --enable-pthreads --enable-libmp3lame --enable-li
bvorbis --enable-libtheora --enable-libspeex --enable-libgsm --enable-libx264 --
enable-libschroedinger --enable-libfaad --enable-libxvid --disable-decoder=aac -
-enable-avisynth --enable-postproc --enable-avfilter --enable-avfilter-lavf
  libavutil     50. 8. 0 / 50. 8. 0
  libavcodec    52.52. 0 / 52.52. 0
  libavformat   52.50. 0 / 52.50. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.17. 0 /  1.17. 0
  libswscale     0.10. 0 /  0.10. 0
  libpostproc   51. 2. 0 / 51. 2. 0
Input #0, avi, from 'F:\Video\Sue's AVIs\Copied\Jeopardy.20120515.avi':
  Duration: 00:19:19.45, start: 0.000000, bitrate: 2040 kb/s
    Stream #0.0: Video: mpeg4, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 29.97 tbr,
 29.97 tbn, 29.97 tbc
    Stream #0.1: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
Output #0, vob, to 'pipe:':
    Stream #0.0: Video: mpeg2video, yuv420p, 544x480 [PAR 20:17 DAR 4:3], q=2-31
, 4096 kb/s, 90k tbn, 29.97 tbc
    Stream #0.1: Audio: ac3, 48000 Hz, 5.1, 384 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Press [q] to stop encoding
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:38:21] "GET /main.css HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:38:21] "GET /plugins/settings/settings.js
HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:38:21] "GET /plugins/settings/settings.css
 HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:38:21] "GET /favicon.ico HTTP/1.1" 200 -
[COLOR="Red"][B]INFO:pyTivo.video.transcode:[Errno 10053] An established connection was aborted
by the software in your host machine[/B][/COLOR]
INFO:pyTivo.video.video:[Errno 10053] An established connection was aborted by t
he software in your host machine
INFO:pyTivo.video.video:[20/Jun/2012 23:40:48] Done sending "F:\Video\Sue's AVIs
\Copied\Jeopardy.20120515.avi" to 99.112.4.99, 11534336 bytes, 0.26 Mb/s
[COLOR="Red"][B]ERROR:pyTivo:Exception during request from ('99.112.4.99', 3130)[/B][/COLOR]
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 582, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 323, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\pyTivo\httpserver.py", line 85, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 641, in __init__
    self.finish()
  File "C:\Python27\lib\SocketServer.py", line 694, in finish
    self.wfile.flush()
  File "C:\Python27\lib\socket.py", line 303, in flush
    self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 10053] An established connection was aborted by the software in yo
ur host machine
DEBUG:pyTivo.video.transcode:CACHE HIT! F:\Video\Sue's AVIs\Copied\Jeopardy.2012
0515.avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, F:\Vide
o\Sue's AVIs\Copied\Jeopardy.20120515.avi
INFO:pyTivo:99.112.4.99 [20/Jun/2012 23:41:36] "GET /TiVoToGo/Sue's%20AVIs/Copie
d/Jeopardy.20120515.avi?Format=video%2Fmpeg HTTP/1.1" 206 -
INFO:pyTivo.video.video:[20/Jun/2012 23:41:36] Start sending "F:\Video\Sue's AVI
s\Copied\Jeopardy.20120515.avi" to 99.112.4.99
DEBUG:pyTivo.video.video:"F:\Video\Sue's AVIs\Copied\Jeopardy.20120515.avi" is n
ot tivo compatible
INFO:pyTivo.video.transcode:[Errno 10054] An existing connection was forcibly cl
osed by the remote host
INFO:pyTivo.video.video:[Errno 10054] An existing connection was forcibly closed
 by the remote host
INFO:pyTivo.video.video:[20/Jun/2012 23:41:43] Done sending "F:\Video\Sue's AVIs
\Copied\Jeopardy.20120515.avi" to 99.112.4.99, 0 bytes, 0.00 Mb/s
ERROR:pyTivo:Exception during request from ('99.112.4.99', 3134)
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 582, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 323, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\pyTivo\httpserver.py", line 85, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 641, in __init__
    self.finish()
  File "C:\Python27\lib\SocketServer.py", line 694, in finish
    self.wfile.flush()
  File "C:\Python27\lib\socket.py", line 303, in flush
    self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 10054] An existing connection was forcibly closed by the remote ho
st
DEBUG:pyTivo.video.transcode:CACHE HIT! F:\Video\Sue's AVIs\Copied\Jeopardy.2012
0515.avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, F:\Vide
o\Sue's AVIs\Copied\Jeopardy.20120515.avi
INFO:pyTivo:99.112.4.99 [20/Jun/2012 23:42:13] "GET /TiVoToGo/Sue's%20AVIs/Copie
d/Jeopardy.20120515.avi?Format=video%2Fmpeg HTTP/1.1" 206 -
INFO:pyTivo.video.video:[20/Jun/2012 23:42:13] Start sending "F:\Video\Sue's AVI
s\Copied\Jeopardy.20120515.avi" to 99.112.4.99
DEBUG:pyTivo.video.video:"F:\Video\Sue's AVIs\Copied\Jeopardy.20120515.avi" is n
ot tivo compatible
INFO:pyTivo:192.168.1.103 [20/Jun/2012 23:44:15] "GET /TiVoConnect?Command=Query
Container&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:45:49] "GET /favicon.ico HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:45:54] "GET /TiVoConnect?Command=QueryCont
ainer&Container=GVideo&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:45:54] "GET /main.css HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:45:54] "GET /folder.png HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:45:54] "GET /favicon.ico HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:45:56] "GET /TiVoConnect?Command=QueryCont
ainer&Container=GVideo/kmttgmpegs&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:45:56] "GET /TiVoConnect?Command=QueryCont
ainer&Container=GVideo/kmttgmpegs&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:45:56] "GET /main.css HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:45:57] "GET /favicon.ico HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:46:04] "GET /favicon.ico HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:46:48] "GET /TiVoConnect?Command=QueryCont
ainer&Container=GVideo/kmttgmpegs&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:46:48] "GET /main.css HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:46:48] "GET /favicon.ico HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:47:02] "GET /favicon.ico HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:50:20] "GET /TiVoConnect?Command=QueryCont
ainer&Container=GVideo/kmttgmpegs&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:50:20] "GET /main.css HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:50:20] "GET /favicon.ico HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:51:23] "GET /favicon.ico HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:51:35] "GET /TiVoConnect?Command=QueryCont
ainer&Container=GVideo/kmttgmpegs&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:51:36] "GET /main.css HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:51:36] "GET /favicon.ico HTTP/1.1" 200 -
INFO:pyTivo.video.video:[20/Jun/2012 23:53:18] Queued "G:\\kmttgmpegs\Jeopardy!.
20120620.mpg" for Push to 99.112.4.99
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:53:18] "POST /TiVoConnect HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:53:18] "GET /favicon.ico HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:starting ffmpeg, will wait 10 seconds for it to com
plete
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:53:23] "GET /TiVoConnect?Command=QueryCont
ainer&Container=GVideo/kmttgmpegs&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:53:23] "GET /main.css HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:ffmpeg output=FFmpeg version SVN-r21659-rdian06-1.0
2-win-x86_32, Copyright (c) 2000-2010 Fabrice Bellard, et al.
  built on Aug 24 2010 20:46:16 with gcc 4.4.0
  configuration: --enable-memalign-hack --disable-debug --enable-hardcoded-table
s --enable-runtime-cpudetect --enable-static --disable-shared --disable-ffserver
 --disable-ffplay --enable-gpl --enable-pthreads --enable-libmp3lame --enable-li
bvorbis --enable-libtheora --enable-libspeex --enable-libgsm --enable-libx264 --
enable-libschroedinger --enable-libfaad --enable-libxvid --disable-decoder=aac -
-enable-avisynth --enable-postproc --enable-avfilter --enable-avfilter-lavf
  libavutil     50. 8. 0 / 50. 8. 0
  libavcodec    52.52. 0 / 52.52. 0
  libavformat   52.50. 0 / 52.50. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.17. 0 /  1.17. 0
  libswscale     0.10. 0 /  0.10. 0
  libpostproc   51. 2. 0 / 51. 2. 0
[mpeg @ 0x186dd10]max_analyze_duration reached

Seems stream 1 codec frame rate differs from container frame rate: 59.94 (60000/
1001) -> 29.97 (60000/2002)
Input #0, mpeg, from 'G:\\kmttgmpegs\Jeopardy!.20120620.mpg':
  Duration: 00:31:00.56, start: 0.982278, bitrate: 1722 kb/s
    Stream #0.0[0x1c0]: Audio: mp2, 48000 Hz, 2 channels, s16, 192 kb/s
    Stream #0.1[0x1e0]: Video: mpeg2video, yuv420p, 352x480 [PAR 20:11 DAR 4:3],
 1447 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
At least one output file must be specified

DEBUG:pyTivo.video.transcode:aFreq=48000; aCh=2; container=mpeg; kbps=1722; mapA
udio=[('0.0', '[0x1c0] mp2, 48000 Hz, 2 channels, s16, 192 kb/s\r')]; vHeight=48
0; vCodec=mpeg2video; Supported=True; aKbps=192; par=None; millisecs=1860560; vF
ps=29.97; par2=1.81818181818; par1=20:11; mapVideo=0.1; vWidth=352; dar1=4:3; ra
wmeta={}; aCodec=mp2
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\\kmttgmpegs\Jeopardy!.20120620.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\\kmttgmpegs\Jeopardy!.20120620.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\\kmttgmpegs\Jeopardy!.20120620.mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, G:\\kmttgmpegs\Jeopar
dy!.20120620.mpg
INFO:pyTivo:127.0.0.1 [20/Jun/2012 23:53:23] "GET /favicon.ico HTTP/1.1" 200 -

<pcBodyList><isBottom>true</isBottom><isTop>true</isTop><pcBody><bucketNumber>-1
</bucketNumber><levelOfDetail>low</levelOfDetail><name>pyTivo</name><pcBodyId>ti
vo:pc.1002175891</pcBodyId><type>pcBody</type></pcBody></pcBodyList>g
DEBUG:pyTivo.mind:bodyOfferModify&bodyId=tsn:1300000801E990C= 3430.8kbps
{'subtitle': '2012-06-20', 'description': '', 'pcBodyId': 'tivo:pc.1002175891',
'publishDate': '2012-06-21 03:5324', 'partnerId': 'tivo:pt.3187', 'duration': 18
60, 'size': 400612715, 'title': 'Jeopardy!', 'url': 'http://99.116.217.37:9032/G
Video/kmttgmpegs/Jeopardy%21.20120620.mpg?Format=video/mpeg', 'bodyId': 'tsn:130
0000801E990C', 'source': 'SH002348', 'state': 'complete', 'encodingType': 'mpeg2
ProgramStream', 'tvRating': 'nr'}

<bodyOffer><bodyId>tsn:1300000801E990C</bodyId><bodyOfferId>tivo:bo.15000081</bo
dyOfferId><createDate>2012-06-21 03:53:48</createDate><description /><duration>1
860</duration><encodingType>mpeg2ProgramStream</encodingType><levelOfDetail>high
</levelOfDetail><offerId>tivo:of.bs.15000081</offerId><partnerId>tivo:pt.3187</p
artnerId><pcBodyId>tivo:pc.1002175891</pcBodyId><publishDate>2012-06-24 19:44:00
</publishDate><size>400612715</size><source>SH002348</source><state>complete</st
ate><subtitle>2012-06-20</subtitle><title>Jeopardy!</title><tvRating>nr</tvRatin
g><updateDate>2012-06-21 03:53:48</updateDate><url>http://99.116.217.37:9032/GVi
deo/kmttgmpegs/Jeopardy%21.20120620.mpg?Format=video/mpeg</url></bodyOffer>g
DEBUG:pyTivo.mind:subscribe&bodyId=tsn:1300000801E990C48 brt= 3426.5kbps
{'uiType': 'cds', 'idSetSource': {'contentId': 'tivo:ct.bs.15000081', 'type': 's
ingleOfferSource', 'offerId': 'tivo:of.bs.15000081'}, 'bodyId': 'tsn:1300000801E
990C', 'title': 'pcBodySubscription'}

<subscribeResult><subscription><autoRecord>true</autoRecord><bodyGeneratesCandid
ates>false</bodyGeneratesCandidates><bodyId>tsn:1300000801E990C</bodyId><hdOnly>
false</hdOnly><idSetSource><contentId>tivo:ct.bs.15000081</contentId><offerId>ti
vo:of.bs.15000081</offerId><type>singleOfferSource</type></idSetSource><isAdult>
false</isAdult><isForKids>false</isForKids><levelOfDetail>high</levelOfDetail><s
howStatus>rerunsAllowed</showStatus><subscriptionId>tivo:sb.15000091</subscripti
onId><title>pcBodySubscription</title><type>subscription</type><uiType>cds</uiTy
pe></subscription></subscribeResult>g
INFO:pyTivo:192.168.1.103 [21/Jun/2012 00:21:55] "GET /TiVoConnect?Command=Query
Container&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo.video.transcode:[Errno 10054] An existing connection was forcibly cl
osed by the remote host
INFO:pyTivo.video.video:[Errno 10054] An existing connection was forcibly closed
 by the remote host
INFO:pyTivo.video.video:[21/Jun/2012 00:47:40] Done sending "F:\Video\Sue's AVIs
\Copied\Jeopardy.20120515.avi" to 99.112.4.99, 257949696 bytes, 0.50 Mb/s
ERROR:pyTivo:Exception during request from ('99.112.4.99', 3135)
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 582, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 323, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\pyTivo\httpserver.py", line 85, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 641, in __init__
    self.finish()
  File "C:\Python27\lib\SocketServer.py", line 694, in finish
    self.wfile.flush()
  File "C:\Python27\lib\socket.py", line 303, in flush
    self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 10054] An existing connection was forcibly closed by the remote ho
st
DEBUG:pyTivo.video.transcode:starting ffmpeg, will wait 10 seconds for it to com
plete
DEBUG:pyTivo.video.transcode:ffmpeg output=FFmpeg version SVN-r21659-rdian06-1.0
2-win-x86_32, Copyright (c) 2000-2010 Fabrice Bellard, et al.
  built on Aug 24 2010 20:46:16 with gcc 4.4.0
  configuration: --enable-memalign-hack --disable-debug --enable-hardcoded-table
s --enable-runtime-cpudetect --enable-static --disable-shared --disable-ffserver
 --disable-ffplay --enable-gpl --enable-pthreads --enable-libmp3lame --enable-li
bvorbis --enable-libtheora --enable-libspeex --enable-libgsm --enable-libx264 --
enable-libschroedinger --enable-libfaad --enable-libxvid --disable-decoder=aac -
-enable-avisynth --enable-postproc --enable-avfilter --enable-avfilter-lavf
  libavutil     50. 8. 0 / 50. 8. 0
  libavcodec    52.52. 0 / 52.52. 0
  libavformat   52.50. 0 / 52.50. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.17. 0 /  1.17. 0
  libswscale     0.10. 0 /  0.10. 0
  libpostproc   51. 2. 0 / 51. 2. 0
[mpeg @ 0x186dd10]max_analyze_duration reached

Seems stream 1 codec frame rate differs from container frame rate: 59.94 (60000/
1001) -> 29.97 (60000/2002)
Input #0, mpeg, from 'G:\kmttgmpegs\Jeopardy!.20120620.mpg':
  Duration: 00:31:00.56, start: 0.982278, bitrate: 1722 kb/s
    Stream #0.0[0x1c0]: Audio: mp2, 48000 Hz, 2 channels, s16, 192 kb/s
    Stream #0.1[0x1e0]: Video: mpeg2video, yuv420p, 352x480 [PAR 20:11 DAR 4:3],
 1447 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
At least one output file must be specified

DEBUG:pyTivo.video.transcode:aFreq=48000; aCh=2; container=mpeg; kbps=1722; mapA
udio=[('0.0', '[0x1c0] mp2, 48000 Hz, 2 channels, s16, 192 kb/s\r')]; vHeight=48
0; vCodec=mpeg2video; Supported=True; aKbps=192; par=None; millisecs=1860560; vF
ps=29.97; par2=1.81818181818; par1=20:11; mapVideo=0.1; vWidth=352; dar1=4:3; ra
wmeta={}; aCodec=mp2
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, G:\kmttgmpegs\Jeopard
y!.20120620.mpg
INFO:pyTivo:99.112.4.99 [21/Jun/2012 00:47:53] "GET /GVideo/kmttgmpegs/Jeopardy!
.20120620.mpg?Format=video%2Fmpeg HTTP/1.1" 200 -
INFO:pyTivo.video.video:[21/Jun/2012 00:47:53] Start sending "G:\kmttgmpegs\Jeop
ardy!.20120620.mpg" to 99.112.4.99
DEBUG:pyTivo.video.video:"G:\kmttgmpegs\Jeopardy!.20120620.mpg" is tivo compatib
le
DEBUG:pyTivo.video.transcode:killing pid=2932
INFO:pyTivo.video.video:[21/Jun/2012 01:27:58] Done sending "G:\kmttgmpegs\Jeopa
rdy!.20120620.mpg" to 99.112.4.99, 400612715 bytes, 1.27 Mb/s


----------



## wsware

*********** 
Repost from http://pytivo.sourceforge.net/forum/wsware-pytivo-fork-t2248.html
Please comment there if you would like to play with my changes and give feedback.
***********

https://github.com/wsware/pytivo

I have a fork that is updated with all wmcbrine's changes and some of my own. Feel free to include any changes in other forks and/or make suggestions on what can be changed to make it more acceptable. I hope wmcbrine does not cringe too badly.

Update .tmpl files to use tabs instead of spaces for formatting. Saved a few KB in my tests so it seems to be worth it.

Support movie.nfo files. Support metadata to change folder display names. Requires change to plugin to actually query for directories. Right now only video.py has been changed to use it.

Updated get_files() in plugin.py to be common for video.py, photo.py, and 
music.py. This includes updates to sorting what I think matches the spec better.

Add new options that effect get_files()

- hide_empty = True 
(Hides empty folders, Use Max file date/time for folder, folders with a single file will display the file instead of the folder)

- force_recurse = True 
(Use for a share you want to always be recursive. Like for example you keep movies in their own folder.)

- use_mdate = True (Use Modify Date instead of CreateDate when sorting 
on date. You will need to set this to keep default video behavior)

- force_sort = Title 
(Custom sort overide. For example instead of force_alpha use force_sort=Type,Title You can also specify multilevel like force_sort=Title:!CaptureDate to have the first folder lever be a title sort and the second and rest be CaptureDate sorted. As many levels as you want are supported. Supported options are Type, Title, CaptureDate, LastChangeDate, and Random. Use ! to reverse the sort order)

The video.py also will cache metadata now. I didn't put an option for this.

Known Bugs: 
- recursive playlists are broken. 
- video metadata does not detect changes unless files are removed, 
added, or the folder date/time is updated.

-wsware


----------



## lpwcomp

Push to a remote TiVo works fine on an mpg file. I have changed things so any future pushes will be from a file originally recorded on a TiVo 2 so that no transcoding is required. Any suggestions on the settings for the transcode of my existing files to mpg using Videora Tivo Converter (seems to work best) so that no pyTivo transcode will be necessary? Original source is a Premiere recording from an HD channel. Edited and converted to avi using VirtualDub. They are 16x9.


----------



## markmarz

Thanks to wmcbrine, lrhorer & lpwcomp for their help in my configuration of pyTivo. This wraps up a discussion started in the kmttg thread about how to use pyTivo as an alternative for my requirement.

What I wanted to do was initiate pulls with pyTivo from my TivoHD down to a local directory, which happens to also be a share, on my debian server; we'll call that share VideoWork. Also wanted to continue using vidmgr to push from another share, call it Videos, to my TivoHD. Idea was VideoWork would be for videos which needed editing and would eventually reside on Videos.

Did that by changing pyTivo.conf [Server] section to point to the pull share:


Code:


[Server]
tivo_password = *****
tivo_mak = ****
ffmpeg = /usr/bin/ffmpeg
tivodecode = /usr/local/bin/tivodecode
tdcat = /usr/local/bin/tdcat
togo_path =[COLOR="Green"] /mnt/samba/VideoWork[/COLOR]
tivo_username = ******@gmail.com
port = 9032

And left the section for Vidmgr as is, to point to the 'production' videos intended for push to the TivoHD:


Code:


[Tivo server]
type = video
path = [COLOR="Green"]/mnt/samba/Videos[/COLOR]

Seems obvious now, but I didn't know that multiple shares could be specified for pull & push or whatever purpose.

Thanks!


----------



## lpwcomp

markmarz said:


> Seems obvious now, but I didn't know that multiple shares could be specified for pull & push or whatever purpose.
> 
> Thanks!


Just to clarify, you can push or pull _*from*_ a PC _*to*_ a TiVo from any share defined in the pyTivo.conf. A pull _*from*_ a TiVo _*to*_ a PC is always to the directory defined by the togo_path.


----------



## HerronScott

lrhorer said:


> Well, the push to the Premier started working. I guess it just took a while for the mind server to catch up. I'm not terribly impressed by the Premier now that I have one, any more than before, but I do have to admit its networking is very fast. I just transferred an h.264 file via put at more than 15x real time. It took barely 9 minutes to transfer a 1080i movie that was nearly 2 hours long. The average throughput was 93.99 Mbps. Another .mpg program transferred at a bit over 50 Mbps. How much longer this CATV company is going to set CCI=0x00 is anybody's guess, though.


I thought you had no use for any of the newer TiVo's since you couldn't hack them and they didn't have any features that you needed? 

Scott


----------



## lrhorer

I don't have much use for it, and it is a piece of crap. The inability to hack them is only one reason. I don't know if this is true of Premiers in general, but someone managed to change the Title search from a powerful, flexible, essential utility into a worthless piece of dog pookie. The unavailability of TiVoWebPlus renders the unit almost useless. The lack of tserver support is a serious flaw, especially when the unit cannot transfer a program due to the presence of a data error in the video (or for any other reason). It has spontaneously rebooted several times. If I were (still) on a CATV system that set the CCI byte all over the place, it would be completely useless. As it is, I am only using it because:

1. It was free.
2. It is allowing me to actually test some of the features of the Premier, rather than just read about them. The results so far are quite dismal. I could not recommend the Premier before. I recommend it now even less.
3. Since my new CATV provider does not copy protect anything, and the unit does have faster networking capabilities than the S3, it does have some limited use.
4. Replacing the unit in the guest room with the Premier allowed me to remove one Cablecard (saving $3 a month) and give the one from the guest room to my roommate, who now needs a digital tuner.

The only fairly nice features I have found are its networking speed (which is really nice with pyTivo and vidmgr), and the fact the delete function in kmttg is more reliable on the Premier than on the S3.


----------



## lrhorer

markmarz said:


> What I wanted to do was initiate pulls with pyTivo from my TivoHD down to a local directory, which happens to also be a share


Do you have a need to transfer from that directory back to the TiVo? If so, then the way you have it configured is perfect. If not, then it is not required to set up the TTG path as a share.


----------



## johnjay829

lpwcomp said:


> That seems to have fixed it. It is transferring even as I type. Slowly(5fps), but it is going. Thanks for the quick fix! Hopefully it will be in good shape. Otherwise, she may want to kill me when I tell her about my "oops".
> 
> Well, it is supposedly finished but I'm a bit trepidatious about it. Way too soon and it didn't end cleanly. Do you want me to post the pyTivo output, after suitable editing?
> 
> It may be a while before I try to test remote pulls. I was playing around with it this afternoon and my internet connection went completely wonky. I eventually had to reset the u-verse gateway to factory settings.


do you mind posting your config file i'm looking to setup remote push/pull for my sis in atl


----------



## lpwcomp

johnjay829 said:


> do you mind posting your config file i'm looking to setup remote push/pull for my sis in atl


In a bit of a rush but will post the relevant portion tonight. Until then, the directions I followed are here, in the third post. And an IP address will work for the "externalurl" entry.

Ok, back now.

Add a line like this:

externalurl = http://<your external URL or IP address>:9032/

add a section like this:

[_tivo_<remote TiVo TSN , no dashes>]
tivo_username = <her tivo.com user name>
tivo_mak = <her MAK>
tivo_password = <her tivo.com password>
external = True

Note: the actual entry will not contain any "<" or ">"

You will need access your router and open up a pinhole or forward port 9032.
If you have a s/w firewall, you might have to do something there also.

This is for pushes. I haven't tried again to get pulls working.


----------



## philter25

Im trying to use pytivo to covert a tivo file to play on my ipad. I installed pytivo per the online directions, got the ffmpg files, and converted a file but it converted it into a .mpg file.

What do I need to use to convert it to a file that will play on my ipad?


----------



## Soapm

philter25 said:


> Im trying to use pytivo to covert a tivo file to play on my ipad. I installed pytivo per the online directions, got the ffmpg files, and converted a file but it converted it into a .mpg file.
> 
> What do I need to use to convert it to a file that will play on my ipad?


So we're clear, are you pulling files from a tivo to be plaid on your ipad? If you you're using the wrong tool, you want kmttg for that.


----------



## philter25

Soapm said:


> So we're clear, are you pulling files from a tivo to be plaid on your ipad? If you you're using the wrong tool, you want kmttg for that.


Correct. I am pulling files from my tivo to be played on my iPad.


----------



## rambler

philter25 said:


> Correct. I am pulling files from my tivo to be played on my iPad.


Can you put the video(s) in iTunes, highlight them and choose 'Advanced' then 'Create iPad or Apple TV Version'?


----------



## lrhorer

lpwcomp said:


> You will need access your router and open up a pinhole or forward port 9032.


This is not required. Unless one or both of the machines are wireless, the packets will never hit the router. Forwarding to port 9032 should never be done, unless one wishes to control pyTivo from the internet.


----------



## lpwcomp

lrhorer said:


> This is not required. Unless one or both of the machines are wireless, the packets will never hit the router. Forwarding to port 9032 should never be done, unless one wishes to control pyTivo from the internet.


lhorer, you completely missed the fact that this is for a _*remote*_ TiVo. The traffic will most definitely hit the router _*and*_ the internet.


----------



## lpwcomp

Ever since I started pushing files to the remote TiVo, I have been seeing some odd behavior in the pyTivo browser interface. Sometimes some or all of the TiVos are listed by TSN. Sometimes the remote TiVo is listed by the IP address of the remote system. Sometimes the remote TiVo appears in the "Pull from TiVos:" list, either by TSN or IP address.


----------



## johnjay829

lpwcomp said:


> Ever since I started pushing files to the remote TiVo, I have been seeing some odd behavior in the pyTivo browser interface. Sometimes some or all of the TiVos are listed by TSN. Sometimes the remote TiVo is listed by the IP address of the remote system. Sometimes the remote TiVo appears in the "Pull from TiVos:" list, either by TSN or IP address.


i still have not tested the setting for a remote tivo but was wondering if we could have a second instance of pytivo running of course pointing to a second folder with the usual pytivo files (config - etc) with a different port assignment 9033 or similar. this would just be for the remote tivo so as to not interfere with my main pytivo. also for the pulls from a tivo can we set up a pull location in the config file that points to an ip address then a file or would vpn or something similar be needed


----------



## johnjay829

getting a message in my debug log of cache hit. videos are not completing when i pull from my home share then get about half done then nothing..


----------



## Hercules67

I always PULL to my TiVos from the PC / Share.

I have never learned how to PUSH. Can someone point me to link so I can read how to do so?

Thanks!


----------



## johnjay829

Hercules67 said:


> I always PULL to my TiVos from the PC / Share.
> 
> I have never learned how to PUSH. Can someone point me to link so I can read how to do so?
> 
> Thanks!


go to localhost:9032 in your web browser


----------



## lpwcomp

johnjay829 said:


> i still have not tested the setting for a remote tivo but was wondering if we could have a second instance of pytivo running of course pointing to a second folder with the usual pytivo files (config - etc) with a different port assignment 9033 or similar. this would just be for the remote tivo so as to not interfere with my main pytivo. also for the pulls from a tivo can we set up a pull location in the config file that points to an ip address then a file or would vpn or something similar be needed


I'll leave it to Mr. McBrine to address the second session issue and here (second graph & next post) is his take on enabling remote pulls.


----------



## wmcbrine

johnjay829 said:


> i ... was wondering if we could have a second instance of pytivo running


As many as you like. But you can also set up pyTivo to present different shares to different TiVos, using the "shares" keyword in the _tivo_ sections in pyTivo.conf, so you don't really need separate instances.



> _also for the pulls from a tivo can we set up a pull location in the config file that points to an ip address then a file or would vpn or something similar be needed_


If you set up the TiVo with its own _tivo_ section with an IP and MAK, and you forward ports 80 and 443 from the (remote) router to the TiVo, then I think pulls from it should work. But I haven't tried it.


----------



## lpwcomp

Hercules67 said:


> I always PULL to my TiVos from the PC / Share.
> 
> I have never learned how to PUSH. Can someone point me to link so I can read how to do so?
> 
> Thanks!





johnjay829 said:


> go to localhost:9032 in your web browser


Then click on "Web Configuration", select *Global Server Settings" and put in values for tivo_username, tivo_password, & tivo_mak. Save changes, restart pyTivo. The main page for localhost:9032 should now have a "Push from video shares" option. This has to be done with pyTivo running.

If you don't want to use the "Web Configuration" tool, you can edit your pyTivo.conf file and add the following lines to the [Server] section

tivo_password = <your tivo.com password>
tivo_mak = <your tivo MAK>
tivo_username = <your tivo.com user name>

and start pyTivo.

Personally, I _*prefer*_ Pulls.


----------



## lpwcomp

wmcbrine said:


> If you set up the TiVo with its own _tivo_ section with an IP and MAK, and you forward ports 80 and 443 from the (remote) router to the TiVo, then I think pulls from it should work. But I haven't tried it.


Since I already have Pushes working, let me see if I understand what steps are necessary for remote pulls (at least to try). This is based on the post I quoted and the two previous posts I linked to earlier:

On the local system:

Change pyTivo to run on port 80.

Set up port forwarding or pinholes for port 80 and 443. Or is this on the remote router? Or both?

If you want to limit access, add "allowedips = 127.0.0.1 192.168.1" to [Server] section of pyTivo.conf

On remote TiVo, manually add a server using IP address of the system being pulled from.


----------



## lrhorer

lpwcomp said:


> lhorer, you completely missed the fact that this is for a _*remote*_ TiVo. The traffic will most definitely hit the router _*and*_ the internet.


Yeah, I did miss that, but is this a remote Tivo, or a remote pyTivo? Forwarding port 9032 is only necessary if one wishes to control pyTivo from the internet.


----------



## lrhorer

Hey, I've been meaning to ask this for a while. Is there a way to supress the display of a music share on the TiVo? I'm using Jbernardis' Jukebox to serve music to the TiVos, and that means both Jukebox and pyTivo music shares show up in the Showplace menu. I would like to suppress the pyTivo music share display (but of course not the sharing).


----------



## lpwcomp

lrhorer said:


> Yeah, I did miss that, but is this a remote Tivo, or a remote pyTivo? Forwarding port 9032 is only necessary if one wishes to control pyTivo from the internet.


This is to push to a remote TiVo. I'm just repeating what Mr. McBrine said.


----------



## wmcbrine

lpwcomp said:


> Since I already have Pushes working, let me see if I understand what steps are necessary for remote pulls (at least to try).


You and johnjay829 are talking about two different things -- he was wanting to pull _from_ the TiVo.



> _Set up port forwarding or pinholes for port 80 and 443. Or is this on the remote router? Or both?_


That was for pulling _from_ a remote TiVo. pyTivo would only need port 80 forwarded. (Or, if that doesn't work, add "beacon: listen", and also forward port 2190. Like I say, I haven't tried it.)



> _If you want to limit access, add "allowedips = 127.0.0.1 192.168.1" to [Server] section of pyTivo.conf_


...assuming that your LAN IPs start with 192.168.1.



> _On remote TiVo, manually add a server using IP address of the system being pulled from._


Yep.


----------



## wmcbrine

lrhorer said:


> Forwarding port 9032 is only necessary if one wishes to control pyTivo from the internet.


As I tried to explain here, pushes end up just like pulls: the TiVo makes an outgoing connection to the pyTivo server. So, yes, the port does need to be forwarded.


----------



## lpwcomp

wmcbrine said:


> You and johnjay829 are talking about two different things -- he was wanting to pull _from_ the TiVo.


Ah, yes I missed that. Not something I need to do.



wmcbrine said:


> That was for pulling _from_ a remote TiVo. pyTivo would only need port 80 forwarded. (Or, if that doesn't work, add "beacon: listen", and also forward port 2190. Like I say, I haven't tried it.)


Settings only necessary to the local router, none to the remote router, correct?

And will the shares show up in the remote TiVo's NPL or will she have to go through "Showcases & Apps" (or whatever the TiVo 2 equivalent is)? Maybe the system shows up in the remote NPL, with the shares as "sub-folders"? I know you haven't actually done it, but what do you think is _supposed_ to happen?


----------



## wmcbrine

lpwcomp said:


> Settings only necessary to the local router, none to the remote router, correct?


Yes.



> _And will the shares show up in the remote TiVo's NPL or will she have to go through "Showcases & Apps" (or whatever the TiVo 2 equivalent is)?_


NPL.


----------



## lrhorer

wmcbrine said:


> As I tried to explain here, pushes end up just like pulls: the TiVo makes an outgoing connection to the pyTivo server. So, yes, the port does need to be forwarded.


Only if the TiVo and the pyTiVo server are separated by the internet, as well. In that case, however, would either Bonjour or TiVo Beacon allow the TiVo and the server to see each other, unless there is a VPN connection between the two nets? If that is the case, 9032 still does not need to be opened. Maybe I am just being dense today, but I'm just not seeing how forwarding port 9032 is necessary unless one is controlling the pyTiVo server from a remote workstation.

Maybe I am just being confused by the proposed topology. We have three hosts, here. Host A is the workstation. Host B is the pyTivo server. Host C is the TiVo. Site X and site Y are separated by the internet. Which locations contain Host A, B, and C?


----------



## lrhorer

wmcbrine said:


> That was for pulling _from_ a remote TiVo. pyTivo would only need port 80 forwarded.


Forwarded to the TiVo, you mean? I don't see how that would work, either. Https uses port 443, not 80. An ordinary http call to port 80 just brings up the "Congratulations" screen. An https call to port 80 results in a timeout. What am I missing, here?


----------



## lpwcomp

No joy I'm afraid. Even with 80, 2190, and 9032 all open, and the following lines in the server section:


Code:


port = 80
ffmpeg = C:\pyTivo\bin\old_ffmpeg.exe
externalurl = http://99.116.217.37:80/
beacon = listen
allowedips = 127.0.0.1 192.168.1

when she manually adds 99.116.217.37, she gets "No servers found."

Also, if I have the beacon = listen, I get the following on startup of pyTivo:


Code:


Unhandled exception in thread started by <function server at 0x008E5D70>INFO:pyT
ivo:pyTivo is ready.

ERROR:pyTivo:Exception in pyTivo
Traceback (most recent call last):
  File "C:\pyTivo\beacon.py", line 152, in server
    TCPSock.bind(('', 2190))
  File "C:\Python27\lib\socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
error: [Errno 10048] Only one usage of each socket address (protocol/network add
ress/port)
is normally permitted

It seems to function OK though.


----------



## lrhorer

OK, maybe I am getting a glimmer, here. Are we saying manually adding a server in the TiVo settings allows the TiVo to contact a server outside its own subnet, despite the fact Bonjour and TiVo Beacon will not be able to find the server? I was not aware this was allowed. If it is true, though, then I agree forwarding of port 9032 to the pyTivo server is necessary unless a VPN connection is established between the sites. Personally, I think I would prefer the latter.


----------



## wmcbrine

lrhorer said:


> Only if the TiVo and the pyTiVo server are separated by the internet, as well.


That is the subject under discussion, yes.



lpwcomp said:


> error: [Errno 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted


Some other process has already grabbed port 2190. Do you have TiVo Desktop running on the same machine?

BTW, there's no point opening 9032 if you told pyTivo to run on 80.


----------



## lrhorer

lpwcomp said:


> No joy I'm afraid. Even with 80, 2190, and 9032 all open


"Open" in what sense and on which routers?


----------



## lpwcomp

lrhorer said:


> OK, maybe I am getting a glimmer, here. Are we saying manually adding a server in the TiVo settings allows the TiVo to contact a server outside its own subnet, despite the fact Bonjour and TiVo Beacon will not be able to find the server? I was not aware this was allowed.


Well, I suppose that's the theory but it doesn't seem to be working.

I tried a push to the remote TiVo w/o having the pinholes open in the firewall. Firewall log reported:


Code:


src=<redacted> dst=<redacted> ipprot=6 sport=2533 dport=9032 Unknown inbound session stopped

src was her IP address. So looks like pinhole for 9032 (I have pyTivo back on that port) is required. I also noticed some recent attempts to connect to port 5353 from her IP which started about the time I had her add my IP as a server, so I opened a pinhole for that. Unfortunately, she had to go out and won't be back until later so I don't know if she can pull at this point or if I have to move pyTivo back to port 80.


----------



## lpwcomp

lrhorer said:


> "Open" in what sense and on which routers?


Application pinholes in local router firewall for local computer running pyTivo.


----------



## wmcbrine

lrhorer said:


> I would like to suppress the pyTivo music share display (but of course not the sharing).


Try the "shares" keyword in the appropriate _tivo_ section. But I don't know if that will affect Jukebox.


----------



## lpwcomp

I may be getting closer. I have numerous sets of this message pair in my router firewall log:


Code:


2012-06-30T00:21:45-04:00 	info 	src=<remote IP adress> dst=192.168.1.101 ipprot=17 sport=1025 dport=5353 Session Matches User Pinhole, Packet Passed
2012-06-30T00:21:45-04:00 	info 	src=192.168.1.101 dst=<remote IP adress> ipprot=1 icmp_type=3 icmp_code=3 ICMP Dest Unreachable, session term

and this in my pyTivo output:


Code:


INFO:pyTivo:<remote IP adress> [30/Jun/2012 00:10:38] "GET /TiVoConnect?Command=QueryCo
ntainer&Container=%2F&Format=text%2Fxml HTTP/1.0" 200 -
INFO:pyTivo:<remote IP adress> [30/Jun/2012 00:12:14] "GET /TiVoConnect?Command=QueryCo
ntainer&Container=%2F&Format=text%2Fxml HTTP/1.0" 200 -

Looks like the request is getting here but the response can't get back(?).

I'll try tomorrow to get her to look at her firewall log.


----------



## lrhorer

lpwcomp said:


> Application pinholes in local router firewall for local computer running pyTivo.


That's not going to work. First of all, I'm not sure what you mean by "pinhole". If you mean the router is set up to allow the referenced protocol to pass, this is not sufficient. Some routers do require every protocol that will be used on the internet to be enabled in the firewall. I had a Motorola gateway that required it. What needs to happen, however, is the routers at both ends are going to have to forward the packets to the device in question. One way to do this is to set up a VPN server on the TiVo side and a VPN client on the pyTivo server. Some consumer routers have built-in VPN endpoints. Otherwise, you would have to set up a router running something like OpenVPN Server inside the TiVo's LAN and forward the secure port to it.

The other option is to enable port forwarding on the necessary ports on both routers. Each device is going to send out a packet with a particular destination port. When it reaches the router at the other end, the router must be prepared to send the packet to a specific port of a specific host. In general the actual port on the terminal host does not have to be the same as the destination port on the router, but it can be. For example, If you open up

http://fletchergeek.homelinux.net:80

You will see the HVAC controller on my backup server. My router is set up to forward port 80 coming in from any address on the internet to port 80 of the address of my backup server. OTOH, if you open your browser to the same IP, but to port 8080 instead

http://fletchergeek.homelinux.net:8080

You will see the list of most of the videos on my main server, because the router is set to forward port 8080 to the video server. It is not set to forward to port 8080, however. Instead, it forwards to port 80. Thus, both my main server and my backup server are running web servers on port 80, but the router forwards incoming packets for fletchergeek.homelinux.net:80 to port 80 of the backup server and incoming packets for letchergeek.homelinux.net:8080 to port 80 of the main server. Had I chosen to do so, I could have put both applications on one server and actually used port 80 for one and port 8080 for the other, but I did not choose to.

In the case of the TiVo and pyTivo, however, everything is going to be expecting specific ports on both the client and the server side, so you will need to forward the incoming ports to the same ports on their destination hosts.

What this means for you is you are going to have to forward the incoming ports needed by the TiVo on its local router and the incoming ports needed by the pyTivo server on its local router. Specifically, the TiVo listens on port 443 for its connections, and so on the router local to the TiVo, you are going to need to forward port 443 coming in to the router to port 443 on the Tivo. On the router local to the pyTivo server, you are going to need to forward whatever port you have pyTivo set up to listen (the default is 9032) to that port on the TiVo. As long as my inference that TiVo Beacon or Bonjour are not needed for the transaction is correct, then that is all that should be necessary. Taking a look at teh packets transversing my LAN for a TiVo push and for a query of the shows on one of the TiVos by pyTivo, the inference seems correct.


----------



## lpwcomp

lrhorer said:


> That's not going to work. First of all, I'm not sure what you mean by "pinhole". If you mean the router is set up to allow the referenced protocol to pass, this is not sufficient. Some routers do require every protocol that will be used on the internet to be enabled in the firewall. I had a Motorola gateway that required it. What needs to happen, however, is the routers at both ends are going to have to forward the packets to the device in question. One way to do this is to set up a VPN server on the TiVo side and a VPN client on the pyTivo server. Some consumer routers have built-in VPN endpoints. Otherwise, you would have to set up a router running something like OpenVPN Server inside the TiVo's LAN and forward the secure port to it.
> 
> The other option is to enable port forwarding on the necessary ports on both routers. Each device is going to send out a packet with a particular destination port. When it reaches the router at the other end, the router must be prepared to send the packet to a specific port of a specific host. In general the actual port on the terminal host does not have to be the same as the destination port on the router, but it can be. For example, If you open up
> 
> http://fletchergeek.homelinux.net:80
> 
> You will see the HVAC controller on my backup server. My router is set up to forward port 80 coming in from any address on the internet to port 80 of the address of my backup server. OTOH, if you open your browser to the same IP, but to port 8080 instead
> 
> http://fletchergeek.homelinux.net:8080
> 
> You will see the list of most of the videos on my main server, because the router is set to forward port 8080 to the video server. It is not set to forward to port 8080, however. Instead, it forwards to port 80. Thus, both my main server and my backup server are running web servers on port 80, but the router forwards incoming packets for fletchergeek.homelinux.net:80 to port 80 of the backup server and incoming packets for letchergeek.homelinux.net:8080 to port 80 of the main server. Had I chosen to do so, I could have put both applications on one server and actually used port 80 for one and port 8080 for the other, but I did not choose to.
> 
> In the case of the TiVo and pyTivo, however, everything is going to be expecting specific ports on both the client and the server side, so you will need to forward the incoming ports to the same ports on their destination hosts.
> 
> What this means for you is you are going to have to forward the incoming ports needed by the TiVo on its local router and the incoming ports needed by the pyTivo server on its local router. Specifically, the TiVo listens on port 443 for its connections, and so on the router local to the TiVo, you are going to need to forward port 443 coming in to the router to port 443 on the Tivo. On the router local to the pyTivo server, you are going to need to forward whatever port you have pyTivo set up to listen (the default is 9032) to that port on the TiVo. As long as my inference that TiVo Beacon or Bonjour are not needed for the transaction is correct, then that is all that should be necessary. Taking a look at teh packets transversing my LAN for a TiVo push and for a query of the shows on one of the TiVos by pyTivo, the inference seems correct.


lhrorer, you are exhibiting one of your most annoying qualities - you don't know what you don't know. By that I mean that you think you know everything, at least on certain subjects. If you see anything that doesn't match your world view, you either ignore it or continue to claim that it doesn't work that way. You also continue to not understand exactly what I'm trying to do. *Pushes to a remote TiVo are already working* and the only port I had to open was 9032 on the router local to the computer running pyTivo. I am now trying to give the remote TiVo the ability to PULL from my computer. Since you have absolutely no experience doing either of these things, I suggest you refrain from posting on this subject until you do. At this point, you have contributed nothing useful and have only succeeded in confusing anyone monitoring the discussion.


----------



## lrhorer

lpwcomp said:


> You also continue to not understand exactly what I'm trying to do.


That's because you haven't communicated it very well. However, I think now I have the topology properly in mind.



lpwcomp said:


> *Pushes to a remote TiVo are already working*


You said that before. How is it relevant?



lpwcomp said:


> and the only port I had to open was 9032 on the router local to the computer running pyTivo.


That is because the pyTivo host does not contact the TiVo host for a push. The TiVo contacts the pyTivo host on port 9032 (or whatever you have set for communications in the pyTivo.conf file), tells it what file it wants, and the transfer goes from there. Initiating the transfer is mediated by the mind server, and both pyTivo and the TiVo contact the mind server. The only directly initiated contact between the Tivo and pyTivo is during the transfer itself, and that is initiated by the TiVo, which is why port 9032 and only 9032 needs to be forwarded for a push.

You yourself admit forwarding port 9032 is not sufficient to allow pulls, so exactly what is the issue with my statements?



lpwcomp said:


> I am now trying to give the remote TiVo the ability to PULL from my computer.


You said that before, too. Exactly what in my post above suggests I was not talking about your effort to initiate a pull?



lpwcomp said:


> Since you have absolutely no experience doing either of these things


I'm not at all sure a pull will be possible without TiVo Beacon or Bonjour, as I already mentioned. In that case a VPN connection is going to be required.

I can't be certain whether pyTivo requires the information provided by the link to the TiVo for a pull, but it is most certainly continuously active on a link to the TiVo on port 443. Certainly port 443 is absolutely required in order to pull the NPL from the TiVo or to pull movies from the TiVo to the pyTivo server (TTG). Taking a look at the packets involved in a pull, it does not appear any communications actually goes on between pyTivo and the TiVo, but it is possible pyTiVo requires the information already acquired from the TiVo in order to proceed.

Whether port 443 is absolutely required for pulls from the server or not, I can't say with certainty without further investigation, but I can say with conviction that you aren't going to get Bonjour or TiVo Beacon to work without a VPN, and that forwarding port 443 on the router local to the TiVo is the only likely shot you have at getting pulls to work without a VPN.


----------



## lrhorer

Digging a bit further, it looks like TiVo Beacon may be able to work across subnet boundaries. Normally mDNS employs a broadcast IP, but when one inputs an explicit IP for a server, the TiVo sends out an mDNS packet to the specific IP of the server. When I set up an IP address on the TiVo foreign to the local LAN, the TiVo sends out a TivoConnect packet to port 2190 of the remote server. This means port 2190 on the router local to the pyTivo server will need to be forwarded to the TiVo.

Then there are some communications to port 80 on the pyTiVo server, but I expect those may not be essential: port 80 on my server is in use by a web server, and it does not affect pyTivo operations. Nonetheless, it won't hurt* to forward port 80 on the pyTiVo LAN router to the pyTivo server, unless you are using that for something else.

Next the tivo sends out mDNS queries to port 5353 on the pyTivo server, so port 5353 also needs to be forwarded on the pyTivo LAN router if this is to work.

That, and setting up pyTivo to use Tivo Beacon may be all that is required.


* - I say, "It won't hurt". Forwarding any ports to an application that is not secure is not the best idea on Earth. PyTivo is not secure, and anyone with malicious intent can easily find routers with port 9032 forwarded, and then get into your pyTivo server. At the very least, they can trash your pyTivo.conf file, and with the ability to write to your hard drive, the ability to insert a worm is also a distinct possibility. Not only that, but if the pyTivo app happens to have a buffer overflow vulnerability, the hacker could potentially take over complete control of the PC via that means. If your pyTivo server is in fact listening on port 80, then that may also represent a vulnerability. I suspect port 5353 is not terribly vulnerable, but even it could be so.


----------



## wmcbrine

OK, I tried "Manually add a server" just within my LAN, in various configurations, and couldn't get it to work. (It works for HME, though.) So, you can forget about that for now. Sorry.


----------



## lrhorer

wmcbrine said:


> OK, I tried "Manually add a server" just within my LAN, in various configurations, and couldn't get it to work. (It works for HME, though.) So, you can forget about that for now. Sorry.


If it works for HME, he might be able to use vidmgr to initiate pushes from the TiVo.


----------



## lpwcomp

wmcbrine said:


> OK, I tried "Manually add a server" just within my LAN, in various configurations, and couldn't get it to work. (It works for HME, though.) So, you can forget about that for now. Sorry.





lrhorer said:


> If it works for HME, he might be able to use vidmgr to initiate pushes from the TiVo.


As you can see from this post, when she manually added the server, I started seeing traffic on port 5353 and pyTivo saw _*something*_. I fear any further investigation will have to wait until I am able to get over there which probably won't be until the 17th or 18th of July. While she is not totally incompetent with changing computer & network settings, this is a bit beyond her comfort level. Maybe I can get her to look at the firewall log to give me some more data points but that would be about it.

BTW, the reason I keep referring to "pinholes" is because that is the term my current router (2Wire, Inc 3600HGV) uses but it should be the same. From the text in the router:



> Opening firewall pinholes is also known as opening firewall ports or firewall port forwarding.


----------



## lrhorer

lpwcomp said:


> BTW, the reason I keep referring to "pinholes" is because that is the term my current router (2Wire, Inc 3600HGV) uses but it should be the same. From the text in the router:


There are several forms of firewall penetration.

Port forwarding involves taking an inbound packet and translating its destination address and possibly its destination port to some fixed value for a host and port found on the LAN.

Port triggering involves essentially the same thing, except that the inbound forwarding is only turned on in response to an outbound packet, and only for a short time. Port triggering is also dynamic in the sense that the return packets are forwarded to whatever host sent out the trigger packet, while port forwarding is limited to a single IP address (although perhaps it can be a broadcast address, but the results of that could get messy).

A DMZ host can be defined, in which case all unassigned traffic flows to that host. Any packets not involved in an active connection, a stateful transaction, a triggered reply, or a specific port forward are sent to the DMZ host.

In addition to inbound blocking, some routers employ outbound blocking, as well. In the most secure routers, the router will not forward packets in either direction for any host on the LAN not defined in its DHCP tables, and will not forward a packet even for a known host unless the protocol is specifically enabled. For port forwarding or triggering, these routers not only must have the forwarding defined, but also have to have the protocol enabled, and must recognize the host's MAC and IP. It is a minor pain to manage such routers, but they are extremely secure.

There are a few other means of intentionally penetrating a NAT firewall, but those are the ones likely to be used by residential routers.


----------



## wmcbrine

lpwcomp said:


> As you can see from this post, when she manually added the server, I started seeing traffic on port 5353 and pyTivo saw _*something*_.


Yes, I can get the same output, but it doesn't result in shares appearing on the TiVo. Port 5353 is Zeroconf -- I don't think that's going to help. Of course, I had to disable it to test "Manually add a server" from within the LAN. But even assuming a successful connection, I think that, at most, the remote TiVo would get added to pyTivo's list of TiVos (if it weren't already in pyTivo.conf). The old-style beacon system has a provision for direct responses to TCP connections (that's beacon = listen); the Zeroconf system doesn't. It only announces shares via UDP multicast.


----------



## lpwcomp

wmcbrine said:


> Yes, I can get the same output, but it doesn't result in shares appearing on the TiVo. Port 5353 is Zeroconf -- I don't think that's going to help. Of course, I had to disable it to test "Manually add a server" from within the LAN. But even assuming a successful connection, I think that, at most, the remote TiVo would get added to pyTivo's list of TiVos (if it weren't already in pyTivo.conf). The old-style beacon system has a provision for direct responses to TCP connections (that's beacon = listen); the Zeroconf system doesn't. It only announces shares via UDP multicast.


Ah, OK. Well, based on some of the things I'm seeing in the router firewall log, I was a bit leery of opening the additional pinholes anyway. But I am still wondering if something was being blocked by _*her*_ firewall.

Once again, thanks for all your help getting Push to a remote TiVo working and for suggesting it in the first place. The (ex)GF is extremely happy. Being able to pull from my computer would have just been chocolate icing on the Krispy-Kreme.


----------



## lrhorer

lpwcomp said:


> Ah, OK. Well, based on some of the things I'm seeing in the router firewall log, I was a bit leery of opening the additional pinholes anyway. But I am still wondering if something was being blocked by _*her*_ firewall.


Well, it's easy enough to check. Fire up Wireshark on your LAN and look for packets with her IP. If you see any that have your server's IP as a source with hers as a destination, but none with hers as a source and yours as a destination (especially if they are TCP), then that suggests a link that cannot be established. Also look for denials from her side. Any contact that your host initiates on a port of her host must have that destination port forwarded on her router. ICMP must also be enabled on her router, although most routers have ICMP enabled by default and most also won't allow it to be disabled.


----------



## lrhorer

lpwcomp said:


> Ah, OK. Well, based on some of the things I'm seeing in the router firewall log, I was a bit leery of opening the additional pinholes anyway.


Just remember, with 9032 open to your pyTivo server, anyone on the internet can use a simple app like nmap to find out where your server is and then logging in with any browser will get them your TiVo user name, password, MAK, etc.


----------



## wmcbrine

Yes, that's why we have "allowedips".


----------



## lrhorer

wmcbrine said:


> Yes, that's why we have "allowedips".


Yes, but that in turn does not prevent man-in-the-middle attacks.

Admittedly, the port 9032 vulnerability is not a vast one, simply because the targets are few and the potential gain may be small, but one should know the risk before implementing it.


----------



## David Platt

I've tried searching for an answer to this, but I'm not coming up with anything.

I recently had to re-install pyTiVo after an OS re-install on my computer. I was pretty sure I had it set up the same way as before, but I just transferred an mkv file and the audio was all "squeaky," for lack of a better word. It sounded like parts of the audio track were playing at 78 rpm. I remember running into this problem in the past, but can't remember what steps I took to fix it. Any suggestions?

I installed using the standard Windows instructions on the pyTiVo wiki and I'm running Windows 7.


----------



## wmcbrine

Try rewinding and replaying. Try playing a different recording or LiveTV, then coming back to the problem recording. If that doesn't work (try it several times), try rebooting. If all else fails, you could force the audio to be reencoded during the transfer.

Where this seems to happen is with 44.1KHz soundtracks, where usually the TiVo deals with 48KHz. But it _can_ handle the 44.1KHz. It just gets into this weird glitchy mode sometimes.


----------



## David Platt

wmcbrine said:


> Try rewinding and replaying. Try playing a different recording or LiveTV, then coming back to the problem recording. If that doesn't work (try it several times), try rebooting. If all else fails, you could force the audio to be reencoded during the transfer.
> 
> Where this seems to happen is with 44.1KHz soundtracks, where usually the TiVo deals with 48KHz. But it _can_ handle the 44.1KHz. It just gets into this weird glitchy mode sometimes.


Thanks! Turns out it was indeed just a problem recording; I transferred a different mkv and it played just fine. I just happened to try the problem recording as the very first file after I reinstalled pyTiVo, so I thought something had gone wrong with the install.


----------



## lpwcomp

Well, the metadata problem introduced with 20.2, fixed with 20.2.1.1, appears to be back with 20.2.1.2


----------



## wmcbrine

lpwcomp said:


> Well, the metadata problem introduced with 20.2, fixed with 20.2.1.1, appears to be back with 20.2.1.2


No. What I'm seeing here is that the .TiVo header data (whether real or fake) is working (so, transferred files have their complete data), but the TiVoVideoDetails request is not (so, browsing a share shows incomplete data). As best I can recall, this is the same as 20.2.1.1 -- i.e., the problem was never fully fixed.


----------



## lpwcomp

wmcbrine said:


> No. What I'm seeing here is that the .TiVo header data (whether real or fake) is working (so, transferred files have their complete data), but the TiVoVideoDetails request is not (so, browsing a share shows incomplete data). As best I can recall, this is the same as 20.2.1.1 -- i.e., the problem was never fully fixed.


Ah, Ok. Then there is different problem. Not sure when this began. The presence of starRating in the metadata seems to prevent the transfer of anything but title, description, and mpaaRating (if present).

The only one I have explicitly tested is:

starRating : x5

edit: I took a look at the pyTivo code and based on my reading, I removed the leading "x" and just made it:

starRating : 5

Now it is performing properly.


----------



## wmcbrine

Thanks, it was an oversight when changing over to human-readable metadata. Fixed now. (Plain numbers map directly to the number of stars; '5' only worked because it was outside that range.)


----------



## bwall23

My season pass for ESOcast HD stopped downloading the podcasts.
It appears to be related to the number of soft subs (subtitles) added to their HD files. The files are in m4v format and those with a few subs will play or download, but those with many fail to play and download. I'm downloading a large sample of them to try and determine what the max is.
[EDIT] 8 subs is Max I could push w/pyTiVo or download from the tivocast, 9+ subs (11+ streams) errors out on a Premiere with software v20.2.1.2

Anyone else seeing this?
European Souther Observatory - ESOcast


----------



## starmanj

Hi wmcbrine!
FYI I see this show up in the python.exe output. Is this significant? See "***" marks below for highlight.
Starmanj

Metadata:
creation_time : 2012-07-08 03:37:01
Duration: 01:35:59.75, start: 0.000000, bitrate: 5184 kb/s
Stream #0:0(eng): Video: h264 (High), yuv420p, 1280x534, SAR 1:1 DAR 640:26
, 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Stream #0:1: Subtitle: text
Stream #0:2: Subtitle: text (default) (forced)
Stream #0:3(eng): Audio: dts (DTS), 48000 Hz, 5.1(side), s16, 1536 kb/s (de
ault)
****Please use -b:a or -b:v, -b is ambiguous****
[aformat @ 000000000434dce0] auto-inserting filter 'auto-inserted resampler 0'
etween the filter 'Parsed_anull_0' and the filter 'aformat'
[aresample @ 000000000434ddc0] chl:5.1(side) fmt:s16 r:48000Hz -> chl:5.1(side)
fmt:flt r:48000Hz


----------



## johnjay829

unable to pull a video.push works fine from webtool or vidmgr. 

DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E01 - 720p WEB DL AAC2 0 H 264.mkv

the video will transfer around half of the video then i get this debug log


----------



## johnjay829

also any way to do a pull from webtools or other app. i like that i can transfer between hdtivo's when i use the pull from the tivo menu but i don't always at home to start a pull. it shows copy protected when i use the push function


----------



## wmcbrine

johnjay829 said:


> DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E01 - 720p WEB DL AAC2 0 H 264.mkv


That line doesn't show the problem.



> _also any way to do a pull from webtools or other app._


LOL. Starting the transfer from somewhere other than the TiVo's NPL is what _defines_ it as a push.



> _it shows copy protected when i use the push function_


Yes. Sorry, not our choice (nor the copyright holder's, as the TiVo falsely claims). Nothing we can do about it.


----------



## lrhorer

wmcbrine said:


> Yes. Sorry, not our choice (nor the copyright holder's, as the TiVo falsely claims).


No kidding. In some cases, *I* am the copyright holder, and I definitely did not give TiVo permission to copy protect material I created.



wmcbrine said:


> Nothing we can do about it.


Yeah, not that it is a really big issue, but this is an outright example of pure laziness on the part of the Tivo developers. Rather than bother to put intelligence into the protocol to determine what the DRM status of the download might be, they just made everything downloaded copy protected.


----------



## lpwcomp

lrhorer said:


> No kidding. In some cases, *I* am the copyright holder, and I definitely did not give TiVo permission to copy protect material I created.
> 
> Yeah, not that it is a really big issue, but this is an outright example of pure laziness on the part of the Tivo developers. Rather than bother to put intelligence into the protocol to determine what the DRM status of the download might be, they just made everything downloaded copy protected.


More accurately, they made everything "Pushed" copy protected.


----------



## johnjay829

wmcbrine said:


> That line doesn't show the problem.
> 
> LOL. Starting the transfer from somewhere other than the TiVo's NPL is what _defines_ it as a push.
> 
> Yes. Sorry, not our choice (nor the copyright holder's, as the TiVo falsely claims). Nothing we can do about it.


can the cache size be increased also would i benefit from changing it


----------



## johnjay829

INFOyTivo:Last modified: Wed Jul 11 00:43:42 2012
INFOyTivoython: 2.7.2
INFOyTivo:System: Windows-7-6.1.7601-SP1
INFOyTivo.beacon:Announcing shares...
INFOyTivo.beacon:Registering: Amaya and Savannah
INFOyTivo.beacon:Registering: Movies
INFOyTivo.beacon:Registering: Tivo Remux
INFOyTivo.beacon:Registering: Tv Shows
INFOyTivo.beacon:Registering: Workouts
INFOyTivo.beacon:Scanning for TiVos...
INFOyTivo.beacon:Van & MyMy
INFOyTivo.beacon:Bedroom
INFOyTivo.beacon:Living Room
INFOyTivoyTivo is ready.
INFOyTivo:192.168.1.11 [21/Jul/2012 13:26:14] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFOyTivo:192.168.1.13 [21/Jul/2012 13:26:14] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFOyTivo:192.168.1.9 [21/Jul/2012 13:26:14] "GET /TiVoConnect?Command=QueryCo
ntainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFOyTivo:192.168.1.14 [21/Jul/2012 13:26:14] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F HTTP/1.0" 200 -
INFOyTivo:192.168.1.11 [21/Jul/2012 13:26:42] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFOyTivo:192.168.1.11 [21/Jul/2012 13:26:42] "GET /TiVoConnect?Command=QueryC
ontainer&Container=Tv%20Shows&ItemCount=0&SerialNum=748001190436551 HTTP/1.1" 20
0 -
INFOyTivo:192.168.1.11 [21/Jul/2012 13:26:42] "GET /TiVoConnect?Command=QueryC
ontainer&Container=Movies&ItemCount=0&SerialNum=748001190436551 HTTP/1.1" 200 -
INFOyTivo:192.168.1.11 [21/Jul/2012 13:26:42] "GET /TiVoConnect?Command=QueryC
ontainer&Container=Tivo%20Remux&ItemCount=0&SerialNum=748001190436551 HTTP/1.1"
200 -
INFOyTivo:192.168.1.11 [21/Jul/2012 13:26:43] "GET /TiVoConnect?Command=QueryC
ontainer&Container=Workouts&ItemCount=0&SerialNum=748001190436551 HTTP/1.1" 200
-
INFOyTivo:192.168.1.11 [21/Jul/2012 13:26:45] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFOyTivo:192.168.1.11 [21/Jul/2012 13:26:45] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFOyTivo:192.168.1.11 [21/Jul/2012 13:26:46] "GET /TiVoConnect?Command=QueryC
ontainer&Container=Amaya%20and%20Savannah&ItemCount=0&SerialNum=748001190436551
HTTP/1.1" 200 -
INFOyTivo:192.168.1.11 [21/Jul/2012 13:26:53] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFOyTivo:192.168.1.11 [21/Jul/2012 13:26:53] "GET /TiVoConnect?Command=QueryC
ontainer&Container=Movies&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-conta
iner%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&Seria
lNum=748001190436551 HTTP/1.1" 200 -
INFOyTivo:192.168.1.11 [21/Jul/2012 13:26:57] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFOyTivo:192.168.1.11 [21/Jul/2012 13:26:57] "GET /TiVoConnect?Command=QueryC
ontainer&Container=Movies%2FContinuum&SortOrder=!CaptureDate&ItemCount=8&Filter=
x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,vid
eo%2F*&SerialNum=748001190436551 HTTP/1.1" 200 -
INFOyTivo:192.168.1.11 [21/Jul/2012 13:26:59] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFOyTivo:192.168.1.11 [21/Jul/2012 13:26:59] "GET /TiVoConnect?Command=QueryC
ontainer&Container=Movies%2FContinuum%2FSeason%201&SortOrder=!CaptureDate&ItemCo
unt=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-
tivo-mpeg,video%2F*&SerialNum=748001190436551 HTTP/1.1" 200 -
INFOyTivo:192.168.1.11 [21/Jul/2012 13:26:59] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFOyTivo:192.168.1.11 [21/Jul/2012 13:26:59] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFOyTivo:192.168.1.11 [21/Jul/2012 13:27:03] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
DEBUGyTivo.video.transcode:starting ffmpeg, will wait 10 seconds for it to com
plete
DEBUGyTivo.video.transcode:ffmpeg output=FFmpeg version SVN-r21659-rdian06-1.0
2-win-x86_32, Copyright (c) 2000-2010 Fabrice Bellard, et al.
built on Aug 24 2010 20:46:16 with gcc 4.4.0
configuration: --enable-memalign-hack --disable-debug --enable-hardcoded-table
s --enable-runtime-cpudetect --enable-static --disable-shared --disable-ffserver
--disable-ffplay --enable-gpl --enable-pthreads --enable-libmp3lame --enable-li
bvorbis --enable-libtheora --enable-libspeex --enable-libgsm --enable-libx264 --
enable-libschroedinger --enable-libfaad --enable-libxvid --disable-decoder=aac -
-enable-avisynth --enable-postproc --enable-avfilter --enable-avfilter-lavf
libavutil 50. 8. 0 / 50. 8. 0
libavcodec 52.52. 0 / 52.52. 0
libavformat 52.50. 0 / 52.50. 0
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.17. 0 / 1.17. 0
libswscale 0.10. 0 / 0.10. 0
libpostproc 51. 2. 0 / 51. 2. 0
[matroska @ 0x14bd3f0]Estimating duration from bitrate, this may be inaccurate

Seems stream 0 codec frame rate differs from container frame rate: 47.95 (48000/
1001) -> 23.98 (24000/1001)
Input #0, matroska, from 'M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07
- 720p HDTV x264 2HD.1.mkv':
Duration: 00:43:58.52, start: 0.000000, bitrate: 384 kb/s
Stream #0.0(eng): Video: h264, yuv420p, 1280x720, PAR 1:1 DAR 16:9, 24.39 fp
s, 23.98 tbr, 1k tbn, 47.95 tbc
Stream #0.1: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
At least one output file must be specified

DEBUGyTivo.video.transcode:aFreq=48000; aCh=6; container=matroska; kbps=384; m
apAudio=[('0.1', ' ac3, 48000 Hz, 5.1, s16, 384 kb/s\r')]; vHeight=720; vCodec=h
264; Supported=True; aKbps=384; par=None; millisecs=2638520; vFps=23.98; par2=1.
0; par1=1:1; mapVideo=0.0; vWidth=1280; dar1=16:9; rawmeta={}; aCodec=ac3
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, M:\Video
s\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:tsn: 748001190436551
DEBUGyTivo.video.transcode:aspect169: True
DEBUGyTivo.video.transcodeptres: False
DEBUGyTivo.video.transcode:File=M:\Videos\Movies\Continuum\Season 1\Continuum
- S01E07 - 720p HDTV x264 2HD.1.mkv vCodec=h264 vWidth=1280 vHeight=720 vFps=23.
98 millisecs=2638520 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:audio_lang: None
DEBUGyTivo.video.transcode:selected audio stream: 0.1
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, M:\Video
s\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
INFOyTivo:192.168.1.11 [21/Jul/2012 13:27:03] "GET /TiVoConnect?Command=QueryC
ontainer&Container=Movies%2FContinuum%2FSeason%201&SortOrder=!CaptureDate&ItemCo
unt=1&AnchorItem=%2FMovies%2FContinuum%2FSeason%25201%2FContinuum%2520-%2520S01E
07%2520-%2520720p%2520HDTV%2520x264%25202HD.1.mkv&AnchorOffset=-1&Filter=x-tivo-
container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&
SerialNum=748001190436551 HTTP/1.1" 200 -
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, M:\Video
s\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:tsn: 748001190436551
DEBUGyTivo.video.transcode:aspect169: True
DEBUGyTivo.video.transcodeptres: False
DEBUGyTivo.video.transcode:File=M:\Videos\Movies\Continuum\Season 1\Continuum
- S01E07 - 720p HDTV x264 2HD.1.mkv vCodec=h264 vWidth=1280 vHeight=720 vFps=23.
98 millisecs=2638520 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:audio_lang: None
DEBUGyTivo.video.transcode:selected audio stream: 0.1
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, M:\Video
s\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
INFOyTivo:192.168.1.11 [21/Jul/2012 13:27:03] "GET /TiVoConnect?Command=TVBusQ
uery&Container=Movies&File=%2FContinuum%2FSeason%201%2FContinuum%20-%20S01E07%20
-%20720p%20HDTV%20x264%202HD.1.mkv&SerialNum=748001190436551 HTTP/1.1" 200 -
INFOyTivo:192.168.1.11 [21/Jul/2012 13:27:03] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, M:\Video
s\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
INFOyTivo:192.168.1.11 [21/Jul/2012 13:27:08] "GET /Movies/Continuum/Season%20
1/Continuum%20-%20S01E07%20-%20720p%20HDTV%20x264%202HD.1.mkv?Format=video%2Fx-t
ivo-mpeg-ts HTTP/1.1" 206 -
INFOyTivo.video.video:[21/Jul/2012 13:27:08] Start sending "M:\Videos\Movies\C
ontinuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv" to Living Room
DEBUGyTivo.video.video:"M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07
- 720p HDTV x264 2HD.1.mkv" is not tivo compatible
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:tsn: 748001190436551
DEBUGyTivo.video.transcode:aspect169: True
DEBUGyTivo.video.transcodeptres: False
DEBUGyTivo.video.transcode:File=M:\Videos\Movies\Continuum\Season 1\Continuum
- S01E07 - 720p HDTV x264 2HD.1.mkv vCodec=h264 vWidth=1280 vHeight=720 vFps=23.
98 millisecs=2638520 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Cont
inuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUGyTivo.video.transcode:audio_lang: None
DEBUGyTivo.video.transcode:selected audio stream: 0.1
DEBUGyTivo.video.transcode:transcoding to tivo model 748 using ffmpeg command:

DEBUGyTivo.video.transcode:M:\Programs\PyTivo\bin\ffmpeg.exe -i M:\Videos\Movi
es\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv -vcodec mpeg
2video -b 16384k -maxrate 30000k -bufsize 4096k -ab 448k -ar 48000 -acodec copy
-copyts -map 0.0 -map 0.1 -f mpegts -
FFmpeg version SVN-r21659-rdian06-1.02-win-x86_32, Copyright (c) 2000-2010 Fabri
ce Bellard, et al.
built on Aug 24 2010 20:46:16 with gcc 4.4.0
configuration: --enable-memalign-hack --disable-debug --enable-hardcoded-table
s --enable-runtime-cpudetect --enable-static --disable-shared --disable-ffserver
--disable-ffplay --enable-gpl --enable-pthreads --enable-libmp3lame --enable-li
bvorbis --enable-libtheora --enable-libspeex --enable-libgsm --enable-libx264 --
enable-libschroedinger --enable-libfaad --enable-libxvid --disable-decoder=aac -
-enable-avisynth --enable-postproc --enable-avfilter --enable-avfilter-lavf
libavutil 50. 8. 0 / 50. 8. 0
libavcodec 52.52. 0 / 52.52. 0
libavformat 52.50. 0 / 52.50. 0
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.17. 0 / 1.17. 0
libswscale 0.10. 0 / 0.10. 0
libpostproc 51. 2. 0 / 51. 2. 0
[matroska @ 0x14780c0]Estimating duration from bitrate, this may be inaccurate

Seems stream 0 codec frame rate differs from container frame rate: 47.95 (48000/
1001) -> 23.98 (24000/1001)
Input #0, matroska, from 'M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07
- 720p HDTV x264 2HD.1.mkv':
Duration: 00:43:58.52, start: 0.000000, bitrate: 384 kb/s
Stream #0.0(eng): Video: h264, yuv420p, 1280x720, PAR 1:1 DAR 16:9, 24.39 fp
s, 23.98 tbr, 1k tbn, 47.95 tbc
Stream #0.1: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
Output #0, mpegts, to 'pipe:':
Stream #0.0(eng): Video: mpeg2video, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], q
=2-31, 16384 kb/s, 90k tbn, 23.98 tbc
Stream #0.1: Audio: ac3, 48000 Hz, 5.1, 384 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Press [q] to stop encoding
frm= 785 fps= 7 q= 2.0 size= 134937kB time= 32.70 brt=33805.0kbps
**********************************************************
transfer just stops here no errors???


----------



## lrhorer

Please use code tags when displaying log files or other information of this sort. It makes the text far, far more readable and it takes much less screen real estate:



Code:


INFO:pyTivo:Last modified: Wed Jul 11 00:43:42 2012
INFO:pyTivo:Python: 2.7.2
INFO:pyTivo:System: Windows-7-6.1.7601-SP1
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: Amaya and Savannah
INFO:pyTivo.beacon:Registering: Movies
INFO:pyTivo.beacon:Registering: Tivo Remux
INFO:pyTivo.beacon:Registering: Tv Shows
INFO:pyTivo.beacon:Registering: Workouts
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:Van & MyMy
INFO:pyTivo.beacon:Bedroom
INFO:pyTivo.beacon:Living Room
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.1.11 [21/Jul/2012 13:26:14] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.13 [21/Jul/2012 13:26:14] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.9 [21/Jul/2012 13:26:14] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.14 [21/Jul/2012 13:26:14] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.11 [21/Jul/2012 13:26:42] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.11 [21/Jul/2012 13:26:42] "GET /TiVoConnect?Command=QueryContainer&Container=Tv%20Shows&ItemCount=0&SerialNum=748001190436551 HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.11 [21/Jul/2012 13:26:42] "GET /TiVoConnect?Command=QueryContainer&Container=Movies&ItemCount=0&SerialNum=748001190436551 HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.11 [21/Jul/2012 13:26:42] "GET /TiVoConnect?Command=QueryContainer&Container=Tivo%20Remux&ItemCount=0&SerialNum=748001190436551 HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.11 [21/Jul/2012 13:26:43] "GET /TiVoConnect?Command=QueryContainer&Container=Workouts&ItemCount=0&SerialNum=748001190436551 HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.11 [21/Jul/2012 13:26:45] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.11 [21/Jul/2012 13:26:45] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.11 [21/Jul/2012 13:26:46] "GET /TiVoConnect?Command=QueryContainer&Container=Amaya%20and%20Savannah&ItemCount=0&SerialNum=748001190436551 HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.11 [21/Jul/2012 13:26:53] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.11 [21/Jul/2012 13:26:53] "GET /TiVoConnect?Command=QueryContainer&Container=Movies&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=748001190436551 HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.11 [21/Jul/2012 13:26:57] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.11 [21/Jul/2012 13:26:57] "GET /TiVoConnect?Command=QueryContainer&Container=Movies%2FContinuum&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=748001190436551 HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.11 [21/Jul/2012 13:26:59] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.11 [21/Jul/2012 13:26:59] "GET /TiVoConnect?Command=QueryContainer&Container=Movies%2FContinuum%2FSeason%201&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=748001190436551 HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.11 [21/Jul/2012 13:26:59] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.11 [21/Jul/2012 13:26:59] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.11 [21/Jul/2012 13:27:03] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:starting ffmpeg, will wait 10 seconds for it to complete
DEBUG:pyTivo.video.transcode:ffmpeg output=FFmpeg version SVN-r21659-rdian06-1.02-win-x86_32, Copyright (c) 2000-2010 Fabrice Bellard, et al.
  built on Aug 24 2010 20:46:16 with gcc 4.4.0
  configuration: --enable-memalign-hack --disable-debug --enable-hardcoded-tables --enable-runtime-cpudetect --enable-static --disable-shared --disable-ffserver --disable-ffplay --enable-gpl --enable-pthreads --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libgsm --enable-libx264 --enable-libschroedinger --enable-libfaad --enable-libxvid --disable-decoder=aac --enable-avisynth --enable-postproc --enable-avfilter --enable-avfilter-lavf
  libavutil     50. 8. 0 / 50. 8. 0
  libavcodec    52.52. 0 / 52.52. 0
  libavformat   52.50. 0 / 52.50. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.17. 0 /  1.17. 0
  libswscale     0.10. 0 /  0.10. 0
  libpostproc   51. 2. 0 / 51. 2. 0
[matroska @ 0x14bd3f0]Estimating duration from bitrate, this may be inaccurate

Seems stream 0 codec frame rate differs from container frame rate: 47.95 (48000/1001) -> 23.98 (24000/1001)
Input #0, matroska, from 'M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv':
  Duration: 00:43:58.52, start: 0.000000, bitrate: 384 kb/s
    Stream #0.0(eng): Video: h264, yuv420p, 1280x720, PAR 1:1 DAR 16:9, 24.39 fps, 23.98 tbr, 1k tbn, 47.95 tbc
    Stream #0.1: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
At least one output file must be specified

DEBUG:pyTivo.video.transcode:aFreq=48000; aCh=6; container=matroska; kbps=384; mapAudio=[('0.1', ' ac3, 48000 Hz, 5.1, s16, 384 kb/s\r')]; vHeight=720; vCodec=h264; Supported=True; aKbps=384; par=None; millisecs=2638520; vFps=23.98; par2=1.0; par1=1:1; mapVideo=0.0; vWidth=1280; dar1=16:9; rawmeta={}; aCodec=ac3
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:tsn: 748001190436551
DEBUG:pyTivo.video.transcode:aspect169: True
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv vCodec=h264 vWidth=1280 vHeight=720 vFps=23.98 millisecs=2638520 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:selected audio stream: 0.1
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
INFO:pyTivo:192.168.1.11 [21/Jul/2012 13:27:03] "GET /TiVoConnect?Command=QueryContainer&Container=Movies%2FContinuum%2FSeason%201&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FMovies%2FContinuum%2FSeason%25201%2FContinuum%2520-%2520S01E07%2520-%2520720p%2520HDTV%2520x264%25202HD.1.mkv&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=748001190436551 HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:tsn: 748001190436551
DEBUG:pyTivo.video.transcode:aspect169: True
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=M:\Videos\Movies\Continuum\Season 1\Continuum- S01E07 - 720p HDTV x264 2HD.1.mkv vCodec=h264 vWidth=1280 vHeight=720 vFps=23.98 millisecs=2638520 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:selected audio stream: 0.1
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
INFO:pyTivo:192.168.1.11 [21/Jul/2012 13:27:03] "GET /TiVoConnect?Command=TVBusQuery&Container=Movies&File=%2FContinuum%2FSeason%201%2FContinuum%20-%20S01E07%20-%20720p%20HDTV%20x264%202HD.1.mkv&SerialNum=748001190436551 HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.11 [21/Jul/2012 13:27:03] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
INFO:pyTivo:192.168.1.11 [21/Jul/2012 13:27:08] "GET /Movies/Continuum/Season%201/Continuum%20-%20S01E07%20-%20720p%20HDTV%20x264%202HD.1.mkv?Format=video%2Fx-tivo-mpeg-ts HTTP/1.1" 206 -
INFO:pyTivo.video.video:[21/Jul/2012 13:27:08] Start sending "M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv" to Living Room
DEBUG:pyTivo.video.video:"M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv" is not tivo compatible
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:tsn: 748001190436551
DEBUG:pyTivo.video.transcode:aspect169: True
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=M:\Videos\Movies\Continuum\Season 1\Continuum- S01E07 - 720p HDTV x264 2HD.1.mkv vCodec=h264 vWidth=1280 vHeight=720 vFps=23.98 millisecs=2638520 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:selected audio stream: 0.1
DEBUG:pyTivo.video.transcode:transcoding to tivo model 748 using ffmpeg command:

DEBUG:pyTivo.video.transcode:M:\Programs\PyTivo\bin\ffmpeg.exe -i M:\Videos\Movies\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv -vcodec mpeg2video -b 16384k -maxrate 30000k -bufsize 4096k -ab 448k -ar 48000 -acodec copy -copyts -map 0.0 -map 0.1 -f mpegts -
FFmpeg version SVN-r21659-rdian06-1.02-win-x86_32, Copyright (c) 2000-2010 Fabrice Bellard, et al.
  built on Aug 24 2010 20:46:16 with gcc 4.4.0
  configuration: --enable-memalign-hack --disable-debug --enable-hardcoded-tables --enable-runtime-cpudetect --enable-static --disable-shared --disable-ffserver
 --disable-ffplay --enable-gpl --enable-pthreads --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libgsm --enable-libx264 --enable-libschroedinger --enable-libfaad --enable-libxvid --disable-decoder=aac --enable-avisynth --enable-postproc --enable-avfilter --enable-avfilter-lavf
  libavutil     50. 8. 0 / 50. 8. 0
  libavcodec    52.52. 0 / 52.52. 0
  libavformat   52.50. 0 / 52.50. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.17. 0 /  1.17. 0
  libswscale     0.10. 0 /  0.10. 0
  libpostproc   51. 2. 0 / 51. 2. 0
[matroska @ 0x14780c0]Estimating duration from bitrate, this may be inaccurate

Seems stream 0 codec frame rate differs from container frame rate: 47.95 (48000/1001) -> 23.98 (24000/1001)
Input #0, matroska, from 'M:\Videos\Movies\Continuum\Season 1\Continuum- S01E07
 - 720p HDTV x264 2HD.1.mkv':
  Duration: 00:43:58.52, start: 0.000000, bitrate: 384 kb/s
    Stream #0.0(eng): Video: h264, yuv420p, 1280x720, PAR 1:1 DAR 16:9, 24.39 fps, 23.98 tbr, 1k tbn, 47.95 tbc
    Stream #0.1: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
Output #0, mpegts, to 'pipe:':
    Stream #0.0(eng): Video: mpeg2video, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], q=2-31, 16384 kb/s, 90k tbn, 23.98 tbc
    Stream #0.1: Audio: ac3, 48000 Hz, 5.1, 384 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Press [q] to stop encoding
frm=   785 fps=   7 q= 2.0 size=  134937kB time=   32.70 brt=33805.0kbps
**********************************************************


----------



## lrhorer

wmcbrine said:


> Try the "shares" keyword in the appropriate _tivo_ section. But I don't know if that will affect Jukebox.


I tried that in various places, including in the [Server] section and under various specific TiVos. It seemed to have no effect.


----------



## lrhorer

lpwcomp said:


> More accurately, they made everything "Pushed" copy protected.


'Same thing. Pulls are uploads.


----------



## lpwcomp

lrhorer said:


> 'Same thing. Pulls are uploads.


I know you never do this, but if you consider pulls by the TiVo from the PC to be uploads, then you have a different definition than the one I am familiar with.


----------



## wmcbrine

johnjay829 said:


> DEBUGyTivo.video.transcode:M:\Programs\PyTivo\bin\ffmpeg.exe -i M:\Videos\Movi
> es\Continuum\Season 1\Continuum - S01E07 - 720p HDTV x264 2HD.1.mkv -vcodec mpeg
> 2video -b 16384k -maxrate 30000k -bufsize 4096k -ab 448k -ar 48000 -acodec copy
> -copyts -map 0.0 -map 0.1 *-f mpegts* -


It looks like you're using the "ts=on" option. That mode is not expected to work correctly. Turn it off, and try again. If you still have problems, then post.

You might try forcing a reencode of the audio, though.


----------



## johnjay829

wmcbrine said:


> It looks like you're using the "ts=on" option. That mode is not expected to work correctly. Turn it off, and try again. If you still have problems, then post.
> 
> You might try forcing a reencode of the audio, though.


tried changing to off.. no luck.. removed the line completely same results. guess i am stuck with push only for now..


----------



## johnjay829

HTML:


INFO:pyTivo:Last modified: Wed Jul 11 00:43:42 2012
INFO:pyTivo:Python: 2.7.2
INFO:pyTivo:System: Windows-7-6.1.7601-SP1
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: Amaya and Savannah
INFO:pyTivo.beacon:Registering: Movies
INFO:pyTivo.beacon:Registering: Tivo Remux
INFO:pyTivo.beacon:Registering: Tv Shows
INFO:pyTivo.beacon:Registering: Workouts
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:Bedroom
INFO:pyTivo.beacon:Van & MyMy
INFO:pyTivo.beacon:Living Room
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.1.13 [21/Jul/2012 20:17:28] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.8 [21/Jul/2012 20:17:28] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.11 [21/Jul/2012 20:17:28] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.14 [21/Jul/2012 20:17:29] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.11 [21/Jul/2012 20:18:00] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.11 [21/Jul/2012 20:18:00] "GET /TiVoConnect?Command=QueryContainer&Container=Movies&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-conta
iner%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=748001190436551 HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.11 [21/Jul/2012 20:18:02] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:starting ffmpeg, will wait 10 seconds for it to complete
DEBUG:pyTivo.video.transcode:ffmpeg output=FFmpeg version SVN-r21659-rdian06-1.02-win-x86_32, Copyright (c) 2000-2010 Fabrice Bellard, et al.
  built on Aug 24 2010 20:46:16 with gcc 4.4.0
  configuration: --enable-memalign-hack --disable-debug --enable-hardcoded-tables --enable-runtime-cpudetect --enable-static --disable-shared --disable-ffserver
 --disable-ffplay --enable-gpl --enable-pthreads --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libgsm --enable-libx264 --
enable-libschroedinger --enable-libfaad --enable-libxvid --disable-decoder=aac --enable-avisynth --enable-postproc --enable-avfilter --enable-avfilter-lavf
  libavutil     50. 8. 0 / 50. 8. 0
  libavcodec    52.52. 0 / 52.52. 0
  libavformat   52.50. 0 / 52.50. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.17. 0 /  1.17. 0
  libswscale     0.10. 0 /  0.10. 0
  libpostproc   51. 2. 0 / 51. 2. 0
[mpeg4 @ 0x14ce390]Invalid and inefficient vfw-avi packed B frames detected
Input #0, avi, from 'M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi':
  Metadata:
    ISFT            : Nandub v1.0rc2
  Duration: 01:22:47.20, start: 0.000000, bitrate: 1664 kb/s
    Stream #0.0: Video: mpeg4, yuv420p, 720x384 [PAR 1:1 DAR 15:8], 25 tbr, 25 tbn, 25 tbc
    Stream #0.1: Audio: ac3, 48000 Hz, stereo, s16, 256 kb/s
At least one output file must be specified

DEBUG:pyTivo.video.transcode:aFreq=48000; aCh=2; container=avi; kbps=1664; mapAudio=[('0.1', ' ac3, 48000 Hz, stereo, s16, 256 kb/s\r')]; vHeight=384; vCodec=mp
eg4; Supported=True; aKbps=256; par=None; millisecs=4967200; vFps=25.00; par2=1.0; par1=1:1; mapVideo=0.0; vWidth=720; dar1=15:8; rawmeta={'ISFT': [u'Nandub v1.
0rc2']}; aCodec=ac3
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:tsn: 748001190436551
DEBUG:pyTivo.video.transcode:aspect169: True
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi vCodec=mpeg4 vWidth=720 vHeight=384 vFps=25.00 millis
ecs=4967200 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:selected audio stream: 0.1
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
INFO:pyTivo:192.168.1.11 [21/Jul/2012 20:18:02] "GET /TiVoConnect?Command=QueryContainer&Container=Movies%2FDr%20Seuss%20The%20Lorax%20(2012)&SortOrder=!Capture
Date&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=748001190436551 HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.11 [21/Jul/2012 20:18:04] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:tsn: 748001190436551
DEBUG:pyTivo.video.transcode:aspect169: True
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi vCodec=mpeg4 vWidth=720 vHeight=384 vFps=25.00 millis
ecs=4967200 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:selected audio stream: 0.1
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
INFO:pyTivo:192.168.1.11 [21/Jul/2012 20:18:04] "GET /TiVoConnect?Command=QueryContainer&Container=Movies%2FDr%20Seuss%20The%20Lorax%20(2012)&SortOrder=!Capture
Date&ItemCount=1&AnchorItem=%2FMovies%2FDr%2520Seuss%2520The%2520Lorax%2520%25282012%2529%2FDr%2520Seuss%2520The%2520Lorax%2520%25282012%2529.avi&AnchorOffset=-
1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=748001190436551 HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:tsn: 748001190436551
DEBUG:pyTivo.video.transcode:aspect169: True
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi vCodec=mpeg4 vWidth=720 vHeight=384 vFps=25.00 millis
ecs=4967200 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:selected audio stream: 0.1
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
INFO:pyTivo:192.168.1.11 [21/Jul/2012 20:18:04] "GET /TiVoConnect?Command=TVBusQuery&Container=Movies&File=%2FDr%20Seuss%20The%20Lorax%20(2012)%2FDr%20Seuss%20T
he%20Lorax%20(2012).avi&SerialNum=748001190436551 HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
INFO:pyTivo:192.168.1.11 [21/Jul/2012 20:18:06] "GET /Movies/Dr%20Seuss%20The%20Lorax%20(2012)/Dr%20Seuss%20The%20Lorax%20(2012).avi?Format=video%2Fx-tivo-mpeg
HTTP/1.1" 206 -
INFO:pyTivo.video.video:[21/Jul/2012 20:18:06] Start sending "M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi" to Living Room
DEBUG:pyTivo.video.video:"M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi" is not tivo compatible
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:tsn: 748001190436551
DEBUG:pyTivo.video.transcode:aspect169: True
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi vCodec=mpeg4 vWidth=720 vHeight=384 vFps=25.00 millis
ecs=4967200 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:CACHE HIT! M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:selected audio stream: 0.1
DEBUG:pyTivo.video.transcode:transcoding to tivo model 748 using ffmpeg command:
DEBUG:pyTivo.video.transcode:M:\Programs\PyTivo\bin\ffmpeg.exe -i M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi -vcodec mpeg2video -b
 16384k -maxrate 30000k -bufsize 4096k -ab 448k -ar 48000 -acodec copy -copyts -map 0.0 -map 0.1 -f vob -
FFmpeg version SVN-r21659-rdian06-1.02-win-x86_32, Copyright (c) 2000-2010 Fabrice Bellard, et al.
  built on Aug 24 2010 20:46:16 with gcc 4.4.0
  configuration: --enable-memalign-hack --disable-debug --enable-hardcoded-tables --enable-runtime-cpudetect --enable-static --disable-shared --disable-ffserver
 --disable-ffplay --enable-gpl --enable-pthreads --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libgsm --enable-libx264 --
enable-libschroedinger --enable-libfaad --enable-libxvid --disable-decoder=aac --enable-avisynth --enable-postproc --enable-avfilter --enable-avfilter-lavf
  libavutil     50. 8. 0 / 50. 8. 0
  libavcodec    52.52. 0 / 52.52. 0
  libavformat   52.50. 0 / 52.50. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.17. 0 /  1.17. 0
  libswscale     0.10. 0 /  0.10. 0
  libpostproc   51. 2. 0 / 51. 2. 0
[mpeg4 @ 0x2ff1390]Invalid and inefficient vfw-avi packed B frames detected
Input #0, avi, from 'M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi':
  Metadata:
    ISFT            : Nandub v1.0rc2
  Duration: 01:22:47.20, start: 0.000000, bitrate: 1664 kb/s
    Stream #0.0: Video: mpeg4, yuv420p, 720x384 [PAR 1:1 DAR 15:8], 25 tbr, 25 tbn, 25 tbc
    Stream #0.1: Audio: ac3, 48000 Hz, stereo, s16, 256 kb/s
Output #0, vob, to 'pipe:':
    Stream #0.0: Video: mpeg2video, yuv420p, 720x384 [PAR 1:1 DAR 15:8], q=2-31, 16384 kb/s, 90k tbn, 25 tbc
    Stream #0.1: Audio: ac3, 48000 Hz, stereo, 256 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Press [q] to stop encoding
[mpeg4 @ 0x2ff1390]Invalid and inefficient vfw-avi packed B frames detected
[vob @ 0x188ba80]st:1 error, non monotone timestamps 98654400 > 98653140
av_interleaved_write_frame(): Error while opening file
INFO:pyTivo.video.video:[21/Jul/2012 20:23:06] Done sending "M:\Videos\Movies\Dr Seuss The Lorax (2012)\Dr Seuss The Lorax (2012).avi" to Living Room, 457494528
 bytes, 11.63 Mb/s


----------



## wmcbrine

johnjay829 said:


> tried changing to off.. no luck.. removed the line completely same results. guess i am stuck with push only for now..


You're missing the other thing I said. Try forcing a reencode of the audio.


----------



## johnjay829

wmcbrine said:


> You're missing the other thing I said. Try forcing a reencode of the audio.


sorry i did miss that part.. but i have no idea how to reencode the audio


----------



## wmcbrine

johnjay829 said:


> sorry i did miss that part.. but i have no idea how to reencode the audio


https://www.google.com/search?q=override_acodec


----------



## johnjay829

wmcbrine said:


> https://www.google.com/search?q=override_acodec


thanks for the help added:
Override_vCodec: foo
Override_aCodec: bar

right in my conf file, but no change tried the same movie again stopped about 12 mins into the transfer


----------



## lpwcomp

johnjay829 said:


> thanks for the help added:
> Override_vCodec: foo
> Override_aCodec: bar
> 
> right in my conf file, but no change tried the same movie again stopped about 12 mins into the transfer


Well, the post in pyTivo forum says the override goes in the metadata file for the recording, not the pyTivo conf file. The syntax is definitely metadata form.


----------



## lrhorer

lpwcomp said:


> I know you never do this, but if you consider pulls by the TiVo from the PC to be uploads, then you have a different definition than the one I am familiar with.


How would that be anything but an upload? An upload occurs when one transfers data to the local host, in this case the TiVo, from a remote host. A download occurs when one transfers data to a remote host from the local host.

Definitions aside, however, anything transferred via the mind server agent is marked as copy protected.


----------



## lpwcomp

lrhorer said:


> How would that be anything but an upload? An upload occurs when one transfers data to the local host, in this case the TiVo, from a remote host. A download occurs when one transfers data to a remote host from the local host.


You download "from". You upload "to". IOW, the direction of the transfer determines whether a host considers it a download or an upload. In this particular case, from the standpoint of the TiVo, both a "Push" and "Pull" are downloads from the PC.



lrhorer said:


> Definitions aside, however, anything transferred via the mind server agent is marked as copy protected.


On that we can agree. It also seems to apply to anything directly downloaded by the TiVo from the Web, although that may because it uses TiVo server. I have no idea.


----------



## gonzotek

lrhorer said:


> How would that be anything but an upload? An upload occurs when one transfers data to the local host, in this case the TiVo, from a remote host. A download occurs when one transfers data to a remote host from the local host.
> 
> Definitions aside, however, anything transferred via the mind server agent is marked as copy protected.


I've never seen a transfer of data from a local host to a remote host be described as a download. For instance, if a user were installing a new web browser on their laptop, it would be correct to say:
"I downloaded Google Chrome from Google's website today."
While it would be incorrect to say
"I uploaded Google Chrome from Google's website today."

Another example would be a user wishing to place a video on Youtube for sharing with others:
They would not 'download the video to YouTube", but would instead "upload it to YouTube".


----------



## johnjay829

lpwcomp said:


> Well, the post in pyTivo forum says the override goes in the metadata file for the recording, not the pyTivo conf file. The syntax is definitely metadata form.


wow i need to give up lol.. added to metadata for testing.. thanks for the help


----------



## wmcbrine

I always knew that lrhorer lived in a world of his own, where up is down.


----------



## lrhorer

wmcbrine said:


> I always knew that lrhorer lived in a world of his own, where up is down.


No, I live in the real universe, where there is no such thing as "up" or "down", only arbitrarily applied coordinate systems - unless of course you wish to speak of parity violations in weak force interactions. 'Bit off-topic, that, however.


----------



## Soapm

Yo wmcbrine, just curious, when I'm browsing my video server from my premier Tivo, lets say I select a show and start it downloading I notice when I back out of the show I am still in the same place in the list of video's on my server.

However, when I back out on my TivoHD it seems to default back to the first page of the video's which forces me to page down a few pages to get back where I was. Any idea why that happens?

I guess anyone can answer the question...


----------



## wmcbrine

I do have an idea, but it's complicated to explain.


----------



## Soapm

wmcbrine said:


> I do have an idea, but it's complicated to explain.


To make it less technical, can it be fixed or is it behavior I have to live with.


----------



## wmcbrine

I don't know yet. Sorry.


----------



## lpwcomp

I guess it's only partial success, but using a slightly modified pyTivo and after adding programId to some of my metadata files, I have Season and Episode displaying in the HDUI. Unfortunately, it doesn't always work. The programId gets to the TiVo but it doesn't change anything. It doesn't cause a problem, I just don't always get the Season and Episode displayed. I have no idea why this is so.


----------



## lpwcomp

I'm disappointed that apparently whatever database the TiVo uses doesn't have access to data for every series, much less every episode, at least not when it is setting Season Number and Episode Number. I almost gave up when the first one I tried didn't work but I decided to try an episode from different season and it worked.

It's doubly disappointing since the information is available to the TiVo for any series that is available to the TiVo. (Search->Episodes->Show All Episodes). It's also available on zap2it, even for series _*not*_ available to the TiVo.


----------



## lpwcomp

Ok. I have tested both the programId (to get Season and Episode numbers) and re-enabling grouping on an arbitrary or inactive seriesId. Neither caused any problems on my TiVo 2, THD, or TP.

There is one unfortunate aspect to the "invalid" groups however. They are only named in the HDUI. In the SDUI, you end up with a group with just "" as the name, where n is the number of recordings in the group. Since this change also results in grouping on a THD, you get the effect on that platform also.

Unless someone can think of a way to rectify this situation, my thinking would be to have a setting in each TiVo section to control the generation of the full <vActualShowing> section, the default being _*not*_ to, but I am not sure of the best way to implement it - two different TvBus templates or a conditional in the template.

_Cross-posted in the pyTivo forum._


----------



## bwall23

lpwcomp said:


> Ok. I have tested both the programId (to get Season and Episode numbers) and re-enabling grouping on an arbitrary or inactive seriesId. Neither caused any problems on my TiVo 2, THD, or TP.
> 
> There is one unfortunate aspect to the "invalid" groups however. They are only named in the HDUI. In the SDUI, you end up with a group with just "" as the name, where n is the number of recordings in the group. Since this change also results in grouping on a THD, you get the effect on that platform also.
> 
> Unless someone can think of a way to rectify this situation, my thinking would be to have a setting in each TiVo section to control the generation of the full <vActualShowing> section, the default being _*not*_ to, but I am not sure of the best way to implement it - two different TvBus templates or a conditional in the template.
> 
> _Cross-posted in the pyTivo forum._


I would also like to have programId in the metadata and displayed for those episodes that didn't get tagged with the episodeNumber when recorded, since that's Tribune Media's sequential episode number.

Curious why you mention <vActualShowing> ?
I thought the TiVo used the <showing> section, which displays only the recording of interest you selected.
Try recording a program and pad a minute before and after. You will get three elements in <vActualShowing>;
1) the program before the recorded show (1 min. early pad)
2) the recorded show of interest
3) the program after the show you selected (1 min. late pad)
Only one element in <showing>, #2 above.


----------



## lpwcomp

bwall23 said:


> ICurious why you mention <vActualShowing> ?
> I thought the TiVo used the <showing> section, which displays only the recording of interest you selected.
> Try recording a program and pad a minute before and after. You will get three elements in <vActualShowing>;
> 1) the program before the recorded show (1 min. early pad)
> 2) the recorded show of interest
> 3) the program after the show you selected (1 min. late pad)
> Only one element in <showing>, #2 above.


Different issue. I thought that through experimentation I had found that sending a full <vActualShowing> section, the Premiere would once again group on an arbitrary or inactive seriesId as it used to, but now I'm not sure. A couple of shows I had not previously xferred would not group on an inactive seriesId but a show I had previously xferred continued to group on a completely made up seriesId. Color me completely 

BTW, these are all Pulls.


----------



## bwall23

lpwcomp said:


> Different issue. I thought that through experimentation I had found that sending a full <vActualShowing> section, the Premiere would once again group on an arbitrary or inactive seriesId as it used to, but now I'm not sure. A couple of shows I had not previously xferred would not group on an inactive seriesId but a show I had previously xferred continued to group on a completely made up seriesId. Color me completely
> 
> BTW, these are all Pulls.


I thought pulls would only group on their valid (TMS)seriesId [SH + 6# or 8#] if the series had an episode within the current 14 day guide.

I have never seen my pushed and pulled series group into the same folder on the TiVo (HD or Premiere). I put that on the back burner as I found too much conflicting info in my searches and none of it worked for me. My issue now is with missing epTitles or ep#'s and I know that TMS is TiVo's data provider, but I gave up on them ever keeping 100% current on everything. I do keep the metadata files along with the TTG transfers and the programId is in them, so eventually...


----------



## lpwcomp

bwall23 said:


> I thought pulls would only group on their valid (TMS)seriesId [SH + 6# or 8#] if the series had an episode within the current 14 day guide.


Pulls have been grouping on a Premiere on an arbitrary or inactive seriesId at least as long as I've had one (Feb. 2011). It works even now sometimes, even to the extent of not working on a series and then it will later. Tonight I had one that wasn't working. I changed the order of title and seriesTitle and it worked. Tried that on a different series and it didn't work. There is something odd going on that I haven't yet been able to figure out.



bwall23 said:


> I have never seen my pushed and pulled series group into the same folder on the TiVo (HD or Premiere). I put that on the back burner as I found too much conflicting info in my searches and none of it worked for me. My issue now is with missing epTitles or ep#'s and I know that TMS is TiVo's data provider, but I gave up on them ever keeping 100% current on everything. I do keep the metadata files along with the TTG transfers and the programId is in them, so eventually...


The seriesId associated with a Pushed file is created by tivo.mind. I tried using that as a series ID for a pull and it didn't group. Like I said, there is something odd going on.

What are you using to create the metadata file? The release versions of neither pyTivo nor kmttg put programId in the metadata .txt file.

Getting season and episode numbers using the programId is fairly easy vi zap2it, even automatically using a program. Going the other direction is a bit more problematic unless it is the most recent season. You can do it by hand w/o much effort. Getting a program to do it is something else again, at least in python. Or it may be just that I don't know enough about web navigation to do it and believe me, I tried. I'll probably give it another shot at some point, especially now that I have confirmed that the HDUI gets Season and Episode Numbers using programId, but I want to get this grouping thing straightened out first.

BTW, it's not Tribune that only keeps episode data for a limited time, it is TiVo.

I asked the TVDB people to add zap2it episode ID to the episode record but never got a response.


----------



## lpwcomp

On a hunch, I disabled my internet access (brute force. Unplugged the phone line). The Premiere was very unhappy, as I knew it would be, but I was able to get grouping of a series using a made up seriesId that wasn't grouping before.

Here is my current theory: When pulling a show, a Premiere first checks it's local database (I'm not talking about the guide data). If it find it there, it is stored with the recording data (and added to local db). If not, it checks the TiVo servers. If it is valid or for some reason it cannot contact the servers, it does the same. If it is invalid, it is not stored with the program record.

Now if I could just figure out how to temporarily disable access to the servers for the first episode of an invalid seriesId just long enough for it to be added to the local db...

One other little gotcha - pyTivo cannot access these groups via the web interface. You just get unnamed "folders" that cannot be opened.


----------



## lpwcomp

I'm starting to think there is a malicious code demon in my TiVo that is modifying the software. Every time I think I have found a method to re-enable arbitrary grouping on the Premiere, I am unable to re-create it. Tried the "kill internet access" method on a different series and no joy. I feel like Charlie Brown trying to kick the football.


----------



## bwall23

lpwcomp said:


> The seriesId associated with a Pushed file is created by tivo.mind.


Yes, was aware of that and we don't know what the mind really uses from the metadata.



lpwcomp said:


> What are you using to create the metadata file? The release versions of neither pyTivo nor kmttg put programId in the metadata .txt file.


 I've been using kmttg and transfer the tivo file w/o decrypting and use a custom script to extract the the two xml chunks from it. Same data (almost) is available from the tivo's npl and video details. I have to hand edit my pytivo metadata files videofilename.ext.txt. I also use vidmgr which allows even non-standard metadata, but want to convert (decrypt) my .tivo file library to .mpg and create accurate .txt metatdata. I've kept them in .tivo format for two reasons;
1) smaller than decrypted mpg
2) retains the metadata in the xml chunks


----------



## bwall23

lpwcomp said:


> I'm starting to think there is a malicious code demon in my TiVo that is modifying the software. Every time I think I have found a method to re-enable arbitrary grouping on the Premiere, I am unable to re-create it. Tried the "kill internet access" method on a different series and no joy. I feel like Charlie Brown trying to kick the football.


Yes lpwcomp, we R watching U as you know from your logs


----------



## lpwcomp

bwall23 said:


> Yes lpwcomp, we R watching U as you know from your logs


I'm not paranoid, but I know everyone thinls I am.


----------



## lpwcomp

I have discovered that the Premiere uses the programId (if present and in whatever db the TiVo accesses) to set pretty much all of the metadata, including fields seen only in the SDUI like the whole number episodeNumber.


----------



## lrhorer

lpwcomp said:


> I'm not paranoid, but I know everyone thinls I am.


I went to a therapist because I thought everyone was out to get me. At first he thought I was paranoid, but then he realized I am just an insufferable jerk, and everyone really is out to get me. He now requires payment in advance.


----------



## bwall23

lpwcomp said:


> I have discovered that the Premiere uses the programId (if present and in whatever db the TiVo accesses) to set pretty much all of the metadata, including fields seen only in the SDUI like the whole number episodeNumber.


Thanks for the confirmation. Since i use kmttg, I've asked if it can be added as an option to add the programId to the metadata file that kmttg creates.


----------



## lpwcomp

bwall23 said:


> Thanks for the confirmation. Since i use kmttg, I've asked if it can be added as an option to add the programId to the metadata file that kmttg creates.


There is a caveat however. It does use it as I said - when it uses it. It doesn't always use it it all, just stores it in the metadata. I am unable to determine what conditions lead to it's use. It gets used for some episodes of a series and not for other episodes of the same series.

It's possible that the value I am using is not always the same one that TiVo uses but my source is zap2it(Tribune), so theoretically it _*should*_ be the same.

Happily though, if it doesn't use the programId, it simply behaves as before and uses the metadata it is sent.


----------



## lrhorer

OK, I seem to have run across a bit of an issue, and I think I know what triggers it, but not entirely why.

I have been converting a few 1080p .mkv files to h.264 in a .mp4 container for transfer to the TiVo. Even with six cores running flat out, it takes several hours to convert a 90 minute movie. During that entire time, there is no MOOV atom in the file, since that is created at the very end. Earlier today, I tried to bring up a directory containing one of these incomplete files in the web tool, and pyTivo hung. I was not sure what the issue was at the time, but clearing out the files from the directory alleviated the issue. I wasn't sure - and I still am not 100% certain - what was causing the issue, but while converting another file tonight, the problem popped up again. I'll try again in the morning when the currently re-coding file is done to make sure my deduction is correct.

Edit: Confirmed the app is able to scan the directory after the file is finished recoding. It looks like perhaps the absence of the MOOV atom on one file prevents the app from completing its scanning the entire directory. Since it takes several hours for the recode to complete, this is most inconvenient.


----------



## bluefoggyday

Hi....

My apologies for being so ignorant about this stuff. I've been using Vuze to upload videos to my Premiere TiVo for some time with much success. Now all of a sudden, I don't even have a TiVo option in Vuze at all.

So I decided to try and use pyTivo. After much trial and error, it seems to be running. But I don't know what to do now. When I go to localhost:9032, I get a blank page with pyTivo at the top and then a link to web configuration.

I don't know where to go from here....the instructions seem to just end after the install.

When I look in Terminal (which I assume must be running to use pyTivo), it seems to be running this over and over:

INFOyTivo:10.0.1.105 [01/Sep/2012 19:34:13] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFOyTivo:10.0.1.124 [01/Sep/2012 19:34:14] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -

Would someone be interested in helping me or pointing me to some pyTivo for Dummies instructions?!

Thanks!

Oh...I'm on a mac using Lion.


----------



## lrhorer

bluefoggyday said:


> My apologies for being so ignorant about this stuff.


No need to apologize. All of us were ignorant until we learned something.



bluefoggyday said:


> So I decided to try and use pyTivo. After much trial and error, it seems to be running. But I don't know what to do now. When I go to localhost:9032, I get a blank page with pyTivo at the top and then a link to web configuration.


It sounds like you haven't configured pyTivo. To do that effectively, you are going to need to define for yourself how you wish to use pyTivo. Do you want to:

1. Transfer still pictures
2. Transfer music
3. Transfer videos to the TiVo via pull (using the My Shows / NPL on the TiVo)
4. Transfer videos to the TiVo via push (using an HME or external utility)
5. Transfer videos from the TiVo to the PC
6. Transfer DVD rips to the TiVo

At a bare minimum, you will need to provide your MAK and define at least one share. Both of these can be done by pulling up the web configuration.

If you choose to implement #4, then you will also need to supply the user name and password you use to access your account on www.tivo.com.

If you choose to implement #5, then you will need to also supply a path on the PC where pyTivo will be saving the videos.

Option #6 requires installing the DVD Plug-in.

Again, all of this except installing the DVD plug-in can be done right from the web configurator, or you can edit pyTivo.conf by hand.



bluefoggyday said:


> When I look in Terminal (which I assume must be running to use pyTivo)


No, but until you get pyTivo up and running, it will be easier to troubleshoot that way. Once pyTivo is working properly, then you can take steps to run it in the background and to start up automatically.



bluefoggyday said:


> INFOyTivo:10.0.1.105 [01/Sep/2012 19:34:13] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> INFOyTivo:10.0.1.124 [01/Sep/2012 19:34:14] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -


OK, first a little request / piece of advice. It will be much easier for us to read what you supply us if you surround pasted text with code tags (the little # symbol in the reply toolbar):



Code:


INFO:pyTivo:10.0.1.105 [01/Sep/2012 19:34:13] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:10.0.1.124 [01/Sep/2012 19:34:14] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -

Are you really using the 10./24 subnet for your home LAN? Unusual.

Anyway, it looks like pyTivo is finding two TiVos on your LAN. That's good. If you have all the appropriate passwords and paths set up for the general pyTivo configuration, then you can set up the configuration (if any) for SD and / or HD TiVos. You probably don't need any. After that, configure one share for each group of files you want to transfer to the TiVos. You will need at least one share for each type of file you want to transfer (photos, music, video, or dvdvideo). You can configure more than one share of each type, with each share specifying a different path on the server PC. Read through the pyTivo.conf.dist file for details. As an example, here is my pyTivo.conf file (with passwords removed, of course):



Code:


[_tivo_00000DEADBEEF]

[Server]
tivo_username = XXXXXXXXXXXXXXX
tivo_password = XXXXXXX
tivo_mak = XXXXXXXXX
ffmpeg = /usr/bin/ffmpeg
ffmpeg_pram = -threads 3
togo_path = /RAID/Server-Main/Movies/TiVo_TS
debug = True
port = 9032

[_tivo_HD]
audio_lang = en, eng, 0x80, 5.1, ac3

[_tivo_SD]
audio_lang = en, eng, 0x80, 5.1, ac3

[RAID Server]
force_alpha = True
type = video
path = /RAID/Recordings

[DVD]
path = /RAID/DVD
force_alpha = True
type = dvdvideo
fast_index = true

[TTG]
force_alpha = True
type = video
path = /RAID/Server-Main/Movies/TiVo_MPG

[pyMusic]
type = music
path = /RAID/Music

[Unverified]
type = video
path = /usr/share/pyTivo/Unverified


----------



## lrhorer

OK, I ran into another apparent issue. I have a video named "20,000 Leagues Under the Sea (Recorded Fri Aug 31, 2012, HDNETMV).mp4" that I tried to push to the TiVos. I tried several times using two different TiVos, but the transfer never started. I got no error, and the negotiation with the mind server seemed to work OK, but the transfer never occurred. I tried it both on a Premier and and S3. Vidmgr was able to push the file with no problems, but the web server never did. Is it perhaps the comma in the title causing the issue for the web server?

Edit: Well, so it would seem. I removed the comma from the first number in the name, re-created the link and it transferred just fine. 'Weird that the other commas don't affect the transfer.


----------



## lpwcomp

lrhorer said:


> OK, I ran into another apparent issue. I have a video named "20,000 Leagues Under the Sea (Recorded Fri Aug 31, 2012, HDNETMV).mp4" that I tried to push to the TiVos. I tried several times using two different TiVos, but the transfer never started. I got no error, and the negotiation with the mind server seemed to work OK, but the transfer never occurred. I tried it both on a Premier and and S3. Vidmgr was able to push the file with no problems, but the web server never did. Is it perhaps the comma in the title causing the issue for the web server?
> 
> Edit: Well, so it would seem. I removed the comma from the first number in the name, re-created the link and it transferred just fine. 'Weird that the other commas don't affect the transfer.


Do the "Queued" messages look the same?


----------



## lrhorer

lpwcomp said:


> Do the "Queued" messages look the same?


Well, I think so. This is weird. Last night I could not get the title to transfer despite several attempts. Nothing in the log jumped out at me. I changed the name by removing the comma, and it worked. Today, in response to your question, I cleared the log, renamed the video, adding back the comma, and attempted to transfer the video again. This time it worked. Oy.


----------



## bwall23

Having a problem trying to get the programId from a .tivo file added to metadata to be displayed by pyTiVo. I'm able to get it to display programId on a TVBusQuery after modifying TvBus.tmpl and metadata.py, but the parsing being done by metadata.py is picking up the seriedId value for the programId. Not quite sure how the xml dom parsing is being done.

i.e. seriesId and programId are both displaying the seriesId on the TVBusQuery.


----------



## lpwcomp

bwall23 said:


> Having a problem trying to get the programId from a .tivo file added to metadata to be displayed by pyTiVo. I'm able to get it to display programId on a TVBusQuery after modifying TvBus.tmpl and metadata.py, but the parsing being done by metadata.py is picking up the seriedId value for the programId. Not quite sure how the xml dom parsing is being done.
> 
> i.e. seriesId and programId are both displaying the seriesId on the TVBusQuery.


How did you add it to metadata.py? to keys, you need to add


Code:


'programId': 'ProgramId',

and to items, you need to add


Code:


'programId': 'program/uniqueId',


----------



## bwall23

lpwcomp said:


> How did you add it to metadata.py? to keys, you need to add
> 
> 
> Code:
> 
> 
> 'programId': 'ProgramId',
> 
> and to items, you need to add
> 
> 
> Code:
> 
> 
> 'programId': 'program/uniqueId',


Added to keys in from_container


Code:


'programId': 'ProgramId',

Added to items in from_details


Code:


'programId': 'program/uniqueId',

running metadata.py as __main__ also shows programId is picking up the value for seriesId. Must be the dom xml parsing is not returning the <program> node uniqueId value, but instead the first one it sees in all of <showing>, which is the <series> node uniqueId.


----------



## lpwcomp

bwall23 said:


> Added to keys in from_container
> 
> 
> Code:
> 
> 
> 'programId': 'ProgramId',
> 
> Added to items in from_details
> 
> 
> Code:
> 
> 
> 'programId': 'program/uniqueId',
> 
> running metadata.py as __main__ also shows programId is picking up the value for seriesId. Must be the dom xml parsing is not returning the <program> node uniqueId value, but instead the first one it sees in all of <showing>, which is the <series> node uniqueId.


I thought I tested it and it worked correctly but if it is indeed doing that, it means that it is probably doing an element search rather than a child node search, which is the same situation I encountered in kmttg. I'll take a another look at it when I get back to my own machine.


----------



## moyekj

lpwcomp said:


> I thought I tested it and it worked correctly but if it is indeed doing that, it means that it is probably doing an element search rather than a child node search, which is the same situation I encountered in kmttg. I'll take a another look at it when I get back to my own machine.


FYI with my update kmttg now looks specifically under fixed nodes for the values so there is no amibiguity:
programId = value(<showing><program><uniqueId>) if it exists
seriesId = value(<showing><program><series><uniqueId>) if it exists


----------



## lpwcomp

moyekj said:


> FYI with my update kmttg now looks specifically under fixed nodes for the values so there is no amibiguity:
> programId = value(<showing><program><uniqueId>) if it exists
> seriesId = value(<showing><program><series><uniqueId>) if it exists


I don't doubt it. I was just saying that when I first went to modify kmttg to get the programId, I tried just adding a get element by name from the program node and it returned the series uniqueid. No offense intended.


----------



## HerronScott

HerronScott said:


> No audio when playing the WMA files is the symptom but the TiVo thinks it's playing them. Issue still appears to be WMA lossless support with ffmpeg. I thought I had read where the latest version supported it but apparently not as I'm getting something like the following:
> 
> Decoder (codec id 86057) not found for input stream #0.0
> 
> Scott


In case anyone else was looking for this, they have added WMA Lossless support to ffmpeg as of version 0.11 back in May of this year.

I copied this latest build into my pyTivo install on WHS and it appears to be working!

Scott


----------



## lpwcomp

I started with a fresh install of pyTivo. As expected, the programId was not sent to the TiVo when a non .tivo recording was pulled by the TiVo from the PC. I then edited plugins/video/templates/TvBus.tmpl and added the three lines necessary for sending programId as the <program><uniqueId>. Pulled the recording again and programId was sent to the TiVo.

A recording pulled to the PC from the TiVo using the pyTivo web interface with the "save metadate to .txt" option check did not get the programId in the metadata file. I then edited metadata.py, restarted pyTivo, and this time the pull to the PC did get the programId written to the metadata file.


----------



## mattack

I suspect this is a TiVo bug, and not a pyTivo issue, but I'd like to confirm.

I download shows to my external drive, mostly to make space on the Tivo. But sometimes I transfer them back to the Tivo with pytivo.. even when I'm pretty sure that all I really want to keep is the very end of a show (e.g. musical performance).. Mostly because skimming through the show is really so much easier on the TiVo than in any of the software I've used (MPEG Streamclip, mPlayer, VLC)..

ANYWAY, the issue is this:
Look at my pyTivo server from the TiVo, which is sorted by date
enter a folder
enter a specific show to see more details (though there usually aren't really tons more details, mostly I care if it's a full episode or not -- I'm trying to transfer BACK the full episodes so I can edit them later.. sounds complex, it's really not).
go LEFT back to the folder of shows
-> I'm almost always moved back to the top (or bottom?) of the list. Basically, with a huge list, it's hard to "stay there".

and yes, I know the up/down arrow to move through episodes, but that doesn't help much since sometimes I still want to go back.

Anyway, is it the TiVo causing it to go back to the list, or somehow pyTivo providing bad data that is causing it?


----------



## Soapm

I am using wmcbrine fork on a debian headless server. Whenever the machine first boots not all the shows appear when viewing pyTivo from my TivoHD until I restart pyTivo. For example, a folder that has 76 movies will show 9 until I restart pyTivo.

It's been doing this all along but I didn't put two and two together since I don't often reboot the server. Anyone know what might be causing this? How can I move pyTivo back in the start up sequence so that it's the last thing to start? I'm thinking something isn't started when it starts causing it not to acknowledge certain formats (my theory).


----------



## lrhorer

Soapm said:


> I am using wmcbrine fork on a debian headless server. Whenever the machine first boots not all the shows appear when viewing pyTivo from my TivoHD until I restart pyTivo. For example, a folder that has 76 movies will show 9 until I restart pyTivo.


Try an `ls - l` on the directorties in question. Will the problem persis long term (say, 30 minutes) until pyTivo is restarted?



Soapm said:


> Anyone know what might be causing this?


What does the log show?



Soapm said:


> How can I move pyTivo back in the start up sequence so that it's the last thing to start? I'm thinking something isn't started when it starts causing it not to acknowledge certain formats (my theory).


Well, it's possible to do it, but I think you have something else going on, here. Are any of the files symlinks?


----------



## Soapm

lrhorer said:


> Try an `ls - l` on the directorties in question. Will the problem persis long term (say, 30 minutes) until pyTivo is restarted?


Yes, the problem will stays until I restart pytivo. The users and groups are a combination of transmission, root and nobody/nogroup. What would you suggest I make them?



lrhorer said:


> What does the log show?


I didn't realize pytivo had a log, I guess I need to poke around and find it.

ps... I don't find any logs for py. Can you point me to them?



lrhorer said:


> Well, it's possible to do it, but I think you have something else going on, here. Are any of the files symlinks?


No symlinks on my raid storage drive. Just movies, shows and music.


----------



## lrhorer

Soapm said:


> Yes, the problem will stays until I restart pytivo. The users and groups are a combination of transmission, root and nobody/nogroup. What would you suggest I make them?


I was looking more for permissions and file status than owner and group. They should be world readable. Permissions of 644 will work. I also wanted to make sure all the files were showing up.



Soapm said:


> I didn't realize pytivo had a log, I guess I need to poke around and find it.
> 
> ps... I don't find any logs for py. Can you point me to them?


It's wherever you point stdout. What command do you use to start up pyTivo? If you are using nohup to spawn the server, then by default it will be redirected to nohup.out, unless you specifically redirect it to a file. My startup command for pyTivo is:



Code:


LOGFILE=/var/log/pyTivo.log
/usr/bin/nohup /usr/bin/python2.6 $RUNDIR/pyTivo.py > $LOGFILE 2>&1 &

Which redirects both stdout and stderr from pyTivo to /var/log/pyTivo.log


----------



## Soapm

If I'm not mistaken I use the script from the wiki. If I'm reading it right this is the start up command.



Code:


# this call actually starts pyTivo.
python /pyTivo/pyTivo.py > /dev/null 2>&1 &
RETVAL=$?
[ $RETVAL -eq 0 ] && echo -n ""done""
echo
return $RETVAL
}

When I restart it I use;



Code:


service pyTivo restart

ls -l is the same. I compared movies that do show up to ones that don't and I don't see anything common. In fact they're all the same.

I will also add that it's consistent, it's always the same 9 out of 76 movies that show up. I'm going to try your start up command see if it makes a difference.


----------



## Soapm

Using your start up command I get the same 9 movies but I now get logging.



Code:


INFO:pyTivo:Last modified: Fri Sep 14 21:39:57 2012
INFO:pyTivo:Python: 2.6.6
INFO:pyTivo:System: Linux-2.6.32-5-686-i686-with-debian-6.0.5
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: Lenny
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.0.195 [15/Sep/2012 07:33:52] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.0.191 [15/Sep/2012 07:33:52] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.0.195 [15/Sep/2012 07:36:11] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [15/Sep/2012 07:36:11] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [15/Sep/2012 07:36:14] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [15/Sep/2012 07:36:14] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FBeverly%2520Hillbillies&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [15/Sep/2012 07:36:14] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [15/Sep/2012 07:36:15] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FCHIPS&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [15/Sep/2012 07:36:15] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [15/Sep/2012 07:36:15] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FCotton%2520Comes%2520To%2520Harlem%2520%25281970%2529&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [15/Sep/2012 07:36:16] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [15/Sep/2012 07:36:16] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FFBI&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [15/Sep/2012 07:36:17] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [15/Sep/2012 07:36:17] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FHill%2520Street&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [15/Sep/2012 07:36:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [15/Sep/2012 07:36:19] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FLone%2520Ranger&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [15/Sep/2012 07:36:23] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [15/Sep/2012 07:36:23] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2FMovies&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [15/Sep/2012 07:36:26] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [15/Sep/2012 07:36:26] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FMovies&AnchorOffset=-6&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.194 [15/Sep/2012 07:36:37] "GET / HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.194 [15/Sep/2012 07:36:37] "GET /main.css HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.194 [15/Sep/2012 07:36:37] "GET /favicon.ico HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.194 [15/Sep/2012 07:36:37] "GET /favicon.ico HTTP/1.1" 200 -

Here is the log after restart using /etc/init.d/pyTivo restart



Code:


INFO:pyTivo:Last modified: Fri Sep 14 21:39:57 2012
INFO:pyTivo:Python: 2.6.6
INFO:pyTivo:System: Linux-2.6.32-5-686-i686-with-debian-6.0.5
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: Lenny
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.0.191 [15/Sep/2012 07:45:01] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.0.195 [15/Sep/2012 07:45:01] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -


----------



## lrhorer

OK, are you using System V dependency based booting? (IOW, is there a file /etc/init.d/.legacy-bootordering? If so, dependency based booting is disabled.) What are the contents of the LSB header for the init script?

Oh, and just BTW, now that you have logging enabled, I suggest you might want to implement a logrotate schedule for the log. If so, post over in the Linux thread I started and we can go over it.


----------



## Soapm

Not .legacy-bootordering but I do have these. No sure if they mean anything.

.depend.boot
.depend.start
.depend.stop

This is the script header.



Code:


# chkconfig: 2345 99 05
# description: pyTivo server

### BEGIN INIT INFO
# Provides: pytivo
# Required-Start: $network
# Required-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-description: pyTivo server
# Description: Start and stop the pyTivo server.
### END INIT INFO

RETVAL=0


----------



## lrhorer

Adding "$remote_fs $syslog" to the required-start line in your header and then re-sequencing by running the `update-rc.d` command on the pyTivo links, might possibly help by pushing the boot script farther along in the boot sequence.

Hmm. I don't really expect it is part of your problem, but the first line of the script should be the shellspec, followed immediately by the LSB header:



Code:


#! /bin/sh
### BEGIN INIT INFO
# Provides:          pyTivo
# Required-Start:    $remote_fs $syslog $network
# Required-Stop:     $remote_fs $syslog $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: pyTivo Multimedia Server
# Description:       Provides the pyTivo video server for TiVo
#                    
### END INIT INFO

Those hidden files are required for dependency based booting, but they aren't directly related to your issue.

BTW, I posted a tutorial in the Linux thread about implementing logrotate for pyTivo when redirecting its stderr and stdout to a log file.


----------



## Soapm

no difference, this is the script I'm using

http://pytivo.sourceforge.net/wiki/index.php/Init.d_Script

Perhaps you don't mind posting your script. Maybe there's something in this one that's causing this. The author did post a warning at the top but it otherwise works great...


----------



## lrhorer

Soapm said:


> Perhaps you don't mind posting your script. Maybe there's something in this one that's causing this. The author did post a warning at the top but it otherwise works great...


It (they, actually) is already posted here


----------



## Soapm

lrhorer said:


> It (they, actually) is already posted here


There are two scripts there, what is the first one for?


----------



## lrhorer

Let's move this to the other thread.


----------



## lew

also found I couldn't log into tivo website.

Will only work if my username (email address) is in CAPS. I don't remember if I originally used CAPS but it was working fine in lower case for years. Changed my pyTivo config file and problem is solved.


----------



## mattack

I realize this is just me not RTFMing, but I was looking around, wondering why my Tivo didn't see pyTivo (it saw the server, just wouldn't show recordings in it when I entered -- I think it was me changing something on my router).. I then realized pyTivo would STREAM too.

While this isn't quite as good in some ways (you don't get close captions), it is good in that it will stream (and you don't risk losing programs on the Tivo since the Tivo seems to clear out WAY more space than needed)..

(Sometime later, the shows showed back up in the entry at the bottom of now playing too.)

Also, with the streaming option, I seem to remember that I saw the episode # info more prominently.


----------



## wmcbrine

pyTivo doesn't stream. Are you maybe looking at the Streambaby side of pyTivoX? Yoav bundled pyTivo and Streambaby together with his GUI.


----------



## mattack

Hmm, I thought the app was just called pyTivo.. but yeah, I just mean the GUI app that I launch on Mac OS X.


----------



## lpwcomp

mattack said:


> Hmm, I thought the app was just called pyTivo.. but yeah, I just mean the GUI app that I launch on Mac OS X.


pyTivo doesn't show up as a server. The _*shares*_ show up in the NPL. You need to have at least one share defined in pyTivo.CONF for anything to show up on the TiVo.

Similarly, you must have at least 1 dir defined in streambaby.ini

All this assumes that the apps work mostly the same on a Mac as they do on a PC.


----------



## larrs

Just wondering if there is some method of eliminating failed pushes from the console. Every once in a while (I'd say 20% of the time), pushes will fail for me. I will initiate the push from either the web console or using vidmgr and will wait and the transfer never begins. Usually, I can just do it again and it works the second time, but it is frustrating for the uneducated masses in my family unit. This drives them back to the pull menu from the Tivo and causes them to gripe about the speed as I am slowly converting to h264 from mpeg2.

Is this just the nature of the beast, or is there some setting that causes it to time out that I can change?


----------



## wmcbrine

Once you make the push request, it's out of our hands. It goes to the "mind" server at tivo.com, which is not 100% reliable. Although a 20% failure rate is well outside my experience.


----------



## larrs

wmcbrine said:


> Once you make the push request, it's out of our hands. It goes to the "mind" server at tivo.com, which is not 100% reliable. Although a 20% failure rate is well outside my experience.


I guess I expected that, and I may be high with the 20% number. However, the laws of the household are still true: "The one with the least amount of technical knowledge will always be the one with the most technical issues"

Case in point is my wife- her fail rate is more like 70% to hear her tell it.


----------



## lrhorer

larrs said:


> I guess I expected that, and I may be high with the 20% number.


Yeah, I would also suggest that to be the case, unless you have had extraordinarily bad luck. I push a lot of content, and I would put the number closer to 2% than 20%. Even 10% sounds quite high.



larrs said:


> However, the laws of the household are still true: "The one with the least amount of technical knowledge will always be the one with the most technical issues"


Yeah, that one has always puzzled me a little. I can chalk up some of it to familiarity breeding ease and accuracy of use, but I almost swear there are some people whose computer hates them. Perhaps it's mutual contempt. 



larrs said:


> Case in point is my wife- her fail rate is more like 70% to hear her tell it.


Uh, yeah. When was the last time she went fishing, and how big was the one that got away?

I had a stepdaugher that wailed, "You *never* let me do anything!", when we told her going to the movies 14 days in a row was too many.


----------



## lrhorer

wmcbrine said:


> Once you make the push request, it's out of our hands. It goes to the "mind" server at tivo.com, which is not 100% reliable. Although a 20% failure rate is well outside my experience.


Mine, too. Most of the failures I have experienced were when the servers were down, but that results in an immediate error.


----------



## lrhorer

Oh, now this is odd. Suddenly some of my BLuRay rips refuse to transfer. It seems to be random which ones will and which ones won't. I don't get any error, and the system says the files are queued for push, but they never go. It may be a coincidence, but it is suspicious this may have happened at the same time the Premiere stopped responding to RPC calls. Does anyone glean anything from the following log file? Note An Affair to remember, which is not a BluRay rip, and The Patriot, which is, transfer fine, but Batman Begins and Willy Wonka and the Chocolate Factory do not.



Code:


INFO:pyTivo.config:Shares security in use -- zeroconf disabled
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.1.103 [13/Oct/2012 01:12:55] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.101 [13/Oct/2012 01:12:55] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.105 [13/Oct/2012 01:12:55] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
DEBUG:pyTivo.video.transcode:starting ffmpeg, will wait 10 seconds for it to complete
DEBUG:pyTivo.video.transcode:ffmpeg output=FFmpeg version SVN-r25838, Copyright (c) 2000-2010 the FFmpeg developers
  built on Sep 20 2011 17:00:01 with gcc 4.4.5
  configuration: --enable-libdc1394 --prefix=/usr --extra-cflags='-Wall -g ' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-avfilter --enable-libdirac --disable-decoder=libdirac --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-libvpx --enable-librtmp --extra-libs=-lgcrypt --disable-altivec --disable-armv5te --disable-armv6 --disable-vis
  libavutil     50.33. 0 / 50.43. 0
  libavcore      0.14. 0 /  0.14. 0
  libavcodec    52.97. 2 / 52.123. 0
  libavformat   52.87. 1 / 52.111. 0
  libavdevice   52. 2. 2 / 52. 2. 2
  libavfilter    1.65. 0 /  1.65. 0
  libswscale     0.12. 0 /  0.14. 1
  libpostproc   51. 2. 0 / 51. 2. 0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/RAID/Recordings/Patriot, The (Recorded Mon Jul 16, 2012, BluRay).mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42isomavc1
    creation_time   : 2012-08-27 15:44:33
    encoder         : HandBrake 0.9.6 2012022800
  Duration: 02:55:06.52, start: 0.000000, bitrate: 28272 kb/s
    Chapter #0.0: start 0.000000, end 795.828367
    Metadata:
      title           : Chapter 1
    Chapter #0.1: start 795.828367, end 1597.028767
    Metadata:
      title           : Chapter 2
    Chapter #0.2: start 1597.028767, end 2098.429667
    Metadata:
      title           : Chapter 3
    Chapter #0.3: start 2098.429667, end 2495.092600
    Metadata:
      title           : Chapter 4
    Chapter #0.4: start 2495.092600, end 3385.782400
    Metadata:
      title           : Chapter 5
    Chapter #0.5: start 3385.782400, end 3973.302667
    Metadata:
      title           : Chapter 6
    Chapter #0.6: start 3973.302667, end 4824.386233
    Metadata:
      title           : Chapter 7
    Chapter #0.7: start 4824.386233, end 5298.159533
    Metadata:
      title           : Chapter 8
    Chapter #0.8: start 5298.159533, end 5799.527067
    Metadata:
      title           : Chapter 9
    Chapter #0.9: start 5799.527067, end 6401.828767
    Metadata:
      title           : Chapter 10
    Chapter #0.10: start 6401.828767, end 7212.071533
    Metadata:
      title           : Chapter 11
    Chapter #0.11: start 7212.071533, end 7629.655367
    Metadata:
      title           : Chapter 12
    Chapter #0.12: start 7629.655367, end 8048.774067
    Metadata:
      title           : Chapter 13
    Chapter #0.13: start 8048.774067, end 9086.277200
    Metadata:
      title           : Chapter 14
    Chapter #0.14: start 9086.277200, end 9536.026500
    Metadata:
      title           : Chapter 15
    Chapter #0.15: start 9536.026500, end 10506.462633
    Metadata:
      title           : Chapter 16
    Stream #0.0(und): Video: h264 (Constrained Baseline), yuv420p, 1920x1080, 27886 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Metadata:
      creation_time   : 2012-08-27 15:44:33
    Stream #0.1(eng): Audio: ac3, 48000 Hz, 6 channels, s16, 384 kb/s
    Metadata:
      creation_time   : 2012-08-27 15:44:33
    Stream #0.2(und): Subtitle: text / 0x74786574
    Metadata:
      creation_time   : 2012-08-27 15:44:33
At least one output file must be specified

DEBUG:pyTivo.video.transcode:aFreq=48000; vFps=29.97; container=mov; kbps=28272; mapAudio=[('0.1', '(eng)')]; vHeight=1080; vCodec=h264; Supported=True; aKbps=384; par=None; millisecs=10506520; par2=None; par1=None; mapVideo=0.0; vWidth=1920; dar1=None; aCodec=ac3
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, /RAID/Recordings/Patriot, The (Recorded Mon Jul 16, 2012, BluRay).mp4
INFO:pyTivo:192.168.1.105 [13/Oct/2012 01:13:03] "GET /RAID%20Server/Patriot,%20The%20(Recorded%20Mon%20Jul%2016,%202012,%20BluRay).mp4?Format=video%2Fmp4 HTTP/1.1" 206 -
INFO:pyTivo.video.video:[13/Oct/2012 01:13:03] Start sending "/RAID/Recordings/Patriot, The (Recorded Mon Jul 16, 2012, BluRay).mp4" to Premier Theater
DEBUG:pyTivo.video.video:"/RAID/Recordings/Patriot, The (Recorded Mon Jul 16, 2012, BluRay).mp4" is tivo compatible
DEBUG:pyTivo.video.qt-faststart:Getting index of top level atoms...
DEBUG:pyTivo.video.qt-faststart:ftyp: 28
DEBUG:pyTivo.video.qt-faststart:free: 132
DEBUG:pyTivo.video.qt-faststart:mdat: 37127601186
DEBUG:pyTivo.video.qt-faststart:moov: 2746541
DEBUG:pyTivo.video.qt-faststart:free: 132
INFO:pyTivo.video.qt-faststart:Removing free atom at 28 (132 bytes)
INFO:pyTivo.video.qt-faststart:Patching co64 with 78720 entries
INFO:pyTivo.video.qt-faststart:Patching co64 with 65666 entries
INFO:pyTivo.video.qt-faststart:Patching co64 with 16 entries
INFO:pyTivo.video.qt-faststart:Writing output...
INFO:pyTivo.video.video:[13/Oct/2012 01:28:52] Done sending "/RAID/Recordings/Patriot, The (Recorded Mon Jul 16, 2012, BluRay).mp4" to Premier Theater, 9926456850 bytes, 79.81 Mb/s
INFO:pyTivo:192.168.1.101 [13/Oct/2012 06:29:35] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.105 [13/Oct/2012 06:29:35] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.103 [13/Oct/2012 06:29:35] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.102 [13/Oct/2012 06:30:41] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.102 [13/Oct/2012 06:42:44] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.102 [13/Oct/2012 06:44:48] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.102 [13/Oct/2012 06:56:51] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.102 [13/Oct/2012 06:59:42] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.102 [13/Oct/2012 07:00:39] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.102 [13/Oct/2012 07:07:37] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.102 [13/Oct/2012 07:08:35] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.105 [13/Oct/2012 11:01:03] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.105 [13/Oct/2012 11:01:22] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo.video.video:[13/Oct/2012 11:02:09] Queued "/RAID/Recordings/Batman/Batman 05 Begins (Recorded Sun Jul 22, 2012, BluRay).mp4" for Push to Premier Theater
INFO:pyTivo:192.168.1.50 [13/Oct/2012 11:02:09] "POST /TivoConnect HTTP/1.0" 200 -
DEBUG:pyTivo.video.transcode:starting ffmpeg, will wait 10 seconds for it to complete
DEBUG:pyTivo.video.transcode:ffmpeg output=FFmpeg version SVN-r25838, Copyright (c) 2000-2010 the FFmpeg developers
  built on Sep 20 2011 17:00:01 with gcc 4.4.5
  configuration: --enable-libdc1394 --prefix=/usr --extra-cflags='-Wall -g ' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-avfilter --enable-libdirac --disable-decoder=libdirac --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-libvpx --enable-librtmp --extra-libs=-lgcrypt --disable-altivec --disable-armv5te --disable-armv6 --disable-vis
  libavutil     50.33. 0 / 50.43. 0
  libavcore      0.14. 0 /  0.14. 0
  libavcodec    52.97. 2 / 52.123. 0
  libavformat   52.87. 1 / 52.111. 0
  libavdevice   52. 2. 2 / 52. 2. 2
  libavfilter    1.65. 0 /  1.65. 0
  libswscale     0.12. 0 /  0.14. 1
  libpostproc   51. 2. 0 / 51. 2. 0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/RAID/Recordings/Batman/Batman 05 Begins (Recorded Sun Jul 22, 2012, BluRay).mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42isomavc1
    creation_time   : 2012-09-14 05:46:35
    encoder         : HandBrake 0.9.6 2012022800
  Duration: 02:20:03.00, start: 0.000000, bitrate: 11205 kb/s
    Chapter #0.0: start 0.000000, end 219.219000
    Metadata:
      title           : Chapter 1
    Chapter #0.1: start 219.219000, end 451.159033
    Metadata:
      title           : Chapter 2
    Chapter #0.2: start 451.159033, end 694.026667
    Metadata:
      title           : Chapter 3
    Chapter #0.3: start 694.026667, end 975.683033
    Metadata:
      title           : Chapter 4
    Chapter #0.4: start 975.683033, end 1184.349833
    Metadata:
      title           : Chapter 5
    Chapter #0.5: start 1184.349833, end 1459.332867
    Metadata:
      title           : Chapter 6
    Chapter #0.6: start 1459.332867, end 1704.703000
    Metadata:
      title           : Chapter 7
    Chapter #0.7: start 1704.703000, end 1885.383500
    Metadata:
      title           : Chapter 8
    Chapter #0.8: start 1885.383500, end 2153.860033
    Metadata:
      title           : Chapter 9
    Chapter #0.9: start 2153.860033, end 2304.635667
    Metadata:
      title           : Chapter 10
    Chapter #0.10: start 2304.635667, end 2474.638833
    Metadata:
      title           : Chapter 11
    Chapter #0.11: start 2474.638833, end 2588.294033
    Metadata:
      title           : Chapter 12
    Chapter #0.12: start 2588.294033, end 2817.981833
    Metadata:
      title           : Chapter 13
    Chapter #0.13: start 2817.981833, end 2983.981000
    Metadata:
      title           : Chapter 14
    Chapter #0.14: start 2983.981000, end 3206.203000
    Metadata:
      title           : Chapter 15
    Chapter #0.15: start 3206.203000, end 3355.060033
    Metadata:
      title           : Chapter 16
    Chapter #0.16: start 3355.060033, end 3482.187033
    Metadata:
      title           : Chapter 17
    Chapter #0.17: start 3482.187033, end 3811.808000
    Metadata:
      title           : Chapter 18
    Chapter #0.18: start 3811.808000, end 3953.115833
    Metadata:
      title           : Chapter 19
    Chapter #0.19: start 3953.115833, end 4118.823033
    Metadata:
      title           : Chapter 20
    Chapter #0.20: start 4118.823033, end 4285.781500
    Metadata:
      title           : Chapter 21
    Chapter #0.21: start 4285.781500, end 4399.561833
    Metadata:
      title           : Chapter 22
    Chapter #0.22: start 4399.561833, end 4576.280033
    Metadata:
      title           : Chapter 23
    Chapter #0.23: start 4576.280033, end 4790.285500
    Metadata:
      title           : Chapter 24
    Chapter #0.24: start 4790.285500, end 5034.362667
    Metadata:
      title           : Chapter 25
    Chapter #0.25: start 5034.362667, end 5342.670667
    Metadata:
      title           : Chapter 26
    Chapter #0.26: start 5342.670667, end 5556.717833
    Metadata:
      title           : Chapter 27
    Chapter #0.27: start 5556.717833, end 5869.029833
    Metadata:
      title           : Chapter 28
    Chapter #0.28: start 5869.029833, end 6033.736033
    Metadata:
      title           : Chapter 29
    Chapter #0.29: start 6033.736033, end 6309.011033
    Metadata:
      title           : Chapter 30
    Chapter #0.30: start 6309.011033, end 6572.065500
    Metadata:
      title           : Chapter 31
    Chapter #0.31: start 6572.065500, end 6689.182500
    Metadata:
      title           : Chapter 32
    Chapter #0.32: start 6689.182500, end 6889.048833
    Metadata:
      title           : Chapter 33
    Chapter #0.33: start 6889.048833, end 7091.084000
    Metadata:
      title           : Chapter 34
    Chapter #0.34: start 7091.084000, end 7315.016033
    Metadata:
      title           : Chapter 35
    Chapter #0.35: start 7315.016033, end 7501.202033
    Metadata:
      title           : Chapter 36
    Chapter #0.36: start 7501.202033, end 7566.892667
    Metadata:
      title           : Chapter 37
    Chapter #0.37: start 7566.892667, end 7758.459033
    Metadata:
      title           : Chapter 38
    Chapter #0.38: start 7758.459033, end 7857.015833
    Metadata:
      title           : Chapter 39
    Chapter #0.39: start 7857.015833, end 8402.852789
    Metadata:
      title           : Chapter 40
    Stream #0.0(und): Video: h264 (Constrained Baseline), yuv420p, 1920x1080, 10819 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc
    Metadata:
      creation_time   : 2012-09-14 05:46:35
    Stream #0.1(eng): Audio: ac3, 48000 Hz, 6 channels, s16, 384 kb/s
    Metadata:
      creation_time   : 2012-09-14 05:46:35
    Stream #0.2(und): Subtitle: text / 0x74786574
    Metadata:
      creation_time   : 2012-09-14 05:46:35
At least one output file must be specified

DEBUG:pyTivo.video.transcode:aFreq=48000; vFps=23.98; container=mov; kbps=11205; mapAudio=[('0.1', '(eng)')]; vHeight=1080; vCodec=h264; Supported=True; aKbps=384; par=None; millisecs=8403000; par2=None; par1=None; mapVideo=0.0; vWidth=1920; dar1=None; aCodec=ac3
DEBUG:pyTivo.video.transcode:CACHE HIT! /RAID/Recordings/Batman/Batman 05 Begins (Recorded Sun Jul 22, 2012, BluRay).mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, /RAID/Recordings/Batman/Batman 05 Begins (Recorded Sun Jul 22, 2012, BluRay).mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /RAID/Recordings/Batman/Batman 05 Begins (Recorded Sun Jul 22, 2012, BluRay).mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /RAID/Recordings/Batman/Batman 05 Begins (Recorded Sun Jul 22, 2012, BluRay).mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, /RAID/Recordings/Batman/Batman 05 Begins (Recorded Sun Jul 22, 2012, BluRay).mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /RAID/Recordings/Batman/Batman 05 Begins (Recorded Sun Jul 22, 2012, BluRay).mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /RAID/Recordings/Batman/Batman 05 Begins (Recorded Sun Jul 22, 2012, BluRay).mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, /RAID/Recordings/Batman/Batman 05 Begins (Recorded Sun Jul 22, 2012, BluRay).mp4
DEBUG:pyTivo.mind:__login
{'cams_security_domain': 'tivocom', 'cams_login_config': 'http', 'cams_cb_password': 'XXXXXXXX', 'cams_original_url': '/mind/mind7?type=infoGet', 'cams_cb_username': 'XXXXXXXXYYYYYYYZZZZZ'}
DEBUG:pyTivo.mind:pcBodySearch
{}

<pcBodyList><isBottom>true</isBottom><isTop>true</isTop><pcBody><bucketNumber>-1</bucketNumber><levelOfDetail>low</levelOfDetail><name>pyTivo</name><pcBodyId>tivo:pc.1001365511</pcBodyId><type>pcBody</type></pcBody></pcBodyList>g
DEBUG:pyTivo.mind:bodyOfferModify&bodyId=tsn:74600019082CD5F
{'description': "Following his parents' brutal murder, Bruce Wayne trains with a skilled ninja and returns to Gotham City, only to find it overrun with crime and corruption. After discovering a cave under Wayne Manor, Bruce assumes a new identity.", 'pcBodyId': 'tivo:pc.1001365511', 'publishDate': '2012-10-13 16:0217', 'partnerId': 'tivo:pt.3187', 'duration': 8403, 'size': 11770416750, 'title': 'Batman Begins', 'url': 'http://192.168.1.50:9032/RAID%20Server/Batman/Batman%2005%20Begins%20%28Recorded%20Sun%20Jul%2022%2C%202012%2C%20BluRay%29.mp4?Format=video/mp4', 'bodyId': 'tsn:74600019082CD5F', 'source': 'Batman Begins', 'state': 'complete', 'encodingType': 'avcL41MP4'}

<bodyOffer><bodyId>tsn:74600019082CD5F</bodyId><bodyOfferId>tivo:bo.15002971</bodyOfferId><createDate>2012-10-13 16:02:18</createDate><description>Following his parents' brutal murder, Bruce Wayne trains with a skilled ninja and returns to Gotham City, only to find it overrun with crime and corruption. After discovering a cave under Wayne Manor, Bruce assumes a new identity.</description><duration>8403</duration><encodingType>avcL41MP4</encodingType><levelOfDetail>high</levelOfDetail><offerId>tivo:of.bs.15002971</offerId><partnerId>tivo:pt.3187</partnerId><pcBodyId>tivo:pc.1001365511</pcBodyId><publishDate>2012-10-13 19:37:00</publishDate><size>11770416750</size><source>Batman Begins</source><state>complete</state><title>Batman Begins</title><updateDate>2012-10-13 16:02:18</updateDate><url>http://192.168.1.50:9032/RAID%20Server/Batman/Batman%2005%20Begins%20%28Recorded%20Sun%20Jul%2022%2C%202012%2C%20BluRay%29.mp4?Format=video/mp4</url></bodyOffer>g
DEBUG:pyTivo.mind:subscribe&bodyId=tsn:74600019082CD5F
{'uiType': 'cds', 'idSetSource': {'contentId': 'tivo:ct.bs.15002971', 'type': 'singleOfferSource', 'offerId': 'tivo:of.bs.15002971'}, 'bodyId': 'tsn:74600019082CD5F', 'title': 'pcBodySubscription'}

<subscribeResult><subscription><autoRecord>true</autoRecord><bodyGeneratesCandidates>false</bodyGeneratesCandidates><bodyId>tsn:74600019082CD5F</bodyId><hdOnly>false</hdOnly><idSetSource><contentId>tivo:ct.bs.15002971</contentId><offerId>tivo:of.bs.15002971</offerId><type>singleOfferSource</type></idSetSource><isAdult>false</isAdult><isForKids>false</isForKids><levelOfDetail>high</levelOfDetail><showStatus>rerunsAllowed</showStatus><subscriptionId>tivo:sb.15003071</subscriptionId><title>pcBodySubscription</title><type>subscription</type><uiType>cds</uiType></subscription></subscribeResult>g
INFO:pyTivo.video.video:[13/Oct/2012 11:03:15] Queued "/RAID/Recordings/An Affair to Remember (Recorded Tue Oct 02, 2012, TCMHD).mp4" for Push to Premier Theater
INFO:pyTivo:192.168.1.50 [13/Oct/2012 11:03:15] "POST /TivoConnect HTTP/1.0" 200 -
DEBUG:pyTivo.video.transcode:starting ffmpeg, will wait 10 seconds for it to complete
DEBUG:pyTivo.video.transcode:ffmpeg output=FFmpeg version SVN-r25838, Copyright (c) 2000-2010 the FFmpeg developers
  built on Sep 20 2011 17:00:01 with gcc 4.4.5
  configuration: --enable-libdc1394 --prefix=/usr --extra-cflags='-Wall -g ' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-avfilter --enable-libdirac --disable-decoder=libdirac --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-libvpx --enable-librtmp --extra-libs=-lgcrypt --disable-altivec --disable-armv5te --disable-armv6 --disable-vis
  libavutil     50.33. 0 / 50.43. 0
  libavcore      0.14. 0 /  0.14. 0
  libavcodec    52.97. 2 / 52.123. 0
  libavformat   52.87. 1 / 52.111. 0
  libavdevice   52. 2. 2 / 52. 2. 2
  libavfilter    1.65. 0 /  1.65. 0
  libswscale     0.12. 0 /  0.14. 1
  libpostproc   51. 2. 0 / 51. 2. 0

Seems stream 0 codec frame rate differs from container frame rate: 59.94 (60000/1001) -> 29.97 (2997/100)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/RAID/Recordings/An Affair to Remember (Recorded Tue Oct 02, 2012, TCMHD).mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    creation_time   : 1970-01-01 00:00:00
    encoder         : Lavf52.64.2
  Duration: 01:54:44.27, start: 0.000000, bitrate: 6988 kb/s
    Stream #0.0(und): Video: h264 (High), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 6533 kb/s, 29.97 fps, 29.97 tbr, 29970 tbn, 59.94 tbc
    Metadata:
      creation_time   : 1970-01-01 00:00:00
    Stream #0.1(eng): Audio: ac3, 48000 Hz, 6 channels, s16, 448 kb/s
    Metadata:
      creation_time   : 1970-01-01 00:00:00
At least one output file must be specified

DEBUG:pyTivo.video.transcode:aFreq=48000; vFps=29.97; container=mov; kbps=6988; mapAudio=[('0.1', '(eng)')]; vHeight=1080; vCodec=h264; Supported=True; aKbps=448; par=None; millisecs=6884270; par2=1.0; par1=1:1; mapVideo=0.0; vWidth=1920; dar1=16:9; aCodec=ac3
DEBUG:pyTivo.video.transcode:CACHE HIT! /RAID/Recordings/An Affair to Remember (Recorded Tue Oct 02, 2012, TCMHD).mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, /RAID/Recordings/An Affair to Remember (Recorded Tue Oct 02, 2012, TCMHD).mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /RAID/Recordings/An Affair to Remember (Recorded Tue Oct 02, 2012, TCMHD).mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /RAID/Recordings/An Affair to Remember (Recorded Tue Oct 02, 2012, TCMHD).mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, /RAID/Recordings/An Affair to Remember (Recorded Tue Oct 02, 2012, TCMHD).mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /RAID/Recordings/An Affair to Remember (Recorded Tue Oct 02, 2012, TCMHD).mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /RAID/Recordings/An Affair to Remember (Recorded Tue Oct 02, 2012, TCMHD).mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, /RAID/Recordings/An Affair to Remember (Recorded Tue Oct 02, 2012, TCMHD).mp4
DEBUG:pyTivo.mind:__login
{'cams_security_domain': 'tivocom', 'cams_login_config': 'http', 'cams_cb_password': 'XXXXXXXX', 'cams_original_url': '/mind/mind7?type=infoGet', 'cams_cb_username': 'XXXXXXXXYYYYYYYZZZZZ'}
DEBUG:pyTivo.mind:pcBodySearch
{}

<pcBodyList><isBottom>true</isBottom><isTop>true</isTop><pcBody><bucketNumber>-1</bucketNumber><levelOfDetail>low</levelOfDetail><name>pyTivo</name><pcBodyId>tivo:pc.1001365511</pcBodyId><type>pcBody</type></pcBody></pcBodyList>g
DEBUG:pyTivo.mind:bodyOfferModify&bodyId=tsn:74600019082CD5F
{'description': '', 'pcBodyId': 'tivo:pc.1001365511', 'publishDate': '2012-10-13 16:0322', 'partnerId': 'tivo:pt.3187', 'duration': 6884, 'size': 6013506690, 'title': 'An Affair to Remember (Recorded Tue Oct 02, 2012, TCMHD)', 'url': 'http://192.168.1.50:9032/RAID%20Server/An%20Affair%20to%20Remember%20%28Recorded%20Tue%20Oct%2002%2C%202012%2C%20TCMHD%29.mp4?Format=video/mp4', 'bodyId': 'tsn:74600019082CD5F', 'source': 'An Affair to Remember (Recorded Tue Oct 02, 2012, TCMHD)', 'state': 'complete', 'encodingType': 'avcL41MP4'}

<bodyOffer><bodyId>tsn:74600019082CD5F</bodyId><bodyOfferId>tivo:bo.15002981</bodyOfferId><createDate>2012-10-13 16:03:23</createDate><description /><duration>6884</duration><encodingType>avcL41MP4</encodingType><levelOfDetail>high</levelOfDetail><offerId>tivo:of.bs.15002981</offerId><partnerId>tivo:pt.3187</partnerId><pcBodyId>tivo:pc.1001365511</pcBodyId><publishDate>2012-10-13 21:22:00</publishDate><size>6013506690</size><source>An Affair to Remember (Recorded Tue Oct 02, 2012, TCMHD)</source><state>complete</state><title>An Affair to Remember (Recorded Tue Oct 02, 2012, TCMHD)</title><updateDate>2012-10-13 16:03:23</updateDate><url>http://192.168.1.50:9032/RAID%20Server/An%20Affair%20to%20Remember%20%28Recorded%20Tue%20Oct%2002%2C%202012%2C%20TCMHD%29.mp4?Format=video/mp4</url></bodyOffer>g
DEBUG:pyTivo.mind:subscribe&bodyId=tsn:74600019082CD5F
{'uiType': 'cds', 'idSetSource': {'contentId': 'tivo:ct.bs.15002981', 'type': 'singleOfferSource', 'offerId': 'tivo:of.bs.15002981'}, 'bodyId': 'tsn:74600019082CD5F', 'title': 'pcBodySubscription'}

<subscribeResult><subscription><autoRecord>true</autoRecord><bodyGeneratesCandidates>false</bodyGeneratesCandidates><bodyId>tsn:74600019082CD5F</bodyId><hdOnly>false</hdOnly><idSetSource><contentId>tivo:ct.bs.15002981</contentId><offerId>tivo:of.bs.15002981</offerId><type>singleOfferSource</type></idSetSource><isAdult>false</isAdult><isForKids>false</isForKids><levelOfDetail>high</levelOfDetail><showStatus>rerunsAllowed</showStatus><subscriptionId>tivo:sb.15003081</subscriptionId><title>pcBodySubscription</title><type>subscription</type><uiType>cds</uiType></subscription></subscribeResult>g
INFO:pyTivo.video.video:[13/Oct/2012 11:03:29] Queued "/RAID/Recordings/Willy Wonka and the Chocolate Factory (Recorded Mon Oct 01, 2012, BluRay).mp4" for Push to Premier Theater
INFO:pyTivo:192.168.1.50 [13/Oct/2012 11:03:29] "POST /TivoConnect HTTP/1.0" 200 -
DEBUG:pyTivo.video.transcode:starting ffmpeg, will wait 10 seconds for it to complete
DEBUG:pyTivo.video.transcode:ffmpeg output=FFmpeg version SVN-r25838, Copyright (c) 2000-2010 the FFmpeg developers
  built on Sep 20 2011 17:00:01 with gcc 4.4.5
  configuration: --enable-libdc1394 --prefix=/usr --extra-cflags='-Wall -g ' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-avfilter --enable-libdirac --disable-decoder=libdirac --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-libvpx --enable-librtmp --extra-libs=-lgcrypt --disable-altivec --disable-armv5te --disable-armv6 --disable-vis
  libavutil     50.33. 0 / 50.43. 0
  libavcore      0.14. 0 /  0.14. 0
  libavcodec    52.97. 2 / 52.123. 0
  libavformat   52.87. 1 / 52.111. 0
  libavdevice   52. 2. 2 / 52. 2. 2
  libavfilter    1.65. 0 /  1.65. 0
  libswscale     0.12. 0 /  0.14. 1
  libpostproc   51. 2. 0 / 51. 2. 0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/RAID/Recordings/Willy Wonka and the Chocolate Factory (Recorded Mon Oct 01, 2012, BluRay).mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42isomavc1
    creation_time   : 2012-10-02 03:22:55
    encoder         : HandBrake 0.9.6 2012022800
  Duration: 01:39:45.24, start: 0.000000, bitrate: 18907 kb/s
    Stream #0.0(und): Video: h264 (Constrained Baseline), yuv420p, 1920x1080, 18521 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Metadata:
      creation_time   : 2012-10-02 03:22:55
    Stream #0.1(eng): Audio: ac3, 48000 Hz, 6 channels, s16, 384 kb/s
    Metadata:
      creation_time   : 2012-10-02 03:22:55
At least one output file must be specified

DEBUG:pyTivo.video.transcode:aFreq=48000; vFps=29.97; container=mov; kbps=18907; mapAudio=[('0.1', '(eng)')]; vHeight=1080; vCodec=h264; Supported=True; aKbps=384; par=None; millisecs=5985240; par2=None; par1=None; mapVideo=0.0; vWidth=1920; dar1=None; aCodec=ac3
DEBUG:pyTivo.video.transcode:CACHE HIT! /RAID/Recordings/Willy Wonka and the Chocolate Factory (Recorded Mon Oct 01, 2012, BluRay).mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, /RAID/Recordings/Willy Wonka and the Chocolate Factory (Recorded Mon Oct 01, 2012, BluRay).mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /RAID/Recordings/Willy Wonka and the Chocolate Factory (Recorded Mon Oct 01, 2012, BluRay).mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /RAID/Recordings/Willy Wonka and the Chocolate Factory (Recorded Mon Oct 01, 2012, BluRay).mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, /RAID/Recordings/Willy Wonka and the Chocolate Factory (Recorded Mon Oct 01, 2012, BluRay).mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /RAID/Recordings/Willy Wonka and the Chocolate Factory (Recorded Mon Oct 01, 2012, BluRay).mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /RAID/Recordings/Willy Wonka and the Chocolate Factory (Recorded Mon Oct 01, 2012, BluRay).mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, /RAID/Recordings/Willy Wonka and the Chocolate Factory (Recorded Mon Oct 01, 2012, BluRay).mp4
DEBUG:pyTivo.mind:__login
{'cams_security_domain': 'tivocom', 'cams_login_config': 'http', 'cams_cb_password': 'XXXXXXXX', 'cams_original_url': '/mind/mind7?type=infoGet', 'cams_cb_username': 'XXXXXXXXYYYYYYYZZZZZ'}
DEBUG:pyTivo.mind:pcBodySearch
{}

<pcBodyList><isBottom>true</isBottom><isTop>true</isTop><pcBody><bucketNumber>-1</bucketNumber><levelOfDetail>low</levelOfDetail><name>pyTivo</name><pcBodyId>tivo:pc.1001365511</pcBodyId><type>pcBody</type></pcBody></pcBodyList>g
DEBUG:pyTivo.mind:bodyOfferModify&bodyId=tsn:74600019082CD5F
{'description': "Eccentric candy man Willy Wonka prompts a frenzy when he announces that five golden tickets hidden inside his candy bars will get their holders into his top-secret factory. Amidst a world of Oompa Loompas and chocolate rivers, young Charlie Bucket and Grandpa Joe get caught in the middle of Wonka's secret agenda in director Mel Stuart's Oscar-nominated fantasy based on Roald Dahl's award-winning book.", 'pcBodyId': 'tivo:pc.1001365511', 'publishDate': '2012-10-13 16:0336', 'partnerId': 'tivo:pt.3187', 'duration': 5985, 'size': 14145797400, 'title': 'Willy Wonka & the Chocolate Factory', 'url': 'http://192.168.1.50:9032/RAID%20Server/Willy%20Wonka%20and%20the%20Chocolate%20Factory%20%28Recorded%20Mon%20Oct%2001%2C%202012%2C%20BluRay%29.mp4?Format=video/mp4', 'bodyId': 'tsn:74600019082CD5F', 'source': 'Willy Wonka & the Chocolate Factory', 'state': 'complete', 'encodingType': 'avcL41MP4'}

<bodyOffer><bodyId>tsn:74600019082CD5F</bodyId><bodyOfferId>tivo:bo.15002991</bodyOfferId><createDate>2012-10-13 16:03:37</createDate><description>Eccentric candy man Willy Wonka prompts a frenzy when he announces that five golden tickets hidden inside his candy bars will get their holders into his top-secret factory. Amidst a world of Oompa Loompas and chocolate rivers, young Charlie Bucket and Grandpa Joe get caught in the middle of Wonka's secret agenda in director Mel Stuart's Oscar-nominated fantasy based on Roald Dahl's award-winning book.</description><duration>5985</duration><encodingType>avcL41MP4</encodingType><levelOfDetail>high</levelOfDetail><offerId>tivo:of.bs.15002991</offerId><partnerId>tivo:pt.3187</partnerId><pcBodyId>tivo:pc.1001365511</pcBodyId><publishDate>2012-10-13 21:36:00</publishDate><size>14145797400</size><source>Willy Wonka &amp; the Chocolate Factory</source><state>complete</state><title>Willy Wonka &amp; the Chocolate Factory</title><updateDate>2012-10-13 16:03:37</updateDate><url>http://192.168.1.50:9032/RAID%20Server/Willy%20Wonka%20and%20the%20Chocolate%20Factory%20%28Recorded%20Mon%20Oct%2001%2C%202012%2C%20BluRay%29.mp4?Format=video/mp4</url></bodyOffer>g
DEBUG:pyTivo.mind:subscribe&bodyId=tsn:74600019082CD5F
{'uiType': 'cds', 'idSetSource': {'contentId': 'tivo:ct.bs.15002991', 'type': 'singleOfferSource', 'offerId': 'tivo:of.bs.15002991'}, 'bodyId': 'tsn:74600019082CD5F', 'title': 'pcBodySubscription'}

<subscribeResult><subscription><autoRecord>true</autoRecord><bodyGeneratesCandidates>false</bodyGeneratesCandidates><bodyId>tsn:74600019082CD5F</bodyId><hdOnly>false</hdOnly><idSetSource><contentId>tivo:ct.bs.15002991</contentId><offerId>tivo:of.bs.15002991</offerId><type>singleOfferSource</type></idSetSource><isAdult>false</isAdult><isForKids>false</isForKids><levelOfDetail>high</levelOfDetail><showStatus>rerunsAllowed</showStatus><subscriptionId>tivo:sb.15003091</subscriptionId><title>pcBodySubscription</title><type>subscription</type><uiType>cds</uiType></subscription></subscribeResult>g
INFO:pyTivo:192.168.1.105 [13/Oct/2012 11:04:05] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! /RAID/Recordings/An Affair to Remember (Recorded Tue Oct 02, 2012, TCMHD).mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, /RAID/Recordings/An Affair to Remember (Recorded Tue Oct 02, 2012, TCMHD).mp4
INFO:pyTivo:192.168.1.105 [13/Oct/2012 11:04:48] "GET /RAID%20Server/An%20Affair%20to%20Remember%20(Recorded%20Tue%20Oct%2002,%202012,%20TCMHD).mp4?Format=video%2Fmp4 HTTP/1.1" 206 -
INFO:pyTivo.video.video:[13/Oct/2012 11:04:48] Start sending "/RAID/Recordings/An Affair to Remember (Recorded Tue Oct 02, 2012, TCMHD).mp4" to Premier Theater
DEBUG:pyTivo.video.video:"/RAID/Recordings/An Affair to Remember (Recorded Tue Oct 02, 2012, TCMHD).mp4" is tivo compatible
DEBUG:pyTivo.video.qt-faststart:Getting index of top level atoms...
DEBUG:pyTivo.video.qt-faststart:ftyp: 32
DEBUG:pyTivo.video.qt-faststart:moov: 5376780
DEBUG:pyTivo.video.qt-faststart:mdat: 6008129878
DEBUG:pyTivo.video.qt-faststart:mp4 already streamable -- copying
INFO:pyTivo:192.168.1.105 [13/Oct/2012 11:05:27] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo.video.video:[13/Oct/2012 11:13:25] Done sending "/RAID/Recordings/An Affair to Remember (Recorded Tue Oct 02, 2012, TCMHD).mp4" to Premier Theater, 6013506690 bytes, 88.77 Mb/s
INFO:pyTivo:192.168.1.105 [13/Oct/2012 11:17:35] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.105 [13/Oct/2012 11:17:59] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -


----------



## Iluvatar

lrhorer said:


> Oh, now this is odd. Suddenly some of my BLuRay rips refuse to transfer. It seems to be random which ones will and which ones won't. I don't get any error, and the system says the files are queued for push, but they never go. It may be a coincidence, but it is suspicious this may have happened at the same time the Premiere stopped responding to RPC calls. Does anyone glean anything from the following log file? Note An Affair to remember, which is not a BluRay rip, and The Patriot, which is, transfer fine, but Batman Begins and Willy Wonka and the Chocolate Factory do not.


My pushes have been failing all over the place also and I've seen a couple other complaints elsewhere on the same issue. The login to the TiVo mind server succeeds but the followup request has not been coming through on 75% of what I try to transfer. Perhaps there is an issue on TiVo's side lately.

There is not a whole lot that can be done in this circumstance. pyTivo is just waiting on the mind server to send a request.


----------



## lpwcomp

Iluvatar said:


> My pushes have been failing all over the place also and I've seen a couple other complaints elsewhere on the same issue. The login to the TiVo mind server succeeds but the followup request has not been coming through on 75% of what I try to transfer. Perhaps there is an issue on TiVo's side lately.
> 
> There is not a whole lot that can be done in this circumstance. pyTivo is just waiting on the mind server to send a request.


I've been having problems lately too but I thought Ii was related to the fact that most of my pushes are to a remote TiVo. Guess not.


----------



## lrhorer

OK, first of all, I confirmed the failures are happening on both the S3 and S4 platforms, so they are not likely to be related to the issues I have been having with Orangeboy's remote program.

Secondly, pending further investigation, it is preliminarily looking as if very specific titles are failing every time while other specific titles are successful every time. I could easily be mistaken until I do a bit of testing, however. If it is true, however, then there must be something very specific about the failing titles that is causing them to fail. If we can pinpoint the cause of the failures, we should be able to circumvent them.


----------



## lpwcomp

lrhorer said:


> Secondly, pending further investigation, it is preliminarily looking as if very specific titles are failing every time while other specific titles are successful every time. I could easily be mistaken until I do a bit of testing, however. If it is true, however, then there must be something very specific about the failing titles that is causing them to fail. If we can pinpoint the cause of the failures, we should be able to circumvent them.


Not seeing any kind of consistency. Sometimes it works and sometimes it doesn't. Remote destination TiVo is a Series 2.

One more datum: U-verse internet on both ends.

pytivo output with debug on:


Code:


INFO:pyTivo.video.video:[14/Oct/2012 08:58:25] Queued "G:\\kmttgmpegs\Burkes Law
.5838.Who Killed Purity Mather.mpg" for Push to 1300000801E990C
INFO:pyTivo:127.0.0.1 [14/Oct/2012 08:58:25] "POST /TiVoConnect HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:starting ffmpeg, will wait 10 seconds for it to com
plete
DEBUG:pyTivo.video.transcode:ffmpeg output=FFmpeg version SVN-r21659-rdian06-1.0
2-win-x86_32, Copyright (c) 2000-2010 Fabrice Bellard, et al.
  built on Aug 24 2010 20:46:16 with gcc 4.4.0
  configuration: --enable-memalign-hack --disable-debug --enable-hardcoded-table
s --enable-runtime-cpudetect --enable-static --disable-shared --disable-ffserver
 --disable-ffplay --enable-gpl --enable-pthreads --enable-libmp3lame --enable-li
bvorbis --enable-libtheora --enable-libspeex --enable-libgsm --enable-libx264 --
enable-libschroedinger --enable-libfaad --enable-libxvid --disable-decoder=aac -
-enable-avisynth --enable-postproc --enable-avfilter --enable-avfilter-lavf
  libavutil     50. 8. 0 / 50. 8. 0
  libavcodec    52.52. 0 / 52.52. 0
  libavformat   52.50. 0 / 52.50. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.17. 0 /  1.17. 0
  libswscale     0.10. 0 /  0.10. 0
  libpostproc   51. 2. 0 / 51. 2. 0
[mpeg2video @ 0x186efc0]mpeg_decode_postinit() failure
    Last message repeated 11 times
[mpeg @ 0x186dd10]max_analyze_duration reached

Seems stream 0 codec frame rate differs from container frame rate: 59.94 (60000/
1001) -> 29.97 (30000/1001)
Input #0, mpeg, from 'G:\\kmttgmpegs\Burkes Law.5838.Who Killed Purity Mather.mp
g':
  Duration: 01:00:02.10, start: 0.522744, bitrate: 3249 kb/s
    Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 704x480 [PAR 10:11 DAR 4:3],
 15000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0.1[0x1bd]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
At least one output file must be specified

DEBUG:pyTivo.video.transcode:aFreq=48000; aCh=2; container=mpeg; kbps=3249; mapA
udio=[('0.1', '[0x1bd] ac3, 48000 Hz, stereo, s16, 192 kb/s\r')]; vHeight=480; v
Codec=mpeg2video; Supported=True; aKbps=192; par=None; millisecs=3602100; vFps=2
9.97; par2=0.909090909091; par1=10:11; mapVideo=0.0; vWidth=704; dar1=4:3; rawme
ta={}; aCodec=ac3
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\\kmttgmpegs\Burkes Law.5838.Who Kille
d Purity Mather.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\\kmttgmpegs\Burkes Law.5838.Who Kille
d Purity Mather.mpg
INFO:pyTivo:127.0.0.1 [14/Oct/2012 08:58:30] "GET /TiVoConnect?Command=QueryCont
ainer&Container=GVideo/kmttgmpegs&Format=text/html HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, G:\\kmttgmpegs\Burkes
 Law.5838.Who Killed Purity Mather.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\\kmttgmpegs\Burkes Law.5838.Who Kille
d Purity Mather.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\\kmttgmpegs\Burkes Law.5838.Who Kille
d Purity Mather.mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, G:\\kmttgmpegs\Burkes
 Law.5838.Who Killed Purity Mather.mpg
INFO:pyTivo:127.0.0.1 [14/Oct/2012 08:58:30] "GET /main.css HTTP/1.1" 200 -
DEBUG:pyTivo.mind:__login
{'cams_security_domain': 'tivocom', 'cams_login_config': 'http', 'cams_cb_passwo
rd': <redacted>, 'cams_original_url': '/mind/mind7?type=infoGet', 'cams_cb_usern
ame': <redacted>}
DEBUG:pyTivo.mind:pcBodySearch
{}

<pcBodyList><isBottom>true</isBottom><isTop>true</isTop><pcBody><bucketNumber>-1
</bucketNumber><levelOfDetail>low</levelOfDetail><name>pyTivo</name><pcBodyId>ti
vo:pc.1002175891</pcBodyId><type>pcBody</type></pcBody></pcBodyList>g
DEBUG:pyTivo.mind:bodyOfferModify&bodyId=tsn:<redacted>
{'subtitle': 'Who Killed Purity Mather?', 'description': 'A sorceress sends Burk
e a message that lists the suspects in his upcoming murder; guests Wally Cox, Te
lly Savalas, Gloria Swanson.', 'pcBodyId': 'tivo:pc.1002175891', 'publishDate':
'2012-10-14 12:5832', 'partnerId': 'tivo:pt.3187', 'duration': 3602, 'size': 146
2954742, 'title': "Burke's Law", 'url': 'http://<redacted>:9032/GVideo/kmttgm
pegs/Burkes%20Law.5838.Who%20Killed%20Purity%20Mather.mpg?Format=video/mpeg', 'b
odyId': 'tsn:<redacted>', 'source': 'SH000716', 'state': 'complete', 'encod
ingType': 'mpeg2ProgramStream', 'tvRating': 'pg'}

<bodyOffer><bodyId>tsn:<redacted></bodyId><bodyOfferId>tivo:bo.15001841</bo
dyOfferId><createDate>2012-10-14 13:01:27</createDate><description>A sorceress s
ends Burke a message that lists the suspects in his upcoming murder; guests Wall
y Cox, Telly Savalas, Gloria Swanson.</description><duration>3602</duration><enc
odingType>mpeg2ProgramStream</encodingType><levelOfDetail>high</levelOfDetail><o
fferId>tivo:of.bs.15001841</offerId><partnerId>tivo:pt.3187</partnerId><pcBodyId
>tivo:pc.1002175891</pcBodyId><publishDate>2012-10-18 13:12:00</publishDate><siz
e>1462954742</size><source>SH000716</source><state>complete</state><subtitle>Who
 Killed Purity Mather?</subtitle><title>Burke's Law</title><tvRating>pg</tvRatin
g><updateDate>2012-10-14 13:01:27</updateDate><url>http://<redacted>:9032/GVi
deo/kmttgmpegs/Burkes%20Law.5838.Who%20Killed%20Purity%20Mather.mpg?Format=video
/mpeg</url></bodyOffer>g
DEBUG:pyTivo.mind:subscribe&bodyId=tsn:<redacted>
{'uiType': 'cds', 'idSetSource': {'contentId': 'tivo:ct.bs.15001841', 'type': 's
ingleOfferSource', 'offerId': 'tivo:of.bs.15001841'}, 'bodyId': 'tsn:<redacted>', 'title': 'pcBodySubscription'}

<subscribeResult><subscription><autoRecord>true</autoRecord><bodyGeneratesCandid
ates>false</bodyGeneratesCandidates><bodyId>tsn:1300000801E990C</bodyId><hdOnly>
false</hdOnly><idSetSource><contentId>tivo:ct.bs.15001841</contentId><offerId>ti
vo:of.bs.15001841</offerId><type>singleOfferSource</type></idSetSource><isAdult>
false</isAdult><isForKids>false</isForKids><levelOfDetail>high</levelOfDetail><s
howStatus>rerunsAllowed</showStatus><subscriptionId>tivo:sb.15001851</subscripti
onId><title>pcBodySubscription</title><type>subscription</type><uiType>cds</uiTy
pe></subscription></subscribeResult>g


----------



## lrhorer

I'm seeing failure rates in excess of 75%. I just attempted to push a single video multiple times. Finally, on the 5th attempt, it started to transfer.


----------



## lpwcomp

Finally got mine to start also. Not sure how many attempts it was.


----------



## CoxInPHX

I can no longer Push from pytivo, Pulls work fine.

I never had any problems until this last week.


----------



## jcthorne

Mine seems to have stopped also. Every thing seems to go right on the pytivo side. Sends the command to the mind server without error. But the tivo never requests the file. Really looks like something broke on the Tivo server end. Perhaps they will get the server kick started when they get in today. Has happened before.


----------



## wireman121

Having the same issue for about a week now. Everything looks fine on the PyTivo side but its never sending the request for the file...


----------



## lrhorer

Now I'm getting authentication errors on every attempt:



Code:


{'cams_security_domain': 'tivocom', 'cams_login_config': 'http', 'cams_cb_password': 'XXXXXXXXX', 'cams_original_url': '/mind/mind7?type=infoGet', 'cams_cb_username': 'XXXXXXXXXXXXXXX'}
DEBUG:pyTivo.mind:pcBodySearch
{}

<error><code>badCookie</code><debug>1</debug><text>Session cannot be authenticated; try login again</text></error>g
DEBUG:pyTivo.mind:pcBodyStore
{'replaceExisting': 'true', 'name': 'pyTivo'}

<error><code>badCookie</code><debug>1</debug><text>Session cannot be authenticated; try login again</text></error>g
DEBUG:pyTivo.mind:bodyOfferModify&bodyId=tsn:74600019082CD5F
{'description': "Capt. Kirk and his trusted team on the starship USS Enterprise boldly go where no man has gone before in this installment of Gene Roddenberry's sci-fi franchise that follows the early days of the intergalactic adventurers.", 'pcBodyId': None, 'publishDate': '2012-10-15 13:3548', 'partnerId': 'tivo
:pt.3187', 'duration': 7610, 'size': 23865846002, 'title': 'Star Trek', 'url': 'http://192.168.1.50:9032/RAID%20Server/Star%20Trek%20%28Movies%29/Star%20Trek%2011%20%28Recorded%20Sat%20Aug%2024%2C%202012%2C%20BluRay%29.mp4?Format=video/mp4', 'bodyId': 'tsn:74600019082CD5F', 'source': 'Star Trek', 'state': 'complet
e', 'encodingType': 'avcL41MP4'}

<error><code>badCookie</code><debug>1</debug><text>Session cannot be authenticated; try login again</text></error>g
ERROR:pyTivo.video.video:<error>[CODE]badCookie

<debug>1</debug><text>Session cannot be authenticated; try login again</text></error>
[/CODE]


----------



## Iluvatar

lrhorer said:


> Now I'm getting authentication errors on every attempt:


same here. Hopefully this is just an issue with the mind server that can be fixed and not something like TiVo actively blocking 3rd party use of the service.


----------



## lpwcomp

Iluvatar said:


> same here. Hopefully this is just an issue with the mind server that can be fixed and not something like TiVo actively blocking 3rd party use of the service.


All of tivo.com seems to be down right now.

I doubt very seriously if the mind server even sees a difference between a pyTivo request and a TD request.


----------



## larrs

jcthorne said:


> Mine seems to have stopped also. Every thing seems to go right on the pytivo side. Sends the command to the mind server without error. But the tivo never requests the file. Really looks like something broke on the Tivo server end. Perhaps they will get the server kick started when they get in today. Has happened before.


Thank you all for having the same problem I have been experiencing off and on for two weeks. Maybe I was just a leading indicator?

I sure hope it is something Tivo can fix. I would hate to have to convert my videos back to mpeg2.


----------



## lpwcomp

larrs said:


> I sure hope it is something Tivo can fix. I would hate to have to convert my videos back to mpeg2.


Most of the time Pulls (even if they have to be transcoded on the fly) work fast enough for me, especially if start the transfer well before you need it. Just queue up a bunch at once.

What I would hate if they don't fix this problem is the PITA it is to get stuff to a friend of mine. Having to go back to using sneakernet...


----------



## lrhorer

lpwcomp said:


> Most of the time Pulls (even if they have to be transcoded on the fly) work fast enough for me, especially if start the transfer well before you need it. Just queue up a bunch at once.


That presumes one knows in advance what one will be watching. In general that is not the case. Friends or relatives come over, they choose a film, and we start watching. I have tried in the past, with zero success, to get them to choose a film prior to coming over. With h.264 recodes taking over 20 hours in some cases, that's a problem. The main reason I started recoding to h.264/MP4 is I was experiencing pauses in some material when transferring MPEG-II content. Without the push, that paradigm fails. Even when I am watching by myself, I generally transfer what suits my mood at the moment, not what I think I might be in the mood for tomorrow.


----------



## lrhorer

lpwcomp said:


> All of tivo.com seems to be down right now.
> 
> I doubt very seriously if the mind server even sees a difference between a pyTivo request and a TD request.


I would expect not. The problem is if one of us calls the issue in, unless we are running TDT+, I would bet dollars to Navy Beans we will get the "unsupported software" brush-off.


----------



## lrhorer

larrs said:


> Thank you all for having the same problem I have been experiencing off and on for two weeks. Maybe I was just a leading indicator?


Yeah, it sounds like it. In the previous exchange in this thread, I thought you meant this was an issue you have had for a long while. 'Sorry about the misunderstanding.


----------



## lpwcomp

lrhorer said:


> That presumes one knows in advance what one will be watching. In general that is not the case. Friends or relatives come over, they choose a film, and we start watching. I have tried in the past, with zero success, to get them to choose a film prior to coming over. With h.264 recodes taking over 20 hours in some cases, that's a problem. The main reason I started recoding to h.264/MP4 is I was experiencing pauses in some material when transferring MPEG-II content. Without the push, that paradigm fails. Even when I am watching by myself, I generally transfer what suits my mood at the moment, not what I think I might be in the mood for tomorrow.


As I also said, a lot of what I watch transfers at better than real time speed anyway. The main point is that pulls are not dependent on an external server.

The preferable solution to the transfer speed difference would be for TiVo to support pulls of MP4s w/o requiring a conversion.


----------



## lpwcomp

lrhorer said:


> I would expect not. The problem is if one of us calls the issue in, unless we are running TDT+, I would bet dollars to Navy Beans we will get the "unsupported software" brush-off.


I doubt that also.


----------



## lrhorer

lpwcomp said:


> As I also said, a lot of what I watch transfers at better than real time speed anyway. The main point is that pulls are not dependent on an external server.


Well, they depend on the pyTivo server, of course, but that is within each of our own controls. Your point is right on the money, though. Having it depend on a non-standard server maintained by an entity who may not have any great incentive to fix any problems they may have or even may cause themselves is problematical.



lpwcomp said:


> The preferable solution to the transfer speed difference would be for TiVo to support pulls of MP4s w/o requiring a conversion.


Oh yeah, no kidding, or better yet pushes that did not require an additional mediation server. Best of all both.


----------



## LeeAnnK

I've been trying to push with TiVo Desktop Plus (TDP) for two days with only sporadic success. I spent time with techies yesterday. I've been tearing my hair out and uninstalling software that I added, trying system restores, nothing!

Today I called Tivo tech support because I wasn't able to "connect to Tivo service now" with the Tivo. They told me that one of their servers is down and to wait 4 hours or even until tomorrow. I am hoping that our pushing joy returns. Just a couple of days ago, I started using TDP folder uploads as an experiment to see if my grouped episode titles will appear without the group name in front of them. Previously I was using pyTivo. I went back to pyTivo today and no joy there either.

I have to do one file at a time and then wait. If it doesn't go, resubmit it. The order that they appear in my group is very important to my project. I usually will submit them one right after another and they come in exactly as I submitted them. In TDP, my sample files, before I tried to go live, were fast and perfect, and went in date modified order. Now they are random and few actually go through.

So, with the problem in both softwares, and with fellow sufferers, I now know it isn't just me. Maybe, as the tech promised, tomorrow will be a better day.


----------



## innocentfreak

Glad it isn't just me. I have noticed a bunch of my pushes not going through, but I just wrote it off as something flaky. I also hadn't gone to watch any of the pushed content yet so it wasn't a major issue for me. 

I wonder if this might be in preparation for the web development kit.


----------



## larrs

lrhorer said:


> I would expect not. The problem is if one of us calls the issue in, unless we are running TDT+, I would bet dollars to Navy Beans we will get the "unsupported software" brush-off.


I still have TDT+ running on my server and it is failing pushes as well. I called Tivo so at least two of us have reported it. Maybe they'll do something.


----------



## larrs

lrhorer said:


> Yeah, it sounds like it. In the previous exchange in this thread, I thought you meant this was an issue you have had for a long while. 'Sorry about the misunderstanding.


Not your misunderstanding- I was not really sure. Again, according to my wife it has "always" been a PITA...

I talked it over with the family at dinner and there may be mpeg2 back in my future- all they know is that my h264 mp4s cannot be watched while transferring and that is unacceptable to them.

The only problem is the size. I may have to put in a second RAID array some time soon. The good news is that DVDs and HDTV will be faster to get onto the server; Blu Ray- not so much.


----------



## Iluvatar

Pushes are working again for me.


----------



## kool2zero

still not working for me.


----------



## lrhorer

larrs said:


> I talked it over with the family at dinner and there may be mpeg2 back in my future- all they know is that my h264 mp4s cannot be watched while transferring and that is unacceptable to them.


Actually, the primary reason I started using h.264/MP4 is because so many of my MPEG-II files would not transfer in real time, especially 720p content. Some 1080i content won't transfer real-time, either. When pushed, h.264/MP4 files transfer up to 4 times faster than their MPEG-II counterparts.



larrs said:


> The only problem is the size. I may have to put in a second RAID array some time soon. The good news is that DVDs and HDTV will be faster to get onto the server; Blu Ray- not so much.


I'm considering upgrading the motherboard on my server to one with an 8 core, 4.2Ghz CPU and fast memory. It might be able to recode most content in real-time or better. 'Doesn't help with the TiVo bottleneck, but that's just as much an issue with MPEG-II files. I'll still use vidmgr for the most part, but on those occasions when the mind server is down, there will at least be a reasonable backup solution.


----------



## lrhorer

Iluvatar said:


> Pushes are working again for me.


Yeah, it seemed to be working much better last night. I only had one failure, and I think that was due to an issue on the Tivo.


----------



## larrs

lrhorer said:


> Actually, the primary reason I started using h.264/MP4 is because so many of my MPEG-II files would not transfer in real time, especially 720p content. Some 1080i content won't transfer real-time, either. When pushed, h.264/MP4 files transfer up to 4 times faster than their MPEG-II counterparts.
> 
> I'm considering upgrading the motherboard on my server to one with an 8 core, 4.2Ghz CPU and fast memory. It might be able to recode most content in real-time or better. 'Doesn't help with the TiVo bottleneck, but that's just as much an issue with MPEG-II files. I'll still use vidmgr for the most part, but on those occasions when the mind server is down, there will at least be a reasonable backup solution.


I have never had issues with mpeg2 speeds except for the TivoHDs, which I only have in the kids' rooms now. With the Premieres, I get much faster than real time transfers.

When pulling, how much does the server affect the equation? I have a 4 year old AMD Dual core 3Ghz with 4GB of memory, but have thought about an upgrade. Any idea how that would that change transfer speeds?


----------



## caddyroger

I been reading that some of you have had problems but I was wondering if this was what you getting. For the last couples of days I am not able to push programs to my tivo. I have used a back up of my OS. Uninstalled and reinstalled pytivo changed the ip address. Pulling from the tivo looks like it work. When I click push to my tivo I get this "This page can't be displayed"


----------



## wmcbrine

larrs said:


> When pulling, how much does the server affect the equation?


It only matters if you're transcoding. If you have compatible (MPEG-2) video, the TiVo is the bottleneck, almost regardless of the server -- even a cheap NAS can keep up with the TiVo. If you're transcoding, then the CPU of the server is the bottleneck.


----------



## lrhorer

larrs said:


> I have never had issues with mpeg2 speeds except for the TivoHDs, which I only have in the kids' rooms now.


S3s also have the problem, although to a lesser extent. On an S3, a 720p MPEG-II program cannot quite transfer in real time, even if the tuners are inactive. Typically, it takes between 1:06 and 1:10 to transfer a 1 hour 720p video on an S3, and about 1:15 or so on a THD. Even 20 Mbps MPEG-II 1080i content cannot transfer quite at real time on an S3.



larrs said:


> With the Premieres, I get much faster than real time transfers.


Well, considerably so. IIRC, the Premier tansfers 1080i MPEG-II files at about 30 - 38 Mbps, roughly 1.5x - 2x real time. OTOH, it transfers h.264/MP4 files at over 90Mbps, or about 8x real time.



larrs said:


> When pulling, how much does the server affect the equation?


When transcoding a significant amount, a very great deal. When not transcoding, hardly at all. Pushing or pulling native format videos takes very little CPU time at all. A full recode from MPEG-II to h.264 takes hours. Recoding from h.264 to MPEG-II seems rather faster.



larrs said:


> I have a 4 year old AMD Dual core 3Ghz with 4GB of memory, but have thought about an upgrade. Any idea how that would that change transfer speeds?


A great deal. I have a 3.2 GHz AMD Athlon 64 X 2 on my video server. I just pulled an h.264/MP4 1080i video off the server, and with threads set to 3, it transfers just a bit under real time. This is not a particularly high bandwidth video, however, and a high bandwidth video transfer be even slower. OTOH, setting threads to something more than 3 might help, as might modifying pyTivo. Right now pyTivo puts any additional ffmpeg parameters at the end of the command line, but I am given to understand this causes the decoder to be single-threaded. Putting the "threads=" parameter towards the front of the command line reportedly will cause ffmpeg to multi-thread both the coder and decoder. For this file, the CPU ran at about 75%. Tinkering with the thread parameters might get it close to 100% and allow real time transfers of most or perhaps all 1080i and 720p content. I'll play around with it a bit this weekend if I get the chance.

I don't think there is any way a 3 GHz dual core CPU will be able to recode a 1080p BluRay rip in real time. I have a 2.8GHz, six core CPU on the machine from which I am typing, and with all 6 cores running flat out, it can only recode a .mkv file to h.264 at a little better than 1/3 real time. A 3.8 - 4 GHz quad core might be able to recode a BluRay rip from h.264 to MPEG-II in real time. An 8 core definitely should.

Edit: The show finished transferring while I was asleep. It transferred at 12.17 Mbps, which would be fast enough for some videos, but not others. The 1:34 show transferred in 1:54.


----------



## txporter

larrs said:


> I talked it over with the family at dinner and there may be mpeg2 back in my future- all they know is that my h264 mp4s cannot be watched while transferring and that is unacceptable to them.
> 
> The only problem is the size. I may have to put in a second RAID array some time soon. The good news is that DVDs and HDTV will be faster to get onto the server; Blu Ray- not so much.


You might want to see if you can get them to hold off until after the holidays. It may be wishful thinking, but if the DLNA incorporation really does come out with the Q4 release, then the need for the calls to the mind server might no longer be necessary. Would be nice to keep the file size reduction you get from H.264/MP4.

Perhaps you can load the videos ahead of time so that there isn't a need to watch while transferring? However, I watch MP4 pushes while transferring all of the time. Are you not setting the MOOV atom to the head of the file?


----------



## larrs

txporter said:


> You might want to see if you can get them to hold off until after the holidays. It may be wishful thinking, but if the DLNA incorporation really does come out with the Q4 release, then the need for the calls to the mind server might no longer be necessary. Would be nice to keep the file size reduction you get from H.264/MP4.
> 
> Perhaps you can load the videos ahead of time so that there isn't a need to watch while transferring? However, I watch MP4 pushes while transferring all of the time. Are you not setting the MOOV atom to the head of the file?


I'll force them to wait. In the time that reencoding all those files to mpeg2 would take, they'd be waiting anyway.

You'll need to clarify your second paragraph. The MOOV atom is set at the head, but I don't understand the rest of the statement.


----------



## txporter

larrs said:


> You'll need to clarify your second paragraph. The MOOV atom is set at the head, but I don't understand the rest of the statement.


It was mainly a question to try to understand why you cannot watch MP4 pushes while they are transferring. I thought maybe you didn't place the MOOV atom at the beginning of the file. I have no issues watching MP4 pushes while they are transferring.


----------



## wmcbrine

txporter said:


> You might want to see if you can get them to hold off until after the holidays. It may be wishful thinking, but if the DLNA incorporation really does come out with the Q4 release, then the need for the calls to the mind server might no longer be necessary. Would be nice to keep the file size reduction you get from H.264/MP4.


Well, there's really no reason they couldn't support MP4 pulls via HMO right now... they just don't. (If I set up the right MIME type, it looks like it's going to work... but it doesn't.) So yeah, I think that's wishful thinking.



> _Perhaps you can load the videos ahead of time so that there isn't a need to watch while transferring? However, I watch MP4 pushes while transferring all of the time. Are you not setting the MOOV atom to the head of the file?_


You don't need to do that manually, pyTivo does it for you. MP4 won't even transfer without that.

Anyway, apparently the mind server is good to go again. It isn't really all that unreliable; this was an unusual situation.


----------



## lrhorer

txporter said:


> Perhaps you can load the videos ahead of time so that there isn't a need to watch while transferring? However, I watch MP4 pushes while transferring all of the time. Are you not setting the MOOV atom to the head of the file?


It took the statement to mean, "Can't watch immediately without pauses due to the slowdown caused by having to recode the video." One can start watching, but unless one allows some time to pass before starting to watch, one is liable to presented with a pause within seconds of starting the program. Given the processor he has, unless he allows perhaps 25 minutes of buffering prior to watching a 90 minute 1080i show, there will be pauses.


----------



## lrhorer

I moved the "threads=" parameter to the front of the command line and upped the thread value to 5, but it made no appreciable difference to the CPU utilization or the transfer speed. It still hovered right around 70% utilization on both cores and transferred at 12.1 Mbps. My finances are a little stretched right now, so I opted not to move to an 8 core CPU just yet. It would require a new motherboard, and would come in right around $700. Instead, I opted to get a six core CPU for $210 and a water cooler for $125.


----------



## Iluvatar

lrhorer said:


> I moved the "threads=" parameter to the front of the command line and upped the thread value to 5, but it made no appreciable difference to the CPU utilization or the transfer speed. It still hovered right around 70% utilization on both cores and transferred at 12.1 Mbps.  My finances are a little stretched right now, so I opted not to move to an 8 core CPU just yet. It would require a new motherboard, and would come in right around $700. Instead, I opted to get a six core CPU for $210 and a water cooler for $125.


Well technically you would want the threads parameter in both locations. The one in the front is for multi-threaded decoding (if capable) and the typical one on the end is for multi-threaded encoding (if capable). However you still may not see any difference. It depends on the input codec and your HW.

ie:
ffmpeg -threads -input -threads -output


----------



## LeeAnnK

Are we still talking about push not working? I'm just doing simple mpegs, not even that high quality. And still only a few actually work. Order of entry is important so now I have to wait until one completely uploads to the Tivo before pushing the next. Or shall I say trying to push the next. It might take 3-4 tries before it will finally start recording on the Tivo.

For example, I pushed #6 twice to get it going, then waited a bit then sent #5, #4, #3, #2, #1. 
#6, #5, and #1 made it. I cancelled #1 and have tried about 6 times to get #4 to go and still no joy. There is nothing different about any of these files. They are all 10 minute exercise segments made with VideoReDo from the same file. They all play fine, no problem with the files.

I used to be able to reliabily push each one in succession and then walk away and have them all go in the proper order. Sending each one 4-6 times before it goes, waiting for it to record and then doing the same for the next is for the birds. I got so spoiled when it was working!


----------



## lrhorer

Iluvatar said:


> Well technically you would want the threads parameter in both locations. The one in the front is for multi-threaded decoding (if capable) and the typical one on the end is for multi-threaded encoding (if capable). However you still may not see any difference. It depends on the input codec and your HW.
> 
> ie:
> ffmpeg -threads -input -threads -output


Yeah, it doesn't seem to make a difference whether it is at the front, the end, or both. It's still running about 70% CPU utilization on both cores. I can't think of any other bottlenecks at this speed.


----------



## lrhorer

LeeAnnK said:


> Are we still talking about push not working? I'm just doing simple mpegs, not even that high quality. And still only a few actually work. Order of entry is important so now I have to wait until one completely uploads to the Tivo before pushing the next. Or shall I say trying to push the next. It might take 3-4 tries before it will finally start recording on the Tivo.


Yeah I'm not seeing 100% success, either. It's far better than it was, but definitely not 100%.


----------



## lpwcomp

Pushes still seem to be a bit hit or miss, at least for me. Not as bad as it was, but still not working properly every time.


----------



## jtag48

Still more miss than hit for me. Pushing a series (Episode 1,2,3,4,5,etc.) is completely random now. I queue up all episodes in order and Episode 2 and 4 may be the only ones to successfully push for example. Never had that problem before last Friday. One thing I can not figure out is that my odds for a successful push are definitely improved after a computer restart. I would think that stopping pyTiVo and restarting it (via command line or web interface) would have the same effect but it does not, at least for me.


----------



## lrhorer

I suspect that is just a coincidence, a statistical variation.

Pushes are definitely still intermittent, though.


----------



## jtag48

You're most probably right.


----------



## larrs

txporter said:


> It was mainly a question to try to understand why you cannot watch MP4 pushes while they are transferring. I thought maybe you didn't place the MOOV atom at the beginning of the file. I have no issues watching MP4 pushes while they are transferring.


Gotcha- See lrhorer response below. He is just about right- I would need to offer up the pull about a half hour before we can watch it to keep from having pauses during the pull with my current hardware. I happen to have a little set aside for computer upgrades, so I think a new server may be my Christmas present.



lrhorer said:


> It took the statement to mean, "Can't watch immediately without pauses due to the slowdown caused by having to recode the video." One can start watching, but unless one allows some time to pass before starting to watch, one is liable to presented with a pause within seconds of starting the program. Given the processor he has, unless he allows perhaps 25 minutes of buffering prior to watching a 90 minute 1080i show, there will be pauses.


I'd love suggestions on CPU; would a current gen i5 be better, or is the number of cores the ticket (AMD six core), or should I just spring for the i7?


----------



## txporter

larrs said:


> Gotcha- See lrhorer response below. He is just about right- I would need to offer up the pull about a half hour before we can watch it to keep from having pauses during the pull with my current hardware. I happen to have a little set aside for computer upgrades, so I think a new server may be my Christmas present.


Ok, I see what you mean.

Is there any reason that you are not pushing the videos rather than pulling? It seems counterproductive to go through the trouble to transcode everything to H.264/MP4 and then pull the videos back to the Tivos which transcodes back to MPEG2. If the family doesn't like the push interface from the computer, then you could install pyTivo Video Manager that jbernardis developed. It's a pretty slick app that runs in HME. Then you just need to serve the videos rather than transcode. Most any hardware is good for that. Then, of course, you need to deal with all of the pushing headaches that we are seeing lately. Hopefully that will be resolved soon...


----------



## larrs

txporter said:


> Ok, I see what you mean.
> 
> Is there any reason that you are not pushing the videos rather than pulling? It seems counterproductive to go through the trouble to transcode everything to H.264/MP4 and then pull the videos back to the Tivos which transcodes back to MPEG2. If the family doesn't like the push interface from the computer, then you could install pyTivo Video Manager that jbernardis developed. It's a pretty slick app that runs in HME. Then you just need to serve the videos rather than transcode. Most any hardware is good for that. Then, of course, you need to deal with all of the pushing headaches that we are seeing lately. Hopefully that will be resolved soon...


Sorry, I guess you haven't followed my comments in this thread. I was converting everything to h264 MP4 to save space and because they push so fast. I have about 40% of my files converted as of early October. Actually, you helped me settle on using MeGUI for some of my converts in another thread. Also, thanks to lrhorer (mostly) and others, I successfully installed pyTivo and Vidmgr and also added metadata and artwork that everyone really liked, at least in theory.

However, I started getting complaints from the family that they would pick something to watch in vidmgr and it would never start pushing. Of course initially, I would try and it would work, but the complaints came more and more frequently and then started happening for me as well. I reported them in this thread and asked if there might be a setting that was incorrect that might be helping this fail rate. it apparently turned out that I was seeing the current issues that everyone is experiencing earlier than others, or at least was noticing it more.

So, speaking to my family one night, they suggested I go back to whatever format allowed for faster than real time pulls, which they have been used to for a number of years. That is when I started asking questions about getting realtime pulls from h264 MP4 files and is how we got here.

Right now, I have stopped converting my stored files to mp4 and, some of the newer things I have either left as mpeg2 or have converted back to mpeg2 while this issue still seems to be ongoing. I am trying to decide what to do.

Incidentally, I have come across a slick way to convert BD files to mpeg2 @1080p/24 with 640K DD audio and the resulting file is only 10-12G for a 2hr file. My test is close enough to the original that I can barely tell, and no one in my family can at all. So, right now that is an option. But I am still in a holding pattern.


----------



## lrhorer

larrs said:


> I'd love suggestions on CPU; would a current gen i5 be better, or is the number of cores the ticket (AMD six core), or should I just spring for the i7?


For recoding, the more cores the better. The i7 is awfully expensive, and won't perform as well as an 8 core AMD for this purpose. (Gaming is another matter.) What motherboard do you have? If it is AM2+ or AM3 compatible, a Phenom II x 6 should work with it, minimizing cost. I just ordered one for $203 plus shipping along with a water cooler for $145. For that matter, an Athlon 64 x 4 might do the trick. They can be had for about $70. If your case will support it, there are some nice all-in-one coolers for around $80, and I recommend that, as well. The problem with most water coolers is they sport 120mm evaporators (or even two of them), so your case has to have a place to accomodate them. One problem with all-in-one coolers is the tubing may be too short to reach where the radiator needs to be installed.

As I mentioned above, the Athlon 64 x 2 is not up to the task of recoding from 1080i h.264/MP4 to MPEG-II in real time, but it is not all that badly unfit to the task. I'll try a BluRay rip and see how badly that goes, and report back. I'll also let everyone know how the Phenom II x 6 works out.


----------



## larrs

lrhorer said:


> For recoding, the more cores the better. The i7 is awfully expensive, and won't perform as well as an 8 core AMD for this purpose. (Gaming is another matter.) What motherboard do you have? If it is AM2+ or AM3 compatible, a Phenom II x 6 should work with it, minimizing cost. I just ordered one for $203 plus shipping along with a water cooler for $145. For that matter, an Athlon 64 x 4 might do the trick. They can be had for about $70. If your case will support it, there are some nice all-in-one coolers for around $80, and I recommend that, as well. The problem with most water coolers is they sport 120mm evaporators (or even two of them), so your case has to have a place to accomodate them. One problem with all-in-one coolers is the tubing may be too short to reach where the radiator needs to be installed.
> 
> As I mentioned above, the Athlon 64 x 2 is not up to the task of recoding from 1080i h.264/MP4 to MPEG-II in real time, but it is not all that badly unfit to the task. I'll try a BluRay rip and see how badly that goes, and report back. I'll also let everyone know how the Phenom II x 6 works out.


My MB is a socket AM2, so I am not sure what else will drop in. I'll have to look it up- unless you know what it will support. I tend to recall I could go up to a Phenom X4.

I'd like to hear what you come up with.


----------



## lpwcomp

lrhorer said:


> For recoding, the more cores the better.


I'm not sure that is entirely accurate. The following is from a post by radian06 in the sourceforge pyTivo discussion forum:



> As for threads, I believe the ffmpeg max is 16, but due to internal ffmpeg issues most of the transcoding you'd do for pyTivo isn't really helped by setting it any higher than 2 or 4. In most cases, it barely makes a difference.


----------



## lrhorer

It depends on the version of ffmpeg, I believe. Certainly on the machine I use for recoding, all six cores run out at more than 95% when recoding from MPEG-II to h.264, and the coding time dropped from double digits to single digits when I went from an Athlon 64 x 2 to a Phenom II x 6 on that machine. We'll see what happens on the server. The CPU and cooler should be here on Monday or Turesday.

Note I have no intention of switching permanently from vidmgr to the NPL. Not only does vidmgr have a lot of terrific features not found in the NPL, buth when it is working, native .mp4 transfers are still a lot faster than any transfer recoded to MPEG-II, no matter how powerful the CPU. I intend to use vidmgr to find the content, and make an attempt to transfer with it. If the transfer doesn't start within a minute or so, I will resort to the NPL. At that, I might only consider it for 1080i material. We'll see what sort of coding performance there is on 1080p material.


----------



## larrs

lpwcomp said:


> I'm not sure that is entirely accurate. The following is from a post by radian06 in the sourceforge pyTivo discussion forum:


Based on this I'll wait to see what lrhorer comes up with as to recoding speeds. If there is negligible difference between 2 and 4, I would guess the only assisting factor would be clock speed and RAM speed, correct?


----------



## larrs

lrhorer said:


> It depends on the version of ffmpeg, I believe. Certainly on the machine I use for recoding, all six cores run out at more than 95% when recoding from MPEG-II to h.264, and the coding time dropped from double digits to single digits when I went from an Athlon 64 x 2 to a Phenom II x 6 on that machine. We'll see what happens on the server. The CPU and cooler should be here on Monday or Turesday.
> 
> Note I have no intention of switching permanently from vidmgr to the NPL. Not only does vidmgr have a lot of terrific features not found in the NPL, buth when it is working, native .mp4 transfers are still a lot faster than any transfer recoded to MPEG-II, no matter how powerful the CPU. I intend to use vidmgr to find the content, and make an attempt to transfer with it. If the transfer doesn't start within a minute or so, I will resort to the NPL. At that, I might only consider it for 1080i material. We'll see what sort of coding performance there is on 1080p material.


I agree that I would not want to switch, but if I could get the women in my life (wife and two girls) to be able to pull when they need to, I would be a happy camper.


----------



## lpwcomp

lrhorer said:


> It depends on the version of ffmpeg, I believe. Certainly on the machine I use for recoding, all six cores run out at more than 95% when recoding from MPEG-II to h.264, and the coding time dropped from double digits to single digits when I went from an Athlon 64 x 2 to a Phenom II x 6 on that machine. We'll see what happens on the server. The CPU and cooler should be here on Monday or Turesday.


Since we're talking about on-the-fly recodes done by pyTivo, which doesn't work very well with anything but the radian06 build of ffmpeg, I don't believe that data from your recodes is relevant.



lrhorer said:


> INote I have no intention of switching permanently from vidmgr to the NPL. Not only does vidmgr have a lot of terrific features not found in the NPL, buth when it is working, native .mp4 transfers are still a lot faster than any transfer recoded to MPEG-II, no matter how powerful the CPU. I intend to use vidmgr to find the content, and make an attempt to transfer with it. If the transfer doesn't start within a minute or so, I will resort to the NPL. At that, I might only consider it for 1080i material. We'll see what sort of coding performance there is on 1080p material.


Please don't turn this into another discussion about the relative merits of vidmgr/push vs NPL/pull.


----------



## wmcbrine

lpwcomp said:


> Since we're talking about on-the-fly recodes done by pyTivo, which doesn't work very well with anything but the radian06 build of ffmpeg


What?


----------



## lrhorer

I wasn't thinking too clearly during my last post (I have a lot on my mind, right now). I don't have to wait for the new CPU to come in. I have a six core Phenom II in this PC. All I had to do was shut down pyTivo on the server and run it here. Duh!



lpwcomp said:


> Since we're talking about on-the-fly recodes done by pyTivo, which doesn't work very well with anything but the radian06 build of ffmpeg


I can dispute that right now. No offense to radian06, but the build of ffmpeg included with Debian "Squeeze" AMD64 runs circles around the radian06 build even though the radian06 build is running on a six core Phenom while the Debian build is running on a two core Athlon. It's true the Athlon has a little bit faster clock (3.2 vs 2.8 Ghz), but not nearly enough to account for a factor of almost 2.



lpwcomp said:


> I don't believe that data from your recodes is relevant.


We'll see one way or another when the new CPU comes in.



lpwcomp said:


> I'm not sure that is entirely accurate. The following is from a post by radian06 in the sourceforge pyTivo discussion forum:
> 
> 
> 
> As for threads, I believe the ffmpeg max is 16, but due to internal ffmpeg issues most of the transcoding you'd do for pyTivo isn't really helped by setting it any higher than 2 or 4.
Click to expand...

Definitely not true, at least not today. Radian06 created his last build back in 2010. I believe the mainstream code has been updated since then. I created a 5 minute 1080i h.264/MP4 file. As a baseline, I used the same content to produce a 5 minute .mpg file. I then transferred the file multiple times with different "-threads" settings. From my testing:

No transcoding - 1:23 42.68Mbps

2.8 GHz Phenom II x 6 with the radian06 build
threads=2 - 18:10 4.24Mbps
threads=6 - 11:24 6.76Mbps
threads=8 - 10:44 7.19Mbps
threads-9 - 12:16 6.28Mbps
threads=12 - 13:49 5.57Mbps

Clearly the optimum setting is "-threads 8", not 2 or 4.

3.2 GHz Athlon 64 x 2 running Debian Linux
threads=3 - 6:06 12.62Mbps
threads=5 - 5:53 13.6Mbps
threads=6 - 5:45 13.37Mbps
threads=8 - 5:40 13.57Mbps

The optimum here is also "-threads 8", although the difference is nowhere nearly as great.



> In most cases, it barely makes a difference.


As one can see above, the differential for a 2 core processor is not as great as on a six core processor. That makes sense if you think about it. Once the "-threads" setting exceeds the number of cores by a significant amount, increasing the number of threads isn't going to have as great an effect. I verified the effect on a 3.2 GHz Athlon 64 x 2.


----------



## lrhorer

larrs said:


> Based on this I'll wait to see what lrhorer comes up with as to recoding speeds. If there is negligible difference between 2 and 4, I would guess the only assisting factor would be clock speed and RAM speed, correct?


It's a bit more complex than that. The trick is keeping all the cores running flat out. That can be a real challenge for a programmer, and if the programmer hasn't made his code amenable to saturating all the cores, it's going to be very difficult for the user to take advantage of extra cores.

Clock speed makes a very significant difference for recoding. In the absence of any other bottleneck, the recoding speed is going to be almost directly proportional to the clock speed. The thing is, clock speeds don't vary all that much in a processor class. What's more, one pays a rather large premium for a fairly small increase in processor clock speed. A 3.6 GHz processor can run twice the cost of a 2.8 GHz version of the same processor.

For some processes RAM speed can make a very significant difference, but I suspect for recoding video, it is not going to have that large an impact.


----------



## lpwcomp

wmcbrine said:


> What?


Well, the windows install instructions say to use it and every time I have tried to use a newer version, I've had problems.


----------



## larrs

OK, I could use some assitance in where to set the number of cores. Is it in a pyTivo configuration file or somewhere else. I'd just like to see what that might do as it appears my current MB is not compatible with a quad core Phenom.


----------



## HerronScott

larrs said:


> Incidentally, I have come across a slick way to convert BD files to mpeg2 @1080p/24 with 640K DD audio and the resulting file is only 10-12G for a 2hr file. My test is close enough to the original that I can barely tell, and no one in my family can at all. So, right now that is an option. But I am still in a holding pattern.


Will you be sharing? 

Scott


----------



## Iluvatar

larrs said:


> OK, I could use some assitance in where to set the number of cores. Is it in a pyTivo configuration file or somewhere else. I'd just like to see what that might do as it appears my current MB is not compatible with a quad core Phenom.


Yes, it is in pyTivo server settings. Look at your webadmin page.


----------



## lrhorer

larrs said:


> OK, I could use some assitance in where to set the number of cores. Is it in a pyTivo configuration file or somewhere else. I'd just like to see what that might do as it appears my current MB is not compatible with a quad core Phenom.


I think you mean the number of threads. There is no setting for the number of cores, per se. Even the "-threads" parameter does not exactly translate to the number of threads spawned by ffmpeg. The "-threads" string is one of the command line options of ffmpeg. Increasing the value of the option increases the number of threads ffmpeg spawns. This is specified as part of the ffmpeg_pram parameter in pyTivo.conf. The value of this string is inserted into the ffmpeg command line wherever the value %(ffmpeg_pram)s is found in the pyTivo ffmpeg command template. By default, it is at the end of the template string, but that template string can be modified by specifying a custom template with the parameter ffmpeg_tmpl. The default template is



Code:


%(video_codec)s %(video_fps)s %(video_br)s %(max_video_br)s %(buff_size)s %(aspect_ratio)s %(audio_br)s %(audio_fr)s %(audio_ch)s %(audio_codec)s %(ffmpeg_pram)s %(format)s

, which puts the value of ffmpeg_pram right at the end of the ffmpeg command line.

According to Iluvatar in this thread, depending on the build of ffmpeg and the features of the specific coder and decoder being used, the parameter should actually be inserted twice into the command line, once before the decoder call and once before the coder call. YMMV, of course. Assuming this to be accurate for your build, and assuming the value of both "-threads" parameters should be the same, one would then put the following lines into the pyTivo.conf file:



Code:


ffmpeg_tmpl=%(ffmpeg_pram)s %(video_codec)s %(video_fps)s %(video_br)s %(max_video_br)s %(buff_size)s %(aspect_ratio)s %(audio_br)s %(audio_fr)s %(audio_ch)s %(audio_codec)s %(ffmpeg_pram)s %(format)s
ffmpeg_pram=-threads 8

in order to have both the coder and decoder spawn 8 threads. I found this to be optimum. I suggest you try various values to see what might be optimum on your system. The value 8 was optimum on all three test beds I tried, both Athlon 64 x 2 and Phenom II x 6.

There are a couple of potential flies in the ointment. The first is the optimum number of threads for the coder may not be the same as for the decoder. The other thing is that although the coder should always be the same, the decoder will vary from file type to file type, and so may its optimum "-threads" setting. If all of your files (that need to be transcoded) are the same type, the latter will not be an issue.


----------



## Iluvatar

it's not entirely necessary to use the ffmpeg_pram setting. pyTivo provides an easier option just for threads. Just insert an integer 0-16 in the threads configuration box or in pyTivo.conf "ffmpeg_threads = X"

Depending on whose pyTivo fork you are using it will insert the threads setting at the back or both front and back. The threads setting in the front generally does not provide any additional performance unless the decode codec is optimized for multi-threaded use.


----------



## lpwcomp

Anyone interested in adding your voice here vis-a-vis the Push problem? BTW, after numerous failures, I took down pyTiVo and restarted it and the push worked the first time.


----------



## Tico

My Pytivo stopped doing any transcoding/pushing.

I cannot figure out why... Any suggestions?

Here is what I see:



Code:


INFO:pyTivo:Last modified: Wed Jul 11 00:43:42 2012
INFO:pyTivo:Python: 2.7.3
INFO:pyTivo:System: Windows-7-6.1.7601-SP1
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: ToTivo
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:Bedroom Premiere
INFO:pyTivo.beacon:Living Room
INFO:pyTivo.beacon:Kitchen
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:10.0.0.8 [21/Oct/2012 20:31:52] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:10.0.0.14 [21/Oct/2012 20:31:52] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:10.0.0.13 [21/Oct/2012 20:31:53] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo.video.video:[21/Oct/2012 20:32:07] Queued "C:\Users\AZwldcats\Desktop\totivo\!RnE - 2012.10.21 17.57.31 - Disney Movies Cinderella 1950 dvdrip xvid\1950 - Cinderella.avi" for Push to Bedro
om Premiere
INFO:pyTivo:127.0.0.1 [21/Oct/2012 20:32:07] "POST /TiVoConnect HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [21/Oct/2012 20:32:12] "GET /TiVoConnect?Command=QueryContainer&Container=ToTivo/%21RnE%20-%202012.10.21%2017.57.31%20-%20Disney%20Movies%20Cinderella%201950%20dvdrip%20xvid&Form
at=text/html HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [21/Oct/2012 20:32:12] "GET /main.css HTTP/1.1" 200 -


----------



## newsposter

glad to see everyone has push issues..not just me..wish they could fix this soon


----------



## kool2zero

lpwcomp said:


> Anyone interested in adding your voice here vis-a-vis the Push problem? BTW, after numerous failures, I took down pyTiVo and restarted it and the push worked the first time.


added my two cents in the tivo forums...


----------



## wmcbrine

lpwcomp said:


> Anyone interested in adding your voice here vis-a-vis the Push problem?


If you encounter it in the course of using TiVo-provided software, then by all means, do. But please don't bring up pyTivo to them.



> _BTW, after numerous failures, I took down pyTiVo and restarted it and the push worked the first time._


Pure coincidence, almost certainly.


----------



## lpwcomp

wmcbrine said:


> If you encounter it in the course of using TiVo-provided software, then by all means, do. But please don't bring up pyTivo to them.


OK. I haven't so far and will avoid it in the future. I just said "multiple apps, OS's and Tivo models. Since I don't, never have, and can't use TD+, I guess I will have to abandon my attempt to get TiVo to address the problem.



wmcbrine said:


> Pure coincidence, almost certainly.


The strange thing is that their solution seems to be to reinstall the app.


----------



## kool2zero

Was TD+ updated recently and maybe the requests sent to the mind server have a different syntax?


----------



## lpwcomp

kool2zero said:


> Was TD+ updated recently and maybe the requests sent to the mind server have a different syntax?


Don't think so. No recommendation to install the latest version. Just to de-install, cleanup, re-install, force the TiVo to try to connect by phone, power cycle. _*even redoing guided setup*_. IOW, a whole bunch of non-nonsensical "troubleshooting" steps.

I am definitely ging to have to refrain from further posts over there. Otherwise I would be tempted to say something on the order of "No, I haven't tried any of those recommended actions. Nor have I tried standing on my head on a crossroad during a full moon at midnight".

As far as not mentioning pyTivo, unfortunately another user had already posted a link to this very thread before I even got involved. However, the first two posts in the thread were by users running TD+, including the one who posted the link.


----------



## wmcbrine

lpwcomp said:


> The strange thing is that their solution seems to be to reinstall the app.


That's because you're talking to script-reading robots who don't know anything, the same as if you called in.


----------



## lpwcomp

wmcbrine said:


> Originally Posted by lpwcomp
> BTW, after numerous failures, I took down pyTiVo and restarted it and the push worked the first time.
> 
> 
> 
> Pure coincidence, almost certainly.
Click to expand...

Maybe so, but it happened again. My auto push queued but failed to start as did two manual pushes. Took down pyTivo, restarted it and did another manual push and it is currently transferring.


----------



## newsposter

wmcbrine said:


> If you encounter it in the course of using TiVo-provided software, then by all means, do. But please don't bring up pyTivo to them.
> 
> .


i'd never call in because i'm too lazy but why not bring it up?


----------



## larrs

newsposter said:


> i'd never call in because i'm too lazy but why not bring it up?


Do you really need to ask that?

Tivo has it's own software, available for purchase and you want to ask them why a non-Tivo program is not working with their system? Really?

I did call to ask about pushes as I also own TDT+ (which has the same issues, BTW) and they took down the info to pass along. We'll see if I get a call back.


----------



## newsposter

i thought i had setup their program when i first started all this? i thought it was needed in order to connect..but that was a while ago so the memory may be wrong.


----------



## larrs

Iluvatar said:


> Yes, it is in pyTivo server settings. Look at your webadmin page.





Iluvatar said:


> it's not entirely necessary to use the ffmpeg_pram setting. pyTivo provides an easier option just for threads. Just insert an integer 0-16 in the threads configuration box or in pyTivo.conf "ffmpeg_threads = X"
> 
> Depending on whose pyTivo fork you are using it will insert the threads setting at the back or both front and back. The threads setting in the front generally does not provide any additional performance unless the decode codec is optimized for multi-threaded use.


Actually, I had to add that line to the pyTivo.conf file and then it showed up on the web admin page under "user defined settings". Until then, there was no entry available in the web admin page for ffmpeg threads. However, now that it is there it will be easy to edit.


----------



## newsposter

is there any way to cut down the CPU usage with pytivo?


----------



## larrs

newsposter said:


> i thought i had setup their program when i first started all this? i thought it was needed in order to connect..but that was a while ago so the memory may be wrong.


You may have installed Tivo Desktop but that is unrelated to pyTivo
TiVo Desktop Plus is not free and is the only version that does pushes to my knowledge. It is suffering from the same push issues so if you have that you can certainly call and complain .


----------



## larrs

Wmcbrine
I am using your distribution of pyTivo that I installed last year. Is there any update made to the version of ffmpeg used in your distribution? I noticed there was a major release at the main ffmpeg site and wondered if that has been incorporated into your pyTivo fork.


----------



## wmcbrine

I don't distribute ffmpeg with my fork.


----------



## CuriousMark

wmcbrine said:


> That's because you're talking to script-reading robots who don't know anything, the same as if you called in.


This is a far better place to try to work complex issues. They focus on volume handling of simpler questions. That, they do pretty well.

If it is a mind server problem, I suspect the engineers at TiVo will pick up on the issue and fix it quietly in the background.

If it doesn't clear up on its own in a week or so then I suggest you get the first line support people to elevate your problem to a supervisor in hopes the reports get pushed back up to the TiVo server engineers.

By the way, the TiVo support CSRs may not know what you mean when you say "mind server" to them. So an explanation that it is a TiVo service problem might be helpful.


----------



## lrhorer

newsposter said:


> is there any way to cut down the CPU usage with pytivo?


Unless you are transcoding, the CPU usage from pyTivo isn't enough to spit on. If you are transcoding, you might be able to lower the priority of the process. The ffmpeg process should inherit the same priotity as its parent (it does in Linux, anyway - I'm not certain about Windows). This probably won't cause it to use any less CPU time if the CPU is otherwise idle, but it will cause the thread scheduler to allocate time to the ffmpeg threads after other threads are processed, reducing the amount of time the process gets during busy periods.


----------



## newsposter

lrhorer said:


> Unless you are transcoding, the CPU usage from pyTivo isn't enough to spit on. If you are transcoding, you might be able to lower the priority of the process. The ffmpeg process should inherit the same priotity as its parent (it does in Linux, anyway - I'm not certain about Windows). This probably won't cause it to use any less CPU time if the CPU is otherwise idle, but it will cause the thread scheduler to allocate time to the ffmpeg threads after other threads are processed, reducing the amount of time the process gets during busy periods.


i am transcoding and my CPU goes up to 100 % and stays pretty much pegged.....i did try lowering the priorty but got nowhere


----------



## lrhorer

That's quite interesting. Most of us have problems getting our CPU cores to max out at over 75%, or in some cases, even 30%. What sort of files are you transferring?

OTOH, note that reducing the priority will not have any effect on CPU utilization, so you should not expect it to do so. What it will effect is how much CPU time is available for other applications. Decreasing the priority of the ffmpeg threads does not prevent them from using any time when the CPU is otherwise idle. It merely puts other threads ahead of the ffmpeg threads.

That said, it is not recommended to run user applications on a server. Why are you concerned about the utilization of the CPU with ffmpeg threads? Most of us want to maximize the CPU utilixation of the ffmpeg threads for maximum transcoding speed.


----------



## wmcbrine

newsposter said:


> i am transcoding and my CPU goes up to 100 % and stays pretty much pegged.....i did try lowering the priorty but got nowhere


Your CPU is there to be used. The only thing you'd achieve by reducing the CPU usage would be to increase the transcoding time. As long as the priority is lowered, it shouldn't interfere with anything else, but it's still going to use all available cycles, as it should.


----------



## Iluvatar

larrs said:


> Actually, I had to add that line to the pyTivo.conf file and then it showed up on the web admin page under "user defined settings". Until then, there was no entry available in the web admin page for ffmpeg threads. However, now that it is there it will be easy to edit.


I'm fairly certain there has been a "threads" setting in pyTivo Server settings using the webAdmin for a very long time. I could be wrong though. Maybe it depends on the fork you are running.

edit....my mistake I was incorrect. I thought wmcbrine had it in his fork but apparently not. I do have it in mine though, which will also insert the threads to the input and output positions.


----------



## Iluvatar

larrs said:


> Wmcbrine
> I am using your distribution of pyTivo that I installed last year. Is there any update made to the version of ffmpeg used in your distribution? I noticed there was a major release at the main ffmpeg site and wondered if that has been incorporated into your pyTivo fork.


What OS do you run? I provide prebuilt binaries for OS X. There are also many other 3rd party builds on the net. Just make sure that it was built with the options that you need. Most should be ok.


----------



## lrhorer

Oh, now this is interesting... and rather surprising. I transferred a 1080p h.264/MP4 movie via pull, and it transferred in a little better than real time. That is quite unexpected, since the very same content, saved as 1080i, transferred in a bit more than real time. Just to be sure, I transferred the entire movie, and sure enough, the 2:20 movie transferred in 2:06.

A friend is coming over in a few minutes to help me lug the server over to the bench and install the new CPU and cooler. We'll see how it performs in the next day or so.

Edit: Everything is in and working.

Using the 0:05:00 test clip transcoding from 1080i h.264 to 1080i MPEG-II, the file transferred in 0:03:42 with threads set to 8. The first two cores ranged between 50% and 80% utilization, and the other 4 ran around 20%.

The 1080p clip transferred in 0:02:43.

I'm happy. 

Bumping the threads from 8 to 16 had little or no effect.


----------



## newsposter

wmcbrine said:


> Your CPU is there to be used. The only thing you'd achieve by reducing the CPU usage would be to increase the transcoding time. As long as the priority is lowered, it shouldn't interfere with anything else, but it's still going to use all available cycles, as it should.


i greatly dislike the herky jerkiness of the machine when it's transferring..i dont mind longer transfer times if it would make the machine not lock up and run so hot i have burns on my leg...sometimes the machine locks up so bad i just kill the transfer so i can use it.


----------



## newsposter

lrhorer said:


> That's quite interesting. Most of us have problems getting our CPU cores to max out at over 75%, or in some cases, even 30%. What sort of files are you transferring?
> 
> .


avi or mkv for the most part


----------



## larrs

Iluvatar said:


> What OS do you run? I provide prebuilt binaries for OS X. There are also many other 3rd party builds on the net. Just make sure that it was built with the options that you need. Most should be ok.


My server is running Vista. However, I cannot be sure which fork (sure thought it was wmcbrine's) I am using or whether I just followed some instructions as to where to go get ffmpeg. Whith that said, I downloaded and installed the newest ffmpeg into the bin folder in pyTivo and it seems to work perfectly. I also set my threads to 8 just to see what happened and my wife reported that it was working great, but I am not sure what she transferred (not sure if it was an h264 or mpeg2 file) as I am out of town and did all that remotely. When I get back in town, I will play with it and see where I am at this time.

It also appears I could upgrade my Athlon X64 dual core to a Phenom quad core with the bios I am running, but I am not sure it is worth the trouble or not. We'll see what happens the next few weeks with pushes and go from there.


----------



## lrhorer

larrs said:


> It also appears I could upgrade my Athlon X64 dual core to a Phenom quad core with the bios I am running, but I am not sure it is worth the trouble or not. We'll see what happens the next few weeks with pushes and go from there.


Well, it's not much toruble, and for a Phenom II x 4, not much cost, either. They can be had for under $100. Depending on what cooling you have curently, you might want to upgrade the cooler, too, but even so you should be able to get by for under $140.


----------



## dlfl

lpwcomp said:


> Maybe so, but it happened again. My auto push queued but failed to start as did two manual pushes. Took down pyTivo, restarted it and did another manual push and it is currently transferring.


Any news on push failures? I had two failures tonight and used a pull instead. The push failures never light the blue light and don't appear in the To Do List (at least not after waiting 40 minutes). The pyTivo web interface responds just as it does for successful pushes.


----------



## lpwcomp

dlfl said:


> Any news on push failures? I had two failures tonight and used a pull instead. The push failures never light the blue light and don't appear in the To Do List (at least not after waiting 40 minutes). The pyTivo web interface responds just as it does for successful pushes.


Well, it's supposedly being looked at by someone at TiVo, but I wouldn't hold my breath for a resolution. The reason the little blue light never comes on is that, while pyTivo is successfully queues up the request at the TiVo mind server, the request is never making it to the TiVo. There is nothing pyTivo can do about it since it has no way of knowing.

Since this problem also exists for TD+ users, TiVo should be looking at fixing it but whether they care enough to devote much in the way of resources to tracking down and resolving it is unknown.


----------



## brettatk

Wow, that will really suck if there isn't a resolution. About 90% of my push transfers are failing and half the time I can't even pull it over. I love my current setup, but might have to start looking at other alternatives.


----------



## jcthorne

Has any of our illustrious programmers had a look at the new Tivo SDK that was released to see if there are any other methods of moving video to the Tivo directly?


----------



## moyekj

jcthorne said:


> Has any of our illustrious programmers had a look at the new Tivo SDK that was released to see if there are any other methods of moving video to the Tivo directly?


 I've played with it a little and got a simple example with AC3 code working with video. Currently the SDK basically only provides a way of running Flash on TiVos and doesn't give any direct access to TiVo functionality (for example they haven't made public the MINDRPC protocol). Plus AFAICT you can only run Flash up to 720p resolution and video decoding is limited to what Flash players can decode (flv & mp4 with H.264 & AAC audio, no AC3). To top it off unless you release the code to TiVo and have them approve it there's no way for users to run your code (unless they are signed up as a developer as well). I have some questions in developer forum about how to handle up to 1080p video + AC3 like Netflix has but I have a feeling the SDK used to develop the Netflix app has a lot more than has been made public thus far. i.e. Doesn't look too enticing to me so far based on what is currently released and documented. The old HME interface seems better and more flexible from what I can tell so far. But I think there haven't been too many people looking at it yet so I may be missing something and there may be a lot more coming from TiVo. Some more info on this in TiVo Developer Program? thread.


----------



## dlfl

dlfl said:


> Any news on push failures? I had two failures tonight and used a pull instead. The push failures never light the blue light and don't appear in the To Do List (at least not after waiting 40 minutes). The pyTivo web interface responds just as it does for successful pushes.





lpwcomp said:


> Well, it's supposedly being looked at by someone at TiVo, but I wouldn't hold my breath for a resolution. The reason the little blue light never comes on is that, while pyTivo is successfully queues up the request at the TiVo mind server, the request is never making it to the TiVo. There is nothing pyTivo can do about it since it has no way of knowing.
> 
> Since this problem also exists for TD+ users, TiVo should be looking at fixing it but whether they care enough to devote much in the way of resources to tracking down and resolving it is unknown.





brettatk said:


> Wow, that will really suck if there isn't a resolution. About 90% of my push transfers are failing and half the time I can't even pull it over. I love my current setup, but might have to start looking at other alternatives.


My push failures continued today and I also found that Amazon Instant Video downloads queued on Amazon's website didn't download. Finally I restarted my TiVo HD and forced a connection. When it hadn't finished after three hours I called TiVo support. The only thing the rep came up with was he noticed my account was not set to "Opt in" and he toggled it on. After that a forced connection did succeed although it took something like an hour. But the pushes and Amazon downloads still didn't work.

So I tried something I remembered from way back: In the preferences section of my TiVo account I unchecked downloads and saved. After a minute or so I re-checked it and saved. After 20 minutes or so both Amazon downloads and pyTivo pushes worked.

Maybe it's just coincidence but it's easy to do. Personally I don't think the "opt in" setting has anything to do with these problems but who knows?

It was frustrating that the rep had nothing to say about possible TiVo server outages and I didn't want to mention pyTiVo to him, since that program is not approved by TiVo. He claimed that PC-to-TiVo transfers using Desktop Plus do NOT depend on any server external to your LAN (is that true?). But certainly pyTiVo pushes DO use mind.tivo.com.


----------



## lrhorer

brettatk said:


> Wow, that will really suck if there isn't a resolution. About 90% of my push transfers are failing and half the time I can't even pull it over. I love my current setup, but might have to start looking at other alternatives.


If you are getting pull failures, then you have some other problem going on. Pulls from the PC to the TiVo are not mediated by any external device.


----------



## lrhorer

dlfl said:


> My push failures continued today and I also found that Amazon Instant Video downloads queued on Amazon's website didn't download. Finally I restarted my TiVo HD and forced a connection. When it hadn't finished after three hours I called TiVo support. The only thing the rep came up with was he noticed my account was not set to "Opt in" and he toggled it on. After that a forced connection did succeed although it took something like an hour. But the pushes and Amazon downloads still didn't work.


Yeah, but did he escalate the issue or just drop it and tell you to call back?



dlfl said:


> So I tried something I remembered from way back: In the preferences section of my TiVo account I unchecked downloads and saved. After a minute or so I re-checked it and saved. After 20 minutes or so both Amazon downloads and pyTivo pushes worked.


With 100% success? I'll have to give it a shot. I was seeing about 50% this morning.



dlfl said:


> He claimed that PC-to-TiVo transfers using Desktop Plus do NOT depend on any server external to your LAN (is that true?). But certainly pyTiVo pushes DO use mind.tivo.com.


He was half right, I suppose. Pulls don't. Pushes do.


----------



## dlfl

lrhorer said:


> Yeah, but did he escalate the issue or just drop it and tell you to call back?


Based on his belief that setting Opt In on my account might be the fix, he told me to wait 24 hrs then call back.


lrhorer said:


> With 100% success? I'll have to give it a shot. I was seeing about 50% this morning.


For 24 hrs my success rate was zero. Just the fact that a push worked at all was a major victory. Actually it was two pushes and two Amazon downloads. One of the pushes had been queued 8 hours earlier, prior to anything done to attempt a fix!


lrhorer said:


> He was half right, I suppose. Pulls don't. Pushes do.


That's what I thought.

Could be intermittent outages of mind.tivo.com but that wouldn't explain the stall on connecting for guide updates would it? Or is mind involved in that too?


----------



## CuriousMark

dlfl said:


> It was frustrating that the rep had nothing to say about possible TiVo server outages and I didn't want to mention pyTiVo to him, since that program is not approved by TiVo. He claimed that PC-to-TiVo transfers using Desktop Plus do NOT depend on any server external to your LAN (is that true?). But certainly pyTiVo pushes DO use mind.tivo.com.


I agree with lrhorer that even TiVo Desktop uses mind. If you enable logging in TiVo Desktop you will see all the mind calls when you ask for web videos to be downloaded. The CSR on the phone, that works for a TiVo subcontract call center, didn't know any better.

I have referred to the procedure you used as the TiVo website settings two step. The version I tell people to use is change the setting, wait for up to three hours for the change to propagate to the server farm, force a download, verify the change on the DVR, turn the setting back on, wait for propagation, force a connection and verify the change on the DVR.

My understanding is that the delay is needed because website changes are swept to the server farm on a schedule and if you don't wait long enough it might not get there. (three hours might be excessive, but is what it supposedly used to be long ago) If you do this with the DVR names, it will force all the certificates to be recreated from scratch and downloaded to the various DVRs. I am not so sure it will help with mind issues, but am very interested to hear your results.


----------



## dlfl

Does "verify the change on your DVR" mean look at the TivoToGo parameter in System Information, either i,i,i or a,a,a ?

One theory would be the relatively rapid toggling of the download setting that I used (with saves between) forces the info to be "swept" at the next opportunity In that case two toggle-and-wait sequences aren't needed.

Seems pretty lame if the checkbox setting shown on the account web page can be out of sync with the actual setting, after all these years.


----------



## brettatk

dlfl said:


> So I tried something I remembered from way back: In the preferences section of my TiVo account I unchecked downloads and saved. After a minute or so I re-checked it and saved. After 20 minutes or so both Amazon downloads and pyTivo pushes worked.
> 
> Maybe it's just coincidence but it's easy to do. Personally I don't think the "opt in" setting has anything to do with these problems but who knows?


Heck, I don't have a lot of faith in it but I'll give it a shot. I only had one push from last night and it failed luckily I have SABnzbd emailing me everytime it finishes downloading a file so I can keep track of what isn't being pushed.



lrhorer said:


> If you are getting pull failures, then you have some other problem going on. Pulls from the PC to the TiVo are not mediated by any external device.


Thats good to know. Maybe it was the files I was trying to pull. I'll play with it some more tonight.


----------



## lpwcomp

Both of the pushes I did last night worked the first time, including an auto-push. One was queued at 20:22 and started at 20:23. The other was queued at 23:05 and started at 23:06.


----------



## jcthorne

moyekj, thanks for the info. Very interesting. I'll follow the other thread.

It seems the mind server is acting closer to normal this morning....at least for a few pushes that had been refusing to go for the last several days. I was 3 for 3 this morning so things are looking up for the momenet.


----------



## CuriousMark

dlfl said:


> Does "verify the change on your DVR" mean look at the TivoToGo parameter in System Information, either i,i,i or a,a,a ?
> 
> One theory would be the relatively rapid toggling of the download setting that I used (with saves between) forces the info to be "swept" at the next opportunity In that case two toggle-and-wait sequences aren't needed.
> 
> Seems pretty lame if the checkbox setting shown on the account web page can be out of sync with the actual setting, after all these years.


Yes, i,i,i vs a,a,a or the name if that is what you are changing. I always tell people to change them all together, but that is simply because I don't know any better.

I got this trick from TJ years ago, I am fairly confident you are right and the long wait should not be needed, I just don't know for sure so I go with what I know worked. At worst the delays are just an annoyance and a user can certainly skip that and only try it if the quicker technique doesn't work the first time.


----------



## lrhorer

dlfl said:


> Could be intermittent outages of mind.tivo.com but that wouldn't explain the stall on connecting for guide updates would it? Or is mind involved in that too?


Hmm. Well, I didn't think so, but now you mention it, I really don't know. I've never checked. Indeed, there is no way to know for certain. Even if the IP addresses are the same, it could still be a completely different server actually handling the transaction, and even if they are different, it could be the same server (or server farm).


----------



## lrhorer

I just queued 8 videos for push. All 8 of them transferred, in order.


----------



## jcthorne

lrhorer said:


> Hmm. Well, I didn't think so, but now you mention it, I really don't know. I've never checked. Indeed, there is no way to know for certain. Even if the IP addresses are the same, it could still be a completely different server actually handling the transaction, and even if they are different, it could be the same server (or server farm).


I can tell you that every time one of my machines is in a beta program where it gets its software and updates from a different server, it also has to address a different mind server. I have always suspected the server the tivo talks to regularly for updates etc WAS the mind server. With perhaps guide data different but who knows.


----------



## dlfl

My pushes worked all day yesterday -- haven't done any today yet.


----------



## newsposter

whats your normal time to transcode mkv to the tivo

a 1.4 gig file is taking me 1 to 2 hours and i think thats a bit much...

dell laptop with 2.2 gig chip t6670 and 4 gigs of ram

good news is push is working again!


----------



## larrs

Just as info, after upgrading to the latest ffmpeg, my pulls are much faster. 1080/24p h264/mp4 files are transferring right at real time. I tested the same pull with the old version I had and the newest release and the prior release I had was a little better than 1/2 real time. That is a big improvement. I also tested it with other 1080p files with the same result.

As for 1080i h264/mp4 video, they are currently transferring at about 2/3 real time and it was much worse before (less than 1/2 real time). We can still live with that. Of course we also have streambaby as well.

Also, I tried threads settings at 2, 4, and 8. Four is better than two on my system (Athlon x64 dual core 3Ghz, 4G RAM), but 8 is no better at all.

So, even though it appears the mind server issues may be fixed, I am happy to know I can keep the conversion to h264 going either way.

So the new 1.0 ffmpeg release (big deal that they have reached 1.x) seems to be great with pyTivo.

http://ffmpeg.org

And, btw, I tracked down and I am using wmcbrine's fork. As info.


----------



## lrhorer

8 for 8 again tonight.


----------



## lrhorer

newsposter said:


> whats your normal time to transcode mkv to the tivo


That depends on a lot of factors, but when I rip a BluRay disc to a file, the utility I use to rip the disk produces a .mkv file. Recoding it to h.264/MP4 for delivery to the TiVos takes about 2 x the length of the movie on this six core, 2.8 GHz system.



newsposter said:


> a 1.4 gig file is taking me 1 to 2 hours and i think thats a bit much...
> 
> dell laptop with 2.2 gig chip t6670 and 4 gigs of ram


Not really. Depending on the actual nature of the content, that sounds about right.


----------



## lrhorer

larrs said:


> Just as info, after upgrading to the latest ffmpeg, my pulls are much faster. 1080/24p h264/mp4 files are transferring right at real time.
> ...
> As for 1080i h264/mp4 video, they are currently transferring at about 2/3 real time and it was much worse before (less than 1/2 real time). We can still live with that. Of course we also have streambaby as well.
> 
> Also, I tried threads settings at 2, 4, and 8. Four is better than two on my system (Athlon x64 dual core 3Ghz, 4G RAM), but 8 is no better at all.


That parallels my findings. I think the upgrade to 4 cores would do you well, although if good enough is good enough...


----------



## cherry ghost

larrs said:


> Just as info, after upgrading to the latest ffmpeg, my pulls are much faster. 1080/24p h264/mp4 files are transferring right at real time. I tested the same pull with the old version I had and the newest release and the prior release I had was a little better than 1/2 real time. That is a big improvement. I also tested it with other 1080p files with the same result.
> 
> As for 1080i h264/mp4 video, they are currently transferring at about 2/3 real time and it was much worse before (less than 1/2 real time). We can still live with that. Of course we also have streambaby as well.
> 
> Also, I tried threads settings at 2, 4, and 8. Four is better than two on my system (Athlon x64 dual core 3Ghz, 4G RAM), but 8 is no better at all.
> 
> So, even though it appears the mind server issues may be fixed, I am happy to know I can keep the conversion to h264 going either way.
> 
> So the new 1.0 ffmpeg release (big deal that they have reached 1.x) seems to be great with pyTivo.
> 
> http://ffmpeg.org
> 
> And, btw, I tracked down and I am using wmcbrine's fork. As info.


are you getting any type of error with the new ffmpeg?

I get



> Please use -b:a or -b:v , -b is ambiguous


transfers still work, just curious what that would be and if it can be fixed


----------



## Iluvatar

cherry ghost said:


> are you getting any type of error with the new ffmpeg?
> 
> I get
> 
> transfers still work, just curious what that would be and if it can be fixed


Some commands that pyTivo uses with FFmpeg are deprecated. They still work (for now) but produce a warning. No ill effect except as the message says the command is ambiguous.


----------



## cherry ghost

Iluvatar said:


> Some commands that pyTivo uses with FFmpeg are deprecated. They still work (for now) but produce a warning. No ill effect except as the message says the command is ambiguous.


thanks


----------



## newsposter

i had one ep of a certain show transfer in less than 1/2 hour over the weekend...they are all about the same size and file type..why would one that that short time while others 2 hours?


----------



## Iluvatar

...would need to know the type of codecs the video/audio are using for both to compare. If you were using push and the second file happened to be using h264 video or another compatible type the file may have been remuxed instead of transcoded. That's just one option..could have been a number of things.


----------



## newsposter

i dont know enough about this to even look for the data you mentioned


----------



## wkearney99

If you open the video files in a program like VLC (a video player) it has options to let you see the various technical details like codecs used in the file.

This has nothing to do with using pyTivo for transfers, but tread carefully if you ever fiddle around with codecs; especially under Windows. Using VLC won't harm anything. But the temptation to use various online codec packs of 'repair' tools often leads to seriously screwed up playback of media on your PC. Just a word of caution.


----------



## lpwcomp

I have a request for testing. Any pyTivo users who use pulls to a Premiere and have the latest Premiere s/w update, if you have a series or other set of recordings you wish to test grouping on, try using a seriesId of the form SH9nnnnnnn where the nnnnnnn is at least 0001101. As an example of one that appears to work for me:


Code:


seriesTitle : The Legend of Neil
title : The Legend of Neil
seriesId : SH90001101
isEpisode : true
isEpisodic : true
displayMajorNumber : 9000
callsign : ONLINE

Having been fooled too many times in the past, I'm not gonna guarantee anything, particularly before I get independent confirmation.

BTW, at least one thing appears to have been fixed. It now once again displays the group name in the SDUI for these user created series.

Edit: At least two people have confirmed that this works. Note: This is only on the Premiere. It does not work on earlier models.


----------



## BeeBee59

I'm having problems with my tivo's seeing my PC....I tried everything and setting ports....I have a wireless router Arris DG360 which is new and the problem started...any suggestions?


----------



## lpwcomp

BeeBee59 said:


> I'm having problems with my tivo's seeing my PC....I tried everything and setting ports....I have a wireless router Arris DG360 which is new and the problem started...any suggestions?


Please post your pyTivo.conf file, after removing any sensitive data (user names, passwords, TSNs, etc)


----------



## ohmyjosh

I know this issue relates to FFMPEG. I switched to a new version of ffmpeg and it vastly sped up my pulls from the Tivo, but now when I try to play older video files I often get this error. The problem is, when I switched back to the "working" ffmpeg, I was getting the error with different files. 

I never got this error before and I've been using pytivo for a couple of years.

I have Windows 7, 64 bit. What version of FFMPEG should I be using for the best compatibility? 

Thanks!


----------



## lew

A few months ago I had major problems with push. I discovered sometimes my username (email address) was case sensitive. I changed my user name to all caps and the problem went away. I don't know if there is (was?) and issue with one of tivo's servers. I discovered I was unable to log into my tivo account unless I used upper case, that motivated me to change my pytivo configuration.

I know username isn't suppose to be case sensitive but give it a try.



lpwcomp said:


> Pushes still seem to be a bit hit or miss, at least for me. Not as bad as it was, but still not working properly every time.





jtag48 said:


> Still more miss than hit for me. Pushing a series (Episode 1,2,3,4,5,etc.) is completely random now. I queue up all episodes in order and Episode 2 and 4 may be the only ones to successfully push for example. Never had that problem before last Friday. One thing I can not figure out is that my odds for a successful push are definitely improved after a computer restart. I would think that stopping pyTiVo and restarting it (via command line or web interface) would have the same effect but it does not, at least for me.





lrhorer said:


> Yeah I'm not seeing 100% success, either. It's far better than it was, but definitely not 100%.


----------



## newsposter

i have a new laptop and am not having fun...

edited for the 10th time: 

i can get the list of shows from the tivo showing on the laptop but i cannot see the 2 videos i have in my laptop folder

now it says bad ffmpeg folder but thats not possible because it just worked without that error

edit again: now i stopped ffmpeg error but i cannot see the videos in the tivo folder on the laptop yet

tivocode not found when i tired pulling from tivo to the laptop but the title of the show showed up on the laptop...yet the laptop cant see anything to push from it...the shows already on the laptop that is...i do now see the show i moved from tivo to the laptop

and i keep having the ffmpeg error..it's the 20 mb file..is that right

edit: i looked at mymovies on tivo..the file that i moved from tivo to the laptop shows up there...however all the other files in that same directory dont show up under mymovies.why?


----------



## lrhorer

newsposter said:


> i can get the list of shows from the tivo showing on the laptop but i cannot see the 2 videos i have in my laptop folder


Post your pyTivo.conf file, removing all sensitive info.

Post the log output from pyTivo (use code tags, please).



newsposter said:


> now it says bad ffmpeg folder but thats not possible because it just worked without that error


What operating system are you running? Where is ffmpeg (or ffmpeg.exe)?



newsposter said:


> tivocode not found when i tired pulling from tivo to the laptop but the title of the show showed up on the laptop...yet the laptop cant see anything to push from it...the shows already on the laptop that is...i do now see the show i moved from tivo to the laptop


Take a breath. You're babbling.

Please be more clear about exactly what you are doing and what the exact results of each step are, on which machine.



newsposter said:


> and i keep having the ffmpeg error..it's the 20 mb file..is that right


That sounds a little large. None of my builds are more than 11M, but then the actual size depends in part on which encoders and decoders are compiled in.



newsposter said:


> edit: i looked at mymovies on tivo..the file that i moved from tivo to the laptop shows up there...however all the other files in that same directory dont show up under mymovies.why?


Again, you are not being quite clear about where you are looking and what you are seeing.

I take it you have a directory named mymovies defined as a share in pyTivo? I also take it the folder shows up on the TiVo? When you go to the TiVo's NPL and drill into the mymovies folder, you only see one video file? Meanwhile on the PC there are several video files? Are you sure they are valid video files? What type of video files are they? Have you tried playing them on the PC using some video player such as VLC or WMP?


----------



## newsposter

[Server]
port = 9032
ffmpeg = C:\Python27\New Folder
debug = true
tdcat = C:\Python27\New Folder
tivodecode = C:\Python27\New Folder
tivo_password = 
tivo_username = 
togo_path = E:\tivo shows
tivo_mak = 
tivo_mind = mind.tivo.com:8181
beacon = 192.168.1.110

[MyMovies]
type = video
path = E:\tivo shows

[_tivo_SD]

[_tivo_HD]



Code:


INFO:pyTivo:Last modified: Wed Nov 28 19:34:56 2012
INFO:pyTivo:Python: 2.7.3
INFO:pyTivo:System: Windows-post2008Server-6.2.9200
INFO:pyTivo.beacon:Announcing shares...
ERROR:pyTivo.config:Bad ffmpeg path: C:\Python27\New Folder
WARNING:pyTivo.config:ffmpeg not found
INFO:pyTivo.beacon:Registering: MyMovies
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:DVR-xxx
INFO:pyTivo:pyTivo is ready.
ERROR:pyTivo.config:Bad ffmpeg path: C:\Python27\New Folder
WARNING:pyTivo.config:ffmpeg not found
DEBUG:pyTivo.video.transcode:FALSE, file not supported E:\tivo shows\show.avi
ERROR:pyTivo.config:Bad ffmpeg path: C:\Python27\New Folder
WARNING:pyTivo.config:ffmpeg not found
ERROR:pyTivo.config:Bad ffmpeg path: C:\Python27\New Folder
WARNING:pyTivo.config:ffmpeg not found
DEBUG:pyTivo.video.transcode:FALSE, file not supported E:\tivo shows\show.wmv

ERROR:pyTivo.config:Bad ffmpeg path: C:\Python27\New Folder
WARNING:pyTivo.config:ffmpeg not found
DEBUG:pyTivo.video.transcode:FALSE, file not supported E:\tivo shows\show.avi
INFO:pyTivo:192.168.1.110 [29/Nov/2012 07:30:22] "GET /TiVoConnect?Command=Query
Container&Container=MyMovies&ItemCount=0&SerialNum=xxx HTTP/1.1" 200
 -
INFO:pyTivo:192.168.1.110 [29/Nov/2012 07:30:22] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -

win 8 and i've copied ffmpeg to every directory ..pytivo..the new folder..wcmbrine..i admit i'm clueless about how all this works  but it's definitely in the directory mentioned above

the tivo shows no shows that are in my show directly on the laptop. the laptop does show all the shows on the tivo. all the shows are playable on the computer. as a test i used the laptop to pull from the tivo. it transferred into the directory onto my laptop. if i go to try to push that file from the laptop to the tivo, the same file wont go back. also, no other files in that same directory show up in the screen on IE. if i go to mymovies on tivo, it only shows that one show i moved over


----------



## jcthorne

ffmpeg = C:\Python27\New Folder\ffmpeg.exe


----------



## newsposter

ill do that as soon as i get home tonight..is that really causing all those issues? 

id be thrill if thats all it is

one other silly question, i did not download the free program from tivos site..last time i did that before i knew what its limitations were...do i need that at all? i'm assuming not but i do want to make sure

thanks.


----------



## jcthorne

May not be all but its a big part. Without ffmpeg, pytivo cannot even tell what a file is nor present it to the tivo. Fix this, get rid of the ffmpeg not found error and lets see what is still needing fixing.

There is no need for Tivo Desktop to be installed. You will need tivodecode to work with Tivo to PC transfers and .tivo files.


----------



## wmcbrine

Without FFmpeg, pyTivo will still serve .TiVo, .mpg, and .vob files to the TiVo (as well as music and pictures). But not .avi or .wmv.


----------



## newsposter

ty for the help, cant wait to get home tonight

and i think someone could be making money putting together a master pytivo installer for dummies..including python (most people would want to pick the most recent version of it from the wiki page but i recall reading somewhere you cant use over 3.0 or something so just did 2.7.3)

i know what these threads are intending to do helping people but if i had this all in one big file/directory online instead of going to multiple sites and trying to figure it all out, i'd be more than happy to pay for it (plus instructions even a 2 year old could understand)

the ffmpeg site is pretty overwhelming for us novices and i just picked the top 64 bit one and just hope that works.


----------



## lrhorer

jcthorne said:


> ffmpeg = C:\Python27\New Folder\ffmpeg.exe





newsposter said:


> ill do that as soon as i get home tonight..is that really causing all those issues?


At least some of them. Note the same is true for tdcat and tivodecode. You need the fullly qualified file name, not just the folder.



newsposter said:


> one other silly question


It is not a silly question.



newsposter said:


> i did not download the free program from tivos site..last time i did that before i knew what its limitations were...do i need that at all? i'm assuming not but i do want to make sure


I presume you mean TiVoDesktop? No, you don't need TDT to handle what you are trying to do at the moment. Tivodecode can strip the encryption and convert the .TiVo files to .mpg, provided you are not trying to do TS downloads from a Premiere class machine.


----------



## newsposter

it works so far tyvm

SUPER fast amazing too!!!


----------



## newsposter

i have windows 8:

on the desktop i have the pytivo shortcut (pointing to pytivo.py) and it runs fine when i double click it...if i drag it to the taskbar and i click it, it just shows python running and a command line

if i right click the taskbar it says python command line and on the top of the menu there it says pytivo.py

on the desktop when i right click on the pytivo.py shortcut, there is no option to pin to taskbar, just the standard menu items..copy paste etc

my guess is since it's not a typical 'pinnable' program this is my issue? 

i really would like it in my taskbar because it's a very heavily used program 

or alternatively if there's a way to start it every time i run win 8 i'd be open to that as well

thx


----------



## gonzotek

Create a windows batch file (plaintext file with .bat or .cmd file extension, eg. pytivo.cmd). In the plain text file, add the path to python and pytivo.py, similar to this:


Code:


c:\python27\python.exe c:\pytivo\pytivo.py

 This file is seen as executable by windows (and thus can be pinned directly). It executes python with pytivo.py as its parameter. Be sure to use the directories that exist on your system, they may not necessarily be the same as my example. And use quotes around each path if there are spaces in the path name (e.g. "C:\tivo programs\pytivo\pytivo.py").

Someone else can tackle the startup option. I'm not sure what the options are for startup apps in Win8.


newsposter said:


> i have windows 8:
> 
> on the desktop i have the pytivo shortcut (pointing to pytivo.py) and it runs fine when i double click it...if i drag it to the taskbar and i click it, it just shows python running and a command line
> 
> if i right click the taskbar it says python command line and on the top of the menu there it says pytivo.py
> 
> on the desktop when i right click on the pytivo.py shortcut, there is no option to pin to taskbar, just the standard menu items..copy paste etc
> 
> my guess is since it's not a typical 'pinnable' program this is my issue?
> 
> i really would like it in my taskbar because it's a very heavily used program
> 
> or alternatively if there's a way to start it every time i run win 8 i'd be open to that as well
> 
> thx


----------



## innocentfreak

Anyone else seeing failed pushes again? None of my pushes are going through the last two days.


----------



## lrhorer

In only tried a couple this weekend, but they went through. I just queued up a show for push, and it started copying in a matter of a few seconds.


----------



## innocentfreak

lrhorer said:


> In only tried a couple this weekend, but they went through. I just queued up a show for push, and it started copying in a matter of a few seconds.


Ok thanks. Still not working here so I will have to play with it and see if something else is going on.


----------



## moyekj

innocentfreak said:


> Ok thanks. Still not working here so I will have to play with it and see if something else is going on.


 Check your tivo_mind setting which can be different depending on if your target unit is currently on staging or production server.


----------



## lpwcomp

Automated (via kmttg) push to remote TiVo worked fine tonight. Took awhile. 1/2 hour show started at 20:21:04 and was done at 21:38:19.


----------



## innocentfreak

moyekj said:


> Check your tivo_mind setting which can be different depending on if your target unit is currently on staging or production server.


Yeah everything looks correct. I need to make sure some of my settings didn't change. I pulled the latest pytivo update tonight and one of my shares disappeared and I had to add it again under settings so I wonder if something else is set incorrectly or reverted.

I am pulling shows fine so no idea.


----------



## lpwcomp

innocentfreak said:


> Yeah everything looks correct. I need to make sure some of my settings didn't change. I pulled the latest pytivo update tonight and one of my shares disappeared and I had to add it again under settings so I wonder if something else is set incorrectly or reverted.
> 
> I am pulling shows fine so no idea.


How exactly are the pushes failing?


----------



## innocentfreak

lpwcomp said:


> How exactly are the pushes failing?


Fail is probably not the best term, but they just never show up. It is just like the issue we had before where the TiVo never even started downloading. I skimmed the logs and didn't see anything that jumped out at me.


----------



## jcthorne

I am using JukeBox to stream mp3 files to the tivo via pytivo. Don't really know if this is a 'new' problem with the fall update or what but the streamed audio does not play via the HDMI connection. Tivo recorded shows and live tv are fine, projector on or off does not matter. Audio streamed from pytivo does not make it to the reciever. Devices connected via component audio cables get sound fine.

Any idea what is going on and why pytivo cannot stream audio to the HDMI connection?


----------



## lpwcomp

innocentfreak said:


> Fail is probably not the best term, but they just never show up. It is just like the issue we had before where the TiVo never even started downloading. I skimmed the logs and didn't see anything that jumped out at me.


So, pyTivo is contacting mind.tivo to queue the push but the TiVo never requests the transfer?


----------



## innocentfreak

lpwcomp said:


> So, pyTivo is contacting mind.tivo to queue the push but the TiVo never requests the transfer?


As far as I can tell, I don't see anything jumping out of the log that is pointing to a failure to connect to mind.

It looks like a push is going through now so whatever it was it looks like it fixed itself.


----------



## lpwcomp

innocentfreak said:


> As far as I can tell, I don't see anything jumping out of the log that is pointing to a failure to connect to mind.


Are you getting the "Queued" message? How are you initiating the push - pytivo browser interface, kmttg, vidmgr, or something else?

Edit: missed the part about it fixing itself.


----------



## innocentfreak

lpwcomp said:


> Are you getting the "Queued" message? How are you initiating the push - pytivo browser interface, kmttg, vidmgr, or something else?
> 
> Edit: missed the part about it fixing itself.


I am using the web browser interface.

The only thing I am seeing is a bunch of Cache hits, but I think I have always gotten those. There also looks like there might be some issue where it is failing to create a temp file.

Leverage went through, but Homeland fails even though it previously went through to another TiVo.



PHP:


2012-12-11 18:59:38,625 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:38,627 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:38,651 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:38,653 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:38,654 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec h264 not compatible, \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:38,655 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:38,658 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:38,661 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E07 - The Clearing.mkv
2012-12-11 18:59:38,663 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E07 - The Clearing.mkv
2012-12-11 18:59:38,690 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E07 - The Clearing.mkv
2012-12-11 18:59:38,693 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E07 - The Clearing.mkv
2012-12-11 18:59:38,693 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec h264 not compatible, \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E07 - The Clearing.mkv
2012-12-11 18:59:38,694 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E07 - The Clearing.mkv
2012-12-11 18:59:38,697 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E07 - The Clearing.mkv
2012-12-11 18:59:38,704 DEBUG pyTivo.video.video: mobileagent: 98 useragent: mozilla/5.0 (ipad; cpu os 6_0_1 like mac os x) applewebkit/536.26 (khtml, like gecko) version/6.0 mobile/10a523 safari/8536.25
2012-12-11 18:59:38,706 INFO  pyTivo: 192.168.1.4 [11/Dec/2012 18:59:38] "GET /TiVoConnect?Command=QueryContainer&Container=My%20Videos/Homeland/Season%20%202&Format=text/html HTTP/1.1" 200 -
2012-12-11 18:59:38,778 INFO  pyTivo: 192.168.1.4 [11/Dec/2012 18:59:38] "GET /main_mob.css HTTP/1.1" 200 -
2012-12-11 18:59:38,809 INFO  pyTivo: 192.168.1.4 [11/Dec/2012 18:59:38] "GET /iphonearrow.png HTTP/1.1" 200 -
2012-12-11 18:59:38,852 INFO  pyTivo: 192.168.1.4 [11/Dec/2012 18:59:38] "GET /iPhoneToolbar.png HTTP/1.1" 200 -
2012-12-11 18:59:44,000 INFO  pyTivo.video.video: [11/Dec/2012 18:59:44] Queued "\\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv" for Push to Bedroom XL
2012-12-11 18:59:44,002 INFO  pyTivo: 192.168.1.4 [11/Dec/2012 18:59:44] "POST /TiVoConnect HTTP/1.1" 200 -
2012-12-11 18:59:49,003 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:49,005 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:49,005 DEBUG pyTivo.video.transcode: TRANSCODE=YES, container matroska not compatible, \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:49,006 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:49,006 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec h264 not compatible, \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:49,009 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:49,015 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:49,016 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:49,019 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:49,019 DEBUG pyTivo.video.transcode: tsn: TiVoServiceNumber
2012-12-11 18:59:49,019 DEBUG pyTivo.video.transcode: aspect169: True
2012-12-11 18:59:49,019 DEBUG pyTivo.video.transcode: optres: False
2012-12-11 18:59:49,019 DEBUG pyTivo.video.transcode: File=\\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv vCodec=h264 vWidth=1280 vHeight=718 vFps=23.98 millisecs=2951870 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
2012-12-11 18:59:49,022 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:49,023 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:49,026 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:49,028 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:49,028 DEBUG pyTivo.video.transcode: audio_lang: None
2012-12-11 18:59:49,028 DEBUG pyTivo.video.transcode: selected audio stream: 0.1
2012-12-11 18:59:49,029 DEBUG pyTivo.video.transcode: transcoding to tivo model 748 using ffmpeg command:
2012-12-11 18:59:49,029 DEBUG pyTivo.video.transcode: C:\Program Files\pyTivo\bin\ffmpeg.exe -i \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv -vcodec copy -b 16384k -maxrate 30000k -bufsize 4096k -ab 448k -ar 48000 -acodec copy -copyts -map 0.0 -map 0.1 -threads 6 -f mp4 \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv.pyTivo-temp
2012-12-11 18:59:49,108 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:49,109 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:49,121 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:49,124 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:49,124 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec h264 not compatible, \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:49,125 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:49,128 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:49,130 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E07 - The Clearing.mkv
2012-12-11 18:59:49,131 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E07 - The Clearing.mkv
2012-12-11 18:59:49,144 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E07 - The Clearing.mkv
2012-12-11 18:59:49,145 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E07 - The Clearing.mkv
2012-12-11 18:59:49,145 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec h264 not compatible, \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E07 - The Clearing.mkv
2012-12-11 18:59:49,148 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E07 - The Clearing.mkv
2012-12-11 18:59:49,150 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E07 - The Clearing.mkv
2012-12-11 18:59:49,155 DEBUG pyTivo.video.video: mobileagent: 98 useragent: mozilla/5.0 (ipad; cpu os 6_0_1 like mac os x) applewebkit/536.26 (khtml, like gecko) version/6.0 mobile/10a523 safari/8536.25
2012-12-11 18:59:49,157 INFO  pyTivo: 192.168.1.4 [11/Dec/2012 18:59:49] "GET /TiVoConnect?Command=QueryContainer&Container=My%20Videos/Homeland/Season%20%202&Format=text/html HTTP/1.1" 200 -
2012-12-11 18:59:49,219 INFO  pyTivo: 192.168.1.4 [11/Dec/2012 18:59:49] "GET /main_mob.css HTTP/1.1" 200 -
2012-12-11 18:59:49,234 INFO  pyTivo: 192.168.1.4 [11/Dec/2012 18:59:49] "GET /iphonearrow.png HTTP/1.1" 200 -
2012-12-11 18:59:49,269 INFO  pyTivo: 192.168.1.4 [11/Dec/2012 18:59:49] "GET /iPhoneToolbar.png HTTP/1.1" 200 -
2012-12-11 18:59:49,723 DEBUG pyTivo.video.transcode: remuxing \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv to \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv.pyTivo-temp
2012-12-11 18:59:49,928 DEBUG pyTivo.video.transcode: FFmpeg error, attempting to transcode audio as workaround
2012-12-11 18:59:49,928 DEBUG pyTivo.video.transcode: transcoding to tivo model 748 using ffmpeg command:
2012-12-11 18:59:49,928 DEBUG pyTivo.video.transcode: C:\Program Files\pyTivo\bin\ffmpeg.exe -y -i \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv -vcodec copy -b 16384k -maxrate 30000k -bufsize 4096k -ab 448k -ar 48000 -acodec ac3 -map 0.0 -map 0.1 -threads 6 -f mp4 \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv.pyTivo-temp
2012-12-11 18:59:50,022 DEBUG pyTivo.video.transcode: FFmpeg error, temp file has been removed: \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv.pyTivo-temp
2012-12-11 18:59:50,023 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:50,036 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:50,038 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:50,039 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec h264 not compatible, \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:50,040 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:50,042 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 18:59:51,052 DEBUG pyTivo.mind: __login
{'cams_security_domain': 'tivocom', 'cams_login_config': 'http', 'cams_cb_password': 'password', 'cams_original_url': '/mind/mind7?type=infoGet', 'cams_cb_username': '[email protected]'}
2012-12-11 18:59:53,826 DEBUG pyTivo.mind: pcBodySearch
{}

<pcBodyList><isBottom>true</isBottom><isTop>true</isTop><pcBody><bucketNumber>-1</bucketNumber><levelOfDetail>low</levelOfDetail><name>pyTivo</name><pcBodyId>tivo:pc.1002289361</pcBodyId><type>pcBody</type></pcBody></pcBodyList>g
2012-12-11 18:59:54,802 DEBUG pyTivo.mind: bodyOfferModify&bodyId=tsn:TiVoServiceNumber
{'subtitle': '2x06 A Gettysburg Address', 'description': "Dana is shocked by her visit to the hospital. Faber's Tom Walker questions get him tangled up with the CIA. Brody agrees to help stop an attack on America, but his loyalty is questioned when Gettysburg once again becomes a battleground.", 'pcBodyId': 'tivo:pc.1002289361', 'publishDate': '2012-12-11 23:5953', 'partnerId': 'tivo:pt.3187', 'duration': 2951, 'size': 6395171120L, 'title': 'Homeland', 'url': 'http://192.168.1.11:9032/My%20Videos/Homeland/Season%20%202/Homeland%20-%20S02E06%20-%20A%20Gettysburg%20Address.mkv?Format=video/mpeg', 'bodyId': 'tsn:TiVoServiceNumber', 'source': 'EP01466171', 'state': 'complete', 'encodingType': 'mpeg2ProgramStream', 'tvRating': 'ma'}

<bodyOffer><bodyId>tsn:TiVoServiceNumber</bodyId><bodyOfferId>tivo:bo.15000141</bodyOfferId><createDate>2012-12-12 00:00:33</createDate><description>Dana is shocked by her visit to the hospital. Faber's Tom Walker questions get him tangled up with the CIA. Brody agrees to help stop an attack on America, but his loyalty is questioned when Gettysburg once again becomes a battleground.</description><duration>2951</duration><encodingType>mpeg2ProgramStream</encodingType><levelOfDetail>high</levelOfDetail><offerId>tivo:of.bs.15000141</offerId><partnerId>tivo:pt.3187</partnerId><pcBodyId>tivo:pc.1002289361</pcBodyId><publishDate>2012-12-16 02:13:00</publishDate><size>6395171120</size>EP01466171<state>complete</state><subtitle>2x06 A Gettysburg Address</subtitle>Homeland<tvRating>ma</tvRating><updateDate>2012-12-12 00:00:33</updateDate><url>http://192.168.1.11:9032/My%20Videos/Homeland/Season%20%202/Homeland%20-%20S02E06%20-%20A%20Gettysburg%20Address.mkv?Format=video/mpeg</url></bodyOffer>g
2012-12-11 18:59:55,806 DEBUG pyTivo.mind: subscribe&bodyId=tsn:TiVoServiceNumber
{'uiType': 'cds', 'idSetSource': {'contentId': 'tivo:ct.bs.15000141', 'type': 'singleOfferSource', 'offerId': 'tivo:of.bs.15000141'}, 'bodyId': 'tsn:TiVoServiceNumber', 'title': 'pcBodySubscription'}

<subscribeResult><subscription><autoRecord>true</autoRecord><bodyGeneratesCandidates>false</bodyGeneratesCandidates><bodyId>tsn:TiVoServiceNumber</bodyId><hdOnly>false</hdOnly><idSetSource><contentId>tivo:ct.bs.15000141</contentId><offerId>tivo:of.bs.15000141</offerId><type>singleOfferSource</type></idSetSource><isAdult>false</isAdult><isForKids>false</isForKids><levelOfDetail>high</levelOfDetail><showStatus>rerunsAllowed</showStatus><subscriptionId>tivo:sb.15000161</subscriptionId>pcBodySubscription<type>subscription</type><uiType>cds</uiType></subscription></subscribeResult>g
2012-12-11 19:12:37,375 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:12:37] "GET / HTTP/1.1" 200 -
2012-12-11 19:12:37,431 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:12:37] "GET /main.css HTTP/1.1" 200 -
2012-12-11 19:12:37,470 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:12:37] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:12:39,058 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:12:39] "GET /TiVoConnect?Command=Settings&Container=Settings HTTP/1.1" 200 -
2012-12-11 19:12:39,075 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:12:39] "GET /main.css HTTP/1.1" 200 -
2012-12-11 19:12:39,115 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:12:39] "GET /plugins/settings/settings.css HTTP/1.1" 200 -
2012-12-11 19:12:39,119 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:12:39] "GET /plugins/settings/settings.js HTTP/1.1" 200 -
2012-12-11 19:12:39,188 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:12:39] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:12:39,193 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:12:39] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:14:00,170 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:14:00] "GET / HTTP/1.1" 200 -
2012-12-11 19:14:00,190 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:14:00] "GET /main.css HTTP/1.1" 200 -
2012-12-11 19:14:00,213 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:14:00] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:14:00,216 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:14:00] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:22:53,404 INFO  pyTivo: Last modified: Mon Dec 10 18:43:17 2012
2012-12-11 19:22:53,404 INFO  pyTivo: Python: 2.6.6
2012-12-11 19:22:53,407 INFO  pyTivo: System: Windows-7-6.1.7601-SP1
2012-12-11 19:22:53,408 INFO  pyTivo.beacon: Announcing shares...
2012-12-11 19:22:54,040 INFO  pyTivo.beacon: Registering: MMA
2012-12-11 19:22:54,848 INFO  pyTivo.beacon: Registering: My Videos
2012-12-11 19:22:55,648 INFO  pyTivo.beacon: Registering: Synology Video
2012-12-11 19:22:56,448 INFO  pyTivo.beacon: Registering: TempVideos
2012-12-11 19:22:57,289 INFO  pyTivo.beacon: Scanning for TiVos...
2012-12-11 19:22:57,993 INFO  pyTivo.beacon: Bedroom XL
2012-12-11 19:22:58,229 INFO  pyTivo.beacon: Living Room XL
2012-12-11 19:22:58,437 INFO  pyTivo.beacon: Elite
2012-12-11 19:22:59,441 INFO  pyTivo: pyTivo is ready.
2012-12-11 19:22:59,523 INFO  pyTivo: 192.168.1.18 [11/Dec/2012 19:22:59] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
2012-12-11 19:22:59,523 INFO  pyTivo: 192.168.1.19 [11/Dec/2012 19:22:59] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
2012-12-11 19:22:59,523 INFO  pyTivo: 192.168.1.12 [11/Dec/2012 19:22:59] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
2012-12-11 19:22:59,724 INFO  pyTivo: 192.168.1.21 [11/Dec/2012 19:22:59] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
2012-12-11 19:23:00,529 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:00] "GET /TiVoConnect?Command=Settings&Container=Settings HTTP/1.1" 200 -
2012-12-11 19:23:00,558 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:00] "GET /main.css HTTP/1.1" 200 -
2012-12-11 19:23:00,559 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:00] "GET /plugins/settings/settings.css HTTP/1.1" 200 -
2012-12-11 19:23:00,559 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:00] "GET /plugins/settings/settings.js HTTP/1.1" 200 -
2012-12-11 19:23:00,631 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:00] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:23:00,635 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:00] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:23:10,453 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:10] "GET / HTTP/1.1" 200 -
2012-12-11 19:23:10,467 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:10] "GET /main.css HTTP/1.1" 200 -
2012-12-11 19:23:10,492 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:10] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:23:10,493 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:10] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:23:12,986 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:12] "GET /TiVoConnect?Command=Settings&Container=Settings HTTP/1.1" 200 -
2012-12-11 19:23:13,005 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:13] "GET /main.css HTTP/1.1" 200 -
2012-12-11 19:23:13,006 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:13] "GET /plugins/settings/settings.css HTTP/1.1" 200 -
2012-12-11 19:23:13,006 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:13] "GET /plugins/settings/settings.js HTTP/1.1" 200 -
2012-12-11 19:23:13,072 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:13] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:23:13,075 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:13] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:23:21,865 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:21] "POST /TiVoConnect HTTP/1.1" 200 -
2012-12-11 19:23:21,905 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:21] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:23:21,908 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:21] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:23:26,923 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:26] "GET /TiVoConnect?Command=Settings&Container=Settings HTTP/1.1" 200 -
2012-12-11 19:23:26,940 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:26] "GET /main.css HTTP/1.1" 200 -
2012-12-11 19:23:26,941 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:26] "GET /plugins/settings/settings.css HTTP/1.1" 200 -
2012-12-11 19:23:26,941 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:26] "GET /plugins/settings/settings.js HTTP/1.1" 200 -
2012-12-11 19:23:27,013 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:27] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:23:27,015 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:27] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:23:42,721 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:42] "GET / HTTP/1.1" 200 -
2012-12-11 19:23:42,736 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:42] "GET /main.css HTTP/1.1" 200 -
2012-12-11 19:23:42,767 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:42] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:23:42,769 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:23:42] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:24:02,457 DEBUG pyTivo.video.video: mobileagent: -1 useragent: mozilla/5.0 (windows nt 6.1; wow64; rv:17.0) gecko/20100101 firefox/17.0
2012-12-11 19:24:02,585 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:24:02] "GET /TiVoConnect?Command=QueryContainer&Container=My%20Videos&Format=text/html HTTP/1.1" 200 -
2012-12-11 19:24:02,586 ERROR pyTivo: Exception during request from ('127.0.0.1', 63617)
Traceback (most recent call last):
  File "C:\Python26\lib\SocketServer.py", line 560, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python26\lib\SocketServer.py", line 322, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\Program Files\pyTivo\httpserver.py", line 85, in __init__
    client_address, server)
  File "C:\Python26\lib\SocketServer.py", line 617, in __init__
    self.handle()
  File "C:\Python26\lib\BaseHTTPServer.py", line 329, in handle
    self.handle_one_request()
  File "C:\Python26\lib\BaseHTTPServer.py", line 323, in handle_one_request
    method()
  File "C:\Program Files\pyTivo\httpserver.py", line 111, in do_GET
    self.handle_query(query, tsn)
  File "C:\Program Files\pyTivo\httpserver.py", line 164, in handle_query
    if self.do_command(query, command, basepath, tsn):
  File "C:\Program Files\pyTivo\httpserver.py", line 143, in do_command
    method(self, query)
  File "C:\Program Files\pyTivo\plugins\video\video.py", line 503, in QueryContainer
    handler.send_html(str(t))
  File "C:\Program Files\pyTivo\httpserver.py", line 271, in send_html
    self.send_fixed(page, 'text/html; charset=utf-8', code, refresh)
  File "C:\Program Files\pyTivo\httpserver.py", line 265, in send_fixed
    self.wfile.write(page)
  File "C:\Python26\lib\socket.py", line 318, in write
    self.flush()
  File "C:\Python26\lib\socket.py", line 297, in flush
    self._sock.sendall(buffer(data, write_offset, buffer_size))
error: [Errno 10053] An established connection was aborted by the software in your host machine
2012-12-11 19:24:15,184 DEBUG pyTivo.video.video: mobileagent: -1 useragent: mozilla/5.0 (windows nt 6.1; wow64; rv:17.0) gecko/20100101 firefox/17.0
2012-12-11 19:24:15,270 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:24:15] "GET /TiVoConnect?Command=QueryContainer&Container=My%20Videos&Format=text/html HTTP/1.1" 200 -
2012-12-11 19:24:15,290 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:24:15] "GET /main.css HTTP/1.1" 200 -
2012-12-11 19:24:15,299 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:24:15] "GET /folder.png HTTP/1.1" 200 -
2012-12-11 19:24:15,848 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:24:15] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:24:26,601 DEBUG pyTivo.video.video: mobileagent: -1 useragent: mozilla/5.0 (windows nt 6.1; wow64; rv:17.0) gecko/20100101 firefox/17.0
2012-12-11 19:24:26,602 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:24:26] "GET /TiVoConnect?Command=QueryContainer&Container=My%20Videos/Homeland&Format=text/html HTTP/1.1" 200 -
2012-12-11 19:24:26,625 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:24:26] "GET /main.css HTTP/1.1" 200 -
2012-12-11 19:24:26,627 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:24:26] "GET /back.png HTTP/1.1" 200 -
2012-12-11 19:24:26,642 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:24:26] "GET /folder.png HTTP/1.1" 200 -
2012-12-11 19:24:26,667 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:24:26] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:24:26,668 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:24:26] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:24:45,240 DEBUG pyTivo.video.video: mobileagent: -1 useragent: mozilla/5.0 (windows nt 6.1; wow64; rv:17.0) gecko/20100101 firefox/17.0
2012-12-11 19:24:45,242 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:24:45] "GET /TiVoConnect?Command=QueryContainer&Container=My%20Videos/Homeland/Season%20%202&Format=text/html HTTP/1.1" 200 -
2012-12-11 19:24:45,263 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:24:45] "GET /main.css HTTP/1.1" 200 -
2012-12-11 19:24:45,269 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:24:45] "GET /back.png HTTP/1.1" 200 -
2012-12-11 19:24:45,276 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:24:45] "GET /folder.png HTTP/1.1" 200 -
2012-12-11 19:24:45,302 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:24:45] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:24:45,312 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:24:45] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:25:00,684 INFO  pyTivo.video.video: [11/Dec/2012 19:25:00] Queued "\\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv" for Push to Bedroom XL
2012-12-11 19:25:00,684 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:25:00] "POST /TiVoConnect HTTP/1.1" 200 -
2012-12-11 19:25:00,719 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:25:00] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:25:00,720 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:25:00] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:25:05,709 DEBUG pyTivo.video.transcode: starting ffmpeg, will wait 10 seconds for it to complete
2012-12-11 19:25:05,808 DEBUG pyTivo.video.video: mobileagent: -1 useragent: mozilla/5.0 (windows nt 6.1; wow64; rv:17.0) gecko/20100101 firefox/17.0
2012-12-11 19:25:05,809 DEBUG pyTivo.video.transcode: ffmpeg output=FFmpeg version SVN-r21659-rdian06-1.02-win-x86_32, Copyright (c) 2000-2010 Fabrice Bellard, et al.

  built on Aug 24 2010 20:46:16 with gcc 4.4.0

  configuration: --enable-memalign-hack --disable-debug --enable-hardcoded-tables --enable-runtime-cpudetect --enable-static --disable-shared --disable-ffserver --disable-ffplay --enable-gpl --enable-pthreads --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libgsm --enable-libx264 --enable-libschroedinger --enable-libfaad --enable-libxvid --disable-decoder=aac --enable-avisynth --enable-postproc --enable-avfilter --enable-avfilter-lavf

  libavutil     50. 8. 0 / 50. 8. 0

  libavcodec    52.52. 0 / 52.52. 0

  libavformat   52.50. 0 / 52.50. 0

  libavdevice   52. 2. 0 / 52. 2. 0

  libavfilter    1.17. 0 /  1.17. 0

  libswscale     0.10. 0 /  0.10. 0

  libpostproc   51. 2. 0 / 51. 2. 0

[matroska @ 0x33cfd0]Estimating duration from bitrate, this may be inaccurate

Seems stream 0 codec frame rate differs from container frame rate: 47.95 (5994/125) -> 23.98 (24000/1001)

Input #0, matroska, from '\\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv':

  Duration: 00:49:11.87, start: 0.000000, bitrate: 384 kb/s

    Stream #0.0(eng): Video: h264, yuv420p, 1280x718 [PAR 1:1 DAR 640:359], 47.62 fps, 23.98 tbr, 1k tbn, 47.95 tbc

    Stream #0.1(eng): Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s

At least one output file must be specified

2012-12-11 19:25:05,812 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:25:05] "GET /TiVoConnect?Command=QueryContainer&Container=My%20Videos/Homeland/Season%20%202&Format=text/html HTTP/1.1" 200 -
2012-12-11 19:25:05,823 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:25:05] "GET /main.css HTTP/1.1" 200 -
2012-12-11 19:25:05,832 DEBUG pyTivo.video.transcode: aFreq=48000; aCh=6; container=matroska; kbps=384; mapAudio=[('0.1', '(eng) ac3, 48000 Hz, 5.1, s16, 384 kb/s\r')]; vHeight=718; vCodec=h264; Supported=True; aKbps=384; par=None; millisecs=2951870; vFps=23.98; par2=1.0; par1=1:1; mapVideo=0.0; vWidth=1280; dar1=640:359; rawmeta={}; aCodec=ac3
2012-12-11 19:25:05,835 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,835 DEBUG pyTivo.video.transcode: TRANSCODE=YES, container matroska not compatible, \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,836 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:25:05] "GET /back.png HTTP/1.1" 200 -
2012-12-11 19:25:05,836 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:25:05] "GET /folder.png HTTP/1.1" 200 -
2012-12-11 19:25:05,838 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,838 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec h264 not compatible, \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,841 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,844 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,845 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,848 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,848 DEBUG pyTivo.video.transcode: tsn: TiVoServiceNumber
2012-12-11 19:25:05,848 DEBUG pyTivo.video.transcode: aspect169: True
2012-12-11 19:25:05,848 DEBUG pyTivo.video.transcode: optres: False
2012-12-11 19:25:05,848 DEBUG pyTivo.video.transcode: File=\\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv vCodec=h264 vWidth=1280 vHeight=718 vFps=23.98 millisecs=2951870 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
2012-12-11 19:25:05,851 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,852 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,855 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,855 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:25:05] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:25:05,857 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,858 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:25:05] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:25:05,858 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,861 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,861 DEBUG pyTivo.video.transcode: audio_lang: None
2012-12-11 19:25:05,861 DEBUG pyTivo.video.transcode: selected audio stream: 0.1
2012-12-11 19:25:05,861 DEBUG pyTivo.video.transcode: transcoding to tivo model 748 using ffmpeg command:
2012-12-11 19:25:05,861 DEBUG pyTivo.video.transcode: C:\Program Files\pyTivo\bin\ffmpeg.exe -i \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv -vcodec copy -b 16384k -maxrate 30000k -bufsize 4096k -ab 448k -ar 48000 -ac 6 -acodec copy -copyts -map 0.0 -map 0.1 -threads 6 -f mp4 \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv.pyTivo-temp
2012-12-11 19:25:05,862 DEBUG pyTivo.video.transcode: remuxing \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv to \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv.pyTivo-temp
2012-12-11 19:25:05,933 DEBUG pyTivo.video.transcode: error during remuxing
2012-12-11 19:25:05,940 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,951 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,951 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec h264 not compatible, \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,953 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,956 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,957 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,960 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,960 DEBUG pyTivo.video.transcode: tsn: TiVoServiceNumber
2012-12-11 19:25:05,960 DEBUG pyTivo.video.transcode: aspect169: True
2012-12-11 19:25:05,960 DEBUG pyTivo.video.transcode: optres: False
2012-12-11 19:25:05,960 DEBUG pyTivo.video.transcode: File=\\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv vCodec=h264 vWidth=1280 vHeight=718 vFps=23.98 millisecs=2951870 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
2012-12-11 19:25:05,963 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,964 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,967 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,967 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,970 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,971 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,971 DEBUG pyTivo.video.transcode: audio_lang: None
2012-12-11 19:25:05,971 DEBUG pyTivo.video.transcode: selected audio stream: 0.1
2012-12-11 19:25:05,973 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,976 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,976 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec h264 not compatible, \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,977 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:05,980 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Homeland\Season  2\Homeland - S02E06 - A Gettysburg Address.mkv
2012-12-11 19:25:07,394 DEBUG pyTivo.mind: __login
{'cams_security_domain': 'tivocom', 'cams_login_config': 'http', 'cams_cb_password': 'password', 'cams_original_url': '/mind/mind7?type=infoGet', 'cams_cb_username': '[email protected]'}
2012-12-11 19:25:08,243 DEBUG pyTivo.mind: pcBodySearch
{}

<pcBodyList><isBottom>true</isBottom><isTop>true</isTop><pcBody><bucketNumber>-1</bucketNumber><levelOfDetail>low</levelOfDetail><name>pyTivo</name><pcBodyId>tivo:pc.1002289361</pcBodyId><type>pcBody</type></pcBody></pcBodyList>g
2012-12-11 19:25:09,177 DEBUG pyTivo.mind: bodyOfferModify&bodyId=tsn:TiVoServiceNumber
{'subtitle': '2x06 A Gettysburg Address', 'description': "Dana is shocked by her visit to the hospital. Faber's Tom Walker questions get him tangled up with the CIA. Brody agrees to help stop an attack on America, but his loyalty is questioned when Gettysburg once again becomes a battleground.", 'pcBodyId': 'tivo:pc.1002289361', 'publishDate': '2012-12-12 00:2508', 'partnerId': 'tivo:pt.3187', 'duration': 2951, 'size': 6333082080L, 'title': 'Homeland', 'url': 'http://192.168.1.11:9032/My%20Videos/Homeland/Season%20%202/Homeland%20-%20S02E06%20-%20A%20Gettysburg%20Address.mkv?Format=video/mpeg', 'bodyId': 'tsn:TiVoServiceNumber', 'source': 'EP01466171', 'state': 'complete', 'encodingType': 'mpeg2ProgramStream', 'tvRating': 'ma'}

<bodyOffer><bodyId>tsn:TiVoServiceNumber</bodyId><bodyOfferId>tivo:bo.15000151</bodyOfferId><createDate>2012-12-12 00:25:47</createDate><description>Dana is shocked by her visit to the hospital. Faber's Tom Walker questions get him tangled up with the CIA. Brody agrees to help stop an attack on America, but his loyalty is questioned when Gettysburg once again becomes a battleground.</description><duration>2951</duration><encodingType>mpeg2ProgramStream</encodingType><levelOfDetail>high</levelOfDetail><offerId>tivo:of.bs.15000151</offerId><partnerId>tivo:pt.3187</partnerId><pcBodyId>tivo:pc.1002289361</pcBodyId><publishDate>2012-12-13 17:48:00</publishDate><size>6333082080</size>EP01466171<state>complete</state><subtitle>2x06 A Gettysburg Address</subtitle>Homeland<tvRating>ma</tvRating><updateDate>2012-12-12 00:25:47</updateDate><url>http://192.168.1.11:9032/My%20Videos/Homeland/Season%20%202/Homeland%20-%20S02E06%20-%20A%20Gettysburg%20Address.mkv?Format=video/mpeg</url></bodyOffer>g
2012-12-11 19:25:10,114 DEBUG pyTivo.mind: subscribe&bodyId=tsn:TiVoServiceNumber
{'uiType': 'cds', 'idSetSource': {'contentId': 'tivo:ct.bs.15000151', 'type': 'singleOfferSource', 'offerId': 'tivo:of.bs.15000151'}, 'bodyId': 'tsn:TiVoServiceNumber', 'title': 'pcBodySubscription'}

<subscribeResult><subscription><autoRecord>true</autoRecord><bodyGeneratesCandidates>false</bodyGeneratesCandidates><bodyId>tsn:TiVoServiceNumber</bodyId><hdOnly>false</hdOnly><idSetSource><contentId>tivo:ct.bs.15000151</contentId><offerId>tivo:of.bs.15000151</offerId><type>singleOfferSource</type></idSetSource><isAdult>false</isAdult><isForKids>false</isForKids><levelOfDetail>high</levelOfDetail><showStatus>rerunsAllowed</showStatus><subscriptionId>tivo:sb.15000171</subscriptionId>pcBodySubscription<type>subscription</type><uiType>cds</uiType></subscription></subscribeResult>g
2012-12-11 19:29:19,401 DEBUG pyTivo.video.video: mobileagent: -1 useragent: mozilla/5.0 (windows nt 6.1; wow64; rv:17.0) gecko/20100101 firefox/17.0
2012-12-11 19:29:19,403 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:19] "GET /TiVoConnect?Command=QueryContainer&Container=My%20Videos/Homeland&Format=text/html HTTP/1.1" 200 -
2012-12-11 19:29:19,415 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:19] "GET /main.css HTTP/1.1" 200 -
2012-12-11 19:29:19,428 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:19] "GET /back.png HTTP/1.1" 200 -
2012-12-11 19:29:19,428 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:19] "GET /folder.png HTTP/1.1" 200 -
2012-12-11 19:29:19,453 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:19] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:29:19,456 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:19] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:29:33,908 DEBUG pyTivo.video.video: mobileagent: -1 useragent: mozilla/5.0 (windows nt 6.1; wow64; rv:17.0) gecko/20100101 firefox/17.0
2012-12-11 19:29:33,996 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:33] "GET /TiVoConnect?Command=QueryContainer&Container=My%20Videos&Format=text/html HTTP/1.1" 200 -
2012-12-11 19:29:34,026 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:34] "GET /main.css HTTP/1.1" 200 -
2012-12-11 19:29:34,384 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:34] "GET /folder.png HTTP/1.1" 200 -
2012-12-11 19:29:34,450 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:34] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:29:34,454 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:34] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:29:43,825 DEBUG pyTivo.video.video: mobileagent: -1 useragent: mozilla/5.0 (windows nt 6.1; wow64; rv:17.0) gecko/20100101 firefox/17.0
2012-12-11 19:29:43,828 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:43] "GET /TiVoConnect?Command=QueryContainer&Container=My%20Videos/Leverage&Format=text/html HTTP/1.1" 200 -
2012-12-11 19:29:43,848 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:43] "GET /main.css HTTP/1.1" 200 -
2012-12-11 19:29:43,855 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:43] "GET /back.png HTTP/1.1" 200 -
2012-12-11 19:29:43,855 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:43] "GET /folder.png HTTP/1.1" 200 -
2012-12-11 19:29:43,878 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:43] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:29:43,888 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:43] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:29:46,365 DEBUG pyTivo.video.video: mobileagent: -1 useragent: mozilla/5.0 (windows nt 6.1; wow64; rv:17.0) gecko/20100101 firefox/17.0
2012-12-11 19:29:46,367 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:46] "GET /TiVoConnect?Command=QueryContainer&Container=My%20Videos/Leverage/Season%203&Format=text/html HTTP/1.1" 200 -
2012-12-11 19:29:46,378 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:46] "GET /main.css HTTP/1.1" 200 -
2012-12-11 19:29:46,384 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:46] "GET /back.png HTTP/1.1" 200 -
2012-12-11 19:29:46,395 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:46] "GET /folder.png HTTP/1.1" 200 -
2012-12-11 19:29:46,423 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:46] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:29:46,424 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:46] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:29:49,131 INFO  pyTivo.video.video: [11/Dec/2012 19:29:49] Queued "\\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv" for Push to Bedroom XL
2012-12-11 19:29:49,132 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:49] "POST /TiVoConnect HTTP/1.1" 200 -
2012-12-11 19:29:49,164 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:49] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:29:49,167 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:49] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:29:54,134 DEBUG pyTivo.video.transcode: starting ffmpeg, will wait 10 seconds for it to complete
2012-12-11 19:29:54,234 DEBUG pyTivo.video.transcode: ffmpeg output=FFmpeg version SVN-r21659-rdian06-1.02-win-x86_32, Copyright (c) 2000-2010 Fabrice Bellard, et al.

  built on Aug 24 2010 20:46:16 with gcc 4.4.0

  configuration: --enable-memalign-hack --disable-debug --enable-hardcoded-tables --enable-runtime-cpudetect --enable-static --disable-shared --disable-ffserver --disable-ffplay --enable-gpl --enable-pthreads --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libgsm --enable-libx264 --enable-libschroedinger --enable-libfaad --enable-libxvid --disable-decoder=aac --enable-avisynth --enable-postproc --enable-avfilter --enable-avfilter-lavf

  libavutil     50. 8. 0 / 50. 8. 0

  libavcodec    52.52. 0 / 52.52. 0

  libavformat   52.50. 0 / 52.50. 0

  libavdevice   52. 2. 0 / 52. 2. 0

  libavfilter    1.17. 0 /  1.17. 0

  libswscale     0.10. 0 /  0.10. 0

  libpostproc   51. 2. 0 / 51. 2. 0

[matroska @ 0x15fcfc0]Estimating duration from bitrate, this may be inaccurate

Seems stream 0 codec frame rate differs from container frame rate: 47.95 (5994/125) -> 23.98 (24000/1001)

Input #0, matroska, from '\\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv':

  Duration: 00:42:44.48, start: 0.000000, bitrate: 384 kb/s

    Stream #0.0(eng): Video: h264, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], 47.62 fps, 23.98 tbr, 1k tbn, 47.95 tbc

    Stream #0.1(eng): Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s

At least one output file must be specified

2012-12-11 19:29:54,250 DEBUG pyTivo.video.transcode: aFreq=48000; aCh=6; container=matroska; kbps=384; mapAudio=[('0.1', '(eng) ac3, 48000 Hz, 5.1, s16, 384 kb/s\r')]; vHeight=720; vCodec=h264; Supported=True; aKbps=384; par=None; millisecs=2564480; vFps=23.98; par2=1.0; par1=1:1; mapVideo=0.0; vWidth=1280; dar1=16:9; rawmeta={}; aCodec=ac3
2012-12-11 19:29:54,255 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,255 DEBUG pyTivo.video.transcode: TRANSCODE=YES, container matroska not compatible, \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,257 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,257 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec h264 not compatible, \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,259 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,263 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,265 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,266 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,266 DEBUG pyTivo.video.transcode: tsn: TiVoServiceNumber
2012-12-11 19:29:54,266 DEBUG pyTivo.video.transcode: aspect169: True
2012-12-11 19:29:54,267 DEBUG pyTivo.video.transcode: optres: False
2012-12-11 19:29:54,267 DEBUG pyTivo.video.transcode: File=\\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv vCodec=h264 vWidth=1280 vHeight=720 vFps=23.98 millisecs=2564480 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
2012-12-11 19:29:54,269 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,272 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,273 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,276 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,278 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,279 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,279 DEBUG pyTivo.video.transcode: audio_lang: None
2012-12-11 19:29:54,280 DEBUG pyTivo.video.transcode: selected audio stream: 0.1
2012-12-11 19:29:54,280 DEBUG pyTivo.video.transcode: transcoding to tivo model 748 using ffmpeg command:
2012-12-11 19:29:54,280 DEBUG pyTivo.video.transcode: C:\Program Files\pyTivo\bin\ffmpeg.exe -i \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv -vcodec copy -b 16384k -maxrate 30000k -bufsize 4096k -ab 448k -ar 48000 -ac 6 -acodec copy -copyts -map 0.0 -map 0.1 -threads 6 -f mp4 \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv.pyTivo-temp
2012-12-11 19:29:54,282 DEBUG pyTivo.video.transcode: remuxing \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv to \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv.pyTivo-temp
2012-12-11 19:29:54,319 DEBUG pyTivo.video.video: mobileagent: -1 useragent: mozilla/5.0 (windows nt 6.1; wow64; rv:17.0) gecko/20100101 firefox/17.0
2012-12-11 19:29:54,322 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:54] "GET /TiVoConnect?Command=QueryContainer&Container=My%20Videos/Leverage/Season%203&Format=text/html HTTP/1.1" 200 -
2012-12-11 19:29:54,335 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:54] "GET /main.css HTTP/1.1" 200 -
2012-12-11 19:29:54,344 DEBUG pyTivo.video.transcode: error during remuxing
2012-12-11 19:29:54,346 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:54] "GET /back.png HTTP/1.1" 200 -
2012-12-11 19:29:54,351 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,354 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:54] "GET /folder.png HTTP/1.1" 200 -
2012-12-11 19:29:54,365 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,365 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec h264 not compatible, \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,368 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,369 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,369 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:54] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:29:54,371 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,374 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,374 DEBUG pyTivo.video.transcode: tsn: TiVoServiceNumber
2012-12-11 19:29:54,375 DEBUG pyTivo.video.transcode: aspect169: True
2012-12-11 19:29:54,375 DEBUG pyTivo.video.transcode: optres: False
2012-12-11 19:29:54,375 DEBUG pyTivo.video.transcode: File=\\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv vCodec=h264 vWidth=1280 vHeight=720 vFps=23.98 millisecs=2564480 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
2012-12-11 19:29:54,377 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,378 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,381 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,382 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,384 INFO  pyTivo: 127.0.0.1 [11/Dec/2012 19:29:54] "GET /favicon.ico HTTP/1.1" 200 -
2012-12-11 19:29:54,385 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,388 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,388 DEBUG pyTivo.video.transcode: audio_lang: None
2012-12-11 19:29:54,388 DEBUG pyTivo.video.transcode: selected audio stream: 0.1
2012-12-11 19:29:54,390 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,391 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,391 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec h264 not compatible, \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,394 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:54,395 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:29:55,219 DEBUG pyTivo.mind: __login
{'cams_security_domain': 'tivocom', 'cams_login_config': 'http', 'cams_cb_password': 'password', 'cams_original_url': '/mind/mind7?type=infoGet', 'cams_cb_username': '[email protected]'}
2012-12-11 19:29:56,209 DEBUG pyTivo.mind: pcBodySearch
{}

<pcBodyList><isBottom>true</isBottom><isTop>true</isTop><pcBody><bucketNumber>-1</bucketNumber><levelOfDetail>low</levelOfDetail><name>pyTivo</name><pcBodyId>tivo:pc.1002289361</pcBodyId><type>pcBody</type></pcBody></pcBodyList>g
2012-12-11 19:29:57,063 DEBUG pyTivo.mind: bodyOfferModify&bodyId=tsn:TiVoServiceNumber
{'subtitle': 'The Underground Job', 'description': "In the aftermath of a deadly mine explosion, the team infiltrates the coal mines of West Virginia to put an end to the dangerous practices of the mine's owner.  But what the team digs up will threaten the livelihood of everyone in this tight-knit community.", 'pcBodyId': 'tivo:pc.1002289361', 'publishDate': '2012-12-12 00:2956', 'partnerId': 'tivo:pt.3187', 'duration': 2564, 'size': 5502549120L, 'title': 'Leverage', 'url': 'http://192.168.1.11:9032/My%20Videos/Leverage/Season%203/Leverage%20-%20S03E10%20-%20The%20Underground%20Job.mkv?Format=video/mpeg', 'bodyId': 'tsn:TiVoServiceNumber', 'source': 'SH01087016', 'state': 'complete', 'encodingType': 'mpeg2ProgramStream', 'tvRating': '14'}

<bodyOffer><bodyId>tsn:TiVoServiceNumber</bodyId><bodyOfferId>tivo:bo.15000161</bodyOfferId><createDate>2012-12-12 00:30:35</createDate><description>In the aftermath of a deadly mine explosion, the team infiltrates the coal mines of West Virginia to put an end to the dangerous practices of the mine's owner.  But what the team digs up will threaten the livelihood of everyone in this tight-knit community.</description><duration>2564</duration><encodingType>mpeg2ProgramStream</encodingType><levelOfDetail>high</levelOfDetail><offerId>tivo:of.bs.15000161</offerId><partnerId>tivo:pt.3187</partnerId><pcBodyId>tivo:pc.1002289361</pcBodyId><publishDate>2012-12-14 01:16:00</publishDate><size>5502549120</size>SH01087016<state>complete</state><subtitle>The Underground Job</subtitle>Leverage<tvRating>14</tvRating><updateDate>2012-12-12 00:30:35</updateDate>[URL]http://192.168.1.11:9032/My%20Videos/Leverage/Season%203/Leverage%20-%20S03E10%20-%20The%20Underground%20Job.mkv?Format=video/mpeg[/URL]</bodyOffer>g
2012-12-11 19:29:58,053 DEBUG pyTivo.mind: subscribe&bodyId=tsn:TiVoServiceNumber
{'uiType': 'cds', 'idSetSource': {'contentId': 'tivo:ct.bs.15000161', 'type': 'singleOfferSource', 'offerId': 'tivo:of.bs.15000161'}, 'bodyId': 'tsn:TiVoServiceNumber', 'title': 'pcBodySubscription'}

<subscribeResult><subscription><autoRecord>true</autoRecord><bodyGeneratesCandidates>false</bodyGeneratesCandidates><bodyId>tsn:TiVoServiceNumber</bodyId><hdOnly>false</hdOnly><idSetSource><contentId>tivo:ct.bs.15000161</contentId><offerId>tivo:of.bs.15000161</offerId><type>singleOfferSource</type></idSetSource><isAdult>false</isAdult><isForKids>false</isForKids><levelOfDetail>high</levelOfDetail><showStatus>rerunsAllowed</showStatus><subscriptionId>tivo:sb.15000181</subscriptionId>pcBodySubscription<type>subscription</type><uiType>cds</uiType></subscription></subscribeResult>g
2012-12-11 19:30:14,448 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:30:14,450 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec h264 not compatible, \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:30:14,450 INFO  pyTivo: 192.168.1.19 [11/Dec/2012 19:30:14] "GET /My%20Videos/Leverage/Season%203/Leverage%20-%20S03E10%20-%20The%20Underground%20Job.mkv?Format=video%2Fmpeg HTTP/1.1" 206 -
2012-12-11 19:30:14,450 INFO  pyTivo.video.video: [11/Dec/2012 19:30:14] Start sending "\\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv" to Bedroom XL
2012-12-11 19:30:14,450 DEBUG pyTivo.video.video: "\\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv" is not tivo compatible
2012-12-11 19:30:14,451 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:30:14,453 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:30:14,456 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:30:14,457 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:30:14,459 DEBUG pyTivo.video.transcode: tsn: TiVoServiceNumber
2012-12-11 19:30:14,459 DEBUG pyTivo.video.transcode: aspect169: True
2012-12-11 19:30:14,459 DEBUG pyTivo.video.transcode: optres: False
2012-12-11 19:30:14,459 DEBUG pyTivo.video.transcode: File=\\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv vCodec=h264 vWidth=1280 vHeight=720 vFps=23.98 millisecs=2564480 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
2012-12-11 19:30:14,460 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:30:14,463 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:30:14,464 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:30:14,467 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:30:14,469 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:30:14,470 DEBUG pyTivo.video.transcode: CACHE HIT! \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv
2012-12-11 19:30:14,470 DEBUG pyTivo.video.transcode: audio_lang: None
2012-12-11 19:30:14,471 DEBUG pyTivo.video.transcode: selected audio stream: 0.1
2012-12-11 19:30:14,473 DEBUG pyTivo.video.transcode: transcoding to tivo model 748 using ffmpeg command:
2012-12-11 19:30:14,473 DEBUG pyTivo.video.transcode: C:\Program Files\pyTivo\bin\ffmpeg.exe -i \\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv -vcodec mpeg2video -b 16384k -maxrate 30000k -bufsize 4096k -ab 448k -ar 48000 -ac 6 -acodec copy -copyts -map 0.0 -map 0.1 -threads 6 -f vob -
2012-12-11 19:40:04,280 INFO  pyTivo.video.video: [11/Dec/2012 19:40:04] Done sending "\\NORCO\Videos\TV Shows\Leverage\Season 3\Leverage - S03E10 - The Underground Job.mkv" to Bedroom XL, 2061094912 bytes, 26.66 Mb/s


----------



## moyekj

Haven't been following pyTivo updates very closely so I figured I would ask here. Does pyTivo now support pulls of H.264 .TiVo files? I think TiVo Desktop does and I seem to remember that pyTivo did not at some point in time. Reason I ask is 2 fold:
1. Some Cox markets (and I think FIOS markets) are now broadcasting some H.264 channels. I have a few H.264 channels that are not copy protected I can pull TiVo files from via TTG.
2. Dan203 has sample H.264 TiVo file I provided and I think is working on a way to be able to "fabricate" H.264 TiVo files (there's an oldish thread on that somewhere I'm too lazy to look for). This would be useful to provide an alternate container other than mp4 for H.264 files that doesn't require MOOV atom at start of file and also a way to natively pull H.264 files instead of having to push them.


----------



## lpwcomp

innocentfreak said:


> I am using the web browser interface.
> 
> The only thing I am seeing is a bunch of Cache hits, but I think I have always gotten those. There also looks like there might be some issue where it is failing to create a temp file.
> 
> Leverage went through, but Homeland fails even though it previously went through to another TiVo.


Do you have any non-default settings for pytivo? Can you pull the video to that TiVo?


----------



## innocentfreak

lpwcomp said:


> Do you have any non-default settings for pytivo? Can you pull the video to that TiVo?


Nope, everything is the normal install. Pulling works fine.


----------



## wmcbrine

moyekj said:


> Haven't been following pyTivo updates very closely so I figured I would ask here. Does pyTivo now support pulls of H.264 .TiVo files?


Shamefully no. I've been waiting for Fios to add an h.264 channel for me to play with that I don't have to pay extra for, but it doesn't look like that's going to happen. No luck synthesizing the files, either.


----------



## moyekj

wmcbrine said:


> Shamefully no. I've been waiting for Fios to add an h.264 channel for me to play with that I don't have to pay extra for, but it doesn't look like that's going to happen. No luck synthesizing the files, either.


I've uploaded a sample clip to here:
http://tivostream.googlecode.com/files/h264_tivo_sample.TiVo
Note that tivodecode does work to decrypt it. I'll PM you my MAK if you are interested in trying to use the sample for testing with.


----------



## newsposter

i couldnt push last night..pull worked ok...well...for one show..2nd show had an error but i dont think it's tivos fault


----------



## wkearney99

FWIW, pushing from Tivo Desktop has been wildly inconsistent lately too. This pushing from an otherwise idle PC to two different TivoHD units, all on their own gigE switch. So it's not a local networking issue. 

I've not had pytivo online since the move; the ToDo list has had too much ahead of it...


----------



## newsposter

i dont understand why tivo has control over what i push or not


----------



## wmcbrine

moyekj said:


> I've uploaded a sample clip to here:


Thanks, but, what I really need is a .TiVo file encrypted with my own MAK, and/or an unencrypted .TiVo file (as opposed to one that's been decrypted into a non-.TiVo file).

PM me anyway, I did DL the sample.


----------



## wmcbrine

newsposter said:


> i dont understand why tivo has control over what i push or not


The TiVo software is designed in such a way that you can never _send_ video to the box, in the sense of directly initiating the transfer from outside; you have to get the box to request the video, instead. So, a Push works like this:

1. You make a request to pyTivo.
2. pyTivo passes it on to mind.tivo.com.
3. The TiVo checks in with the mothership, and sees the request.
4. The TiVo requests the video from pyTivo.

We can't control what mind.tivo.com does with the request, nor when (or whether) the TiVo checks in.


----------



## moyekj

wmcbrine said:


> Thanks, but, what I really need is a .TiVo file encrypted with my own MAK, and/or an unencrypted .TiVo file (as opposed to one that's been decrypted into a non-.TiVo file).
> 
> PM me anyway, I did DL the sample.


 PM sent. Note that you can decrypt it and then attach a .TiVo header of your own and pull it via TiVo Desktop, at least that's what Dan203 said worked for him.


----------



## newsposter

wmcbrine said:


> The TiVo software is designed in such a way that you can never _send_ video to the box, in the sense of directly initiating the transfer from outside; you have to get the box to request the video, instead. So, a Push works like this:
> 
> 1. You make a request to pyTivo.
> 2. pyTivo passes it on to mind.tivo.com.
> 3. The TiVo checks in with the mothership, and sees the request.
> 4. The TiVo requests the video from pyTivo.
> 
> We can't control what mind.tivo.com does with the request, nor when (or whether) the TiVo checks in.


so strictly speaking they are 'nice' to even let us use pytivo


----------



## wmcbrine

moyekj said:


> Note that tivodecode does work to decrypt it.


Doesn't work for me, I only get the first 60K.


----------



## moyekj

wmcbrine said:


> Doesn't work for me, I only get the first 60K.


 Works for me with the TS tivodecode. At any rate I should have just uploaded the decrypted one from the start. Here it is:
http://tivostream.googlecode.com/files/h264_tivo_sample.ts
I think according to Dan203 there is some special private stream that is part of the TS container that seems to be required for it to transfer back to TiVo which this decrypted version should have. So part of the challenge of fabricating H.264 in TS container TiVo file is to deal with that.


----------



## wmcbrine

moyekj said:


> http://tivostream.googlecode.com/files/h264_tivo_sample.ts


Progress!  This video transfers and plays. I only had to do a small mod to allow h264 in transport streams in tivo_video_compatible(), and set ts=on in pyTivo.conf. (It still fails if I try to enable the false .TiVo header.) If I remux it, the remuxed version transfers, but doesn't play.

It's possible this is enough to pass through h264 .TiVo files, if you have one with a MAK that matches the TiVo. (That shouldn't require setting ts=on.)


----------



## moyekj

wmcbrine said:


> Progress!  This video transfers and plays. I only had to do a small mod to allow h264 in transport streams in tivo_video_compatible(), and set ts=on in pyTivo.conf. (It still fails if I try to enable the false .TiVo header.) If I remux it, the remuxed version transfers, but doesn't play.
> 
> It's possible this is enough to pass through h264 .TiVo files, if you have one with a MAK that matches the TiVo. (That shouldn't require setting ts=on.)


 Confirmed. With just tivo_compatible_video update (I just changed it to always return true for quick & easy patch for testing this) the h264 .TiVo transfers along with all the relevant metadata. For decrypted version setting ts=on to prevent pyTivo from transcoding works.
So the "magic" appears to be in the private stream in TS container that TiVo seems to require that is probably getting blown away when remuxing it.

Regarding the private stream ffmpeg -i on the decrypted version shows the extra private stream which I think Dan203 mentioned is used by TiVo for encryption purposes:
Input #0, mpegts, from 'h264_tivo_sample.ts':
Duration: 00:00:50.31, start: 45517.481300, bitrate: 8167 kb/s
Program 1
Stream #0:0[0x1ae1]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 59.94 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x1ae4]: Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, 5.1(side), s16, 384 kb/s
*Stream #0:2[0x1ae6]: Unknown: none ([151][0][0][0] / 0x0097)*


----------



## lrhorer

newsposter said:


> so strictly speaking they are 'nice' to even let us use pytivo


Well, browsing through the text sent to the mind server, I don't see where the software identifies itself. I don't think the server or the TiVo really knows what software is serving up the video, so it really isn't a case of "letting us use it". I suppose you might say it is nice of them not to write their agent and client code in such a way that it does identify the server software.


----------



## newsposter

lrhorer said:


> Well, browsing through the text sent to the mind server, I don't see where the software identifies itself. I don't think the server or the TiVo really knows what software is serving up the video, so it really isn't a case of "letting us use it". I suppose you might say it is nice of them not to write their agent and client code in such a way that it does identify the server software.


oh , interesting explanation! didnt know how this worked. So then it's a fair statement to say whether i use software 1, 2 , 3 or 4 it really doesnt matter, there will be the same issue

my next question was going to be "is there other software i can use to push while pytivo doesnt work'


----------



## moyekj

moyekj said:


> Confirmed. With just tivo_compatible_video update (I just changed it to always return true for quick & easy patch for testing this) the h264 .TiVo transfers along with all the relevant metadata. For decrypted version setting ts=on to prevent pyTivo from transcoding works.
> So the "magic" appears to be in the private stream in TS container that TiVo seems to require that is probably getting blown away when remuxing it.
> 
> Regarding the private stream ffmpeg -i on the decrypted version shows the extra private stream which I think Dan203 mentioned is used by TiVo for encryption purposes:
> Input #0, mpegts, from 'h264_tivo_sample.ts':
> Duration: 00:00:50.31, start: 45517.481300, bitrate: 8167 kb/s
> Program 1
> Stream #0:0[0x1ae1]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 59.94 tbr, 90k tbn, 59.94 tbc
> Stream #0:1[0x1ae4]: Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, 5.1(side), s16, 384 kb/s
> *Stream #0:2[0x1ae6]: Unknown: none ([151][0][0][0] / 0x0097)*


Wait a minute. I remuxed the above sample with ffmpeg so that the private stream went away and was able to pull it fine using pyTivo. So next I tried making my own TS H264 encoding starting from an mpeg2 sample and that worked too! So it appears regular TS H264 files with AC3 audio work fine! So I don't know exactly which software revision this started working for but it certainly appears to be working with 20.2.2.

(And yes I verified pyTivo was not transcoding it and just for grins pulled the video back again from the TiVo via kmttg and verified it was H.264).


----------



## jcthorne

Oh boy, I think I can see where this might lead.

Now if pytivo could remux to a TS-h.264 tivo file on the fly and allow it to be pulled, no more copy protected transfers...

Looking ahead a bit, any way for pytivo or kmttg to initiate a pull via the pc rather than having to do it from the tivo?

Full metadata for the transfers....?

This could be a major step forward. Look forward to trying some of this new capability.


----------



## wmcbrine

moyekj said:


> Wait a minute. I remuxed the above sample with ffmpeg so that the private stream went away and was able to pull it fine using pyTivo.


That hasn't worked for me. (Like I said above -- it transfers, but doesn't play.) What version of ffmpeg?


----------



## moyekj

wmcbrine said:


> That hasn't worked for me. (Like I said above -- it transfers, but doesn't play.) What version of ffmpeg?


 I'm currently pointing to a very recent version:
ffmpeg version N-47062-g26c531c Copyright (c) 2000-2012 the FFmpeg developers
built on Nov 25 2012 12:21:26 with gcc 4.7.2 (GCC)

Windows Binary obtained from:
http://ffmpeg.zeranoe.com/builds/win32/static/ffmpeg-20121125-git-26c531c-win32-static.7z

Remux is simply:
FFMPEG -y -i INPUT -vcodec copy -acodec copy -f mpegts OUTPUT

Encoding mpeg2 to H.264 that worked for me (using same ffmpeg):
FFMPEG -y -i INPUT -threads CPU_CORES -acodec copy -vcodec libx264 -flags +loop -coder ac -level 41 -b 8000k -refs 3 -bf 3 -me_method umh -subq 9 -me_range 16 -qmin 10 -qmax 50 -qscale 1 -g 24 -f mpegts OUTPUT

Using both the remux and the encode the resulting videos transfer, play, and transfer back via TTG without issue.

(Premiere software version I'm on is: 20.2.2.1-01-2)


----------



## wmcbrine

I went and pulled the latest git and built it right after I posted that, and I can now confirm that it's working for me! I guess they've improved their muxer. (I found a note about an earlier version saying that FFmpeg's transport streams weren't "STB-friendly".)


----------



## moyekj

My guess this has been possible for much longer than we finally realized, possibly ever since TiVo updated software to support H.264 cable channels about a year ago. Tonight I'll have to try HME streaming to see if it works there too.


----------



## wmcbrine

AAC audio in transport streams doesn't work. (Well, it makes pyTivo want to reencode everything, but I patched around that, and the sound doesn't play on the transferred recording.)

After transferring the sample to a Premiere, I can pull it from there to an OLED Series 3, but only the audio plays. It will stream and transfer to another Premiere.


----------



## Dan203

I need to figure out what's allowing this to work. I've tried it with VideoReDo and I can't figure out what's different in the original stream vs the VRD muxed stream. Anyone have any idea what made the ffmpeg TS streams more "STB-friendly"?

Also, FYI, this has been possible for a loooooong time. I tried it with an H.264 TS file from an New Zeland TiVo like 2 years ago and it worked. Well the video played. The audio was AAC which wouldn't play. (just like now) However I could never figure out how to make my own files that worked so I gave up on it.

Has anyone tried a stream with MP2 audio?

Dan


----------



## moyekj

Dan203 said:


> I need to figure out what's allowing this to work. I've tried it with VideoReDo and I can't figure out what's different in the original stream vs the VRD muxed stream. Anyone have any idea what made the ffmpeg TS streams more "STB-friendly"?
> 
> Also, FYI, this has been possible for a loooooong time. I tried it with an H.264 TS file from an New Zeland TiVo like 2 years ago and it worked. Well the video played. The audio was AAC which wouldn't play. (just like now) However I could never figure out how to make my own files that worked so I gave up on it.
> 
> Has anyone tried a stream with MP2 audio?
> 
> Dan


 Well you could generate a sample using recent ffmpeg muxer and compare to what VRD is doing.

I tried H.264 + AC3 in TS container several years ago, but it was probably using ffmpeg from back then which we have just discovered wasn't "TiVo friendly". I think I also tried generating one using VRD TVSuite more recently than that which also didn't work.


----------



## moyekj

Dan203 said:


> I need to figure out what's allowing this to work. I've tried it with VideoReDo and I can't figure out what's different in the original stream vs the VRD muxed stream. Anyone have any idea what made the ffmpeg TS streams more "STB-friendly"?


FYI, sample generated using new ffmpeg has this extra information (according to Mediainfo) that a VRD generated one does not:


Code:


Menu
ID                               : 4096 (0x1000)
Menu ID                          : 1 (0x1)
Duration                         : 49s 516ms
List                             : 256 (0x100) (AVC) / 257 (0x101) (AC-3)
Service name                     : Service01
Service provider                 : FFmpeg
Service type                     : digital television

Maybe the TiVo decoder uses the information to figure out what streams to use.
Haven't tried it but I would guess older ffmpeg did not generate this info.


----------



## Dan203

Can you try the VRD stream with pyTiVo and see if that works?

I tried creating a file with ffmpeg and attaching a tivo header and it doesn't work. It adds it to to the To Do List but never actually transfers. The VRD files at least appear to transfer, but never make any actual progress. If I simply decrypt a .tivo file using graphedit (you can get the same effect with DirectShow Dump) and then attach a header to that I can pull it to the TiVo just fine.

The only difference I know of is the protection packets. However I tried adding those to a VRD stream and it didn't work. I'm wondering if sending it as a .tivo requires both the protection packets and whatever magic ffmpeg is doing to make the streams compatible.

Dan


----------



## Dan203

OK apparently I was having some sort of general TiVo/TiVo Desktop issue. I rebooted everything and now a file muxed with ffmpeg and then attached with a .tivo header from my own machine can be transferred and works. With this I should be able to figure out what they're doing. Even if I have to browse through the source code.

Dan


----------



## moyekj

Dan203 said:


> Can you try the VRD stream with pyTiVo and see if that works?


VRD H.264 TS file transfers but doesn't play.

On a separate note I couldn't get HME to stream H.264 TS, but maybe I got the mime type wrong. (video/x-tivo-mpeg-ts doesn't seem to work).


----------



## wmcbrine

jcthorne said:


> Now if pytivo could remux to a TS-h.264 tivo file on the fly and allow it to be pulled, no more copy protected transfers...


In my repos now. Remux-only and audio-reencode-only with h.264 in a transport stream. (Most MP4s will need audio reencoding, since the TiVo doesn't accept AAC in a transport stream.) You need to have "ts = on" in your pyTivo.conf, and an up-to-date ffmpeg, as noted above. Tested with MP4 and FLV; should also work with MKV.



> _Looking ahead a bit, any way for pytivo or kmttg to initiate a pull via the pc rather than having to do it from the tivo?_


Uh, no. That's the definition of pull vs. push.



> _Full metadata for the transfers....?_


The .TiVo header generation still isn't working for transport streams, so the fields that depend on that won't go. Everything else works.


----------



## jcthorne

wmcbrine said:


> In my repos now. Remux-only and audio-reencode-only with h.264 in a transport stream. (Most MP4s will need audio reencoding, since the TiVo doesn't accept AAC in a transport stream.) You need to have "ts = on" in your pyTivo.conf, and an up-to-date ffmpeg, as noted above. Tested with MP4 and FLV; should also work with MKV.
> 
> Uh, no. That's the definition of pull vs. push.
> 
> The .TiVo header generation still isn't working for transport streams, so the fields that depend on that won't go. Everything else works.


Major progress! One of the big reasons to push only has been smaller file sizes, now pull would do the same.

On the pull vs push, I suppose I was asking if it could be done via the remote control protocol kmttg is using for so many other management tasks. At the moment trasfer back to a tivo is via a push.

Its really great to see the development surge forward again. Will result in many new possibilities as the remainder of the TS stream and .tivo header puzzle is worked out.


----------



## lrhorer

jcthorne said:


> Looking ahead a bit, any way for pytivo or kmttg to initiate a pull via the pc rather than having to do it from the tivo?


Well, I know it is not quite what you meant, but I do have the ability to control the TiVos from a PC.

As a matter of coincidence, more or less, I have a PC located next to every TiVo. I put an NTSC video capture card in each PC and connect the composite output from each TiVo to the capture card. One can then either stream the video onto the LAN or else use a remote desktop utility to control the attached PC. One of the TiVo remote control utilities can be used to control the TiVo. It works fairly well.


----------



## moyekj

wmcbrine, pushes of TS H.264 files still transcode to mpeg2. Don't know if it's possible to prevent that? On a related note I couldn't figure out how to HME stream them natively.


----------



## wmcbrine

moyekj said:


> wmcbrine, pushes of TS H.264 files still transcode to mpeg2. Don't know if it's possible to prevent that?


They _should_ be remuxed to MP4. (Currently I have no reason to believe that the Push system can accept transport streams.) I'll check... Yes, remuxing to MP4 with no reencoding is what I'm seeing here.


----------



## Dan203

wmcbrine said:


> The .TiVo header generation still isn't working for transport streams, so the fields that depend on that won't go. Everything else works.


TS files have a bit flipped in the header ompared to th old PS format. Are you flipping that bit?

When do the optosite in VRD when someone saves a .tivo file to .tivo we flip the bit to PS mode because we always output .tivo as PS. (will have to change that if we get this TS thing working)

Dan


----------



## Dan203

Got it! Figured out what VRD was missing and now I'm able to generate a .tivo file with H.264 video in VideoReDo that can be pulled back to my Premiere. There are still some minor issues we need to work out, but I should be able to get this in the next beta.

Dan


----------



## moyekj

wmcbrine said:


> They _should_ be remuxed to MP4. (Currently I have no reason to believe that the Push system can accept transport streams.) I'll check... Yes, remuxing to MP4 with no reencoding is what I'm seeing here.


 I found the problem. My pyTivo.conf was pointing to an older ffmpeg. Once I updated to use newest ffmpeg it's now doing exactly as you say.

However when playing on the TiVo the play bar indicates 36 hours as the total time while Info correctly says it's 48 seconds long. In contrast when I pull it the play bar is correctly at 1 min. Is this due to missing metadata using push?


----------



## Dan203

Doing some testing. MP2 works. Also AAC works if the mux format is LATM/LOAS, but not if it's ADTS.

Dan


----------



## lrhorer

Dan203 said:


> Got it! Figured out what VRD was missing and now I'm able to generate a .tivo file with H.264 video in VideoReDo that can be pulled back to my Premiere. There are still some minor issues we need to work out, but I should be able to get this in the next beta.


I take it, then, it cannot be pulled to an S3 without recoding, or am I extrapolating too much?


----------



## lrhorer

On a possibly related note, is there any mechanism in place in HME to initiate a pull from an external device?


----------



## Dan203

lrhorer said:


> I take it, then, it cannot be pulled to an S3 without recoding, or am I extrapolating too much?


S3 units were never updated to properly support TS so probably not. Someone else mentioned you can pull them to a Premiere and then transfer to an S3 from that, but it's probably easier just to use MP4 and the push method.

Dan


----------



## quietfly

so this is a total nube question but can pytivo be used to archive shows to my pc then have them pushed back to tivo sort of like the tivo desktop does?


----------



## Dan203

I've tried a bunch of different combinations of video settings and the TiVo seems to handle them all fine. Are there any known limitations with pushed videos that might effect this as well? profile/level combinations that don't work? Frame rates that don't work? etc?

Dan


----------



## moyekj

Dan203 said:


> I've tried a bunch of different combinations of video settings and the TiVo seems to handle them all fine. Are there any known limitations with pushed videos that might effect this as well? profile/level combinations that don't work? Frame rates that don't work? etc?
> 
> Dan


 Closest thing to documentation we have is:
http://code.google.com/p/streambaby/wiki/video_compatibility
For H.264 don't exceed level 4.1 and for AC3 don't exceed 448Kbps. Though I haven't tested the physical limits for series 4 units in a long time so those may be outdated.


----------



## Dan203

Thanks, I'll try out some of that stuff and see what I can do.

Dan


----------



## Dan203

Not sure if FFmpeg can do this, but in VideoReDo we can retain 608/708 captions when recoding to H.264 and I just confirmed that those captions work on a TiVo. I know captions are really important to some people so if this is something that can be done in FFmpeg then you should verify it functions properly in pyTiVo.

Dan


----------



## wmcbrine

moyekj said:


> However when playing on the TiVo the play bar indicates 36 hours as the total time while Info correctly says it's 48 seconds long.


I can't reproduce this.


----------



## lrhorer

Dan203 said:


> S3 units were never updated to properly support TS so probably not. Someone else mentioned you can pull them to a Premiere and then transfer to an S3 from that, but it's probably easier just to use MP4 and the push method.


Unless the mind server is down. It surely would be nice to have the speed and reduced disk space associated with pushed h.264/MP4 files along with the superior robustness of a pull.


----------



## lrhorer

quietfly said:


> so this is a total nube question but can pytivo be used to archive shows to my pc then have them pushed back to tivo sort of like the tivo desktop does?


No, it can either push them to the TiVo or have them pulled by the TiVo so much more effectively it makes TiVoDesktop look totally idiotic. PyTivo is like TDT pretty much the same as a world champion heavyweight weightlifter is like a 98 pound weakling with two broken arms.


----------



## moyekj

Dan203 said:


> Not sure if FFmpeg can do this, but in VideoReDo we can retain 608/708 captions when recoding to H.264 and I just confirmed that those captions work on a TiVo. I know captions are really important to some people so if this is something that can be done in FFmpeg then you should verify it functions properly in pyTiVo.
> 
> Dan


 I was just trying last night and ffmpeg killed 608 captions for me when encoding to H.264, so advantage VRD on that front.


----------



## wmcbrine

Dan203 said:


> Doing some testing. MP2 works. Also AAC works if the mux format is LATM/LOAS, but not if it's ADTS.


OK, I've verified this, and added aac_latm as a supported audio format for transport streams in pyTivo.



Dan203 said:


> Not sure if FFmpeg can do this, but in VideoReDo we can retain 608/708 captions when recoding to H.264 and I just confirmed that those captions work on a TiVo. I know captions are really important to some people so if this is something that can be done in FFmpeg then you should verify it functions properly in pyTiVo.


pyTivo doesn't recode to h.264, though.


----------



## jcthorne

moyekj said:


> Closest thing to documentation we have is:
> http://code.google.com/p/streambaby/wiki/video_compatibility
> For H.264 don't exceed level 4.1 and for AC3 don't exceed 448Kbps. Though I haven't tested the physical limits for series 4 units in a long time so those may be outdated.


I can confirm that on Series 4 units, AC3 at 640kbps from bluray works fine. Been using it for some time now.

Strict adherance to Level 4.1 max is required. Many encoders were muxing mkv files labeled as 4.1 but using more than 4 reference frames for 1080p video. Tivo cannot handle this and its beyond 4.1.


----------



## lpwcomp

I rediscovered why I keep going back to the old version of ffmpeg. When I try to use a newer version, I am unable to pull anything from the PC as everything is flagged as copy protected.


----------



## johnjay829

which version do u use i hate the copy protection


----------



## jcthorne

The copy protection has nothing to do with ffmpeg. All pushed videos are copy protected.


----------



## lpwcomp

jcthorne said:


> The copy protection has nothing to do with ffmpeg. All pushed videos are copy protected.


I am well aware of that. You didn't read what I wrote. It has nothing to do with the status of things PUSHED to the Tivo, something I rarely do to a local TiVo. If I am using a more recent version of ffmpeg, I cannot PULL it to the TIVO from the PC.

Going through the NPL, if I select a file in one of my shares, I see the message "Transferring prohibited by copyright holder" and the only option I have is "Press SELECT to go back"


----------



## Allanon

lpwcomp said:


> Going through the NPL, if I select a file in one of my shares, I see the message "Transferring prohibited by copyright holder" and the only option I have is "Press SELECT to go back"


That happens to me all the time, I found just renaming the file will allow it to transfer. I just thought Tivo was doing copyright checks on the file's name.


----------



## lpwcomp

Allanon said:


> That happens to me all the time, I found just renaming the file will allow it to transfer. I just thought Tivo was doing copyright checks on the file's name.


I'm afraid I am unable to take this post seriously.


----------



## wmcbrine

Allanon said:


> That happens to me all the time, I found just renaming the file will allow it to transfer. I just thought Tivo was doing copyright checks on the file's name.


TiVo Inc. doesn't check the names. The reason changing the name helps is that pyTivo no longer recognizes the file as one that it already looked at and cached the results for, and you're having better luck with the second ffmpeg run. The reason the files are being flagged the first time is that ffmpeg is failing to report their stats back to pyTivo in a timely manner, and the "transfer prohibited by" message is the only way we have to indicate an error.

But why ffmpeg is failing to report, in lpwcomp's case, I have no idea. I can only point out that it's not a general incompatibility between recent versions of pyTivo and ffmpeg, since as I noted a few messages up, I'm now running the very latest versions of both, and I don't have this problem.

It seems to most often afflict people running network-based shares. I usually recommend that they move pyTivo to the same server as the files. But they can also try extending the ffmpeg timeout.


----------



## lpwcomp

wmcbrine said:


> But why ffmpeg is failing to report, in lpwcomp's case, I have no idea. I can only point out that it's not a general incompatibility between recent versions of pyTivo and ffmpeg, since as I noted a few messages up, I'm now running the very latest versions of both, and I don't have this problem.
> 
> It seems to most often afflict people running network-based shares. I usually recommend that they move pyTivo to the same server as the files. But they can also try extending the ffmpeg timeout.


Not running a network share and setting ffmpeg_wait to 100 had no affect. I can only assume that newer versions of ffmpeg don't work properly under Win2k.


----------



## wmcbrine

lpwcomp said:


> I can only assume that newer versions of ffmpeg don't work properly under Win2k.


I think that's a bad assumption.

Why don't you try it manually and see what happens? I.e., "ffmpeg -i filename" in a command window.


----------



## lpwcomp

wmcbrine said:


> I think that's a bad assumption.


Actually, when Igoogled "ffmpeg Win2K" I got links to threads saying exactly that, i.e. ffmpeg was changed a while back so that it no longer works on Win2K and the attitude by the developers is "Why should we support a 12 year old O/S that is no longer supported by MS"



wmcbrine said:


> Why don't you try it manually and see what happens? I.e., "ffmpeg -i filename" in a command window.


Got a popup with "The procedure entry point _aligned_free could not be located in the dynamic link library msvcrt.dll"


----------



## wmcbrine

Why _are_ you using a 12-year-old OS, BTW? 

So anyway, this isn't an incompatibility between FFmpeg and Win2k per se, but between Win2k and _that specific build_ of FFmpeg. Based on your quotes, I can tell exactly what thread you were looking at. Notice there's a (hacky) solution there, as well. Or, you could look for a different msvcrt.dll to use; or just a whole different build; or you could build it yourself.


----------



## lpwcomp

wmcbrine said:


> Why _are_ you using a 12-year-old OS, BTW?


Don't really want to go the Linux route and even if I could afford Win 7, it seems silly to spend that much for an O/S when it represents over 1/3 the cost of a new machine with Win 7.



wmcbrine said:


> So anyway, this isn't an incompatibility between FFmpeg and Win2k per se, but between Win2k and _that specific build_ of FFmpeg. Based on your quotes, I can tell exactly what thread you were looking at. Notice there's a (hacky) solution there, as well. Or, you could look for a different msvcrt.dll to use; or just a whole different build; or you could build it yourself.


The last option had occurred to me also.


----------



## Soapm

lpwcomp said:


> Don't really want to go the Linux route and even if I could afford Win 7, it seems silly to spend that much for an O/S when it represents over 1/3 the cost of a new machine with Win 7..


Not to mention, windows went too far with security and built in connections in my view. I see their side since their main audience isn't too technically saavy but they should make it easy to turn all that crap off...

I still use XP for that same reason.


----------



## wkearney99

Soapm said:


> Not to mention, windows went too far with security and built in connections in my view. I see their side since their main audience isn't too technically saavy but they should make it easy to turn all that crap off...
> I still use XP for that same reason.


What? That makes no sense.

Simply disable the firewall if you don't understand how having a properly configured one is useful.

That and 7 runs much smoother, 8 even more so. Providing it's not wretchedly ancient equipment without much RAM. Once you get beyond 2gb 7 and later offer a much better experience than XP could ever have hoped to provide.

But what's just as easy is spinning up pytivo inside a linux box running in a virtual machine. Virtual Box is one simple and free way to do it.

But for anyone with more than two machines, it's cost-effective to get an Technet license for ~$250 that lets you download and run any of the MS operating systems along with most server and programs. For 'development and testing' purposes, of course. And it's waaaaaay cheaper than paying retail or banging your head against the wall trying to limp along with long-since dead operating system versions.


----------



## newsposter

pushes are working again but why does it say there's no space to transfer when it's only 78% full? then it will give the estimated time it will take to transfer (this minute plus X) then give me the chance to continue and of course i do

i do have most things set to KUID so i guess that is why but still, at 78% thats far from full just to push one show and say it's full


----------



## wmcbrine

newsposter said:


> pushes are working again but why does it say there's no space to transfer when it's only 78% full? then it will give the estimated time it will take to transfer (this minute plus X) then give me the chance to continue and of course i do


Eh? pyTivo doesn't report space or time estimates. Are you talking about some other program?


----------



## newsposter

wmcbrine said:


> Eh? pyTivo doesn't report space or time estimates. Are you talking about some other program?


on the tivo itself when i try to push it gives me a warning


----------



## lpwcomp

newsposter said:


> on the tivo itself when i try to push it gives me a warning


Vidmgr is giving you a warning?


----------



## newsposter

lpwcomp said:


> Vidmgr is giving you a warning?


i dont know what that is

and now that i think about it, maybe its when i pull. this happened over the weekend and i didnt post it right away

so maybe it's when i pull

but whichever it is, it's asking me if i want to clip or cancel the show and i press ok then it transfers over. my guess is it has something to do with anticipated space usage but with more than 20% free i dont get why


----------



## lpwcomp

newsposter said:


> i dont know what that is
> 
> and now that i think about it, maybe its when i pull. this happened over the weekend and i didnt post it right away
> 
> so maybe it's when i pull
> 
> but whichever it is, it's asking me if i want to clip or cancel the show and i press ok then it transfers over. my guess is it has something to do with anticipated space usage but with more than 20% free i dont get why


Oh yeah, that oddity has been around forever, even on a TiVo-TiVo transfer. Sometimes it tells me that if I transfer this show it will not record the show I am about to transfer.


----------



## larrs

Converting some of my HD videos to Blu Ray for archiving. AVCHD 1080/24p video with 5.1 AC3 audio @ 448kbps. I am also using a program to shrink the size down and the result is an m2ts file that I am converting with tsMuxeR to .ts files to fix some issues. That file will now push and pull to my S4 boxes via PyTivo. Is there any other reason to take that .ts file and convert to h264 .mp4 (as I was doing) or am I OK leaving them in .ts form?

Pardon my ignorance, but does this have anything to do with the latest update? I could have sworn that I tried this in the past and it would not transfer.


----------



## moyekj

A couple of useful commands that work with mind.py 'dict_request' that may be useful to incorporate into pyTivo:

1. List pending push requests
command = bodyOfferSearch
fields = bodyId, pcBodyId, noLimit=true
Example return (1 push scheduled):


Code:


<?xml version="1.0" encoding="utf-8"?><bodyOfferList><bodyOffer><bodyId>tsn:746000XXXXXXXXX</bodyId><bodyOfferId>tivo:bo.15000371</bodyOfferId><duration>72</duration><encodingType>mpeg2ProgramStream</encodingType><levelOfDetail>low</levelOfDetail><offerId>tivo:of.bs.15000371</offerId><partnerId>tivo:pt.3187</partnerId><pcBodyId>tivo:pc.1001087441</pcBodyId><publishDate>2012-12-20 14:39:00</publishDate><size>30672896</size><source>Daylight_Sat_Mar_08</source><state>complete</state><title>Daylight_Sat_Mar_08</title><tvRating>nr</tvRating><type>bodyOffer</type><url>http://192.168.10.198:9032/videos/Daylight_Sat_Mar_08.mpg?Format=video/mpeg</url></bodyOffer><isBottom>true</isBottom><isTop>true</isTop></bodyOfferList>

2. Remove a particular push request
command = bodyOfferRemove
fields = bodyId, bodyOfferId
(bodyOfferId value is bodyOfferId obtained from bodyOfferSearch)


----------



## wmcbrine

larrs said:


> That file will now push and pull to my S4 boxes via PyTivo. Is there any other reason to take that .ts file and convert to h264 .mp4 (as I was doing) or am I OK leaving them in .ts form?


No real reason. Assuming you're using ts = on in your pyTivo.conf:



Code:


         Push                   Pull
.ts      Gets remuxed to .mp4   Passed through
.mp4     Passed through         Gets remuxed to .ts

The big difference is that ts-to-mp4 remuxing requires creating a temp file, while mp4-to-ts remuxing is done on the fly. So, which format is better depends on how you expect to use the file. I'd lean towards mp4, in that the remuxing (i.e., back to ts, on a pull) basically takes up no space or time; but if you never plan to push that file, it's irrelevant. I personally expect to do a lot less pushing now that we can pull h264, although there are still a few issues to resolve.

(Without ts = on, both formats would be reencoded in a pull.)



> _Pardon my ignorance, but does this have anything to do with the latest update?_


Yes. Well, if you mean, transferring it without reencoding. It should always have been _possible_ to transfer it. On the other hand, sometimes ffmpeg will choke on reencoding something where it might be OK with remuxing it, or vice versa. I dunno.


----------



## Dan203

wmcbrine said:


> pyTivo doesn't recode to h.264, though.


But it might be nice if it did H.264 recode on the fly for non-complaint stuff, instead of MPEG-2, to save space on the TiVo.

Dan


----------



## moyekj

Dan203 said:


> But it might be nice if it did H.264 recode on the fly for non-complaint stuff, instead of MPEG-2, to save space on the TiVo.
> 
> Dan


 That may require more processing power than the average system can handle for real time or better encoding to H.264 depending on the encoding output specs and the input video.


----------



## Soapm

wkearney99 said:


> What? That makes no sense.
> 
> Simply disable the firewall if you don't understand how having a properly configured one is useful. .


Wasn't talking about the firewall, I was referring to other security/customization features in the OS itself.

But one mans trash is another mans treasure...


----------



## lrhorer

moyekj said:


> That may require more processing power than the average system can handle for real time or better encoding to H.264 depending on the encoding output specs and the input video.


Yeah, a bit. My testing with 1080i h.264/MP4 files recoded from MPEG-II files originally recorded by the TiVos came up with a bit slower than real time transfers with a dual core 2.8GHz AMD Athlon 64. That's not exactly a race horse any more, but many people use slower processors than that for their pyTivo server. Any 4 core or especially 6 or 8 core prcessor should have no problem. Oddly enough, even the dual core could recode 1080p24 BluRay rips recoded to h.264 using Handbrake at just a bit faster than real-time.


----------



## newsposter

lpwcomp said:


> Oh yeah, that oddity has been around forever, even on a TiVo-TiVo transfer. Sometimes it tells me that if I transfer this show it will not record the show I am about to transfer.


ah ok...didnt happen until i put all my SP on KUID due to unexpected deletions before and also did old shows that i needed saved KUID

so it's definitely related to that in my case at least.


----------



## lew

I know it's obvious to most posters but for the benefit of the few...transfer and encoding rates can be affected by other programs running. Temporarily stop everything, even firewall and AV programs and see if it makes a difference.

Some AV programs hog more system resources then others. Changing your AV program might make a big difference.


----------



## wkearney99

lew said:


> Some AV programs hog more system resources then others. Changing your AV program might make a big difference.


Like specifically configuring it to ignore files in certain places or of certain types, assuming you know what you're configuring and putting in those places.


----------



## lew

wkearney99 said:


> Like specifically configuring it to ignore files in certain places or of certain types, assuming you know what you're configuring and putting in those places.


Absolutely. First trying running without any AV. If you see a meaningful difference you can then decide if you want to use a different program or can tweak settings with your existing program.

Same thing with your firewall program. If you're very cautious don't surf the web while you're running without AV. Don't run torrent programs...


----------



## newsposter

lew said:


> Same thing with your firewall program. If you're very cautious don't surf the web while you're running without AV. Don't run torrent programs...


or just get a fast machine and do it all  i admit everyone doesnt wanna go in debt for that but i will verify if you have a good enough machine you can do it all at the same time. i cannot emphasize enough how happy i am with my new machine. tons of tabs open in both browsers,window explorer, 2 torrent programs going, excel open, boinc running etc etc

and not a single hiccup..blazing fast conversions and transfers.

with my old machine some of my issue was FF using about 50 to 70% of resources and when i converted stuff my CPU was at 100C and everythign literally locked up. it was awful


----------



## wkearney99

There's definitely something to be said for the price/performance and better power management of some newer configurations. Especially if you do something like set it up as a virtual machine server and then put the clients in a VM. You do lose a little overhead to the hypervisor, but not a lot. The upside is you gain better portability if you want to move the whole VM to a different machine. So instead of having to reinstall and set everything up again on new hardware, you just move the VM. Even better, you can get a free version of most hypervisors, so you can go with whichever one suits you. 

Just maintain realistic expectations of what runs effectively in as a VM. Running real-time dependent programs like games is probably not a good VM candidate, nor ones that need genuine local access to a video card. That and don't over-commit the machine, especially not if there are time-sensitive programs involved. As in, if you have a DVR recording kind of application being used then make sure you don't bog down the machine with other stuff that'll interrupt it. 

Anyway, not to fork the conversation off to another direction, just keep the idea in mind if you're thinking of new hardware...


----------



## Dan203

Got H.264 video fully working in VideoReDo. It still copies the header from the original .tivo file so it only works right now if the source is a .tivo file. However I'm looking into a way to create a TiVo header from scratch so that you can output any file any file to a .tivo.

Although the change we made to our TS muxer will effect all files so if pyTiVo supports properly formatted .ts files then you'll be able to create those with VRD as well. Just be careful about the parameters because the hard coded restrictions are only applied when outputting to the .tivo format.

Should be a new beta in a couple days with these changes.

Dan


----------



## quietfly

Dan203 said:


> Got H.264 video fully working in VideoReDo. It still copies the header from the original .tivo file so it only works right now if the source is a .tivo file. However I'm looking into a way to create a TiVo header from scratch so that you can output any file any file to a .tivo.
> 
> Although the change we made to our TS muxer will effect all files so if pyTiVo supports properly formatted .ts files then you'll be able to create those with VRD as well. Just be careful about the parameters because the hard coded restrictions are only applied when outputting to the .tivo format.
> 
> Should be a new beta in a couple days with these changes.
> 
> Dan


so does this mean with VideoReDo i can now take my archived media and convert it to H.264 video and push it to my tivo with pyTivo?


----------



## Dan203

What this means is that I added a TiVo-TS output format to the profiles which can output to a .tivo file using the new Premiere compatible TiVo-TS format. These new files can contain either MPEG-2 or H.264 video and can be transferred to a TiVo using the standard pull method, even if you just use the free version of TiVo Desktop. There is no need to convert to MP4 and push from the PC.

If you use pyTiVo then you can also do this with standard .ts files because the .ts files generated by VRD are now compatible with that as well. (TiVo Desktop does not currently support .ts files)

I'm also looking at the possibility of creating a fake .tivo header so you can convert .wtv/.dvr-ms files to .tivo and retain the metadata or manually enter basic data for other file formats That might be another version out though.

Dan


----------



## moyekj

Dan, so I'm assuming if I start with a .TiVo mpeg2 program stream or mpeg2/H.264 transport stream I can choose to output unecrypted H.264 TS that can be pulled with pyTivo? i.e. Anything pulled off a TiVo in any of the formats can be converted to unencrypted H.264 TS via VRD that will work to be pulled back to a TiVo using pyTivo?


----------



## Dan203

Yes. The trick to making the TS streams TiVo compatible was a special random access packet. It doesn't really effect anything else so we enabled it as default for all TS output, which means the standard .ts files should work with pyTiVo the same way the ones from ffmpeg do. 

The TiVo-TS output would mainly be used to convert MPEG-2 .tivo files to H.264 .tivo files to save space. 

Dan


----------



## txporter

wmcbrine said:


> No real reason. Assuming you're using ts = on in your pyTivo.conf:
> 
> 
> 
> Code:
> 
> 
> Push                   Pull
> .ts      Gets remuxed to .mp4   Passed through
> .mp4     Passed through         Gets remuxed to .ts
> 
> The big difference is that ts-to-mp4 remuxing requires creating a temp file, while mp4-to-ts remuxing is done on the fly. So, which format is better depends on how you expect to use the file. I'd lean towards mp4, in that the remuxing (i.e., back to ts, on a pull) basically takes up no space or time; but if you never plan to push that file, it's irrelevant. I personally expect to do a lot less pushing now that we can pull h264, although there are still a few issues to resolve.
> 
> (Without ts = on, both formats would be reencoded in a pull.)


So with a new version of ffmpeg, I should be able to pull my MP4 files (h.264/aac) with your version of pytivo and they will be remuxed on the fly to ts (assuming I set ts=on in pytivo.conf)? Were you able to get the AAC audio remuxed to LATM/LOAS as Dan pointed out earlier in the thread? Or would my audio be converted to AC3?


----------



## jcthorne

Remember that Tivo does not support 5.1 channel AAC at all. Only 2 channel. If you want 5.1 it has to be AC3 which works fine in both TS or MP4 files.


----------



## txporter

jcthorne said:


> Remember that Tivo does not support 5.1 channel AAC at all. Only 2 channel. If you want 5.1 it has to be AC3 which works fine in both TS or MP4 files.


I don't. 2 channel is what I convert everything to. My wife and I aren't audiophiles and we just listen to everything through the TV speakers. I want to keep everything compatible between iDevices and Tivo if possible. Can always stay with pushes if needed, but would love to be able to pull video up to the same folder as the recorded shows are in.


----------



## jcthorne

Guess I did not realize IOS devices still do not support AC3 audio even though Apple wrote the mp4 spec to include it.


----------



## txporter

jcthorne said:


> Guess I did not realize IOS devices still do not support AC3 audio even though Apple wrote the mp4 spec to include it.


Well...to tell you the truth, I haven't looked into that (transferring AC3 to apple devices) for quite some time. Will have to investigate...


----------



## txporter

txporter said:


> Well...to tell you the truth, I haven't looked into that (transferring AC3 to apple devices) for quite some time. Will have to investigate...


From what I can gather, apple products still do not support AC3. I am hoping to keep my MP4 (H.264/AAC) as-is and be able to pull with wmcbrine's latest git. Might just have to tinker with it when I get a chance. Not sure if my Synology DS111 has the guts to convert even just audio on the fly in a reasonable time, so hoping that it will only need to remux.


----------



## cherry ghost

I use KMTTG to convert to an MP4 that contains both 5.1 AC3 and stereo AAC



Code:


Duration: 00:21:05.03, start: 0.033333, bitrate: 3038 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2485 kb/s, 29.97 fps, 29.97 tbr, 11988 tbn, 59.94 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), s16, 384 kb/s
    Metadata:
      handler_name    : SoundHandler
    Stream #0:2(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, s16, 160 kb/s
    Metadata:
      handler_name    : SoundHandler


----------



## wmcbrine

txporter said:


> So with a new version of ffmpeg, I should be able to pull my MP4 files (h.264/aac) with your version of pytivo and they will be remuxed on the fly to ts (assuming I set ts=on in pytivo.conf)?


Yes. Have I not made that clear?  Yes, and it's awesome. 



> _Were you able to get the AAC audio remuxed to LATM/LOAS as Dan pointed out earlier in the thread? Or would my audio be converted to AC3?_


AC3. Don't worry about it. Audio reencoding takes more overhead than remuxing, but still much, much less than video reencoding.

For its purposes, FFmpeg treats "aac_latm" and "aac" as two different audio codecs. aac_latm is available for decoding, but not encoding. In the case of a file that already has aac_latm audio (some transport streams are like this), pyTivo will pass it through.


----------



## larrs

lrhorer said:


> Yeah, a bit. My testing with 1080i h.264/MP4 files recoded from MPEG-II files originally recorded by the TiVos came up with a bit slower than real time transfers with a dual core 2.8GHz AMD Athlon 64. That's not exactly a race horse any more, but many people use slower processors than that for their pyTivo server. Any 4 core or especially 6 or 8 core prcessor should have no problem. Oddly enough, even the dual core could recode 1080p24 BluRay rips recoded to h.264 using Handbrake at just a bit faster than real-time.


lrhorer: what are the settings you use in Handbrake for this? How long does the average reencode take for, say, a two hour blu Ray rip?


----------



## innocentfreak

larrs said:


> lrhorer: what are the settings you use in Handbrake for this? How long does the average reencode take for, say, a two hour blu Ray rip?


I would be curious also. I am trying to figure out what profile will work best for my kmttg transfers mainly.


----------



## larrs

...may be wrong, but this is the first time i have ever done this. I am pretty sure I tried it before and it did not work as the file would have a red circle with slash indicating it could not transfer, but it does now. 

These are homemade AVCHD videos that have 1080/24p h264 video and ac3 448k audio. The files are 7-10GB and I am happy to report they pull in almost real time. Previously I have been converting them to h264 mp4 files, but I may not have to any longer. 


Anyone else notice this?

EDIT: Pushes work as well. Am I crazy or is this new behavior?


----------



## wmcbrine

larrs said:


> Anyone else notice this?
> 
> EDIT: Pushes work as well. Am I crazy or is this new behavior?


The part where it pulls without transcoding is due to the recent changes in pyTivo. The part where it works at all -- well, I'm guessing you upgraded your FFmpeg? If so, that's why.


----------



## larrs

wmcbrine said:


> The part where it pulls without transcoding is due to the recent changes in pyTivo. The part where it works at all -- well, I'm guessing you upgraded your FFmpeg? If so, that's why.


Yes, that is it. I had not tried an m2ts file since the upgrade.


----------



## moyekj

wmcbrine, currently with ts=on setting any remux from mpeg2 program stream or mp4 containers discards any captions. In order to preserve captions "-c:s copy" needs to be part of the ffmpeg remux command.

As a test I remuxed with ffmpeg an mpeg2 program stream containing 608 captions to mpeg2 transport stream with the above option and verified with mediainfo the captions were preserved and verified that when transferring to TiVo I could then turn captions on/off. I can supply a short test clip if needed, but it's easy to make your own by recording a short clip from any channel on TiVo with captions.


----------



## wmcbrine

moyekj said:


> wmcbrine, currently with ts=on setting any remux from mpeg2 program stream or mp4 containers discards any captions.


That's not what I'm seeing. But I'll try some more tests with and without the option.

I thought it was interesting that "ffmpeg -codecs" reports:



Code:


 ..S... eia_608              EIA-608 closed captions

meaning, it can neither decode from nor encode to that format. I wasn't sure what to make of that.


----------



## wmcbrine

Yeah, so far I'm not seeing any difference with "-c:s copy" or without. No acknowledgement from ffmpeg that it's doing anything with the option, for that matter. I think the captions are just being copied as part of the video. This is all with MPEG-2 PS -> TS.

(As I mentioned earlier, what I'm seeing -- with or without the option -- is that captions _are_ copied, but the copy is slightly lossy.)


----------



## moyekj

Hmm, yes looks like there is something else going on. Looks like there are different mux modes for captioning. DVD sources with 608 captions don't work for me. Here's how mediainfo reports them (after remuxing to TS with ffmpeg):


Code:


Text
ID                               : 256 (0x100)-DVD-2
Menu ID                          : 1 (0x1)
Format                           : EIA-608
Muxing mode                      : DVD-Video
Muxing mode, more info           : Muxed in Video #1
Duration                         : 1mn 0s
Bit rate mode                    : Constant
Stream size                      : 0.00 Byte (0%)

On the other hand, TiVo source with 608 captions does work (with pyTivo as is):


Code:


Text #1
ID                               : 256 (0x100)-608-1
Menu ID                          : 1 (0x1)
Format                           : EIA-608
Muxing mode                      : A/53 / DTVCC Transport
Muxing mode, more info           : Muxed in Video #1
Duration                         : 49s 182ms
Bit rate mode                    : Constant
Stream size                      : 0.00 Byte (0%)

For the case of DVD captions it doesn't work with or without "-c:s copy" so sorry for that.
I'll have to look at this some more to see if there is a way to get captions working from DVD sources.


----------



## mikeylikesit33

wmcbrine said:


> They _should_ be remuxed to MP4. (Currently I have no reason to believe that the Push system can accept transport streams.) I'll check... Yes, remuxing to MP4 with no reencoding is what I'm seeing here.


Thanks been waiting for this.


----------



## mikeylikesit33

Thanks been waiting for this


----------



## mikeylikesit33

Is there a setting I am missing, transfer barely keeps up with the show.


----------



## mikeylikesit33

mikeylikesit33 said:


> Is there a setting I am missing, transfer barely keeps up with the show.


I guess I should include that it is over a hardwire network too.


----------



## wmcbrine

mikeylikesit33 said:


> Is there a setting I am missing, transfer barely keeps up with the show.


That's far too vague a question to answer. "Barely keeping up with the show" can be perfectly normal, depending on 1) the source material, 2) the host computer, and/or 3) the destination TiVo.


----------



## larrs

mikeylikesit33 said:


> Is there a setting I am missing, transfer barely keeps up with the show.


I'd like to know this as well. If there is no reencoding, shouldn't pulls and pushes be about the same?

I have ts = on in my pytivo.conf file and the latest ffmpeg build.

However, I am getting pulls at about 80% real time, pushes are at about 200% real time or better.

I have tested h264 .ts files (1080/24p ac3 audio), h264 .mp4 files (1080/24p and 1080/60i ac3) and h264 .m2ts (1080/24p ac3) files and get about the same result.

Was there any update in the pyTivo structure that I need to be aware of? Mine is wmcbrine's fork from from last March.


----------



## moyekj

You need to use a very recent wmcbrine build to get native pulls of h.264 .mp4 files to Premiere units (pyTivo will remux to transport stream container).


----------



## moyekj

moyekj said:


> For the case of DVD captions it doesn't work with or without "-c:s copy" so sorry for that.
> I'll have to look at this some more to see if there is a way to get captions working from DVD sources.


Only way I found to get TiVo compatible captions in DTVCC Transport mux is to re-encode DVD mpeg2 source to mp4 using VideoRedo. I confirmed then I get captions on TiVo that way. ffmpeg doesn't support encoding of 608 captions, so VRD has a big advantage for H.264 encoding in that regard.


----------



## larrs

moyekj said:


> You need to use a very recent wmcbrine build to get native pulls of h.264 .mp4 files to Premiere units (pyTivo will remux to transport stream container).


Gotcha. What is the best way to go about updating to the latest build and leaving everything else as is as much as possible?

I asssume I will have to stop the service, rename the pyTivo folder and install the latest to the same location/ folder name as the old renamed folder. Then I can copy and paste my current .conf file into the new install. Anything I am missing to leave all my settings in place?


----------



## moyekj

larrs said:


> Gotcha. What is the best way to go about updating to the latest build and leaving everything else as is as much as possible?
> 
> I asssume I will have to stop the service, rename the pyTivo folder and install the latest to the same location/ folder name as the old renamed folder. Then I can copy and paste my current .conf file into the new install. Anything I am missing to leave all my settings in place?


 That should work.


----------



## lpwcomp

larrs said:


> Gotcha. What is the best way to go about updating to the latest build and leaving everything else as is as much as possible?
> 
> I asssume I will have to stop the service, rename the pyTivo folder and install the latest to the same location/ folder name as the old renamed folder. Then I can copy and paste my current .conf file into the new install. Anything I am missing to leave all my settings in place?


The .conf file is not part of the distribution so your current one will not be overwritten when you extract the new version.

There is a config file in the distribution but it is pyTivo.conf.dist and isn't actually used by pyTivo.


----------



## bareyb

I'm upgrading to the latest version of PyTivo on my Mac. What version of ffmpeg should I be using with that?


----------



## Iluvatar

bareyb said:


> I'm upgrading to the latest version of PyTivo on my Mac. What version of ffmpeg should I be using with that?


I'll be posting a new version of the latest stable on my FFmpeg post at pyTivo forums in the next couple days if you wish to use that. The version that is already there is still not very old though.

As always there are many variations on premade FFmpeg binaries out there so you can choose one that suits your needs.


----------



## bareyb

Iluvatar said:


> I'll be posting a new version of the latest stable on my FFmpeg post at pyTivo forums in the next couple days if you wish to use that. The version that is already there is still not very old though.
> 
> As always there are many variations on premade FFmpeg binaries out there so you can choose one that suits your needs.


Ah cool! I have the last version 0.8.10. from your site that I got last January. I'll hold off and wait for the new version. Thanks!


----------



## Iluvatar

bareyb said:


> Ah cool! I have the last version 0.8.10. from your site that I got last January. I'll hold off and wait for the new version. Thanks!


I've uploaded many 'testing' builds since last January. 0.8.10 is what I call my stable build but the current posted testing build 0.11.1 is has been perfectly stable...I suppose I should relabel them.


----------



## bareyb

Iluvatar said:


> I've uploaded many 'testing' builds since last January. 0.8.10 is what I call my stable build but the current posted testing build 0.11.1 is perfectly stable...I suppose I should relabel them.


Are you still posting them here?: http://pytivo.sourceforge.net/forum/ffmpeg-builds-for-mac-os-x-t1803.html

ETA: Ah, I see you put it at the end of the thread instead of the beginning with the others.


----------



## Iluvatar

bareyb said:


> Are you still posting them here?: http://pytivo.sourceforge.net/forum/ffmpeg-builds-for-mac-os-x-t1803.html


Yes. If you look at the note at the top of the post it shows the last time I updated the builds. The links to the builds are further down in that post, a link to my testing build and then below that several links to older builds that some may prefer.


----------



## bareyb

Iluvatar said:


> Yes. If you look at the note at the top of the post it shows the last time I updated the builds. The links to the builds are further down in that post, a link to my testing build and then below that several links to older builds that some may prefer.


Yep. I see it now. What version will the new one be? I want to make sure I get the right one... Will it be posted on the first page of the thread with the older Stable builds?


----------



## Iluvatar

bareyb said:


> Yep. I see it now. What version will the new one be? I want to make sure I get the right one... Will it be posted on the first page of the thread with the older Stable builds?


Unless a new version is released in the next day or two it will be based on FFmpeg 1.01. As always, links to newest versions can be found in the first post.


----------



## larrs

lpwcomp said:


> The .conf file is not part of the distribution so your current one will not be overwritten when you extract the new version.
> 
> There is a config file in the distribution but it is pyTivo.conf.dist and isn't actually used by pyTivo.


OK, this is how I did it (as you suggested). Seemed to work fine and mp4's transfer screamingly fast now. However, I now have a couple of issues that I could use help on:

Now, m2ts and ts files (1080/24p video, 448k/5.1 ac3 audio) will not push or pull, although ts = on is in my configuration; which they would push and pull before the upgrade. Now, on pulls of these types of files the tivo says "start playing" but the light on the premiere never comes on and even after many minutes, it is still at the very beginning of the program stating "getting more of the show". On pushes, it never actually starts the transfer, although I noticed it did create a temp file from my m2ts file.

Also, on my Tivos, the name of my share (Video Collection) is greyed out with an exclamation point next to it, although I can still select it as usual and view and transfer my files (other than m2ts and ts files). Perhaps I should set zeroconf to "true"? (edit: that did nothing)

Any suggestions on where I went wrong?


----------



## wmcbrine

larrs said:


> Now, on pulls of [.m2ts] files the tivo says "start playing" but the light on the premiere never comes on and even after many minutes, it is still at the very beginning of the program stating "getting more of the show". On pushes, it never actually starts the transfer, although I noticed it did create a temp file from my m2ts file.


If they pulled OK before you upgraded pyTivo, and not now, then I assume that pyTivo is now passing them through as OK, but the TiVo is choking on them. Try marking the container as bad in the metadata, so that pyTivo will remux them -- add a line like "Override_container: foo".

The push issue just sounds like the typical flakiness from the mind server, unrelated to the pull issue, and not actually dependent on the file type.



> _Also, on my Tivos, the name of my share (Video Collection) is greyed out with an exclamation point next to it_


And this is new behavior? If so, maybe try rebooting your router, then the TiVo if that doesn't fix it.


----------



## lpwcomp

wmcbrine said:


> larrs said:
> 
> 
> 
> Also, on my Tivos, the name of my share (Video Collection) is greyed out with an exclamation point next to it, although I can still select it as usual and view and transfer my files (other than m2ts and ts files). Perhaps I should set zeroconf to "true"? (edit: that did nothing)
> 
> 
> 
> And this is new behavior? If so, maybe try rebooting your router, then the TiVo if that doesn't fix it.
Click to expand...

This is because of the fall update to the Premiere s/w.


----------



## larrs

wmcbrine said:


> If they pulled OK before you upgraded pyTivo, and not now, then I assume that pyTivo is now passing them through as OK, but the TiVo is choking on them. Try marking the container as bad in the metadata, so that pyTivo will remux them -- add a line like "Override_container: foo".
> 
> The push issue just sounds like the typical flakiness from the mind server, unrelated to the pull issue, and not actually dependent on the file type.
> 
> And this is new behavior? If so, maybe try rebooting your router, then the TiVo if that doesn't fix it.


I'll need a bit more info. Am I assuming I need to edit the metadata.py file? Where should that line be added?

After a couple of reboots of everything, I got my "computer"icon back and no greyed out share---but the m2ts and ts behavior persists...one step at a time? I could always live with it as is, but it is weird to lose a feature I loved a few days ago. Aren't computers fun?

By the way, pushes are OK now that the (!) is gone.... weird...but pulls are the same as before, so your theory of them being unrelated is correct.


----------



## wmcbrine

lpwcomp said:


> This is because of the fall update to the Premiere s/w.


Yes, I know, but that was weeks ago. I said "new". I was trying to determine if he actually saw this change since upgrading pyTivo (unlikely to be more than a coincidence, but I wanted to rule it out).



larrs said:


> Am I assuming I need to edit the metadata.py file?


No. Have you never used metadata text files with pyTivo?


----------



## larrs

wmcbrine said:


> Yes, I know, but that was weeks ago. I said "new". I was trying to determine if he actually saw this change since upgrading pyTivo (unlikely to be more than a coincidence, but I wanted to rule it out).
> 
> No. Have you never used metadata text files with pyTivo?


Yes, this change only ocurred toady after the upgrade of pyTivo and my tivos were updated a couple of weeks ago to the latest tivo sw. Nothing else has changed.

yes, I use metagen for metadata and I added that line to the meta text file with no effect.

Also seems that pushes through vidmgr also choke on this type of file now (mpg, mp4, vob still work fine) but still tries to create the pytivo temp file for the file; size reports as 0 bytes. This all worked fine before the upgrade today. However, pushes from the pyTivo console still works with these files (as stated above).


----------



## wmcbrine

You don't need to use anything for metadata; it's just a text file, and you only need the one line. In fact, I'd suggest putting just that one line in a "default.txt" in a folder with the problem files.


----------



## larrs

wmcbrine said:


> You don't need to use anything for metadata; it's just a text file, and you only need the one line. In fact, I'd suggest putting just that one line in a "default.txt" in a folder with the problem files.


I created a folder in my pyTivo share and dropped in one of the offending files and created the default.txt file as you suggested. It worked.

My only question is if I can still create my normal metadata text files for each video file as usual, or should the line "Override_container: foo" be inserted into each of my usual meta text files at the beginning. Or, does it matter?


----------



## wmcbrine

default.txt is sufficient. You can do whatever you want for the individual files. The data from both are combined.


----------



## larrs

wmcbrine said:


> default.txt is sufficient. You can do whatever you want for the individual files. The data from both are combined.


Thanks for the input. And, happy holidays!

Given the current state of the process, I can see eliminating vidmgr and streambaby from my world soon.

Thanks for all the work you do in keeping pyTivo an irreplaceable app. I really wouldn't want to live without it.


----------



## cweb

There has been a lot of back and forth in this thread. Since I'm not the brightest bulb, I've become a bit lots as to how we achieve these blazing pytivo pull speeds. Is it possible for someone to summarize this?

First it seems you want to make sure you have the latest ffmpeg build. Then you add an entry to your pytivo.conf file that is "ts=on".

Does the file have to be originally be pulled as a transport stream. In kmttg there is an option to pull the show as a transport stream. Is this the "ts" we are talking about? Can the file be a .tivo or a .mpg2 or does it have to be converted to a mp4?


Usually I catch on quicker, but all of his holiday turkey may have done me in. As usual, all help is appreciated.


----------



## kbgators

cweb said:


> There has been a lot of back and forth in this thread. Since I'm not the brightest bulb, I've become a bit lots as to how we achieve these blazing pytivo pull speeds. Is it possible for someone to summarize this?
> 
> First it seems you want to make sure you have the latest ffmpeg build. Then you add an entry to your pytivo.conf file that is "ts=on".
> 
> Does the file have to be originally be pulled as a transport stream. In kmttg there is an option to pull the show as a transport stream. Is this the "ts" we are talking about? Can the file be a .tivo or a .mpg2 or does it have to be converted to a mp4?


I have same questions. Please help. Thanks


----------



## gonzotek

cweb said:


> There has been a lot of back and forth in this thread. Since I'm not the brightest bulb, I've become a bit lots as to how we achieve these blazing pytivo pull speeds. Is it possible for someone to summarize this?
> 
> First it seems you want to make sure you have the latest ffmpeg build. Then you add an entry to your pytivo.conf file that is "ts=on".
> 
> Does the file have to be originally be pulled as a transport stream. In kmttg there is an option to pull the show as a transport stream. Is this the "ts" we are talking about? Can the file be a .tivo or a .mpg2 or does it have to be converted to a mp4?
> 
> Usually I catch on quicker, but all of his holiday turkey may have done me in. As usual, all help is appreciated.


The latest ffmpeg(windows builds here, mac builds here) & wmcbrine pytivo releases, and ts=on in pytivo.conf are all required. The file does not need to originally be a transport stream pulled from the TiVo. What is important to the super-fast pull process, however, is that the file contain h.264 video content that the TiVo can playback (level 4.1 or below). It can be stored inside an mkv, mp4, or ts container (and possibly others, I haven't tried). This is the main recent improvement: previously h.264 content would be transcoded to mpeg2 during a pull, now it can be sent without any (slow) transcoding, and since it is significantly smaller than mpeg2, transfers happen _very_ fast. Even if the audio isn't compatible, content starts to transfer virtually instantaneously as transport streams don't need to be complete at the source before sending the first bits out, so pytivo can transcode the audio as it leaves the pc. Pushed content still works as before: If both the video and audio are already in the correct container, transfers happen quickly (once the tivo gets the request from the mind server); if not, they must be transcoded, and/or possibly remuxed into a new file, which can take a measurable amount of time before you can playback the final file on the TiVo.


----------



## larrs

gonzotek said:


> The latest ffmpeg(windows builds here, mac builds here) & wmcbrine pytivo releases, and ts=on in pytivo.conf are all required. The file does not need to originally be a transport stream pulled from the TiVo. What is important to the super-fast pull process, however, is that the file contain h.264 video content that the TiVo can playback (level 4.1 or below). It can be stored inside an mkv, mp4, or ts container (and possibly others, I haven't tried). This is the main recent improvement: previously h.264 content would be transcoded to mpeg2 during a pull, now it can be sent without any (slow) transcoding, and since it is significantly smaller than mpeg2, transfers happen _very_ fast. Even if the audio isn't compatible, content starts to transfer virtually instantaneously as transport streams don't need to be complete at the source before sending the first bits out, so pytivo can transcode the audio as it leaves the pc. Pushed content still works as before: If both the video and audio are already in the correct container, transfers happen quickly (once the tivo gets the request from the mind server); if not, they must be transcoded, and/or possibly remuxed into a new file, which can take a measurable amount of time before you can playback the final file on the TiVo.


m2ts files also work with the same result. However as you can see in my post above, it did require (at least on my system) a line to be entered into a text file and to reside in the same folder as said file.


----------



## lrhorer

gonzotek said:


> This is the main recent improvement: previously h.264 content would be transcoded to mpeg2 during a pull, now it can be sent without any (slow) transcoding, and since it is significantly smaller than mpeg2, transfers happen _very_ fast.


It is of course true it takes less time to transfer a smaller file, but the increase in speed cannot be attributed merely to file size. H.264/MP4 content may be only 30% or so smaller than the same content coded as MPEG-II with about the same perceived PQ, but the files transfer up to 4 times faster.



gonzotek said:


> Even if the audio isn't compatible, content starts to transfer virtually instantaneously as transport streams don't need to be complete at the source before sending the first bits out, so pytivo can transcode the audio as it leaves the pc.


The same is sort of true of program streams, if I take your meaning properly. That is to say, as long as the MOOV atom is available, pyTiVo can transcode an MP4 on the fly, even if the file is a PS file. Going from an MPEG-II file to an MP4 is another matter.



gonzotek said:


> Pushed content still works as before: If both the video and audio are already in the correct container, transfers happen quickly (once the tivo gets the request from the mind server); if not, they must be transcoded, and/or possibly remuxed into a new file, which can take a measurable amount of time before you can playback the final file on the TiVo.


As long as the source CPU is fast enough, one can start watching the video of a transcoded file immediately. The TiVo measures the transfer rate of the video and forces the user to wait rather than potentially encounter pauses while watching the video as can be the case with pulls. With the old AMD Athlon 64 x 2 CPU on my server, transcoded pushes sometimes encountered halts of a few minutes while enough video buffered for the TiVo to be satisfied there would be no pauses while watching. With the new AMD Phenom II x 6 CPU, this never happens.


----------



## caddyroger

I have a windows 8 pc that I use to download upload programs to my tivo. I download the 6 movies of Star trek last week end and removed the junk form them. I did combine them using videoredo. The total hr was a little over 14 hrs. I use pytivo to upload to tivo but I am not able to to upload more then 6.5 hrs. Would any one know why it not doing more 6.5 hrs?


----------



## txporter

moyekj said:


> Only way I found to get TiVo compatible captions in DTVCC Transport mux is to re-encode DVD mpeg2 source to mp4 using VideoRedo. I confirmed then I get captions on TiVo that way. ffmpeg doesn't support encoding of 608 captions, so VRD has a big advantage for H.264 encoding in that regard.


Based on this discussion that a few folks had about a year ago, it looks like Dan203 and DanR figured out some way to incorporate what jmemmott was doing with t2sami into VRDv4.


----------



## txporter

lrhorer said:


> It is of course true it takes less time to transfer a smaller file, but the increase in speed cannot be attributed merely to file size. H.264/MP4 content may be only 30% or so smaller than the same content coded as MPEG-II with about the same perceived PQ, but the files transfer up to 4 times faster.


Tivos that can handle H.264 playback accept the mp4 containers as-is. There is no internal remuxing. What you see is just the raw transfer rate of video from PC to Tivo. MPEG2 transfers on the otherhand are actually remuxed again once they hit the Tivo (to whatever proprietary format that Tivo uses, .py or something I believe). I think you have some hacked Series3 machines, so you know what I am talking about. I don't have a hacked machine myself. At any rate, the MPEG2 transfer rate is muddied by the internal processing of the video as it hits the Tivo.


----------



## txporter

I am now using wmcbrine's latest version of pytivo that allows for pulls of H.264 files. I really love it. I can now pull TV shows with correct seriesId into folders. I haven't looked into whether or not the shows seriesId needs to be in the Tivo internal database or not. Does anyone know?

Also, I guess that it isn't possible to group items into a new user-defined folder using pull the same way that you can with a push? i.e. Movies folder or some such


----------



## lpwcomp

txporter said:


> Also, I guess that it isn't possible to group items into a new user-defined folder using pull the same way that you can with a push? i.e. Movies folder or some such


Only on a Premiere.


----------



## lrhorer

txporter said:


> Tivos that can handle H.264 playback accept the mp4 containers as-is. There is no internal remuxing. What you see is just the raw transfer rate of video from PC to Tivo.


Correct. Add to that the smaller file size at the outset and you have a file that transfers up to 4 times faster or a bit more on a THD, especially if it is 720p. Even on a Premiere, it can transfer twice as fast, pegging right up against the 100M Ethernet port limit.



txporter said:


> MPEG2 transfers on the otherhand are actually remuxed again once they hit the Tivo (to whatever proprietary format that Tivo uses, .py or something I believe).


Actually, it's .ty, short for tystream. No one outside of TiVo seems to know why they call the fail format tystream, but there you have it.



txporter said:


> I think you have some hacked Series3 machines, so you know what I am talking about.


Yep. Raw tystreams enjoy a similar boost in performance due to the low overhead. It is also why the THD, with its much slower processor, enjoys a much greater gain than the S3 and the S3 more of a gain than the Premiere, but even the Premiere boasts a 2x increase in performance.



txporter said:


> I don't have a hacked machine myself. At any rate, the MPEG2 transfer rate is muddied by the internal processing of the video as it hits the Tivo.


Indubitably. It is also why 720p streams are impacted more than 1080i streams, although I am unsure of the exact details relevant to the fact the 720p streams transfer considerably slower than 1080i streams of the same bandwidth.


----------



## lrhorer

lpwcomp said:


> Only on a Premiere.


Well, since one can only pull h.264 files on a Premiere, the point is moot.


----------



## lpwcomp

lrhorer said:


> Well, since one can only pull h.264 files on a Premiere, the point is moot.


----------



## lrhorer

lpwcomp said:


>


He's talking about pulling h.264 files, which unless I am mistaken can only be accomplished on a Premiere, so any activity limited to the Premiere is given to be available, notwithstanding any failure of the activity on an S3.


----------



## lpwcomp

lrhorer said:


> He's talking about pulling h.264 files, which unless I am mistaken can only be accomplished on a Premiere, so any activity limited to the Premiere is given to be available, notwithstanding any failure of the activity on an S3.


You should be able to pull h.264 files to any TiVo, it's just that they will be transcoded.


----------



## lrhorer

lpwcomp said:


> You should be able to pull h.264 files to any TiVo, it's just that they will be transcoded.


'Sorry, I meant to say, "Without transcoding...".


----------



## txporter

lpwcomp said:


> Only on a Premiere.


I am pulling to a Premiere. How can I group items to a single folder with pytivo with a user created seriesId (i.e. Movies)?


----------



## lpwcomp

txporter said:


> I am pulling to a Premiere. How can I group items to a single folder with pytivo with a user created seriesId (i.e. Movies)?


Using an arbitrary seriesId _*used*_ to work but it that got broken at some point though may bne working again with the latest fix. I haven't completely tested it again.

What does seem to work this point (at least for me) is using a seriesId of the form SH9nnnnnnn where nnnnnnn is 0001101 or greater. I put movies I want to group into the same folder on the PC and create a default.txt file with the relevant information. You must also change the title entry in the individual metadata files to episodeTitle and remove or comment out the movieYear and isEpisodic entries.

Example of a default.txt:


Code:


seriesTitle : The Lord of the Rings
title : The Lord of the Rings
seriesId : SH90001112
isEpisode : true
isEpisodic : true

example of a modified metadata file:


Code:


episodeTitle : The Fellowship of the Ring
#movieYear : 2001
description : From the idyllic shire of the Hobbits to the smoking chasms of Mordor, director Peter Jackson follows Frodo Baggins (Elijah Wood) as he embarks on his epic quest. The movie -- which nabbed 13 Oscar nods -- boasts an outstanding cast, including Ian McKellen and Viggo Mortensen. This extended version includes unseen footage.
originalAirDate : 2001-12-19T23:00:00Z
time : 2001-12-19T23:00:00Z
starRating : X6
#mpaaRating : PG-13
vProgramGenre : Action & Adventure
vProgramGenre : Sci-Fi & Fantasy
vProgramGenre : Action Sci-Fi & Fantasy
vProgramGenre : Fantasy
vDirector : Peter Jackson|
vActor : Elijah Wood|
vActor : Sean Astin|
vActor : Ian Holm|
vActor : Ian McKellen|
vActor : Christopher Lee|
vActor : Orlando Bloom|
vActor : Billy Boyd|
vActor : Liv Tyler|
vActor : Cate Blanchett|
vActor : Sean Bean|
vActor : Brad Dourif|
vActor : Bernard Hill|
vActor : Viggo Mortensen|
vActor : Miranda Otto|
vActor : John Rhys-Davies|
vActor : Bruce Spence|
vActor : Karl Urban|
vActor : Hugo Weaving|
vActor : David Wenham|
image : The Fellowship of the Ring.mp4.jpg

You'll note that I also commented out the mpaaRating entry. While the movies still group, its presence seems to cause a problem with the most of the metadata.

You'll also note that I added originalAirDate and time entries. If you choose to do so, *DO NOT USE A time ENTRY PRIOR TO 1970! YOUR TiVo WILL CRASH!*


----------



## reneg

moyekj said:


> Only way I found to get TiVo compatible captions in DTVCC Transport mux is to re-encode DVD mpeg2 source to mp4 using VideoRedo. I confirmed then I get captions on TiVo that way. ffmpeg doesn't support encoding of 608 captions, so VRD has a big advantage for H.264 encoding in that regard.


I'm not sure what DTVCC Transport mux & 608 captions are, but does this mean that it's possible to create a H.264 file with closed captions that can be enabled or disabled at the tivo?

I tried to create Tivo compatible captions with H.264 encoding file, but haven't gotten it to work on my Premiere. When I try to turn the captions on at the tivo side, the tivo says that the program has closed captions but does not display any captions. Can someone identify what I'm doing wrong.
1) Transfer video (as program stream) from Tivo to PC using kmttg
1a) decrypt with tivodecode under kmttg
1b) run videoredo QS Fix under kmttg
1c) run videoredo ad detect under kmttg. Manually review ad cuts in videoredo
1d) run videoredo ad cut under kmttg
1e) run ccextractor under kmttg
1f) encode with modified videoredo h264-MP4 profile (resolution changed to 720x400 to decrease file size)
2) Run mp4box to mux in .srt captions from ccextractor into the mp4 container with video and audio. Mediainfo attached
3) Push video to Tivo (Doesn't look like it's transcoding):


Code:


2012-12-31 16:27:37,506 DEBUG pyTivo.video.transcode: CACHE HIT! d:\Video\Raising Hope.S308-The Last Christmas_cut.mp4-muxed.mp4
2012-12-31 16:27:37,507 DEBUG pyTivo.video.transcode: TRANSCODE=NO, all compatible, d:\Video\Raising Hope.S308-The Last Christmas_cut.mp4-muxed.mp4
2012-12-31 16:27:37,509 INFO  pyTivo: 192.168.1.91 [31/Dec/2012 16:27:37] "GET /Boomer_DVideos/Raising%20Hope.S308-The%20Last%20Christmas_cut.mp4-muxed.mp4?Format=video%2Fmp4 HTTP/1.1" 200 -
2012-12-31 16:27:37,509 INFO  pyTivo.video.video: [31/Dec/2012 16:27:37] Start sending "d:\Video\Raising Hope.S308-The Last Christmas_cut.mp4-muxed.mp4" to Kitchen
2012-12-31 16:27:37,509 DEBUG pyTivo.video.video: "d:\Video\Raising Hope.S308-The Last Christmas_cut.mp4-muxed.mp4" is tivo compatible
2012-12-31 16:27:37,510 DEBUG pyTivo.video.qt-faststart: Getting index of top level atoms...
2012-12-31 16:27:37,512 DEBUG pyTivo.video.qt-faststart: ftyp: 20
2012-12-31 16:27:37,512 DEBUG pyTivo.video.qt-faststart: moov: 1196360
2012-12-31 16:27:37,513 DEBUG pyTivo.video.qt-faststart: mdat: 547576858
2012-12-31 16:27:37,513 DEBUG pyTivo.video.qt-faststart: free: 69
2012-12-31 16:27:37,513 DEBUG pyTivo.video.qt-faststart: mp4 already streamable -- copying
2012-12-31 16:28:28,447 INFO  pyTivo.video.video: [31/Dec/2012 16:28:28] Done sending "d:\Video\Raising Hope.S308-The Last Christmas_cut.mp4-muxed.mp4" to Kitchen, 548773307 bytes, 82.19 Mb/s


----------



## moyekj

In your mediainfo it's showing following for text format:
Format: Timed text

This is mediainfo for CC in mpeg2 downloaded from TiVo:
(Can turn on/off captions with this clip on the TiVo)


Code:


Text
ID                               : 224 (0xE0)-608-1
Format                           : EIA-608
Muxing mode                      : A/53 / DTVCC Transport
Muxing mode, more info           : Muxed in Video #1
Bit rate mode                    : Constant
Stream size                      : 0.00 Byte (0%)

This is from same video encoded to h.264 mp4 with recent version of VRD TVSuite:
(Can turn on/off captions with this clip on the TiVo)


Code:


Text
ID                               : 1-608-1
Format                           : EIA-608
Muxing mode                      : AVC / SCTE 128 / DTVCC Transport
Muxing mode, more info           : Muxed in Video #1
Duration                         : 43s 711ms
Bit rate mode                    : Constant
Stream size                      : 0.00 Byte (0%)

i.e. If the original mpeg2 has EIA-608 captions you don't need to generate srt and then try to mux it in. VideoRedo will take care of it. VideoRedo will also convert DVD captions to the EIA-608 DVTCC transport mux format when encoding to H.264 in mp4 container which also works on the TiVo.


----------



## reneg

I had the latest released version of Videoredo and when I checked for updates, it said I had the latest version (build 629, I think). I went to the Videoredo forums and downloaded with latest beta (build 646). 

Encoding with this newer version of VideoRedo allowed me encode H264 and have the closed captions work on my Premiere. No need to mux in the .srt like you said.

Thanks moyekj and the Videoredo folks.


----------



## bareyb

Quick question: I am on Mountain Lion and I'm using the PyTiVo build from last January. Is there any reason to upgrade to a newer version of PyTiVo if everything is working well?


----------



## newsposter

why when i pull a file to tivo does it enable me to start watching within 2 to 3 seconds but if i push the same file, it takes much longer and pytivo seems to 'work a lot more' before it begins to stream and the blue light comes on - dont know how else to word that.


----------



## lpwcomp

newsposter said:


> why when i pull a file to tivo does it enable me to start watching within 2 to 3 seconds but if i push the same file, it takes much longer and pytivo seems to 'work a lot more' before it begins to stream and the blue light comes on - dont know how else to word that.


Part of it is that a push has to be initiated through the mind.tivo.com server. Note that that is just the initiation. The actual data still goes directly from your computer to the TiVo.


----------



## wmcbrine

newsposter said:


> why when i pull a file to tivo does it enable me to start watching within 2 to 3 seconds but if i push the same file, it takes much longer and pytivo seems to 'work a lot more' before it begins to stream and the blue light comes on - dont know how else to word that.


1. As mentioned, push requests go through the mind server. This doesn't involve pyTivo working, though; it's just waiting.

2. If you're pushing something that needs to be remuxed to MP4, that's done before the request is sent, because it takes two passes to make a pushable MP4. (Program streams and transport streams can be built in a single pass, so they're done concurrently with the transfer.) If you actually see CPU and disk activity, this is probably the reason.

3. Once they do start, push transfers aren't immediately playable the way pulls are. This is because the push mechanism was designed originally for transfers of podcasts (TiVoCasts) over the Internet, which TiVo assumed could be slow, and I believe they didn't want the user experience to involve a lot of starts and stops (the stereotypical "buffering" situation).


----------



## tluxon

lpwcomp said:


> ...
> You'll also note that I added originalAirDate and time entries. If you choose to do so, *DO NOT USE A time ENTRY PRIOR TO 1970! YOUR TiVo WILL CRASH!*


I'm archiving several series and some movies from the 60's. Why will these dates make the TiVo crash and is there a decent workaround for it?


----------



## lpwcomp

tluxon said:


> I'm archiving several series and some movies from the 60's. Why will these dates make the TiVo crash and is there a decent workaround for it?


Unless you enter it by hand or are using a modified metadata generator (as I am), you don't need to worry about it. It's not the originalAirDate that is the problem. It is the date/time of the actual recording. That is what the "time :" entry in the metadata controls. If you don't have an entry for it in the metadata, it will default to the actual date/time of the transfer to the TiVo.

I suspect that what is happening is that the TiVo is using some fixed date to calculate a value for sorting purposes and that a negative result generates an arithmetic error in the CPU and, as is typical with TiVo s/w, there is no error handling


----------



## gonzotek

lpwcomp said:


> I suspect that what is happening is that the TiVo is using some fixed date to calculate a value for sorting purposes and that a negative result generates an arithmetic error in the CPU and, as is typical with TiVo s/w, there is no error handling


Most likely the Unix Epoch:
http://en.wikipedia.org/wiki/Unix_time#Definition


----------



## newsposter

i have a friend that thinks the whole pytivo thing is neat...but she has Dish...is there any way to put programs on a Dish receiver with pytivo or a program like it?

i remember when i had directv i could use tversity with their receivers.


----------



## tjtv

I recently installed the new version of pytivo that allows pulling h264 files directly. It really works great, many thanks for all your hard work. Pulling is much more user friendly than the old push method that was required.

I am running pytivo on a pogoplug. The pogoplug has a very underpowered ARM CPU, which is no problem for most of my videos since nothing needs to be transcoded. However, some of my files have h264 video/dts audio. The dts audio needs to be transcoded to AC3, and the pogoplug CPU is not powerful enough to do this in real-time. 

Does anyone know of a way to speed up the dts -> ac3 conversion process? If I could find a way to make the pogoplug do that conversion in realtime I think I have finally found the holy grail.


----------



## Iluvatar

tjtv said:


> I recently installed the new version of pytivo that allows pulling h264 files directly. It really works great, many thanks for all your hard work. Pulling is much more user friendly than the old push method that was required.
> 
> I am running pytivo on a pogoplug. The pogoplug has a very underpowered ARM CPU, which is no problem for most of my videos since nothing needs to be transcoded. However, some of my files have h264 video/dts audio. The dts audio needs to be transcoded to AC3, and the pogoplug CPU is not powerful enough to do this in real-time.
> 
> Does anyone know of a way to speed up the dts -> ac3 conversion process? If I could find a way to make the pogoplug do that conversion in realtime I think I have finally found the holy grail.


I am in a similar situation. I have just been using a homemade script to convert the DTS audio when the file is first placed on the storage device so it is ready to use when I want to watch it. I'm working on cleaning it up so I can release it, maybe it will help. I'd like to get the script to where it would scan a folder and convert all files that meet the desired criteria.

As to speeding up your current process, there is not much you can do. You may be able to increase performance very slightly by compiling an optimized FFmpeg binary and using the fixed-point decoder/encoder but it's not worth the time in my opinion.


----------



## Iluvatar

Iluvatar said:


> I'll be posting a new version of the latest stable on my FFmpeg post at pyTivo forums in the next couple days if you wish to use that. The version that is already there is still not very old though.
> 
> As always there are many variations on premade FFmpeg binaries out there so you can choose one that suits your needs.


It seems that there is a new FFmpeg release (1.1) yesterday so I'll test that instead and upload it soon.


----------



## Raver

Ok had to reinstall windows and seem to have everything running correctly until I try to push menu. The commend prompt indicates there is a share problem...but I've got the path of the folder done correctly. I've attached the command prompt and the http://localhost:9032/ images. Any ideas what's going on?


----------



## Raver

If I understand the sharing problem is related to the folder pyTivo is looking for the shared videos? I have c:\videos as the path to share folder.

Alo the command prompt says no movies plug in...


----------



## Iluvatar

Raver said:


> If I understand the sharing problem is related to the folder pyTivo is looking for the shared videos? I have c:\videos as the path to share folder.
> 
> Alo the command prompt says no movies plug in...


There is not a pyTivo movie plugin. Likely you got the share name and the plugin type mixed up.

A generic video share will be described like this in the configuration

[Share Name]
type = video
path = C:\path\to\share
etc....

So yours may look like:

[Movies]
type = video
path = C:\Videos


----------



## lpwcomp

Raver said:


> If I understand the sharing problem is related to the folder pyTivo is looking for the shared videos? I have c:\videos as the path to share folder.
> 
> Alo the command prompt says no movies plug in...


Post your pyTivo.conf file after removing any sensitive entries, like your password and/or MAK. Your screen shot of the browser display indicates there are no TiVos nor shares defined.


----------



## tjtv

Iluvatar said:


> I am in a similar situation. I have just been using a homemade script to convert the DTS audio when the file is first placed on the storage device so it is ready to use when I want to watch it. I'm working on cleaning it up so I can release it, maybe it will help. I'd like to get the script to where it would scan a folder and convert all files that meet the desired criteria.
> 
> As to speeding up your current process, there is not much you can do. You may be able to increase performance very slightly by compiling an optimized FFmpeg binary and using the fixed-point decoder/encoder but it's not worth the time in my opinion.


I'd rather not have to run a conversion script as it's just one more thing that can go wrong. I was wondering if there was a way to set a lower quality audio option in ffmpeg that would make the conversion quicker, but I guess that's not possible.

The pogoplug that I have is a B02 model, it has a dual core 700mhz cpu. There is another revision of the pogoplug called E02 which has a single core 1.2ghz cpu. I know that it's not necessarily a scientific measurement but the bogomips rating of the B02 is 2x279, whereas the E02 has a 1150 bogomips rating. I'm wondering if the extra processing power of the E02 will be able to keep up with realtime DTS -> AC3 transcoding. I'm reluctant to spend the $35 on the E02 model without knowing for sure.


----------



## Raver

lpwcomp said:


> Post your pyTivo.conf file after removing any sensitive entries, like your password and/or MAK. Your screen shot of the browser display indicates there are no TiVos nor shares defined.


[Server]
port = 9032
tivo_mak = *************
tivo_password = **********
tivo_username = ***********
ffmpeg = C:\pyTivo\bin\ffmpeg.exe
tivodecode = c:\pyTivo\bin\tivodecode.exe

[_tivo_SD]

[_tivo_HD]
tivo_username = ************
tivo_mak = ***********
tivo_password = ******

[Videos]
path = c:\videos
type = movies


----------



## tjtv

Raver said:


> [Server]
> 
> [Videos]
> path = c:\videos
> type = movies


I'm not an expert, but I think your problem is that it should say type = video, instead of type = movies


----------



## Iluvatar

Raver said:


> [Server]
> port = 9032
> tivo_mak = *************
> tivo_password = **********
> tivo_username = ***********
> ffmpeg = C:\pyTivo\bin\ffmpeg.exe
> tivodecode = c:\pyTivo\bin\tivodecode.exe
> 
> [_tivo_SD]
> 
> [_tivo_HD]
> tivo_username = ************
> tivo_mak = ***********
> tivo_password = ******
> 
> [Videos]
> path = c:\videos
> type = movies


read my post above. The problem is what I described.


----------



## Iluvatar

tjtv said:


> I'd rather not have to run a conversion script as it's just one more thing that can go wrong. I was wondering if there was a way to set a lower quality audio option in ffmpeg that would make the conversion quicker, but I guess that's not possible.
> 
> The pogoplug that I have is a B02 model, it has a dual core 700mhz cpu. There is another revision of the pogoplug called E02 which has a single core 1.2ghz cpu. I know that it's not necessarily a scientific measurement but the bogomips rating of the B02 is 2x279, whereas the E02 has a 1150 bogomips rating. I'm wondering if the extra processing power of the E02 will be able to keep up with realtime DTS -> AC3 transcoding. I'm reluctant to spend the $35 on the E02 model without knowing for sure.


You can use a lower quality audio setting for pyTivo to transcode with but it will not drastically increase your framerate. DTS is a processor intensive codec to decode...and then you add the reencoding to AC3 on top of that.


----------



## lpwcomp

Raver said:


> [Videos]
> path = c:\videos
> type = movies





tjtv said:


> I'm not an expert, but I think your problem is that it should say type = video, instead of type = movies


tjtv is correct, as was Iluvatar earlier.



Raver said:


> [_tivo_HD]
> tivo_username = ************
> tivo_mak = ***********
> tivo_password = ******


The entries in this section apply to all HD capable TiVos on your network. I'm not sure these particular fields get used in this context and in any case, unless they are different from the global server settings, are unnecessary.

As I suspected you do not have any TiVos defined. You need to add a section of the form:

[_tivo_xxxxxxxxxxxxxxx]

Where "xxxxxxxxxxxxxxx" is the TSN of the TiVo. One entry for each TiVo.


----------



## gonzotek

lpwcomp said:


> tjtv is correct, as was Iluvatar earlier.
> 
> The entries in this section apply to all HD capable TiVos on your network. I'm not sure these particular fields get used in this context and in any case, unless they are different from the global server settings, are unnecessary.
> 
> As I suspected you do not have any TiVos defined. You need to add a section of the form:
> 
> [_tivo_xxxxxxxxxxxxxxx]
> 
> Where "xxxxxxxxxxxxxxx" is the TSN of the TiVo. One entry for each TiVo.


I don't define tivos in my pytivo.conf and have no problems. I thought you only needed to define tivos if you wanted certain shares to only appear on certain tivos, or if you needed to override the aspect ratio for certain S2 models:
http://pytivo.sourceforge.net/wiki/index.php/Configure_pyTivo#Individual_TiVo_Settings

Raver, here's a minimal pytivo.conf I'd recommend for you, at least initially:


Code:


[Server]
port = 9032
tivo_mak = *************
tivo_password = **********
tivo_username = ***********
ffmpeg = C:\pyTivo\bin\ffmpeg.exe
tivodecode = c:\pyTivo\bin\tivodecode.exe

[Videos]
path = c:\videos
type = video

If that works, you can start experimenting with other options and build up from there.


----------



## lpwcomp

gonzotek said:


> I don't define tivos in my pytivo.conf and have no problems. I thought you only needed to define tivos if you wanted certain shares to only appear on certain tivos, or if you needed to override the aspect ratio for certain S2 models:
> http://pytivo.sourceforge.net/wiki/index.php/Configure_pyTivo#Individual_TiVo_Settings


Auto detection seems to not always work, at least for me. The fact there are no TiVos on the web page says it may not be working for him either, although specifying a "togo_path" in the global server settings might do it too. May be unnecessary if he is not planning to pull to the PC using pyTivo.


----------



## gonzotek

lpwcomp said:


> Auto detection seems to not always work, at least for me. The fact there are no TiVos on the web page says it may not be working for him either, although specifying a "togo_path" in the global server settings might do it too. May be unnecessary if he is not planning to pull to the PC using pyTivo.


Thanks for the explanation.


----------



## Raver

Ok I've tried this as well which is a the direct path of the folder and still the same problem. Previously I didn't need to define my tivo's. I won't be using pytivo to pull from the the unit only to push. I use tivo desktop to pull.

[Videos]
path = C:\Users\Xwing\Videos
type = videos

I do have the username, pswrd and mtivo_mak under HD tivo settings set.

when I look at the command prompt is says my tivo is ready and sees the correct one....


----------



## gonzotek

Raver said:


> Ok I've tried this as well which is a the direct path of the folder and still the same problem. Previously I didn't need to define my tivo's. I won't be using pytivo to pull from the the unit only to push. I use tivo desktop to pull.
> 
> [Videos]
> path = C:\Users\Xwing\Videos
> type = videos


type = video , not type=video*s*

(this is as opposed to type=music, or type=photo, the other two default types pytivo uses).
http://pytivo.sourceforge.net/wiki/index.php/Configure_pyTivo#type


----------



## Raver

thanks for catching that..

[Video]
path = c:\video
type = video

When I goto http://localhost:9032 I now I see video...great. After clicking on it I get a connection was reset. Here are both screen shots.


----------



## gonzotek

The debugging output from pytivo would be more helpful. The screenshot that I'm seeing isn't giving any useful information(and it's been resized so what is there is very hard to read). Are you sure that path(C:\Users\Xwing\Videos or c:\videos ?) is accessible by the user pytivo is running as? Are you running pytivo from the command line, or starting it as a system service? If it's being run as a service, then the directory might not be allowed to be read by the service or system accounts.


----------



## Raver

Thanks guys for the assistance, as usual the little things the muck everything up. I now get the push menu to come up. but now it sort of sits there..

INFOyTivo.video.video:[07/Jan/2013 12:13:02] Queued "c:\video\Shrek Forever Af
ter.mpg" for Push to DVR-8401
INFOyTivo:127.0.0.1 [07/Jan/2013 12:13:02] "POST /TiVoConnect HTTP/1.1" 200 -
INFOyTivo:127.0.0.1 [07/Jan/2013 12:13:07] "GET /TiVoConnect?Command=QueryCont
ainer&Container=Video&Format=text/html HTTP/1.1" 200 -
INFOyTivo:127.0.0.1 [07/Jan/2013 12:13:07] "GET /main.css HTTP/1.1" 200 -


----------



## Raver

before that the command window...

INFOyTivo.beacon:Announcing shares...
INFOyTivo.beacon:Registering: Video
INFOyTivo.beacon:Scanning for TiVos...
INFOyTivo.beaconVR-8401
INFOyTivoyTivo is ready.


----------



## lpwcomp

Raver said:


> I do have the username, pswrd and mtivo_mak under HD tivo settings set.


Take 'em out. I'm not sure the ones under under either HD Tivo or SD Tivo get used but they are unnecessary. It's the ones under "Global Server Settings" that you want it to use.

Log into your TiVo account and make sure that "Video sharing" and "Enable video downloads" are set for the TiVo.

Make sure the MAK matches the one on your TiVo.

See if the share is showing up in your "Now Playing" or "My Shows". Check the network status to make sure it is connecting to the TiVo service w/o any problems.

If do enable Debug in pyTivo, make sure you edit the pyTivo output before you post it here. It will have your tivo.com user and password.


----------



## Raver

k, I took out the info for the Hd Tivo.

Sharing and video downloads were already selected 

my Mak matches...

after removing the HD tivo info now I get a connection error again when I try to push a video.


----------



## lpwcomp

Raver said:


> k, I took out the info for the Hd Tivo.
> 
> Sharing and video downloads were already selected
> 
> my Mak matches...
> 
> after removing the HD tivo info now I get a connection error again when I try to push a video.


Are you running the latest version of PyTivo? What you posted from the command window doesn't look right.


----------



## Raver

python 2.7 as iirc wmcombine recommended about a year ago, and it worked then. Should I upgrade to the newest version, I think at that time 2.7 was the highest that worked w/o problems maybe?


----------



## lpwcomp

Raver said:


> python 2.7 as iirc wmcombine recommended about a year ago, and it worked then. Should I upgrade to the newest version, I think at that time 2.7 was the highest that worked w/o problems maybe?


The Python version is not the issue, it is the version of *pyTivo* that I am referring to.

_*Do not*_ update Python. _*Do*_ update pyTivo.


----------



## Raver

Which version of pyTivo do you recommend?


----------



## gonzotek

Always the latest. There are several forks available from different authors. I use and recommend wmcbrine's fork:
https://github.com/wmcbrine/pytivo

You can download the current version by clicking on the "ZIP" button on that page.

You can also follow @pytivo on twitter to be notified in the future when changes are made to the wmcbrine pytivo fork.


----------



## newsposter

i'm sure i said this in the thread earlier but if someone could get together one 'pak' of files, or even a single installer file, i think they could make some $$ off this  
or at least be doing a free public service. 

most of you seem like experts but even after the 2nd computer i had to install this to, it was a tad challenging finding the right files


----------



## lpwcomp

newsposter said:


> i'm sure i said this in the thread earlier but if someone could get together one 'pak' of files, or even a single installer file, i think they could make some $$ off this
> or at least be doing a free public service.
> 
> most of you seem like experts but even after the 2nd computer i had to install this to, it was a tad challenging finding the right files


1. Download latest zip file.

2. Unzip with "Use folder names" (or whatever the equivalent is in your unzip program) option enabled.

3. Navigate to thus created directory.

4. Drag everything in this directory to the directory where you have installed or wish to install pyTivo.

5. Select "Yes to all" when asked if you want to replace existing files.

6. Done!


----------



## newsposter

i forget what page i was on but there were at least 40 or 50 choices of what to use...tar and zip and x64 and stuff like that. sure i know what a zip file is and i know i have a 64 bit system but the one page was just realllly a bit overwhelming for a novice

plus if i recall correctly at one point i read dont do any python over 3.0 and unless you read a lot you wouldnt know that


----------



## gonzotek

newsposter said:


> i forget what page i was on but there were at least 40 or 50 choices of what to use...tar and zip and x64 and stuff like that. sure i know what a zip file is and i know i have a 64 bit system but the one page was just realllly a bit overwhelming for a novice
> 
> plus if i recall correctly at one point i read dont do any python over 3.0 and unless you read a lot you wouldnt know that


As I said in my last post, I use and recommend the wmcbrine version. It's simple to obtain the latest version from github:
Go to: https://github.com/wmcbrine/pytivo
Click on the "ZIP" button near the top of the page.

Also, pytivo is *not compatible* with Python 3 or greater. The recommended version of Python for pyTivo on Windows is 2.7.x (currently 2.7.3).

The Windows Install page of the pyTivo wiki does explain about versions of python. It needs some work in manual installation instructions section to more clearly explain how/where to obtain the latest pytivo code. I'll see if I can find some time soon to update it.
http://pytivo.sourceforge.net/wiki/index.php/Windows_Install


----------



## lpwcomp

newsposter said:


> i forget what page i was on but there were at least 40 or 50 choices of what to use...tar and zip and x64 and stuff like that. sure i know what a zip file is and i know i have a 64 bit system but the one page was just realllly a bit overwhelming for a novice


Engage in hyperbole much? I suspect you were on the Python page. Yes, you need to install Python to run pyTivo but that is because pyTivo is _*written*_ in Python, which is an O-O scripting language.

On the pyTivo d/l page referenced above, there is a fairly obvious button labeled "ZIP".



newsposter said:


> plus if i recall correctly at one point i read dont do any python over 3.0 and unless you read a lot you wouldnt know that


That is a separate issue and you actually can't use 3.0. 2.7 is the latest version under which pyTivo will run. Most apps written to run under python 2.x will not work under 3.x and vice-versa.

BTW, pyTivoMetaThis is _*also*_ written in Python.


----------



## larrs

lpwcomp said:


> On the pyTivo d/l page referenced above, there is a fairly obvious button labeled "ZIP".


Actually if it is your first time in there, it is not too obvious... Look just above the listing of all the files and you'll see the word "ZIP" with an icon that appears to be a cloud with an arrow beside it. If you hover over that with your cursor, you'll see a dialog "download this repository as a zip file". That's the one you want.


----------



## jcthorne

Need some help as I have mucked something up trying to update to the latest pytivo that can pull .ts files. I also updated ffmpeg to what ever was current last week when I was installing this.

When trying to push a properly formatted mp4 file, pytivo now wants to transcode to mpeg2 and fails doing so on bitrate. Why is it trying to transcode instead of push as is. Below is my .conf file and a transcript of the last session trying to push.



Code:


[_tivo_SD]

[Server]
tivo_password = xxxx
par = 1.0
tivo_mak = xxxx
ffmpeg = C:\pyTivo\bin\ffmpeg.exe
ffmpeg_wait = 10
tivodecode = c:\pytivo\bin\tivodecode.exe
tivo_mind = mind.tivo.com:8181
zeroconf = Auto
togo_path = Z:\Temp Storage\Need Editing\
debug = True
tivo_username =xxxx
nosettings = False
port = 9032
ts = on

[_tivo_7460001905FFE8F]
shares = Thornoli_Photo_Albums

[_tivo_746000190681AE6]
shares = Thornoli_Photo_Albums

[_tivo_74600119046B978]
shares = Thornoli_Photo_Albums


[_tivo_HD]
max_audio_br = 640

[Thornoli_Photo_Albums]
type = photo
path = Z:\Photos

[Thornolis Music]
type = music
path = Z:\Music

[Movies Alphabetical]
force_alpha = True
type = video
path = Z:\Video Archive\Movies Alphabetical

[Documentaries]
force_alpha = True
type = video
path = Z:\Video Archive\Documentary

[Concerts]
force_alpha = True
type = video
path = Z:\Video Archive\Music & Concerts

[Live Theater Performances]
force_alpha = True
type = video
path = Z:\Video Archive\Live Theater Performances

[Television Shows]
force_alpha = True
type = video
path = Z:\Video Archive\Television Shows

[Tivo Transfers]
force_alpha = True
type = video
path = C:\Download\Transfer




Code:


    minor_version   : 1
    compatible_brands: isomavc1
    creation_time   : 2013-01-09 16:04:09
  Duration: 00:45:35.36, start: 0.000000, bitrate: 3337 kb/s
    Stream #0:0(und): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), s16,
384 kb/s
    Metadata:
      creation_time   : 2013-01-09 16:04:09
      handler_name    : &#9500;î?
    Stream #0:1(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1276x720,
 2951 kb/s, 23.98 fps, 23.98 tbr, 96k tbn, 47.95 tbc
    Metadata:
      creation_time   : 2013-01-09 16:04:10
      handler_name    : &#9500;î?
At least one output file must be specified

DEBUG:pyTivo.video.transcode:failed at mapVideo
DEBUG:pyTivo.video.transcode:failed at mapAudio
DEBUG:pyTivo.video.transcode:aFreq=48000; vFps=23.98; container=mov; kbps=3337;
mapAudio=[('', '')]; vHeight=720; vCodec=h264; Supported=True; aKbps=384; par=No
ne; millisecs=2735360; par2=None; par1=None; mapVideo=None; vWidth=1276; dar1=No
ne; rawmeta={'major_brand': [u'isom'], 'creation_time': [u'2013-01-09 16:04:09']
, 'compatible_brands': [u'isomavc1'], 'minor_version': [u'1']}; aCodec=ac3 (ac-3
 / 0x332D6361)
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, aCodec ac3 (ac-3 / 0x332D6361) not c
ompatible, Z:\Video Archive\Television Shows\Justified S04E01 Hole in the Wall.m
p4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, Z:\Video
 Archive\Television Shows\Justified S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, Z:\Video
 Archive\Television Shows\Justified S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:tsn: 7460001905FFE8F
DEBUG:pyTivo.video.transcode:aspect169: True
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=Z:\Video Archive\Television Shows\Justified S0
4E01 Hole in the Wall.mp4 vCodec=h264 vWidth=1276 vHeight=720 vFps=23.98 millise
cs=2735360 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, Z:\Video
 Archive\Television Shows\Justified S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.mind:__login
{'cams_security_domain': 'tivocom', 'cams_login_config': 'http', 'cams_cb_passwo
rd': 'xxxxxx', 'cams_original_url': '/mind/mind7?type=infoGet', 'cams_cb_usernam
e': xxxxxxxxxx}
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, Z:\Video
 Archive\Television Shows\Justified S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:tsn:
DEBUG:pyTivo.video.transcode:aspect169: True
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=Z:\Video Archive\Television Shows\Justified S0
4E01 Hole in the Wall.mp4 vCodec=h264 vWidth=1276 vHeight=720 vFps=23.98 millise
cs=2735360 TIVO_HEIGHT=480 TIVO_WIDTH=544
DEBUG:pyTivo.video.transcode:rheight=180 rwidth=319
DEBUG:pyTivo.video.transcode:par2=1.000 ratio=177.222 mult4by3=1.176
DEBUG:pyTivo.video.transcode:16:9 aspect allowed, file is wider than 16:9 paddin
g top and bottom
-aspect 16:9 -s 544x480
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, Z:\Video
 Archive\Television Shows\Justified S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
INFO:pyTivo:127.0.0.1 [09/Jan/2013 17:59:46] "GET /TiVoConnect?Command=QueryCont
ainer&Container=Television%20Shows&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [09/Jan/2013 17:59:46] "GET /main.css HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [09/Jan/2013 17:59:46] "GET /folder.png HTTP/1.1" 200 -
DEBUG:pyTivo.mind:pcBodySearch
{}

<pcBodyList><isBottom>true</isBottom><isTop>true</isTop><pcBody><bucketNumber>-1
</bucketNumber><levelOfDetail>low</levelOfDetail><name>pyTivo</name><pcBodyId>ti
vo:pc.1001378221</pcBodyId><type>pcBody</type></pcBody></pcBodyList>g
DEBUG:pyTivo.mind:bodyOfferModify&bodyId=tsn:7460001905FFE8F
{'subtitle': '01 Hole in the Wall', 'description': 'Raylan turns to affable but
inexperienced Constable Bob for help securing a bail jumper from Tennessee, and
finds evidence his family is at the center of a legendary unsolved mystery.', 'p
cBodyId': 'tivo:pc.1001378221', 'publishDate': '2013-01-09 23:5946', 'partnerId'
: 'tivo:pt.3187', 'duration': 2735, 'size': 5735623200L, 'title': 'Justified', '
url': 'http://192.168.1.120:9032/Television%20Shows/Justified%20S04E01%20Hole%20
in%20the%20Wall.mp4?Format=video/mpeg', 'bodyId': 'tsn:7460001905FFE8F', 'source
': 'SH01236296', 'state': 'complete', 'encodingType': 'mpeg2ProgramStream', 'tvR
ating': 'nr'}

<bodyOffer><bodyId>tsn:7460001905FFE8F</bodyId><bodyOfferId>tivo:bo.15014421</bo
dyOfferId><createDate>2013-01-09 23:59:47</createDate><description>Raylan turns
to affable but inexperienced Constable Bob for help securing a bail jumper from
Tennessee, and finds evidence his family is at the center of a legendary unsolve
d mystery.</description><duration>2735</duration><encodingType>mpeg2ProgramStrea
m</encodingType><levelOfDetail>high</levelOfDetail><offerId>tivo:of.bs.15014421<
/offerId><partnerId>tivo:pt.3187</partnerId><pcBodyId>tivo:pc.1001378221</pcBody
Id><publishDate>2013-01-14 02:06:00</publishDate><size>5735623200</size><source>
SH01236296</source><state>complete</state><subtitle>01 Hole in the Wall</subtitl
e><title>Justified</title><tvRating>nr</tvRating><updateDate>2013-01-09 23:59:47
</updateDate><url>http://192.168.1.120:9032/Television%20Shows/Justified%20S04E0
1%20Hole%20in%20the%20Wall.mp4?Format=video/mpeg</url></bodyOffer>g
DEBUG:pyTivo.mind:subscribe&bodyId=tsn:7460001905FFE8F
{'uiType': 'cds', 'idSetSource': {'contentId': 'tivo:ct.bs.15014421', 'type': 's
ingleOfferSource', 'offerId': 'tivo:of.bs.15014421'}, 'bodyId': 'tsn:7460001905F
FE8F', 'title': 'pcBodySubscription'}

<subscribeResult><subscription><autoRecord>true</autoRecord><bodyGeneratesCandid
ates>false</bodyGeneratesCandidates><bodyId>tsn:7460001905FFE8F</bodyId><hdOnly>
false</hdOnly><idSetSource><contentId>tivo:ct.bs.15014421</contentId><offerId>ti
vo:of.bs.15014421</offerId><type>singleOfferSource</type></idSetSource><isAdult>
false</isAdult><isForKids>false</isForKids><levelOfDetail>high</levelOfDetail><s
howStatus>rerunsAllowed</showStatus><subscriptionId>tivo:sb.15014821</subscripti
onId><title>pcBodySubscription</title><type>subscription</type><uiType>cds</uiTy
pe></subscription></subscribeResult>g
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, Z:\Video
 Archive\Television Shows\Justified S04E01 Hole in the Wall.mp4
INFO:pyTivo:192.168.1.106 [09/Jan/2013 18:01:00] "GET /Television%20Shows/Justif
ied%20S04E01%20Hole%20in%20the%20Wall.mp4?Format=video%2Fmpeg HTTP/1.1" 206 -
INFO:pyTivo.video.video:[09/Jan/2013 18:01:00] Start sending "Z:\Video Archive\T
elevision Shows\Justified S04E01 Hole in the Wall.mp4" to Thornolis HT
DEBUG:pyTivo.video.video:"Z:\Video Archive\Television Shows\Justified S04E01 Hol
e in the Wall.mp4" is not tivo compatible
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:tsn: 7460001905FFE8F
DEBUG:pyTivo.video.transcode:aspect169: True
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=Z:\Video Archive\Television Shows\Justified S0
4E01 Hole in the Wall.mp4 vCodec=h264 vWidth=1276 vHeight=720 vFps=23.98 millise
cs=2735360 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\Justif
ied S04E01 Hole in the Wall.mp4
DEBUG:pyTivo.video.transcode:transcoding to tivo model 746 using ffmpeg command:

DEBUG:pyTivo.video.transcode:C:\pyTivo\bin\ffmpeg.exe -i Z:\Video Archive\Televi
sion Shows\Justified S04E01 Hole in the Wall.mp4 -vcodec mpeg2video -b 16384k -m
axrate 30000k -bufsize 4096k -ab 64k -ar 48000 -acodec ac3 -copyts -f vob -
ffmpeg version N-47062-g26c531c Copyright (c) 2000-2012 the FFmpeg developers
  built on Nov 25 2012 12:21:26 with gcc 4.7.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-pthreads --enable-runt
ime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libass -
-enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enab
le-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-libo
pus --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheo
ra --enable-libutvideo --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-li
bvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --ena
ble-zlib
  libavutil      52.  9.100 / 52.  9.100
  libavcodec     54. 77.100 / 54. 77.100
  libavformat    54. 37.100 / 54. 37.100
  libavdevice    54.  3.100 / 54.  3.100
  libavfilter     3. 23.102 /  3. 23.102
  libswscale      2.  1.102 /  2.  1.102
  libswresample   0. 17.101 /  0. 17.101
  libpostproc    52.  2.100 / 52.  2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Z:\Video Archive\Television Shows\Justi
fied S04E01 Hole in the Wall.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isomavc1
    creation_time   : 2013-01-09 16:04:09
  Duration: 00:45:35.36, start: 0.000000, bitrate: 3337 kb/s
    Stream #0:0(und): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), s16,
384 kb/s
    Metadata:
      creation_time   : 2013-01-09 16:04:09
      handler_name    : &#9500;î?
    Stream #0:1(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1276x720,
 2951 kb/s, 23.98 fps, 23.98 tbr, 96k tbn, 47.95 tbc
    Metadata:
      creation_time   : 2013-01-09 16:04:10
      handler_name    : &#9500;î?
Please use -b:a or -b:v, -b is ambiguous
Output #0, vob, to 'pipe:':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isomavc1
    encoder         : Lavf54.37.100
    Stream #0:0(und): Video: mpeg2video, yuv420p, 1276x720, q=2-31, 16384 kb/s,
90k tbn, 23.98 tbc
    Metadata:
      creation_time   : 2013-01-09 16:04:10
      handler_name    : &#9500;î?
    Stream #0:1(und): Audio: ac3, 48000 Hz, 5.1(side), fltp, 64 kb/s
    Metadata:
      creation_time   : 2013-01-09 16:04:09
      handler_name    : &#9500;î?
Stream mapping:
  Stream #0:1 -> #0:0 (h264 -> mpeg2video)
  Stream #0:0 -> #0:1 (ac3 -> ac3)
Press [q] to stop, [?] for help
frame=   58 fps=0.0 q=2.0 size=     706kB time=00:00:02.84 bitrate=2034.6kbits/s
frame=  103 fps=102 q=2.0 size=    1620kB time=00:00:04.66 bitrate=2843.8kbits/s
frame=  145 fps= 95 q=3.0 size=    2258kB time=00:00:06.52 bitrate=2835.9kbits/s
frame=  167 fps= 80 q=2.0 size=    3948kB time=00:00:07.41 bitrate=4359.5kbits/s
frame=  184 fps= 71 q=2.0 size=    5830kB time=00:00:07.89 bitrate=6046.5kbits/s
frame=  203 fps= 64 q=2.0 size=    7258kB time=00:00:08.79 bitrate=6760.6kbits/s
frame=  228 fps= 61 q=2.0 size=    8842kB time=00:00:09.72 bitrate=7450.0kbits/s
frame=  249 fps= 59 q=2.0 size=   10370kB time=00:00:10.65 bitrate=7976.1kbits/s
frame=  278 fps= 58 q=1.6 size=   11890kB time=00:00:12.02 bitrate=8098.9kbits/s
frame=  305 fps= 57 q=2.0 size=   12964kB time=00:00:12.95 bitrate=8197.9kbits/s
frame=  331 fps= 56 q=2.0 size=   14156kB time=00:00:14.29 bitrate=8110.3kbits/s
frame=  360 fps= 56 q=2.0 size=   15446kB time=00:00:15.22 bitrate=8310.0kbits/s
frame=  396 fps= 56 q=2.0 size=   16980kB time=00:00:17.05 bitrate=8158.0kbits/s
frame=  428 fps= 56 q=2.0 size=   18274kB time=00:00:18.42 bitrate=8124.1kbits/s
frame=  463 fps= 57 q=2.0 size=   19540kB time=00:00:19.80 bitrate=8083.3kbits/s
frame=  496 fps= 58 q=2.0 size=   20728kB time=00:00:21.17 bitrate=8017.7kbits/s
frame=  523 fps= 57 q=2.0 size=   22238kB time=00:00:22.10 bitrate=8240.7kbits/s
frame=  538 fps= 55 q=2.0 size=   22842kB time=00:00:23.03 bitrate=8123.5kbits/s
frame=  561 fps= 54 q=2.0 size=   23900kB time=00:00:23.93 bitrate=8181.5kbits/s
frame=  591 fps= 55 q=2.0 size=   24976kB time=00:00:24.85 bitrate=8230.7kbits/s
frame=  613 fps= 54 q=2.0 size=   26152kB time=00:00:25.81 bitrate=8297.8kbits/s
frame=  646 fps= 54 q=2.0 size=   27618kB time=00:00:27.19 bitrate=8319.5kbits/s
frame=  674 fps= 54 q=2.0 size=   28840kB time=00:00:28.53 bitrate=8278.5kbits/s
frame=  701 fps= 54 q=1.6 size=   30104kB time=00:00:29.46 bitrate=8369.2kbits/s
frame=  734 fps= 54 q=2.0 size=   31134kB time=00:00:30.84 bitrate=8269.4kbits/s
frame=  766 fps= 54 q=2.0 size=   32280kB time=00:00:32.18 bitrate=8215.8kbits/s
frame=  825 fps= 56 q=2.0 size=   33358kB time=00:00:34.93 bitrate=7821.4kbits/s
frame=  865 fps= 57 q=2.0 size=   34720kB time=00:00:36.31 bitrate=7832.3kbits/s
frame=  898 fps= 57 q=2.0 size=   35794kB time=00:00:37.69 bitrate=7779.8kbits/s
frame=  932 fps= 57 q=2.0 size=   36836kB time=00:00:39.09 bitrate=7717.9kbits/s
frame=  954 fps= 57 q=2.0 size=   37944kB time=00:00:39.99 bitrate=7772.0kbits/s
frame=  980 fps= 57 q=2.0 size=   39636kB time=00:00:41.37 bitrate=7848.5kbits/s
frame= 1000 fps= 56 q=2.0 size=   41252kB time=00:00:42.29 bitrate=7989.3kbits/s
frame= 1026 fps= 56 q=2.0 size=   42882kB time=00:00:43.19 bitrate=8132.7kbits/s
frame= 1027 fps= 33 q=2.0 size=   42882kB time=00:00:43.19 bitrate=8132.7kbits/s
frame= 1042 fps= 33 q=2.0 size=   44108kB time=00:00:43.77 bitrate=8255.1kbits/s
frame= 1075 fps= 34 q=2.3 size=   45444kB time=00:00:45.08 bitrate=8257.7kbits/s
frame= 1101 fps= 34 q=2.0 size=   46548kB time=00:00:46.42 bitrate=8213.4kbits/s
frame= 1119 fps= 34 q=2.0 size=   47772kB time=00:00:46.90 bitrate=8343.1kbits/s
Bit allocation failed. Try increasing the bitrate.
Audio encoding failed (avcodec_encode_audio2)
INFO:pyTivo.video.video:[09/Jan/2013 18:01:34] Done sending "Z:\Video Archive\Te
levision Shows\Justified S04E01 Hole in the Wall.mp4" to Thornolis HT, 49620992
bytes, 11.33 Mb/s


----------



## txporter

jcthorne- I took a look through what you posted and didn't see anything obvious. Hopefully wmcbrine can find something.

Does it try to transcode on a push as well?

I have the new ts-pull enabled pytivo working on my DS111. Here is my conf file, don't see anything very different in it.



Code:


[Videos]
force_alpha = true
type = video
path = /volume1/Video/Video

[Tivo Downloads]
force_alpha = true
type = video
path = /volume1/private/Tivo_Downloads

[_tivo_HD]

[_tivo_SD]
width = 720

[Server]
tivo_mak = xxxx
#ffmpeg = /usr/syno/bin/ffmpeg
ffmpeg = /volume1/@appstore/Serviio/bin/ffmpeg
tivo_password = xxxx
force_alpha = true
togo_path = /volume1/private/Tivo_Downloads
tivo_username = xxxx
port = 9032
ts = on


----------



## gonzotek

Note for Windows users: I've updated the pyTiVo wiki Windows Install and Current Releases pages to (hopefully) help new users get started easier. You can see a summary of my changes to the Windows Install page here:
http://pytivo.sourceforge.net/wiki/index.php?title=Windows_Install&diff=548&oldid=533

The Current Release page was lightly edited to suggest that new users try the wmcbrine fork first and to clarify how to easily obtain the most current version from his github repo.

Feel free to review and edit or suggest further changes.


----------



## jcthorne

txporter said:


> jcthorne- I took a look through what you posted and didn't see anything obvious. Hopefully wmcbrine can find something.
> 
> Does it try to transcode on a push as well?
> 
> I have the new ts-pull enabled pytivo working on my DS111. Here is my conf file, don't see anything very different in it.
> 
> 
> 
> Code:
> 
> 
> [Videos]
> force_alpha = true
> type = video
> path = /volume1/Video/Video
> 
> [Tivo Downloads]
> force_alpha = true
> type = video
> path = /volume1/private/Tivo_Downloads
> 
> [_tivo_HD]
> 
> [_tivo_SD]
> width = 720
> 
> [Server]
> tivo_mak = xxxx
> #ffmpeg = /usr/syno/bin/ffmpeg
> ffmpeg = /volume1/@appstore/Serviio/bin/ffmpeg
> tivo_password = xxxx
> force_alpha = true
> togo_path = /volume1/private/Tivo_Downloads
> tivo_username = xxxx
> port = 9032
> ts = on


Thanks for taking the time to look. The debug output was from an attempted push of an h.264 compatible mp4 file.


----------



## txporter

Ah, ok. I see that you wrote that in your initial post. Do you still have a copy of your old ffmpeg that you could test to see if pushes are still being transcoded?


----------



## jcthorne

That was a good suggestion. Yes, I have the old ffmpeg and placed it back in the bin directory. Push works again. Perhaps I have a wrong version of ffmpeg.exe.

Is there a known good windows binary ffmpeg I should be using with this version of pytivo?


----------



## gonzotek

jcthorne said:


> That was a good suggestion. Yes, I have the old ffmpeg and placed it back in the bin directory. Push works again. Perhaps I have a wrong version of ffmpeg.exe.
> 
> Is there a known good windows binary ffmpeg I should be using with this version of pytivo?


I just (over the last two days) edited up the wiki to suggest getting a more recent build of ffmpeg than rdian06's (since he appears inactive and it's quite old now). I'm recommending ffmpeg 1.1, as it's quite recent(1-8-2013) and it "works for me"™  I've also used several of the daily builds from zeranoe's page starting around the last week of December, but felt that going with a specific 'point-version' was a better idea for new users. The work done on pyTivo to support h264 pulls occurred mostly in Dec. and the build you have of ffmpeg in the logs above is from November...Which I would have assumed would have been ok for our purposes. When I get home today I'll try pushing my mp4 files that I know have been pulling correctly with the new ts=on functionality and let you know if they end up transcoded or not.


----------



## txporter

jcthorne said:


> That was a good suggestion. Yes, I have the old ffmpeg and placed it back in the bin directory. Push works again. Perhaps I have a wrong version of ffmpeg.exe.
> 
> Is there a known good windows binary ffmpeg I should be using with this version of pytivo?


Not sure. gonzotek just updated the pytivo install wiki and is pointing to this website for ffmpeg: http://ffmpeg.zeranoe.com/builds/

Is that where you got yours?


----------



## wmcbrine

txporter said:


> jcthorne- I took a look through what you posted and didn't see anything obvious. Hopefully wmcbrine can find something.


I think that output must be from a newer ffmpeg, but with an older version of pyTivo. There's no other way I can account for the "failed at mapVideo/mapAudio" errors.


----------



## gonzotek

Here's the version info of the latest pytivo and ffmpeg builds I've got working. I should explain that the pytivo version is wmcbrine's Jan 3 commit(still latest as of this post). I use git for windows, and apparently it doesn't copy down the timestamps from the repo to my local system, as I had pulled it on the 8th. But I digress 


Code:


INFO:pyTivo:Last modified: Tue Jan 08 19:25:40 2013
INFO:pyTivo:Python: 2.7.3
INFO:pyTivo:System: Windows-7-6.1.7601-SP1




Code:


ffmpeg version 1.1 Copyright (c) 2000-2013 the FFmpeg developers
  built on Jan  8 2013 16:16:22 with gcc 4.7.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libg
sm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --e
nable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --e
nable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwben
c --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-
libxvid --enable-zlib
  libavutil      52. 13.100 / 52. 13.100
  libavcodec     54. 86.100 / 54. 86.100
  libavformat    54. 59.106 / 54. 59.106
  libavdevice    54.  3.102 / 54.  3.102
  libavfilter     3. 32.100 /  3. 32.100
  libswscale      2.  1.103 /  2.  1.103
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100

So I tried two mp4 files I know have compatible codecs. Both transferred fine(specifically: without transcoding h264) as a pull and as a push. Hope this helps.


----------



## wmcbrine

To be clear, I don't think there's any version of FFmpeg that's too new. I think jcthorne had updated his FFmpeg, but not his pyTivo.


----------



## jcthorne

Thanks guys. Updated ffmpeg again and went and got the latest pytivo and installed it all without any 'extra' family in the house and viola...It works. Was my error somewhere in the previous install.

Appreciate everyones help and got me going.


----------



## oregonman

gonzotek said:


> Note for Windows users: I've updated the pyTiVo wiki Windows Install and Current Releases pages to (hopefully) help new users get started easier. You can see a summary of my changes to the Windows Install page here:
> http://pytivo.sourceforge.net/wiki/index.php?title=Windows_Install&diff=548&oldid=533
> 
> The Current Release page was lightly edited to suggest that new users try the wmcbrine fork first and to clarify how to easily obtain the most current version from his github repo.
> 
> Feel free to review and edit or suggest further changes.


I'm trying to use your updated instructions and I noticed that in step 6, <install folder> is referenced, but I don't think it was explicitly defined. I think that it is the directory created in step 4, but for clarity, it would be good to explicitly define it.


----------



## gonzotek

oregonman said:


> I'm trying to use your updated instructions and I noticed that in step 6, <install folder> is referenced, but I don't think it was explicitly defined. I think that it is the directory created in step 4, but for clarity, it would be good to explicitly define it.


That's the correct assumption and a good suggestion. I'll see what I can do to make it clearer.


----------



## lpwcomp

A question and an observation.

The question: Anyone know how "Categories" is set and if there is any way to access them? It is not the same as genre.

The latest premiere s/w appears to have screwed up the genre entries in the details xml returned by a query. Below is an example. Note that both vSeriesGenre and vProgramGenre have multiple null element entries.



Code:


<TvBusMarshalledStruct:TvBusEnvelope xs:schemaLocation="http://tivo.com/developer/xml/idl/TvBusMarshalledStruct TvBusMarshalledStruct.xsd http://tivo.com/developer/xml/idl/TvPgdRecording TvPgdRecording.xsd http://tivo.com/developer/xml/idl/TvBusDuration TvBusDuration.xsd http://tivo.com/developer/xml/idl/TvPgdShowing TvPgdShowing.xsd http://tivo.com/developer/xml/idl/TvDbShowingBit TvDbShowingBit.xsd http://tivo.com/developer/xml/idl/TvBusDateTime TvBusDateTime.xsd http://tivo.com/developer/xml/idl/TvPgdProgram TvPgdProgram.xsd http://tivo.com/developer/xml/idl/TvDbColorCode TvDbColorCode.xsd http://tivo.com/developer/xml/idl/TvPgdSeries TvPgdSeries.xsd http://tivo.com/developer/xml/idl/TvDbShowType TvDbShowType.xsd http://tivo.com/developer/xml/idl/TvDbTvRating TvDbTvRating.xsd http://tivo.com/developer/xml/idl/TvDbInternalRatingList TvDbInternalRatingList.xsd http://tivo.com/developer/xml/idl/TvDbInternalRating TvDbInternalRating.xsd http://tivo.com/developer/xml/idl/TvDbBitstreamFormat TvDbBitstreamFormat.xsd" xs:type="TvPgdRecording:TvPgdRecording"><recordedDuration>PT30M</recordedDuration><vActualShowing><element><showingBits value="991235"/><time>2013-01-14T02:30:00Z</time><duration>PT30M</duration><program><vActor><element>MacFarlane|Seth</element><element>Schaal|Wendy</element><element>MacFarlane|Rachael</element><element>Grimes|Scott</element><element>Baker|Dee Bradley</element></vActor><vAdvisory/><showingBits value="0"/><vChoreographer/><colorCode value="4">COLOR</colorCode><description>Francine regrets deciding to teach Roger the value of hard work; Steve interviews Stan for a school project. Copyright Tribune Media Services, Inc.</description><vDirector/><episodeNumber>711</episodeNumber><episodeTitle>The Adventures of Twill Ongenbone and His Boy Jabari</episodeTitle><vExecProducer/><vProgramGenre><element/><element/></vProgramGenre><vGuestStar><element>Brady|Wayne</element></vGuestStar><vHost/><isEpisode>true</isEpisode><originalAirDate>2013-01-13T00:00:00Z</originalAirDate><vProducer/><series><isEpisodic>true</isEpisodic><vSeriesGenre/><seriesTitle>American Dad</seriesTitle></series><showType value="5">SERIES</showType><title>American Dad</title><vWriter/></program><tvRating value="5">_14</tvRating><RatingList><objectName/><vRatings><element><objectName/><vAdvisory><element>15</element><element>16</element><element>14</element><element>12</element></vAdvisory><InternalRatingSystemId>2</InternalRatingSystemId><InternalRatingValueId>5</InternalRatingValueId></element></vRatings></RatingList></element></vActualShowing><vBookmark/><showing><showingBits value="991235"/><time>2013-01-14T02:30:00Z</time><duration>PT30M</duration><program><vActor><element>MacFarlane|Seth</element><element>Schaal|Wendy</element><element>MacFarlane|Rachael</element><element>Grimes|Scott</element><element>Baker|Dee Bradley</element></vActor><vAdvisory/><showingBits value="0"/><vChoreographer/><colorCode value="4">COLOR</colorCode><description>Francine regrets deciding to teach Roger the value of hard work; Steve interviews Stan for a school project. Copyright Tribune Media Services, Inc.</description><vDirector/><episodeNumber>711</episodeNumber><episodeTitle>The Adventures of Twill Ongenbone and His Boy Jabari</episodeTitle><vExecProducer/><vProgramGenre><element/><element/></vProgramGenre><vGuestStar><element>Brady|Wayne</element></vGuestStar><vHost/><isEpisode>true</isEpisode><originalAirDate>2013-01-13T00:00:00Z</originalAirDate><vProducer/><series><isEpisodic>true</isEpisodic><vSeriesGenre/><seriesTitle>American Dad</seriesTitle></series><showType value="5">SERIES</showType><title>American Dad</title><vWriter/></program><tvRating value="5">_14</tvRating><RatingList><objectName/><vRatings><element><objectName/><vAdvisory><element>15</element><element>16</element><element>14</element><element>12</element></vAdvisory><InternalRatingSystemId>2</InternalRatingSystemId><InternalRatingValueId>5</InternalRatingValueId></element></vRatings></RatingList></showing><startTime>2013-01-14T02:29:58Z</startTime><stopTime>2013-01-14T03:00:00Z</stopTime><bitstreamFormat><vFormat><element><vByte><base64>EjQAAwABAjoBywxXAAAADwAAAAQAAAACAAAAAwAAAA==</base64></vByte></element></vFormat></bitstreamFormat><expirationTime>2038-01-19T03:14:00Z</expirationTime></TvBusMarshalledStruct:TvBusEnvelope>

Edit: scratch the question. It appears that Categories is all of the vProgramGenre. However, there is an additional bug in the Premiere. On a transfer to the Premiere, whatever the source, if there is only one vProgramGenre entry, Categories gets set to the word "Separator" minus the quotes.


----------



## Iluvatar

I've updated my OS X FFmpeg builds to 1.1 for those who are interested.

http://pytivo.sourceforge.net/forum/ffmpeg-builds-for-mac-os-x-t1803.html


----------



## wuzznuubi

Screaming Fast! love the full pipe, almost 100Mb/s transfers, but...

mp4(H264) pushes work fine, but having problems pulling the same files.

The pull appears to progress normally until almost the end, but stalls close to the end and doesn't appear on the Premiere's TODO or NPL. After the aborted transfer, history on the Premier says "Not Transferred - This show was not downloaded onto this DVR because it exceeded the expected size."

Windows7-64bit
python v2.7.3
wmcbrine pyTivo version 2013.01.15 from git
ZERANOE WIN-64 ffmpeg build Jan 13, 2013

Guessing here... that pyTivo tells my Premiere the size of the mp4 program stream file on my PC, but since pyTivo now remuxes the pull into a ts, it must be making the file too large (compared to what it said it was sending) for the Premiere, which complains by dumping the pulled transfer after it's almost complete.

Is there any way to pad the filesize pyTivo tells the TiVo in this case? Would that work?


----------



## wuzznuubi

Info for one of the files that pushes, but not pulls...

ffmpeg output


Code:


C:\ffmpeg\ZERANOE\bin\ffmpeg.exe -i "T:\pyTivoVideos\Test Folder\Test File.mp4"
ffmpeg version N-48810-gaaa7d2f Copyright (c) 2000-2013 the FFmpeg developers
  built on Jan 13 2013 22:06:24 with gcc 4.7.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-lib
p3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrw
vorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib --enable-filter=frei0r
  libavutil      52. 14.100 / 52. 14.100
  libavcodec     54. 86.100 / 54. 86.100
  libavformat    54. 59.107 / 54. 59.107
  libavdevice    54.  3.102 / 54.  3.102
  libavfilter     3. 32.100 /  3. 32.100
  libswscale      2.  1.103 /  2.  1.103
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'T:\pyTivoVideos\Test Folder\Test File.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    creation_time   : 1970-01-01 00:00:00
    encoder         : Lavf52.32.0
  Duration: 00:49:11.04, start: 0.000000, bitrate: 25189 kb/s
    Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 24866 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc
    Metadata:
      creation_time   : 1970-01-01 00:00:00
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), fltp, 320 kb/s
    Metadata:
      creation_time   : 1970-01-01 00:00:00
      handler_name    : SoundHandler
At least one output file must be specified

MediaInfo 0.7.61 output


Code:


General
Complete name                            : T:\pyTivoVideos\Test Folder\Test File.mp4
Format                                   : MPEG-4
Format profile                           : Base Media
Codec ID                                 : isom
File size                                : 8.65 GiB
Duration                                 : 49mn 11s
Overall bit rate                         : 25.2 Mbps
Writing application                      : Lavf52.32.0

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : [email protected]
Format settings, CABAC                   : No
Format settings, ReFrames                : 1 frame
Format settings, GOP                     : M=1, N=12
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 49mn 10s
Bit rate                                 : 24.9 Mbps
Width                                    : 1 920 pixels
Height                                   : 1 080 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 29.970 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.400
Stream size                              : 8.54 GiB (99%)
Language                                 : English

Audio
ID                                       : 2
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Mode extension                           : CM (complete main)
Format settings, Endianness              : Big
Codec ID                                 : ac-3
Duration                                 : 49mn 11s
Bit rate mode                            : Constant
Bit rate                                 : 320 Kbps
Channel(s)                               : 6 channels
Channel positions                        : Front: L C R, Side: L R, LFE
Sampling rate                            : 48.0 KHz
Bit depth                                : 16 bits
Compression mode                         : Lossy
Stream size                              : 113 MiB (1%)
Language                                 : English

VLC media player 2.0.5 Twoflower info


Code:


Title: Test File.mp4
Encoded by: Lavf52.32.0
Codec:
 Stream 0
  Type: Video
  Codec: H264 - MPEG-4 AVC (part10) (avc1)
  Language: English
  Resolution: 1920x1080
  Frame rate: 29.970029
  Decoded format: Planar 4:2:0 YUV
 Stream 1
  Type: Audio
  Codec: A52 Audio (aka AC3) (a52)
  Language: English
  Channels: 3F2R/LFE
  Sample rate: 48000 Hz
  Bitrate: 320 kb/s

VideoReDo v4.20.7.629 info


Code:


 File:                                     Name : T:\pyTivoVideos\Test Folder\Test File.mp4
                                           Size : 9.292 GB
                                       Duration : 00:49:10.24
                                       Mux type : MP4
 Video:                                Encoding : H.264
                                  VideoStreamID : x201
                                     Frame rate : 29.97 fps
                                  Encoding size : 1920 x 1080
                                   Aspect ratio : 16:9
                                Header bit rate : 50.000 Mbps
                                     VBV buffer : 952 KBytes
                                        Profile : Baseline/4.1
                                    Progressive :  Progressive
                                         Chroma : 4:2:0
                                   Entropy mode : CABAC
                                       Bit rate : 23.883 Mbps
 Audio Stream: 1 (Primary)                Codec : AC3
                                         Format : AC3 stream
                                       Channels : 5.1
                                       Language : eng
                                            PID : x202
                                  PES Stream Id : xBD
                                       Bit rate : 320 Kbps
                                  Sampling rate : 48000
                                    Sample size : 16 bits


----------



## wmcbrine

wuzznuubi said:


> Is there any way to pad the filesize pyTivo tells the TiVo in this case? Would that work?


Yes -- and pyTivo has done that for a long time. Just not quite enough, in this case, I guess. But it's been years since I ran into this, personally.

We can of course increase the pad factor, but there's a trade-off: the bigger the estimated size, the more the TiVo wants to clear existing programs to make room. Also, in push, it takes longer for the file to become playable. However, as I look at it, the current padding is only 2%.  I think we can afford to increase that a bit, and probably should.

In the meantime -- are you using "ts = on"? If not, try that. If you are, try pre-remuxing the file:

ffmpeg -i filename.mp4 -vcodec copy -bsf h264_mp4toannexb -acodec copy filename.ts

filename.ts can then be sent with an exact size.

Edit: I think I see what's going on here -- pyTivo is using the specified bit rate to estimate, when it should be using the original. This works OK for the videos I've been using (well under 16 Mbps), but not for your file.


----------



## wuzznuubi

wmcbrine said:


> In the meantime -- are you using "*ts = on*"? If not, try that.


Yep


Code:


pyTivo.conf file
[Server]
beacon = 192.168.255
ffmpeg = C:\ffmpeg\ZERANOE\bin\ffmpeg.exe
port = 9032
tivo_mak = **SECRET**
tivo_password = **SECRET**
tivo_username = **SECRET**
togo_path = pyTivoVideos
tivodecode = C:\tivodecode\tivodecode.exe
tdcat = C:\tivodecode\tdcat.exe
debug = True
[B]ts = on[/B]

[_tivo_HD]

[_tivo_SD]

[pyTivoVideos]
force_alpha = True
type = video
path = T:\pyTivoVideos




wmcbrine said:


> If you are, try pre-remuxing the file:
> 
> ffmpeg -i filename.mp4 -vcodec copy -bsf h264_mp4toannexb -acodec copy filename.ts
> 
> filename.ts can then be sent with an exact size.


ffmpeg remuxing to ts replied "muxing overhead 7.938006%" and that worked, pull of same file muxed to ts first transferred in about 14 minutes...
INFO-pyTivo.video.video:[17/Jan/2013 20:37:19] Start sending "T:\pyTivoVideos\Test Folder\Test File2.ts" to PR4
INFO-pyTivo.video.video:[17/Jan/2013 20:51:34] Done sending "T:\pyTivoVideos\Test Folder\Test File2.ts" to PR4, 10027445112 bytes, 89.42 Mb/s
Appears in the TiVo NPL (9.38GB) and plays fine.

P.S. Filesizes;
File size of original ps (mp4) 9,291,833,710 bytes
File size after remuxing with ffmpeg to ts 10,027,445,112 bytes


----------



## TVCricket

Was using MetaGenerator before and after the Premiere updates, but no matter what I try, I can't get the episodes to group into Folders. I got one series to transfer over after updating to the latest version, but for whatever reason, Band Of Brothers and Homeland don't group. Can someone please help?


----------



## lpwcomp

TVCricket said:


> Was using MetaGenerator before and after the Premiere updates, but no matter what I try, I can't get the episodes to group into Folders. I got one series to transfer over after updating to the latest version, but for whatever reason, Band Of Brothers and Homeland don't group. Can someone please help?


Pull or Push?


----------



## TVCricket

lpwcomp said:


> Pull or Push?


Not sure what the difference is. The way I transfer videos is by going to my Premiere and selecting the source folder on my PC and selecting each one individually.


----------



## lpwcomp

TVCricket said:


> Not sure what the difference is. The way I transfer videos is by going to my Premiere and selecting the source folder on my PC and selecting each one individually.


If it is from "My Shows", then it is a Pull. It is from "Showcases & Apps" it is a Push.

Post a couple of your metadata files for a series that should be grouping together. Also, are you running TiVo Desktop? If so, are you certain that you are selecting from a pyTivo share?


----------



## TVCricket

It says My Shows, don't have TiVo Desktop installed.

This is one of the metadata files of the show that won't Group



> title : Band of Brothers
> seriesTitle : Band of Brothers
> episodeTitle : Currahee
> episodeNumber : 101
> originalAirDate : 2001-09-09T00:00:00Z
> description : Easy Company is introduced to Captain Sobel, who has the group undergo hard and unfair training. As a result, Sobel comes into conflict with his men, including Richard Winters, his executive officer. The company is shipped to England to prepare for D-Day. After displaying a lack of leadership ability in the field, Sobel is reassigned.
> isEpisode : true
> seriesId : SH456346


This does group



> title : The Pants Tent
> seriesTitle : Curb Your Enthusiasm
> episodeTitle : The Pants Tent
> episodeNumber : 101
> originalAirDate : 2000-10-15T00:00:00Z
> description : Larry goes to the movies with one of Cheryl's friends and his pants have an unusual bulge in them, making him look like he's having an erection.
> isEpisode : true
> seriesId : SH391978


----------



## TVCricket

I noticed the difference in the *title* so I went in and changed the text file, but it still won't group the videos. What should the MetaGenerator 3 settings be? I tried every possible combination, but can't get it to work like it did before the latest update.


----------



## moyekj

TVCricket said:


> I noticed the difference in the *title* so I went in and changed the text file, but it still won't group the videos. What should the MetaGenerator 3 settings be? I tried every possible combination, but can't get it to work like it did before the latest update.


 FYI I took your Band of Brothers metadata file and used it along with a short clip pulled twice to TiVo and it did create a "Band of Brothers" folder with 2 items for me. If you pull the same video (with same metadata file) twice is it grouping?


----------



## TVCricket

Never tried, but if I try to transfer episode 2-10 over, my Premiere will have 10 episodes titled Band Of Brothers even though their titles are in the metadata text file. This is so frustrating thinking that I may have to do this everytime TiVo decides to change the way it handles files. Don't understand why it would work for one show one week and not on two other shows.


----------



## moyekj

TVCricket said:


> Never tried, but if I try to transfer episode 2-10 over, my Premiere will have 10 episodes titled Band Of Brothers even though their titles are in the metadata text file. This is so frustrating thinking that I may have to do this everytime TiVo decides to change the way it handles files. Don't understand why it would work for one show one week and not on two other shows.


 Post episode 2 metadata here as well.


----------



## TVCricket

moyekj said:


> Post episode 2 metadata here as well.





> title : Band of Brothers
> seriesTitle : Band of Brothers
> episodeTitle : Day of Days
> episodeNumber : 102
> originalAirDate : 2001-09-09T00:00:00Z
> description : Easy Company lands in Normandy, scattered all across and away from their drop zone. 1st Lt. Meehan, commander of Easy, is killed when his plane suffers a direct hit and 1st Lt. Winters must take command. With a small group of men, Winters takes out a set of guns at Brcourt and thereby wins the respect of his fellow soldiers as a leader. 1st Lt. Speirs is introduced, around whom rumours start to circulate after he is believed to have massacred a group of German prisoners of war.
> isEpisode : true
> seriesId : SH456346


Tried a few other variations with the settings and still no go.


----------



## reneg

Not sure if it will help, but have you tried deleting all your Band of Brothers episodes from the Now Playing List and the Recently Deleted folder?


----------



## TVCricket

I deleted them from the Now Playing (My Shows) as soon as I noticed that they wouldn't Group. Haven't deleted them from Recently Deleted though. I'll try that next.


----------



## lpwcomp

TVCricket said:


> Tried a few other variations with the settings and still no go.


I created a directory with two short clips and used the two metadata files that you posted. They group fine on a Premiere. They don't group on a THD, but that is to be expected. Is the rest of the metadata being transferred? Speaking of which, where is the rest of the metadata - actors, director, etc.?

Can you send a full list of what is in the source directory? The output of a dir command when you are in the directory would be ideal.

What platform is your computer on and are you running the latest pyTivo?


----------



## TVCricket

Basically my TV SHOW folder is seperated into folders for each show that I backed up from Bluray or DVD. My pytivo points to the main folder. Not sure what version of pytivo I'm using, but it's the same one I used to transfer over Curb and a few other shows. Tried 3.36a of MetaGenerator on Curb and that worked. Noticed tht 3.37 is updated, but even that doesn't change the non-grouping behavior of the transferred episodes.

Also, I'm using an exe of pytivo cause I couldn't figure out how to use the other version of it when I decided to transfer over videos.


----------



## moyekj

TVCricket said:


> Also, I'm using an exe of pytivo cause I couldn't figure out how to use the other version of it when I decided to transfer over videos.


 That's most likely your problem. That version is a dinosaur. Install latest wmcbrine version.


----------



## TVCricket

Since I essentially installed pytivo as a service when I installed the executable version, does uninstalling the older .exe also uninstall the service?


----------



## lpwcomp

TVCricket said:


> Basically my TV SHOW folder is seperated into folders for each show that I backed up from Bluray or DVD. My pytivo points to the main folder. Not sure what version of pytivo I'm using, but it's the same one I used to transfer over Curb and a few other shows. Tried 3.36a of MetaGenerator on Curb and that worked. Noticed tht 3.37 is updated, but even that doesn't change the non-grouping behavior of the transferred episodes.


I need to see the full file names in the directory, including extensions. Also, I just used MetaGenerator to create new metadata files and there is a lot more in them than you posted.



TVCricket said:


> Also, I'm using an exe of pytivo cause I couldn't figure out how to use the other version of it when I decided to transfer over videos.


I urge you to try and figure it out and install the latest version of pyTivo. If you run into problems, don't hesitate to ask here for help in that regard. The only reference I can find to a "pyTivo.exe" is way out of date.


----------



## TVCricket

I'm almost done with setting up the pytivo that you posted, but I can't figure out how to setup the firewall exception. I'm using Windows 7. Instructions that I found online says to point to an executable, but the version you reference to isn't an .exe file.


----------



## lpwcomp

TVCricket said:


> I'm almost done with setting up the pytivo that you posted, but I can't figure out how to setup the firewall exception. I'm using Windows 7. Instructions that I found online says to point to an executable, but the version you reference to isn't an .exe file.


Try pointing it to python.exe. I'm still running Win2K so don't have firewall problems and I also don't run it as a service so I can't guarantee that this will work. I would suggest that you not run it as a service, at least at first so you can see a bit more of what is going on.


----------



## TVCricket

Do I have to open the pytivo python file each time I want to transfer videos? Also, does the command line always have to be open for it to work?

Edit*
Got it working and it just finished transferring the 1st episode when guess what happens? The 2nd episode still doesn't group. LOL

Someone just beat me with a sack of nickels and end my misery.


----------



## lpwcomp

TVCricket said:


> Do I have to open the pytivo python file each time I want to transfer videos?


If you start it, it will run until you stop it. It doesn't hurt anything to have it running all the time.


TVCricket said:


> Also, does the command line always have to be open for it to work?


Yes, but you can minimize it. I have it set to autostart minimized.



TVCricket said:


> Edit*
> Got it working and it just finished transferring the 1st episode when guess what happens? The 2nd episode still doesn't group. LOL
> 
> Someone just beat me with a sack of nickels and end my misery.


Did you stop the service before staring the new version? What was in the command prompt window in which the new version was running? Please post a full list (filenames and extensions) of what is in the "Band of Brothers" directory.


----------



## TVCricket

The service uninstalled when I uninstalled that old executable version of pytivo. To make sure, I went into Services in My Computer to see if pytivo was still listed as a service before I setup the more updated version. It wasn't there. 

While the files were transferring, I could see the file being moved and encoded. Kind of like how Handbrake does except it was in the command box.


----------



## lpwcomp

TVCricket said:


> The service uninstalled when I uninstalled that old executable version of pytivo. To make sure, I went into Services in My Computer to see if pytivo was still listed as a service before I setup the more updated version. It wasn't there.
> 
> While the files were transferring, I could see the file being moved and encoded. Kind of like how Handbrake does except it was in the command box.


OK. What I would like to see is something like this:


Code:


 Directory of C:\Downloads\TV\Band of Brothers

01/23/2013  02:30p      <DIR>          .
01/23/2013  02:30p      <DIR>          ..
04/17/2012  10:25p          14,633,224 Band of Brothers.S01E01.avi
01/23/2013  01:06p               1,718 Band of Brothers.S01E01.avi.txt
01/23/2013  11:56a                 533 Band of Brothers.S01E01x.avi.txt
04/17/2012  10:25p          14,633,224 Band of Brothers.S01E02.avi
01/23/2013  01:06p               2,043 Band of Brothers.S01E02.avi.txt
01/23/2013  11:58a                 682 Band of Brothers.S01E02x.avi.txt
01/23/2013  02:30p                   0 lst.txt
               7 File(s)     29,271,424 bytes
               2 Dir(s)  47,843,160,064 bytes free

 The .txt files with the "x" in the name contain the metadata that you posted. I added the "x" after testing so they wouldn't be overwritten. The other two are the ones created by MetaGenerator 3 (version 3.6). When I transferred the test videos again using them, all 4 ended up in the same group.

Attached are the two metadata files created by MetaGenerator 3.

View attachment 17978


View attachment 17979


----------



## TVCricket

There's a lot of text in the command box and I can't copy/paste it. 

My directory for all videos is F:\My Videos\TV Shows; \Band of Brothers in this case.

The only things in the BoB folder are the 10 mkv episode files and 10 metadata files. The same is the case for my Curb and Homeland folders. Could something have been embedded in the video files themselves?


----------



## TVCricket

lpwcomp said:


> OK. What I would like to see is something like this:
> 
> 
> Code:
> 
> 
> Directory of C:\Downloads\TV\Band of Brothers
> 
> 01/23/2013  02:30p      <DIR>          .
> 01/23/2013  02:30p      <DIR>          ..
> 04/17/2012  10:25p          14,633,224 Band of Brothers.S01E01.avi
> 01/23/2013  01:06p               1,718 Band of Brothers.S01E01.avi.txt
> 01/23/2013  11:56a                 533 Band of Brothers.S01E01x.avi.txt
> 04/17/2012  10:25p          14,633,224 Band of Brothers.S01E02.avi
> 01/23/2013  01:06p               2,043 Band of Brothers.S01E02.avi.txt
> 01/23/2013  11:58a                 682 Band of Brothers.S01E02x.avi.txt
> 01/23/2013  02:30p                   0 lst.txt
> 7 File(s)     29,271,424 bytes
> 2 Dir(s)  47,843,160,064 bytes free


How do I get what's in my Band Of Brothers folder to show up how you've shown it?


----------



## lpwcomp

TVCricket said:


> There's a lot of text in the command box and I can't copy/paste it.
> 
> My directory for all videos is F:\My Videos\TV Shows; \Band of Brothers in this case.
> 
> The only things in the BoB folder are the 10 mkv episode files and 10 metadata files. The same is the case for my Curb and Homeland folders. Could something have been embedded in the video files themselves?


You keep missing the point. I don't care how it is organized, I need to see a list of the actual full file names (including extension) in that directory, like I posted. Also, you should attach the actual metadata files rather than doing a cut and paste.

Two other things: What model TiVo (exact model #, not just "TiVo Premiere") and what s/w version is it running?


----------



## lpwcomp

TVCricket said:


> How do I get what's in my Band Of Brothers folder to show up how you've shown it?


Open up a command prompt, cd to the directory, enter "dir >lst.txt". Either attach lst.txt or edit it and do a cut and paste.


----------



## TVCricket

I'm not very familiar with using cmd or its commands. Have no clue how to do most of hat. Most specifically "cd to the directory". Sorry if I keep asking novice questions, but this is exactly why I went with the .exe version of the pytivo. LOL


----------



## gonzotek

TVCricket said:


> I'm not very familiar with using cmd or its commands. Have no clue how to do most of hat. Most specifically "cd to the directory". Sorry if I keep asking novice questions, but this is exactly why I went with the .exe version of the pytivo. LOL


cd is the command to "change directory", which means you're changing from the directory that the command prompt is on now, to the one you want to be in.

So, if your videos are located in the 'Videos' library on Windows 7, you most likely want:


Code:


cd c:\Users\YOUR_WINDOWS_USER_NAME_HERE\Videos

 If you've you've added folders to that directory, and Band of Brothers is one of them, then the command would look like this:


Code:


cd "c:\Users\YOUR_WINDOWS_USER_NAME_HERE\Videos\Band of Brothers"

Notice the quotes around the second part. They are necessary because there are spaces in the folder name.


----------



## lpwcomp

TVCricket said:


> I'm not very familiar with using cmd or its commands. Have no clue how to do most of hat. Most specifically "cd to the directory". Sorry if I keep asking novice questions, but this is exactly why I went with the .exe version of the pytivo. LOL


First do this:


> Open the Start Menu, click on All Programs, Accessories, and on Command Prompt. (see screenshot below)


Then enter ( each line separately):



Code:


F:
cd "\My Videos\TV Shows;\Band of Brothers"
dir >lst.txt

Is there really a ";" in the directory name? If so, I suggest you get rid of it by renaming the folder. If not, then leave it out of the above cd command but do leave in the quotes. They are needed since you have blanks in the name.

You will now have a file named lst.txt in that directory which you can either attach or edit and cut and paste.


----------



## TVCricket

I quickly ripped a few episodes of another show and tried it again and it worked. Wonder what could be causing these two shows to not group.


----------



## jcthorne

Did you have BoB on the Tivo just prior to the last software update and trying to add new episodes?

There is an known issue created by the reformatting of the internal Tivo databases during the software upgrade that caused existing shows that were pushed, to ungroup. Any further use of the same seriesId will not group either.

If this was the case, delete all BoB episodes from your Tivo, delete them permanently from the recently deleted folder. Wait a few days and try loading them again.

Alternately, you can change the seriesId in the metadata for the whole series.

Seems the seriesId is fubar until it completely disappears from the Tivo database.


----------



## lpwcomp

jcthorne said:


> Did you have BoB on the Tivo just prior to the last software update and trying to add new episodes?
> 
> There is an known issue created by the reformatting of the internal Tivo databases during the software upgrade that caused existing shows that were pushed, to ungroup. Any further use of the same seriesId will not group either.
> 
> If this was the case, delete all BoB episodes from your Tivo, delete them permanently from the recently deleted folder. Wait a few days and try loading them again.
> 
> Alternately, you can change the seriesId in the metadata for the whole series.
> 
> Seems the seriesId is fubar until it completely disappears from the Tivo database.


He's pulling, not pushing.


----------



## TVCricket

jcthorne said:


> Did you have BoB on the Tivo just prior to the last software update and trying to add new episodes?
> 
> There is an known issue created by the reformatting of the internal Tivo databases during the software upgrade that caused existing shows that were pushed, to ungroup. Any further use of the same seriesId will not group either.
> 
> If this was the case, delete all BoB episodes from your Tivo, delete them permanently from the recently deleted folder. Wait a few days and try loading them again.
> 
> Alternately, you can change the seriesId in the metadata for the whole series.
> 
> Seems the seriesId is fubar until it completely disappears from the Tivo database.


Ding ding ding, we have a winner. Changed the SeriesID and now it works. Thank you sir.


----------



## y2kse

I'm unsuccessfully trying to push a series of MP4's to my TiVo Premiere unit. Other files that are known to have worked previously still work. Pulling works okay, but the server hosting pyTivo is too slow for transcoding. I thought there might an issue with the files, but pushing one of the failing files to my Tivo HD unit works fine. Based on the pyTivo logs, it looks like the push request gets sent, the Premiere picks it up but rejects the file.

I don't know what to try next. Any advice?


----------



## jcthorne

please post the mediainfo data for one of the files that fails and the pytivo log. Someone here can help you figure out what is going on.


----------



## y2kse

I wrote too soon. I thought the files in question were working on the TivoHD, but they weren't. The blue LED would appear and there were no errors in the pytivo log, but I realized after awhile that there was nothing actually transferring. After that, I figured out the problem was the bit rates on these files was too high.


----------



## lrhorer

Um, say what? How high is "too high"? I'm not sure there is such a thing when it comes to transferring a file. Playback is another matter. Certainly the TiVos can handle bit rates in excess of 20 Mbps. How high is the bit rate on your files, and what was their source?


----------



## wmcbrine

There are some situations where the bitrate can be "too high" -- see here. If the video is being remuxed (only), and the video bitrate exceeds 16 Mbps (or the rate specified in the .conf file), then the estimated size will be too small, and the file will be deleted after transfer. (I'm working on fixing this.) Whether this is y2kse's problem, I don't know.


----------



## newsposter

what would a reason be for a show to stop transferring after a period of time whether it's a pull or a push?

it plays perfectly on the laptop


----------



## BankZ

Anyone know what could cause an exclamation point to show up rather than the computer icon?


----------



## lpwcomp

BankZ said:


> Anyone know what could cause an exclamation point to show up rather than the computer icon?


I had been assuming that, since I first noticed it with the fall update, that it was a TiVo problem. However, I ran TD today while investigating the current push problem, and TD still shows a computer icon, so I some further testing and I discovered that using an old beacon.py module with everything else being current, I got the computer icon back. So it appears to be that TiVo changed something in the HDUI so that the the icon change in beacon.py no longer works in the HDUI.


----------



## BankZ

Where can I get an older version of beacon.py?


----------



## wmcbrine

Downgrading beacon.py is not the correct solution. You'd probably get the same effect just by restarting pyTivo. I know I do. However, I am curious as to exactly how old this old version is.

Previous thread about this topic here: http://www.tivocommunity.com/tivo-vb/showthread.php?t=495368

To what I wrote there, I'd now add that I've seen the icon go to an exclamation point sometimes, and I've seen it clear up on its own after a while, or immediately if I restart pyTivo.


----------



## lpwcomp

wmcbrine said:


> Downgrading beacon.py is not the correct solution. You'd probably get the same effect just by restarting pyTivo. I know I do. However, I am curious as to exactly how old this old version is.


I wholeheartedly agree with that. I didn't mean to suggest that he do so and was going to post as much but had to go out. I only did it in an attempt to isolate the source of the problem. As far how old it is - it is from the oldest version (zip file) I had lying around, beacon.py having a date of 8/18/2011.



wmcbrine said:


> Previous thread about this topic here: http://www.tivocommunity.com/tivo-vb/showthread.php?t=495368
> 
> To what I wrote there, I'd now add that I've seen the icon go to an exclamation point sometimes, and I've seen it clear up on its own after a while, or immediately if I restart pyTivo.


For me, at least in the HDUI, it starts out as an exclamation point and never varies. If it makes any difference, zeroconf is disabled, as I limit which shares can be seen by three of my four TiVos. The only one not limited to specific shares is also the only one on which I am using the HDUI.


----------



## wmcbrine

Yes, you'll never see anything but an exclamation point with Zeroconf disabled.

But if it works with an older version of beacon.py AND no Zeroconf, then clearly I have something to investigate...


----------



## wmcbrine

OK, here's what I've found: With Zeroconf disabled, I can get rid of the greyed-out/exclamation point effect if I change PLATFORM_MAIN to "pc" (or "pc/pyTivo"; it makes no difference). But if I do that, then the music and photo shares revert to being displayed like "Music on Sharename's PC" instead of just "Sharename". The only way around this is to use Zeroconf, because it can provide different platform values for each share, which the old beacon method doesn't do.

IMHO the "Music on Sharename's PC" format is even less desirable than the exclamation point, so I'm tentatively classifying this as "won't fix". The solution for most people (not using the "shares" option) should be to get Zeroconf working, as I've recommended previously.

Although... I suppose I could make it so that PLATFORM_VIDEO was used in the old-style beacons if no music or photo shares were defined. It's not a full solution, though.

At least I now understand _why_ the problem only appears with Zeroconf not working.


----------



## wmcbrine

wmcbrine said:


> ... I could make it so that PLATFORM_VIDEO was used in the old-style beacons if no music or photo shares were defined.


In my repos now.


----------



## BankZ

OK, I don't think I have Zeroconf working. I have windows 8 and opened up port udp 5353 for incoming & outgoing. I have it running as a service. Ideas what I can look at?


----------



## BankZ

Also, does my config look OK?



Code:


[Server]
port = 9032
ffmpeg = D:\Media\pyTivo\bin\ffmpeg.exe
tivodecode = D:\Media\pyTivo\bin\tivodecode.exe
tdcat = D:\Media\pyTivo\bin\tdcat.exe
tivo_mak = xxxxx
tivo_password = xxxxxx
tivo_username = [email][email protected][/email]
togo_path = D:\Media\Videos\
ffmpeg_pram = -threads 2 -async 1
debug = True

[Videos]
type = video
path = D:\Media\Videos

[_tivo_HD]
bufsize = 4096k
max_audio_br = 448K
width = 1280
height = 720
video_br = 16384K
max_video_br = 30000k


----------



## wmcbrine

BankZ said:


> Also, does my config look OK?


It's fine, although your "_tivo_HD" section is redundant (you're setting everything to the default values), along with some of the other lines. I'd just have it like this:



Code:


[Server]
tivo_mak = xxxxx
tivo_password = xxxxxx
tivo_username = [email][email protected][/email]
togo_path = D:\Media\Videos\
ffmpeg_pram = -threads 2 -async 1
debug = True

[Videos]
type = video
path = D:\Media\Videos


----------



## BankZ

So, I shouldn't include these paths?

ffmpeg = D:\Media\pyTivo\bin\ffmpeg.exe
tivodecode = D:\Media\pyTivo\bin\tivodecode.exe
tdcat = D:\Media\pyTivo\bin\tdcat.exe


----------



## wmcbrine

Those lines aren't needed. The bin dir is the default location where pyTivo looks for those files (assuming that your pyTivo is actually installed in D:\Media\pyTivo). There's no harm in specifying the locations, so I wouldn't say that you _shouldn't_ do it. It's just unnecessary.


----------



## sirfergy

Anyone having issues with pulls? After I updated pytivo I now get an authentication error when pushing.


----------



## lpwcomp

sirfergy said:


> Anyone having issues with pulls? After I updated pytivo I now get an authentication error when pushing.


Pushes have been a widespread problem since Friday. See this thread.


----------



## jcthorne

Well since pushes have been down for a few days and I have a few vids I wanted on the tivo, I decided to re-enable the video shares in pytivo so I could pull....

Now I get the darn ! icon and the shares are greyed out. Tried several zeroconf settings and addresses, rebooted pytivo and the tivo several times. I get one or two of the smaller shares showing up sometimes but mostly I cannot pull or push now....

Ideas? Did others get the broken video shares fixed somehow? I read the other thread too and no answers there either.


----------



## lpwcomp

jcthorne said:


> Well since pushes have been down for a few days and I have a few vids I wanted on the tivo, I decided to re-enable the video shares in pytivo so I could pull....
> 
> Now I get the darn ! icon and the shares are greyed out. Tried several zeroconf settings and addresses, rebooted pytivo and the tivo several times. I get one or two of the smaller shares showing up sometimes but mostly I cannot pull or push now....
> 
> Ideas? Did others get the broken video shares fixed somehow? I read the other thread too and no answers there either.


They're not broken, just look weird in the NPL. Still accessible.


----------



## jcthorne

No, the ones with ! are greyed out and when selected return an error that the list could not be obtained. One or two (depending on when I check, they come and go) show a PC icon and are not greyed out. Those return a list from pytivo.

Anyone know how to get these working again? I will admit its been well over a year since I had video shares enabled for pulls as I always use pushes....until now.


----------



## lpwcomp

jcthorne said:


> No, the ones with ! are greyed out and when selected return an error that the list could not be obtained. One or two (depending on when I check, they come and go) show a PC icon and are not greyed out. Those return a list from pytivo.
> 
> Anyone know how to get these working again? I will admit its been well over a year since I had video shares enabled for pulls as I always use pushes....until now.


Huh. All I can say is that they work for me and have all along. This may be a totally different problem. What does it look like in the SDUI? What platform are you on? I'm on Win2K (no comments, please).


----------



## jcthorne

Tried in the SDUI. The icon is normal but selecting my moves share results in the same error:

The Movies PC's Now Playing List could not be displayed because it is unavailable. Press LEFT to return to the My Shows list.



The share displays fine using the web interface to pytivo so its not an error in the directory naming.

pytivo is running on a Windows 7 64bit system as it has for some time now.


----------



## jcthorne

Update.

Back to the HDUI, all but one share are greyed out but they all display a directory EXCEPT my movies directory. That share only contians 3 videos with 3 txt files for metadata and a number of subdirectories.

pytivo will not display that share on the tivo. Displays fine in the webUI.


----------



## lpwcomp

jcthorne said:


> Update.
> 
> Back to the HDUI, all but one share are greyed out but they all display a directory EXCEPT my movies directory. That share only contians 3 videos with 3 txt files for metadata and a number of subdirectories.
> 
> pytivo will not display that share on the tivo. Displays fine in the webUI.


This is using the latest pyTivo and running as administrator?


----------



## wmcbrine

Well, unlike with TD, there's no need to run pyTivo as Administrator, as long as it can access the files and ports as whatever user you run it as.

I agree that jcthorne's is a different problem from the general exclamation-point icon issue. It kind of sounds like a basic connectivity problem. But I'd want to see the log from pyTivo.


----------



## jcthorne

Still trying but new problems.

Downloaded todays master from wmcbrine and installed. Started pytivo and again attempted to go to my shows and the pytivo movies share. This time the share opened (even though it still shows a ! and is greyed out).

Now I select a video and tell it to transfer.....pytivo attempts to transfer the mp4 with h264 and ac3 audio and fails for too low of a bandwidth setting.

I see these errors:

Please use -b:a or -b:v, -b is ambiguous

Bit allocation failed. Try increasing the bitrate.
Audio encoding failed (avcodec_encode_audio2)

New log file:



Code:


Archive\Movies Alphabetical\Flight 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:tsn: 
DEBUG:pyTivo.video.transcode:aspect169: True
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=Z:\Video Archive\Movies Alphabetical\Flight 20
12.mp4 vCodec=h264 vWidth=1920 vHeight=800 vFps=23.98 millisecs=8315330 TIVO_HEI
GHT=1080 TIVO_WIDTH=1920
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:selected audio stream: 0:1
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, Z:\Video
 Archive\Movies Alphabetical\Flight 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
INFO:pyTivo:192.168.1.106 [11/Feb/2013 18:01:34] "GET /TiVoConnect?Command=Query
Container&Container=Movies%20Alphabetical&SortOrder=Title&ItemCount=8&AnchorItem
=%2FMovies%2520Alphabetical%2FFlight%25202012.mp4&AnchorOffset=-7&Filter=x-tivo-
container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&
SerialNum=
 HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.106 [11/Feb/2013 18:01:34] "GET /TiVoConnect?Command=Query
Formats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.106 [11/Feb/2013 18:01:34] "GET /TiVoConnect?Command=Query
Formats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.106 [11/Feb/2013 18:01:39] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.109 [11/Feb/2013 18:01:40] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.106 [11/Feb/2013 18:01:40] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.109 [11/Feb/2013 18:01:41] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.106 [11/Feb/2013 18:03:51] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:127.0.0.1 [11/Feb/2013 18:04:40] "GET / HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.109 [11/Feb/2013 18:04:40] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:127.0.0.1 [11/Feb/2013 18:04:42] "GET /TiVoConnect?Command=Settings&
Container=Settings HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [11/Feb/2013 18:04:42] "GET /main.css HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [11/Feb/2013 18:04:42] "GET /plugins/settings/settings.css
 HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [11/Feb/2013 18:04:42] "GET /plugins/settings/settings.js
HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.106 [11/Feb/2013 18:05:37] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.106 [11/Feb/2013 18:05:40] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.106 [11/Feb/2013 18:05:52] "GET /TiVoConnect?Command=Query
Formats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, Z:\Video
 Archive\Movies Alphabetical\Flight 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:tsn: 
DEBUG:pyTivo.video.transcode:aspect169: True
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=Z:\Video Archive\Movies Alphabetical\Flight 20
12.mp4 vCodec=h264 vWidth=1920 vHeight=800 vFps=23.98 millisecs=8315330 TIVO_HEI
GHT=1080 TIVO_WIDTH=1920
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:selected audio stream: 0:1
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, Z:\Video
 Archive\Movies Alphabetical\Flight 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
INFO:pyTivo:192.168.1.106 [11/Feb/2013 18:06:06] "GET /TiVoConnect?Command=Query
Container&Container=Movies%20Alphabetical&SortOrder=Title&ItemCount=8&Filter=x-t
ivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%
2F*&SerialNum= HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.106 [11/Feb/2013 18:06:06] "GET /TiVoConnect?Command=Query
Formats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.106 [11/Feb/2013 18:06:06] "GET /TiVoConnect?Command=Query
Formats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.106 [11/Feb/2013 18:06:20] "GET /TiVoConnect?Command=Query
Formats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, Z:\Video
 Archive\Movies Alphabetical\Flight 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:tsn: 
DEBUG:pyTivo.video.transcode:aspect169: True
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=Z:\Video Archive\Movies Alphabetical\Flight 20
12.mp4 vCodec=h264 vWidth=1920 vHeight=800 vFps=23.98 millisecs=8315330 TIVO_HEI
GHT=1080 TIVO_WIDTH=1920
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:selected audio stream: 0:1
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, Z:\Video
 Archive\Movies Alphabetical\Flight 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
INFO:pyTivo:192.168.1.106 [11/Feb/2013 18:06:21] "GET /TiVoConnect?Command=Query
Container&Container=Movies%20Alphabetical&SortOrder=Title&ItemCount=1&AnchorItem
=%2FMovies%2520Alphabetical%2FFlight%25202012.mp4&AnchorOffset=-1&Filter=x-tivo-
container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&
SerialNum= HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.106 [11/Feb/2013 18:06:21] "GET /TiVoConnect?Command=TVBus
Query&Container=Movies%20Alphabetical&File=%2FFlight%202012.mp4&SerialNum= HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.106 [11/Feb/2013 18:06:21] "GET /TiVoConnect?Command=Query
Formats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, container mov not compatible, Z:\Vid
eo Archive\Movies Alphabetical\Flight 2012.mp4
INFO:pyTivo:192.168.1.106 [11/Feb/2013 18:06:27] "GET /Movies%20Alphabetical/Fli
ght%202012.mp4?Format=video%2Fx-tivo-mpeg-ts HTTP/1.1" 206 -
INFO:pyTivo.video.video:[11/Feb/2013 18:06:27] Start sending "Z:\Video Archive\M
ovies Alphabetical\Flight 2012.mp4" to Thornolis HT
DEBUG:pyTivo.video.video:"Z:\Video Archive\Movies Alphabetical\Flight 2012.mp4"
is not tivo compatible
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:tsn: 
DEBUG:pyTivo.video.transcode:aspect169: True
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=Z:\Video Archive\Movies Alphabetical\Flight 20
12.mp4 vCodec=h264 vWidth=1920 vHeight=800 vFps=23.98 millisecs=8315330 TIVO_HEI
GHT=1080 TIVO_WIDTH=1920
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Movies Alphabetical\Fli
ght 2012.mp4
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:selected audio stream: 0:1
DEBUG:pyTivo.video.transcode:transcoding to tivo model 746 using ffmpeg command:

DEBUG:pyTivo.video.transcode:C:\pyTivo\bin\ffmpeg.exe -i Z:\Video Archive\Movies
 Alphabetical\Flight 2012.mp4 -vcodec copy -bsf h264_mp4toannexb -b 16384k -maxr
ate 30000k -bufsize 4096k -ab 64k -ar 48000 -acodec ac3 -copyts -map 0:0 -map 0:
1 -f mpegts -
ffmpeg version N-47062-g26c531c Copyright (c) 2000-2012 the FFmpeg developers
  built on Nov 25 2012 12:21:26 with gcc 4.7.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-pthreads --enable-runt
ime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libass -
-enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enab
le-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-libo
pus --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheo
ra --enable-libutvideo --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-li
bvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --ena
ble-zlib
  libavutil      52.  9.100 / 52.  9.100
  libavcodec     54. 77.100 / 54. 77.100
  libavformat    54. 37.100 / 54. 37.100
  libavdevice    54.  3.100 / 54.  3.100
  libavfilter     3. 23.102 /  3. 23.102
  libswscale      2.  1.102 /  2.  1.102
  libswresample   0. 17.101 /  0. 17.101
  libpostproc    52.  2.100 / 52.  2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Z:\Video Archive\Movies Alphabetical\Fl
ight 2012.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isomavc1
    creation_time   : 2013-02-11 02:15:56
  Duration: 02:18:35.33, start: 0.000000, bitrate: 3478 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x800,
 2835 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc
    Metadata:
      creation_time   : 2013-02-11 02:15:56
      handler_name    : 2012.German.AC3D.DL.1080p.BluRay.264#trackID=1:fps=23.97
[email protected]
    Stream #0:1(eng): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), s16,
640 kb/s
    Metadata:
      creation_time   : 2013-02-11 02:18:26
      handler_name    : 2012.German.AC3D.DL.1080p.BluRay.x264-PS - [2] English 1
1ms_audio.ac3#trackID=1:[email protected]
Please use -b:a or -b:v, -b is ambiguous
Output #0, mpegts, to 'pipe:':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isomavc1
    encoder         : Lavf54.37.100
    Stream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p, 1920x800, q=2-31
, 2835 kb/s, 23.98 fps, 90k tbn, 23.98 tbc
    Metadata:
      creation_time   : 2013-02-11 02:15:56
      handler_name    : 2012.German.AC3D.DL.1080p.BluRay.264#trackID=1:fps=23.97
[email protected]
    Stream #0:1(eng): Audio: ac3, 48000 Hz, 5.1(side), fltp, 64 kb/s
    Metadata:
      creation_time   : 2013-02-11 02:18:26
      handler_name    : 2012.German.AC3D.DL.1080p.BluRay.x264-PS - [2] English 1
1ms_audio.ac3#trackID=1:[email protected]
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (ac3 -> ac3)
Press [q] to stop, [?] for help
frame=  195 fps=0.0 q=-1.0 size=    2277kB time=00:00:08.18 bitrate=2278.2kbits/
frame=  269 fps=263 q=-1.0 size=    4151kB time=00:00:11.54 bitrate=2944.7kbits/
frame=  331 fps=214 q=-1.0 size=    5692kB time=00:00:13.85 bitrate=3366.3kbits/
frame=  447 fps=218 q=-1.0 size=    8205kB time=00:00:18.90 bitrate=3555.0kbits/
frame=  859 fps=335 q=-1.0 size=   10626kB time=00:00:35.86 bitrate=2427.0kbits/
frame=  980 fps=320 q=-1.0 size=   12045kB time=00:00:41.08 bitrate=2401.8kbits/
frame= 1219 fps=341 q=-1.0 size=   14373kB time=00:00:51.00 bitrate=2308.5kbits/
frame= 1390 fps=339 q=-1.0 size=   16944kB time=00:00:58.36 bitrate=2378.4kbits/
frame= 1459 fps=316 q=-1.0 size=   18482kB time=00:01:01.11 bitrate=2477.4kbits/
frame= 1629 fps=319 q=-1.0 size=   20884kB time=00:01:08.41 bitrate=2500.8kbits/
frame= 1735 fps=308 q=-1.0 size=   22551kB time=00:01:12.57 bitrate=2545.6kbits/
frame= 1838 fps=299 q=-1.0 size=   24781kB time=00:01:16.69 bitrate=2646.8kbits/
frame= 2000 fps=300 q=-1.0 size=   27161kB time=00:01:23.57 bitrate=2662.2kbits/
frame= 2135 fps=298 q=-1.0 size=   29893kB time=00:01:29.11 bitrate=2747.9kbits/
frame= 2316 fps=302 q=-1.0 size=   32292kB time=00:01:36.89 bitrate=2730.2kbits/
frame= 2508 fps=306 q=-1.0 size=   34834kB time=00:01:44.69 bitrate=2725.6kbits/
frame= 2629 fps=298 q=-1.0 size=   36449kB time=00:01:49.72 bitrate=2721.3kbits/
frame= 2826 fps=302 q=-1.0 size=   38935kB time=00:01:57.97 bitrate=2703.5kbits/
frame= 2971 fps=301 q=-1.0 size=   40882kB time=00:02:04.05 bitrate=2699.6kbits/
frame= 3109 fps=299 q=-1.0 size=   42530kB time=00:02:09.91 bitrate=2681.8kbits/
frame= 3254 fps=298 q=-1.0 size=   44222kB time=00:02:15.89 bitrate=2665.7kbits/
frame= 3444 fps=302 q=-1.0 size=   46670kB time=00:02:23.93 bitrate=2656.3kbits/
frame= 3542 fps=297 q=-1.0 size=   48046kB time=00:02:27.80 bitrate=2663.0kbits/
frame= 3640 fps=293 q=-1.0 size=   49700kB time=00:02:31.93 bitrate=2679.8kbits/
frame= 3741 fps=290 q=-1.0 size=   51490kB time=00:02:36.53 bitrate=2694.6kbits/
s
Bit allocation failed.  Try increasing the bitrate.
Audio encoding failed (avcodec_encode_audio2)

Why is pytivo trying to re-encode the audio at all? Is the bitrate failure for the audio or the video?

Tried on a couple more videos, including one that I previously pushed fine and get the same errors although at different points in the transfer. None seem to complete.


----------



## wmcbrine

Huh, that's a new one. Could you post your pyTivo.conf?

P.S. What kind of lunatic made a file with 3478 kb/s video and 640 kb/s audio?


----------



## wmcbrine

jcthorne said:


> Why is pytivo trying to re-encode the audio at all?


It exceeds the maximum allowed rate, which is 448K by default. You can change this in the .conf file (although really, it should be changed as the default for Premieres -- which kind of implies killing it as a .conf option (see here)).



> _Is the bitrate failure for the audio or the video?_


Audio.

This (attempting to use only 64 Kbps) is a bug either in pyTivo or in your .conf file, which is why I'd like to rule out the latter.


----------



## jcthorne

wmcbrine said:


> It exceeds the maximum allowed rate, which is 448K by default. You can change this in the .conf file (although really, it should be changed as the default for Premieres -- which kind of implies killing it as a .conf option (see here)).
> 
> Audio.
> 
> This (attempting to use only 64 Kbps) is a bug either in pyTivo or in your .conf file, which is why I'd like to rule out the latter.


my pytivo.conf:



Code:


[_tivo_SD]

[Server]
tivo_password = xxxx
par = 1.0
tivo_mak = xxxxx
ffmpeg = C:\pyTivo\bin\ffmpeg.exe
ffmpeg_wait = 10
tivodecode = c:\pytivo\bin\tivodecode.exe
tivo_mind = mind.tivo.com:8181
zeroconf = Auto
togo_path = Z:\Temp Storage\Need Editing\
debug = True
tivo_username = xxxxxx
nosettings = False
port = 9032
ts = on
beacon = 255.255.255.255

[_tivo_746000xxx]

[_tivo_746000yyy]

[_tivo_746000zzz]

[_tivo_HD]
max_audio_br = 640K

[Thornoli_Photo_Albums]
type = photo
path = Z:\Photos

[Thornolis Music]
type = music
path = Z:\Music

[Movies Alphabetical]
force_alpha = True
type = video
path = Z:\Video Archive\Movies Alphabetical

[Documentaries]
force_alpha = True
type = video
path = Z:\Video Archive\Documentary

[Concerts]
force_alpha = True
type = video
path = Z:\Video Archive\Music & Concerts

[Live Theater Performances]
force_alpha = True
type = video
path = Z:\Video Archive\Live Theater Performances

[Television Shows]
force_alpha = True
type = video
path = Z:\Video Archive\Television Shows

[Tivo Transfers]
force_alpha = True
type = video
path = C:\Download\Transfer

Up until yesterday I had the specific photo share under each of the tivo sections so that the video shares did not show up. This caused zeroconf to be disabled.


----------



## jcthorne

wmcbrine said:


> P.S. What kind of lunatic made a file with 3478 kb/s video and 640 kb/s audio?


I guess that would be me and the result of my default x264 settings of constant quality factor of 20.0 as set in meGUI. Some videos come out significantly higher than that depending on content. This particular encode was only 24fps which helps (1080p24). Are others using significantly lower crf values?


----------



## lrhorer

jcthorne said:


> I guess that would be me and the result of my default x264 settings of constant quality factor of 20.0 as set in meGUI. Some videos come out significantly higher than that depending on content. This particular encode was only 24fps which helps (1080p24). Are others using significantly lower crf values?


I use 17 in Handbrake. I don't know if the CRF values track one-for-one between Handbrake and MeGUI, but if I were to guess, I would expect they do.


----------



## jcthorne

Thanks, I will give lower values a try and see if I can tell any improvement in video quality. I can say I have been using 20 for a LONG time and somewhere along the line a revision to x264 made the resultant files much lower bit rate for the same crf than before. As I really did not notice a reduction in quality, I left things alone.

Back to pytivo, I tried removing max_audio_br = 640K from my pytivo.conf and tried pulling again. It does but reencodes the audio down to 448 but at least it transfers so we are on to something. 

Should not 640k be the default max bitrate for Premieres? that is why I had stuck that parameter in the conf many moons ago, right after I upgraded from my tivoHD.


----------



## wmcbrine

jcthorne, I'm unable to reproduce your problem. I get the correct behavior with max_audio_br = 640k in the _tivo_HD section and a file with 640k AC3 sound. And I see no errors in the code. I'm drawn towards outré explanations, such as that you haven't shown me the actual pyTivo.conf being used, or that your installation is broken somehow, perhaps by mixing code from different versions. I don't know. Sorry.

I can only offer a trivial and irrelevant observation about your pyTivo.conf. These lines:



Code:


par = 1.0
ffmpeg = C:\pyTivo\bin\ffmpeg.exe
ffmpeg_wait = 10
tivodecode = c:\pytivo\bin\tivodecode.exe
tivo_mind = mind.tivo.com:8181
zeroconf = Auto
nosettings = False
port = 9032
beacon = 255.255.255.255

all specify the default values, so they're redundant.


----------



## jcthorne

I truly appreciate your looking into this. Think its time after so many years and upgrades to blow away the pytivo directory and start fresh. Including building a new pytivo.conf file with only the currently required options. Thanks again for all you do on pytivo.


----------



## wmcbrine

Thanks. Do let me know if that fixes it. I'm not optimistic. This is really bugging me... what am I missing?


----------



## txporter

wmcbrine said:


> Thanks. Do let me know if that fixes it. I'm not optimistic. This is really bugging me... what am I missing?


Don't know if this is a problem or not, but did note that jcthorne had 640*K* set in his pytivo config while you said you tested 640*k*. Is ffmpeg case sensitive?


----------



## wmcbrine

It's not the case.


----------



## Soapm

wmcbrine said:


> I might even go crazy and remove the bitrate options. I'd be interested to hear defenses of any of these options from anyone who wants to preserve them. (see here)).


For some reason I can't post in the pytivo forum but I wanted to answer your question, some of us still use CRT's and have slow networks so I reduce the picture quality so I can watch shows real time. I don't notice the reduction because as I said, we have all CRT's. In fact, someone just gave me a 36" CRT so I have one on standby in the event one of my current sets fail.

Can you make some kind of advanced configuration where those of us who don't need HD can reduce the workload on our networks? Not to mention my old 486 video server that tuns pytivo...


----------



## jcthorne

Just reporting back. Still have problem with ! icon and shares greyed out but they all work anyway now. And pulls work as h.264 video without transcode now.

I blew away my pytivo install and started fresh so it was something mucking up the works with many many over writes of new pytivo code over the years. I have no idea when pulls quit working for me as I had not used them in a long time. Over a year.

Anyway, with current code and a less cluttered conf file built from the conf.dist file, I am working again. And pushes are back as well thanks to tivo rebooting the mind server.

Thanks everyone. Sorry to have hogged so much bandwidth. Looking foreward to the next big thing....


----------



## larrs

jcthorne said:


> Just reporting back. Still have problem with ! icon and shares greyed out but they all work anyway now. And pulls work as h.264 video without transcode now.
> 
> I blew away my pytivo install and started fresh so it was something mucking up the works with many many over writes of new pytivo code over the years. I have no idea when pulls quit working for me as I had not used them in a long time. Over a year.
> 
> Anyway, with current code and a less cluttered conf file built from the conf.dist file, I am working again. And pushes are back as well thanks to tivo rebooting the mind server.
> 
> Thanks everyone. Sorry to have hogged so much bandwidth. Looking foreward to the next big thing....


Yeah, that ! icon is a pain. My wife has asked me at least a hundred times if something is wrong with our video server.


----------



## wmcbrine

larrs said:


> Yeah, that ! icon is a pain. My wife has asked me at least a hundred times if something is wrong with our video server.


Well, the answer is yes. Namely, it's not getting zeroconf packets to the TiVo. But, if you upgrade to my latest, AND you have only video shares (no music or photos), then you should be rid of the problem, even with zeroconf not working.

You can also force a fix even with music and photo shares active, IF you don't mind them appearing as "Music on sharename's PC" instead of "sharename". (Or, of course, you could run two different instances of pyTivo on different ports, one for video and one for music and photos.)


----------



## larrs

wmcbrine said:


> Well, the answer is yes. Namely, it's not getting zeroconf packets to the TiVo. But, if you upgrade to my latest, AND you have only video shares (no music or photos), then you should be rid of the problem, even with zeroconf not working.
> 
> You can also force a fix even with music and photo shares active, IF you don't mind them appearing as "Music on sharename's PC" instead of "sharename". (Or, of course, you could run two different instances of pyTivo on different ports, one for video and one for music and photos.)


I only use video with pyTivo so I will do that over the weekend...thanks!


----------



## Soapm

Just curious, how does pyTivo know to use the HD or the SD section? How does it know if the Tivo it is sending to is HD or SD?

I have both sections set in my config file but I have no clue how it knows when to use which section???


----------



## wmcbrine

Soapm said:


> How does it know if the Tivo it is sending to is HD or SD?





Code:


def isHDtivo(tsn):  # tsn's of High Definition Tivo's
    return bool(tsn and tsn[0] >= '6' and tsn[:3] != '649')

The TiVo Service Number, or TSN, is included in each request the TiVo makes to pyTivo. The first three digits are basically the model number of the TiVo. Series 3 units have a TSN that starts with "6"; Series 4 units' TSNs start with "7". The Series 2DT's TSN starts with "649", so it's treated as a special case. Other Series 2 TSNs start with "5" or lower.


----------



## Soapm

wmcbrine said:


> Code:
> 
> 
> def isHDtivo(tsn):  # tsn's of High Definition Tivo's
> return bool(tsn and tsn[0] >= '6' and tsn[:3] != '649')
> 
> The TiVo Service Number, or TSN, is included in each request the TiVo makes to pyTivo. The first three digits are basically the model number of the TiVo. Series 3 units have a TSN that starts with "6"; Series 4 units' TSNs start with "7". The Series 2DT's TSN starts with "649", so it's treated as a special case. Other Series 2 TSNs start with "5" or lower.


So since I have a 652160 I have no reason to set the SD portion of the config file. That's nice to know.


----------



## BankZ

I am running as a service on Win8 and the share keeps disappearing. Ive opened port 5353 UDP for incoming and outgoing. Any ideas?


----------



## unitron

BankZ said:


> I am running as a service on Win8 and the share keeps disappearing. Ive opened port 5353 UDP for incoming and outgoing. Any ideas?


Make sure it's not related to this problem:

http://www.tivocommunity.com/tivo-vb/showthread.php?p=9526322#post9526322


----------



## BankZ

unitron said:


> Make sure it's not related to this problem:
> 
> http://www.tivocommunity.com/tivo-vb/showthread.php?p=9526322#post9526322


I don't think so. That seems to be more of a problem downloading from the TiVo. This is my share isn't seen by TiVo after a while. I have to restart the service.


----------



## lpwcomp

Something that occurred to me a while back vis-à-vis installing updates to pyTivo - is it possible that Python isn't always checking the mod date of the .pyc file against the .py file, particularly on subsidiary modules, so that you end up using the old .pyc file?


----------



## Soapm

This show appears squished on the TV. The aspect ration is waaaay off. The people are tall and skinny and I have black bars on both sides. Any sugestion to make this play right?



Code:


INFO:pyTivo:192.168.0.195 [26/Feb/2013 01:47:55] "GET /Lenny/XXXXX/Season%202/XXXXX%20-%20s02e04%20-%20Nobody%20in%20a%20Nothing%20Place.mkv?Format=video%2Fx-tivo-mpeg HTTP/1.1" 206 -
INFO:pyTivo.video.video:[26/Feb/2013 01:47:55] Start sending "/video/XXXXX/Season 2/XXXXX - s02e04 - Nobody in a Nothing Place.mkv" to FamRoom
ffmpeg version N-50171-gb16bf91 Copyright (c) 2000-2013 the FFmpeg developers
  built on Feb 21 2013 21:55:21 with gcc 4.4.5 (Debian 4.4.5-8)
  configuration: --enable-gpl --enable-nonfree --enable-version3 --enable-memalign-hack --enable-avfilter --enable-pthreads --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libaacplus --enable-libbluray --enable-libxvid --enable-libfaac --enable-libfdk-aac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libtheora --enable-libvorbis --enable-libvpx
  libavutil      52. 17.102 / 52. 17.102
  libavcodec     54. 92.100 / 54. 92.100
  libavformat    54. 63.100 / 54. 63.100
  libavdevice    54.  3.103 / 54.  3.103
  libavfilter     3. 39.100 /  3. 39.100
  libswscale      2.  2.100 /  2.  2.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
[matroska,webm @ 0x95b4600] Unknown entry 0x80
Input #0, matroska,webm, from '/video/XXXXX/Season 2/XXXXX - s02e04 - Nobody in a Nothing Place.mkv':
  Duration: 00:45:25.53, start: 0.000000, bitrate: 618 kb/s
    Stream #0:0(eng): Video: h264 (Main), yuv420p, 352x478 [SAR 20:11 DAR 320:239], 29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc (default)
    Stream #0:1: Audio: aac, 48000 Hz, stereo, fltp (default)
Please use -b:a or -b:v, -b is ambiguous
Output #0, vob, to 'pipe:':
  Metadata:
    encoder         : Lavf54.63.100
    Stream #0:0(eng): Video: mpeg2video, yuv420p, 352x480 [SAR 20:11 DAR 4:3], q=2-31, 8192 kb/s, 90k tbn, 29.97 tbc (default)
    Stream #0:1: Audio: ac3, 48000 Hz, stereo, fltp, 448 kb/s (default)
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> mpeg2video)
  Stream #0:1 -> #0:1 (aac -> ac3)
Press [q] to stop, [?] for help
frame=   51 fps=0.0 q=2.0 size=     256kB time=00:00:01.80 bitrate=1160.1kbits/s dup=2 drop=0    
frame=  104 fps=103 q=2.0 size=     574kB time=00:00:03.56 bitrate=1318.0kbits/s dup=2 drop=0    
INFO:pyTivo:192.168.0.195 [26/Feb/2013 01:47:57] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
frame=  105 fps= 47 q=2.0 size=     578kB time=00:00:03.59 bitrate=1315.4kbits/s dup=2 drop=0    
frame=  154 fps= 49 q=2.0 size=    1108kB time=00:00:05.19 bitrate=1745.6kbits/s dup=2 drop=0    
frame=  209 fps= 58 q=2.0 size=    1522kB time=00:00:07.05 bitrate=1767.1kbits/s dup=2 drop=0


----------



## Soapm

I was reading here http://pytivo.sourceforge.net/wiki/index.php/Configure_pyTivo and changed optres = False then added par = 1.0 and it seems to have fixed it.

I was going to add aspect169 if that didn't work.

Is there a right way to fix this?


----------



## wmcbrine

Soapm said:


> This show appears squished on the TV. The aspect ration is waaaay off. The people are tall and skinny and I have black bars on both sides. Any sugestion to make this play right?


Try "Full" mode via the Zoom button?

It's a weird resolution, but the FFmpeg output says that it was marked as a 4:3 video, and that this was conveyed in the copy. If it was actually meant to be 16:9, but was flagged 4:3, that's not too unusual.


----------



## Soapm

wmcbrine said:


> Try "Full" mode via the Zoom button?


It wasn't changing anything...



wmcbrine said:


> It's a weird resolution, but the FFmpeg output says that it was marked as a 4:3 video, and that this was conveyed in the copy. If it was actually meant to be 16:9, but was flagged 4:3, that's not too unusual.


The par = 1.0 appears acceptable except I notice it's cropping the top and bottom of 4:3 SD shows. I would prefer to have the video uncropped with left and right black bars on 4:3 shows like this but this seems like a fair comprise and certainly livable. Optres = True was giving me left and right black bars until I got to this show so who knows, I may put that back and see if this alternative remedy will work for just this show.



> *Alternative option:* Specify par in metadata txt files by adding "Override_par : x.xxxx" to a metadata file associated with the video file. *If all files in the folder have the same par, add the option to a file called default.txt instead of creating individual metadata files.*


----------



## jcthorne

The particular file in question is improperly encoded. Note the resolution shown in the ffmpeg information is 352x478 indicating the video is taller than it is wide. The resolution is encoded backwards. Should have been 478x352. Its unlikely the video will ever look reasonable if re-encoded to a correct 4:3 resolution.


----------



## wmcbrine

jcthorne said:


> Note the resolution shown in the ffmpeg information is 352x478 indicating the video is taller than it is wide. The resolution is encoded backwards.


No -- 352 is one of the standard widths for NTSC, and 480 is one of the standard heights (I'm assuming there were just two lines cropped). Like I say, it's weird -- usually you'd see 352x240 (VCD) or 704x480 (or some other width). But these dimensions weren't flipped. In fact, I think 352x480 might even be a resolution that the TiVo generates, in a low-quality mode.

Obviously it's not using square pixels, but neither are any of the above. (640x480 is 4:3 with square pixels.)


----------



## wmcbrine

Soapm said:


> The par = 1.0 appears acceptable except I notice it's cropping the top and bottom of 4:3 SD shows.


That's not "par = 1.0", that's "Zoom" mode on the TiVo. Switch it to "Panel" mode (again, via the "Zoom" button, aka "Aspect").

"par = 1.0" doesn't even do anything, normally. I actually took out the "par" option in my latest versions, since in the extremely rare cases where it's useful, it's only so on a per-video basis.

You don't say what kind of TiVo you have?


----------



## Soapm

wmcbrine said:


> That's not "par = 1.0", that's "Zoom" mode on the TiVo. Switch it to "Panel" mode (again, via the "Zoom" button, aka "Aspect").
> 
> "par = 1.0" doesn't even do anything, normally. I actually took out the "par" option in my latest versions, since in the extremely rare cases where it's useful, it's only so on a per-video basis.
> 
> You don't say what kind of TiVo you have?


I have two, a TivoHD and a premier.

Wow, now this is really weird to me but you're absolutely right, I removed the par = 1.0 and it still fills the screen. However, pushing the window button rotates me through panel, zoom and full but it doesn't change the appearance on the screen like it normally does but I left it in panel per your advice.

Why I say it's weird is that everything is back to the way it initially was yet it seems to be acceptable at this point. There is still noticeable cropping at the top and bottom but the picture fills my 16:9 CRT and the people aren't distorted ie.. tall and skinny or short and fat so I guess it kind of fixed itself along the way.

This is the TV I have http://www.amazon.com/JVC-AV-30W475-IArt-30-Widescreen/dp/B0002V242E and I continually have troubles with aspect ratio's. Is there an optimal setting I should be using? This is my config file. If possible I would like to have 4:3 shows appear square in the middle of the screen with black bars on the left and right. This way I know the aspect ratio is correct and that's I'm not losing the top and bottom due to cropping.



Code:


[_tivo_SD]
video_pct = 0
audio_fr = 48000
tivo_mak = XXXXXXXXXX
video_fps = 29.97
tivo_password = XXXXXXX
video_br = 4096K
optres = true
height = 480
ffmpeg_pram = -threads 2
width = 544
max_audio_br = 448k
tivo_username = XXXXXXXXX
bufsize = 1024K
audio_br = 384K

[Server]
tivo_password = XXXXXXXXXXX
tivo_mak = XXXXXXXXXXX
ffmpeg = /usr/local/bin/ffmpeg
ffmpeg_pram = -threads 2
tivodecode = /usr/local/bin/tivodecode
tivo_mind = mind.tivo.com:8181
zeroconf = True
tdcat = /usr/local/bin/tdcat
beacon = 192.168.0.255
togo_path = /video/zfromtivo
tivo_username = XXXXXXXXXXX
port = 9032

[_tivo_HD]
video_pct = 0
ffmpeg_pram = -threads 2
tivo_mak = XXXXXXXXXXX
audio_fr = 48000
video_br = 16384K
optres = True
height = 480
width = 720
max_audio_br = 448k
max_video_br = 17408K
tivo_password = XXXXXXXXXXXX
tivo_username = XXXXXXXXXXXX
bufsize = 4096k
audio_br = 448k

[Lenny]
force_alpha = True
type = video
path = /video


----------



## wmcbrine

Soapm said:


> [_tivo_SD]
> video_pct = 0
> audio_fr = 48000
> video_fps = 29.97
> video_br = 4096K
> height = 480
> width = 544
> max_audio_br = 448k
> bufsize = 1024K
> 
> [Server]
> tivo_mind = mind.tivo.com:8181
> zeroconf = True
> port = 9032
> 
> [_tivo_HD]
> video_pct = 0
> audio_fr = 48000
> video_br = 16384K
> max_audio_br = 448k
> bufsize = 4096k
> audio_br = 448k


These options are all the default values, so there's no need to set them. Also, the whole _tivo_SD section does nothing if you don't have an SD TiVo.



> _[_tivo_SD]
> tivo_mak = XXXXXXXXXX
> tivo_password = XXXXXXX
> tivo_username = XXXXXXXXX
> 
> [Server]
> tivo_password = XXXXXXXXXXX
> tivo_mak = XXXXXXXXXXX
> tivo_username = XXXXXXXXXXX
> 
> [_tivo_HD]
> tivo_mak = XXXXXXXXXXX
> tivo_password = XXXXXXXXXXXX
> tivo_username = XXXXXXXXXXXX_


There's no need to set these redundantly. Just set them under "Server".



> _[_tivo_HD]
> height = 480
> width = 720_


This downrezzes all your HD videos to DVD resolution. Is that really what you want?

May I suggest:



Code:


[Server]
tivo_password = XXXXXXXXXXX
tivo_mak = XXXXXXXXXXX
ffmpeg = /usr/local/bin/ffmpeg
ffmpeg_pram = -threads 2
tivodecode = /usr/local/bin/tivodecode
tdcat = /usr/local/bin/tdcat
beacon = 192.168.0.255
togo_path = /video/zfromtivo
tivo_username = XXXXXXXXXXX

[Lenny]
force_alpha = True
type = video
path = /video

Additionally, you don't need to specify the locations of the binaries if they're in the PATH, unless there are other versions earlier in the PATH that you don't want. And you shouldn't have to specify the beacon address in most cases, either.


----------



## Soapm

Good thing I got one parameter right, ffmpeg_pram = -threads 2... ROFL...


Yes, I "downrezzes" since I have all CRT's in the house and would go down further if I better understood the settings. I figure this speeds up the transfer.


----------



## wmcbrine

Soapm said:


> Yes, I "downrezzes" since I have all CRT's in the house


Ah. You might've mentioned that earlier... I assume these are 4:3 sets, like most CRTs? And, you have "TV Aspect Ratio" set to 4:3? That would explain why the Aspect button doesn't work on your SD video.


----------



## Soapm

wmcbrine said:


> Ah. You might've mentioned that earlier... I assume these are 4:3 sets, like most CRTs? And, you have "TV Aspect Ratio" set to 4:3? That would explain why the Aspect button doesn't work on your SD video.


That's what confuses me, this is the set http://www.amazon.com/JVC-AV-30W475-IArt-30-Widescreen/dp/B0002V242E

http://resources.jvc.com/Resources/00/00/94/YA246ien.pdf page 46

It says it's 16x9 but because it's a CRT I think it's taking the 4:3 and stretching it. I don't believe 16x9 was broadcast back in the CRT days but I could easily be wrong. So my confusion is figuring out what it wants to be fed???

Does it want 4:3 and let it stretch it until the aspect ratio looks awful (it really does) or can I feed it 16x9 which should look better but for some reason gets the crap cropped out of it.

I would appreciate one of you experts taking a look at the specs on page 46 and recommend both Tivo and pyTivo settings. I am stumped trying to get a consistent decent looking picture.


----------



## wkearney99

Soapm said:


> That's what confuses me, this is the set http://www.amazon.com/JVC-AV-30W475-IArt-30-Widescreen/dp/B0002V242E


Ditch the TV and get a new one. The reviews on Amazon hint at what that set can't really do, which is anything beyond 480 video. Even a cheap Vizio or a Westinghouse would do a FAR better job. The money you'd save on powering that beast for a year would probably pay for a new LCD TV.


----------



## Soapm

wkearney99 said:


> Ditch the TV and get a new one. The reviews on Amazon hint at what that set can't really do, which is anything beyond 480 video. Even a cheap Vizio or a Westinghouse would do a FAR better job. The money you'd save on powering that beast for a year would probably pay for a new LCD TV.


Thanks for the advice but I was just laid off the old job... Offshoring... I doubt if I'll be buying anything soon and this one I got free though I can see why they were tossing it out. My 36" GE just died so I was hoping this one would get me by until I get back on my feet.


----------



## wmcbrine

Soapm said:


> That's what confuses me, this is the set http://www.amazon.com/JVC-AV-30W475-IArt-30-Widescreen/dp/B0002V242E


Interesting device. Um... you may have to switch the TV's aspect instead of the TiVo's. "Cinema" is the only mode I see that crops anything (although there's probably always some overscan). You'd only want to use that for letterboxed 4:3 material (like the "Zoom" mode on the TiVo). "Regular" and "Full" should be useful more often. (Personally I would never use "Panorama".)

ISTR some issues with 16:9 in 480i on the TiVo, but I'll have to get back to you on that.


----------



## BB3

Well, I try very hard not to bother those of you that provide these marvelous tools for free but I've reached the hair pulling stage and I haven't that much left. I've been using pytivo for several years exclusively to transfer video from my PC to my Tivo(s). Never had any major problem and the minor ones ere easily resolved reading the forums etc. Sadly, it became necessary to format and reinstall XP on my ancient laptop I use as a media server. That went surprisingly well but now pytivo will not work. Or at least transfers to the Tivos won't work. Oddly, pulling files from the Tivo to the computer does work(and I'd never even tried to do that before). I've uninstalled and carefully reinstalled using the latest wmcbrine files(several times), lastest ffmpeg and latest tivodecode. I can connect to the web configuration at localhost:9032 . I can pull files from the Tivos. I can see MyVideos(and the files therein) on the Tivo Now Playing screen but when I try to transfer a file to the Tivo nothing happens but a blank blue screen. I have the sense this is some sort of configuration error but I'm darned if I can figure it out.

The debug log shows this:

2013-03-02 01:02:01,490 INFO pyTivo: 192.168.1.131 [02/Mar/2013 01:02:01] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
2013-03-02 01:02:01,536 INFO pyTivo: 192.168.1.131 [02/Mar/2013 01:02:01] "GET /TiVoConnect?Command=QueryContainer&Container=My%20Videos&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
2013-03-02 01:02:03,645 INFO pyTivo: 192.168.1.131 [02/Mar/2013 01:02:03] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
2013-03-02 01:02:03,645 INFO pyTivo: 192.168.1.131 [02/Mar/2013 01:02:03] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
2013-03-02 01:02:03,707 INFO pyTivo: 192.168.1.131 [02/Mar/2013 01:02:03] "GET /TiVoConnect?Command=QueryContainer&Container=My%20Videos%2FTV&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FMy%2520Videos%2FTV%2FPrimeval.New.World.S01E09.HDTV.x264-2HD.mp4&AnchorOffset=-5&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
2013-03-02 01:02:04,380 INFO pyTivo: 192.168.1.131 [02/Mar/2013 01:02:04] "GET /TiVoConnect?Command=QueryContainer&Container=My%20Videos%2FTV&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
2013-03-02 01:02:07,270 INFO pyTivo: 192.168.1.131 [02/Mar/2013 01:02:07] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
2013-03-02 01:02:07,365 ERROR pyTivo: Exception during request from ('192.168.1.131', 2464)
Traceback (most recent call last):
File "C:\Python26\lib\SocketServer.py", line 560, in process_request_thread
self.finish_request(request, client_address)
File "C:\Python26\lib\SocketServer.py", line 322, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\pyTivo\httpserver.py", line 85, in __init__
client_address, server)
File "C:\Python26\lib\SocketServer.py", line 617, in __init__
self.handle()
File "C:\Python26\lib\BaseHTTPServer.py", line 329, in handle
self.handle_one_request()
File "C:\Python26\lib\BaseHTTPServer.py", line 323, in handle_one_request
method()
File "C:\pyTivo\httpserver.py", line 118, in do_GET
self.handle_query(query, tsn)
File "C:\pyTivo\httpserver.py", line 171, in handle_query
if self.do_command(query, command, basepath, tsn):
File "C:\pyTivo\httpserver.py", line 150, in do_command
method(self, query)
File "C:\pyTivo\plugins\video\video.py", line 441, in QueryContainer
video['valid'] = transcode.supported_format(f.name)
File "C:\pyTivo\plugins\video\transcode.py", line 1041, in supported_format
if video_info(inFile)['Supported']:
File "C:\pyTivo\plugins\video\transcode.py", line 807, in video_info
limit = config.getFFmpegWait()
File "C:\pyTivo\config.py", line 245, in getFFmpegWait
return max(int(float(config.get('Server', 'ffmpeg_wait'))), 1)
ValueError: empty string for float()

And this is my pytivo.conf file:

[loggers]
keys = root
path = 
precache = 
type =

[_tivo_SD]
video_pct = 
audio_fr = 
copy_ts = 
bufsize = 
audio_ch = 
ffmpeg_pram = 
video_br = 
optres = 
audio_lang = 
ffmpeg_tmpl = 
width = 
max_audio_br = 
max_video_br = 
audio_codec = 
video_fps = 
height = 
audio_br =

[handler_console]
formatter = basicform
args = (sys.stdout,)
path = 
precache = 
type = 
class = StreamHandler

[My Videos]
precache =
type = video
path = E:\XXXXXXX

[handlers]
keys = console,rotfile
path = 
precache = 
type =

[Server]
tivo_password = XXXXXX
par = 
tivo_mak = XXXXXXXXXX
ffmpeg = C:\pyTivo\bin\ffmpeg.exe
temp = C:\Documents and Settings\All Users\Documents\pyTivo
ffmpeg_pram = 
ffmpeg_wait =
ffmpeg_tmpl = 
beacon = 192.168.1.255
togo_path = E:\XXXXXXX
debug = 
tivo_username = [email protected]
guid = 
port = 9032

[formatter_basicform]
format = %(asctime)s %(levelname)-5s %(name)s: %(message)s
path = 
precache = 
type =

[handler_rotfile]
formatter = basicform
args = ('C:\Documents and Settings\All Users\Documents\pyTivo\debug.log', 'a', 10485760, 5)
path = 
precache = 
type = 
class = handlers.RotatingFileHandler

[_tivo_HD]
video_pct = 
audio_fr = 
copy_ts = 
bufsize = 
audio_ch = 
video_fps = 
ffmpeg_pram = 
video_br = 
optres = 
height = 
ffmpeg_tmpl = 
width = 
audio_codec = 
max_audio_br = 
audio_br = 
audio_lang = 
max_video_br =

[logger_root]
handlers = console,rotfile
level = DEBUG
path = 
precache = 
type =

[formatters]
keys = basicform
path = 
precache = 
type =

I typically run pytivo as a service but switched to console to get the debug logs. doesn't seem to do anything different though.

Please help. My sanity is in jeopardy. Thanks again for the excellent tool and any assistance you can provide.

BB3


----------



## lpwcomp

BB3 said:


> Well, I try very hard not to bother those of you that provide these marvelous tools for free but I've reached the hair pulling stage and I haven't that much left.
> 
> And this is my pytivo.conf file:
> 
> [loggers]
> keys = root
> path =
> precache =
> type =
> 
> [_tivo_SD]
> video_pct =
> audio_fr =
> copy_ts =
> bufsize =
> audio_ch =
> ffmpeg_pram =
> video_br =
> optres =
> audio_lang =
> ffmpeg_tmpl =
> width =
> max_audio_br =
> max_video_br =
> audio_codec =
> video_fps =
> height =
> audio_br =
> 
> [handler_console]
> formatter = basicform
> args = (sys.stdout,)
> path =
> precache =
> type =
> class = StreamHandler
> 
> [My Videos]
> precache =
> type = video
> path = E:\XXXXXXX
> 
> [handlers]
> keys = console,rotfile
> path =
> precache =
> type =
> 
> [Server]
> tivo_password = XXXXXX
> par =
> tivo_mak = XXXXXXXXXX
> ffmpeg = C:\pyTivo\bin\ffmpeg.exe
> temp = C:\Documents and Settings\All Users\Documents\pyTivo
> ffmpeg_pram =
> ffmpeg_wait =
> ffmpeg_tmpl =
> beacon = 192.168.1.255
> togo_path = E:\XXXXXXX
> debug =
> tivo_username = [email protected]
> guid =
> port = 9032
> 
> [formatter_basicform]
> format = %(asctime)s %(levelname)-5s %(name)s: %(message)s
> path =
> precache =
> type =
> 
> [handler_rotfile]
> formatter = basicform
> args = ('C:\Documents and Settings\All Users\Documents\pyTivo\debug.log', 'a', 10485760, 5)
> path =
> precache =
> type =
> class = handlers.RotatingFileHandler
> 
> [_tivo_HD]
> video_pct =
> audio_fr =
> copy_ts =
> bufsize =
> audio_ch =
> video_fps =
> ffmpeg_pram =
> video_br =
> optres =
> height =
> ffmpeg_tmpl =
> width =
> audio_codec =
> max_audio_br =
> audio_br =
> audio_lang =
> max_video_br =
> 
> [logger_root]
> handlers = console,rotfile
> level = DEBUG
> path =
> precache =
> type =
> 
> [formatters]
> keys = basicform
> path =
> precache =
> type =
> 
> I typically run pytivo as a service but switched to console to get the debug logs. doesn't seem to do anything different though.
> 
> Please help. My sanity is in jeopardy. Thanks again for the excellent tool and any assistance you can provide.
> 
> BB3


Remove most of that uh, stuff, from your config file and make it look like this:


Code:


[Server]
tivo_password = XXXXXX
tivo_mak = XXXXXXXXXX
togo_path = E:\XXXXXXX
tivo_username = [email][email protected][/email]

[My Videos]
type = video
path = E:\XXXXXXX

 With the proper values for the fields, of course. Do you really have a folder on your E drive named XXXXXXX?


----------



## wmcbrine

Well, he might also want to leave in the log stuff. But yeah, all the "option = <blank>" lines are unnecessary, and in the case of the "ffmpeg_wait = <blank>" line, it's what's causing the error. I may need to make the parsing more robust there, because pyTivo can handle blanks in some other cases. But there's no reason to have those lines in there.

So:



Code:


[loggers]
keys = root

[handler_console]
formatter = basicform
args = (sys.stdout,)
class = StreamHandler

[My Videos]
type = video
path = E:\XXXXXXX

[handlers]
keys = console,rotfile

[Server]
tivo_password = XXXXXX
tivo_mak = XXXXXXXXXX
temp = C:\Documents and Settings\All Users\Documents\pyTivo
beacon = 192.168.1.255
togo_path = E:\XXXXXXX
tivo_username = [email protected]

[formatter_basicform]
format = %(asctime)s %(levelname)-5s %(name)s: %(message)s

[handler_rotfile]
formatter = basicform
args = ('C:\Documents and Settings\All Users\Documents\pyTivo\debug.log', 'a', 10485760, 5)
class = handlers.RotatingFileHandler

[logger_root]
handlers = console,rotfile
level = DEBUG

[formatters]
keys = basicform

I also took out "port" and "ffmpeg" because they were set to the default values. You probably don't need "beacon", either, but that depends on your network(s).


----------



## BB3

Gentlemen, your genius is reaffirmed. Works like a charm. Thank you so much.


----------



## dianebrat

I know it's been said before, but I'll say it again, THANK YOU!
I just went through a rebuild, and after pulling all my shows down I finally took the plunge into pytivo to start pushing them back, so far, no issues, easy instructions, even for someone like me with only basic python knowledge, the tips have been great.


----------



## dianebrat

Dumb question, 
pyTivo push with no conversion of .tivo files, did I mess something up or does it just not keep the original recording date?


----------



## wmcbrine

Push in general loses a lot of metadata. Only title/seriesTitle, episodeTitle, description and tvRating make it through. (There's gotta be a way to pass other fields, since Amazon does it, but we haven't quite figured it out yet.)

.TiVo files themselves have to be decrypted, and turned into regular MPEG-2 program streams, in order to Push them; so the .TiVo header doesn't help in this case.


----------



## dianebrat

wmcbrine said:


> Push in general loses a lot of metadata. Only title/seriesTitle, episodeTitle, description and tvRating make it through. (There's gotta be a way to pass other fields, since Amazon does it, but we haven't quite figured it out yet.)
> 
> *.TiVo files themselves have to be decrypted, and turned into regular MPEG-2 program streams, in order to Push them; so the .TiVo header doesn't help in this case.*


 ohhhh, ok, I didn't realize that, I may do a pull for the movies after I'm done with the series transfers.


----------



## lpwcomp

dianebrat said:


> ohhhh, ok, I didn't realize that, I may do a pull for the movies after I'm done with the series transfers.


May I inquire as to why you do not wish to pull the series episodes?


----------



## dianebrat

lpwcomp said:


> May I inquire as to why you do not wish to pull the series episodes?


It's easier to push from the host PC by clicking multiple items in the browser than it is to pull from the Tivo for a lot of episodes selecting every item individually. But I don't like losing original dates on the movies so I can do those one at a time.


----------



## lew

dianebrat said:


> It's easier to push from the host PC by clicking multiple items in the browser than it is to pull from the Tivo for a lot of episodes selecting every item individually. But I don't like losing original dates on the movies so I can do those one at a time.


Did you consider leaving the shows on your PC? Pull (or push) them when you want to view them.


----------



## dianebrat

lew said:


> Did you consider leaving the shows on your PC? Pull (or push) them when you want to view them.


With a 2TB drive on the S3 now I have plenty of space, I prefer that recordings be on the box "in case the mood strikes me" having to pull it all but eliminates it for me. It's just a personal preference.


----------



## y2kse

lrhorer said:


> Um, say what? How high is "too high"? I'm not sure there is such a thing when it comes to transferring a file. Playback is another matter. Certainly the TiVos can handle bit rates in excess of 20 Mbps. How high is the bit rate on your files, and what was their source?


Noticed I never answered this. The files in question were >30Mb/s and their sources were BluRays.


----------



## johnjay829

having some trouble with pytivo can't get the window to star open when i double click the pyTivo.py file just opens then close


----------



## lpwcomp

johnjay829 said:


> having some trouble with pytivo can't get the window to star open when i double click the pyTivo.py file just opens then close


I suggest starting it from an open command prompt window then posting the output.


----------



## johnjay829

lpwcomp said:


> I suggest starting it from an open command prompt window then posting the output.


np but how do i do that


----------



## johnjay829

Ok i was able to get into the cmd and try starting the .py file there same results. open then close


----------



## gonzotek

johnjay829 said:


> Ok i was able to get into the cmd and try starting the .py file there same results. open then close


Have you followed the installation directions on the pytivo wiki?

At the bottom of the install directions is a support note on starting pytivo from the command line, and directions for copying any errors it reports so you can paste them into the forum. See if that helps.


----------



## johnjay829

this was the error i got so i redid the python install all is well again.. thx for the help

M:\Programs\PyTivo>pyTivo.py
Traceback (most recent call last):
File "M:\Programs\PyTivo\pyTivo.py", line 13, in <module>
import beacon
File "M:\Programs\PyTivo\beacon.py", line 5, in <module>
from socket import *
File "C:\Python27\lib\socket.py", line 47, in <module>
import _socket
ImportError: DLL load failed: %1 is not a valid Win32 application.


----------



## swerver

Love pyTivo. Have a few questions about how it works, is someone could please clarify I would greatly appreciate it. 

I read in a thread somewhere that back in 2011 or so, pyTivo was updated to remux mkv's that contained supported audio/video formats. I think this means that most of my dvd to mkv rips will play back without transcoding? 

Unless the audio is dts, perhaps that will be transcoded to dd 5.1? 

How about blu ray to mkv rips? I understand that hd audio tracks will be transcoded... or will they? Is pyTivo able to use the core audio track instead of transcoding? 

And last, what happens to the video on a bluray rip, I assume this is transcoded, or maybe this video is also one of the mp4 compatible formats that will be remuxed instead?. If the source is 24fps, will that be preserved? Thank you.

edit: just realized I had turned off 1080p format on my tivo because it was causing issues in netflix, turned it back on and yes indeed my blu-ray rips are playing back in 24fps, cool.


----------



## swerver

wmcbrine said:


> In my repos now. Remux-only and audio-reencode-only with h.264 in a transport stream. (Most MP4s will need audio reencoding, since the TiVo doesn't accept AAC in a transport stream.) You need to have "ts = on" in your pyTivo.conf, and an up-to-date ffmpeg, as noted above. Tested with MP4 and FLV; should also work with MKV.


Has anyone been able to verify this with mkv? Seems like my mkvs still get transcoded.

Also if anyone can help with my other questions in the previous post that would be awesome. Maybe the wiki needs to be updated? Right now it says "Using the pull interface, only compatible MPEG2 files can be transferred without transcoding. Using the push interface, certain compatible h.264 and VC-1 files can also be transferred without transcoding."

which I don't think is very accurate anymore. Or maybe it is, but it could use some clarification.


----------



## wmcbrine

swerver said:


> Has anyone been able to verify this with mkv?


Yes, I've done a bunch of MKVs since I posted that.



> _Seems like my mkvs still get transcoded._


"Seems"?


----------



## swerver

Sorry my tone goes wishy washy when I'm in unfamiliar waters. They are *definitely transcoding*! ;-)

Mainly I'm often not sure what to expect, which is why I'm asking for clarification on what should happen in different common use cases, basically broken down by the transfer method used (push, pull, vidmgr, other???) the codecs, and the container. Personally I have all my blu-ray and dvd rips in mkv format and am not interested in transcoding or remuxing them. My tivo archives are currently still mpg but will probably convert to mp4 so those are fine.

Maybe it just doesn't work with an mkv that contains mpg like my dvd rips?


----------



## swerver

Here's the output from a pull on a dvd rip. The file is mpg2/ac3 in a mkv and is 354 MB on my server. The pull is much faster but the file size grows to 1.7 GB on the tivo.



Code:


INFO:pyTivo:192.168.1.100 [20/Mar/2013 20:25:45] "GET /Movies/American%20Beauty/title01.mkv?Format=video%2Fx-tivo-mpeg-t
s HTTP/1.1" 206 -
INFO:pyTivo.video.video:[20/Mar/2013 20:25:45] Start sending "D:\Media\Video\Movies\Movies\American Beauty\title01.mkv"
to Family Room Tivo
FFmpeg version SVN-r21659-rdian06-1.02-win-x86_32, Copyright (c) 2000-2010 Fabrice Bellard, et al.
  built on Aug 24 2010 20:46:16 with gcc 4.4.0
  configuration: --enable-memalign-hack --disable-debug --enable-hardcoded-tables --enable-runtime-cpudetect --enable-st
atic --disable-shared --disable-ffserver --disable-ffplay --enable-gpl --enable-pthreads --enable-libmp3lame --enable-li
bvorbis --enable-libtheora --enable-libspeex --enable-libgsm --enable-libx264 --enable-libschroedinger --enable-libfaad
--enable-libxvid --disable-decoder=aac --enable-avisynth --enable-postproc --enable-avfilter --enable-avfilter-lavf
  libavutil     50. 8. 0 / 50. 8. 0
  libavcodec    52.52. 0 / 52.52. 0
  libavformat   52.50. 0 / 52.50. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.17. 0 /  1.17. 0
  libswscale     0.10. 0 /  0.10. 0
  libpostproc   51. 2. 0 / 51. 2. 0
[matroska @ 0x2a9eb00]Estimating duration from bitrate, this may be inaccurate

Seems stream 0 codec frame rate differs from container frame rate: 59.94 (60000/1001) -> 29.92 (359/12)
Input #0, matroska, from 'D:\Media\Video\Movies\Movies\American Beauty\title01.mkv':
  Duration: 00:21:52.34, start: 0.000000, bitrate: 9992 kb/s
    Stream #0.0(eng): Video: mpeg2video, yuv420p, 720x480 [PAR 8:9 DAR 4:3], 9800 kb/s, 30.30 fps, 29.92 tbr, 1k tbn, 59
.94 tbc
    Stream #0.1(eng): Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
    Metadata:
      title           : 2/0
Output #0, mpegts, to 'pipe:':
    Stream #0.0(eng): Video: mpeg2video, yuv420p, 720x480 [PAR 8:9 DAR 4:3], q=2-31, 9800 kb/s, 90k tbn, 29.97 tbc
    Stream #0.1(eng): Audio: ac3, 48000 Hz, stereo, 192 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Press [q] to stop encoding
frm= 39331 fps= 240 q=-1.0 Lsize= 1667956kB time= 1312.26 brt=10412.5kbps
video:322464kB audio:30756kB global headers:0kB muxing overhead 372.214981%
INFO:pyTivo.video.video:[20/Mar/2013 20:28:30] Done sending "D:\Media\Video\Movies\Movies\American Beauty\title01.mkv" t
o Family Room Tivo, 1707986956 bytes, 79.27 Mb/s

and here's a push. It's much slower transfer speed but the file size is closer to the original so it evens out. But according to this output, it still looks like it's being processed by ffmpeg.



Code:


INFO:pyTivo:192.168.1.100 [20/Mar/2013 19:46:23] "GET /Movies/American%20Beauty/title01.mkv?Format=video%2Fmpeg HTTP/1.1
" 206 -
INFO:pyTivo.video.video:[20/Mar/2013 19:46:23] Start sending "D:\Media\Video\Movies\Movies\American Beauty\title01.mkv"
to Family Room Tivo
FFmpeg version SVN-r21659-rdian06-1.02-win-x86_32, Copyright (c) 2000-2010 Fabrice Bellard, et al.
  built on Aug 24 2010 20:46:16 with gcc 4.4.0
  configuration: --enable-memalign-hack --disable-debug --enable-hardcoded-tables --enable-runtime-cpudetect --enable-st
atic --disable-shared --disable-ffserver --disable-ffplay --enable-gpl --enable-pthreads --enable-libmp3lame --enable-li
bvorbis --enable-libtheora --enable-libspeex --enable-libgsm --enable-libx264 --enable-libschroedinger --enable-libfaad
--enable-libxvid --disable-decoder=aac --enable-avisynth --enable-postproc --enable-avfilter --enable-avfilter-lavf
  libavutil     50. 8. 0 / 50. 8. 0
  libavcodec    52.52. 0 / 52.52. 0
  libavformat   52.50. 0 / 52.50. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.17. 0 /  1.17. 0
  libswscale     0.10. 0 /  0.10. 0
  libpostproc   51. 2. 0 / 51. 2. 0
[matroska @ 0x2b2ed20]Estimating duration from bitrate, this may be inaccurate

Seems stream 0 codec frame rate differs from container frame rate: 59.94 (60000/1001) -> 29.92 (359/12)
Input #0, matroska, from 'D:\Media\Video\Movies\Movies\American Beauty\title01.mkv':
  Duration: 00:21:52.34, start: 0.000000, bitrate: 9992 kb/s
    Stream #0.0(eng): Video: mpeg2video, yuv420p, 720x480 [PAR 8:9 DAR 4:3], 9800 kb/s, 30.30 fps, 29.92 tbr, 1k tbn, 59
.94 tbc
    Stream #0.1(eng): Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
    Metadata:
      title           : 2/0
Output #0, vob, to 'pipe:':
    Stream #0.0(eng): Video: mpeg2video, yuv420p, 720x480 [PAR 8:9 DAR 4:3], q=2-31, 9800 kb/s, 90k tbn, 29.97 tbc
    Stream #0.1(eng): Audio: ac3, 48000 Hz, stereo, 192 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Press [q] to stop encoding
frm= 39331 fps= 218 q=-1.0 Lsize=  357888kB time= 1312.26 brt= 2234.2kbps
video:322464kB audio:30756kB global headers:0kB muxing overhead 1.321662%
INFO:pyTivo.video.video:[20/Mar/2013 19:49:24] Done sending "D:\Media\Video\Movies\Movies\American Beauty\title01.mkv" t
o Family Room Tivo, 366477312 bytes, 15.47 Mb/s

And here's my pyTivo.conf



Code:


[Server]
port = 9032
tivo_password = **********
tivo_mak = **********
tivo_username = **********
togo_path = D:\Media\Video\Tivo
ffmpeg = C:\pyTivo\bin\ffmpeg.exe
ts = on

[_tivo_SD]

[_tivo_HD]

Any tips? thanks


----------



## wmcbrine

swerver said:


> Sorry my tone goes wishy washy when I'm in unfamiliar waters. They are *definitely transcoding*! ;-)


Nope, it doesn't look like it. Remuxing is also done by FFmpeg. The frame rate and transfer rates here look like remuxing.

It's lucky that your example MKV contains MPEG-2 video, and not H.264, because the version of FFmpeg you're using is much too old to support H.264 transport stream pulls. (A newer version of FFmpeg would also indicate directly when it was copying streams. Or, you could turn on debug mode, and see the FFmpeg command line pyTivo is using.)



> _Mainly I'm often not sure what to expect, which is why I'm asking for clarification on what should happen in different common use cases, basically broken down by the transfer method used (push, pull, vidmgr, other???) the codecs, and the container._


Why don't you just try it and see?


----------



## swerver

wmcbrine said:


> Why don't you just try it and see?


Well I have but as you noticed, I don't know what's going on. I did try another newer ffmpeg from http://ffmpeg.zeranoe.com/builds/win32/static/ but I got other errors complaining about the switches used and the file didn't transfer at all. I'll try another - any recommendations?

One other thing - if the logs I posted were a remux, then why did the file size change so dramatically on the pull?


----------



## wmcbrine

Transport streams have a lot of overhead... not normally _that_ much (more like 20%, as my rule of thumb), but I'll attribute that to the old FFmpeg.

I use very recent FFmpegs with no problem. There are warnings about switches, but no errors (i.e. it doesn't affect anything). If you have errors, post them.


----------



## swerver

Here's what happened when I tried the newer ffmpeg.



Code:


INFO:pyTivo:192.168.1.100 [20/Mar/2013 20:48:04] "GET /Movies/American%20Beauty/title01.mkv?Format=video%2Fx-tivo-mpeg-t
s HTTP/1.1" 206 -
INFO:pyTivo.video.video:[20/Mar/2013 20:48:04] Start sending "D:\Media\Video\Movies\Movies\American Beauty\title01.mkv"
to Family Room Tivo
ffmpeg version 1.1.3 Copyright (c) 2000-2013 the FFmpeg developers
  built on Mar  3 2013 01:57:34 with gcc 4.7.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfi
g --enable-frei0r --enable-gnutls --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libg
sm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --ena
ble-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --en
able-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 13.100 / 52. 13.100
  libavcodec     54. 86.100 / 54. 86.100
  libavformat    54. 59.106 / 54. 59.106
  libavdevice    54.  3.102 / 54.  3.102
  libavfilter     3. 32.100 /  3. 32.100
  libswscale      2.  1.103 /  2.  1.103
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
Input #0, matroska,webm, from 'D:\Media\Video\Movies\Movies\American Beauty\title01.mkv':
  Metadata:
    creation_time   : 2013-03-02 20:58:19
  Duration: 00:21:52.34, start: 0.000000, bitrate: 2210 kb/s
    Chapter #0.0: start 0.000000, end 1312.311000
    Metadata:
      title           : Chapter 01
    Chapter #0.1: start 1312.311000, end 1312.344000
    Metadata:
      title           : Chapter 02
    Stream #0:0(eng): Video: mpeg2video (Main), yuv420p, 720x480 [SAR 8:9 DAR 4:3], 29.97 fps, 29.97 tbr, 1k tbn, 59.94
tbc
    Stream #0:1(eng): Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s (default)
    Metadata:
      title           : 2/0
Please use -b:a or -b:v, -b is ambiguous
[matroska,webm @ 024bb5e0] Invalid stream specifier: .0.
    Last message repeated 3 times
Stream map '0.0' matches no streams.
INFO:pyTivo.video.video:[20/Mar/2013 20:48:04] Done sending "D:\Media\Video\Movies\Movies\American Beauty\title01.mkv" t
o Family Room Tivo, 0 bytes, 0.00 Mb/s

This part was highlighed in various colors: 
Please use -b:a or -b:v, -b is ambiguous
[matroska,webm @ 024bb5e0] Invalid stream specifier: .0.
Last message repeated 3 times
Stream map '0.0' matches no streams.


----------



## wmcbrine

Hmm. So far, I can't reproduce this, even with the sample output above. Is it possible for you to get a file to me that shows the problem? (You can use anonymous FTP to wmcbrine.com, if you like.)


----------



## lpwcomp

Does anyone know if the newer releases of ffmpeg will run under XP?


----------



## moyekj

lpwcomp said:


> Does anyone know if the newer releases of ffmpeg will run under XP?


 Yes they do.


----------



## swerver

wmcbrine said:


> Hmm. So far, I can't reproduce this, even with the sample output above. Is it possible for you to get a file to me that shows the problem? (You can use anonymous FTP to wmcbrine.com, if you like.)


Thank you very much for this offer. Thought I'd verify one more time before I took you up on this, and sure enough now when I pull the file I don't get the same error, just a warning, and this 22 minute video transferred in a matter of seconds (40 actually). I'm going to guess that the use of (copy) next to the output stream listing (as you mentioned it would do) indicates these streams were merely remuxed as opposed to transcoded, which if that's true, I can say, AWESOME! The file size reported by viewing the file on the tivo through my pyTivo share says 393 MB, which is very close to what the pyTivo output above reports and much closer to the original file size of 354 MB than my previous test. Vewing the listing in my shows (after the transfer completed) and pressing info says .38 GB, close enough.



Code:


INFO:pyTivo:192.168.1.100 [25/Mar/2013 19:56:03] "GET /Movies/American%20Beauty/title01.mkv?Format=video%2Fx-tivo-mpeg-t
s HTTP/1.1" 206 -
INFO:pyTivo.video.video:[25/Mar/2013 19:56:03] Start sending "D:\Media\Video\Movies\Movies\American Beauty\title01.mkv"
to Family Room Tivo
ffmpeg version 1.1.3 Copyright (c) 2000-2013 the FFmpeg developers
  built on Mar  3 2013 01:57:34 with gcc 4.7.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfi
g --enable-frei0r --enable-gnutls --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libg
sm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --ena
ble-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --en
able-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 13.100 / 52. 13.100
  libavcodec     54. 86.100 / 54. 86.100
  libavformat    54. 59.106 / 54. 59.106
  libavdevice    54.  3.102 / 54.  3.102
  libavfilter     3. 32.100 /  3. 32.100
  libswscale      2.  1.103 /  2.  1.103
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
Input #0, matroska,webm, from 'D:\Media\Video\Movies\Movies\American Beauty\title01.mkv':
  Metadata:
    creation_time   : 2013-03-02 20:58:19
  Duration: 00:21:52.34, start: 0.000000, bitrate: 2210 kb/s
    Chapter #0.0: start 0.000000, end 1312.311000
    Metadata:
      title           : Chapter 01
    Chapter #0.1: start 1312.311000, end 1312.344000
    Metadata:
      title           : Chapter 02
    Stream #0:0(eng): Video: mpeg2video (Main), yuv420p, 720x480 [SAR 8:9 DAR 4:3], 29.97 fps, 29.97 tbr, 1k tbn, 59.94
tbc
    Stream #0:1(eng): Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s (default)
    Metadata:
      title           : 2/0
Please use -b:a or -b:v, -b is ambiguous
Output #0, mpegts, to 'pipe:':
  Metadata:
    encoder         : Lavf54.59.106
    Chapter #0.0: start 0.000000, end 1312.311000
    Metadata:
      title           : Chapter 01
    Chapter #0.1: start 1312.311000, end 1312.344000
    Metadata:
      title           : Chapter 02
    Stream #0:0(eng): Video: mpeg2video, yuv420p, 720x480 [SAR 8:9 DAR 4:3], q=2-31, 29.97 fps, 90k tbn, 29.97 tbc
    Stream #0:1(eng): Audio: ac3, 48000 Hz, stereo, 192 kb/s (default)
    Metadata:
      title           : 2/0
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=39331 fps=1026 q=-1.0 Lsize=  387097kB time=00:21:52.31 bitrate=2416.4kbits/s
video:322464kB audio:30756kB subtitle:0 global headers:0kB muxing overhead 9.590957%
INFO:pyTivo.video.video:[25/Mar/2013 19:56:42] Done sending "D:\Media\Video\Movies\Movies\American Beauty\title01.mkv" t
o Family Room Tivo, 396387096 bytes, 78.53 Mb/s

When I pushed the same file, it had a mux overhead of 1.3% but transferred much slower at 27 Mb/s.

Blu-ray rips are transferring untouched as well. (edit: spoke too soon, audio is transcoding) This is great. Well done. Now the only question is, why do I have an htpc? Ha no it's still useful, but certainly less so with this great tivo upgrade. It's a funny thing that they can claim to be the "one box" but it takes guys like wmcbrine to make that closer to the truth. They should be paying you for this, tivo desktop is junk in comparison.

Now can you speed up the netflix and youtube interfaces?  just kidding great work!


----------



## rfryar

This may be obvious to anyone who knows how pyTivo works under the covers, but for everybody else that is interested...

pyTivo will not work (at the moment) with the TiVo mini. It needs to emulate the Premiere's way of streaming the files instead of pushing as MPG2 or MP4 files since the TiVo mini has no disk or buffer to store the file.

Rick


----------



## moyekj

rfryar said:


> This may be obvious to anyone who knows how pyTivo works under the covers, but for everybody else that is interested...
> 
> pyTivo will not work (at the moment) with the TiVo mini. It needs to emulate the Premiere's way of streaming the files instead of pushing as MPG2 or MP4 files since the TiVo mini has no disk or buffer to store the file.
> 
> Rick


 Similar to the "Streambaby push" workaround I mentioned in Streambaby thread in response to your post, you can use pyTivo + VidMgr as a workaround. i.e. Initiate pyTivo push to host TiVo from the Mini and then you can stream the pushing recording to the Mini.


----------



## wmcbrine

rfryar said:


> pyTivo will not work (at the moment) with the TiVo mini.


Expected.



> _It needs to emulate the Premiere's way of streaming the files instead of pushing as MPG2 or MP4 files since the TiVo mini has no disk or buffer to store the file._


Yeah, so far I've been unable to make that work. It would be nice, even for use with Premieres.


----------



## rfryar

wmcbrine said:


> Yeah, so far I've been unable to make that work. It would be nice, even for use with Premieres.


Have you been able to get pyTivo to be browsable at all on the mini? That would be the first step I would assume to answer the network query as if pyTivo were a premiere.


----------



## wmcbrine

I don't have a Mini. What I've been unable to do is to get the streaming options to appear on the Premiere, for pyTivo shares.


----------



## mlippert

So the page describing the pytivo metadata file says that you can put the description on more than one line. I've tried a few things but none seem to work.
Is there supposed to be a way for this to work?

What I tried:

subsequent lines start at col 1


Code:


description : La di da here on 1st line
fa la la la here on the 2nd line
do re mi on this 3rd line
originalAirDate : 2004-11-09T00:00:00Z


subsequent lines start with a space


Code:


description : La di da here on 1st line
 fa la la la here on the 2nd line
 do re mi on this 3rd line
originalAirDate : 2004-11-09T00:00:00Z


subsequent lines start with description :


Code:


description : La di da here on 1st line
description : fa la la la here on the 2nd line
description : do re mi on this 3rd line
originalAirDate : 2004-11-09T00:00:00Z



Mike


----------



## wmcbrine

mlippert said:


> So the page describing the pytivo metadata file says that you can put the description on more than one line.


Thanks, the wiki was wrong. AFAIK, it has never worked that way. Sorry.


----------



## mlippert

wmcbrine said:


> Thanks, the wiki was wrong. AFAIK, it has never worked that way. Sorry.


I can accept that. Thanks for letting me know. One long line it is


----------



## lpwcomp

lrhorer once asked me which display I preferred, the one produced by Vidmgr or the one produced by pyTivo, clearly implying that only an idiot would prefer the latter. In point of fact, this is the display I prefer:


----------



## innocentfreak

Is this just via a normal pull or push? Also what are you using for images and metadata scraping?


----------



## lpwcomp

innocentfreak said:


> Is this just via a normal pull or push? Also what are you using for images and metadata scraping?


This is a normal pull. Initial metadata for the episode was acquired from theTVDB using pyTivoMetaThis. I altered the time entry to the GMT of the actual first showing and added programId (acquired from zap2it). I also created a .default file with the displayMajorNumber, callsign, and showingBits.

The graphic is acquired by the TiVo using the seriesId and, for a recent episode or one that is being/has been rerun soon/recently, most of the metadata, including Season and Episode numbers, is acquired by the TiVo based on programId.

Unfortunately, this doesn't always work as I would like. I keep hoping that TiVo will fix this at some point but that hope might be in vain.


----------



## mattack

Umm, I presume those are illegally downloaded files, since HBO doesn't allow transfers.


----------



## lpwcomp

mattack said:


> Umm, I presume those are illegally downloaded files, since HBO doesn't allow transfers.


Who say's that the video described by the metadata is the one actually in the recording?


----------



## wmcbrine

lpwcomp said:


> lrhorer once asked me which display I preferred, the one produced by Vidmgr or the one produced by pyTivo


I wouldn't call it "the one produced by pyTivo"; it's more like "the one produced by the TiVo using the info it requested from pyTivo". We don't have a lot of control over how it's formatted.

I'd prefer the native-HDUI look, too; but so far, the TiVo saves that for browsing Premieres. I don't really know why. And I haven't yet been able to trick the TiVo into treating a pyTivo share as though it were a Premiere.


----------



## lpwcomp

wmcbrine said:


> I wouldn't call it "the one produced by pyTivo"; it's more like "the one produced by the TiVo using the info it requested from pyTivo". We don't have a lot of control over how it's formatted.


Yeah, just sorta using shorthand. The "pyTivo" display is the same one you get when browsing the NPL of a non-Premiere TiVo even when doing it from a Premiere using the HDUI.

To tell the truth, I was comparing apples to oranges. The image I posted should really be compared to what you see on the TiVo for a pushed recording.



wmcbrine said:


> I'd prefer the native-HDUI look, too; but so far, the TiVo saves that for browsing Premieres. I don't really know why. And I haven't yet been able to trick the TiVo into treating a pyTivo share as though it were a Premiere.


If anyone can do it, it's you.


----------



## lrhorer

mattack said:


> Umm, I presume those are illegally downloaded files, since HBO doesn't allow transfers.


HBO has no legal authority to prevent anyone from transferring files. Their contracts with most, if not all, CATV systems require those CATV systems to set the CCI byte to 0x01 on all digital broadcasts of HBO owned channels. This does not make transferring those videos illegal, regardlesss of what Time Warner or CableLabs might like you to think.


----------



## mattack

lrhorer said:


> HBO has no legal authority to prevent anyone from transferring files. Their contracts with most, if not all, CATV systems require those CATV systems to set the CCI byte to 0x01 on all digital broadcasts of HBO owned channels. This does not make transferring those videos illegal, regardlesss of what Time Warner or CableLabs might like you to think.


Since the copy protect byte is set, how are you getting the files *to transfer back to the Tivo*? THAT'S why I suspected they're downloaded illegally (e.g. bittorrent).

Plus, heck, I'm amazed we can copy things off of a Tivo at all -- because there clearly are two copies, so it could arguably be copyright infringement.


----------



## moyekj

mattack said:


> Since the copy protect byte is set, how are you getting the files *to transfer back to the Tivo*? THAT'S why I suspected they're downloaded illegally (e.g. bittorrent).
> 
> Plus, heck, I'm amazed we can copy things off of a Tivo at all -- because there clearly are two copies, so it could arguably be copyright infringement.


 The source in this case could also be DVD or BD rip - doesn't necessarily have to be an HBO recording or bittorent.


----------



## lpwcomp

moyekj said:


> The source in this case could also be DVD or BD rip - doesn't necessarily have to be an HBO recording or bittorent.


The actual video doesn't have to be anything at all since the metadata controls what is displayed.

I find it fascinating that mattack seems to have appointed himself the copyright policeman.


----------



## lrhorer

lpwcomp said:


> lrhorer once asked me which display I preferred, the one produced by Vidmgr or the one produced by pyTivo, clearly implying that only an idiot would prefer the latter.


I never said that, but certainly no one who places any importance on the amount of information available at a glance from the system is going to prefer the above screen. It contains almost no information at all. Specifically, all it contains is a 26 word description (16 of them four letters or less), 4 of the actor's names, the recording date, time, and channel, and the original air date - the latter of which about which I care less than nothing whatsoever.

More importantly, navigating through anything more than a trivial number of sections with that interface is unacceptably tedious and time consuming. Just getting to any video on my system whose title begins with an R or an S takes more than 3 minutes in the NPL, requiring roughly 140 button presses.



lpwcomp said:


> In point of fact, this is the display I prefer:


Vidmgr has a vastly superior display in terms not only of the amount of information available and how quickly the metadata can be accessed, but also the speed and ease of finding a particular title in the first place:










(The description is 74 words, only 32 of which are 4 letters or fewer, the cover art, even on this rather dinky placcard, is vastly superior to the one you displayed, the full metadata - including OAD if one really cares - is available with a single button press, 13 other titles are right at hand on the same screen, and seeking to any title in the entire list of nearly 2000 takes at most 15 seconds and perhaps 8 or fewer button presses.)










The interface I prefer (but is more or less not available on the TiVo, and ignoring vidmgr's database capabilities) would be this:










The only big downside to the above is it does not have vidmgr's database capabilities, which gives it a huge win:


----------



## wmcbrine

mattack said:


> Umm, I presume those are illegally downloaded files, since HBO doesn't allow transfers.


no1curr

This thread is for discussion of pyTivo, not where somebody's videos came from. That's between them and the FBI.

[media]http://www.youtube.com/watch?v=7I5dVBezF9k[/media]


----------



## lrhorer

mattack said:


> Since the copy protect byte is set, how are you getting the files *to transfer back to the Tivo*? THAT'S why I suspected they're downloaded illegally (e.g. bittorrent).


I don't know how lpwcomp might do it, but I do it simply by selecting the program to transfer in kmttg from whichever TiVo recorded it.



mattack said:


> Plus, heck, I'm amazed we can copy things off of a Tivo at all -- because there clearly are two copies, so it could arguably be copyright infringement.


It's a gray area, but despite the warnings stamped all over the videos, in order to successfully win a lawsuit, one must show damages were incurred. Even with the very most liberal interpretation of the law, the plaintiff would have to show the fact a copy was retained resulted in a loss of revenue. That would be virtually impossible, unless the defendant were distributing the copies. More importantly, a truly successful suit is not one where the judge rules for the plaintiff, but when where the outcome of the suit itself produces results that are worth it to the plaintiff in terms of the time, effort, and expense to mount the lawsuit.

Technically it is illegal to make a Xerox copy of a book (if it is still under copyright) you purchase from a bookstore. In practice, no law enforcement representative is going to arrest anyone who has two copies of a book, one of them "homemade", in their house. Audio and video recordings are an even more tenuous issue, as long as the copies are not distributed in any way. If the original copy is deleted, then there is no infringement whatsoever, and it is not in any way even technically illegal. HBO has no authority to make it illegal, either.


----------



## lrhorer

wmcbrine said:


> no1curr
> 
> This thread is for discussion of pyTivo, not where somebody's videos came from. That's between them and the FBI.
> 
> [media]http://www.youtube.com/watch?v=7I5dVBezF9k[/media]


That's funny, if a bit heavy-handed. 

I have to say, I'm surprised and impressed by the production values and the quality of the photography of that piece. I have to ask, though, "What is a VHS tape?"


----------



## lpwcomp

lrhorer said:


> That's funny, if a bit heavy-handed.
> 
> I have to say, I'm surprised and impressed by the production values and the quality of the photography of that piece. I have to ask, though, "What is a VHS tape?"


Even funnier for me, since I purchased my first LD player in 1980 and the last time I saw that scene was probably while watching the LD version.


----------



## lofty17

Thanks to all here who code and provide support for this amazing program.

Ive followed this thread intermittently for a couple years, and Im now trying to iron out the remaining kinks in my setup. As Ive aged, Ive noticed that everyone mumbles a lot more than they used to, so closed captioning is becoming more important to me.

I started on about page 80 of this thread to find out everything I could about closed captioning, and finally worked my way to the end. So far Ive been able to get CC working with transfers to and from Tivo, with only occasional character dropouts as noted in some posts in the thread. Where Im still having problems is with captions from DVD rips.

Im using VideoReDo version 4.21.655, which is the current production version of VRD and Ive tried saving the rips as H.264 transfer stream and H.264 MP4. In both formats I can view closed captioning when played back through VRD.

When the resultant videos are pulled to the Tivo with transfer stream on, Tivo sees CC andallows it to be turned on. I only see a very limited amount of characters, not enough to make any sense out of what the captioning says.

Ive tried to pull videos back from Tivo to the computer to see what captions look like after a round trip. As far as I can tell, pyTivo thinks it has done so successfully, but the file size is approximately 10% of the size on Tivo. Im not sure if I should be able to round trip a file though.

Here is the cmd output for the round trip, including pyTivo start:
(I tried to use code tags, but they're seen as links and I don't have 5 posts yet. I've attached it as a .txt file.)


Original file size for Borgias S01E01 Direct from CD files.ts is 1,747,844 KB.
Size reported on the Tivo in pyTivo browser is 1.680 GB.
Size of Borgias S01E01 Direct from CD files - 689310.TiVo returned to PC is 144,647 KB.

OS is 32 bit XP
pyTivo is from the McBrine zip file from 3/13/2013.
Python version 2.7.3.
Ffmpeg version 1.2

Is there something different I should be doing to get closed captioning on Tivo from DVD rips?

Is there a way I can pull the video back from Tivo to see if closed captioning is still intact after the transfer?

Ill be happy to provide any other information you need to help me resolve this.

Thanks very much for any assistance you can provide.

Larry

Loved the Video Pirates clip, BTW. &#61514;


----------



## moyekj

lofty17 said:


> Thanks to all here who code and provide support for this amazing program.
> 
> I've followed this thread intermittently for a couple years, and I'm now trying to iron out the remaining kinks in my setup. As I've aged, I've noticed that everyone mumbles a lot more than they used to, so closed captioning is becoming more important to me.
> 
> I started on about page 80 of this thread to find out everything I could about closed captioning, and finally worked my way to the end. So far I've been able to get CC working with transfers to and from Tivo, with only occasional character dropouts as noted in some posts in the thread. Where I'm still having problems is with captions from DVD rips.
> 
> I'm using VideoReDo version 4.21.655, which is the current production version of VRD and I've tried saving the rips as H.264 transfer stream and H.264 MP4. In both formats I can view closed captioning when played back through VRD.
> 
> When the resultant videos are pulled to the Tivo with transfer stream on, Tivo sees CC andallows it to be turned on. I only see a very limited amount of characters, not enough to make any sense out of what the captioning says.
> 
> I've tried to pull videos back from Tivo to the computer to see what captions look like after a round trip. As far as I can tell, pyTivo thinks it has done so successfully, but the file size is approximately 10% of the size on Tivo. I'm not sure if I should be able to round trip a file though.
> 
> Here is the cmd output for the round trip, including pyTivo start:
> (I tried to use code tags, but they're seen as links and I don't have 5 posts yet. I've attached it as a .txt file.)
> 
> Original file size for Borgias S01E01 Direct from CD files.ts is 1,747,844 KB.
> Size reported on the Tivo in pyTivo browser is 1.680 GB.
> Size of Borgias S01E01 Direct from CD files - 689310.TiVo returned to PC is 144,647 KB.
> 
> OS is 32 bit XP
> pyTivo is from the McBrine zip file from 3/13/2013.
> Python version 2.7.3.
> Ffmpeg version 1.2
> 
> Is there something different I should be doing to get closed captioning on Tivo from DVD rips?
> 
> Is there a way I can pull the video back from Tivo to see if closed captioning is still intact after the transfer?
> 
> I'll be happy to provide any other information you need to help me resolve this.
> 
> Thanks very much for any assistance you can provide.
> 
> Larry
> 
> Loved the Video Pirates clip, BTW. 


In order for TiVo to work with captions properly make sure you have EIA-608 captions (check using mediainfo). See more information here (earlier in this thread):
http://www.tivocommunity.com/tivo-vb/showthread.php?p=9450330&highlight=captions#post9450330

You also need to make sure you're using latest "beta" version of VRD, not production version. Latest one you can download here:
http://www.videoredo.com/en/Download.htm?download=tvsuitev4


----------



## wmcbrine

lofty17 said:


> ... the file size is approximately 10% of the size on Tivo. Im not sure if I should be able to round trip a file though.


Currently, my fork of pyTivo only does program streams in the ToGo plugin, which don't work with H.264. The extracted .TiVo file is probably just the audio track.

I should have this fixed in the not-too-distant future... I was kinda waiting on Fios to flip some more channels to H.264 ("on or after April 15th") for me to play with, but technically I don't need that...

In the meantime, lucasnz's fork supports transport stream TTG, as well as kmttg, or of course TiVo Desktop.


----------



## lofty17

moyekj said:


> In order for TiVo to work with captions properly make sure you have EIA-608 captions (check using mediainfo). See more information here (earlier in this thread):
> 
> You also need to make sure you're using latest "beta" version of VRD, not production version.


MediaInfo shows the first text stream to be EIA-608 (SCTE 128 / DTVCC Transport). I had read the posts about using the beta version of VRD, but based on my production version being a higher number than the version cited I left it alone at the time. I do know better than to assume, usually.  I went ahead and loaded beta Version 4.21.1.659 (the latest one I could find) and re-ran the H.264 ts file. Still exactly the same problem.



wmcbrine said:


> Currently, my fork of pyTivo only does program streams in the ToGo plugin, which don't work with H.264. The extracted .TiVo file is probably just the audio track.
> 
> I should have this fixed in the not-too-distant future... I was kinda waiting on Fios to flip some more channels to H.264 ("on or after April 15th") for me to play with, but technically I don't need that...
> 
> In the meantime, lucasnz's fork supports transport stream TTG, as well as kmttg, or of course TiVo Desktop.


Yes, the return file did seem to be audio only when I tried to play it in VLC.

Is there anything else either of you would like me to try before I try lucasnz's fork?

I really appreciate your help.

Larry


----------



## moyekj

lofty17 said:


> MediaInfo shows the first text stream to be EIA-608 (SCTE 128 / DTVCC Transport). I had read the posts about using the beta version of VRD, but based on my production version being a higher number than the version cited I left it alone at the time. I do know better than to assume, usually.  I went ahead and loaded beta Version 4.21.1.659 (the latest one I could find) and re-ran the H.264 ts file. Still exactly the same problem.


 Don't know if it matters in this case, but make sure you turn off "digital" captions on your TiVo caption settings (it works better with standard). I don't think you mentioned what kind of TiVo you are using but I assume it's a series 4?


----------



## lofty17

Hi moyekj,

Yes, this is for a series 4. I found that digital captions were turned on, and turned them off, but still see the same problem. I got all excited there for a couple minutes! 

I really appreciate your help.

Larry


----------



## moyekj

lofty17 said:


> Hi moyekj,
> 
> Yes, this is for a series 4. I found that digital captions were turned on, and turned them off, but still see the same problem. I got all excited there for a couple minutes!
> 
> I really appreciate your help.
> 
> Larry


 Well if nothing else it will help for CC for TiVo recordings though as digital captions have long been a problem dating back to series 3 TiVos. As to your present problem I'm not sure. I did test the same flow with a DVD rip->H.264 via VRD a while back (using pyTivo with TS=on and recent ffmpeg) to ensure that captions worked properly on the TiVo and they did. However it wasn't an exhaustive test with many DVD titles. Just for grins if you play back the VRD produced H.264 with VLC do the captions work fine with that player as well?


----------



## lofty17

moyekj said:


> Well if nothing else it will help for CC for TiVo recordings though as digital captions have long been a problem dating back to series 3 TiVos. As to your present problem I'm not sure. I did test the same flow with a DVD rip->H.264 via VRD a while back (using pyTivo with TS=on and recent ffmpeg) to ensure that captions worked properly on the TiVo and they did. However it wasn't an exhaustive test with many DVD titles. Just for grins if you play back the VRD produced H.264 with VLC do the captions work fine with that player as well?


Captions are perfect in VLC on the H.264 .ts recording. I also ran it through CCExtractor, and it looks good there. To give you an idea of how off CC is on Tivo, here is an extract of the first couple minutes of the show. Part of what you'll see is Latin (Pope is dying):



Code:


01:28  01:32  - ...qui te custodiat
               ab hoste maligno,
 01:32  01:35  et perducat
               in vitam aeternam.
 01:35  01:37  Amen.
 01:39  01:45  Asperges me, Domine, hyssopo,
               et mundabor: lavabis me,
 01:45  01:47  et super nivem dealbabor.
 01:47  01:51  - [Pope]: You are afraid
               to enter, but you must.
 01:51  01:56  - ...secundum multitudinem...
               - [Pope]: I am about to meet
               my maker.
 01:56  02:01  I have confessed.
               And I...
 02:01  02:07  confess...
               I am very afraid.
 02:07  02:08  Colonna.
 02:08  02:13  Sforza. Orsini.
 02:13  02:15  Borgia.
 02:15  02:18  - Your Holiness.
               - Della Rovere.
 02:18  02:20  -...Gloria Patri...
 02:20  02:29  - You will fight like dogs
               over this corpse I leave

Here is the total of what Tivo's CC displays:


Code:


At the 1:35 to 1:37 mark, Tivo CC displays en.
Between 1:47 and 2:07, all Tivo CC displays is sopo Lav et-[Pent.
Between 2:20 and 2:29 Tivo displays dogsve.

I don't know if this will help anyone, but here is CCExtractor's activity log during the decode:


Code:


Input: Y:\Movies\Borgias\Beta\Borgias(S1E1)VRD659Beta.ts
[Raw Mode: Broadcast] [Extract: 1] [Stream mode: Autodetect]
[Program : Auto ] [Hauppage mode: No] [Use MythTV code: Auto]
[Timing mode: Auto] [Debug: No] [Buffer input: Yes]
[Use pic_order_cnt_lsb for H.264: No] [Print CC decoder traces: No]
[Target format: .srt] [Encoding: Latin-1] [Delay: 0] [Trim lines: No]
[Add font color data: Yes] [Add font typesetting: Yes]
[Convert case: No] [Video-edit join: No]
[Extraction start time: not set (from start)]
[Extraction end time: not set (to end)]
[Live stream: No] [Clock frequency: 90000]
Teletext page: Autodetect]
Start credits text: [None]
Creating Y:\Movies\Borgias\Beta\Borgias(S1E1)VRD659Beta.srt


-----------------------------------------------------------------

Opening file: Y:\Movies\Borgias\Beta\Borgias(S1E1)VRD659Beta.ts

File seems to be a transport stream, enabling TS mode

Analyzing data in general mode

Problem: No TS header mark. Received bytes:
00000000 | FF FF FF FF                                      | ÿÿÿÿÿ           
Skip forward to the next TS header mark.
Decode captions from H.264 video stream [0x1b]  -  PID: 224

New PID found: 224 (H.264 video), belongs to program: 1

New PID found: 129, program number still unknown

New PID found: 128 (AC3 audio), belongs to program: 1

New PID found: 8191, program number still unknown




ATTENTION!!!!!!
In switch_to_next_file(): Processing of Y:\Movies\Borgias\Beta\Borgias(S1E1)VRD659Beta.ts 0 ended prematurely 1300662112 < 1317439328, please send bug report.

It looks like the attention notice at the end is common to all transfer streams I've run through CCExtractor. .

I'll try to rip some more DVDs tomorrow and see if I get a different result.

Again, thanks for your ideas.

Larry


----------



## lofty17

I just ripped an episode of Colonial House and trans-coded it to H.264.mp4. It had the same problem I saw on the previous DVD rip. Very little text actually displays, and what is there is unrecognizable.

I think I'll back up to ffmpeg 1.1 and see what happens.

Larry


----------



## lofty17

I see the same issue with ffmpeg 1.1 On to lucasnz's fork next. 

Larry


----------



## newsposter

what is error 300 when you try to go from tivo to the laptop


----------



## lofty17

Using lucasnz's fork I was able to pull video exhibiting the closed caption problems mentioned above back to the computer as .tivo mpeg-ts files. VideoReDo was able to properly display closed caption data. After re-saving the .tivo as an H.264 mpg, closed captioning was ok on VLC and CCExtractor also.

It seems to me that puts the ball pretty much in Tivo's court. I did see some missing header errors on ts files running them through CCExtractor, but it grabbed all the cc text ok. I don't know if the errors mean anything. Probably not.

Any more thoughts on things to try? Is there any possibility that HD Decrypter throws in some issues that most viewers can handle but Tivo can't?

What do you guys use to rip DVDs?

Thanks,

Larry


----------



## moyekj

I'll see if I can make a short H.264 clip with functioning captions (on TiVo) for you to try playing on your TiVo. Conversely perhaps if you can make a short clip and upload it somewhere I can verify it doesn't display captions properly for me either.


----------



## moyekj

lofty17, in process of trying to generate clip for you I discovered that I have the same problem. A longer clip that I created previously that used to work on my Premiere no longer does. Just for grins I made a new clip and verified that has problem too. So it seems the last TiVo software update must have broken this unfortunately.


----------



## lofty17

Thanks for checking that, moyekj. It's good to know I'm not alone. 

Maybe I'll dust off my S3 tomorrow and see if it has the same problem.

I made a 42 meg clip also. If anyone wants to look at it, you can find it Here: https://dl.dropboxusercontent.com/u/29881922/Colonial%20HouseE1H264MP4Cut.mp4

The text I could see on my system for this clip was E THFUIMrrat and FOOR ERTY LERAONST plus a couple other characters. Here is the actual CC for the clip:


Code:


00:01  00:05  Narrator: IT'S SPRING
               AND DAY ONE OF COLONIAL HOUSE.
 00:05  00:19  OUT OF MORE THAN 10,000
               APPLICANTS, JUST 17 WERE CHOSEN.
 00:19  00:21  Narrator:
               THE COLONISTS ARE SAILING
 00:21  00:23  TO A WILD THOUSAND-ACRE PLOT
 00:23  00:25  ON THE COAST OF MAINE.
 00:25  00:27  IT WILL BECOME THEIR HOME
 00:27  00:29  FOR THE NEXT 4 MONTHS.
 00:32  00:35  WE'RE GOING TO HAVE
               ONE OF THE BEST 4 MONTHS
               OF OUR LIVES, MATE.
 00:36  00:37  I SERIOUSLY DO...
 00:37  00:40  EITHER THAT OR
               THE INSANE AND CRAZIEST!
 00:41  00:43  THE HARDEST 4 MONTHS
               OF OUR LIVES.
 00:43  00:45  Woman, voice-over:
               I FEEL PRIVILEGED.
 00:46  00:47  I FEEL INCREDIBLY PRIVILEGED.
 00:47  00:50  NOW, IS IT GONNA BE THE SUMMER
               OF OUR LIFETIME?
 00:50  00:54  Narrator: THE COLONIES WERE
               FUNDED BY THE RICH,
 00:54  00:57  HOPING TO GET RICHER
               HARVESTING RESOURCES
 00:58  01:02  THEY RECRUITED COLONISTS HUNGRY
               FOR ECONOMIC OPPORTUNITY
 01:02  01:03  OR EAGER TO ESCAPE
 01:04  01:07  POVERTY AND RELIGIOUS
               INTOLERANCE IN ENGLAND.
 01:07  01:11  USUALLY, NEW COLONISTS MET
               FOR THE FIRST TIME ON THE SHIP.
 01:12  01:16  THEIR JOURNEY ACROSS
               THE ATLANTIC WOULD TAKE
               ABOUT 10 WEEKS.
 01:20  01:22  IT WAS MONTHS.
 01:22  01:25  IT MUST HAVE BEEN...
 01:26  01:28  IT MUST HAVE BEEN HORRIBLE.


----------



## moyekj

lofty17 said:


> Maybe I'll dust off my S3 tomorrow and see if it has the same problem.


 Series 3 TiVos don't accept H.264 in TS container AFAIK so I don't think that's possible.
EDIT: Scratch the above as I just realized you are using mp4 container so you can push to S3. In any case I tried pushing your mp4 sample to my S3 and got no captions out of it on the TiVo.

For series 4 TiVos I don't think there's a good way to report problem and expect a fix to TiVo since there is no official software that supports transferring H.264 TS files to TiVos in the 1st place.


----------



## xekester

Please forgive the cross post...But there was no response on the pyTivo forum.

I've been searching but have been unable to find how to enable/configure debug logging when pyTivo runs as a service.

Can someone point me to the instructions to do this?

Thanks,
Xekester


----------



## reneg

xekester said:


> Please forgive the cross post...But there was no response on the pyTivo forum.
> 
> I've been searching but have been unable to find how to enable/configure debug logging when pyTivo runs as a service.
> 
> Can someone point me to the instructions to do this?
> 
> Thanks,
> Xekester


This still works for me, I believe it came from one of the earlier pytivo installers.

In the [Server] section:
debug = true

and then the following: 


Code:


[loggers]
keys=root

[handlers]
keys=console,rotfile

[formatters]
keys=basicform

[logger_root]
level=DEBUG
handlers=console,rotfile
#handlers=console

[handler_console]
class=StreamHandler
formatter=basicform
args=(sys.stdout,)

[handler_rotfile]
class=handlers.RotatingFileHandler
formatter=basicform
args=('C:\pyTivo\debug.log', 'a', 10485760, 5)

[formatter_basicform]
format=%(asctime)s %(levelname)-5s %(name)s: %(message)s


----------



## lofty17

moyekj said:


> Series 3 TiVos don't accept H.264 in TS container AFAIK so I don't think that's possible.
> EDIT: Scratch the above as I just realized you are using mp4 container so you can push to S3. In any case I tried pushing your mp4 sample to my S3 and got no captions out of it on the TiVo.


Thanks for keeping me out of that dead end. I spent today ruling out other possible variables. I tried ripping with several different programs, including WinX DVD Ripper, Magic DVD Ripper, Make MKV, AnyDVD and 2 versions of DVDFab. For the programs that even showed any closed captions, they were very similar to my original results, sparse and garbled text.

I know I'm probably just spinning my wheels here, but I want to rule out as much as I can.

I also tried trans-coding with HandBrake, but from what I can tell, it puts closed captions in English timed text instead of EIA-608.

I'll keep poking around tomorrow.

Larry


----------



## xekester

Thanks Reneg, that worked perfectly.


----------



## moyekj

lofty17 said:


> Thanks for keeping me out of that dead end. I spent today ruling out other possible variables. I tried ripping with several different programs, including WinX DVD Ripper, Magic DVD Ripper, Make MKV, AnyDVD and 2 versions of DVDFab. For the programs that even showed any closed captions, they were very similar to my original results, sparse and garbled text.
> 
> I know I'm probably just spinning my wheels here, but I want to rule out as much as I can.
> 
> I also tried trans-coding with HandBrake, but from what I can tell, it puts closed captions in English timed text instead of EIA-608.
> 
> I'll keep poking around tomorrow.
> 
> Larry


 Your sample is fine and should work. As I mentioned I had a long sample that used to work and no longer does. So it's a TiVo problem.

One thing I tried which I thought was going to work was taking H264 with EIA-608 captions and using VRD convert it to mpeg2 TS. But even as mpeg2 TS it has exactly same problem as the H264 video with captions, so at least that shows the problem is not particular only to H264 decoding.

As a sanity check I saved a TiVo recording with captions as mpeg2 TS with VRD and then pulled that back to TiVo and verified that still works. I also took that same recording and saved it as H264 TS with VRD and verified that also worked. So I'm not sure what's special about captions generated from DVDs that is not working anymore...


----------



## lofty17

moyekj said:


> Your sample is fine and should work. As I mentioned I had a long sample that used to work and no longer does. So it's a TiVo problem.


I agree. I felt pretty good about my sample, but I was just trying to discern what, if any differences there were between the 2 CC sources. I ended up with no answers. It was a great diversion though! Oh well. Onward, upward.

Thanks,

Larry


----------



## newsposter

now got error 400, cant win


----------



## wmcbrine

Error 400 is the standard error resulting from the TiVo's cookie bug. Just upgrade to a current version of pyTivo for the workaround.

No idea how you'd be getting 300, though.


----------



## wuzznuubi

It's like the SI vs IEC definitions of a Gigabyte vs Gibibyte, only worse. Do a google search on


> closed caption 608 708 subtitle DVD


 Makes your head spin.

Apparently CC is a US term and the rest of the world calls them subtitles. There can be CC on DVD in 608 format, but there are also subtitles which are hardcoded in separate video. The broadcast industry has been having headaches over 608 vs 708 since the DTV rollout.

One definition? Nope.
One standard? Nope.


----------



## lofty17

wuzznuubi said:


> Makes your head spin...


Yep. After fighting it a bit more, I finally resigned myself to having hearing aids before this ever gets resolved.

Larry


----------



## wtherrell

Who makes the best ones? My dad had much trouble with Miracle Ear so I don't want to go there. Please excuse the off topic but lack of CC by content providers is driving me crazy!!


----------



## moyekj

lofty17 said:


> Yep. After fighting it a bit more, I finally resigned myself to having hearing aids before this ever gets resolved.
> 
> Larry


 FYI, in case you didn't know, streambaby can show captions if you have an accompanying .srt file to go along with the video file that works pretty well. There are various options to control size, font and text color to use for captions. Biggest annoyance of course with streambaby is it has to re-buffer every 1.1GB of video. But it's pretty easy to run ccextractor on a DVD rip and generate a .srt file to accompany the mpeg2 to stream with streambaby.


----------



## scooterboy

Question for the experts:

I just installed pyTivo for the first time yesterday and it went great (with one exception). First - my particulars:

Win7 (64 bit) and one TivoHD.
Installed Python 2.7.4 (64 bit) and the latest wmcbrine pyTivo with no problems.

Followed instructions for configuration and after starting pyTivo from the command line, on the TivoHD I was immediately able to see, download, and play the files I placed in my designated Videos folder. All was sunshine and roses. Thanks to all the authors - you guys are brilliant.

My one problem? After all this success, I thought I'd try using the pyTivo service rather than the command line version so I wouldn't have to have it minimized and visible all the time. I downloaded the AMD64 version of pywin32, installed it, and then did the "pyTivoService.py --startup auto install" command from an Admin-enabled command line. The service installed nicely, and I made sure it started and was set to "automatic".

But, using the service I now can't see any files in my Videos folder on the TivoHD. I see the folder, but it's empty. I tried restarting the TivoHD with no luck, and I tried restarting the service with no luck.

I then stopped the service, ran pyTivo from the command line, and all was well again.

I can certainly keep it this way, but does anyone have an idea as to why the service won't work for me?


----------



## lpwcomp

Is there any way to force pyTivo to not use a cache, preferably on a share basis? I offload programs to DVD, have a video share defined that points to my DVD drive but if I change the disk in the drive, I have to cycle pyTiVo to get it to recognize the new disk.


----------



## gonzotek

scooterboy said:


> Question for the experts:
> 
> I just installed pyTivo for the first time yesterday and it went great (with one exception). First - my particulars:
> 
> Win7 (64 bit) and one TivoHD.
> Installed Python 2.7.4 (64 bit) and the latest wmcbrine pyTivo with no problems.
> 
> Followed instructions for configuration and after starting pyTivo from the command line, on the TivoHD I was immediately able to see, download, and play the files I placed in my designated Videos folder. All was sunshine and roses. Thanks to all the authors - you guys are brilliant.
> 
> My one problem? After all this success, I thought I'd try using the pyTivo service rather than the command line version so I wouldn't have to have it minimized and visible all the time. I downloaded the AMD64 version of pywin32, installed it, and then did the "pyTivoService.py --startup auto install" command from an Admin-enabled command line. The service installed nicely, and I made sure it started and was set to "automatic".
> 
> But, using the service I now can't see any files in my Videos folder on the TivoHD. I see the folder, but it's empty. I tried restarting the TivoHD with no luck, and I tried restarting the service with no luck.
> 
> I then stopped the service, ran pyTivo from the command line, and all was well again.
> 
> I can certainly keep it this way, but does anyone have an idea as to why the service won't work for me?


It's been a long time since I've run pyTiVo as a windows service, but I think it has to do with file permissions.

I believe the service uses the Local System account by default. You can either go to the services control panel and change the pyTiVo properties >'Log On'> Logon on as... user to yourself, or give the Videos folder 'System' permission.


----------



## scooterboy

gonzotek said:


> It's been a long time since I've run pyTiVo as a windows service, but I think it has to do with file permissions.
> 
> I believe the service uses the Local System account by default. You can either go to the services control panel and change the pyTiVo properties >'Log On'> Logon on as... user to yourself, or give the Videos folder 'System' permission.


I'll give that a shot - thanks!


----------



## gonzotek

scooterboy said:


> I'll give that a shot - thanks!


Let us know how it goes. I'm still looking to improve the windows installation directions on the wiki(happy to see that most of it worked for you!), and the service installation part obviously needs more work.


----------



## scooterboy

I tried both suggestions, but no joy. 


ETA: added logging per the post above and nothing looks out of the ordinary:

2013-05-02 11:28:54,648 INFO pyTivo: Last modified: Tue Apr 30 10:17:46 2013
2013-05-02 11:28:54,648 INFO pyTivo: Python: 2.7.4
2013-05-02 11:28:54,648 INFO pyTivo: System: Windows-7-6.1.7601-SP1
2013-05-02 11:28:54,684 INFO pyTivo.beacon: Scanning for TiVos...
2013-05-02 11:28:56,101 INFO pyTivo.beacon: Arthur
2013-05-02 11:28:56,102 INFO pyTivo.beacon: Announcing shares...
2013-05-02 11:28:56,104 INFO pyTivo.beacon: Registering: MyMovies
2013-05-02 11:28:56,904 INFO pyTivo: pyTivo is ready.


----------



## lofty17

wtherrell said:


> Who makes the best ones? My dad had much trouble with Miracle Ear so I don't want to go there. Please excuse the off topic but lack of CC by content providers is driving me crazy!!


I don't have hearing aids yet, but maybe someone else here knows someone who is happy with theirs.

It was a 10 years from now kind of comment. 

Larry


----------



## newsposter

if you get get it to run every time upon boot id be impressed. i have a batch file i made up and even that wont start upon every bootup


----------



## reneg

scooterboy said:


> I tried both suggestions, but no joy.
> 
> ETA: added logging per the post above and nothing looks out of the ordinary:
> 
> 2013-05-02 11:28:54,648 INFO pyTivo: Last modified: Tue Apr 30 10:17:46 2013
> 2013-05-02 11:28:54,648 INFO pyTivo: Python: 2.7.4
> 2013-05-02 11:28:54,648 INFO pyTivo: System: Windows-7-6.1.7601-SP1
> 2013-05-02 11:28:54,684 INFO pyTivo.beacon: Scanning for TiVos...
> 2013-05-02 11:28:56,101 INFO pyTivo.beacon: Arthur
> 2013-05-02 11:28:56,102 INFO pyTivo.beacon: Announcing shares...
> 2013-05-02 11:28:56,104 INFO pyTivo.beacon: Registering: MyMovies
> 2013-05-02 11:28:56,904 INFO pyTivo: pyTivo is ready.


It sure sounds like a user permissions in service mode issue and I'm surprised that neither suggestion helped. It's hard to tell what's going on with the information provided. Could it be related to firewall or virus scanning? It may be worth trying to remove the service, copy the pytivo directories to c:\pytivo, and reinstalling the service in the new location.


----------



## pmiranda

I'm pretty sure I had the same issue with Win7 and got it working as a service.
In the Services program, right-click pyTiVo, select Properties, and go to the Log On tab.
I have mine set to log in to the same account that I have windows auto-log-on to, and it's an admin account (Not Administrator, but with admin privileges). It also has my password in there.

Then make sure the folder you're trying to share is readable by that account.
I run pytivo right out of C:\Program Files\PyTiVo
It makes it a pain when you want to update since winzip can't extract directly to Program Files, but that just reminds me to copy a backup of the old install in case I break something.


----------



## wkearney99

Yep, if you're going to run as a service it often helps to log in manually as the account that's going to run the service and make sure the account has effective privileges to access anything it needs to properly run the program. This means read access to where the media files are stored and also write access to where the logs are written. Note that read access to media files may also mean it needs read access to parent directories leading down to it. 

Whatever you do, don't cop out and open up the privileges wider than necessary. As in, don't make the whole tree read/write for everyone. And don't run it as a user that belongs to any administrator groups! Those are ways malware gain access to or abuse your system. You want services running with as little access as is necessary and NO MORE.


----------



## scooterboy

reneg said:


> It sure sounds like a user permissions in service mode issue and I'm surprised that neither suggestion helped. It's hard to tell what's going on with the information provided. Could it be related to firewall or virus scanning? It may be worth trying to remove the service, copy the pytivo directories to c:\pytivo, and reinstalling the service in the new location.


I have no trouble at all when running pyTivo from the command line, so wouldn't that rule out firewall and virus protection problems?

All of the pytivo directories are already in c:\pytivo - I installed them there in the first place.



pmiranda said:


> I'm pretty sure I had the same issue with Win7 and got it working as a service.
> In the Services program, right-click pyTiVo, select Properties, and go to the Log On tab.
> I have mine set to log in to the same account that I have windows auto-log-on to, and it's an admin account (Not Administrator, but with admin privileges). It also has my password in there.


I did exactly that - changed the Log On to use my own username and password, which has Administrator privileges.



> Then make sure the folder you're trying to share is readable by that account.


The folder is definitely readable by that account. I created the folder with that account.

I'm puzzled, but again all works just fine when running pyTivo from the command line. So it's not a big deal, but it would be nice to run it as a service instead.

Maybe later today I'll delete the service and re-install it just for kicks.


----------



## wkearney99

Where are the video files? Are they in a directory inside c:\pytivo, or somewhere else? It might help if you post your pytivo.conf file (just redact your MAK, tivo username and password from it)


----------



## wkearney99

It might also help if you used the windows CACLS.EXE program to show the existing privileges on the directories. As in, "cacls c:\pytivo" and also on where ever you've got the video files stored. Post the responses you get from it.

EDIT: Technically the CACLS.EXE program has be supplanted by the ICACLS.EXE program, which will show you a bit more information.


----------



## scooterboy

wkearney99 said:


> Where are the video files? Are they in a directory inside c:\pytivo, or somewhere else? It might help if you post your pytivo.conf file (just redact your MAK, tivo username and password from it)


pytivo.conf:



Code:


[Server]
port = 9032
ffmpeg = c:/pytivo/bin/ffmpeg.exe
tivo_username = **********
tivo_password = **********
tdcat = c:/pytivo/bin/tdcat.exe
tivodecode = c:/pytivo/bin/tivodecode.exe

[MyMovies]
type = video
path = c:\videos

[_tivo_SD]

[_tivo_HD]




wkearney99 said:


> It might also help if you used the windows CACLS.EXE program to show the existing privileges on the directories. As in, "cacls c:\pytivo" and also on where ever you've got the video files stored. Post the responses you get from it.





Code:


C:\>cacls c:\pytivo
c:\pytivo BUILTIN\Administrators:(ID)F
          BUILTIN\Administrators:(OI)(CI)(IO)(ID)F
          NT AUTHORITY\SYSTEM:(ID)F
          NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(ID)F
          BUILTIN\Users:(OI)(CI)(ID)R
          NT AUTHORITY\Authenticated Users:(ID)C
          NT AUTHORITY\Authenticated Users:(OI)(CI)(IO)(ID)C

C:\>cacls c:\videos
c:\videos BUILTIN\Users:(OI)(CI)F
          BUILTIN\Administrators:(ID)F
          BUILTIN\Administrators:(OI)(CI)(IO)(ID)F
          NT AUTHORITY\SYSTEM:(ID)F
          NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(ID)F
          BUILTIN\Users:(OI)(CI)(ID)R
          NT AUTHORITY\Authenticated Users:(ID)C
          NT AUTHORITY\Authenticated Users:(OI)(CI)(IO)(ID)C


----------



## wuzznuubi

scooterboy said:


> pytivo.conf:
> 
> 
> 
> Code:
> 
> 
> [Server]
> port = 9032
> ffmpeg = c:/pytivo/bin/ffmpeg.exe
> tivo_username = **********
> tivo_password = **********
> tdcat = c:/pytivo/bin/tdcat.exe
> tivodecode = c:/pytivo/bin/tivodecode.exe
> 
> [MyMovies]
> type = video
> path = c:\videos
> 
> [_tivo_SD]
> 
> [_tivo_HD]


Just a guess, but replace the forward slashes (/) with backslashes (\) since you're on Windows.


----------



## wkearney99

I can't recall if the / vs \ makes a difference in the conf file, but mine running on windows uses the \ backslashes.

I didn't see a a redacted line for "tivo_mak = ", is it not present or did you just remove it entirely? Not that I think it would make a difference regarding the problem you're having.

For giggles, create a subdirectory under c:\pytivo and put some videos in there. Then create a section for them:


Code:


[test]
type = video
path = c:\pytivo\video


----------



## scooterboy

wuzznuubi said:


> Just a guess, but replace the forward slashes (/) with backslashes (\) since you're on Windows.


Just tried that, but no difference.



wkearney99 said:


> I can't recall if the / vs \ makes a difference in the conf file, but mine running on windows uses the \ backslashes.
> 
> I didn't see a a redacted line for "tivo_mak = ", is it not present or did you just remove it entirely? Not that I think it would make a difference regarding the problem you're having.


I never entered that because I don't use TivoToGo. My impression from the install instructions was that I wouldn't need it. That, coupled with the fact that everything works perfectly when running from the command line, would indicate it's unnecessary. Am I wrong there?



> For giggles, create a subdirectory under c:\pytivo and put some videos in there. Then create a section for them:
> 
> 
> Code:
> 
> 
> [test]
> type = video
> path = c:\pytivo\video


I'll try that next. Thanks.


----------



## scooterboy

wkearney99 said:


> For giggles, create a subdirectory under c:\pytivo and put some videos in there. Then create a section for them:
> 
> 
> Code:
> 
> 
> [test]
> type = video
> path = c:\pytivo\video


Tried that, and although on the Now Playing list I do see the "test" folder as well as the "MyMovies" folder, both remain empty.

When I stop the Service and start pyTivo from the command line, all programs show up as expected.


----------



## wuzznuubi

scooterboy said:


> Tried that, and although on the Now Playing list I do see the "test" folder as well as the "MyMovies" folder, both remain empty.
> 
> When I stop the Service and start pyTivo from the command line, all programs show up as expected.


Do you have any other versions of Python installed on your PC?
Did you download and install the pywin32-218.win-amd64-py2.7.exe?
Do you get this when you open a cmd window, cd to C:\ and type Python.exe


Code:


C:\>Python.exe
Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> ^Z

Check your system environment PATH to see if it might be pointing to another python version or directory


Code:


C:\>PATH
PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Python27

Can you get to the pyTivo Web Configuration page when just the service is running?
Try http://localhost:9032/

Try changing the beacon address (set to IP address of your TiVoHD) or zeroconf settings (try True or False)

I've always run pytivo from the commandline, but I just installed it as a service and it works fine (Win7-64bit).


----------



## scooterboy

Answers in bold below:



wuzznuubi said:


> Do you have any other versions of Python installed on your PC? * No.*
> Did you download and install the pywin32-218.win-amd64-py2.7.exe? * Yes.*
> Do you get this when you open a cmd window, cd to C:\ and type Python.exe *Yes.*
> 
> 
> Code:
> 
> 
> C:\>Python.exe
> Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32
> Type "help", "copyright", "credits" or "license" for more information.
> >>> ^Z
> 
> Check your system environment PATH to see if it might be pointing to another python version or directory
> 
> 
> Code:
> 
> 
> C:\>PATH
> PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Python27
> 
> *I don't see any reference to python in the PATH at all.*
> 
> Can you get to the pyTivo Web Configuration page when just the service is running?
> Try http://localhost:9032/ *Yes.*
> 
> Try changing the beacon address (set to IP address of your TiVoHD) or zeroconf settings (try True or False) *I'll try this.*
> 
> I've always run pytivo from the commandline, but I just installed it as a service and it works fine (Win7-64bit).


----------



## wuzznuubi

scooterboy said:


> Answers in bold below:


Only other thing I can think of is that I'm using the Feb 18, 2013 version of pyTivo. You may want to try that one as I said I always use the commandline but that version installed and worked fine as a service. I have it set to run as a Local System account (which I think is the default since I didn't mod anything after installing the service). Win7 Home Premiun-64bit, Python 2.7.3 AMD-64bit installed in C:\Python27, pywin32-218.win-amd64-py2.7.exe, pyTivo v2013-02-18 installed in my user directory, shares are on local external eSata drives available to everyone.

If your shares are on a NAS/Network drive, then have the service run as the Network Service account and use the UNC path to the shares.

*AND don't install pyTivo in "C:\Program Files" or "C:\Program Files (x86)" on Windows7*


----------



## gonzotek

Scooterboy, sorry you're having so much trouble. I got the service working, with the latest versions of pytivo, python 2.7, and pywin32 build 218 for amd64, on a machine that had never run it before, using the basic wiki instructions. It did indeed have the missing files problem at first. I was able to get it working by setting the service 'Log on as' permissions correctly and then restarting the service. My "My Videos" folder (located at c:\users\Cassidy\Videos) only has permissions for the owner (myself - full permissions) and the WMPNetworkSvc (read-only, this is the windows upnp media sharing service - and not relevant to pytivo). I modified the service Log On properties to use my account (.\Cassidy) and password. Then it prompted that the service would not use the new credentials until it was restarted. pyTivo seems to have a little trouble shutting down as a service (I think it's because it unregisters the shares with any tivos on the network and that takes longer than the service manager likes). So I refreshed the Services window until it showed pyTiVo as 'stopped', then I was able to start it again and the files in the problem share were properly visible and transferrable.

If you can verify that you've tried these steps, particularly making sure the service has the correct user account and that it is fully stopped and then started again, I'd appreciate it. Thanks for sticking with us.


----------



## scooterboy

gonzotek said:


> pyTivo seems to have a little trouble shutting down as a service (I think it's because it unregisters the shares with any tivos on the network and that takes longer than the service manager likes). So I refreshed the Services window until it showed pyTiVo as 'stopped', then I was able to start it again and the files in the problem share were properly visible and transferrable.
> 
> If you can verify that you've tried these steps, particularly making sure the service has the correct user account and that it is fully stopped and then started again, I'd appreciate it. Thanks for sticking with us.


I think you've gotten me closer to solving this. The service does indeed have the correct user account (mine), but it does seem to have trouble stopping. When I stop it, it gives me an error box saying it failed to stop. But I thought that since it no longer said "Started" in the Services list and the right-click context menu listed "Start" as a an option, that it was no longer running.

The difference I'm seeing from your experience is that my pyTivo service *never* has a "stopped" status no matter how many times I refresh it or how long I give it. If it needs to truly stop and start again in order for the log-on change to take effect, I suspect that's not happening. I think I'll try a reboot - that should definitely stop the service. 

I think I'll try a full reboot and see if that does it.


----------



## scooterboy

scooterboy said:


> The difference I'm seeing from your experience is that my pyTivo service *never* has a "stopped" status no matter how many times I refresh it or how long I give it. If it needs to truly stop and start again in order for the log-on change to take effect, I suspect that's not happening. I think I'll try a reboot - that should definitely stop the service.
> 
> I think I'll try a full reboot and see if that does it.


Rebooted, and it's still the same. I see my folders on the Tivo, but they remain empty. 

I guess I'll just stick with the command line option. That works fine, and I'm happy with that.


----------



## newsposter

i'm disappointed you didnt work this out, i'm getting tired of remembering to run the .bat everytime my machine starts. 

please keep trying


----------



## gonzotek

There are other options for installing a service into Windows. I've successfully used NSSM(the Non-Sucking Service Manager) with pytivo before, when I had other pywin32 issues. I'll re-do my install using NSSM and put together notes on how to do it sometime over the next few days, but if anyone else wants to take a crack at it in the meantime, feel free. Just let us know how it goes


----------



## lpwcomp

newsposter said:


> i'm disappointed you didnt work this out, i'm getting tired of remembering to run the .bat everytime my machine starts.
> 
> please keep trying


And the reason you haven't simply created a shortcut that starts pyTivo.py and added that to your Startup folder is...?


----------



## newsposter

lpwcomp said:


> And the reason you haven't simply created a shortcut that starts pyTivo.py and added that to your Startup folder is...?


it didnt work! 

so now that tivo desktop wont be free does this affect us pytivo people at all?


----------



## gonzotek

newsposter said:


> it didnt work!


What didn't work? What error message(s) did you receive, or what did you observe that made you decide it didn't work? If you have a batch file that works, then right click on its icon and create a shortcut, then place that shortcut into the Startup folder in your start menu. If that doesn't work, please paste the contents of the batch here. The only thing I can think of that would affect a shortcut to a batch script is relative path locations, which would be easy to fix.


> so now that tivo desktop wont be free does this affect us pytivo people at all?


It doesn't appear to affect pyTiVo at all, UNLESS they also eventually disable the http interface pyTiVo (and kmttg, and tivo desktop for mac, and Roxio, and every other third, 2nd or 1st party TTG tool) uses. We don't have any indication that is on the horizon, near or distant. They've stated that Macs will be able to continue using the Mac version of TD for audio/video, and Roxio for video transfers, so it would appear that the interface will remain indefinitely.


----------



## Hercules67

For over 3 years I have been Wmcbrine's fork of the pyTivo program wWITH ZERO problems... That means, I was able to download it, install it, install Python 2.7 and I have been running it pretty flawlessly since.

Unfortunately, 2 weeks ago my Hard Drive crashed and my problems started.

I have reinstalled pyTivo. This time Wmcbrine's latest by clicking on the "zip" option at his download location. I was satisfied with the previous iteration so I am not about to change. I also loaded python 2.7.2 (too much?) The Operating System is Windows XP Service Pack 3 patched (on a 2005 machine) -- I know, but that's all I can afford right now.

A few issues:

This version of pyTivo web config does not give me a "Soft Reset" button. Does that matter?
My Share Folders are published, BUT are empty, I can't see anything below them (like actual files)

I've been researching the "Share Files" don't show, or "empty shares" issue, and I can't say that I have found a fix in previous answers. The reason I say this is because I have tried all fixes suggested including multiple reboots without success. Here is my config file. It is pretty basic (I make very few changes):



> [Server]
> port = 9032
> ffmpeg = C:\pyTivo\bin\ffmpeg.exe
> tivodecode = C:\pyTivo\bin\tivodecode.exe
> togo_path = H:\VIDEO\My TiVo Recordings
> tivo_username = ****************
> tivo_password = ****************
> tivo_mak = *****************
> 
> [_tivo_SD]
> 
> [_tivo_HD]
> 
> [Movies]
> path = H:\VIDEO\My Videos\Movies
> type = video
> 
> [Miniseries]
> type = video
> path = H:\VIDEO\My Videos\TV Shows\Miniseries
> 
> [Documentaries]
> path = J:\VIDEOS\My Videos\Documentaries
> type = video
> 
> [Talk Shows]
> type = video
> path = J:\VIDEOS\My Videos\Talk Shows
> 
> [Sports]
> type = video
> path = J:\VIDEOS\My Videos\Sports
> 
> [News]
> path = J:\VIDEOS\My Videos\News
> type = video
> 
> [Christmas Specials]
> type = video
> path = J:\VIDEOS\My Videos\Christmas Specials
> 
> [Animation]
> path = G:\My Videos\Animated Shows
> type = video
> 
> [TV Shows]
> type = video
> path = G:\My Videos\TV Shows
> 
> [Anime_1]
> type = video
> path = I:\MY VIDEOS\Anime
> 
> [Anime_2]
> type = video
> path = K:\Anime Videos


Obviously, I have administrative rights on the Windows XP machine.

Obviously, I have started the pyTivo service (I have it starting when windows starts).

What am I missing?

Note: I also have bonjour running since I have Tivo-To-Go (also known as TiVo Desktop Software, version 2.8.3 - patched for date issue).

Do I really have to put an IP address in the Beacon Field?
Do I really need to switch to Beacon Service? (I'd rather not, as I also use KMTTG.)

I have two Tivos -- They used to see pyTivo just fine....

NOTE: KMTTG can communicate with the TiVos just fine.

Obviously, I have screwed-up somewhere, BUT where?

HELP!!!!!!


----------



## lpwcomp

Hercules67 said:


> My Share Folders are published, BUT are empty, I can't see anything below them (like actual files)


Did you re-install ffmpeg.exe where you have told pyTivo it resides?


----------



## Hercules67

lpwcomp said:


> Did you re-install ffmpeg.exe where you have told pyTivo it resides?


ffmpeg is installed in: C:\pyTivo\bin
which I created...

I downloaded the latest ffmpeg from here: http://ffmpeg.zeranoe.com/builds/
as described in step 4 of the Windows install instructions.


----------



## Hercules67

Two more things I need to add:


When I rebuilt my machine, I loaded my back-up from my back-up drive. I therefore ended-up with a Python 2.6 folder in the root of C:.... BUT, I am sure I have no actual files running. The only Python I installed to get this iteration of pyTivo running is version 2.7.2.

For some reason, the newest Bonjour that the latest version of TiVo Desktop installed is running as a Process under "mDNSResponder.exe". In the past, Bonjour used to run as a separate process. Does that make a difference?

I have shut down the PC and restarted both Tivos with no success.... At this point I am pulling my few remaining hair out.

I wonder if I should go back to this: "pyTivo wmcbrine-2009.03.19-RC1" (This is the version I used to run before the HDD conked-out).


----------



## Hercules67

One last thing... I keep talking about the BONJOUR Service, but I guess pyTivo prefers BEACON. Therefore, see my log.txt (attached).


----------



## wmcbrine

Hercules67 said:


> Do I really have to put an IP address in the Beacon Field?


Generally, no. In your specific case? I dunno. It's odd that I don't see any requests from the TiVo(s) in your log.



> _Do I really need to switch to Beacon Service? (I'd rather not, as I also use KMTTG.)_


pyTivo doesn't work like that. Unless you disable one of them (and you haven't), you're already using both beacon and zeroconf. This is all done within pyTivo; it doesn't rely on, or care about, Bonjour, nor does it interact with KMTTG.


----------



## jcthorne

newsposter said:


> i'm disappointed you didnt work this out, i'm getting tired of remembering to run the .bat everytime my machine starts.
> 
> please keep trying


Have you thought of placing a shortcut to run pytivo command line in your startup group? I like this much better than the service as its easier to monitor what is going on. Keep it minimized most of the time.


----------



## newsposter

i have an old thread on here about this issue and i forget the reason why it didnt work but it didnt. will have to dig through old posts sometime


----------



## Hercules67

I have another question about my issue that may lead to an answer to the problem. I run "msconfig" this morning on the PC and noticed that even though I have the pytivo service starting automatically, the service was stopped. So, I retook the steps necessary to activate it. It's been running since. Then I started investigating the "log.txt" file (I have "debug = true" now). I have seen NO ERRORS, but, my question is this:

_Does this LOG get overwritten every time that pytivo re-starts?_

Here is why I ask: The last two restarts, I noticed that time / date shown was Mon Apr 08 @ 15:45:45 _which is nowhere near today's date of May 8th around 12:45 (local time) when I last restarted._ Could this be causing my issue?


----------



## Hercules67

wmcbrine said:


> Generally, no. In your specific case? I dunno. It's odd that I don't see any requests from the TiVo(s) in your log.
> 
> pyTivo doesn't work like that. Unless you disable one of them (and you haven't), you're already using both beacon and zeroconf. This is all done within pyTivo; it doesn't rely on, or care about, Bonjour, nor does it interact with KMTTG.


William,

I also tried the 192.168.1.255 in the Beacon field, as well as my TiVo IP addresses (which I have made static): 192.1681.10 & 192.168.1.20 (do you separate them with a colon OR a space?).

None of these steps have seemed to have made a difference.


----------



## lpwcomp

Hercules67 said:


> I have another question about my issue that may lead to an answer to the problem. I run "msconfig" this morning on the PC and noticed that even though I have the pytivo service starting automatically, the service was stopped. So, I retook the steps necessary to activate it. It's been running since. Then I started investigating the "log.txt" file (I have "debug = true" now). I have seen NO ERRORS, but, my question is this:
> 
> _Does this LOG get overwritten every time that pytivo re-starts?_
> 
> Here is why I ask: The last two restarts, I noticed that time / date shown was Mon Apr 08 @ 15:45:45 _which is nowhere near today's date of May 8th around 12:45 (local time) when I last restarted._ Could this be causing my issue?


That is the "Modified" date/time of the most recently modified module. Has nothing to do with when it was started.


----------



## Hercules67

wmcbrine said:


> Generally, no. In your specific case? I dunno. It's odd that I don't see any requests from the TiVo(s) in your log.
> 
> pyTivo doesn't work like that. Unless you disable one of them (and you haven't), you're already using both beacon and zeroconf. This is all done within pyTivo; it doesn't rely on, or care about, Bonjour, nor does it interact with KMTTG.


I just noticed what you said above....

What do you mean, *you don't see any requests from the TiVos in my log?*

Every time I restarted, I have seen nothing that would say the TiVos have communicated back to the "LOG" file.... Should they? How?

BTW, my TiVos are networked wirelessly and that has never been an issue in the past.


----------



## wmcbrine

Hercules67 said:


> Every time I restarted, I have seen nothing that would say the TiVos have communicated back to the "LOG" file.... Should they? How?


This is what a normal log looks like at startup:



Code:


INFO:pyTivo:Last modified: Wed May  8 17:49:16 2013
INFO:pyTivo:Python: 2.7.2
INFO:pyTivo:System: Darwin-12.3.0-x86_64-i386-64bit
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:Little TiVo
INFO:pyTivo.beacon:Big HD TiVo
INFO:pyTivo.beacon:Premie
INFO:pyTivo.beacon:Caroll's New
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: Mystery
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.1.84 [08/May/2013 22:41:56] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.86 [08/May/2013 22:41:56] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.88 [08/May/2013 22:41:56] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.83 [08/May/2013 22:41:56] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.83 [08/May/2013 22:41:56] "GET /TiVoConnect?Command=QueryContainer&Container=Mystery&ItemCount=0&SerialNum=746************ HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.86 [08/May/2013 22:41:56] "GET /TiVoConnect?Command=QueryContainer&Container=Mystery&ItemCount=0&SerialNum=746************ HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.83 [08/May/2013 22:41:56] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.86 [08/May/2013 22:41:56] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -

All the 192.168.1.* requests are from TiVos.


----------



## Hercules67

William,

I am finally getting somewhere. I don't know with all my fiddling of files (I put an older version of the pyTivo.py file in there from an older -- the one I used to have working), and now I am getting this error:



> Traceback (most recent call last):
> File "C:\Python27\lib\logging\__init__.py", line 866, in emit
> self.flush()
> File "C:\Python27\lib\logging\__init__.py", line 828, in flush
> self.stream.flush()
> IOError: [Errno 9] Bad file descriptor
> Logged from file beacon.py, line 88
> Traceback (most recent call last):
> File "C:\Python27\lib\logging\__init__.py", line 866, in emit
> self.flush()
> File "C:\Python27\lib\logging\__init__.py", line 828, in flush
> self.stream.flush()
> IOError: [Errno 9] Bad file descriptor
> Logged from file beacon.py, line 39
> Traceback (most recent call last):
> File "C:\Python27\lib\logging\__init__.py", line 866, in emit
> self.flush()
> File "C:\Python27\lib\logging\__init__.py", line 828, in flush
> self.stream.flush()
> IOError: [Errno 9] Bad file descriptor
> Logged from file beacon.py, line 39
> Traceback (most recent call last):
> File "C:\Python27\lib\logging\__init__.py", line 866, in emit
> self.flush()
> File "C:\Python27\lib\logging\__init__.py", line 828, in flush
> self.stream.flush()
> IOError: [Errno 9] Bad file descriptor
> Logged from file beacon.py, line 39
> Traceback (most recent call last):
> File "C:\Python27\lib\logging\__init__.py", line 866, in emit
> self.flush()
> File "C:\Python27\lib\logging\__init__.py", line 828, in flush
> self.stream.flush()
> IOError: [Errno 9] Bad file descriptor
> Logged from file beacon.py, line 39
> Traceback (most recent call last):
> File "C:\Python27\lib\logging\__init__.py", line 866, in emit
> self.flush()
> File "C:\Python27\lib\logging\__init__.py", line 828, in flush
> self.stream.flush()
> IOError: [Errno 9] Bad file descriptor
> Logged from file beacon.py, line 39
> Traceback (most recent call last):
> File "C:\Python27\lib\logging\__init__.py", line 866, in emit
> self.flush()
> File "C:\Python27\lib\logging\__init__.py", line 828, in flush
> self.stream.flush()
> IOError: [Errno 9] Bad file descriptor
> Logged from file beacon.py, line 39
> Traceback (most recent call last):
> File "C:\Python27\lib\logging\__init__.py", line 866, in emit
> self.flush()
> File "C:\Python27\lib\logging\__init__.py", line 828, in flush
> self.stream.flush()
> IOError: [Errno 9] Bad file descriptor
> Logged from file beacon.py, line 39
> Traceback (most recent call last):
> File "C:\Python27\lib\logging\__init__.py", line 866, in emit
> self.flush()
> File "C:\Python27\lib\logging\__init__.py", line 828, in flush
> self.stream.flush()
> IOError: [Errno 9] Bad file descriptor
> Logged from file beacon.py, line 39
> Traceback (most recent call last):
> File "C:\Python27\lib\logging\__init__.py", line 866, in emit
> self.flush()
> File "C:\Python27\lib\logging\__init__.py", line 828, in flush
> self.stream.flush()
> IOError: [Errno 9] Bad file descriptor
> Logged from file beacon.py, line 39
> Traceback (most recent call last):
> File "C:\Python27\lib\logging\__init__.py", line 866, in emit
> self.flush()
> File "C:\Python27\lib\logging\__init__.py", line 828, in flush
> self.stream.flush()
> IOError: [Errno 9] Bad file descriptor
> Logged from file beacon.py, line 39
> Traceback (most recent call last):
> File "C:\Python27\lib\logging\__init__.py", line 866, in emit
> self.flush()
> File "C:\Python27\lib\logging\__init__.py", line 828, in flush
> self.stream.flush()
> IOError: [Errno 9] Bad file descriptor
> Logged from file beacon.py, line 39
> Traceback (most recent call last):
> File "C:\Python27\lib\logging\__init__.py", line 866, in emit
> self.flush()
> File "C:\Python27\lib\logging\__init__.py", line 828, in flush
> self.stream.flush()
> IOError: [Errno 9] Bad file descriptor
> Logged from file beacon.py, line 94
> Traceback (most recent call last):
> File "C:\Python27\lib\logging\__init__.py", line 866, in emit
> self.flush()
> File "C:\Python27\lib\logging\__init__.py", line 828, in flush
> self.stream.flush()
> IOError: [Errno 9] Bad file descriptor
> Logged from file beacon.py, line 69
> Traceback (most recent call last):
> File "C:\Python27\lib\logging\__init__.py", line 866, in emit
> self.flush()
> File "C:\Python27\lib\logging\__init__.py", line 828, in flush
> self.stream.flush()
> IOError: [Errno 9] Bad file descriptor
> Logged from file beacon.py, line 69


Does that mean anything?

When I run pyTivo.py in console, it suspends because of:



> ERROR: pyTivo.beacon: Zeroconf failure


Should I just go back to the latest revision, OR are you guys seeing something there that can help me troubleshoot a communication/connection issue?


----------



## wmcbrine

Hercules67 said:


> I put an older version of the pyTivo.py file in there from an older -- the one I used to have working


That's dumb. Don't do that.


----------



## Hercules67

wmcbrine said:


> That's dumb. Don't do that.


LOL!  

I know, but I am pulling my hair out.... (if you saw my head, you'd know how awful that is... I got very few left).

This has to be some sort of communication issue, but I can't put my finger on it.


----------



## Hercules67

Back to the new version:

Running pyTivo in Console Mode I get what you get, except these:



> INFO: pyTivo:192.168.1.86 [08/May/2013 22:41:56] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> 
> INFO: pyTivo:192.168.1.83 [08/May/2013 22:41:56] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> 
> INFO: pyTivo:192.168.1.83 [08/May/2013 22:41:56] "GET /TiVoConnect?Command=QueryContainer&Container=Mystery&ItemCount=0&SerialNum=746************ HTTP/1.1" 200 -
> 
> INFO: pyTivo:192.168.1.86 [08/May/2013 22:41:56] "GET /TiVoConnect?Command=QueryContainer&Container=Mystery&ItemCount=0&SerialNum=746************ HTTP/1.1" 200


What are those, and should I be getting them for everyone of my shares?


----------



## Hercules67

An update on my situation:

With everything set-up like it is supposed to, with William's (wmcbrine) branch of the pyTivo latest code installed,

and if,

I click on "pyTivo.py" (that is, run it in "Console Mode")

I can see all my subfolders and all my files.

In fact what happens is that I get a second "TV Shows [2]" folder on the TiVo, but both it and the original folder, allow me to access the subfolders underneath and the programs under them.... Now I can access the programs I've stored there.

I have not tried PUSH yet.

Does anyone know why this is happening to me?


----------



## bareyb

I have a version of pyTivo that's probably a couple of years old. Just a standard install on a Mac laptop. No add-ons at all. 

It works perfectly, but there have been several iterations of the software since I installed mine. Is there any reason I should update to a newer version? Is there anything in there (features, fixes) that would be beneficial to the casual user with a basic, no frills, install?


----------



## moyekj

bareyb said:


> I have a version of pyTivo that's probably a couple of years old. Just a standard install on a Mac laptop. No add-ons at all.
> 
> It works perfectly, but there have been several iterations of the software since I installed mine. Is there any reason I should update to a newer version? Is there anything in there (features, fixes) that would be beneficial to the casual user with a basic, no frills, install?


 At least one biggie that comes to mind: If you have a series 4 TiVo as destination and set ts=on in pyTivo config you can now pull H.264 videos without pyTivo having to transcode to mpeg2. Previously you could only get H.264 natively to your TiVo via push. For a casual user though that may be a don't care.


----------



## bareyb

moyekj said:


> At least one biggie that comes to mind: If you have a series 4 TiVo as destination and set ts=on in pyTivo config you can now pull H.264 videos without pyTivo having to transcode to mpeg2. Previously you could only get H.264 natively to your TiVo via push. For a casual user though that may be a don't care.


Hmmmm. That sounds interesting. I do pull H.264 on occasion. I guess I'll go ahead and install it. Thanks moyekj. Appreciate it.


----------



## bareyb

Is there any problem using the same .conf file that I created before?


----------



## bareyb

moyekj said:


> At least one biggie that comes to mind: *If you have a series 4 TiVo as destination and set ts=on in pyTivo config* you can now pull H.264 videos without pyTivo having to transcode to mpeg2. Previously you could only get H.264 natively to your TiVo via push. For a casual user though that may be a don't care.


Where do you set TS=On? I don't see it in the Global Settings Config. Are you talking about "copy_ts"? I found that in the HD TiVo setup but it says it's "True" by default. Is it somewhere else?


----------



## moyekj

I never use the GUI for config editing. It's easier to just edit the pyTivo.conf file directly and add the following line under [Server] section:
ts = on

If you must use GUI my guess is you can click on the Add Setting button to add it (under Global Server Settings section).

NOTE: You're also going to need a recent version of ffmpeg for things to work properly.


----------



## bareyb

moyekj said:


> I never use the GUI for config editing. It's easier to just edit the pyTivo.conf file directly and add the following line under [Server] section:
> ts = on
> 
> If you must use GUI my guess is you can click on the Add Setting button to add it (under Global Server Settings section).
> 
> NOTE: You're also going to need a recent version of ffmpeg for things to work properly.


I pasted it in like you said, and it created the new section in the Web Config automagically. So apparently you can do it either way. Very cool. Thanks. :up:


----------



## moyekj

bareyb said:


> I downloaded the latest ffmpeg from Iluvatar dated January 8, 2013 (for the Mac) Is that new enough?


 Should be.


----------



## bareyb

Wow moyekj! That is a GREAT new feature. Extremely _FAST_. I just downloaded an hour and half H.264 in about a minute and a half!  
This is _very_ cool and well worth updating for. I'm gonna go out of my way to grab H.264 in the future! Thanks for the heads up and the help. :up:


----------



## Hercules67

Hercules67 said:


> An update on my situation:
> 
> With everything set-up like it is supposed to, with William's (wmcbrine) branch of the pyTivo latest code installed,
> 
> and if,
> 
> I click on "pyTivo.py" (that is, run it in "Console Mode")
> 
> I can see all my subfolders and all my files.
> 
> In fact what happens is that I get a second "TV Shows [2]" folder on the TiVo, but both it and the original folder, allow me to access the subfolders underneath and the programs under them.... Now I can access the programs I've stored there.
> 
> I have not tried PUSH yet.
> 
> Does anyone know why this is happening to me?


Should there be a PYTHON SERVICE running in the background along with PyTivo Service so I don't have to run PyTivo in Console Mode?


----------



## Hercules67

If I have "debug=true" and errors are occurring, but a debug log is NOT being created, what am I doing wrong?


----------



## wmcbrine

Hercules67 said:


> If I have "debug=true" and errors are occurring, but a debug log is NOT being created, what am I doing wrong?


Well, the debug option doesn't create a separate log, it just adds detail to the existing one.


----------



## Hercules67

Does anyone understand what any of this mean then:



Code:


mpeg4 @ 02807ec0] Invalid and inefficient vfw-avi packed B frames detected

Input #0, avi, from 'G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi':

  Duration: 00:43:54.17, start: 0.000000, bitrate: 2247 kb/s

    Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (DX50 / 0x30355844), yuv420p, 720x496 [SAR 1:1 DAR 45:31], 23.98 tbr, 23.98 tbn, 23.98 tbc

    Metadata:

      title           : Video 

    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 192 kb/s

    Metadata:

      title           : Audio 

At least one output file must be specified


DEBUG:pyTivo.video.transcode:aFreq=48000; aCh=2; container=avi; kbps=2247; mapAudio=[('0:1', ' mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 192 kb/s\r')]; vHeight=496; vCodec=mpeg4; Supported=True; aKbps=192; par=None; millisecs=2634170; vFps=23.98; par2=None; par1=None; mapVideo=0:0; vWidth=720; dar1=45:31; rawmeta={}; aCodec=mp3
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:tsn: *****************
DEBUG:pyTivo.video.transcode:aspect169: False
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi vCodec=mpeg4 vWidth=720 vHeight=496 vFps=23.98 millisecs=2634170 TIVO_HEIGHT=480 TIVO_WIDTH=544
DEBUG:pyTivo.video.transcode:rheight=31 rwidth=45
DEBUG:pyTivo.video.transcode:par2=1.000 ratio=145.161 mult4by3=1.176
DEBUG:pyTivo.video.transcode:File is wider than 4:3 padding top and bottom
-aspect 16:9 -vf scale=544:586,pad=544:480:0:-54
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:selected audio stream: 0:1
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
INFO:pyTivo:192.168.1.20 [18/May/2013 10:08:09] "GET /TiVoConnect?Command=QueryContainer&Container=TV%20Shows%2FPerson%20of%20Interest%2FSeason%202&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FTV%2520Shows%2FPerson%2520of%2520Interest%2FSeason%25202%2FPerson%2520of%2520Interest%2520-%25202x03%2520-%2520Masquerade.avi&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:tsn: *****************
DEBUG:pyTivo.video.transcode:aspect169: False
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi vCodec=mpeg4 vWidth=720 vHeight=496 vFps=23.98 millisecs=2634170 TIVO_HEIGHT=480 TIVO_WIDTH=544
DEBUG:pyTivo.video.transcode:rheight=31 rwidth=45
DEBUG:pyTivo.video.transcode:par2=1.000 ratio=145.161 mult4by3=1.176
DEBUG:pyTivo.video.transcode:File is wider than 4:3 padding top and bottom
-aspect 16:9 -vf scale=544:586,pad=544:480:0:-54
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:selected audio stream: 0:1
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
INFO:pyTivo:192.168.1.20 [18/May/2013 10:08:09] "GET /TiVoConnect?Command=TVBusQuery&Container=TV%20Shows&File=%2FPerson%20of%20Interest%2FSeason%202%2FPerson%20of%20Interest%20-%202x03%20-%20Masquerade.avi HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
INFO:pyTivo:192.168.1.20 [18/May/2013 10:08:13] "GET /TV%20Shows/Person%20of%20Interest/Season%202/Person%20of%20Interest%20-%202x03%20-%20Masquerade.avi?Format=video%2Fx-tivo-mpeg HTTP/1.1" 206 -
INFO:pyTivo.video.video:[18/May/2013 10:08:13] Start sending "G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi" to Livingroom1
DEBUG:pyTivo.video.video:"G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi" is not tivo compatible
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:tsn: ******************
DEBUG:pyTivo.video.transcode:aspect169: False
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi vCodec=mpeg4 vWidth=720 vHeight=496 vFps=23.98 millisecs=2634170 TIVO_HEIGHT=480 TIVO_WIDTH=544
DEBUG:pyTivo.video.transcode:rheight=31 rwidth=45
DEBUG:pyTivo.video.transcode:par2=1.000 ratio=145.161 mult4by3=1.176
DEBUG:pyTivo.video.transcode:File is wider than 4:3 padding top and bottom
-aspect 16:9 -vf scale=544:586,pad=544:480:0:-54
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:selected audio stream: 0:1
DEBUG:pyTivo.video.transcode:transcoding to tivo model 649 using ffmpeg command:
DEBUG:pyTivo.video.transcode:C:\pyTivo\bin\ffmpeg.exe -i G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi -vcodec mpeg2video -r 29.97 -b 4096k -maxrate 30000k -bufsize 1024k -aspect 16:9 -vf scale=544:586,pad=544:480:0:-54 -ab 448k -ar 48000 -acodec ac3 -copyts -map 0:0 -map 0:1 -f vob -
INFO:pyTivo.video.video:[18/May/2013 10:08:13] Done sending "G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi" to Livingroom1, 12288 bytes, 0.16 Mb/s
INFO:pyTivo:192.168.1.20 [18/May/2013 10:08:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
WARNING:pyTivo:Anchor not found: G:\My Videos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi
INFO:pyTivo:192.168.1.20 [18/May/2013 10:08:19] "GET /TiVoConnect?Command=QueryContainer&Container=TV%20Shows&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTV%2520Shows%2FPerson%2520of%2520Interest%2FSeason%25202%2FPerson%2520of%2520Interest%2520-%25202x03%2520-%2520Masquerade.avi&AnchorOffset=-3&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.20 [18/May/2013 10:08:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.20 [18/May/2013 10:08:19] "GET /TiVoConnect?Command=QueryContainer&Container=TV%20Shows&SortOrder=!CaptureDate&ItemCount=-8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -

Both PUSH and PULL fail.

I did not use to have problems with this kind of file before (ie, prior to the HDD failure and reinstallation of PyTivo), so I am at a complete loss here...


----------



## wmcbrine

Hercules67 said:


> Does anyone understand what any of this mean then:


Yes. But, the only relevant thing it tells me is that the transfer stopped after 12 KB. I'm guessing that FFmpeg aborted the transcode. It should be clearer in console mode.


----------



## Hercules67

wmcbrine said:


> Yes. But, the only relevant thing it tells me is that the transfer stopped after 12 KB. I'm guessing that FFmpeg aborted the transcode. It should be clearer in console mode.


I get the same thing in Console Mode, so I am not sure what I should be looking for.


----------



## wmcbrine

There should be FFmpeg output before the "Done" line, for one thing.


----------



## gonzotek

William, I just pulled down your updates from last night. Really like the changes!


----------



## mlippert

gonzotek said:


> William, I just pulled down your updates from last night. Really like the changes!


Me too! thanks.:up:


----------



## bareyb

gonzotek said:


> William, I just pulled down your updates from last night. Really like the changes!


Can you summarize the changes? Wondering if I should update again...


----------



## gonzotek

Listed here under May 23rd and 24th. 
https://github.com/wmcbrine/pytivo/commits/master

Basically css/html improvements for settings and the push and ToGo pages. Looks nicer (imho), and the navigation between the root page and plugins is improved.


----------



## bareyb

gonzotek said:


> Listed here under May 23rd and 24th.
> https://github.com/wmcbrine/pytivo/commits/master
> 
> Basically css/html improvements for settings and the push and ToGo pages. Looks nicer (imho), and the navigation between the root page and plugins is improved.


Sounds like a worthwhile update. Thanks...
UPDATE: Oooh... I like the link to the Web Config page! That's nice. I've been wanting that for awhile.


----------



## Soapm

Hercules67 said:


> LOL!
> 
> I know, but I am pulling my hair out.... *(if you saw my head, you'd know how awful that is... I got very few left)*.
> 
> This has to be some sort of communication issue, *but I can't put my finger on it*.


I would think fewer hairs would make it easier to put your finger on it. Which strand are you trying to finger?


----------



## wmcbrine

bareyb said:


> UPDATE: Oooh... I like the link to the Web Config page! That's nice. I've been wanting that for awhile.


Eh? That's always been there. I just renamed it.

The new things are links back to the top level from everywhere, links back to higher levels from lower levels, and a unified logical framework for these.

Basically stuff that should've been done long ago, but I never got around to it.


----------



## jhilla

wmcbrine said:


> Eh? That's always been there. I just renamed it.
> 
> The new things are links back to the top level from everywhere, links back to higher levels from lower levels, and a unified logical framework for these.
> 
> Basically stuff that should've been done long ago, but I never got around to it.


I pulled the update, love the enhancement and the hyperlinks to the menus.  Plus with TD Free going to the graveyard, more will come out and play with either Pytivo or KMTTG.


----------



## Hercules67

Hercules67 said:


> An update on my situation:
> 
> With everything set-up like it is supposed to, with William's (wmcbrine) branch of the pyTivo latest code installed,
> 
> and if,
> 
> I click on "pyTivo.py" (that is, run it in "Console Mode")
> 
> I can see all my subfolders and all my files.
> 
> In fact what happens is that I get a second "TV Shows [2]" folder on the TiVo, but both it and the original folder, allow me to access the subfolders underneath and the programs under them.... Now I can access the programs I've stored there.
> 
> I have not tried PUSH yet.
> 
> Does anyone know why this is happening to me?


I wonder with all the PyTivo experts around, why nobody has been able to help me on this....

Where should I turn for help?

NOW, I have a new problem caused by ffmpeg:
1) It started with some files I changed to AVI (xvid format) will not transfer;
AND NOW,
2) Nothing will transfer.

How do I capture what shows in the console to show you what I am seeing? As usual, the log.txt shows nothing. DEBUG=True.

So, I am lost.

Help is appreciated, even though I've gotten none. Still, it's a free program, so I can't complain.


----------



## bschuler2007

Thanks for the update wmcbrine. Having to hit BACK, BACK, BACK, etc.. bothered me so much that I spent over an hour one weekend recently trying to find out where I would put in the link back to the root. I never did find it.


----------



## innocentfreak

I am trying to help a friend setup PyTiVo and he is having an issue. I have been trying to figure it out while he is at work without much luck. 

He did the install off the guide and the only change he made is PyTiVo runs on port 9033. He already had 9032 as something else. PyTiVo finds his TiVos and announces the shares. He can see the shares on the TiVo and the contents of the folders. 

What he can't do is see anything but settings in the web interface. He read his settings off to me and they are identical to mine except for share names and paths for the directories. He is running win 7 and installed it in C:\PyTiVo. He added the firewall exceptions. We just can't get the shares to show in the web interface. Any ideas?


----------



## lpwcomp

innocentfreak said:


> What he can't do is see anything but settings in the web interface. He read his settings off to me and they are identical to mine except for share names and paths for the directories. He is running win 7 and installed it in C:\PyTiVo. He added the firewall exceptions. We just can't get the shares to show in the web interface. Any ideas?


Does he have his TiVo user ID, password and MAK defined in the pyTivo configuration?

The best thing would be to post his pyTivo.conf file, after redacting all sensitive data.


----------



## innocentfreak

lpwcomp said:


> Does he have his TiVo user ID, password and MAK defined in the pyTivo configuration?
> 
> The best thing would be to post his pyTivo.conf file, after redacting all sensitive data.


Yeah. His pulls seem to work fine also. He just can't see shares from the web interface. I remember having this problem also years ago, but don't remember the fix. I will have to see if I can still remote in. Otherwise I will have to wait until he gets home.

EDIT: Thanks it looks like it was related. Somehow his web interface configuration wasn't matching his pyTivo.conf file. He had the username, MAK, and password in the global server settings, but it only showed the email address in the PyTivo.conf. It is weird since he saved, restarted, quit and relaunched multiple times. It always showed in the web config, but it most not have written it to the conf file somehow.


----------



## dpierce

I can never seem to get music to play or show up any ideas


----------



## lpwcomp

dpierce said:


> I can never seem to get music to play or show up any ideas


Do you have a "music" share defined?


----------



## wmcbrine

dpierce said:


> I can never seem to get music to play or show up any ideas


Look under "Music and Photos" instead of the "My Shows" list?


----------



## Hercules67

So, this is the type of error I am seeing now in the console window (yes, I figured out how to capture this information).

Can anyone help me with this, OR should I just give-up?

(See attached "error_log" text file).


----------



## Hercules67

Just my luck... After my post, some idiot posts SPAM. Oh well.

Ok, so I rebooted the TiVo and that file I recorded off HBO was transferred.

Then I tried to transfer this episode of "Person of Interest", but no success:



Code:


 INFO:pyTivo:192.168.1.20 [27/May/2013 18:04:40] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.20 [27/May/2013 18:04:40] "GET /TiVoConnect?Command=QueryC
ontainer&Container=TV%20Shows&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FT
iVoConnect%3FCommand%3DQueryContainer%26Container%3DTV%2520Shows%2FFirefly&Ancho
rOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video
%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.20 [27/May/2013 18:04:42] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.20 [27/May/2013 18:04:42] "GET /TiVoConnect?Command=QueryC
ontainer&Container=TV%20Shows&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FT
iVoConnect%3FCommand%3DQueryContainer%26Container%3DTV%2520Shows%2FGraceland&Anc
horOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,vid
eo%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.20 [27/May/2013 18:04:44] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.20 [27/May/2013 18:04:44] "GET /TiVoConnect?Command=QueryC
ontainer&Container=TV%20Shows&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FT
iVoConnect%3FCommand%3DQueryContainer%26Container%3DTV%2520Shows%2FHunted&Anchor
Offset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%
2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.20 [27/May/2013 18:04:45] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.20 [27/May/2013 18:04:45] "GET /TiVoConnect?Command=QueryC
ontainer&Container=TV%20Shows&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FT
iVoConnect%3FCommand%3DQueryContainer%26Container%3DTV%2520Shows%2FMissing&Ancho
rOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video
%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.20 [27/May/2013 18:04:48] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.20 [27/May/2013 18:04:48] "GET /TiVoConnect?Command=QueryC
ontainer&Container=TV%20Shows&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FT
iVoConnect%3FCommand%3DQueryContainer%26Container%3DTV%2520Shows%2FOnce%2520Upon
%2520a%2520Time&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-con
tainer%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.20 [27/May/2013 18:04:51] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.20 [27/May/2013 18:04:51] "GET /TiVoConnect?Command=QueryC
ontainer&Container=TV%20Shows%2FPerson%20of%20Interest&SortOrder=!CaptureDate&It
emCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%
2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.20 [27/May/2013 18:04:53] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.20 [27/May/2013 18:04:53] "GET /TiVoConnect?Command=QueryC
ontainer&Container=TV%20Shows%2FPerson%20of%20Interest%2FSeason%202&SortOrder=!C
aptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2F
folder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.20 [27/May/2013 18:04:56] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:ffmpeg output=ffmpeg version N-52837-g399f6ef Copyr
ight (c) 2000-2013 the FFmpeg developers
  built on May  7 2013 01:09:00 with gcc 4.7.3 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgsm --enable-libilbc --enable-libmp3lame --enable-libopencore-amrn
b --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libr
tmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheo
ra --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-li
bvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --ena
ble-zlib
  libavutil      52. 29.100 / 52. 29.100
  libavcodec     55.  7.100 / 55.  7.100
  libavformat    55.  4.101 / 55.  4.101
  libavdevice    55.  0.100 / 55.  0.100
  libavfilter     3. 63.101 /  3. 63.101
  libswscale      2.  2.100 /  2.  2.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  3.100 / 52.  3.100
[mpeg4 @ 02808000] Invalid and inefficient vfw-avi packed B frames detected
Input #0, avi, from 'G:\My Videos\TV Shows\Person of Interest\Season 2\Person of
 Interest - 2x03 - Masquerade.avi':
  Duration: 00:43:54.17, start: 0.000000, bitrate: 2247 kb/s
    Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (DX50 / 0x30355844), yuv
420p, 720x496 [SAR 1:1 DAR 45:31], 23.98 tbr, 23.98 tbn, 23.98 tbc
    Metadata:
      title           : Video
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 192 k
b/s
    Metadata:
      title           : Audio
At least one output file must be specified

DEBUG:pyTivo.video.transcode:aFreq=48000; aCh=2; container=avi; kbps=2247; mapAu
dio=[('0:1', ' mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 192 kb/s\r')];
 vHeight=496; vCodec=mpeg4; Supported=True; aKbps=192; par=None; millisecs=26341
70; vFps=23.98; par2=None; par1=None; mapVideo=0:0; vWidth=720; dar1=45:31; rawm
eta={}; aCodec=mp3
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, G:\My V
ideos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerad
e.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:tsn: **************
DEBUG:pyTivo.video.transcode:aspect169: False
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=G:\My Videos\TV Shows\Person of Interest\Seaso
n 2\Person of Interest - 2x03 - Masquerade.avi vCodec=mpeg4 vWidth=720 vHeight=4
96 vFps=23.98 millisecs=2634170 TIVO_HEIGHT=480 TIVO_WIDTH=544
DEBUG:pyTivo.video.transcode:rheight=31 rwidth=45
DEBUG:pyTivo.video.transcode:par2=1.000 ratio=145.161 mult4by3=1.176
DEBUG:pyTivo.video.transcode:File is wider than 4:3 padding top and bottom
-aspect 16:9 -vf scale=544:586,pad=544:480:0:-54
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:selected audio stream: 0:1
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, G:\My V
ideos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerad
e.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
INFO:pyTivo:192.168.1.20 [27/May/2013 18:04:58] "GET /TiVoConnect?Command=QueryC
ontainer&Container=TV%20Shows%2FPerson%20of%20Interest%2FSeason%202&SortOrder=!C
aptureDate&ItemCount=1&AnchorItem=%2FTV%2520Shows%2FPerson%2520of%2520Interest%2
FSeason%25202%2FPerson%2520of%2520Interest%2520-%25202x03%2520-%2520Masquerade.a
vi&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffold
er,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, G:\My V
ideos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerad
e.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:tsn: ***************
DEBUG:pyTivo.video.transcode:aspect169: False
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=G:\My Videos\TV Shows\Person of Interest\Seaso
n 2\Person of Interest - 2x03 - Masquerade.avi vCodec=mpeg4 vWidth=720 vHeight=4
96 vFps=23.98 millisecs=2634170 TIVO_HEIGHT=480 TIVO_WIDTH=544
DEBUG:pyTivo.video.transcode:rheight=31 rwidth=45
DEBUG:pyTivo.video.transcode:par2=1.000 ratio=145.161 mult4by3=1.176
DEBUG:pyTivo.video.transcode:File is wider than 4:3 padding top and bottom
-aspect 16:9 -vf scale=544:586,pad=544:480:0:-54
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:selected audio stream: 0:1
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, G:\My V
ideos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerad
e.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
INFO:pyTivo:192.168.1.20 [27/May/2013 18:04:58] "GET /TiVoConnect?Command=TVBusQ
uery&Container=TV%20Shows&File=%2FPerson%20of%20Interest%2FSeason%202%2FPerson%2
0of%20Interest%20-%202x03%20-%20Masquerade.avi HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, G:\My V
ideos\TV Shows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerad
e.avi
INFO:pyTivo:192.168.1.20 [27/May/2013 18:05:03] "GET /TV%20Shows/Person%20of%20I
nterest/Season%202/Person%20of%20Interest%20-%202x03%20-%20Masquerade.avi?Format
=video%2Fx-tivo-mpeg HTTP/1.1" 206 -
INFO:pyTivo.video.video:[27/May/2013 18:05:03] Start sending "G:\My Videos\TV Sh
ows\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi" to L
ivingroom1
DEBUG:pyTivo.video.video:"G:\My Videos\TV Shows\Person of Interest\Season 2\Pers
on of Interest - 2x03 - Masquerade.avi" is not tivo compatible
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:tsn: ***************
DEBUG:pyTivo.video.transcode:aspect169: False
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=G:\My Videos\TV Shows\Person of Interest\Seaso
n 2\Person of Interest - 2x03 - Masquerade.avi vCodec=mpeg4 vWidth=720 vHeight=4
96 vFps=23.98 millisecs=2634170 TIVO_HEIGHT=480 TIVO_WIDTH=544
DEBUG:pyTivo.video.transcode:rheight=31 rwidth=45
DEBUG:pyTivo.video.transcode:par2=1.000 ratio=145.161 mult4by3=1.176
DEBUG:pyTivo.video.transcode:File is wider than 4:3 padding top and bottom
-aspect 16:9 -vf scale=544:586,pad=544:480:0:-54
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Person of Interest
\Season 2\Person of Interest - 2x03 - Masquerade.avi
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:selected audio stream: 0:1
DEBUG:pyTivo.video.transcode:transcoding to tivo model 649 using ffmpeg command:

DEBUG:pyTivo.video.transcode:C:\pyTivo\bin\ffmpeg.exe -i G:\My Videos\TV Shows\P
erson of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi -vcodec mp
eg2video -r 29.97 -b 4096k -maxrate 30000k -bufsize 1024k -aspect 16:9 -vf scale
=544:586,pad=544:480:0:-54 -ab 448k -ar 48000 -acodec ac3 -copyts -map 0:0 -map
0:1 -f vob -
ffmpeg version N-52837-g399f6ef Copyright (c) 2000-2013 the FFmpeg developers
  built on May  7 2013 01:09:00 with gcc 4.7.3 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgsm --enable-libilbc --enable-libmp3lame --enable-libopencore-amrn
b --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libr
tmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheo
ra --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-li
bvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --ena
ble-zlib
  libavutil      52. 29.100 / 52. 29.100
  libavcodec     55.  7.100 / 55.  7.100
  libavformat    55.  4.101 / 55.  4.101
  libavdevice    55.  0.100 / 55.  0.100
  libavfilter     3. 63.101 /  3. 63.101
  libswscale      2.  2.100 /  2.  2.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  3.100 / 52.  3.100
[mpeg4 @ 028083a0] Invalid and inefficient vfw-avi packed B frames detected
Input #0, avi, from 'G:\My Videos\TV Shows\Person of Interest\Season 2\Person of
 Interest - 2x03 - Masquerade.avi':
  Duration: 00:43:54.17, start: 0.000000, bitrate: 2247 kb/s
    Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (DX50 / 0x30355844), yuv
420p, 720x496 [SAR 1:1 DAR 45:31], 23.98 tbr, 23.98 tbn, 23.98 tbc
    Metadata:
      title           : Video
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 192 k
b/s
    Metadata:
      title           : Audio
Please use -b:a or -b:v, -b is ambiguous
[Parsed_pad_1 @ 028f8660] Negative values are not acceptable.
[Parsed_scale_0 @ 028f86e0] Failed to configure input pad on Parsed_pad_1
Error opening filters!
INFO:pyTivo.video.video:[27/May/2013 18:05:04] Done sending "G:\My Videos\TV Sho
ws\Person of Interest\Season 2\Person of Interest - 2x03 - Masquerade.avi" to Li
vingroom1, 12288 bytes, 0.15 Mb/s
INFO:pyTivo:192.168.1.20 [27/May/2013 18:05:10] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
WARNING:pyTivo:Anchor not found: G:\My Videos\TV Shows\Person of Interest\Season
 2\Person of Interest - 2x03 - Masquerade.avi
INFO:pyTivo:192.168.1.20 [27/May/2013 18:05:10] "GET /TiVoConnect?Command=QueryC
ontainer&Container=TV%20Shows&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FT
V%2520Shows%2FPerson%2520of%2520Interest%2FSeason%25202%2FPerson%2520of%2520Inte
rest%2520-%25202x03%2520-%2520Masquerade.avi&AnchorOffset=-3&Filter=x-tivo-conta
iner%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/
1.1" 200 -
INFO:pyTivo:192.168.1.20 [27/May/2013 18:05:10] "GET /TiVoConnect?Command=QueryF
ormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.20 [27/May/2013 18:05:10] "GET /TiVoConnect?Command=QueryC
ontainer&Container=TV%20Shows&SortOrder=!CaptureDate&ItemCount=-8&Filter=x-tivo-
container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*
HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.20 [27/May/2013 18:05:14] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.20 [27/May/2013 18:05:17] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.20 [27/May/2013 18:05:22] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F HTTP/1.0" 200 -

Any thoughts? And for the record, I 've never had any problems with this type of AVI file before (using AVi.net to encode).


----------



## wmcbrine

Hercules67 said:


> scale=544:586,pad=544:480:0:-54


Wow, that's weird. I'll try to figure out why it's doing that.

The original size is weird, too -- 720x496? How does that happen?


----------



## Hercules67

wmcbrine said:


> Wow, that's weird. I'll try to figure out why it's doing that.
> 
> The original size is weird, too -- 720x496? How does that happen?


When I open AVI.net to encode that file it gives me that size option. Actually, it suggests like 720x536 or something, but I normally reduce it to 720x504 or x496. Like I said, I've never had a problem with it before. I watched all of "Person of Interest" that way. I'll attach the MEDIA INFO file if you want.


----------



## wmcbrine

I have no use for the MediaInfo, thanks. Possibly the file itself.

So, you encoded this yourself? From what source? I'd suggest encoding it to a TiVo-compatible format instead of this.


----------



## Hercules67

wmcbrine said:


> I have no use for the MediaInfo, thanks. Possibly the file itself.
> 
> So, you encoded this yourself? From what source? I'd suggest encoding it to a TiVo-compatible format instead of this.


Well, I took the TiVo file from my TiVo, then run it through KMTTG to decode and also get subtitles. After the AdCut portion, I do the encoding either using Handbrake OR Avi.net. On this file, I used Avi.net.


----------



## moyekj

Hercules67 said:


> Well, I took the TiVo file from my TiVo, then run it through KMTTG to decode and also get subtitles. After the AdCut portion, I do the encoding either using Handbrake OR Avi.net. On this file, I used Avi.net.


 I think the point is if your main objective is to create a file that plays on the TiVo then don't encode to a format that is not TiVo compatible. And if you're not doing anything to it such as cutting out commercials then just leave it as .TiVo for that matter. And if you are encoding for other uses as well as for a TiVo it's still best to pick a TiVo compatible format (H.264 with AC3 or AAC audio for example) that doesn't require transcoding when transferring back to the TiVo.


----------



## Hercules67

moyekj said:


> I think the point is if your main objective is to create a file that plays on the TiVo then don't encode to a format that is not TiVo compatible. And if you're not doing anything to it such as cutting out commercials then just leave it as .TiVo for that matter. And if you are encoding for other uses as well as for a TiVo it's still best to pick a TiVo compatible format (H.264 with AC3 or AAC audio for example) that doesn't require transcoding when transferring back to the TiVo.


I thought ffmpeg could handle just about anything? In the past, I have had success dealing with xvid transcoded files in AVI format, that's why I've gotten to like that format. It allows me to take a 480x480 S2 file and stretch it so that I can see it in 720xSomething format on my big screen HDTV (does that make sense?)

I have tried to get post AdCut files to process in KMTTG and have failed every time, so I have no idea what I am doing wrong there, and whenever I asked for help about it on that thread no one has helped me, just like no one has helped me on why I can't get pyTivo to run with the "console window" being open in Windows XP in this thread.

Oh well, it's not a big deal....

But that's the reason I have reverted to AVI.net and Handbrake.


----------



## wmcbrine

Hercules67 said:


> I thought ffmpeg could handle just about anything?


It's not about what it _can_ do, but what it makes sense to do.



> _It allows me to take a 480x480 S2 file and stretch it so that I can see it in 720xSomething format on my big screen HDTV (does that make sense?)_


No. You can't get any extra detail that way; it just gets blurrier. If your issue is converting a letterboxed 4:3 image to 16:9 -- there are better ways to do that.



> _whenever I asked for help about it on that thread no one has helped me, just like no one has helped me on why I can't get pyTivo to run with the "console window" being open in Windows XP in this thread._


You know, just because your problems haven't been solved, doesn't mean people haven't tried to help you. But some people are hard to help.


----------



## Hercules67

Ok, let's take each of these individually:



> I thought ffmpeg could handle just about anything?
> 
> 
> 
> It's not about what it can do, but what it makes sense to do.
Click to expand...

*I Understand*... But in this case it failed because of my file OR because of pyTivo?



> It allows me to take a 480x480 S2 file and stretch it so that I can see it in 720xSomething format on my big screen HDTV (does that make sense?)
> 
> 
> 
> No. You can't get any extra detail that way; it just gets blurrier. If your issue is converting a letterboxed 4:3 image to 16:9 -- there are better ways to do that.
Click to expand...

This is what I meant.... Person of Interest plays Letterboxed in my area. I tried to get the 4:3 image to play better on my 16:9 TV. OK, simply, I have no idea how to do this. What is the best way. AVI.net was helping me -- I thought. What's better. Keep in mind I only have an S2.



> whenever I asked for help about it on that thread no one has helped me, just like no one has helped me on why I can't get pyTivo to run with the "console window" being open in Windows XP in this thread.
> 
> 
> 
> You know, just because your problems haven't been solved, doesn't mean people haven't tried to help you. But some people are hard to help.
Click to expand...

I did not say that... But why would you say I am hard to help? I have not complained, other than saying that I have not gotten help. The point being, without running "pyTivo.py" in Console, I can not get any of my files or folders to show on my S2 TiVo. This has happened with the latest installation of pyTivo after my computer crashed and I had to put in a new Hard Drive and a new Windows XP installation. Windows XP is patched all the way up to SP3+.

So a month ago everything was working. Now, it's not. Why am I hard to help? What have I done?

I am sorry if I said something or done something to upset someone.

I have always tried to take the steps you all have given me to see where it leads me.

I do not know as much about Video as some people. Heck, I ever even tried to convert one of my DVDs to a digital file with little success. All I do, is try to archive some of my TV shows, because I can't watch all of them during the season.

PyTivo and KMTTG have been great tools in this effort. But I am still trying to figure out what to encode my final files with so I can pull them back and watch. I don't have the HDD space to save .tivo files, or .ts files. MP4 files seem to be the best, but I Don't know what program to use to create the correct ones after adcut with VideoRedo (which I own).

Anyway, I am rumbling, I am sorry..... I'll go away now, and as always, try to figure out the answer myself.


----------



## wuzznuubi

Hercules67 said:


> Ok, let's take each of these individually:


I think the problem is you have to approach each question one at a time. Appears you want to do something, but aren't quite sure how to do it and are asking for advice in a round a bout way. If you want to get to a goal and aren't sure how to get there you can ask for advice. If you know what you want to do and are set on doing it a certain way and something isn't working, you need to break it down yourself and pose the issues separately.

P.S. I would suggest (if it's not a great imposition) uninstalling pytivo and python and starting from scratch. Win7 is a harsh mistress, especially since you restored from a BACKUP DRIVE. Worked for me. Make sure you _DON'T_ install pytivo to any program files directory, use another directory off C:, like C:\pytivo.


----------



## Hercules67

wuzznuubi said:


> I think the problem is you have to approach each question one at a time. Appears you want to do something, but aren't quite sure how to do it and are asking for advice in a round a bout way. If you want to get to a goal and aren't sure how to get there you can ask for advice. If you know what you want to do and are set on doing it a certain way and something isn't working, you need to break it down yourself and pose the issues separately.


I thought *I was* clear on what I was asking on this message:

http://www.tivocommunity.com/tivo-vb/showthread.php?p=9649537#post9649537

Basically, I have added pyTivo to the Services that autostart, right? So, when I try to pull a show from one of my video folders, why are they empty?

No one has answered that for me yet.


----------



## wuzznuubi

Hercules67 said:


> I thought *I was* clear on what I was asking on this message:
> 
> http://www.tivocommunity.com/tivo-vb/showthread.php?p=9649537#post9649537
> 
> Basically, I have added pyTivo to the Services that autostart, right? So, when I try to pull a show from one of my video folders, why are they empty?
> 
> No one has answered that for me yet.


Are you aware of the Alternate Streams (ADS) for files on Win7? (Did you unblock the zip file before unzipping?)

Did you start from scratch and reinstall python and pytivo?


----------



## Hercules67

wuzznuubi said:


> Are you aware of the Alternate Streams for files on Win7? (Did you unblock the zip file before unzipping?)
> 
> Did you start from scratch and reinstall python and pytivo?


What do you mean by "unblocking" the ZIP file?

Alternate Streams?

I am already lost here....

And BTW, I have Windows XP. And, I think, I have followed the installation instructions perfectly. I think...


----------



## wuzznuubi

Hercules67 said:


> What do you mean by "unblocking" the ZIP file?
> 
> Alternate Streams?
> 
> I am already lost here....
> 
> And BTW, I have Windows XP. And, I think, I have followed the installation instructions perfectly. I think...


ADS also exists on XP if that's what you're using. They were intro'd with Win2K(NTFS). Called Alternate Data Streams. You mentioned in your original problem post about restoring a backup but you weren't clear what you were running before you restored your backup to XP SP3. That's why I mention ADS for you to research since you don't provide enough info for anyone to help.

P.S. I would suggest (if it's not a great imposition) uninstalling pytivo and python and starting from scratch, especially since you restored from a BACKUP DRIVE. Worked for me. Make sure you _DON'T_ install pytivo to any program files directory, use another directory off C:, like C:\pytivo.


----------



## Hercules67

wuzznuubi said:


> ADS also exists on XP if that's what you're using. They were intro'd with Win2K(NTFS). Called Alternate Data Streams. You mentioned in your original problem post about restoring a backup but you weren't clear what you were running before you restored your backup to XP SP3. That's why I mention ADS for you to research since you don't provide enough info for anyone to help.


I knew nothing of ADS (seriously). I am not sure how they are affecting me.

My restore went like this: I OWN 10 CLEAN COPIES of WINDOWS XP (used to be a system builder). Therefore, I did a CLEAN INSTALL into a brand new HARD DRIVE.

The only items I restored from backup were the contents of "My Documents" from my Seagate backup Hard Drive using the Seagate included utility. Every Program of Note that I use, was installed CLEAN (from scratch).

Does that help explain my situation any better? I still don't understand ADS, but I will research further. It's been an awful long time since I took my MCP/MSCE tests and I don't remember ADS. Oh well, maybe, I am forgetting stuff in my old age.


----------



## wuzznuubi

Hercules67 said:


> I knew nothing of ADS (seriously). I am not sure how they are affecting me.
> 
> My restore went like this: I OWN 10 CLEAN COPIES of WINDOWS XP (used to be a system builder). Therefore, I did a CLEAN INSTALL into a brand new HARD DRIVE.
> 
> The only items I restored from backup were the contents of "My Documents" from my Seagate backup Hard Drive using the Seagate included utility. Every Program of Note that I use, was installed CLEAN (from scratch).
> 
> Does that help explain my situation any better? I still don't understand ADS, but I will research further. It's been an awful long time since I took my MCP/MSCE tests and I don't remember ADS. Oh well, maybe, I am forgetting stuff in my old age.


Just suggestin' the simplest route is to uninstall/reinstall pytivo and python. It's not as bad as reinstalling Windows and is the quickest way to solve your problems. Take it step-by-step. If you think you have some preferences you need to save, what are they and in what apps? Believe me, it's just easier to start over when it comes to pytivo and python, same with VideoReDo, especially if you were running VRD beta code.

P.S. I have no idea how to make your TiVo S2 4x3 recordings look good on a 16x9 TV. I only have S3(HD) and S4(Premiere). Just wanted to make sure you were running latest pytivo/python combo to eliminate any guess work.


----------



## Hercules67

To be honest, I don't think I have any preferences that need to be saved. I am only going to save the pyTivo configuration file.

If you think a re-installation will help, I will do it.

As for VideoRedo... I am not running BETA code. I purchased it straight-up.

Finally, for latests pyTivo code, has there been a new release lately?


----------



## gonzotek

Hercules67 said:


> To be honest, I don't think I have any preferences that need to be saved. I am only going to save the pyTivo configuration file.
> 
> If you think a re-installation will help, I will do it.
> 
> As for VideoRedo... I am not running BETA code. I purchased it straight-up.
> 
> Finally, for latests pyTivo code, has there been a new release lately?


Follow the install directions on the wiki:
http://pytivo.sourceforge.net/wiki/index.php/Windows_Install
and I suggest you use the latest commit in the wmcbrine fork:
https://github.com/wmcbrine/pytivo (simply click the zip button near the top of that page).

Your problem of only seeing your files when run from console is most probably a service permission issue, as explained here: http://www.tivocommunity.com/tivo-vb/showthread.php?p=8904300#post8904300


----------



## moyekj

The other common problem for not seeing shares in service mode (aside from what gonzotek posted above) is if you are mapping networked drives to windows volumes. Services cannot see networked drives that way. Instead you need to use UNC path names:
\\server\share\file_path


----------



## gonzotek

^ Good point! Going in my notes for the next time I update the windows install page of the wiki.


----------



## Hercules67

moyekj said:


> The other common problem for not seeing shares in service mode (aside from what gonzotek posted above) is if you are mapping networked drives to windows volumes. Services cannot see networked drives that way. Instead you need to use UNC path names:
> \\server\share\file_path


Right now, all my drives are USB, and none are networked or in the PC. SO, I should NOT have that problem. But every time someone brings this up, I do a double take, because I am not sure if I should worry or not.



This will matter later this year when my NAS is installed, I switch to Windows 7 or Mac OS and have the newest type of TiVo. But that won't happen at least until October.

I got to fix what I got right now.


----------



## lpwcomp

Hercules67 said:


> Right now, all my drives are USB, and none are networked or in the PC. SO, I should NOT have that problem. But every time someone brings this up, I do a double take, because I am not sure if I should worry or not.
> 
> 
> 
> This will matter later this year when my NAS is installed, I switch to Windows 7 or Mac OS and have the newest type of TiVo. But that won't happen at least until October.
> 
> I got to fix what I got right now.


All of your drives are USB? That means they are removable. Is it possible that the service is starting before the drives are fully attached, so that it builds an empty cache? Have you tried stopping and starting the service after everything is up?


----------



## Hercules67

lpwcomp said:


> All of your drives are USB? That means they are removable. Is it possible that the service is starting before the drives are fully attached, so that it builds an empty cache? Have you tried stopping and starting the service after everything is up?


Well.... Interesting thought. Let me see what happens after the reinstall.

I also installed a program USB Drive Letter Manager. Still no sure how it's going to help me....


----------



## moyekj

So a good troubleshooting step is define a pyTivo video share that resides on your internal drive (C: volume) and see if that shows up in service mode. 1st test it out in non service mode to make sure it's working there, then try service mode. If that works then likely the issue is service mode not seeing the external drives.


----------



## Hercules67

moyekj said:


> So a good troubleshooting step is define a pyTivo video share that resides on your internal drive (C: volume) and see if that shows up in service mode. 1st test it out in non service mode to make sure it's working there, then try service mode. If that works then likely the issue is service mode not seeing the external drives.


I have a "My Videos" share under C:\. I had actually won 3 digital movies in a contest a while back, and they are in AVI. They take forever to go from the Hard Drive to the TiVo, but that's why I have that share.

I will troubleshoot with it. Thanks.


----------



## Hercules67

Well, I reinstalled everything (I am now on Python 2.7.5), and the latest *wmcbrine* release.

It did not work.

I am pretty sure I followed all the steps correctly.

I do have a suspicion like some of you have been saying though that it is a communications issue, but I am not sure how to troubleshoot it. Should I turn Windows Firewall OFF next? (The appropriate port UDP 5353 is open of course).

I dunno.

Thanks for the help.


----------



## moyekj

Did you try with a c: volume share?


----------



## Hercules67

moyekj said:


> Did you try with a c: volume share?


I did yes. I even stayed there (on the TiVo side) waiting, until it gave me the message saying it was empty,

At this point, I don't know.


----------



## moyekj

So what's the status after you upgraded pyTivo? Everything is working running using console but not service mode? Post your pyTivo.conf here so we can review it.


----------



## Hercules67

moyekj said:


> So what's the status after you upgraded pyTivo? Everything is working running using console but not service mode? Post your pyTivo.conf here so we can review it.


Correct, if I run it in Console Mode, it seems to run, except it hangs-up on a few files (granted, some of them, might not have been encoded properly, and that's a different issue -- let's put that aside for now).

I have attached the Config File.


----------



## moyekj

I would start with a very simple pyTivo.conf with only 1 video share under c: volume. So assuming that C:\Documents and Settings\Mike\My Documents\My Videos exists and contains some videos rename your existing pyTivo.conf and make a new very simple one to experiment with:


Code:


[Server]
debug = true

[My Videos]
type = video
path = C:\Documents and Settings\Mike\My Documents\My Videos
force_alpha = true

Obviously make sure you shut down pyTivo console and/or service, then put simple pyTivo.conf in place and then re-start.


----------



## Hercules67

moyekj said:


> I would start with a very simple pyTivo.conf with only 1 video share under c: volume. So assuming that C:\Documents and Settings\Mike\My Documents\My Videos exists and contains some videos rename your existing pyTivo.conf and make a new very simple one to experiment with:
> 
> 
> Code:
> 
> 
> [Server]
> debug = true
> 
> [My Videos]
> type = video
> path = C:\Documents and Settings\Mike\My Documents\My Videos
> force_alpha = true
> 
> Obviously make sure you shut down pyTivo console and/or service, then put simple pyTivo.conf in place and then re-start.


Got it.

Trying it right now. Thanks. Will return with results.


----------



## Hercules67

Well, it did not work. Don't know what to try next.


----------



## lpwcomp

Hercules67 said:


> Well, it did not work. Don't know what to try next.


Are you certain that the service is set to run under an Administrator account?


----------



## Hercules67

lpwcomp said:


> Are you certain that the service is set to run under an Administrator account?


Well, that's an excellent question.... Let's take it from the top, shall we:

-- "Mike", my account is a full, Windows XP administrative rights account. I never operate under the PURE Administrator account as I was taught by my MCSE instructor.

-- Now, when I go to: Computer Management, Services and Applications, Services, pytivo, I see the following:

-- In the second tab of pyTivo properties (Local Computer) it says: 
Log on as:
"As Local System Account" is selected .... (I assume that means my account of "Mike".)
Underneath that there is a checkbox for: "Allow service to interact with desktop" which is NOT selected (should it be?)

Does all of that make sense?

Is any of it correct?

Is any of it incorrect?


----------



## moyekj

Hercules67 said:


> Well, that's an excellent question.... Let's take it from the top, shall we:
> 
> -- "Mike", my account is a full, Windows XP administrative rights account. I never operate under the PURE Administrator account as I was taught by my MCSE instructor.
> 
> -- Now, when I go to: Computer Management, Services and Applications, Services, pytivo, I see the following:
> 
> -- In the second tab of pyTivo properties (Local Computer) it says:
> Log on as:
> "As Local System Account" is selected .... (I assume that means my account of "Mike".)
> Underneath that there is a checkbox for: "Allow service to interact with desktop" which is NOT selected (should it be?)
> 
> Does all of that make sense?
> 
> Is any of it correct?
> 
> Is any of it incorrect?


 No, that's not correct - that means you are using the generic system account. From service properties "Log On" tab you should select "This account" and supply the password for the account you normally use (that has Admin permissions).


----------



## Hercules67

moyekj said:


> No, I don't think that's correct. From service properties "Log On" tab you should select "This account" and supply the password for the account you normally use (that has Admin permissions).


Got it. Let me try that then...


----------



## Hercules67

moyekj said:


> No, that's not correct - that means you are using the generic system account. From service properties "Log On" tab you should select "This account" and supply the password for the account you normally use (that has Admin permissions).


Well, that did not seem to work... yet, I am reluctant to call it a failure, because there is one difference I am seeing from before:

-- I still can't see ANY files on the TiVo, just top level shares,

However,

-- Unlike before, I can now connect to Localhost:9032 through the browser of choice (Chrome/Firefox/IE8) and navigate around. I could not do that before without first having run the pyTivo.py file and starting a console window. So, somehow, we have gotten closer to figuring this out.


----------



## Hercules67

Could it have anything to do with TiVo Desktop Settings? Has something in the TiVo software changed possibly? Keep in mind I am only playing with S2 units here.

Thanks again.


----------



## lpwcomp

Hercules67 said:


> Well, that did not seem to work... yet, I am reluctant to call it a failure, because there is one difference I am seeing from before:
> 
> -- I still can't see ANY files on the TiVo, just top level shares,


Share*s*? Plural? Does this mean you are not using the minimal config file?



Hercules67 said:


> However,
> 
> -- Unlike before, I can now connect to Localhost:9032 through the browser of choice (Chrome/Firefox/IE8) and navigate around. I could not do that before without first having run the pyTivo.py file and starting a console window. So, somehow, we have gotten closer to figuring this out.


Can you see the content of the shares there?



Hercules67 said:


> Could it have anything to do with TiVo Desktop Settings? Has something in the TiVo software changed possibly? Keep in mind I am only playing with S2 units here.
> 
> Thanks again.


TD settings shouldn't have anything to do with it.


----------



## moyekj

Using the simple pyTivo.conf and with service running execute following in a browser and post the response you get:


Code:


http://localhost:9032/TiVoConnect?Command=QueryContainer&Container=My%20Videos

It should return XML with information about videos for the "My Videos" share.

If you get nothing substantial returned perhaps also repeat when running pyTivo in console mode and compare the XML response.


----------



## HerronScott

moyekj said:


> No, that's not correct - that means you are using the generic system account. From service properties "Log On" tab you should select "This account" and supply the password for the account you normally use (that has Admin permissions).


LocalSystem has Adminsitrator (and SYSTEM) access to local resources and works fine. Microsoft actually recommends not running services under LocalSystem if the service does not need the extensive rights granted to it through using that account.

From MSDN at Microsoft:

The LocalSystem account is a predefined local account used by the service control manager. This account is not recognized by the security subsystem, so you cannot specify its name in a call to the LookupAccountName function. It has extensive privileges on the local computer, and acts as the computer on the network. Its token includes the NT AUTHORITY\SYSTEM and BUILTIN\Administrators SIDs; these accounts have access to most system objects. The name of the account in all locales is .\LocalSystem. The name, LocalSystem or ComputerName\LocalSystem can also be used. This account does not have a password. If you specify the LocalSystem account in a call to the CreateService or ChangeServiceConfig function, any password information you provide is ignored.

Scott


----------



## Hercules67

lpwcomp said:


> Share*s*? Plural? Does this mean you are not using the minimal config file?
> 
> Can you see the content of the shares there?
> 
> TD settings shouldn't have anything to do with it.


Got it. Will do. I've been playing with both config files interchangeably (both restarting the TiVos and the PC).

I will go back to the min config file.

--- PS (edit): *YES I can see the content of the SHARES in the browser.* I can navigate to any file. I have tried to do a PUSH, but it does NOT work.


----------



## Hercules67

moyekj said:


> Using the simple pyTivo.conf and with service running execute following in a browser and post the response you get:
> 
> 
> Code:
> 
> 
> http://localhost:9032/TiVoConnect?Command=QueryContainer&Container=My%20Videos
> 
> It should return XML with information about videos for the "My Videos" share.
> 
> If you get nothing substantial returned perhaps also repeat when running pyTivo in console mode and compare the XML response.


Got it, would post results as soon as I can. Thanks.


----------



## Hercules67

HerronScott said:


> LocalSystem has Adminsitrator (and SYSTEM) access to local resources and works fine. Microsoft actually recommends not running services under LocalSystem if the service does not need the extensive rights granted to it through using that account.
> 
> From MSDN at Microsoft:
> 
> The LocalSystem account is a predefined local account used by the service control manager. This account is not recognized by the security subsystem, so you cannot specify its name in a call to the LookupAccountName function. It has extensive privileges on the local computer, and acts as the computer on the network. Its token includes the NT AUTHORITY\SYSTEM and BUILTIN\Administrators SIDs; these accounts have access to most system objects. The name of the account in all locales is .\LocalSystem. The name, LocalSystem or ComputerName\LocalSystem can also be used. This account does not have a password. If you specify the LocalSystem account in a call to the CreateService or ChangeServiceConfig function, any password information you provide is ignored.
> 
> Scott


OK, so leave it under "This Account" or "Local System Account". Which one is preferable?


----------



## moyekj

HerronScott said:


> LocalSystem has Adminsitrator (and SYSTEM) access to local resources and works fine. Microsoft actually recommends not running services under LocalSystem if the service does not need the extensive rights granted to it through using that account.
> 
> From MSDN at Microsoft:
> 
> The LocalSystem account is a predefined local account used by the service control manager. This account is not recognized by the security subsystem, so you cannot specify its name in a call to the LookupAccountName function. It has extensive privileges on the local computer, and acts as the computer on the network. Its token includes the NT AUTHORITY\SYSTEM and BUILTIN\Administrators SIDs; these accounts have access to most system objects. The name of the account in all locales is .\LocalSystem. The name, LocalSystem or ComputerName\LocalSystem can also be used. This account does not have a password. If you specify the LocalSystem account in a call to the CreateService or ChangeServiceConfig function, any password information you provide is ignored.
> 
> Scott


 I have a few examples where running using the LocalSystem account doesn't work. VideoRedo COM mode (WScript calls) is one such example. There's been other instances where tasks as part of kmttg in service mode don't run properly using LocalSystem but run fine using the user account, so despite what MS may say I've seen evidence suggesting it's better to use your own account when possible.


----------



## HerronScott

moyekj said:


> I have a few examples where running using the LocalSystem account doesn't work. VideoRedo COM mode (WScript calls) is one such example. There's been other instances where tasks as part of kmttg in service mode don't run properly using LocalSystem but run fine using the user account, so despite what MS may say I've seen evidence suggesting it's better to use your own account when possible.


They do say most system objects. Obviously anything that might depend on specific settings in the user profile is going to need to run under that user account.

Since we were talking about pyTivo in this case though, I haven't had any issues running it under LocalSystem with Windows Server 2003.

Scott


----------



## HerronScott

Hercules67 said:


> OK, so leave it under "This Account" or "Local System Account". Which one is preferable?


I'd leave it running under your user account.

Scott


----------



## Hercules67

moyekj said:


> Using the simple pyTivo.conf and with service running execute following in a browser and post the response you get:
> 
> 
> Code:
> 
> 
> http://localhost:9032/TiVoConnect?Command=QueryContainer&Container=My%20Videos
> 
> It should return XML with information about videos for the "My Videos" share.
> 
> If you get nothing substantial returned perhaps also repeat when running pyTivo in console mode and compare the XML response.


With min config file here are the results:



Code:


DEBUG:pyTivo.video.transcode:aFreq=48000; aCh=2; container=mov; kbps=834; mapAudio=[('0:1', '(und) aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 118 kb/s\r')]; vHeight=404; vCodec=h264; Supported=True; aKbps=118; par=None; millisecs=2608300; vFps=23.98; par2=None; par1=None; mapVideo=0:0; vWidth=720; dar1=None; rawmeta={'major_brand': [u'isom'], 'creation_time': [u'2012-10-18 17:29:59'], 'compatible_brands': [u'isom'], 'minor_version': [u'1']}; aCodec=aac
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
INFO:pyTivo:192.168.1.20 [01/Jun/2013 11:11:25] "GET /TiVoConnect?Command=QueryContainer&Container=Mike's%20Videos&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FMike%2527s%2520Videos%2FPerson%2520of%2520Interest%2520-%25202x03%2520-%2520Masquerade.mp4&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
INFO:pyTivo:192.168.1.20 [01/Jun/2013 11:11:25] "GET /TiVoConnect?Command=TVBusQuery&Container=Mike's%20Videos&File=%2FPerson%20of%20Interest%20-%202x03%20-%20Masquerade.mp4 HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
INFO:pyTivo:192.168.1.20 [01/Jun/2013 11:11:29] "GET /Mike's%20Videos/Person%20of%20Interest%20-%202x03%20-%20Masquerade.mp4?Format=video%2Fx-tivo-mpeg HTTP/1.1" 206 -
INFO:pyTivo.video.video:[01/Jun/2013 11:11:29] Start sending "C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4" to Livingroom1
DEBUG:pyTivo.video.video:"C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4" is not tivo compatible
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:tsn: ************
DEBUG:pyTivo.video.transcode:aspect169: False
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4 vCodec=h264 vWidth=720 vHeight=404 vFps=23.98 millisecs=2608300 TIVO_HEIGHT=480 TIVO_WIDTH=544
DEBUG:pyTivo.video.transcode:rheight=101 rwidth=180
DEBUG:pyTivo.video.transcode:par2=1.000 ratio=178.218 mult4by3=1.176
DEBUG:pyTivo.video.transcode:File is wider than 4:3 padding top and bottom
-aspect 16:9 -s 544x478 -padtop 0 -padbottom 2
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:set first detected audio stream by default: 0:1
DEBUG:pyTivo.video.transcode:selected audio stream: 0:1
DEBUG:pyTivo.video.transcode:transcoding to tivo model 649 using ffmpeg command:
DEBUG:pyTivo.video.transcode:C:\pyTivo\bin\ffmpeg.exe -i C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4 -vcodec mpeg2video -r 29.97 -b 4096k -maxrate 30000k -bufsize 1024k -aspect 16:9 -s 544x478 -padtop 0 -padbottom 2 -ab 448k -ar 48000 -acodec ac3 -copyts -map 0:0 -map 0:1 -f vob -
INFO:pyTivo.video.video:[01/Jun/2013 11:11:29] Done sending "C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4" to Livingroom1, 9216 bytes, 0.25 Mb/s
INFO:pyTivo:192.168.1.20 [01/Jun/2013 11:11:33] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! C:\Documents and Settings\Mike\My Documents\My Videos\Person of Interest - 2x03 - Masquerade.mp4
INFO:pyTivo:192.168.1.20 [01/Jun/2013 11:11:33] "GET /TiVoConnect?Command=QueryContainer&Container=Mike's%20Videos&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FMike%2527s%2520Videos%2FPerson%2520of%2520Interest%2520-%25202x03%2520-%2520Masquerade.mp4&AnchorOffset=-7&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -

Of course it does not transcode and I end-up with a file of 0.00KB on the TiVo. This: "CACHE HIT" I have been seeing a lot in my DEBUG files. And yes, the pyTiVo console window has to be open again for it to run.

Could the version of ffmpeg have something to do with it? I am just asking, I don't know.


----------



## moyekj

I'm more interested in the XML response from the browser when you try that URL, not the pyTivo log. i.e. Post the browser response to that URL. Certainly looks like from the above that pyTivo is finding videos in that share though. Was that running pyTivo in console mode or service mode?

To be clear what I'm asking is:
1. Use simple pyTivo.conf
2. Start pyTivo in service mode (setup to use your account)
3. Try the QueryContainer URL above and post the resulting XML contents in the browser


----------



## Hercules67

moyekj said:


> I'm more interested in the XML response from the browser when you try that URL, not the pyTivo log. i.e. Post the browser response to that URL. Certainly looks like from the above that pyTivo is finding videos in that share though. Was that running pyTivo in console mode or service mode?
> 
> To be clear what I'm asking is:
> 1. Use simple pyTivo.conf
> 2. Start pyTivo in service mode (setup to use your account)
> 3. Try the QueryContainer URL above and post the resulting XML contents in the browser


1. and 2. are ready, but I am not sure how I am going to get you #3 if my browser comes back with:



Code:


Unsupported Command

Query:

Container: ['My Videos']
Command: ['QueryContainer']

when I enter it. Should I change the "%" to something else in the query? <--- Disregard that, I figured it out.... D'uh.


----------



## Hercules67

As a quick follow-up, I am getting a "404" error in the console window:



Code:


INFO:pyTivo:System: Windows-XP-5.1.2600-SP3
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:Livingroom1
INFO:pyTivo.beacon:Bedroom1
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: Mike's Videos
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.1.20 [01/Jun/2013 11:51:24] "GET /TiVoConnect?Command=QueryC
ontainer&Container=Mike's%20Videos&SortOrder=!CaptureDate&ItemCount=8&Filter=x-t
ivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%
2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.10 [01/Jun/2013 11:52:18] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.20 [01/Jun/2013 11:52:18] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:127.0.0.1 [01/Jun/2013 11:57:08] "GET /TiVoConnect?Command=QueryCont
ainer&Container=My%20Videos HTTP/1.1" 404 -
INFO:pyTivo:127.0.0.1 [01/Jun/2013 11:58:42] "GET /TiVoConnect?Command=Settings&
Container=Settings HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [01/Jun/2013 11:58:54] "GET /TiVoConnect?Command=QueryCont
ainer&Container=MyVideos HTTP/1.1" 404 -
INFO:pyTivo:127.0.0.1 [01/Jun/2013 11:59:01] "GET /TiVoConnect?Command=QueryCont
ainer&Container=MyVideos HTTP/1.1" 404 -
INFO:pyTivo:127.0.0.1 [01/Jun/2013 11:59:32] "GET / HTTP/1.1" 200 -

That's all I can give you....


----------



## moyekj

It looks like in your Simple pyTivo.conf you have name of the video share as "Mike's Videos" instead of "My Videos" in which case you need to use the following URL:


Code:


http://localhost:9032/TiVoConnect?Command=QueryContainer&Container=Mike%27s%20Videos


----------



## lpwcomp

Hercules67 said:


> Could the version of ffmpeg have something to do with it? I am just asking, I don't know.


Funny you should mention that as I was going to ask you if you have the latest version of ffmpeg installed.


----------



## Hercules67

lpwcomp said:


> Funny you should mention that as I was going to ask you if you have the latest version of ffmpeg installed.


Yes, the latest from here:

http://ffmpeg.zeranoe.com/builds/win32/static/ffmpeg-latest-win32-static.7z


----------



## Hercules67

moyekj said:


> It looks like in your Simple pyTivo.conf you have name of the video share as "Mike's Videos" instead of "My Videos" in which case you need to use the following URL:
> 
> 
> Code:
> 
> 
> http://localhost:9032/TiVoConnect?Command=QueryContainer&Container=Mike%27s%20Videos


I see your point, MyVideos, is simpler than Mike's Video.... (a lot is lost in the translation in my head -- sorry).

Here's what XML returned:



Code:


This XML file does not appear to have any style information associated with it. The document tree is shown below.
<TiVoContainer>
<ItemStart>0</ItemStart>
<ItemCount>23</ItemCount>
<Details>
<Title>Mike's Videos</Title>
<ContentType>x-tivo-container/folder</ContentType>
<SourceFormat>x-tivo-container/folder</SourceFormat>
<TotalItems>23</TotalItems>
<UniqueId>-718818385</UniqueId>
</Details>
<Item>
<Details>
<Title>20130511_F1_R5.SD.hannibal</Title>
<ContentType>x-tivo-container/tivo-videos</ContentType>
<SourceFormat>x-tivo-container/folder</SourceFormat>
<UniqueId>552153150</UniqueId>
<TotalItems>2</TotalItems>
<LastCaptureDate>0x5190a4df</LastCaptureDate>
</Details>
<Links>
<Content>
<Url>
/TiVoConnect?Command=QueryContainer&Container=Mike%27s%20Videos/20130511_F1_R5.SD.hannibal
</Url>
<ContentType>x-tivo-container/folder</ContentType>
</Content>
</Links>
</Item>
<Item>
<Details>
<Title>Athene's Theory of Everything</Title>
<ContentType>x-tivo-container/tivo-videos</ContentType>
<SourceFormat>x-tivo-container/folder</SourceFormat>
<UniqueId>1495180093</UniqueId>
<TotalItems>1</TotalItems>
<LastCaptureDate>0x518849d4</LastCaptureDate>
</Details>
<Links>
<Content>
<Url>
/TiVoConnect?Command=QueryContainer&Container=Mike%27s%20Videos/Athene%27s%20Theory%20of%20Everything
</Url>
<ContentType>x-tivo-container/folder</ContentType>
</Content>
</Links>
</Item>
<Item>
<Details>
<Title>DivX Movies</Title>
<ContentType>x-tivo-container/tivo-videos</ContentType>
<SourceFormat>x-tivo-container/folder</SourceFormat>
<UniqueId>-541144560</UniqueId>
<TotalItems>4</TotalItems>
<LastCaptureDate>0x519a8c65</LastCaptureDate>
</Details>
<Links>
<Content>
<Url>
/TiVoConnect?Command=QueryContainer&Container=Mike%27s%20Videos/DivX%20Movies
</Url>
<ContentType>x-tivo-container/folder</ContentType>
</Content>
</Links>
</Item>
<Item>
<Details>
<Title>F1 FP2 MCGP</Title>
<ContentType>x-tivo-container/tivo-videos</ContentType>
<SourceFormat>x-tivo-container/folder</SourceFormat>
<UniqueId>-1628273173</UniqueId>
<TotalItems>2</TotalItems>
<LastCaptureDate>0x519fbc7e</LastCaptureDate>
</Details>
<Links>
<Content>
<Url>
/TiVoConnect?Command=QueryContainer&Container=Mike%27s%20Videos/F1%20FP2%20MCGP
</Url>
<ContentType>x-tivo-container/folder</ContentType>
</Content>
</Links>
</Item>
<Item>
<Details>
<Title>F1R5FP1</Title>
<ContentType>x-tivo-container/tivo-videos</ContentType>
<SourceFormat>x-tivo-container/folder</SourceFormat>
<UniqueId>-1903073722</UniqueId>
<TotalItems>1</TotalItems>
<LastCaptureDate>0x518d96b2</LastCaptureDate>
</Details>
<Links>
<Content>
<Url>
/TiVoConnect?Command=QueryContainer&Container=Mike%27s%20Videos/F1R5FP1
</Url>
<ContentType>x-tivo-container/folder</ContentType>
</Content>
</Links>
</Item>
<Item>
<Details>
<Title>F1R5FP2</Title>
<ContentType>x-tivo-container/tivo-videos</ContentType>
<SourceFormat>x-tivo-container/folder</SourceFormat>
<UniqueId>395851772</UniqueId>
<TotalItems>1</TotalItems>
<LastCaptureDate>0x518d918d</LastCaptureDate>
</Details>
<Links>
<Content>
<Url>
/TiVoConnect?Command=QueryContainer&Container=Mike%27s%20Videos/F1R5FP2
</Url>
<ContentType>x-tivo-container/folder</ContentType>
</Content>
</Links>
</Item>
<Item>
<Details>
<Title>
Game of Thrones - Season 1 Complete HDTVRip 720p x264 AAC-Ameet6233
</Title>
<ContentType>x-tivo-container/tivo-videos</ContentType>
<SourceFormat>x-tivo-container/folder</SourceFormat>
<UniqueId>1173198839</UniqueId>
<TotalItems>12</TotalItems>
<LastCaptureDate>0x51884eb2</LastCaptureDate>
</Details>
<Links>
<Content>
<Url>
/TiVoConnect?Command=QueryContainer&Container=Mike%27s%20Videos/Game%20of%20Thrones%20-%20Season%201%20Complete%20HDTVRip%20720p%20x264%20AAC-Ameet6233
</Url>
<ContentType>x-tivo-container/folder</ContentType>
</Content>
</Links>
</Item>
<Item>
<Details>
<Title>
Unsealed.Alien.Files.S01E16.Life.on.Mars.HDTV.x264-tNe
</Title>
<ContentType>x-tivo-container/tivo-videos</ContentType>
<SourceFormat>x-tivo-container/folder</SourceFormat>
<UniqueId>2060515184</UniqueId>
<TotalItems>1</TotalItems>
<LastCaptureDate>0x519ecb40</LastCaptureDate>
</Details>
<Links>
<Content>
<Url>
/TiVoConnect?Command=QueryContainer&Container=Mike%27s%20Videos/Unsealed.Alien.Files.S01E16.Life.on.Mars.HDTV.x264-tNe
</Url>
<ContentType>x-tivo-container/folder</ContentType>
</Content>
</Links>
</Item>
<Item>
<Details>
<Title>
Unsealed.Conspiracy.Files.S01E16.Time.Travel.HDTV.x264-tNe
</Title>
<ContentType>x-tivo-container/tivo-videos</ContentType>
<SourceFormat>x-tivo-container/folder</SourceFormat>
<UniqueId>-1660383160</UniqueId>
<TotalItems>1</TotalItems>
<LastCaptureDate>0x519ed9ce</LastCaptureDate>
</Details>
<Links>
<Content>
<Url>
/TiVoConnect?Command=QueryContainer&Container=Mike%27s%20Videos/Unsealed.Conspiracy.Files.S01E16.Time.Travel.HDTV.x264-tNe
</Url>
<ContentType>x-tivo-container/folder</ContentType>
</Content>
</Links>
</Item>
<Item>
<Details>
<Title>YouTube Videos</Title>
<ContentType>x-tivo-container/tivo-videos</ContentType>
<SourceFormat>x-tivo-container/folder</SourceFormat>
<UniqueId>-1185570450</UniqueId>
<TotalItems>15</TotalItems>
<LastCaptureDate>0x51885345</LastCaptureDate>
</Details>
<Links>
<Content>
<Url>
/TiVoConnect?Command=QueryContainer&Container=Mike%27s%20Videos/YouTube%20Videos
</Url>
<ContentType>x-tivo-container/folder</ContentType>
</Content>
</Links>
</Item>
<Item>
<Details>
<Title>
formula 1 2013 monaco grand prix practice 1 sky 720p
</Title>
<ContentType>x-tivo-container/tivo-videos</ContentType>
<SourceFormat>x-tivo-container/folder</SourceFormat>
<UniqueId>1235664525</UniqueId>
<TotalItems>1</TotalItems>
<LastCaptureDate>0x519e8b0a</LastCaptureDate>
</Details>
<Links>
<Content>
<Url>
/TiVoConnect?Command=QueryContainer&Container=Mike%27s%20Videos/formula%201%202013%20monaco%20grand%20prix%20practice%201%20sky%20720p
</Url>
<ContentType>x-tivo-container/folder</ContentType>
</Content>
</Links>
</Item>
<Item>
<Details>
<Title>Aliens on Earth - BBC Documentary 2013</Title>
<ContentType>video/x-tivo-mpeg</ContentType>
<SourceFormat>video/x-tivo-mpeg</SourceFormat>
<SourceSize/>
<Duration/>
<Description/>
<SourceChannel>0</SourceChannel>
<SourceStation/>
<SeriesId/>
<ShowingBits>0</ShowingBits>
<CaptureDate>0x51a6e459</CaptureDate>
</Details>
<Links>
<Content>
<ContentType>video/x-tivo-mpeg</ContentType>
<Url>
/Mike%27s%20Videos/Aliens%20on%20Earth%20-%20BBC%20Documentary%202013.mp4
</Url>
</Content>
<CustomIcon>
<ContentType>image/*</ContentType>
<AcceptsParams>No</AcceptsParams>
<Url>urn:tivo:image:save-until-i-delete-recording</Url>
</CustomIcon>
<TiVoVideoDetails>
<ContentType>text/xml</ContentType>
<AcceptsParams>No</AcceptsParams>
<Url>
/TiVoConnect?Command=TVBusQuery&Container=Mike%27s%20Videos&File=/Aliens%20on%20Earth%20-%20BBC%20Documentary%202013.mp4
</Url>
</TiVoVideoDetails>
</Links>
</Item>
<Item>
<Details>
<Title>Eurovision.Song.Contest.2013.Final.HDTV.x264-W4F</Title>
<ContentType>video/x-tivo-mpeg</ContentType>
<SourceFormat>video/x-tivo-mpeg</SourceFormat>
<SourceSize/>
<Duration/>
<Description/>
<SourceChannel>0</SourceChannel>
<SourceStation/>
<SeriesId/>
<ShowingBits>0</ShowingBits>
<CaptureDate>0x519d1681</CaptureDate>
</Details>
<Links>
<Content>
<ContentType>video/x-tivo-mpeg</ContentType>
<Url>
/Mike%27s%20Videos/Eurovision.Song.Contest.2013.Final.HDTV.x264-W4F.mp4
</Url>
</Content>
<CustomIcon>
<ContentType>image/*</ContentType>
<AcceptsParams>No</AcceptsParams>
<Url>urn:tivo:image:save-until-i-delete-recording</Url>
</CustomIcon>
<TiVoVideoDetails>
<ContentType>text/xml</ContentType>
<AcceptsParams>No</AcceptsParams>
<Url>
/TiVoConnect?Command=TVBusQuery&Container=Mike%27s%20Videos&File=/Eurovision.Song.Contest.2013.Final.HDTV.x264-W4F.mp4
</Url>
</TiVoVideoDetails>
</Links>
</Item>
<Item>
<Details>
<Title>Falling Skies - 1x06 - Sanctuary (1)</Title>
<ContentType>video/x-tivo-mpeg</ContentType>
<SourceFormat>video/x-tivo-mpeg</SourceFormat>
<SourceSize/>
<Duration/>
<Description/>
<SourceChannel>0</SourceChannel>
<SourceStation/>
<SeriesId/>
<ShowingBits>0</ShowingBits>
<CaptureDate>0x519ab4f2</CaptureDate>
</Details>
<Links>
<Content>
<ContentType>video/x-tivo-mpeg</ContentType>
<Url>
/Mike%27s%20Videos/Falling%20Skies%20-%201x06%20-%20Sanctuary%20%281%29.mkv
</Url>
</Content>
<CustomIcon>
<ContentType>image/*</ContentType>
<AcceptsParams>No</AcceptsParams>
<Url>urn:tivo:image:save-until-i-delete-recording</Url>
</CustomIcon>
<TiVoVideoDetails>
<ContentType>text/xml</ContentType>
<AcceptsParams>No</AcceptsParams>
<Url>
/TiVoConnect?Command=TVBusQuery&Container=Mike%27s%20Videos&File=/Falling%20Skies%20-%201x06%20-%20Sanctuary%20%281%29.mkv
</Url>
</TiVoVideoDetails>
</Links>
</Item>
<Item>
<Details>
<Title>Person of Interest - 2x03 - Masquerade</Title>
<ContentType>video/x-tivo-mpeg</ContentType>
<SourceFormat>video/x-tivo-mpeg</SourceFormat>
<SourceSize/>
<Duration/>
<Description/>
<SourceChannel>0</SourceChannel>
<SourceStation/>
<SeriesId/>
<ShowingBits>0</ShowingBits>
<CaptureDate>0x51a5ab59</CaptureDate>
</Details>
<Links>
<Content>
<ContentType>video/x-tivo-mpeg</ContentType>
<Url>
/Mike%27s%20Videos/Person%20of%20Interest%20-%202x03%20-%20Masquerade.mp4
</Url>
</Content>
<CustomIcon>
<ContentType>image/*</ContentType>
<AcceptsParams>No</AcceptsParams>
<Url>urn:tivo:image:save-until-i-delete-recording</Url>
</CustomIcon>
<TiVoVideoDetails>
<ContentType>text/xml</ContentType>
<AcceptsParams>No</AcceptsParams>
<Url>
/TiVoConnect?Command=TVBusQuery&Container=Mike%27s%20Videos&File=/Person%20of%20Interest%20-%202x03%20-%20Masquerade.mp4
</Url>
</TiVoVideoDetails>
</Links>
</Item>
<Item>
<Details>
<Title>Samurai7-26</Title>
<ContentType>video/x-tivo-mpeg</ContentType>
<SourceFormat>video/x-tivo-mpeg</SourceFormat>
<SourceSize/>
<Duration/>
<Description/>
<SourceChannel>0</SourceChannel>
<SourceStation/>
<SeriesId/>
<ShowingBits>0</ShowingBits>
<CaptureDate>0x42f2ecbe</CaptureDate>
</Details>
<Links>
<Content>
<ContentType>video/x-tivo-mpeg</ContentType>
<Url>/Mike%27s%20Videos/Samurai7-26.avi</Url>
</Content>
<CustomIcon>
<ContentType>image/*</ContentType>
<AcceptsParams>No</AcceptsParams>
<Url>urn:tivo:image:save-until-i-delete-recording</Url>
</CustomIcon>
<TiVoVideoDetails>
<ContentType>text/xml</ContentType>
<AcceptsParams>No</AcceptsParams>
<Url>
/TiVoConnect?Command=TVBusQuery&Container=Mike%27s%20Videos&File=/Samurai7-26.avi
</Url>
</TiVoVideoDetails>
</Links>
</Item>
<Item>
<Details>
<Title>The.F1.Show.17th.May.2013.SkyF1.720p.x264</Title>
<ContentType>video/x-tivo-mpeg</ContentType>
<SourceFormat>video/x-tivo-mpeg</SourceFormat>
<SourceSize/>
<Duration/>
<Description/>
<SourceChannel>0</SourceChannel>
<SourceStation/>
<SeriesId/>
<ShowingBits>0</ShowingBits>
<CaptureDate>0x519e71a4</CaptureDate>
</Details>
<Links>
<Content>
<ContentType>video/x-tivo-mpeg</ContentType>
<Url>
/Mike%27s%20Videos/The.F1.Show.17th.May.2013.SkyF1.720p.x264.mkv
</Url>
</Content>
<CustomIcon>
<ContentType>image/*</ContentType>
<AcceptsParams>No</AcceptsParams>
<Url>urn:tivo:image:save-until-i-delete-recording</Url>
</CustomIcon>
<TiVoVideoDetails>
<ContentType>text/xml</ContentType>
<AcceptsParams>No</AcceptsParams>
<Url>
/TiVoConnect?Command=TVBusQuery&Container=Mike%27s%20Videos&File=/The.F1.Show.17th.May.2013.SkyF1.720p.x264.mkv
</Url>
</TiVoVideoDetails>
</Links>
</Item>
<Item>
<Details>
<Title>
UNGRIP (From the creators of Esoteric Agenda and KYMATICA) - YouTube
</Title>
<ContentType>video/x-tivo-mpeg</ContentType>
<SourceFormat>video/x-tivo-mpeg</SourceFormat>
<SourceSize/>
<Duration/>
<Description/>
<SourceChannel>0</SourceChannel>
<SourceStation/>
<SeriesId/>
<ShowingBits>0</ShowingBits>
<CaptureDate>0x503351e1</CaptureDate>
</Details>
<Links>
<Content>
<ContentType>video/x-tivo-mpeg</ContentType>
<Url>
/Mike%27s%20Videos/UNGRIP%20%28From%20the%20creators%20of%20Esoteric%20Agenda%20and%20KYMATICA%29%20-%20YouTube.avi
</Url>
</Content>
<CustomIcon>
<ContentType>image/*</ContentType>
<AcceptsParams>No</AcceptsParams>
<Url>urn:tivo:image:save-until-i-delete-recording</Url>
</CustomIcon>
<TiVoVideoDetails>
<ContentType>text/xml</ContentType>
<AcceptsParams>No</AcceptsParams>
<Url>
/TiVoConnect?Command=TVBusQuery&Container=Mike%27s%20Videos&File=/UNGRIP%20%28From%20the%20creators%20of%20Esoteric%20Agenda%20and%20KYMATICA%29%20-%20YouTube.avi
</Url>
</TiVoVideoDetails>
</Links>
</Item>
<Item>
<Details>
<Title>
Undeniable UFO Documentary- UfoDisclosure2012 Must See
</Title>
<ContentType>video/x-tivo-mpeg</ContentType>
<SourceFormat>video/x-tivo-mpeg</SourceFormat>
<SourceSize/>
<Duration/>
<Description/>
<SourceChannel>0</SourceChannel>
<SourceStation/>
<SeriesId/>
<ShowingBits>0</ShowingBits>
<CaptureDate>0x51a6e2c9</CaptureDate>
</Details>
<Links>
<Content>
<ContentType>video/x-tivo-mpeg</ContentType>
<Url>
/Mike%27s%20Videos/Undeniable%20UFO%20Documentary-%20UfoDisclosure2012%20Must%20See.mp4
</Url>
</Content>
<CustomIcon>
<ContentType>image/*</ContentType>
<AcceptsParams>No</AcceptsParams>
<Url>urn:tivo:image:save-until-i-delete-recording</Url>
</CustomIcon>
<TiVoVideoDetails>
<ContentType>text/xml</ContentType>
<AcceptsParams>No</AcceptsParams>
<Url>
/TiVoConnect?Command=TVBusQuery&Container=Mike%27s%20Videos&File=/Undeniable%20UFO%20Documentary-%20UfoDisclosure2012%20Must%20See.mp4
</Url>
</TiVoVideoDetails>
</Links>
</Item>
<Item>
<Details>
<Title>
Unsealed.Alien.Files.S01E01.Alien.Encyclopedia.HDTV.x264-tNe
</Title>
<ContentType>video/x-tivo-mpeg</ContentType>
<SourceFormat>video/x-tivo-mpeg</SourceFormat>
<SourceSize/>
<Duration/>
<Description/>
<SourceChannel>0</SourceChannel>
<SourceStation/>
<SeriesId/>
<ShowingBits>0</ShowingBits>
<CaptureDate>0x51a62895</CaptureDate>
</Details>
<Links>
<Content>
<ContentType>video/x-tivo-mpeg</ContentType>
<Url>
/Mike%27s%20Videos/Unsealed.Alien.Files.S01E01.Alien.Encyclopedia.HDTV.x264-tNe.mp4
</Url>
</Content>
<CustomIcon>
<ContentType>image/*</ContentType>
<AcceptsParams>No</AcceptsParams>
<Url>urn:tivo:image:save-until-i-delete-recording</Url>
</CustomIcon>
<TiVoVideoDetails>
<ContentType>text/xml</ContentType>
<AcceptsParams>No</AcceptsParams>
<Url>
/TiVoConnect?Command=TVBusQuery&Container=Mike%27s%20Videos&File=/Unsealed.Alien.Files.S01E01.Alien.Encyclopedia.HDTV.x264-tNe.mp4
</Url>
</TiVoVideoDetails>
</Links>
</Item>
<Item>
<Details>
<Title>
Unsealed.Conspiracy.Files.S01E15.Americas.Alien.War.HDTV.x264-tNe
</Title>
<ContentType>video/x-tivo-mpeg</ContentType>
<SourceFormat>video/x-tivo-mpeg</SourceFormat>
<SourceSize/>
<Duration/>
<Description/>
<SourceChannel>0</SourceChannel>
<SourceStation/>
<SeriesId/>
<ShowingBits>0</ShowingBits>
<CaptureDate>0x51a61edb</CaptureDate>
</Details>
<Links>
<Content>
<ContentType>video/x-tivo-mpeg</ContentType>
<Url>
/Mike%27s%20Videos/Unsealed.Conspiracy.Files.S01E15.Americas.Alien.War.HDTV.x264-tNe.mp4
</Url>
</Content>
<CustomIcon>
<ContentType>image/*</ContentType>
<AcceptsParams>No</AcceptsParams>
<Url>urn:tivo:image:save-until-i-delete-recording</Url>
</CustomIcon>
<TiVoVideoDetails>
<ContentType>text/xml</ContentType>
<AcceptsParams>No</AcceptsParams>
<Url>
/TiVoConnect?Command=TVBusQuery&Container=Mike%27s%20Videos&File=/Unsealed.Conspiracy.Files.S01E15.Americas.Alien.War.HDTV.x264-tNe.mp4
</Url>
</TiVoVideoDetails>
</Links>
</Item>
<Item>
<Details>
<Title>Untitled</Title>
<ContentType>video/x-tivo-mpeg</ContentType>
<SourceFormat>video/x-tivo-mpeg</SourceFormat>
<SourceSize/>
<Duration/>
<Description/>
<SourceChannel>0</SourceChannel>
<SourceStation/>
<SeriesId/>
<ShowingBits>0</ShowingBits>
<CaptureDate>0x4a831330</CaptureDate>
</Details>
<Links>
<Content>
<ContentType>video/x-tivo-mpeg</ContentType>
<Url>/Mike%27s%20Videos/WhatisThat.wmv</Url>
</Content>
<CustomIcon>
<ContentType>image/*</ContentType>
<AcceptsParams>No</AcceptsParams>
<Url>urn:tivo:image:save-until-i-delete-recording</Url>
</CustomIcon>
<TiVoVideoDetails>
<ContentType>text/xml</ContentType>
<AcceptsParams>No</AcceptsParams>
<Url>
/TiVoConnect?Command=TVBusQuery&Container=Mike%27s%20Videos&File=/WhatisThat.wmv
</Url>
</TiVoVideoDetails>
</Links>
</Item>
<Item>
<Details>
<Title>demographic_problem</Title>
<ContentType>video/x-tivo-mpeg</ContentType>
<SourceFormat>video/x-tivo-mpeg</SourceFormat>
<SourceSize/>
<Duration/>
<Description/>
<SourceChannel>0</SourceChannel>
<SourceStation/>
<SeriesId/>
<ShowingBits>0</ShowingBits>
<CaptureDate>0x4c27c225</CaptureDate>
</Details>
<Links>
<Content>
<ContentType>video/x-tivo-mpeg</ContentType>
<Url>/Mike%27s%20Videos/demographic_problem.wmv</Url>
</Content>
<CustomIcon>
<ContentType>image/*</ContentType>
<AcceptsParams>No</AcceptsParams>
<Url>urn:tivo:image:save-until-i-delete-recording</Url>
</CustomIcon>
<TiVoVideoDetails>
<ContentType>text/xml</ContentType>
<AcceptsParams>No</AcceptsParams>
<Url>
/TiVoConnect?Command=TVBusQuery&Container=Mike%27s%20Videos&File=/demographic_problem.wmv
</Url>
</TiVoVideoDetails>
</Links>
</Item>
</TiVoContainer>


----------



## moyekj

That XML looks good since it has info on various files in that share and shows that pyTivo is running fine (and I'm assuming you ran that with pyTivo in service mode). The TiVos should make same kind of queries to get list of videos so you should at least be seeing the list of videos from your TiVos. Actual transfers are a different story, but you should at least be seeing the list of available videos when viewing from your TiVo(s).


----------



## kdmorse

I've only recently started using pyTivo (I know, a wee bit late to the party), running in transport stream mode, and I'm very, very, happy with the results.

There's only one hiccup, and I assume it's on the Tivo side, but I thought I'd ask just to be sure. Basically, if I start watching the show as I'm transferring it, I lose the last 15 seconds or so. (Even though it finished transferring 20 minutes ago). It stalls near the end telling me it's waiting to get more of the show.

If the transfer was completed at the time I started watching it, I don't have the problem.

As I said, I assume it's a Tivo bug, since pyTivo is long done with transfer by the time I get to the end of the show. But I thought I'd ask to see if there was anything I could do about it.


----------



## Hercules67

moyekj said:


> That XML looks good since it has info on various files in that share and shows that pyTivo is running fine (and I'm assuming you ran that with pyTivo in service mode). The TiVos should make same kind of queries to get list of videos so you should at least be seeing the list of videos from your TiVos. Actual transfers are a different story, but you should at least be seeing the list of available videos when viewing from your TiVo(s).


That's the problem.... Somewhere along the way, I am not getting the list of available videos...


----------



## wmcbrine

kdmorse said:


> ... transport stream mode ... Basically, if I start watching the show as I'm transferring it, I lose the last 15 seconds or so.


Yeah, that's one of the reasons I still consider transport stream mode as experimental.


----------



## wuzznuubi

Hercules67 said:


> That's the problem.... Somewhere along the way, I am not getting the list of available videos...


Start simple. Put one or two .TiVo files downloaded from your S2 in the share directory and see if it sees them. Also try a mpg (mpeg2) if you have it. You may have video files that are incompatable with your S2 or the version of ffmpeg your using is too old, or you're not pointing to your ffmpeg.exe.

What version of ffmpeg are you using with pytivo and do you have the full path with filename set in pyTivo.conf for ffmpeg? i.e. ffmpeg = C:\PyTiVo\bin\ffmpeg.exe

Try this with the recommended simple conf file -> http://www.tivocommunity.com/tivo-vb/showthread.php?p=9682394, but make sure to include the full path to your ffmpeg.exe.


Code:


[Server]
debug = true
ffmpeg = C:\PyTiVo\bin\ffmpeg.exe

[My Videos]
type = video
path = C:\Documents and Settings\Mike\My Documents\My Videos
force_alpha = true

I would also recommend moving your share directory out of your user space and into something like C:\TiVoVIDS or U:\Videos, etc. Just don't put them under your user directory in Windows. This should eliminate permission problems accessing them while running PyTiVo as a service under Windows.


----------



## moyekj

wuzznuubi said:


> Start simple. Put one or two .TiVo files downloaded from your S2 in the share directory and see if it sees them. Also try a mpg (mpeg2) if you have it. You may have video files that are incompatable with your S2 or the version of ffmpeg your using is too old, or you're not pointing to your ffmpeg.exe.
> 
> What version of ffmpeg are you using with pytivo and do you have the full path with filename set in pyTivo.conf for ffmpeg? i.e. ffmpeg = C:\PyTiVo\bin\ffmpeg.exe
> 
> Try this with the recommended simple conf file -> http://www.tivocommunity.com/tivo-vb/showthread.php?p=9682394, but make sure to include the full path to your ffmpeg.exe.
> 
> 
> Code:
> 
> 
> [Server]
> debug = true
> ffmpeg = C:\PyTiVo\bin\ffmpeg.exe
> 
> [My Videos]
> type = video
> path = C:\Documents and Settings\Mike\My Documents\My Videos
> force_alpha = true
> 
> I would also recommend moving your share directory out of your user space and into something like C:\TiVoVIDS or U:\Videos, etc. Just don't put them under your user directory in Windows. This should eliminate permission problems accessing them while running PyTiVo as a service under Windows.


 I agree. Perhaps because of ffmpeg issues all non .TiVo or .mpg videos aren't being listed. If you add .mpg or .TiVo files to a share you should be able to see them.


----------



## Hercules67

wuzznuubi said:


> Start simple. Put one or two .TiVo files downloaded from your S2 in the share directory and see if it sees them. Also try a mpg (mpeg2) if you have it. You may have video files that are incompatable with your S2 or the version of ffmpeg your using is too old, or you're not pointing to your ffmpeg.exe.
> 
> What version of ffmpeg are you using with pytivo and do you have the full path with filename set in pyTivo.conf for ffmpeg? i.e. ffmpeg = C:\PyTiVo\bin\ffmpeg.exe
> 
> Try this with the recommended simple conf file -> http://www.tivocommunity.com/tivo-vb/showthread.php?p=9682394, but make sure to include the full path to your ffmpeg.exe.
> 
> 
> Code:
> 
> 
> [Server]
> debug = true
> ffmpeg = C:\PyTiVo\bin\ffmpeg.exe
> 
> [My Videos]
> type = video
> path = C:\Documents and Settings\Mike\My Documents\My Videos
> force_alpha = true
> 
> I would also recommend moving your share directory out of your user space and into something like C:\TiVoVIDS or U:\Videos, etc. Just don't put them under your user directory in Windows. This should eliminate permission problems accessing them while running PyTiVo as a service under Windows.


Well, half of my problems went away.

I went to a much older version of ffmpeg and everything is downloading and transcoding fine. SO, I no longer have any problems transcoding any videos, including the ones I transcoded. I know the newest ffmpeg is for HD videos and such, but for me it was crap (any ffmpeg files from March until now that I tried) and has not worked. I went back to a version I had from 2009 and it worked like a charm. Not a single issue in the situation you describe above. Exactly as you describe above is how I set it up. I am back to my full config file now and running (but out of console window, because.....)

Here is what I am seeing, and why I still believe the problem is with the version of "pyTivo" I am running (or possibly Python). Something in it has changed.

The service creates this:
C:\Python27\lib\site-packages\win32\PythonService.exe

but when I run the console window, I get this:
C:\Python27\python.exe
and this spawns:
"C:\Python27\python.exe" "C:\pyTivo\pyTivo.py"

At least that's what I am seeing in Windows XP (yes, that the OS I am running, as I have said repeatedly). So, from where the service is located, it has a different file name, and is obviously completely unable to "spawn" the pytivo program.

Or, I don't know what the heck I am talking about.

Does any of this make any sense?


----------



## wuzznuubi

Hercules67 said:


> Well, half of my problems went away.


Good news!



Hercules67 said:


> Here is what I am seeing, and why I still believe the problem is with the version of "pyTivo" I am running (or possibly Python). Something in it has changed.
> 
> The service creates this:
> C:\Python27\lib\site-packages\win32\PythonService.exe
> 
> but when I run the console window, I get this:
> C:\Python27\python.exe
> and this spawns:
> "C:\Python27\python.exe" "C:\pyTivo\pyTivo.py"
> 
> At least that's what I am seeing in Windows XP (yes, that the OS I am running, as I have said repeatedly). So, from where the service is located, it has a different file name, and is obviously completely unable to "spawn" the pytivo program.
> 
> Or, I don't know what the heck I am talking about.
> 
> Does any of this make any sense?


From the pyTivo README
---To install as a service in Windows
run pyTivoService.py --startup auto install

---To remove service
run pyTivoService.py remove

I'm not an expert on the service but am pretty sure the install has to be run from where (the directory) you installed pyTivo, So you should first do this to uninstall the service;

open a cmd window and type this in


Code:


C:\Python27\python.exe  C:\pyTivo\pyTivoService.py remove

Then do this to reinstall it;
open a cmd window and type this in


Code:


C:\Python27\python.exe  C:\pyTivo\pyTivoService.py --startup auto install


----------



## lpwcomp

Got something I've never seen before while pushing a recording to a TiVo 2. Original was a .tivo file from a Premiere recording of an HD channel which was decrypted and QS Fixed. It did go ahead and do the transfer. At least I hope it completes. It is not yet finished. Still has about 900 seconds of recording to transcode/xfer which will probably take @ another 1h10m). Anyway, this is what I am seeing:



Code:


[mpeg2video @ 0x186e470]ac-tex damaged at 73 42= 1484.32 brt= 3407.9kbps
[mpeg2video @ 0x186e470]slice mismatch
[mpeg2video @ 0x186e470]Warning MVs not available
[mpeg2video @ 0x186e470]concealing 160 DC, 160 AC, 160 MV errors
[mpeg2video @ 0x186e470]slice mismatch
[mpeg2video @ 0x186e470]Warning MVs not available
[mpeg2video @ 0x186e470]concealing 63 DC, 63 AC, 63 MV errors

Xfer completed. Dunno if there are any problems. Hopefully I will be informed later today if there were.


----------



## Hercules67

wuzznuubi said:


> Good news!
> 
> From the pyTivo README
> ---To install as a service in Windows
> run pyTivoService.py --startup auto install
> 
> ---To remove service
> run pyTivoService.py remove
> 
> I'm not an expert on the service but am pretty sure the install has to be run from where (the directory) you installed pyTivo, So you should first do this to uninstall the service;
> 
> open a cmd window and type this in
> 
> 
> Code:
> 
> 
> C:\Python27\python.exe  C:\pyTivo\pyTivoService.py remove
> 
> Then do this to reinstall it;
> open a cmd window and type this in
> 
> 
> Code:
> 
> 
> C:\Python27\python.exe  C:\pyTivo\pyTivoService.py --startup auto install


Thanks Wuzznuubi.

A couple of quick points from me, and I guess, I'll stop bugging you people, since nobody has been able to solve this for me:

1 - Yes, this method is precisely HOW I installed the pyTiVo service in the first place (and after following the long conversation with moyekj, I changed the "service's properties"). *I now see here:*

http://pytivo.sourceforge.net/wiki/index.php/Windows_Install

that the Windows Install instructions in the Wiki have been updated to reflect this.

2 - "Removing" the service using: *pyTivoService.py remove* does not actually remove the service. At least for me it does not. My Windows XP account is a full admin account, and I am following the directions, but somehow, the only thing it does, is, stops it.

3 - So, after researching, this is how you DELETE a service: *sc delete ServiceName* with _ServiceName_ wrapped in quotes if the name has spaces in it:

http://www.howtogeek.com/howto/windows-vista/how-to-delete-a-windows-service-in-vista-or-xp/

4 - After I re-installed the pyTivo service today and tried to continue troubleshooting, the service simply REFUSED to start. Well guess what was causing that? A stack overflow. Guess what fixed that? Unlike what the Wiki now says, changing the LogOn from "This Account" to "Local System Account". Go figure.

I have no explanation for the behavior of pyTiVo on my system -- NONE whatsoever, but as the installation now stands here is what I get:

1) I can access the pyTiVo from any browser through *localhost:9032*. AND while accessing it, I am able to view the contents of shares, etc. I can tell it to PUSH, or PULL. However, no action is initiated, even though I click on an action to be initiated.

2) Once, I click on *pyTiVo.py*, I get the full functionality of the pyTiVo program, just like I had it over a month ago, before my computer crashed and I replaced my HDD.

3) I had to revert to the ffmpeg from 2009 (which I was using with *wmcbrine's fork from 2009* prior to the HDD crash) because I was getting too many of these errors from the latest ffmpeg:



Code:


<subscribeResult><subscription><autoRecord>true</autoRecord><bodyGeneratesCandidates>false</bodyGeneratesCandidates><bodyId>tsn:*************</bodyId><hdOnly>false</hdOnly><idSetSource><contentId>tivo:ct.bs.15000071</contentId><offerId>tivo:of.bs.15000071</offerId><type>singleOfferSource</type></idSetSource><isAdult>false</isAdult><isForKids>false</isForKids><levelOfDetail>high</levelOfDetail><showStatus>rerunsAllowed</showStatus><subscriptionId>tivo:sb.******</subscriptionId><title>pcBodySubscription</title><type>subscription</type><uiType>cds</uiType></subscription></subscribeResult>g
INFO:pyTivo:127.0.0.1 [30/May/2013 14:37:51] "GET /TiVoConnect?Command=QueryContainer&Container=TV%20Shows/Falling%20Skies&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [30/May/2013 14:37:53] "GET /TiVoConnect?Command=QueryContainer&Container=TV%20Shows/Falling%20Skies/Season%201&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo.video.video:[30/May/2013 14:37:58] Queued "G:\My Videos\TV Shows\Falling Skies\Season 1\Falling Skies - 1x01 - Live and Learn.mkv" for Push to Livingroom1
INFO:pyTivo:127.0.0.1 [30/May/2013 14:37:58] "POST /TiVoConnect HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [30/May/2013 14:38:04] "GET /TiVoConnect?Command=QueryContainer&Container=TV%20Shows/Falling%20Skies/Season%201&Format=text/html HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:ffmpeg output=ffmpeg version N-53616-g7a2edcf Copyright (c) 2000-2013 the FFmpeg developers  built on May 29 2013 01:14:44 with gcc 4.7.3 (GCC)  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib  libavutil      52. 34.100 / 52. 34.100  libavcodec     55. 12.102 / 55. 12.102  libavformat    55.  7.100 / 55.  7.100  libavdevice    55.  1.101 / 55.  1.101  libavfilter     3. 72.100 /  3. 72.100  libswscale      2.  3.100 /  2.  3.100  libswresample   0. 17.102 /  0. 17.102  libpostproc    52.  3.100 / 52.  3.100Input #0, matroska,webm, from 'G:\My Videos\TV Shows\Falling Skies\Season 1\Falling Skies - 1x01 - Live and Learn.mkv':  Metadata:    creation_time   : 2012-05-19 01:33:38  Duration: 00:42:04.96, start: 0.000000, bitrate: 4953 kb/s    Stream #0:0(eng): Video: h264 (High), yuv420p, 1280x720, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)    Stream #0:1: Audio: ac3, 48000 Hz, 5.1(side), fltp, 640 kb/s (default)At least one output file must be specified
DEBUG:pyTivo.video.transcode:aFreq=48000; aCh=6; container=matroska; kbps=4953; mapAudio=[('0:1', ' ac3, 48000 Hz, 5.1(side), fltp, 640 kb/s (default)\r')]; vHeight=720; vCodec=h264; Supported=True; aKbps=640; par=None; millisecs=2524960; vFps=23.98; par2=None; par1=None; mapVideo=0:0; vWidth=1280; dar1=16:9; rawmeta={'creation_time': [u'2012-05-19 01:33:38']}; aCodec=ac3
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Falling Skies\Season 1\Falling Skies - 1x01 - Live and Learn.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Falling Skies\Season 1\Falling Skies - 1x01 - Live and Learn.mkv
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, G:\My Videos\TV Shows\Falling Skies\Season 1\Falling Skies - 1x01 - Live and Learn.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Falling Skies\Season 1\Falling Skies - 1x01 - Live and Learn.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Falling Skies\Season 1\Falling Skies - 1x01 - Live and Learn.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Falling Skies\Season 1\Falling Skies - 1x01 - Live and Learn.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Falling Skies\Season 1\Falling Skies - 1x01 - Live and Learn.mkv
DEBUG:pyTivo.video.transcode:tsn: **********************
DEBUG:pyTivo.video.transcode:aspect169: False
DEBUG:pyTivo.video.transcode:optres: True
DEBUG:pyTivo.video.transcode:File=G:\My Videos\TV Shows\Falling Skies\Season 1\Falling Skies - 1x01 - Live and Learn.mkv vCodec=h264 vWidth=1280 vHeight=720 vFps=23.98 millisecs=2524960 TIVO_HEIGHT=480 TIVO_WIDTH=544
DEBUG:pyTivo.video.transcode:rheight=9 rwidth=16
DEBUG:pyTivo.video.transcode:File is within 16:9 list and 16:9 allowed.
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Falling Skies\Season 1\Falling Skies - 1x01 - Live and Learn.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Falling Skies\Season 1\Falling Skies - 1x01 - Live and Learn.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Falling Skies\Season 1\Falling Skies - 1x01 - Live and Learn.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Falling Skies\Season 1\Falling Skies - 1x01 - Live and Learn.mkv
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:set first detected audio stream by default: 0:1
DEBUG:pyTivo.video.transcode:selected audio stream: 0:1
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Falling Skies\Season 1\Falling Skies - 1x01 - Live and Learn.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Falling Skies\Season 1\Falling Skies - 1x01 - Live and Learn.mkv
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, G:\My Videos\TV Shows\Falling Skies\Season 1\Falling Skies - 1x01 - Live and Learn.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Falling Skies\Season 1\Falling Skies - 1x01 - Live and Learn.mkv
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Falling Skies\Season 1\Falling Skies - 1x01 - Live and Learn.mkv
DEBUG:pyTivo.mind:__login
{'cams_security_domain': 'tivocom', 'cams_login_config': 'http', 'cams_cb_password': 'none', 'cams_original_url': '/mind/mind7?type=infoGet', 'cams_cb_username': '[email protected]'}
DEBUG:pyTivo.mind:pcBodySearch
{}

<pcBodyList><isBottom>true</isBottom><isTop>true</isTop><pcBody><bucketNumber>-1</bucketNumber><levelOfDetail>low</levelOfDetail><name>pyTivo</name><pcBodyId>tivo:pc.1002412911</pcBodyId><type>pcBody</type></pcBody></pcBodyList>g
DEBUG:pyTivo.mind:bodyOfferModify&bodyId=tsn:***********
{'description': '', 'pcBodyId': 'tivo:pc.1002412911', 'publishDate': '2013-05-30 19:3806', 'partnerId': 'tivo:pt.3187', 'duration': 2524, 'size': 1462304640, 'title': 'Falling Skies - 1x01 - Live and Learn', 'url': 'http://192.168.1.102:9032/TV%20Shows/Falling%20Skies/Season%201/Falling%20Skies%20-%201x01%20-%20Live%20and%20Learn.mkv?Format=video/mpeg', 'bodyId': 'tsn:64900018045F365', 'source': 'Falling Skies - 1x01 - Live and Learn', 'state': 'complete', 'encodingType': 'mpeg2ProgramStream', 'tvRating': 'nr'}

<bodyOffer><bodyId>tsn:*********</bodyId><bodyOfferId>tivo:bo.15000081</bodyOfferId><createDate>2013-05-30 19:37:47</createDate><description /><duration>2524</duration><encodingType>mpeg2ProgramStream</encodingType><levelOfDetail>high</levelOfDetail><offerId>tivo:of.bs.15000081</offerId><partnerId>tivo:pt.3187</partnerId><pcBodyId>tivo:pc.1002412911</pcBodyId><publishDate>2013-06-02 10:26:00</publishDate><size>1462304640</size><source>Falling Skies - 1x01 - Live and Learn</source><state>complete</state><title>Falling Skies - 1x01 - Live and Learn</title><tvRating>nr</tvRating><updateDate>2013-05-30 19:37:47</updateDate><url>http://192.168.1.102:9032/TV%20Shows/Falling%20Skies/Season%201/Falling%20Skies%20-%201x01%20-%20Live%20and%20Learn.mkv?Format=video/mpeg</url></bodyOffer>g
DEBUG:pyTivo.mind:subscribe&bodyId=tsn:************
{'uiType': 'cds', 'idSetSource': {'contentId': 'tivo:ct.bs.15000081', 'type': 'singleOfferSource', 'offerId': 'tivo:of.bs.15000081'}, 'bodyId': 'tsn:************', 'title': 'pcBodySubscription'}

<subscribeResult><subscription><autoRecord>true</autoRecord><bodyGeneratesCandidates>false</bodyGeneratesCandidates><bodyId>tsn:***************</bodyId><hdOnly>false</hdOnly><idSetSource><contentId>tivo:ct.bs.15000081</contentId><offerId>tivo:of.bs.15000081</offerId><type>singleOfferSource</type></idSetSource><isAdult>false</isAdult><isForKids>false</isForKids><levelOfDetail>high</levelOfDetail><showStatus>rerunsAllowed</showStatus><subscriptionId>tivo:sb.15000611</subscriptionId><title>pcBodySubscription</title><type>subscription</type><uiType>cds</uiType></subscription></subscribeResult>g

I have no idea what any of this means, nor have I tried to troubleshoot *ffmpeg.* I simply switched to an ffmpeg that previously worked for me, and apparently IS STILL WORKING for me.

SO TO SUM IT ALL UP:

*I CAN RUN PYTIVO as long as, it is in Console Mode and my ffmpeg is from 2009.

Other than that, no sweat.*



Thanks for all the help to everyone: wuuznuubi, moyekj (sorry I was so dense and did not initially understand you), lpwcomp, HerronScott, wmcbrine and anyone I might have missed.


----------



## wmcbrine

Hercules67 said:


> ... I was getting too many of these errors from the latest ffmpeg:


I don't actually see any errors there. 

Re: the recent Wiki edits, they were made by a mysterious person named "andersonsidney", who apparently registered just for that purpose. I haven't really evaluated them, but they do seem a bit odd.


----------



## Hercules67

wmcbrine said:


> I don't actually see any errors there.
> 
> Re: the recent Wiki edits, they were made by a mysterious person named "andersonsidney", who apparently registered just for that purpose. I haven't really evaluated them, but they do seem a bit odd.


I have no explanation for that William, along with no explanation of what "CACHE HIT!" means.

I do know that when I see the above, I get the name of the file transferring to the TiVo, with 0 KB. It's like it starts transferring, but stops immediately. Don't know why. The OLDER ffmpeg does not do that. Go figure.


----------



## lpwcomp

I have been informed that the transferred recording with the weird errors I reported in post #4565 had no discernible problems when viewed.


----------



## shiffrin

I am trying to get pytivo installed as a service. I've done quite a bit of searching but haven't found the answer to my problem.

I have Win 7 Pro 64 bit but I have the 32 bit of python and pytivo stuff installed. It has been working well for quite a while. Today I decided to get more serious about it and re-installed everything to mnake sure I had all the latest files. It still works great in console mode for video, music, and photos.

I installed pywin32 (pywin32-218.win32-py2.7) and went through all the steps until I got to the step where the NETWORK SERVICE object is selected. When I click on APPLY, I get an error message to supply a valid password. The password boxes are filled in with dots already. What password do I use? My regular logon is an admin logon, should I use that password? The document doesn't mention anything about passwords so I'm not sure what to try.


----------



## moose53

Why am I having so much trouble watching while streaming using PyTivo and PlayOn??

I just changed from Comcast internet to FIOS internet. Comcast was shaping my signal drastically. There's no shapers on the FIOS signal and download speed is more than twice as fast.

I thought that I would see an improvement while watching my streaming downloads. I mostly watch Hulu (without the Plus; I've paused it until the Summer), Netflix, and 1Channel using a PlayOn script.

The download for Hulu and Netflix is fine. Hesitating, pausing almost constant while watching something on 1Channel. I've tried to let it stream and I watch something else either live or through Netflix for 15-30 minutes. I just did that half an hour ago ... watched a 15 minute TEDTalk ... the show only downloaded 4 minutes during that time.

What is making it so slow?? Why haven't I seen a performance increase since I went with FIOS internet??

I use the pytivo-jkasyan-fork brand of PyTivo. It used to work fine ... up until about 3 to 4 months ago. I just got the FIOS about a month ago.

Oh, I should say that I'm hardwired. I do not use the wireless on my router.

Thanks.


----------



## shiffrin

shiffrin said:


> I am trying to get pytivo installed as a service. I've done quite a bit of searching but haven't found the answer to my problem.
> 
> I have Win 7 Pro 64 bit but I have the 32 bit of python and pytivo stuff installed. It has been working well for quite a while. Today I decided to get more serious about it and re-installed everything to mnake sure I had all the latest files. It still works great in console mode for video, music, and photos.
> 
> I installed pywin32 (pywin32-218.win32-py2.7) and went through all the steps until I got to the step where the NETWORK SERVICE object is selected. When I click on APPLY, I get an error message to supply a valid password. The password boxes are filled in with dots already. What password do I use? My regular logon is an admin logon, should I use that password? The document doesn't mention anything about passwords so I'm not sure what to try.


I did some more googling while waiting and finally found my answer. You just delete the passwords that it puts in the field and then press 'apply' and it fills in the correct password.

The service will now start but when I go to port 9032, it will display the configuration info, but when I click on one of my shared drives, it gives me the popup about connection being reset and will not display the drive info.

log.txt has this message at the end:
WindowsError: [Error 3] The system cannot find the path specified: u'V:\\DVDs'


----------



## shiffrin

shiffrin said:


> I did some more googling while waiting and finally found my answer. You just delete the passwords that it puts in the field and then press 'apply' and it fills in the correct password.
> 
> The service will now start but when I go to port 9032, it will display the configuration info, but when I click on one of my shared drives, it gives me the popup about connection being reset and will not display the drive info.
> 
> log.txt has this message at the end:
> WindowsError: [Error 3] The system cannot find the path specified: u'V:\\DVDs'


I got a little further with this problem but still can't get it to work completely. I thought that the problem might be with using drive letters in my configuration file. My videos, etc, are stored on a Windows Home Server. The server password is the same as my admin password on my desktop (where I am running PyTivo). When I was running from console mode, it was running from my admin ID so it could see the drives. When running from Network Service the drives were not visible. So,I changed to using the UNC names for these shares but still got an error. This is what log.txt showed:

*WindowsError: [Error 5] Access is denied: u'\\\\shiffrinbackup\\videos'
*

This is because the Network Service is running with a different password so it can't access the shares. Is there any way around this? Can I change the Network Service password? Doesn't anyone else have their shares on a server?


----------



## shiffrin

shiffrin said:


> Is there any way around this? Can I change the Network Service password? Doesn't anyone else have their shares on a server?


I've finally fixed it. It took a lot of research since I found various bits and pieces on many web sites. I'll leave my posts here in case anyone in the future has similar problems.

The PyTivo documentation talks about using Network Service as the logon account for Pywin32 but that isn't necessary (at least in my situation). I changed the logon account for the service to be my regular admin account on my desktop and used its password and everything now works as it is supposed to.


----------



## bareyb

Just wanted to throw out a big THANK YOU for the latest version of PyTiVo. It had been a long while since I updated and I like all the links back and forth and the TiVo Streaming is just fantastic. A great _upgrade_ for sure. :up:


----------



## wmcbrine

Took me a minute to realize what you were saying... "ts" stands for "transport stream", not "TiVo stream".

http://en.wikipedia.org/wiki/MPEG_transport_stream

As opposed to the old format, program streams:

http://en.wikipedia.org/wiki/Program_stream


----------



## bareyb

wmcbrine said:


> Took me a minute to realize what you were saying... "ts" stands for "transport stream", not "TiVo stream".
> 
> http://en.wikipedia.org/wiki/MPEG_transport_stream
> 
> As opposed to the old format, program streams:
> 
> http://en.wikipedia.org/wiki/Program_stream


Whatever it's called, it's badass. The transfer speed is _amazing_. Glad I finally upgraded. :up:


----------



## lrhorer

Um, you're talking to some sort of SPAM bot. Check out post #2 in this thread.


----------



## lrhorer

moose53 said:


> Why am I having so much trouble watching while streaming using PyTivo and PlayOn??


PyTivo does not stream video. I am not familiar with PlayOn.



moose53 said:


> I just changed from Comcast internet to FIOS internet. Comcast was shaping my signal drastically. There's no shapers on the FIOS signal and download speed is more than twice as fast.


Rate shaping is not done on any signal. I am sure FIOS does rate shape their data steams.



moose53 said:


> I thought that I would see an improvement while watching my streaming downloads.


Why?



moose53 said:


> What is making it so slow??


With the very limited amount of info you have given us, it is hard to say.



moose53 said:


> Why haven't I seen a performance increase since I went with FIOS internet??


Why, specifically, would you expect one? What was your former purchased bandwidth? What bandwidth have you purchased on FIOS?



moose53 said:


> I use the pytivo-jkasyan-fork brand of PyTivo. It used to work fine ... up until about 3 to 4 months ago. I just got the FIOS about a month ago.


That doesn't really tell us much. What download speed are you getting? What are the specs of your server? What type of videos are you transferring? Are you pulling or pushing?


----------



## wmcbrine

lrhorer said:


> Um, you're talking to some sort of SPAM bot. Check out post #2 in this thread.


D'oh! Thanks, I've removed my replies.


----------



## lpwcomp

lrhorer said:


> PyTivo does not stream video. I am not familiar with PlayOn.


Actually, it does. And playon is a video streaming app for which has a pyTivo plugin. And kmttg can initiate a pyTivo stream of a file on your computer to a TiVo via the "pyTivo stream" option under the "Files" tab.


----------



## dlfl

moose53 said:


> Why am I having so much trouble watching while streaming using PyTivo and PlayOn??
> 
> I just changed from Comcast internet to FIOS internet. Comcast was shaping my signal drastically. There's no shapers on the FIOS signal and download speed is more than twice as fast.
> 
> I thought that I would see an improvement while watching my streaming downloads. I mostly watch Hulu (without the Plus; I've paused it until the Summer), Netflix, and 1Channel using a PlayOn script.
> 
> The download for Hulu and Netflix is fine. Hesitating, pausing almost constant while watching something on 1Channel. I've tried to let it stream and I watch something else either live or through Netflix for 15-30 minutes. I just did that half an hour ago ... watched a 15 minute TEDTalk ... the show only downloaded 4 minutes during that time.
> 
> What is making it so slow?? Why haven't I seen a performance increase since I went with FIOS internet??
> 
> I use the pytivo-jkasyan-fork brand of PyTivo. It used to work fine ... up until about 3 to 4 months ago. I just got the FIOS about a month ago.
> 
> Oh, I should say that I'm hardwired. I do not use the wireless on my router.
> 
> Thanks.


If you use Google Chrome browser as your PlayOn client running on the same PC that is running PlayOn, how well do things work? If you have problems running that way, your issues have nothing to do with pyTivo or the pyTivo PlayOn plugin.

If the problems only occur using the pyTivo PlayOn plugin, I suggest you go to this thread on the PlayOn forums:
http://www.playon.tv/forum/media-devices/others/playon-tivo-s2-s3
and look at posts 31 to 33 there. If you have further questions it might be better to post them in that thread.


----------



## MychaelP

Hello,

So I have a new laptop with Windows 7 on it. Did the install of pytivo with the old windows installer, then copied the latest files over it. Opened up the ports, but pytivo is not showing up on my tivo or on the web configurator. Has anyone else encountered this? And is there an easy fix? I have Panda running in the background, but it isn't blocking anything. Pytivo still works fine on my old computer. I even tried copying the old config file from there and still no-go.

Thanks in advance... maybe there is a quick setting in the config file?


----------



## jcthorne

MychaelP said:


> Hello,
> 
> So I have a new laptop with Windows 7 on it. Did the install of pytivo with the old windows installer, then copied the latest files over it. Opened up the ports, but pytivo is not showing up on my tivo or on the web configurator. Has anyone else encountered this? And is there an easy fix? I have Panda running in the background, but it isn't blocking anything. Pytivo still works fine on my old computer. I even tried copying the old config file from there and still no-go.
> 
> Thanks in advance... maybe there is a quick setting in the config file?


Perhaps try reading the windows installation instructions, remove what you have done and start over. The old windows installer is very out of date, was long ago abandoned and does not work for win 7 or current versions of pytivo.


----------



## MychaelP

jcthorne said:


> Perhaps try reading the windows installation instructions, remove what you have done and start over. The old windows installer is very out of date, was long ago abandoned and does not work for win 7 or current versions of pytivo.


Thanks for the suggestions. So I will uninstall it, but how would be the best way to reinstall without an installer? I'm not quite a novice with this, but also not near an expert to get it running. 
I'm concerned if I uninstall then extract the latest zip file I have it won't actually be "installed" just copied.

Thanks


----------



## jcthorne

Please read the very complete instructions at the wiki site for windows installation. See my sig if you need a link (also referenced from the pytivo site).


----------



## MychaelP

jcthorne said:


> Please read the very complete instructions at the wiki site for windows installation. See my sig if you need a link (also referenced from the pytivo site).


Thank you for the link. I did everything exactly as described and still get the same error "Unable to connect Firefox can't establish a connection to the server at localhost:9032."
I have not edited the config file as it is suggested to do so with the web configure option. I checked and pytivo is running as an "application". I addedthe ports as a rule to allow in windows firewall. It seems something is keeping it from running with access to the browser. 
I really hate to take a bunch of messages in this thread with trying to get this to work and apologize. It appears pytivo is no longer simple to run as on my old XP machine, 5 minutes and up and running.
Further suggestions are appreciated, or a private message to not have everyone else reading these troubleshooting issues.


----------



## gonzotek

MychaelP said:


> Thank you for the link. I did everything exactly as described and still get the same error "Unable to connect Firefox can't establish a connection to the server at localhost:9032."
> I have not edited the config file as it is suggested to do so with the web configure option. I checked and pytivo is running as an "application". I addedthe ports as a rule to allow in windows firewall. It seems something is keeping it from running with access to the browser.


When you run pytivo as an application, there should be a command window open, showing messages from pytivo. After a few other startup messages, you should see


Code:


INFO:pyTivo:pyTivo is ready.

Can you verify that you are getting at least to the point of seeing that message? If so, then pyTivo is running and should be able to be accessed via a browser, *IF* there are no firewall or other network connectivity issues. What I would do at that point, if pytivo is ready and the browser is still not able to access the localhost:9032 page is to temporarily disable windows firewall to determine or eliminate if it is the source of the connectivity issue.

If you don't see the ready message, then either pytivo is not being started correctly, or something has not been installed correctly.


----------



## MychaelP

gonzotek said:


> When you run pytivo as an application, there should be a command window open, showing messages from pytivo. After a few other startup messages, you should see
> 
> 
> Code:
> 
> 
> INFO:pyTivo:pyTivo is ready.
> 
> Can you verify that you are getting that at least to the point of seeing that message? If so, then pyTivo is running and should be able to be accessed via a browser, *IF* there are no firewall or other network connectivity issues. What I would do at that point, if pytivo is ready and the browser is still not able to access the localhost:9032 page is to temporarily disable windows firewall to determine or eliminate if it is the source of the connectivity issue.
> 
> If you don't see the ready message, then either pytivo is not being started correctly, or something has not been installed correctly.


Following the wiki install there is no "installation" that I can see, only copying files to a directory. I've done that to c:\pytivo When I run the file I get the pop-up, but there is no text in it that I can see and it is displayed for about a tenth of a second and goes away. In applications Pytivo is listed as running, but not as a service. So it appears pytivo is not installed. This is why I originally used the old "install" msi file. Is there something missing in the wiki to "install" this rather than copying files?


----------



## gonzotek

MychaelP said:


> Following the wiki install there is no "installation" that I can see, only copying files to a directory. I've done that to c:\pytivo When I run the file I get the pop-up, but there is no text in it that I can see and it is displayed for about a tenth of a second and goes away. In applications Pytivo is listed as running, but not as a service. So it appears pytivo is not installed. This is why I originally used the old "install" msi file. Is there something missing in the wiki to "install" this rather than copying files?


The only 'must have' is Python. Python must be installed prior to being able to run pytivo. Everything else is optional or can be added after getting the basics to work.

Open a command prompt (in Windows 7, click the Start Menu, then type *CMD*, then press enter). Type *cd c:\pytivo*, then press enter. You should now be in the pytivo directory on the command line. Type *pytivo.py* and press enter. This will start pytivo, in basically the same way as double-clicking pytivo.py, but should produce an error message that stays on-screen, this should be the same error that is produced(but only visible for a fraction of a second) when the window appears for the tenth of a second. Let us know what you get.


----------



## MychaelP

gonzotek said:


> The only 'must have' is Python. Python must be installed prior to being able to run pytivo. Everything else is optional or can be added after getting the basics to work.
> 
> Open a command prompt (in Windows 7, click the Start Menu, then type *CMD*, then press enter). Type *cd c:\pytivo*, then press enter. You should now be in the pytivo directory on the command line. Type *pytivo.py* and press enter. This will start pytivo, in basically the same way as double-clicking pytivo.py, but should produce an error message that stays on-screen, this should be the same error that is produced(but only visible for a fraction of a second) when the window appears for the tenth of a second. Let us know what you get.


I just did that and noticed something at the "beginning" of your guide. I had python 2.4... so I changed it to 2.7.5 and now I get the settings to come up. Disabling firewall allows me to see my share on my tivo. I am transferring something right now to test it out. 
I did notice that when I put in my Tivo username/e-mail and password along with MAK, after I click save, they disappear in the boxes that I filled them in at, which also does not allow me to see my Tivo on the web interface, only option is still "settings". Should I enter this information manually in the conf file?
Thank you by the way for helping with this, I'll now soon if the transfer worked. I am using a Series 2 so it may take it awhile.
let me know if you have time how to get the username/passoword info to save thus allowing me to have the togo and push options on the web interface.
Your help has been greatly appreciated.


----------



## Hercules67

William,

I have a question about your release of pyTivo. Back in 2011, your branch had the option to detect "pad changes" in files being dealt with, by ffmpeg, because a change in ffmpeg had caused a problem. Here's your original message about it:

http://pytivo.sourceforge.net/forum/post11264.html#11264

And the original thread:

http://pytivo.sourceforge.net/forum/ffmpeg-error-please-use-vf-pad-t1418.html

I still have two S2 units, and I occasionally get files failing because of the pad option. When they fail, all processing stops, and no additional files get processed.

Am I doing something wrong? Should I change something? Or has this been fixed in ffmpeg?


----------



## wmcbrine

The pad option problem is the same thing as your previous problem. I'm working on it... it's just about the hairiest piece of code in pyTivo, unfortunately.

BTW, the post you cite is about detecting which pad options the version of FFmpeg in use requires, not detecting changes in files. In fact, pyTivo is not capable of dealing with a file that changes resolution mid-stream. Fortunately these are extremely rare. (I've never personally seen one. The ones I've heard of were due to cable companies inserting SD ads into HD programs.)

P.S. Yes, as mentioned before, you're doing something "wrong", in the sense that you're creating files with bizarre resolutions, which are hard to deal with. However, pyTivo _should_ still be able to handle them, and I have every intention that it do so. It's just not straightforward to implement for every case. (That is to say, the implementation is already there, and has been for a long time, but it breaks down in edge cases like yours. And the necessary fix looks like a total rewrite of the pad functions.) Meanwhile, you could probably solve the issue for yourself by using standard video resolutions (though it won't change what I have to do). Otherwise, please be patient.


----------



## Hercules67

wmcbrine said:


> The pad option problem is the same thing as your previous problem. I'm working on it... it's just about the hairiest piece of code in pyTivo, unfortunately.
> 
> BTW, the post you cite is about detecting which pad options the version of FFmpeg in use requires, not detecting changes in files. In fact, pyTivo is not capable of dealing with a file that changes resolution mid-stream. Fortunately these are extremely rare. (I've never personally seen one. The ones I've heard of were due to cable companies inserting SD ads into HD programs.)
> 
> P.S. Yes, as mentioned before, you're doing something "wrong", in the sense that you're creating files with bizarre resolutions, which are hard to deal with. However, pyTivo _should_ still be able to handle them, and I have every intention that it do so. It's just not straightforward to implement for every case. (That is to say, the implementation is already there, and has been for a long time, but it breaks down in edge cases like yours. And the necessary fix looks like a total rewrite of the pad functions.) Meanwhile, you could probably solve the issue for yourself by using standard video resolutions (though it won't change what I have to do). Otherwise, please be patient.


Meanwhile, I am trying to teach myself HOW to use and/or implement standard resolutions. I really have not converted anything since I had those problems. I am trying to use Handbrake to get mp4s (and I of course get standard resolution files, but cropped sides)...but I hadn't even done that. All, my "Revolution" episodes that I have been catching up on, I've been bringing back "untouched" (without processing) from my storage HDDs.

-----------------------------------------------

The interesting part is that the latest problem happened on a documentary someone gave me  (see attached file). Oh well. I don't know why this file failed, but it does with the padding issue. Thanks again for all your efforts.

:up:


----------



## wmcbrine

Hercules67 said:


> I don't know why this file failed


It looks like another goofy resolution.

If you could make these files available to me, it might help. You can FTP to wmcbrine.com, or whatever.


----------



## lpwcomp

wmcbrine said:


> It looks like another goofy resolution.
> 
> If you could make these files available to me, it might help. You can FTP to wmcbrine.com, or whatever.


If it helps any, that series ("Ancient Discoveries") was produced in the UK, which has a penchant for producing shows with goofy aspect ratios.


----------



## Hercules67

wmcbrine said:


> It looks like another goofy resolution.
> 
> If you could make these files available to me, it might help. You can FTP to wmcbrine.com, or whatever.


Hmmm! 

Me and my Goofy resolutions!!! 

LOL, but why does pyTiVo fail completely after trying to execute said file?

Anyhow, I am putting the file in my Dropbox and sending you a link by PM. Is that acceptable?


----------



## Hercules67

lpwcomp said:


> If it helps any, that series ("Ancient Discoveries") was produced in the UK, which has a penchant for producing shows with goofy aspect ratios.


Just my luck for wanting to watch a weird series like that!

BTW, I wonder how the newest ffmpeg would have handled this file. I am still running the ffmpeg from 2009 that I went back to... What do I know (....nothing).

 I know enough to be dangerous and mess myself up... LOL.


----------



## innocentfreak

I am drawing a blank since it has been so long. I am setting up a new Win 8 PC running PyTiVo. I have everything setup and configured to run as a service using Windows install guide in the wiki as a reminder.

I have hit a wall though. I now get a connection reset whenever I select my shares in the PyTiVo. These are network shares, but I used the network address. I am thinking it might be a permission issue, but I can't for the life of me figure it out or how to fix it. Using Windows 8 isn't helping either.


----------



## moyekj

Are you running service using default service account or your own login? Try switching service to use your login + password if you have not tried that already.


----------



## innocentfreak

The guide had me set it up as a Network Service.

Switching to my username worked. I will have to check my old PC and see how I set it up originally, because I don't remember having to swap it. Then again I may have not setup the service as a Network Service.


----------



## HerronScott

innocentfreak said:


> The guide had me set it up as a Network Service.
> 
> Switching to my username worked. I will have to check my old PC and see how I set it up originally, because I don't remember having to swap it. Then again I may have not setup the service as a Network Service.


On my Windows Home Server, it's been running as Local System since 2009 but that is Windows Server 2003 which doesn't have some of the security restrictions of Windows 7 or Windows 8.

Scott


----------



## innocentfreak

Or well I thought it worked.

Running it as a service, I can't see my TiVos as a push option and they can't see the shares. I also can't access the webui from any other PC either using iport. 

If I just run PyTiVo, everything for the most part works. I can see my TiVos to push and they can see the shares. If I try to browse the shares from the TiVo, I see please wait and then the message could not be displayed because not available. 

I don't remember ever having this many issues installing this on my Win 7 PC so I have no idea what is going on. I don't know if it is just simple stuff I am missing in Windows 8. I am really thinking of just going back to my Win 7 setup for all of this since that still works.


----------



## innocentfreak

Since I am running it with a window currently, I saw this error which I haven't seen before so I don't know if it matters or not. I figured I would post it in case since I am running the latest PyTiVo, wmcbrine's fork.



Code:


Traceback (most recent call last):
  File "C:\Pytivo\wmcbrine\Zeroconf.py", line 835, in run
    self.readers[socket].handle_read()
  File "C:\Pytivo\wmcbrine\Zeroconf.py", line 894, in handle_read
    self.zc.handleQuery(msg, _MDNS_ADDR, _MDNS_PORT)
  File "C:\Pytivo\wmcbrine\Zeroconf.py", line 1561, in handleQuery
    self.send(out, addr, port)
  File "C:\Pytivo\wmcbrine\Zeroconf.py", line 1565, in send
    packet = out.packet()
  File "C:\Pytivo\wmcbrine\Zeroconf.py", line 729, in packet
    self.writeRecord(answer, time)
  File "C:\Pytivo\wmcbrine\Zeroconf.py", line 713, in writeRecord
    record.write(self)
  File "C:\Pytivo\wmcbrine\Zeroconf.py", line 438, in write
    out.writeName(self.server)
  File "C:\Pytivo\wmcbrine\Zeroconf.py", line 688, in writeName
    self.writeByte(index)
  File "C:\Pytivo\wmcbrine\Zeroconf.py", line 635, in writeByte
    self.pack('!c', chr(value))
ValueError: chr() arg not in range(256)
Traceback (most recent call last):
  File "C:\Pytivo\wmcbrine\Zeroconf.py", line 835, in run
    self.readers[socket].handle_read()
  File "C:\Pytivo\wmcbrine\Zeroconf.py", line 894, in handle_read
    self.zc.handleQuery(msg, _MDNS_ADDR, _MDNS_PORT)
  File "C:\Pytivo\wmcbrine\Zeroconf.py", line 1561, in handleQuery
    self.send(out, addr, port)
  File "C:\Pytivo\wmcbrine\Zeroconf.py", line 1565, in send
    packet = out.packet()
  File "C:\Pytivo\wmcbrine\Zeroconf.py", line 729, in packet
    self.writeRecord(answer, time)
  File "C:\Pytivo\wmcbrine\Zeroconf.py", line 713, in writeRecord
    record.write(self)
  File "C:\Pytivo\wmcbrine\Zeroconf.py", line 438, in write
    out.writeName(self.server)
  File "C:\Pytivo\wmcbrine\Zeroconf.py", line 688, in writeName
    self.writeByte(index)
  File "C:\Pytivo\wmcbrine\Zeroconf.py", line 635, in writeByte
    self.pack('!c', chr(value))
ValueError: chr() arg not in range(256)

This popped up after I believe a successfull push. I haven't checked the TiVo yet to make sure it went through fine.


----------



## wmcbrine

Yeah, this is a new error in the Zeroconf module that showed up when I moved packet creation out of a try/except loop. It's one of those things that goes away when I try to debug it. It will come up periodically regardless of what you're doing or not doing, but only at some indeterminate time after restarting pyTivo. So far, it doesn't seem to affect anything -- not surprisingly, since really it was always happening; it was just masked. Anyway, if it bothers you too much to see it, you could disable Zeroconf for now.


----------



## wmcbrine

OK, that should be fixed now.


----------



## innocentfreak

ok cool, thanks.


----------



## Thos19

Does pyTivo work with Windows 8 ?


----------



## newsposter

Thos19 said:


> Does pyTivo work with Windows 8 ?


yes been using a while now


----------



## philhu

Yes, but it works better on CENTOS6! Solid, fast, amazing!


----------



## cracker17

Would appreciate some assistance. The following error has sarted appearing when I try and push a file to my tivo:

ERROR : pyTivo.video.video:unsupported.operand.type(s) for :/ 'str' and 'int'

Never had this issue before. Can someone with more programaming skill than I point me in the right direction?

Thanks.

C


----------



## wmcbrine

The reported error in this case is a bit misleading. I'd have to see more of the log to nail it down, but generally -- assuming that you had it working before, and have made no changes to your configuration -- push errors are due to problems with mind.tivo.com, which arise every so often. And there's nothing we can do about those, except to be patient, and wait for TiVo Inc. to fix their servers. Or switch to pulls.


----------



## cracker17

I guess I'll just wait it out. I thought it was some transient error but need someone with more knowledge of the program to confirm that was the case.

Thanks. 

C


----------



## wmcbrine

Well like I say, I'd need to see more of the log to be sure.


----------



## lpwcomp

Is there any way to get pyTivo to stop issuing the beacon messages every minute? I need to see the status of my pushes to a remote TiVo and things get scrolled off so quickly that I have no idea what happened.


----------



## wmcbrine

The beacons aren't logged. Can you explain more about what you're seeing?


----------



## lpwcomp

wmcbrine said:


> The beacons aren't logged. Can you explain more about what you're seeing?


This:


Code:


INFO:pyTivo:192.168.1.103 [11/Aug/2013 18:24:26] "GET /TiVoConnect?Command=Query
Container&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.102 [11/Aug/2013 18:24:26] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.105 [11/Aug/2013 18:24:26] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.104 [11/Aug/2013 18:24:26] "GET /TiVoConnect?Command=Query
Container&Container=%2F HTTP/1.0" 200 -

Repeated every minute.

But I have worked it out. Looks likes has something to do with having no valid shares for a TiVo. I run two copies of pyTiVo, one on port 9032 which I use strictly for kmttg pushes to a remote TiVo and I had set it up with Share=none for all of the TiVos. The other copy is on port 9034, which I use for everything else. I do that because any other transfer activity on the one doing the push can cause the push to fail.


----------



## wmcbrine

lpwcomp said:


> I do that because any other transfer activity on the one doing the push can cause the push to fail.


I've never heard of anything like that. 

Anyway, yeah, in this situation, you might as well disable the beacon altogether. You can set zeroconf = off and beacon = listen.


----------



## lpwcomp

wmcbrine said:


> I've never heard of anything like that.


Pushes to the remote TiVo are very...sensitive.



wmcbrine said:


> Anyway, yeah, in this situation, you might as well disable the beacon altogether. You can set zeroconf = off and beacon = listen.


Zeroconf is off anyway since I specify the shares. I tried setting beacon to listen and got an error. Will work with it some more tomorrow. Its in the process of transferring a movie that is @2h11m. Been at it for @1h17m. At current rate, at will be another 11 to 12 hours.


----------



## Soapm

lpwcomp said:


> *Its in the process of transferring a movie that is @2h11m. Been at it for @1h17m. At current rate, at will be another 11 to 12 hours*.


That must be one high, high, high definition show. How large is the file?


----------



## lpwcomp

Soapm said:


> That must be one high, high, high definition show. How large is the file?


Not all that big but:

It is an mp4 and is going to a TiVo 2 so must be trans-coded by a fairly slow computer running Win2K and thus an old version of ffmpeg and is going over the inter-webz. All that results in a transfer time of about 6x runtime.


----------



## wmcbrine

lpwcomp said:


> I tried setting beacon to listen and got an error.


For "listen" to work, pyTivo has to be able to bind port 2190, which might already have been seized by TiVo Desktop, or the other instance of pyTivo. But you don't really need "listen"; that's just the easiest way to turn off the beacons. As an alternative, I guess you could just put... beacon = some address that you know won't ping you pack, but is actually resolvable. (I was gonna say localhost, but that might not work if something else is binding port 2190, because it will probably respond.)

Actually you can just put "beacon =".


----------



## lpwcomp

wmcbrine said:


> For "listen" to work, pyTivo has to be able to bind port 2190, which might already have been seized by TiVo Desktop, or the other instance of pyTivo. But you don't really need "listen"; that's just the easiest way to turn off the beacons. As an alternative, I guess you could just put... beacon = some address that you know won't ping you pack, but is actually resolvable. (I was gonna say localhost, but that might not work if something else is binding port 2190, because it will probably respond.)
> 
> Actually you can just put "beacon =".


Not seeing the issue with things as currently configured. If it comes up again, I'll try "beacon = ". Thanks for all of the help. I'm probably the only person who actually care about this particular issue.


----------



## Hercules67

Because I still have trouble pulling through shows that are AVI and sometimes MKV (even ones I transcoded), I finally decided to go and get the latest "ffmpeg build". To my surprise it messed-up on me on the first mp4 file I tried to push/bring over to my series 2 TiVo.

Here is what I am seeing: (I believe, I anonymized the files properly enough, taking out passwords and TSNs -- let me know if I forgot something.)

I do have a question about these two specific errors:



> error: [Errno 10053] An established connection was aborted by the software in your host machine


And,



> ERROR: pyTivo:Exception during request from ('127.0.0.1', 2229)





Code:


INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:127.0.0.1 [16/Aug/2013 13:17:37] "GET / HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [16/Aug/2013 13:17:43] "GET /TiVoConnect?Command=QueryContainer&Container=TV%20Shows&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [16/Aug/2013 13:17:48] "GET /TiVoConnect?Command=QueryContainer&Container=TV%20Shows/Broadchurch&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [16/Aug/2013 13:17:52] "GET /TiVoConnect?Command=QueryContainer&Container=TV%20Shows/Broadchurch/Series%201&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [16/Aug/2013 13:17:52] "GET /TiVoConnect?Command=QueryContainer&Container=TV%20Shows/Broadchurch/Series%201&Format=text/html HTTP/1.1" 200 -
ERROR:pyTivo:Exception during request from ('127.0.0.1', 2229)
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 593, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\pyTivo\httpserver.py", line 89, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 649, in __init__
    self.handle()
  File "C:\Python27\lib\BaseHTTPServer.py", line 342, in handle
    self.handle_one_request()
  File "C:\Python27\lib\BaseHTTPServer.py", line 310, in handle_one_request
    self.raw_requestline = self.rfile.readline(65537)
  File "C:\Python27\lib\socket.py", line 476, in readline
    data = self._sock.recv(self._rbufsize)
error: [Errno 10053] An established connection was aborted by the software in your host machine
INFO:pyTivo.video.video:[16/Aug/2013 13:18:00] Queued "G:\My Videos\TV Shows\Broadchurch\Series 1\Broadchurch - 1x04 - Episode 4.mp4" for Push to Bedroom1
INFO:pyTivo:127.0.0.1 [16/Aug/2013 13:18:00] "POST /TiVoConnect HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [16/Aug/2013 13:18:05] "GET /TiVoConnect?Command=QueryContainer&Container=TV%20Shows/Broadchurch/Series%201&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [16/Aug/2013 13:18:11] "GET /TiVoConnect?Command=QueryContainer&Container=TV%20Shows&Format=text/html HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:ffmpeg output=ffmpeg version N-55515-gbbbd959 Copyright (c) 2000-2013 the FFmpeg developers

  built on Aug 13 2013 18:01:31 with gcc 4.7.3 (GCC)

  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib

  libavutil      52. 42.100 / 52. 42.100

  libavcodec     55. 27.100 / 55. 27.100

  libavformat    55. 13.102 / 55. 13.102

  libavdevice    55.  3.100 / 55.  3.100

  libavfilter     3. 82.100 /  3. 82.100

  libswscale      2.  4.100 /  2.  4.100

  libswresample   0. 17.103 /  0. 17.103

  libpostproc    52.  3.100 / 52.  3.100

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'G:\My Videos\TV Shows\Broadchurch\Series 1\Broadchurch - 1x04 - Episode 4.mp4':

  Metadata:

    major_brand     : isom

    minor_version   : 512

    compatible_brands: isomiso2avc1mp41

    encoder         : Larry Sanders

  Duration: 00:45:57.27, start: 0.000000, bitrate: 927 kb/s

    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 720x404, 803 kb/s, 25 fps, 25 tbr, 20k tbn, 50 tbc

    Metadata:

      handler_name    : VideoHandler

    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 115 kb/s

    Metadata:

      handler_name    : SoundHandler

At least one output file must be specified


DEBUG:pyTivo.video.transcode:aFreq=48000; aCh=2; container=mov; kbps=927; mapAudio=[('0:1', '(und) aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 115 kb/s\r')]; vHeight=404; vCodec=h264; Supported=True; aKbps=115; par=None; millisecs=2757270; vFps=25.00; par2=None; par1=None; mapVideo=0:0; vWidth=720; dar1=None; rawmeta={'major_brand': [u'isom'], 'encoder': [u'Larry Sanders'], 'compatible_brands': [u'isomiso2avc1mp41'], 'minor_version': [u'512']}; aCodec=aac
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Broadchurch\Series 1\Broadchurch - 1x04 - Episode 4.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Broadchurch\Series 1\Broadchurch - 1x04 - Episode 4.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, G:\My Videos\TV Shows\Broadchurch\Series 1\Broadchurch - 1x04 - Episode 4.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Broadchurch\Series 1\Broadchurch - 1x04 - Episode 4.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Broadchurch\Series 1\Broadchurch - 1x04 - Episode 4.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Broadchurch\Series 1\Broadchurch - 1x04 - Episode 4.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Broadchurch\Series 1\Broadchurch - 1x04 - Episode 4.mp4
DEBUG:pyTivo.video.transcode:tsn: ***********************
DEBUG:pyTivo.video.transcode:aspect169: False
DEBUG:pyTivo.video.transcode:optres: True
DEBUG:pyTivo.video.transcode:File=G:\My Videos\TV Shows\Broadchurch\Series 1\Broadchurch - 1x04 - Episode 4.mp4 vCodec=h264 vWidth=720 vHeight=404 vFps=25.00 millisecs=2757270 TIVO_HEIGHT=480 TIVO_WIDTH=544
DEBUG:pyTivo.video.transcode:rheight=101 rwidth=180
DEBUG:pyTivo.video.transcode:par2=1.000 ratio=178.218 mult4by3=1.176
DEBUG:pyTivo.video.transcode:File is wider than 4:3 padding top and bottom
-aspect 16:9 -s 544x478 -padtop 0 -padbottom 2
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Broadchurch\Series 1\Broadchurch - 1x04 - Episode 4.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Broadchurch\Series 1\Broadchurch - 1x04 - Episode 4.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Broadchurch\Series 1\Broadchurch - 1x04 - Episode 4.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Broadchurch\Series 1\Broadchurch - 1x04 - Episode 4.mp4
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:set first detected audio stream by default: 0:1
DEBUG:pyTivo.video.transcode:selected audio stream: 0:1
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Broadchurch\Series 1\Broadchurch - 1x04 - Episode 4.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Broadchurch\Series 1\Broadchurch - 1x04 - Episode 4.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, G:\My Videos\TV Shows\Broadchurch\Series 1\Broadchurch - 1x04 - Episode 4.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Broadchurch\Series 1\Broadchurch - 1x04 - Episode 4.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Broadchurch\Series 1\Broadchurch - 1x04 - Episode 4.mp4
DEBUG:pyTivo.mind:__login
{'cams_security_domain': 'tivocom', 'cams_login_config': 'http', 'cams_cb_password': '*********', 'cams_original_url': '/mind/mind7?type=infoGet', 'cams_cb_username': '*********************'}
DEBUG:pyTivo.mind:pcBodySearch
{}

<pcBodyList><isBottom>true</isBottom><isTop>true</isTop><pcBody><bucketNumber>-1</bucketNumber><levelOfDetail>low</levelOfDetail><name>pyTivo</name><pcBodyId>tivo:pc.1002412911</pcBodyId><type>pcBody</type></pcBody></pcBodyList>g
DEBUG:pyTivo.mind:bodyOfferModify&bodyId=tsn:***************************
{'description': '', 'pcBodyId': 'tivo:pc.1002412911', 'publishDate': '2013-08-16 18:1816', 'partnerId': 'tivo:pt.3187', 'duration': 2757, 'size': 1597295520, 'title': 'Broadchurch - 1x04 - Episode 4', 'url': 'http://192.168.1.101:9032/TV%20Shows/Broadchurch/Series%201/Broadchurch%20-%201x04%20-%20Episode%204.mp4?Format=video/mpeg', 'bodyId': 'tsn:******************', 'source': 'Broadchurch - 1x04 - Episode 4', 'state': 'complete', 'encodingType': 'mpeg2ProgramStream', 'tvRating': 'nr'}

<bodyOffer><bodyId>tsn:*************</bodyId><bodyOfferId>tivo:bo.15000001</bodyOfferId><createDate>2013-08-16 18:17:45</createDate><description /><duration>2757</duration><encodingType>mpeg2ProgramStream</encodingType><levelOfDetail>high</levelOfDetail><offerId>tivo:of.bs.15000001</offerId><partnerId>tivo:pt.3187</partnerId><pcBodyId>tivo:pc.1002412911</pcBodyId><publishDate>2013-08-18 00:16:00</publishDate><size>1597295520</size><source>Broadchurch - 1x04 - Episode 4</source><state>complete</state><title>Broadchurch - 1x04 - Episode 4</title><tvRating>nr</tvRating><updateDate>2013-08-16 18:17:45</updateDate><url>http://192.168.1.101:9032/TV%20Shows/Broadchurch/Series%201/Broadchurch%20-%201x04%20-%20Episode%204.mp4?Format=video/mpeg</url></bodyOffer>g
DEBUG:pyTivo.mind:subscribe&bodyId=tsn:*****************
{'uiType': 'cds', 'idSetSource': {'contentId': 'tivo:ct.bs.15000001', 'type': 'singleOfferSource', 'offerId': 'tivo:of.bs.15000001'}, 'bodyId': 'tsn:*****************', 'title': 'pcBodySubscription'}

<subscribeResult><subscription><autoRecord>true</autoRecord><bodyGeneratesCandidates>false</bodyGeneratesCandidates><bodyId>tsn:*****************</bodyId><hdOnly>false</hdOnly><idSetSource><contentId>tivo:ct.bs.15000001</contentId><offerId>tivo:of.bs.15000001</offerId><type>singleOfferSource</type></idSetSource><isAdult>false</isAdult><isForKids>false</isForKids><levelOfDetail>high</levelOfDetail><showStatus>rerunsAllowed</showStatus><subscriptionId>tivo:sb.15000951</subscriptionId><title>pcBodySubscription</title><type>subscription</type><uiType>cds</uiType></subscription></subscribeResult>g
INFO:pyTivo:127.0.0.1 [16/Aug/2013 13:18:22] "GET /TiVoConnect?Command=QueryContainer&Container=TV%20Shows/Supernatural&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [16/Aug/2013 13:18:24] "GET /TiVoConnect?Command=QueryContainer&Container=TV%20Shows/Supernatural/Season%201&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo.video.video:[16/Aug/2013 13:18:30] Queued "G:\My Videos\TV Shows\Supernatural\Season 1\Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS.avi" for Push to Bedroom1
INFO:pyTivo:127.0.0.1 [16/Aug/2013 13:18:30] "POST /TiVoConnect HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [16/Aug/2013 13:18:35] "GET /TiVoConnect?Command=QueryContainer&Container=TV%20Shows/Supernatural/Season%201&Format=text/html HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:ffmpeg output=ffmpeg version N-55515-gbbbd959 Copyright (c) 2000-2013 the FFmpeg developers

  built on Aug 13 2013 18:01:31 with gcc 4.7.3 (GCC)

  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib

  libavutil      52. 42.100 / 52. 42.100

  libavcodec     55. 27.100 / 55. 27.100

  libavformat    55. 13.102 / 55. 13.102

  libavdevice    55.  3.100 / 55.  3.100

  libavfilter     3. 82.100 /  3. 82.100

  libswscale      2.  4.100 /  2.  4.100

  libswresample   0. 17.103 /  0. 17.103

  libpostproc    52.  3.100 / 52.  3.100

[mpeg4 @ 026d8080] Invalid and inefficient vfw-avi packed B frames detected

Input #0, avi, from 'G:\My Videos\TV Shows\Supernatural\Season 1\Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS.avi':

  Metadata:

    encoder         : VirtualDubMod 1.5.10.1 (build 2439/release)

  Duration: 00:41:31.12, start: 0.000000, bitrate: 1178 kb/s

    Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 640x352 [SAR 1:1 DAR 20:11], 25 tbr, 25 tbn, 25 tbc

    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 128 kb/s

At least one output file must be specified


DEBUG:pyTivo.video.transcode:aFreq=48000; aCh=2; container=avi; kbps=1178; mapAudio=[('0:1', ' mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 128 kb/s\r')]; vHeight=352; vCodec=mpeg4; Supported=True; aKbps=128; par=None; millisecs=2491120; vFps=25.00; par2=None; par1=None; mapVideo=0:0; vWidth=640; dar1=20:11; rawmeta={'encoder': [u'VirtualDubMod 1.5.10.1 (build 2439/release)']}; aCodec=mp3
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Supernatural\Season 1\Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Supernatural\Season 1\Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS.avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, G:\My Videos\TV Shows\Supernatural\Season 1\Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Supernatural\Season 1\Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Supernatural\Season 1\Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Supernatural\Season 1\Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Supernatural\Season 1\Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS.avi
DEBUG:pyTivo.video.transcode:tsn: ***************************
DEBUG:pyTivo.video.transcode:aspect169: False
DEBUG:pyTivo.video.transcode:optres: True
DEBUG:pyTivo.video.transcode:File=G:\My Videos\TV Shows\Supernatural\Season 1\Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS.avi vCodec=mpeg4 vWidth=640 vHeight=352 vFps=25.00 millisecs=2491120 TIVO_HEIGHT=480 TIVO_WIDTH=544
DEBUG:pyTivo.video.transcode:rheight=11 rwidth=20
DEBUG:pyTivo.video.transcode:File is within 16:9 list and 16:9 allowed.
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Supernatural\Season 1\Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Supernatural\Season 1\Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Supernatural\Season 1\Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Supernatural\Season 1\Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS.avi
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:set first detected audio stream by default: 0:1
DEBUG:pyTivo.video.transcode:selected audio stream: 0:1
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Supernatural\Season 1\Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Supernatural\Season 1\Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS.avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, G:\My Videos\TV Shows\Supernatural\Season 1\Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Supernatural\Season 1\Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! G:\My Videos\TV Shows\Supernatural\Season 1\Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS.avi
DEBUG:pyTivo.mind:__login
{'cams_security_domain': 'tivocom', 'cams_login_config': 'http', 'cams_cb_password': '***********', 'cams_original_url': '/mind/mind7?type=infoGet', 'cams_cb_username': '********************'}
INFO:pyTivo:127.0.0.1 [16/Aug/2013 13:18:38] "GET / HTTP/1.1" 200 -
DEBUG:pyTivo.mind:pcBodySearch
{}

<pcBodyList><isBottom>true</isBottom><isTop>true</isTop><pcBody><bucketNumber>-1</bucketNumber><levelOfDetail>low</levelOfDetail><name>pyTivo</name><pcBodyId>tivo:pc.1002412911</pcBodyId><type>pcBody</type></pcBody></pcBodyList>g
DEBUG:pyTivo.mind:bodyOfferModify&bodyId=tsn:******************
{'description': '', 'pcBodyId': 'tivo:pc.1002412911', 'publishDate': '2013-08-16 18:1838', 'partnerId': 'tivo:pt.3187', 'duration': 2491, 'size': 1443185760, 'title': 'Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS', 'url': 'http://192.168.1.101:9032/TV%20Shows/Supernatural/Season%201/Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS.avi?Format=video/mpeg', 'bodyId': 'tsn:**************', 'source': 'Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS', 'state': 'complete', 'encodingType': 'mpeg2ProgramStream', 'tvRating': 'nr'}

<bodyOffer><bodyId>tsn:*******************</bodyId><bodyOfferId>tivo:bo.15000011</bodyOfferId><createDate>2013-08-16 18:18:07</createDate><description /><duration>2491</duration><encodingType>mpeg2ProgramStream</encodingType><levelOfDetail>high</levelOfDetail><offerId>tivo:of.bs.15000011</offerId><partnerId>tivo:pt.3187</partnerId><pcBodyId>tivo:pc.1002412911</pcBodyId><publishDate>2013-08-18 00:38:00</publishDate><size>1443185760</size><source>Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS</source><state>complete</state><title>Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS</title><tvRating>nr</tvRating><updateDate>2013-08-16 18:18:07</updateDate><url>http://192.168.1.101:9032/TV%20Shows/Supernatural/Season%201/Supernatural.S01E05.Bloody.Mary.WS.DVDRip.XviD-SAiNTS.avi?Format=video/mpeg</url></bodyOffer>g
DEBUG:pyTivo.mind:subscribe&bodyId=tsn:*****************
{'uiType': 'cds', 'idSetSource': {'contentId': 'tivo:ct.bs.15000011', 'type': 'singleOfferSource', 'offerId': 'tivo:of.bs.15000011'}, 'bodyId': 'tsn:*****************', 'title': 'pcBodySubscription'}

<subscribeResult><subscription><autoRecord>true</autoRecord><bodyGeneratesCandidates>false</bodyGeneratesCandidates><bodyId>tsn:****************</bodyId><hdOnly>false</hdOnly><idSetSource><contentId>tivo:ct.bs.15000011</contentId><offerId>tivo:of.bs.15000011</offerId><type>singleOfferSource</type></idSetSource><isAdult>false</isAdult><isForKids>false</isForKids><levelOfDetail>high</levelOfDetail><showStatus>rerunsAllowed</showStatus><subscriptionId>tivo:sb.15000961</subscriptionId><title>pcBodySubscription</title><type>subscription</type><uiType>cds</uiType></subscription></subscribeResult>g
INFO:pyTivo:127.0.0.1 [16/Aug/2013 13:18:42] "GET /TiVoConnect?Command=NPL&Container=ToGo&TiVo=192.168.1.20 HTTP/1.1" 200 -

Are the two errors above related to my inability (STILL) to run pyTiVo properly? (Remember, I have to have a CMD window up and running for it to operate).

IS the reason "Broadchurch" failed to transfer with the latest "ffmpeg" because of the Original Aspect Ratio?

If yes..., I guess, I got to go back to my old ffmpeg again.


----------



## jcthorne

Thinking of adding a mini to work with the new Roamio and replace one of my Premieres that is in the kitchen.

Anyway, can a mini see PyTivo shares and pull video like the full TiVo it is connected to?


----------



## lpwcomp

jcthorne said:


> Thinking of adding a mini to work with the new Roamio and replace one of my Premieres that is in the kitchen.
> 
> Anyway, can a mini see PyTivo shares and pull video like the full TiVo it is connected to?


No. To where would you expect it to be pulled? The shares would have to visable to the mini in the NPL of the Premiere being browsed and then pulled to that Premier from whence they could be streamed to the mini. At this point, the only thing I can think of that doesn't involve directly accessing the Premiere would be to use the pyTivo browser interface to push the recording to the Premiere and wait for the xfer to complete.


----------



## larrs

lpwcomp said:


> No. To where would you expect it to be pulled? The shares would have to visable to the mini in the NPL of the Premiere being browsed and then pulled to that Premier from whence they could be streamed to the mini. At this point, the only thing I can think of that doesn't involve directly accessing the Premiere would be to use the pyTivo browser interface to push the recording to the Premiere and wait for the xfer to complete.


So the mini cannot stream the video from the Tivo while it is transferring from the PC to said Tivo?

If not, no minis for me except maybe in a workout room or kitchen where I would never need to watch my movie shares.


----------



## innocentfreak

larrs said:


> So the mini cannot stream the video from the Tivo while it is transferring from the PC to said Tivo?
> 
> If not, no minis for me except maybe in a workout room or kitchen where I would never need to watch my movie shares.


The Mini remote My Shows page works nearly the same as the TiVo to TiVo My Shows. You have never been able to pull shows to another TiVo through a TiVo.

You could use the web interface via mobile phone, tablet, or PC to push videos though to the TiVo you are viewing with the Mini.


----------



## lpwcomp

larrs said:


> So the mini cannot stream the video from the Tivo while it is transferring from the PC to said Tivo?
> 
> If not, no minis for me except maybe in a workout room or kitchen where I would never need to watch my movie shares.


I did not say that. There is just no way to initiate a pull from the Mini and I am not sure you can stream an in progress pushed recording.


----------



## monkeydust

I'm a new user to pyTivo and have watched a few shows I've transferred without issue. But, I transferred one the other day that plays fine but will not let me fast forward. I had stopped the show 1/4 of the way into it and came back to find it was back at the beginning. So, I tried to FF but it doesn't work. This a common issue with some shows and is there a fix for it? Thanks.


----------



## jhilla

monkeydust said:


> I'm a new user to pyTivo and have watched a few shows I've transferred without issue. But, I transferred one the other day that plays fine but will not let me fast forward. I had stopped the show 1/4 of the way into it and came back to find it was back at the beginning. So, I tried to FF but it doesn't work. This a common issue with some shows and is there a fix for it? Thanks.


To keep it easy and smooth, please make sure you are using "Wmcbrine's" fork.
https://github.com/wmcbrine/pytivo This is up to date and simplified.


----------



## monkeydust

jhilla said:


> To keep it easy and smooth, please make sure you are using "Wmcbrine's" fork.
> https://github.com/wmcbrine/pytivo This is up to date and simplified.


Yeah, that's the one I used as the Windows installation instructions recommended for first time users.


----------



## wmcbrine

monkeydust said:


> I transferred one the other day that plays fine but will not let me fast forward. I had stopped the show 1/4 of the way into it and came back to find it was back at the beginning. So, I tried to FF but it doesn't work. This a common issue with some shows and is there a fix for it? Thanks.


This is a common issue with MPEG-1 files (VCD, etc.). pyTivo will generally remux those before sending them; but if you have MPEG-2 video in an MPEG-1 container, pyTivo can't detect the need to remux. The solution in that case is to force pyTivo to remux, by giving the file a bogus container type, via the metadata file:

Override_container: foo


----------



## Soapm

This show plays very choppy, meaning when you see fast movement in a frame it appears very jerky like freeze frames. You can also hear garble in the sound. Do you see anything in my ffmpeg that might be causing this? The show plays fine on my laptop.

Any idea why it's dropping so many frames? Could that be the problem?



Code:


INFO:pyTivo:192.168.0.195 [02/Sep/2013 14:13:26] "GET /Lenny/Hill%20Street/07/S07E21%20Pound%20of%20Flesh,%20A.mkv?Format=video%2Fx-tivo-mpeg HTTP/1.1" 206 -
INFO:pyTivo.video.video:[02/Sep/2013 14:13:26] Start sending "/video/Hill Street/07/edited.mkv" to FamRoom
ffmpeg version 1.0.7 Copyright (c) 2000-2013 the FFmpeg developers
  built on Jul 19 2013 07:03:17 with gcc 4.7 (Debian 4.7.2-5)
  configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security ' --extra-ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir=/usr/lib/i386-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libfdk-aac --enable-libdc1394 --disable-altivec --disab  libavutil      51. 73.101 / 51. 73.101
  libavcodec     54. 59.100 / 54. 59.100
  libavformat    54. 29.104 / 54. 29.104
  libavdevice    54.  2.101 / 54.  2.101
  libavfilter     3. 17.100 /  3. 17.100
  libswscale      2.  1.101 /  2.  1.101
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
[matroska,webm @ 0x822cfa0] Unknown entry 0x80
Input #0, matroska,webm, from '/video/Hill Street/07/edited, A.mkv':
  Duration: 00:46:37.77, start: 0.000000, bitrate: 1514 kb/s
    Chapter #0.0: start 0.000000, end 2797.770000
    Metadata:
      title           : Chapter 01
    Stream #0:0(eng): Video: h264 (High), yuv420p, 720x480 [SAR 8:9 DAR 4:3], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
    Stream #0:1: Audio: mp3, 48000 Hz, stereo, s16, 160 kb/s (default)
Please use -b:a or -b:v, -b is ambiguous
Output #0, vob, to 'pipe:':
  Metadata:
    encoder         : Lavf54.29.104
    Chapter #0.0: start 0.000000, end 2797.770000
    Metadata:
      title           : Chapter 01
    Stream #0:0(eng): Video: mpeg2video, yuv420p, 720x480 [SAR 8:9 DAR 4:3], q=2-31, 8192 kb/s, 90k tbn, 23.98 tbc (default)
    Stream #0:1: Audio: ac3, 48000 Hz, stereo, flt, 448 kb/s (default)
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> mpeg2video)
  Stream #0:1 -> #0:1 (mp3 -> ac3)
Press [q] to stop, [?] for help
frame=   35 fps=0.0 q=2.0 size=     134kB time=00:00:01.45 bitrate= 752.6kbits/s dup=1 drop=6    
frame=   70 fps= 70 q=2.0 size=     314kB time=00:00:02.93 bitrate= 875.3kbits/s dup=1 drop=15    
frame=  105 fps= 70 q=2.0 size=     504kB time=00:00:04.30 bitrate= 958.7kbits/s dup=1 drop=23    
frame=  116 fps= 53 q=2.0 size=     600kB time=00:00:04.81 bitrate=1020.0kbits/s dup=1 drop=26    
frame=  137 fps= 51 q=2.0 size=     876kB time=00:00:05.72 bitrate=1254.0kbits/s dup=1 drop=31    
frame=  158 fps= 47 q=1.6 size=    1122kB time=00:00:06.55 bitrate=1402.3kbits/s dup=1 drop=37    
INFO:pyTivo:192.168.0.195 [02/Sep/2013 14:13:30] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [02/Sep/2013 14:13:30] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2FHill%20Street%2F07&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
frame=  181 fps= 47 q=2.0 size=    1382kB time=00:00:07.57 bitrate=1493.8kbits/s dup=1 drop=43    
frame=  197 fps= 40 q=2.0 size=    1604kB time=00:00:08.25 bitrate=1592.6kbits/s dup=1 drop=46    
frame=  222 fps= 41 q=2.0 size=    1900kB time=00:00:09.21 bitrate=1689.9kbits/s dup=1 drop=53    
INFO:pyTivo:192.168.0.195 [02/Sep/2013 14:13:32] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [02/Sep/2013 14:13:32] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2FHill%20Street&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FHill%2520Street%2F07&AnchorOffset=-7&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
frame=  243 fps= 38 q=2.0 size=    2152kB time=00:00:10.13 bitrate=1740.2kbits/s dup=1 drop=58    
frame=  268 fps= 39 q=2.0 size=    2436kB time=00:00:11.13 bitrate=1792.9kbits/s dup=1 drop=64    
INFO:pyTivo:192.168.0.195 [02/Sep/2013 14:13:34] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [02/Sep/2013 14:13:34] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FHill%2520Street&AnchorOffset=-4&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
frame=  287 fps= 36 q=2.0 size=    2646kB time=00:00:11.96 bitrate=1812.0kbits/s dup=1 drop=69    
frame=  311 fps= 37 q=2.0 size=    2924kB time=00:00:12.95 bitrate=1849.0kbits/s dup=1 drop=75    
frame=  335 fps= 34 q=2.0 size=    3150kB time=00:00:13.94 bitrate=1850.2kbits/s dup=1 drop=81    
frame=  359 fps= 35 q=2.0 size=    3408kB time=00:00:14.90 bitrate=1872.9kbits/s dup=1 drop=87


----------



## monkeydust

wmcbrine said:


> This is a common issue with MPEG-1 files (VCD, etc.). pyTivo will generally remux those before sending them; but if you have MPEG-2 video in an MPEG-1 container, pyTivo can't detect the need to remux. The solution in that case is to force pyTivo to remux, by giving the file a bogus container type, via the metadata file:
> 
> Override_container: foo


Sorry, how do I do that? I tried adding that to Global settings but it threw some error and wouldn't transfer.

EDIT: Nevermind. I deleted it and transferred it again, and now the FF is working properly.


----------



## wmcbrine

Soapm said:


> Do you see anything in my ffmpeg that might be causing this?


No. But, you might want to try a transfer method that won't reencode the video -- either a push, or a pull with the "ts = on" option added to your pyTivo.conf.



monkeydust said:


> Sorry, how do I do that?


A pyTivo metadata file is a text file with the name of the video file (including the extension), in the same directory*, with the added extension ".txt". This is one of the most fundamental things to know about when operating pyTivo. See: http://pytivo.sourceforge.net/wiki/index.php/Metadata



> _EDIT: Nevermind. I deleted it and transferred it again, and now the FF is working properly._


They say that the definition of insanity is doing the same thing, and expecting a different result. For that to actually _work_, something is very wrong. 

* There are other possible locations, but I'm keeping it simple.


----------



## Soapm

I put "ts = on" in the server section of the pyTivo.conf file and no difference detected.

I also found this old thread http://pytivo.sourceforge.net/forum/mkv-hd-720p-files-showing-choppy-sound-t1245.html that suggested reincoding the audio to ac3 using MKV2AC3. That worked for the audio. It's clear as a bell but the video is still choppy. I will keep searching to see if there is a fix for the video but I have to wonder why ffmpeg can't make these fixes???

I would hate to have to recode all these files since I have all seven seasons.

Thanks for the help.

ps....

i think from looking at this the ts = on didn't stop it from being encoded. The ac3 is passing strait through but the video is being converted from h264 to mpeg2video from my guess.



Code:


Output #0, vob, to 'pipe:':
  Metadata:
    encoder         : Lavf54.29.104
    Chapter #0.0: start 0.000000, end 2797.792000
    Metadata:
      title           : Chapter 01
    Stream #0:0(eng): Video: mpeg2video, yuv420p, 720x480 [SAR 8:9 DAR 4:3], q=2-31, 16384 kb/s, 90k tbn, 23.98 tbc (default)
    Stream #0:1: Audio: ac3, 48000 Hz, stereo, 448 kb/s (default) (forced)
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> mpeg2video)
  Stream #0:1 -> #0:1 (copy)


----------



## wmcbrine

Soapm said:


> I put "ts = on" in the server section of the pyTivo.conf file and no difference detected.


It only works with Series 4 or later (or AUS/NZ Series 3).

Try a push.


----------



## Soapm

wmcbrine said:


> It only works with Series 4 or later (or AUS/NZ Series 3).
> 
> Try a push.


Correct, that setting works on my Premier. I will try a push to the HD later but I generally have to wait for the complete show to transfer before I can watch it. Not sure why it does that???



Code:


Output #0, mpegts, to 'pipe:':
  Metadata:
    encoder         : Lavf54.29.104
    Chapter #0.0: start 0.000000, end 2796.635500
    Metadata:
      title           : Chapter 01
    Stream #0:0(eng): Video: h264, yuv420p, 720x480 [SAR 8:9 DAR 4:3], q=2-31, 23.98 fps, 90k tbn, 23.98 tbc (default)
    Stream #0:1: Audio: ac3, 48000 Hz, stereo, flt, 448 kb/s (default)
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (mp3 -> ac3)

Wow, with that setting the complete show transferred to the premier in less than 2 minutes. I can dig this setting...


----------



## Soapm

Now I can't get pushes to work. They queue but never send to the Tivo. I think this is the problem, any idea what this is saying?



Code:


ERROR:pyTivo.video.video:<urlopen error [Errno -2] Name or service not known>

Edit...

I think I figured it out, I'm not able to resolve mind.tivo.com so I change it to 204.176.49.65 and it worked.

I also noticed I can't use "git pull" to update pyTivo. This obviously has to do with my recent update to ipv6. I can do nslookup and it resolves fine so I wonder if there is a way to force pyTivo to use ip4 instead of ip6?

Edit...

never mind, figured it out, my router had again lost it's ipv6 address. I'm not happy with Comcast and ipv6 and don't know why the router doesn't use ipv4 when it looses the ipv6 address. They got some work to do before the general roll out.

Pushing to the TivoHD didn't make a difference with "ts = on". Looks like it still converted the file.



Code:


Output #0, vob, to 'pipe:':
  Metadata:
    encoder         : Lavf54.29.104
    Chapter #0.0: start 0.000000, end 2796.201750
    Metadata:
      title           : Chapter 01
    Stream #0:0(eng): Video: mpeg2video, yuv420p, 720x480 [SAR 8:9 DAR 4:3], q=2-31, 16384 kb/s, 90k tbn, 23.98 tbc (default)
    Stream #0:1: Audio: ac3, 48000 Hz, stereo, flt, 448 kb/s (default)
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> mpeg2video)
  Stream #0:1 -> #0:1 (mp3 -> ac3)


----------



## wmcbrine

ts = on isn't relevant to pushes. But you can push MP4s regardless of that setting. pyTivo should be making an MP4 of that... hmm... try starting with the version where you already converted the soundtrack to AC3?


----------



## Soapm

wmcbrine said:


> ts = on isn't relevant to pushes. But you can push MP4s regardless of that setting. pyTivo should be making an MP4 of that... hmm... try starting with the version where you already converted the soundtrack to AC3?


It worked on the version with the sound converted to ac3.



Code:


Output #0, mp4, to '/video/Hill Street/07/edited, A_ac3.mkv.pyTivo-temp':
  Metadata:
    encoder         : Lavf54.29.104
    Chapter #0.0: start 0.000000, end 2797.792000
    Metadata:
      title           : Chapter 01
    Stream #0:0(eng): Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 720x480 [SAR 8:9 DAR 4:3], q=2-31, 23.98 fps, 1k tbn, 1k tbc (default)
    Stream #0:1: Audio: ac3 ([165][0][0][0] / 0x00A5), 48000 Hz, stereo, 448 kb/s (default) (forced)
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)

I repushed the original and it now looks different also.



Code:


Output #0, mp4, to '/video/Hill Street/07/eddited, A.mkv.pyTivo-temp':
  Metadata:
    encoder         : Lavf54.29.104
    Chapter #0.0: start 0.000000, end 2797.770000
    Metadata:
      title           : Chapter 01
    Stream #0:0(eng): Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 720x480 [SAR 8:9 DAR 4:3], q=2-31, 23.98 fps, 1k tbn, 1k tbc (default)
    Stream #0:1: Audio: ac3 ([165][0][0][0] / 0x00A5), 48000 Hz, stereo, flt, 448 kb/s (default)
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (mp3 -> ac3)
Press [q] to stop, [?] for help


----------



## wmcbrine

So does it look any better?


----------



## Soapm

wmcbrine said:


> So does it look any better?


Can't watch it yet, says I have to wait about 2 hours before i can look at it.

Edited...

Whoops.. i have to change my response, it never actually pushed to the Tivo. According to the logs this is all it did then it stopped.



Code:


Output #0, mp4, to '/video/Hill Street/07/edited, A_ac3.mkv.pyTivo-temp':
  Metadata:
    encoder         : Lavf54.29.104
    Chapter #0.0: start 0.000000, end 2797.792000
    Metadata:
      title           : Chapter 01
    Stream #0:0(eng): Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 720x480 [SAR 8:9 DAR 4:3], q=2-31, 23.98 fps, 1k tbn, 1k tbc (default)
    Stream #0:1: Audio: ac3 ([165][0][0][0] / 0x00A5), 48000 Hz, stereo, 448 kb/s (default) (forced)
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame= 4451 fps=0.0 q=-1.0 size=   31340kB time=00:02:28.60 bitrate=1727.6kbits/s    
frame= 8586 fps=8585 q=-1.0 size=   66354kB time=00:04:46.59 bitrate=1896.7kbits/s    
frame=11681 fps=7786 q=-1.0 size=   91432kB time=00:06:29.85 bitrate=1921.3kbits/s    
frame=14765 fps=7381 q=-1.0 size=  112910kB time=00:08:12.76 bitrate=1877.1kbits/s    
frame=17585 fps=7014 q=-1.0 size=  132933kB time=00:09:46.97 bitrate=1855.3kbits/s    
frame=19370 fps=6442 q=-1.0 size=  147118kB time=00:10:46.36 bitrate=1864.6kbits/s    
frame=21571 fps=6150 q=-1.0 size=  165402kB time=00:11:59.90 bitrate=1882.2kbits/s    
frame=23419 fps=5844 q=-1.0 size=  184213kB time=00:13:01.47 bitrate=1931.1kbits/s    
frame=25907 fps=5745 q=-1.0 size=  202390kB time=00:14:24.54 bitrate=1917.7kbits/s    
frame=27985 fps=5587 q=-1.0 size=  215313kB time=00:15:33.92 bitrate=1888.6kbits/s    
frame=30196 fps=5481 q=-1.0 size=  233871kB time=00:16:47.71 bitrate=1901.2kbits/s    
frame=31153 fps=5175 q=-1.0 size=  243235kB time=00:17:19.58 bitrate=1916.7kbits/s    
frame=33746 fps=5176 q=-1.0 size=  262380kB time=00:18:46.04 bitrate=1908.8kbits/s    
frame=36527 fps=5203 q=-1.0 size=  283925kB time=00:20:18.94 bitrate=1908.1kbits/s    
frame=38642 fps=5138 q=-1.0 size=  300832kB time=00:21:29.56 bitrate=1911.0kbits/s    
frame=42095 fps=5248 q=-1.0 size=  323908kB time=00:23:24.57 bitrate=1889.2kbits/s    
frame=45020 fps=5284 q=-1.0 size=  347106kB time=00:25:02.24 bitrate=1892.8kbits/s    
frame=48818 fps=5412 q=-1.0 size=  368755kB time=00:27:09.02 bitrate=1854.4kbits/s    
frame=51673 fps=5427 q=-1.0 size=  390354kB time=00:28:44.41 bitrate=1854.4kbits/s    
frame=54725 fps=5461 q=-1.0 size=  413900kB time=00:30:26.04 bitrate=1856.8kbits/s    
frame=57605 fps=5475 q=-1.0 size=  434977kB time=00:32:02.14 bitrate=1853.8kbits/s    
frame=60536 fps=5492 q=-1.0 size=  451691kB time=00:33:39.96 bitrate=1831.8kbits/s    
frame=63155 fps=5480 q=-1.0 size=  470306kB time=00:35:07.36 bitrate=1828.2kbits/s    
frame=66338 fps=5517 q=-1.0 size=  491793kB time=00:36:53.60 bitrate=1820.0kbits/s    
frame=68755 fps=5472 q=-1.0 size=  508152kB time=00:38:14.24 bitrate=1814.4kbits/s    
frame=71963 fps=5508 q=-1.0 size=  530042kB time=00:40:01.21 bitrate=1808.3kbits/s    
frame=74489 fps=5491 q=-1.0 size=  548855kB time=00:41:25.53 bitrate=1809.0kbits/s    
frame=76074 fps=5402 q=-1.0 size=  562379kB time=00:42:18.46 bitrate=1814.9kbits/s    
frame=79117 fps=5425 q=-1.0 size=  582070kB time=00:44:00.00 bitrate=1806.2kbits/s    
frame=81641 fps=5408 q=-1.0 size=  599187kB time=00:45:24.19 bitrate=1801.8kbits/s    
frame=83848 fps=5363 q=-1.0 Lsize=  615330kB time=00:46:37.79 bitrate=1801.7kbits/s    
video:460304kB audio:153004kB subtitle:0 global headers:0kB muxing overhead 0.329737%

Same with the second push with the original file... It stopped itself also.



Code:


Output #0, mp4, to '/video/Hill Street/07/edited, A.mkv.pyTivo-temp':
  Metadata:
    encoder         : Lavf54.29.104
    Chapter #0.0: start 0.000000, end 2797.770000
    Metadata:
      title           : Chapter 01
    Stream #0:0(eng): Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 720x480 [SAR 8:9 DAR 4:3], q=2-31, 23.98 fps, 1k tbn, 1k tbc (default)
    Stream #0:1: Audio: ac3 ([165][0][0][0] / 0x00A5), 48000 Hz, stereo, flt, 448 kb/s (default)
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (mp3 -> ac3)
Press [q] to stop, [?] for help
frame=  293 fps=0.0 q=-1.0 size=    1470kB time=00:00:09.81 bitrate=1226.1kbits/s    
frame=  766 fps=766 q=-1.0 size=    4012kB time=00:00:25.53 bitrate=1287.4kbits/s    
frame= 1240 fps=826 q=-1.0 size=    6708kB time=00:00:41.43 bitrate=1326.2kbits/s    
frame= 1700 fps=850 q=-1.0 size=   10333kB time=00:00:56.75 bitrate=1491.5kbits/s    
frame= 2169 fps=867 q=-1.0 size=   13636kB time=00:01:12.40 bitrate=1542.8kbits/s    
frame= 2470 fps=823 q=-1.0 size=   16167kB time=00:01:22.51 bitrate=1605.1kbits/s    
frame= 2744 fps=784 q=-1.0 size=   18628kB time=00:01:31.54 bitrate=1666.9kbits/s    
frame= 3219 fps=804 q=-1.0 size=   22020kB time=00:01:47.37 bitrate=1679.9kbits/s    
frame= 3676 fps=817 q=-1.0 size=   25834kB time=00:02:02.73 bitrate=1724.2kbits/s    
frame= 4151 fps=830 q=-1.0 size=   29089kB time=00:02:18.52 bitrate=1720.3kbits/s    
frame= 4624 fps=840 q=-1.0 size=   32571kB time=00:02:34.33 bitrate=1728.9kbits/s    
frame= 5081 fps=846 q=-1.0 size=   36078kB time=00:02:49.56 bitrate=1743.0kbits/s    
frame= 5537 fps=851 q=-1.0 size=   39961kB time=00:03:04.73 bitrate=1772.1kbits/s    
frame= 5989 fps=855 q=-1.0 size=   43803kB time=00:03:19.86 bitrate=1795.4kbits/s    
frame= 6436 fps=858 q=-1.0 size=   47981kB time=00:03:34.74 bitrate=1830.3kbits/s    
frame= 6887 fps=860 q=-1.0 size=   51953kB time=00:03:49.87 bitrate=1851.5kbits/s    
frame= 7343 fps=863 q=-1.0 size=   56021kB time=00:04:05.01 bitrate=1873.0kbits/s    
frame= 7801 fps=866 q=-1.0 size=   59658kB time=00:04:20.34 bitrate=1877.2kbits/s    
frame= 8200 fps=863 q=-1.0 size=   62898kB time=00:04:33.69 bitrate=1882.6kbits/s    
frame= 8546 fps=854 q=-1.0 size=   65908kB time=00:04:45.14 bitrate=1893.5kbits/s    
frame= 9011 fps=858 q=-1.0 size=   70040kB time=00:05:00.66 bitrate=1908.3kbits/s    
frame= 9488 fps=862 q=-1.0 size=   73660kB time=00:05:16.60 bitrate=1905.9kbits/s    
frame= 9952 fps=865 q=-1.0 size=   77889kB time=00:05:32.05 bitrate=1921.5kbits/s    
frame=10424 fps=868 q=-1.0 size=   81523kB time=00:05:47.89 bitrate=1919.6kbits/s    
frame=10899 fps=871 q=-1.0 size=   85237kB time=00:06:03.67 bitrate=1920.0kbits/s    
frame=11381 fps=875 q=-1.0 size=   88940kB time=00:06:19.77 bitrate=1918.5kbits/s    
frame=11852 fps=877 q=-1.0 size=   93225kB time=00:06:35.51 bitrate=1930.9kbits/s    
frame=12340 fps=881 q=-1.0 size=   96806kB time=00:06:51.80 bitrate=1925.8kbits/s    
frame=12793 fps=882 q=-1.0 size=   99697kB time=00:07:06.90 bitrate=1913.1kbits/s    
frame=13167 fps=877 q=-1.0 size=  101992kB time=00:07:19.35 bitrate=1901.7kbits/s    
frame=13572 fps=875 q=-1.0 size=  105013kB time=00:07:32.94 bitrate=1899.3kbits/s    
frame=14020 fps=876 q=-1.0 size=  108618kB time=00:07:47.83 bitrate=1901.9kbits/s    
frame=14497 fps=878 q=-1.0 size=  111316kB time=00:08:03.68 bitrate=1885.3kbits/s    
frame=14986 fps=881 q=-1.0 size=  114071kB time=00:08:20.12 bitrate=1868.5kbits/s    
frame=15481 fps=884 q=-1.0 size=  116796kB time=00:08:36.53 bitrate=1852.3kbits/s    
frame=15961 fps=886 q=-1.0 size=  120437kB time=00:08:52.60 bitrate=1852.4kbits/s    
frame=16429 fps=887 q=-1.0 size=  124185kB time=00:09:08.18 bitrate=1855.8kbits/s    
frame=16900 fps=889 q=-1.0 size=  127615kB time=00:09:23.98 bitrate=1853.6kbits/s    
frame=17374 fps=890 q=-1.0 size=  131109kB time=00:09:39.76 bitrate=1852.6kbits/s    
frame=17834 fps=891 q=-1.0 size=  134612kB time=00:09:55.15 bitrate=1852.9kbits/s    
frame=18227 fps=889 q=-1.0 size=  137741kB time=00:10:08.21 bitrate=1855.2kbits/s    
frame=18597 fps=885 q=-1.0 size=  140435kB time=00:10:20.53 bitrate=1853.9kbits/s    
frame=18914 fps=879 q=-1.0 size=  142953kB time=00:10:31.09 bitrate=1855.6kbits/s    
frame=19267 fps=875 q=-1.0 size=  146348kB time=00:10:42.90 bitrate=1864.8kbits/s    
frame=19706 fps=875 q=-1.0 size=  149290kB time=00:10:57.56 bitrate=1859.9kbits/s    
frame=20192 fps=877 q=-1.0 size=  152631kB time=00:11:13.78 bitrate=1855.7kbits/s    
frame=20671 fps=879 q=-1.0 size=  155946kB time=00:11:29.71 bitrate=1852.2kbits/s    
frame=21126 fps=880 q=-1.0 size=  160094kB time=00:11:44.92 bitrate=1860.5kbits/s    
frame=21556 fps=879 q=-1.0 size=  165211kB time=00:11:59.32 bitrate=1881.5kbits/s    
frame=22015 fps=880 q=-1.0 size=  169745kB time=00:12:14.65 bitrate=1892.8kbits/s    
frame=22465 fps=880 q=-1.0 size=  174521kB time=00:12:29.54 bitrate=1907.4kbits/s    
frame=22918 fps=881 q=-1.0 size=  179080kB time=00:12:44.75 bitrate=1918.3kbits/s    
frame=23375 fps=881 q=-1.0 size=  183800kB time=00:12:59.96 bitrate=1930.5kbits/s    
frame=23836 fps=882 q=-1.0 size=  187785kB time=00:13:15.37 bitrate=1934.1kbits/s    
frame=24302 fps=883 q=-1.0 size=  191539kB time=00:13:30.90 bitrate=1935.0kbits/s    
frame=24776 fps=884 q=-1.0 size=  195232kB time=00:13:46.71 bitrate=1934.6kbits/s    
frame=25268 fps=886 q=-1.0 size=  198362kB time=00:14:03.13 bitrate=1927.3kbits/s    
frame=25750 fps=887 q=-1.0 size=  201365kB time=00:14:19.25 bitrate=1919.8kbits/s    
frame=26233 fps=889 q=-1.0 size=  204290kB time=00:14:35.29 bitrate=1912.0kbits/s    
frame=26716 fps=890 q=-1.0 size=  207375kB time=00:14:51.50 bitrate=1905.6kbits/s    
frame=27199 fps=891 q=-1.0 size=  210395kB time=00:15:07.57 bitrate=1899.1kbits/s    
frame=27682 fps=892 q=-1.0 size=  213491kB time=00:15:23.70 bitrate=1893.4kbits/s    
frame=28166 fps=894 q=-1.0 size=  216685kB time=00:15:39.92 bitrate=1888.5kbits/s    
frame=28606 fps=893 q=-1.0 size=  219971kB time=00:15:54.49 bitrate=1887.9kbits/s    
frame=29026 fps=893 q=-1.0 size=  224022kB time=00:16:08.56 bitrate=1894.8kbits/s    
frame=29382 fps=890 q=-1.0 size=  227082kB time=00:16:20.44 bitrate=1897.4kbits/s    
frame=29854 fps=891 q=-1.0 size=  231062kB time=00:16:36.18 bitrate=1900.1kbits/s    
frame=30331 fps=891 q=-1.0 size=  235007kB time=00:16:52.05 bitrate=1902.2kbits/s    
frame=30781 fps=892 q=-1.0 size=  239263kB time=00:17:07.09 bitrate=1908.3kbits/s    
frame=31135 fps=889 q=-1.0 size=  243044kB time=00:17:18.86 bitrate=1916.5kbits/s    
frame=31465 fps=886 q=-1.0 size=  245905kB time=00:17:29.94 bitrate=1918.6kbits/s    
frame=31795 fps=883 q=-1.0 size=  248683kB time=00:17:40.91 bitrate=1920.2kbits/s    
frame=32078 fps=878 q=-1.0 size=  251352kB time=00:17:50.41 bitrate=1923.6kbits/s    
frame=32534 fps=879 q=-1.0 size=  254675kB time=00:18:05.58 bitrate=1921.8kbits/s    
frame=33019 fps=880 q=-1.0 size=  257421kB time=00:18:21.81 bitrate=1913.9kbits/s    
frame=33514 fps=881 q=-1.0 size=  260486kB time=00:18:38.29 bitrate=1908.2kbits/s    
frame=33976 fps=882 q=-1.0 size=  264339kB time=00:18:53.75 bitrate=1910.0kbits/s    
frame=34450 fps=883 q=-1.0 size=  268117kB time=00:19:09.45 bitrate=1910.8kbits/s    
frame=34928 fps=884 q=-1.0 size=  271828kB time=00:19:25.42 bitrate=1910.7kbits/s    
frame=35410 fps=885 q=-1.0 size=  275321kB time=00:19:41.58 bitrate=1908.8kbits/s    
frame=35881 fps=885 q=-1.0 size=  279281kB time=00:19:57.21 bitrate=1911.0kbits/s    
frame=36355 fps=886 q=-1.0 size=  282752kB time=00:20:13.04 bitrate=1909.5kbits/s    
frame=36826 fps=887 q=-1.0 size=  286279kB time=00:20:28.79 bitrate=1908.5kbits/s    
frame=37295 fps=887 q=-1.0 size=  290256kB time=00:20:44.44 bitrate=1910.7kbits/s    
frame=37778 fps=888 q=-1.0 size=  294007kB time=00:21:00.53 bitrate=1910.7kbits/s    
frame=38258 fps=889 q=-1.0 size=  297408kB time=00:21:16.59 bitrate=1908.5kbits/s    
frame=38725 fps=890 q=-1.0 size=  301609kB time=00:21:32.15 bitrate=1912.1kbits/s    
frame=39220 fps=891 q=-1.0 size=  304644kB time=00:21:48.69 bitrate=1907.0kbits/s    
frame=39715 fps=892 q=-1.0 size=  307495kB time=00:22:05.17 bitrate=1900.9kbits/s    
frame=40210 fps=893 q=-1.0 size=  310646kB time=00:22:21.69 bitrate=1896.7kbits/s    
frame=40703 fps=894 q=-1.0 size=  313823kB time=00:22:38.13 bitrate=1892.9kbits/s    
frame=41198 fps=895 q=-1.0 size=  316736kB time=00:22:54.65 bitrate=1887.5kbits/s    
frame=41653 fps=895 q=-1.0 size=  320499kB time=00:23:09.85 bitrate=1889.1kbits/s    
frame=42045 fps=894 q=-1.0 size=  323504kB time=00:23:22.87 bitrate=1889.1kbits/s    
frame=42500 fps=894 q=-1.0 size=  327114kB time=00:23:38.10 bitrate=1889.6kbits/s    
frame=42961 fps=894 q=-1.0 size=  331116kB time=00:23:53.46 bitrate=1892.3kbits/s    
frame=43436 fps=895 q=-1.0 size=  334446kB time=00:24:09.36 bitrate=1890.3kbits/s    
frame=43912 fps=896 q=-1.0 size=  337749kB time=00:24:25.26 bitrate=1888.3kbits/s    
frame=44373 fps=896 q=-1.0 size=  341836kB time=00:24:40.60 bitrate=1891.3kbits/s    
frame=44837 fps=896 q=-1.0 size=  345960kB time=00:24:56.02 bitrate=1894.4kbits/s    
frame=45316 fps=897 q=-1.0 size=  349189kB time=00:25:12.05 bitrate=1891.8kbits/s    
frame=45721 fps=896 q=-1.0 size=  351669kB time=00:25:25.55 bitrate=1888.4kbits/s    
frame=46183 fps=896 q=-1.0 size=  354194kB time=00:25:40.98 bitrate=1882.9kbits/s    
frame=46654 fps=897 q=-1.0 size=  356689kB time=00:25:56.69 bitrate=1877.1kbits/s    
frame=47150 fps=897 q=-1.0 size=  359405kB time=00:26:13.27 bitrate=1871.4kbits/s    
frame=47651 fps=898 q=-1.0 size=  362217kB time=00:26:29.94 bitrate=1866.3kbits/s    
frame=48146 fps=899 q=-1.0 size=  364989kB time=00:26:46.52 bitrate=1861.2kbits/s    
frame=48640 fps=900 q=-1.0 size=  367761kB time=00:27:03.00 bitrate=1856.2kbits/s    
frame=49123 fps=901 q=-1.0 size=  370499kB time=00:27:19.09 bitrate=1851.7kbits/s    
frame=49487 fps=899 q=-1.0 size=  372935kB time=00:27:31.25 bitrate=1850.2kbits/s    
frame=49834 fps=897 q=-1.0 size=  375891kB time=00:27:42.77 bitrate=1851.9kbits/s    
frame=50169 fps=895 q=-1.0 size=  378373kB time=00:27:53.94 bitrate=1851.7kbits/s    
frame=50423 fps=892 q=-1.0 size=  379999kB time=00:28:02.51 bitrate=1850.2kbits/s    
frame=50905 fps=892 q=-1.0 size=  383783kB time=00:28:18.55 bitrate=1851.0kbits/s    
frame=51380 fps=893 q=-1.0 size=  387940kB time=00:28:34.39 bitrate=1853.7kbits/s    
frame=51857 fps=893 q=-1.0 size=  391621kB time=00:28:50.35 bitrate=1854.0kbits/s    
frame=52332 fps=894 q=-1.0 size=  395349kB time=00:29:06.23 bitrate=1854.7kbits/s    
frame=52808 fps=894 q=-1.0 size=  399119kB time=00:29:22.04 bitrate=1855.6kbits/s    
frame=53278 fps=895 q=-1.0 size=  402964kB time=00:29:37.72 bitrate=1856.9kbits/s    
frame=53753 fps=895 q=-1.0 size=  406862kB time=00:29:53.62 bitrate=1858.3kbits/s    
frame=54226 fps=895 q=-1.0 size=  410479kB time=00:30:09.42 bitrate=1858.4kbits/s    
frame=54710 fps=896 q=-1.0 size=  413806kB time=00:30:25.53 bitrate=1856.9kbits/s    
frame=55183 fps=896 q=-1.0 size=  417224kB time=00:30:41.27 bitrate=1856.3kbits/s    
frame=55666 fps=897 q=-1.0 size=  420505kB time=00:30:57.36 bitrate=1854.7kbits/s    
frame=56126 fps=897 q=-1.0 size=  423939kB time=00:31:12.82 bitrate=1854.4kbits/s    
frame=56605 fps=898 q=-1.0 size=  427375kB time=00:31:28.72 bitrate=1853.7kbits/s    
frame=57077 fps=898 q=-1.0 size=  431262kB time=00:31:44.49 bitrate=1855.0kbits/s    
frame=57560 fps=898 q=-1.0 size=  434733kB time=00:32:00.60 bitrate=1854.3kbits/s    
frame=58055 fps=899 q=-1.0 size=  437537kB time=00:32:17.14 bitrate=1850.3kbits/s    
frame=58550 fps=900 q=-1.0 size=  440350kB time=00:32:33.65 bitrate=1846.5kbits/s    
frame=59050 fps=901 q=-1.0 size=  443107kB time=00:32:50.26 bitrate=1842.4kbits/s    
frame=59530 fps=901 q=-1.0 size=  445642kB time=00:33:06.33 bitrate=1837.9kbits/s    
frame=60015 fps=902 q=-1.0 size=  448410kB time=00:33:22.49 bitrate=1834.4kbits/s    
frame=60421 fps=901 q=-1.0 size=  450977kB time=00:33:36.09 bitrate=1832.5kbits/s    
frame=60778 fps=900 q=-1.0 size=  453182kB time=00:33:47.99 bitrate=1830.6kbits/s    
frame=61144 fps=898 q=-1.0 size=  455482kB time=00:34:00.14 bitrate=1828.9kbits/s    
frame=61456 fps=896 q=-1.0 size=  457330kB time=00:34:10.65 bitrate=1827.0kbits/s    
frame=61958 fps=897 q=-1.0 size=  460679kB time=00:34:27.35 bitrate=1825.5kbits/s    
frame=62449 fps=898 q=-1.0 size=  464506kB time=00:34:43.76 bitrate=1826.1kbits/s    
frame=62935 fps=898 q=-1.0 size=  468796kB time=00:35:00.01 bitrate=1828.7kbits/s    
frame=63425 fps=899 q=-1.0 size=  471925kB time=00:35:16.30 bitrate=1826.8kbits/s    
frame=63922 fps=899 q=-1.0 size=  474811kB time=00:35:32.92 bitrate=1823.6kbits/s    
frame=64414 fps=900 q=-1.0 size=  477733kB time=00:35:49.33 bitrate=1820.8kbits/s    
frame=64901 fps=901 q=-1.0 size=  480611kB time=00:36:05.49 bitrate=1818.1kbits/s    
frame=65372 fps=901 q=-1.0 size=  484499kB time=00:36:21.27 bitrate=1819.6kbits/s    
frame=65847 fps=901 q=-1.0 size=  488107kB time=00:36:37.13 bitrate=1819.9kbits/s    
frame=66329 fps=902 q=-1.0 size=  491723kB time=00:36:53.20 bitrate=1820.1kbits/s    
frame=66812 fps=902 q=-1.0 size=  495290kB time=00:37:09.33 bitrate=1820.0kbits/s    
frame=67300 fps=903 q=-1.0 size=  498705kB time=00:37:25.59 bitrate=1819.3kbits/s    
frame=67789 fps=903 q=-1.0 size=  502075kB time=00:37:41.88 bitrate=1818.4kbits/s    
frame=68276 fps=903 q=-1.0 size=  505029kB time=00:37:58.17 bitrate=1816.0kbits/s    
frame=68761 fps=904 q=-1.0 size=  508186kB time=00:38:14.29 bitrate=1814.5kbits/s    
frame=69253 fps=904 q=-1.0 size=  511254kB time=00:38:30.77 bitrate=1812.5kbits/s    
frame=69744 fps=905 q=-1.0 size=  514196kB time=00:38:47.09 bitrate=1810.1kbits/s    
frame=70242 fps=906 q=-1.0 size=  517267kB time=00:39:03.77 bitrate=1808.0kbits/s    
frame=70723 fps=906 q=-1.0 size=  520140kB time=00:39:19.83 bitrate=1805.6kbits/s    
frame=71200 fps=906 q=-1.0 size=  523842kB time=00:39:35.67 bitrate=1806.4kbits/s    
frame=71672 fps=906 q=-1.0 size=  527536kB time=00:39:51.51 bitrate=1807.0kbits/s    
frame=72139 fps=907 q=-1.0 size=  531573kB time=00:40:07.03 bitrate=1809.1kbits/s    
frame=72509 fps=906 q=-1.0 size=  534289kB time=00:40:19.41 bitrate=1809.1kbits/s    
frame=72961 fps=906 q=-1.0 size=  537693kB time=00:40:34.55 bitrate=1809.3kbits/s    
frame=73442 fps=906 q=-1.0 size=  541128kB time=00:40:50.55 bitrate=1808.9kbits/s    
frame=73915 fps=906 q=-1.0 size=  544511kB time=00:41:06.38 bitrate=1808.6kbits/s    
frame=74398 fps=906 q=-1.0 size=  547997kB time=00:41:22.45 bitrate=1808.4kbits/s    
frame=74851 fps=906 q=-1.0 size=  552136kB time=00:41:37.53 bitrate=1811.0kbits/s    
frame=75211 fps=905 q=-1.0 size=  555288kB time=00:41:49.55 bitrate=1812.6kbits/s    
frame=75670 fps=905 q=-1.0 size=  558658kB time=00:42:04.88 bitrate=1812.6kbits/s    
frame=76129 fps=905 q=-1.0 size=  562948kB time=00:42:20.21 bitrate=1815.5kbits/s    
frame=76576 fps=905 q=-1.0 size=  567094kB time=00:42:35.09 bitrate=1818.2kbits/s    
frame=77056 fps=906 q=-1.0 size=  570626kB time=00:42:51.18 bitrate=1818.1kbits/s    
frame=77516 fps=906 q=-1.0 size=  573256kB time=00:43:06.49 bitrate=1815.6kbits/s    
frame=77872 fps=905 q=-1.0 size=  575209kB time=00:43:18.29 bitrate=1813.5kbits/s    
frame=78262 fps=904 q=-1.0 size=  577318kB time=00:43:31.35 bitrate=1811.1kbits/s    
frame=78637 fps=903 q=-1.0 size=  579454kB time=00:43:43.86 bitrate=1809.1kbits/s    
frame=79006 fps=902 q=-1.0 size=  581476kB time=00:43:56.21 bitrate=1806.9kbits/s    
frame=79501 fps=903 q=-1.0 size=  584223kB time=00:44:12.76 bitrate=1804.1kbits/s    
frame=80002 fps=903 q=-1.0 size=  587327kB time=00:44:29.43 bitrate=1802.4kbits/s    
frame=80491 fps=904 q=-1.0 size=  590540kB time=00:44:45.69 bitrate=1801.3kbits/s    
frame=80984 fps=904 q=-1.0 size=  593671kB time=00:45:02.19 bitrate=1799.8kbits/s    
frame=81450 fps=904 q=-1.0 size=  597328kB time=00:45:17.78 bitrate=1800.5kbits/s    
frame=81910 fps=904 q=-1.0 size=  601417kB time=00:45:33.11 bitrate=1802.6kbits/s    
frame=82400 fps=905 q=-1.0 size=  604545kB time=00:45:49.43 bitrate=1801.3kbits/s    
frame=82897 fps=905 q=-1.0 size=  607241kB time=00:46:06.04 bitrate=1798.4kbits/s    
frame=83388 fps=906 q=-1.0 size=  610256kB time=00:46:22.39 bitrate=1796.7kbits/s    
st:0 PTS: 512 DTS: 512 < 134292225 invalid, clipping
[mp4 @ 0x8a1b460] st:0 PTS: 2048 DTS: 2048 < 134292226 invalid, clipping
[mp4 @ 0x8a1b460] st:0 PTS: 3584 DTS: 3584 < 134292227 invalid, clipping
frame=83848 fps=905 q=-1.0 Lsize=  615730kB time=00:46:37.78 bitrate=1802.9kbits/s    
video:460304kB audio:153010kB subtitle:0 global headers:0kB muxing overhead 0.393956%


----------



## Soapm

Since I was getting inconsistent results I restarted pytivo (service pyTivo restart) and tried again. I pushed the sound modified version first then decided to push the original about a minute later. The strange thing is, the second push went to the Tivo first and it appears it went strait through without even calling for ffmpeg and it had temp added to the file name "edited, A.mkv.pyTivo-temp". The video was fine but the sound had the garble effect.

Now the modified version is pushing but I guess since it's using ffmpeg to modify the video I have another 1 and 49 minutes to wait before I can look at it. I noticed when the first one pushed I could look at it right away and it completely pushed in about 2 minutes.

When the modified version finished I will reboot both the tivo and server just to see if I can get consistency. I know things are easier to troubleshoot when you get a consistent problem.



Code:


INFO:pyTivo:Last modified: Tue Sep  3 00:51:48 2013
INFO:pyTivo:Python: 2.7.3
INFO:pyTivo:System: Linux-3.2.0-4-686-pae-i686-with-debian-7.1
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:TivoHD
INFO:pyTivo.beacon:Other
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: DVDs
INFO:pyTivo.beacon:Registering: Lenny
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.0.195 [03/Sep/2013 12:51:28] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.0.182 [03/Sep/2013 12:51:28] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.0.198 [03/Sep/2013 12:51:29] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.198 [03/Sep/2013 12:51:33] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny/Hill%20Street&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.198 [03/Sep/2013 12:51:34] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny/Hill%20Street/07&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo.video.video:[03/Sep/2013 12:51:40] Queued "/video/Hill Street/07/edited, A_ac3.mkv" for Push to TivoHD
INFO:pyTivo:192.168.0.198 [03/Sep/2013 12:51:40] "POST /TiVoConnect HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.198 [03/Sep/2013 12:51:45] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny/Hill%20Street/07&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo.video.video:[03/Sep/2013 12:52:33] Queued "/video/Hill Street/07/edited, A.mkv" for Push to TivoHD
INFO:pyTivo:192.168.0.198 [03/Sep/2013 12:52:33] "POST /TiVoConnect HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.198 [03/Sep/2013 12:52:38] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny/Hill%20Street/07&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [03/Sep/2013 12:54:44] "GET /Lenny/Hill%20Street/07/S07E21%20Pound%20of%20Flesh,%20A.mkv.pyTivo-temp?Format=video%2Fmp4 HTTP/1.1" 200 -
INFO:pyTivo.video.video:[03/Sep/2013 12:54:44] Start sending "/video/Hill Street/07/edited, A.mkv.pyTivo-temp" to TivoHD
INFO:pyTivo.video.qt-faststart:Removing free atom at 32 (8 bytes)
INFO:pyTivo.video.qt-faststart:Patching stco with 78827 entries
INFO:pyTivo.video.qt-faststart:Patching stco with 78827 entries
INFO:pyTivo.video.qt-faststart:Writing output...
INFO:pyTivo.video.video:[03/Sep/2013 12:58:36] Done sending "/video/Hill Street/07/edited, A.mkv.pyTivo-temp" to TivoHD, 630507106 bytes, 20.67 Mb/s
INFO:pyTivo:192.168.0.195 [03/Sep/2013 13:00:26] "GET /Lenny/Hill%20Street/07/S07E21%20Pound%20of%20Flesh,%20A_ac3.mkv?Format=video%2Fmpeg HTTP/1.1" 206 -
INFO:pyTivo.video.video:[03/Sep/2013 13:00:26] Start sending "/video/Hill Street/07/edited, A_ac3.mkv" to TivoHD
ffmpeg version 1.0.7 Copyright (c) 2000-2013 the FFmpeg developers
  built on Jul 19 2013 07:03:17 with gcc 4.7 (Debian 4.7.2-5)
  configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security ' --extra-ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir=/usr/lib/i386-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libfdk-aac --enable-libdc1394 --disable-altivec --disab  libavutil      51. 73.101 / 51. 73.101
  libavcodec     54. 59.100 / 54. 59.100
  libavformat    54. 29.104 / 54. 29.104
  libavdevice    54.  2.101 / 54.  2.101
  libavfilter     3. 17.100 /  3. 17.100
  libswscale      2.  1.101 /  2.  1.101
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
Input #0, matroska,webm, from '/video/Hill Street/07/edited, A_ac3.mkv':
  Metadata:
    creation_time   : 2013-09-03 00:22:00
  Duration: 00:46:37.79, start: 0.000000, bitrate: 1797 kb/s
    Chapter #0.0: start 0.000000, end 2797.792000
    Metadata:
      title           : Chapter 01
    Stream #0:0(eng): Video: h264 (High), yuv420p, 720x480 [SAR 8:9 DAR 4:3], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
    Stream #0:1: Audio: ac3, 48000 Hz, stereo, s16, 448 kb/s (default) (forced)
Please use -b:a or -b:v, -b is ambiguous
Output #0, vob, to 'pipe:':
  Metadata:
    encoder         : Lavf54.29.104
    Chapter #0.0: start 0.000000, end 2797.792000
    Metadata:
      title           : Chapter 01
    Stream #0:0(eng): Video: mpeg2video, yuv420p, 720x480 [SAR 8:9 DAR 4:3], q=2-31, 16384 kb/s, 90k tbn, 23.98 tbc (default)
    Stream #0:1: Audio: ac3, 48000 Hz, stereo, 448 kb/s (default) (forced)
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> mpeg2video)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=   35 fps=0.0 q=2.0 size=     134kB time=00:00:01.53 bitrate= 714.7kbits/s dup=1 drop=6    
frame=   74 fps= 72 q=1.6 size=     342kB time=00:00:03.10 bitrate= 902.6kbits/s dup=1 drop=16    
frame=  109 fps= 71 q=2.0 size=     530kB time=00:00:04.60 bitrate= 942.2kbits/s dup=1 drop=25    
frame=  115 fps= 21 q=2.0 size=     590kB time=00:00:04.89 bitrate= 987.2kbits/s dup=1 drop=26    
frame=  141 fps= 23 q=2.0 size=     914kB time=00:00:06.04 bitrate=1238.0kbits/s dup=1 drop=32    
frame=  159 fps= 23 q=2.0 size=    1136kB time=00:00:06.81 bitrate=1365.3kbits/s dup=1 drop=37    
frame=  185 fps= 25 q=2.0 size=    1452kB time=00:00:07.84 bitrate=1517.2kbits/s dup=1 drop=43    
frame=  197 fps= 25 q=2.0 size=    1604kB time=00:00:08.32 bitrate=1579.3kbits/s dup=1 drop=47


----------



## Soapm

Restarted both Tivo and server and it's back to recoding both files.

This is the sound modified... Jerky but great sound.



Code:


Output #0, vob, to 'pipe:':
  Metadata:
    encoder         : Lavf54.29.104
    Chapter #0.0: start 0.000000, end 2797.792000
    Metadata:
      title           : Chapter 01
    Stream #0:0(eng): Video: mpeg2video, yuv420p, 720x480 [SAR 8:9 DAR 4:3], q=2-31, 16384 kb/s, 90k tbn, 23.98 tbc (default)
    Stream #0:1: Audio: ac3, 48000 Hz, stereo, 448 kb/s (default) (forced)
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> mpeg2video)
  Stream #0:1 -> #0:1 (copy)

Sound not modified... Jerky and garbled sound.



Code:


Output #0, vob, to 'pipe:':
  Metadata:
    encoder         : Lavf54.29.104
    Chapter #0.0: start 0.000000, end 2797.770000
    Metadata:
      title           : Chapter 01
    Stream #0:0(eng): Video: mpeg2video, yuv420p, 720x480 [SAR 8:9 DAR 4:3], q=2-31, 16384 kb/s, 90k tbn, 23.98 tbc (default)
    Stream #0:1: Audio: ac3, 48000 Hz, stereo, flt, 448 kb/s (default)
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> mpeg2video)
  Stream #0:1 -> #0:1 (mp3 -> ac3)

Sure wish I could consistently get it to send the files directly over. Not only does it look and sound better, it transfers extremely fast. Isn't there setting we can pass directly to ffmpeg that will cause it to skip recode? Something like "-vcodec copy -acodec copy" but be able to specify codecs the Tivo can't handle.


----------



## Soapm

Been searching on this most of the day and concluded my problem has to do with the dropped frames. Since in H264, every frame is based on previous frame, the next frame isn't correctly decompressed when the previous frame gets dropped. That must be what I'm seeing as "jerky".

To keep the audio in sync, sound frames also have to be adjusted if the video drops frames which must account for the garbled sound. 

What I can't find is a setting that forces ffmpeg to stop dropping frames. That frame rate isn't being converted so I have to wonder which it's dropping frames like that anyway.


----------



## Joe Siegler

Given the level of discussion in here, I'm about to ask what can be perceived as a n00b question. 

I have the videos I browse from my TiVo in two places on my computer. There's the archive of things that my TiVo has actually recorded in one directory, and another archive of "other" videos elsewhere.

Until very recently I was using TiVo Desktop, and to get to the "other" directory, I had a plain old Windows shortcut in the TiVo archive directory. Selecting that would get me over to the "other" archive.

However, pyTiVo doesn't seem to recognize/respect that. So I thought I figured out an option by having more than one section for each in the pyTiVo config. I assumed they would both show up on my TiVo. Apparently not, as I see just one of them. here's what I have set:

Section 1:
Name: TiVo Recordings
Type: video
Path is selected and accurate

Section 2:
Name: Timelord
Type: webvideo
Path is selected and accurate

When I browse from my TiVo, only Section 2 is viewable, this is the "other" collection from above.

It'd be nice if pyTiVo respected the shortcut, but it doesn't. But can it show two of these at the same time? If it can't, then how can I get it to look at more than one directory for my recordings, as I was under the impression this was one of the features of the software over TDP.


----------



## wmcbrine

"type" is not arbitrary -- it selects the plugin pyTivo will use to handle requests for that share. In this case, they should both be type "video". "webvideo" is a whole other plugin.

Edit: Oh, I see that you said #2, the one set to webvideo, is the one that _is_ visible. But I have to assume that's a mistake.


----------



## wmcbrine

Also, Windows shortcuts aren't plain. At least not if you're operating at the level of standard portable file functions, as pyTivo mostly does, instead of the Windows API level.

http://en.wikipedia.org/wiki/File_shortcut#Microsoft_Windows


----------



## pmiranda

I'd forget the shortcut and just give pytivo the real path. If you're trying to get to a network path you can assign it a drive letter and then go from there.


----------



## philhu

I did find a problem with Win8 and Network drives using drive letters (like W: )

In writing a quickie merge program, a VB program was giving an error when my drive path for a data file open was on a network mapped drive. So:

W:\data\thisfile.dat

gave error 'Path not found'

So, I changed to UNC and it worked:

\\qnap412\mappoint\data\thisfile.dat

A few other programs I used mapped drive letter in win7 do not seem to like the mapped drive letters in win8, Emule is an example. Won't let you setup directories with mapped drive letters in Win8, if you can get one in (editting the config file, etc), it just dies with 'nvalid path' when the program opens.

I think MS is depreciating mapped drive letters in Win8. Maybe you are seeing that with this discussion


----------



## wmcbrine

philhu said:


> I did find a problem with Win8 and Network drives using drive letters (like W: )


I don't think the problem is with drive letters per se, it's with when those letters are mapped. I'm guessing that you're running pyTivo as a service, yes? Presumably the drive letters are mapped after that point, only for a login session, and maybe only for a specific user. Anyway, if you ran pyTivo from a command window after you logged in, I expect the drive letters would work.


----------



## philhu

wmcbrine said:


> I don't think the problem is with drive letters per se, it's with when those letters are mapped. I'm guessing that you're running pyTivo as a service, yes? Presumably the drive letters are mapped after that point, only for a login session, and maybe only for a specific user. Anyway, if you ran pyTivo from a command window after you logged in, I expect the drive letters would work.


Anyway, my comment was for other programs. I run pytivo on a CENTOS vm and haven't had the problem.

I was commenting that something in Win8 is a bit different as programs that worked fine, even not as a service (like EMule) now no longer like network mapped drives, ever running on the desktop.

I mentioned this as maybe this (I call it a ) bug might be affecting pytivo for the said user in the way I describe


----------



## lpwcomp

philhu said:


> I mentioned this as maybe this (I call it a ) bug might be affecting pytivo for the said user in the way I describe


If you're referring to Joe Siegler, his issue is shortcuts not working in pyTivo as they did in TD, so he is having to go to separate shares. It was suggested that *if* he is using network drives, that he map them to drive letters and use the mapped drives when defining the shares.

Count me as a vote against adding support for Windows shortcuts to pyTivo.


----------



## wmcbrine

Well, there's no need to vote _against_ it.  I'd have done it long ago, if it were simple. But every time I look into it (like now), I end up thinking "Ugh. Not worth it."


----------



## monkeydust

Can somebody assist me in what is going on here when I try to transfer a show to my Tivo? It is an exact program I have transfered before but now it just creates a temp file but never actually gets sent. Here is a log where I am trying to push to my Elite and then trying my Plus. Thanks!



Code:


INFO:pyTivo:Last modified: Sun Aug 25 05:45:58 2013
INFO:pyTivo:Python: 2.7.5
INFO:pyTivo:System: Windows-8-6.2.9200
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: MyMovies
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.1.114 [12/Sep/2013 05:50:11] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.123 [12/Sep/2013 05:50:11] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.103 [12/Sep/2013 05:50:11] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.125 [12/Sep/2013 05:50:11] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.114 [12/Sep/2013 05:50:11] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo.video.video:[12/Sep/2013 05:50:16] Queued "e:\Videos\Game of Thrones
 S03\Game.of.Thrones.S03E01.mkv" for Push to Elite
INFO:pyTivo:127.0.0.1 [12/Sep/2013 05:50:16] "POST /TiVoConnect HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [12/Sep/2013 05:50:16] "GET /TiVoConnect?Command=QueryCont
ainer&Container=MyMovies/Game%20of%20Thrones%20S03&Format=text/html HTTP/1.1" 20
0 -
ffmpeg version 1.1 Copyright (c) 2000-2013 the FFmpeg developers
  built on Jan  8 2013 16:19:15 with gcc 4.7.2 (GCC)
  configuration: --disable-static --enable-shared --enable-gpl --enable-version3
 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --ena
ble-frei0r --enable-gnutls --enable-libass --enable-libbluray --enable-libcaca -
-enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopencore-amr
nb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-lib
rtmp --enable-libschroedinger --enable-libtheora --enable-libtwolame --enable-li
bvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-l
ibx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 13.100 / 52. 13.100
  libavcodec     54. 86.100 / 54. 86.100
  libavformat    54. 59.106 / 54. 59.106
  libavdevice    54.  3.102 / 54.  3.102
  libavfilter     3. 32.100 /  3. 32.100
  libswscale      2.  1.103 /  2.  1.103
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
Input #0, matroska,webm, from 'e:\Videos\Game of Thrones S03\Game.of.Thrones.S03
E01.mkv':
  Metadata:
    creation_time   : 2013-04-01 04:01:21
  Duration: 00:56:29.92, start: 0.000000, bitrate: 3300 kb/s
    Stream #0:0(eng): Video: h264 (High), yuv420p, 1280x720, SAR 1:1 DAR 16:9, 2
3.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
    Stream #0:1: Audio: ac3, 48000 Hz, stereo, fltp, 384 kb/s (default)
Please use -b:a or -b:v, -b is ambiguous
[mp4 @ 0000000000511660] track 1: codec frame size is not set
Output #0, mp4, to 'e:\Videos\Game of Thrones S03\Game.of.Thrones.S03E01.mkv.pyT
ivo-temp':
  Metadata:
    encoder         : Lavf54.59.106
    Stream #0:0(eng): Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 1280x720 [S
AR 1:1 DAR 16:9], q=2-31, 23.98 fps, 16k tbn, 1k tbc (default)
    Stream #0:1: Audio: ac3 ([165][0][0][0] / 0x00A5), 48000 Hz, stereo, 384 kb/
s (default)
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame= 6138 fps=0.0 q=-1.0 size=  115885kB time=00:04:16.19 bitrate=3705.5kbits/
frame= 9368 fps=9357 q=-1.0 size=  201729kB time=00:06:30.75 bitrate=4229.2kbits
frame=14273 fps=9508 q=-1.0 size=  318887kB time=00:09:55.39 bitrate=4387.6kbits
frame=21066 fps=10516 q=-1.0 size=  405375kB time=00:14:38.68 bitrate=3779.3kbit
frame=21595 fps=8616 q=-1.0 size=  412281kB time=00:15:00.86 bitrate=3749.1kbits
frame=27591 fps=9177 q=-1.0 size=  487470kB time=00:19:10.97 bitrate=3469.5kbits
frame=30810 fps=8779 q=-1.0 size=  541154kB time=00:21:25.21 bitrate=3449.3kbits
frame=32563 fps=8121 q=-1.0 size=  582885kB time=00:22:38.24 bitrate=3515.6kbits
frame=40835 fps=9055 q=-1.0 size=  699878kB time=00:28:23.29 bitrate=3366.1kbits
frame=42647 fps=8499 q=-1.0 size=  722293kB time=00:29:38.75 bitrate=3326.5kbits
frame=43241 fps=7833 q=-1.0 size=  729326kB time=00:30:03.55 bitrate=3312.7kbits
frame=43830 fps=7277 q=-1.0 size=  736231kB time=00:30:28.19 bitrate=3299.0kbits
frame=44571 fps=6833 q=-1.0 size=  745262kB time=00:30:59.13 bitrate=3283.9kbits
frame=52012 fps=7406 q=-1.0 size=  861151kB time=00:36:09.50 bitrate=3251.7kbits
frame=55546 fps=7384 q=-1.0 size=  930955kB time=00:38:36.76 bitrate=3291.8kbits
frame=55886 fps=6961 q=-1.0 size=  938485kB time=00:38:51.20 bitrate=3297.9kbits
frame=56258 fps=6592 q=-1.0 size=  946546kB time=00:39:06.43 bitrate=3304.6kbits
frame=56615 fps=6267 q=-1.0 size=  953608kB time=00:39:21.56 bitrate=3308.0kbits
frame=61486 fps=6449 q=-1.0 size= 1029732kB time=00:42:44.73 bitrate=3289.1kbits
frame=68354 fps=6812 q=-1.0 size= 1144573kB time=00:47:31.00 bitrate=3288.8kbits
frame=68729 fps=6521 q=-1.0 size= 1150224kB time=00:47:46.75 bitrate=3286.9kbits
frame=68966 fps=6239 q=-1.0 size= 1154467kB time=00:47:56.57 bitrate=3287.7kbits
frame=69317 fps=5996 q=-1.0 size= 1160997kB time=00:48:11.13 bitrate=3289.7kbits
frame=70028 fps=5806 q=-1.0 size= 1177666kB time=00:48:41.02 bitrate=3302.8kbits
frame=75732 fps=6029 q=-1.0 size= 1292867kB time=00:52:38.72 bitrate=3353.0kbits
frame=78542 fps=6013 q=-1.0 size= 1344322kB time=00:54:35.90 bitrate=3361.7kbits
frame=79117 fps=5833 q=-1.0 size= 1351237kB time=00:55:00.00 bitrate=3354.3kbits
frame=80953 fps=5754 q=-1.0 size= 1358100kB time=00:56:16.57 bitrate=3294.9kbits
frame=81276 fps=5646 q=-1.0 Lsize= 1367442kB time=00:56:29.92 bitrate=3304.5kbit
s/s
video:1206002kB audio:158902kB subtitle:0 global headers:0kB muxing overhead 0.1
85923%
INFO:pyTivo:127.0.0.1 [12/Sep/2013 05:52:47] "GET /TiVoConnect?Command=NPL&Conta
iner=ToGo&TiVo=192.168.1.103 HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [12/Sep/2013 05:52:47] "GET /main.css HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [12/Sep/2013 05:52:47] "GET /nocopy.png HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [12/Sep/2013 05:52:47] "GET /folder.png HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [12/Sep/2013 05:52:47] "GET /TiVoConnect?Command=QueryCont
ainer&Container=MyMovies/Game%20of%20Thrones%20S03&Format=text/html HTTP/1.1" 20
0 -
INFO:pyTivo.video.video:[12/Sep/2013 05:53:05] Queued "e:\Videos\Game of Thrones
 S03\Game.of.Thrones.S03E01.mkv" for Push to Series 5 Plus
INFO:pyTivo:127.0.0.1 [12/Sep/2013 05:53:05] "POST /TiVoConnect HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [12/Sep/2013 05:53:10] "GET /TiVoConnect?Command=QueryCont
ainer&Container=MyMovies/Game%20of%20Thrones%20S03&Format=text/html HTTP/1.1" 20
0 -
INFO:pyTivo.video.video:[12/Sep/2013 05:53:26] Queued "e:\Videos\Game of Thrones
 S03\Game.of.Thrones.S03E01.mkv" for Push to Series 5 Plus
INFO:pyTivo:127.0.0.1 [12/Sep/2013 05:53:26] "POST /TiVoConnect HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [12/Sep/2013 05:53:27] "GET /TiVoConnect?Command=QueryCont
ainer&Container=MyMovies/Game%20of%20Thrones%20S03&Format=text/html HTTP/1.1" 20
0 -
ffmpeg version 1.1 Copyright (c) 2000-2013 the FFmpeg developers
  built on Jan  8 2013 16:19:15 with gcc 4.7.2 (GCC)
  configuration: --disable-static --enable-shared --enable-gpl --enable-version3
 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --ena
ble-frei0r --enable-gnutls --enable-libass --enable-libbluray --enable-libcaca -
-enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopencore-amr
nb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-lib
rtmp --enable-libschroedinger --enable-libtheora --enable-libtwolame --enable-li
bvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-l
ibx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 13.100 / 52. 13.100
  libavcodec     54. 86.100 / 54. 86.100
  libavformat    54. 59.106 / 54. 59.106
  libavdevice    54.  3.102 / 54.  3.102
  libavfilter     3. 32.100 /  3. 32.100
  libswscale      2.  1.103 /  2.  1.103
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
Input #0, matroska,webm, from 'e:\Videos\Game of Thrones S03\Game.of.Thrones.S03
E01.mkv':
  Metadata:
    creation_time   : 2013-04-01 04:01:21
  Duration: 00:56:29.92, start: 0.000000, bitrate: 3300 kb/s
    Stream #0:0(eng): Video: h264 (High), yuv420p, 1280x720, SAR 1:1 DAR 16:9, 2
3.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
    Stream #0:1: Audio: ac3, 48000 Hz, stereo, fltp, 384 kb/s (default)
Please use -b:a or -b:v, -b is ambiguous
[mp4 @ 0000000001dd1660] track 1: codec frame size is not set
Output #0, mp4, to 'e:\Videos\Game of Thrones S03\Game.of.Thrones.S03E01.mkv.pyT
ivo-temp':
  Metadata:
    encoder         : Lavf54.59.106
    Stream #0:0(eng): Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 1280x720 [S
AR 1:1 DAR 16:9], q=2-31, 23.98 fps, 16k tbn, 1k tbc (default)
    Stream #0:1: Audio: ac3 ([165][0][0][0] / 0x00A5), 48000 Hz, stereo, 384 kb/
s (default)
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame= 8702 fps=0.0 q=-1.0 size=  178362kB time=00:06:02.94 bitrate=4025.8kbits/
frame=17958 fps=17956 q=-1.0 size=  365604kB time=00:12:29.18 bitrate=3997.7kbit
frame=30096 fps=20061 q=-1.0 size=  529527kB time=00:20:55.29 bitrate=3455.7kbit
frame=41041 fps=20518 q=-1.0 size=  703458kB time=00:28:31.84 bitrate=3366.4kbit
frame=52230 fps=20873 q=-1.0 size=  867167kB time=00:36:18.49 bitrate=3260.9kbit
frame=55269 fps=18402 q=-1.0 size=  926545kB time=00:38:25.24 bitrate=3292.6kbit
frame=58917 fps=16817 q=-1.0 size=  986394kB time=00:40:57.37 bitrate=3288.3kbit
frame=62312 fps=15518 q=-1.0 size= 1046362kB time=00:43:18.97 bitrate=3298.1kbit
frame=65835 fps=14576 q=-1.0 size= 1105763kB time=00:45:45.95 bitrate=3298.8kbit
frame=69536 fps=13831 q=-1.0 size= 1166162kB time=00:48:20.38 bitrate=3293.8kbit
frame=72110 fps=13024 q=-1.0 size= 1226547kB time=00:50:07.58 bitrate=3340.8kbit
frame=75449 fps=12498 q=-1.0 size= 1286044kB time=00:52:27.16 bitrate=3347.5kbit
frame=78217 fps=11962 q=-1.0 size= 1340221kB time=00:54:22.30 bitrate=3365.4kbit
frame=81276 fps=12013 q=-1.0 Lsize= 1367442kB time=00:56:29.92 bitrate=3304.5kbi
ts/s
video:1206002kB audio:158902kB subtitle:0 global headers:0kB muxing overhead 0.1
85923%


----------



## wmcbrine

monkeydust said:


> It is an exact program I have transfered before but now it just creates a temp file but never actually gets sent.


That just sounds like a typical problem with mind.tivo.com. There's nothing wrong in the log.

Try adding ts=on to the Server section of your pyTivo.conf and pulling instead.


----------



## cr33p

Are there any plans of someone developing and Android app to "push" files to TiVo's over your local network? With the Mini being added to the mix my biggest gripe I have is the inability to xfer a show or movie from pytivo to the unit. Creating a PyTivo app using the push functionality would be a sweet work around.


----------



## moyekj

cr33p said:


> Are there any plans of someone developing and Android app to "push" files to TiVo's over your local network? With the Mini being added to the mix my biggest gripe I have is the inability to xfer a show or movie from pytivo to the unit. Creating a PyTivo app using the push functionality would be a sweet work around.


 You can do it from the Mini itself already via HME using Streambaby (uses its own server) or vidmgr (uses pyTivo server). See:
Streambaby and Mini

If you WANT to use an Android device you could connect to <pyTivo machine IP>:9032 pyTivo interface with a browser and initiate push from there...


----------



## jrtroo

moyekj said:


> If you WANT to use an Android device you could connect to <pyTivo machine IP>:9032 pyTivo interface with a browser and initiate push from there...


I do this all the time. In fact, I have my WHS and Tivos set with a fixed IPs so that I can have shortcuts set up to initiate these transfers. I use this same method for all personal devices and PCs in the house, Android, iOS, and Windows XP/Vista/7/8.


----------



## monkeydust

wmcbrine said:


> That just sounds like a typical problem with mind.tivo.com. There's nothing wrong in the log.
> 
> Try adding ts=on to the Server section of your pyTivo.conf and pulling instead.


Thanks. That didn't work so I did a bit of searching and found the answer in a post of yours from a few years ago. Answer was stagingmind. 

EDIT: Well, I am still having some issues. When it does transfer, it is 20% of the speed I have transferred with previously. I have gotten half of my stuff transferred but still having issues with the other half for whatever reason (no errors, just not working).

EDIT2: it lost my stagingmind server somehow. Added it back and got everything transferred.


----------



## lpwcomp

jrtroo said:


> I do this all the time. In fact, I have my WHS and Tivos set with a fixed IPs so that I can have shortcuts set up to initiate these transfers. I use this same method for all personal devices and PCs in the house, Android, iOS, and Windows XP/Vista/7/8.


While I don't generally use it to initiate a push, I do use this method to look at the NPL of my TiVo 2 and THD from my HTC One X, which the TiVo app cannot do.


----------



## Joe Siegler

lpwcomp said:


> If you're referring to Joe Siegler, his issue is shortcuts not working in pyTivo as they did in TD, so he is having to go to separate shares. It was suggested that *if* he is using network drives, that he map them to drive letters and use the mapped drives when defining the shares.
> 
> Count me as a vote against adding support for Windows shortcuts to pyTivo.


I was't asking for them to be added, just a random comment that what I was using before didn't work "straight out" with pyTiVo.

I did end up adding both on pyTiVo, but with TD+ I had a Windows shortcut to the other in the path of the first.

Also, both are external hard drives on my main computer. On that computer, they're drive letters H & I respectively.


----------



## wuzznuubi

Joe Siegler said:


> I was't asking for them to be added, just a random comment that what I was using before didn't work "straight out" with pyTiVo.
> 
> I did end up adding both on pyTiVo, but with TD+ I had a Windows shortcut to the other in the path of the first.
> 
> Also, both are external hard drives on my main computer. On that computer, they're drive letters H & I respectively.


Windows mklink /D http://en.wikipedia.org/wiki/NTFS_symbolic_link


----------



## Joe Siegler

wuzznuubi said:


> Windows mklink /D http://en.wikipedia.org/wiki/NTFS_symbolic_link


Tkx. I'll check that out.


----------



## Thomaseo1

I've been using PyTivo on Linux Mint 14 for the past several months and didn't notice a large issue that I'm consistently having. Shares are being limited to around 312 folders in side a singe share. I have around 600 folders in 1 share and PyTivo is cutting it off about half way, so I'm missing the other 288 folders.
Is there a conf setting or a python file that I can use to fix this issue?


----------



## wmcbrine

There's no limit in pyTivo. I'd guess that it was running into something in the list that it didn't like, and stopping there. But I'd need much more info.

There _may_ be limits on the TiVo side.

P.S. You could try making it more hierarchical, i.e. add some more layers. 20 folders of 30 folders each (for example) would probably be easier to navigate than a list of 600, especially from the TiVo, never mind whether it can actually handle such a large list.


----------



## Wil

I have many thousands of movies, mpeg 1,2,4 in .avi, .mpeg, .mp4, .mkv and lots of other file types. I'd like to generate "filename.txt" pyTivo-compatible files for them.

I've found some programs that don't like my format: "Movie Name (year) - Director additional info.avi" (or .mkv or whatever type). Example: "Casablanca (1942) - Curtiz dvd.mkv" 

Other programs like my format just fine, but access only limited sources like Netflix and don't get matches on a lot of stuff.

Is there a single program that will take this format and access lots of sources, say including imdb, and give me pyTivo-compatible text files?

I personally use Plex to watch my film library and it gives me descriptions on 95%+ of my library. But the family likes to use the familiar Tivo (and thus pyTivo), and they want descriptions.

Alternatively, is there any way to extract "Movie Title.txt" pyTivo-compatible metadata files from Plex?

Thanks!


----------



## Soapm

Wil said:


> I have many thousands of movies, mpeg 1,2,4 in .avi, .mpeg, .mp4, .mkv and lots of other file types. I'd like to generate "filename.txt" pyTivo-compatible files for them.


Do a search for a program called "metegenerator" and see if that's what you need.


----------



## philhu

Soapm said:


> Do a search for a program called "metegenerator" and see if that's what you need.


Metagenerator is a great program, but I think he is looking for an automated, as in 1000's at a time, system.


----------



## Wil

Soapm said:


> Do a search for a program called "metegenerator" and see if that's what you need.


Thanks.

Metagenerator is certainly the TYPE of program I am asking about, and I have tried it. Great for TV episodes. But movie searches seem to use only Netflix and TheMovieDB, so many of my movies are not found.

Also there is a file naming format issue, looks like I would have to rename all my files. I'm still working on that but even if I figure that out there's still Metagenerator's limited search sources.

But again, that's exactly the kind of program I'm looking for; thanks.


----------



## windracer

I think I used ThumbGen back when I was trying to initially populate all of my metadata files in an automated fashion (with cover art). Now, since I'm only adding one or two at a time, I use Metagenerator.


----------



## Wil

windracer said:


> I think I used ThumbGen back when I was trying to initially populate all of my metadata files in an automated fashion


I hadn't run across ThumbGen. It recognizes my file names as-is: Moviename (YYYY) - Director Name misc info.mkv

It has lots of sources, though I'm having trouble configuring it to draw from IMDB. I'll work on it; this looks like it.

Thanks.


----------



## Soapm

philhu said:


> Metagenerator is a great program, but I think he is looking for an automated, as in 1000's at a time, system.


There is an auto process button at the bottom, I thought it took care of lots of movies but I've not had reason to try it.

Glad to see you got something since I know how it is getting your naming convention just right. I had to rename all my shows when I started using Plex. If you click on the setting tab you can make the template about anything you like which then names your shows as you like.


----------



## Wil

Soapm said:


> There is an auto process button at the bottom, I thought it took care of lots of movies


Yeah. It worked well on some batch tests, but only if I renamed the files; I'm not going to do that. More significantly, with Netflix and TheMovieDB only, that's not enough coverage.



Soapm said:


> Glad to see you got something since I know how it is getting your naming convention just right. I had to rename all my shows when I started using Plex.


Plex just happened to like the way I was naming my movies and TV episodes anyway. As I recall, it would take the film file without the year but there are too many films with the same name so I like the year in the filename.

I'm liking ThumbGen. The only difficulty is getting some kind of balance between IMDB and other sources. The theory of it seems to be that you can use TheMovieDB as primary and have IMDB fill in blanks, but it doesn't seem to work unless you do it manually one file at a time. The only way I can get IMDB to cut in at all in bulk processing mode is to disable the primary. That's too bad because TheMovieDB is a little more forgiving.

I'm sure this is user error and I'll get it all figured out. Several hundred movies done just in the experimenting/learning process.

I've noticed I've had to change the years on several movie files to get them to "take" in ThumbGen. Off by one, probably year of production vs. year of release. Going to be interesting to see how Plex reacts to that, as it always seemed pretty picky about the year, if it was in the name, being exactly what it wanted to see or it wouldn't take.

I'm very grateful for the help here.


----------



## windracer

Yeah, it's been a while but I seem to remember ThumbGen being "fiddly" but at least it was able to index large chunks of my video library at a time and then I manually took care of the outliers. Glad it's working for you.


----------



## dlfl

Wil, if Metagenerator could source from IMDB would it serve your purposes?

I'm the (current) programmer of MG3 (Metagenerator Version 3). Up til now, it hasn't sourced from IMDB due to a comination of legal and technical factors. However I've found there is a free web service (mymovieapi.com) that will provide the IMDB data, free, easy and legal.

MG3 does have an automatic movie processing feature that can do an entire folder and optionally all subfolders. It uses the file name as the key for source searches. I just tested a query using the example file name you gave (Casablanca + etc.) and the search succeeded. (Surprising actually)

If you wish to discuss this further, it might be preferable to use the MG3 thread on the pyTivo forum, rather than cluttering up this thread:
http://pytivo.sourceforge.net/forum/metagenerator-version-3-t1786.html


----------



## Soapm

Wil said:


> Plex just happened to like the way I was naming my movies and TV episodes anyway. As I recall, it would take the film file without the year but there are too many films with the same name so I like the year in the filename..


Wait, if Plex likes the file then why are you renaming them? I don't think pyTivo cares how you name the files, there is a separate text file with all the info it needs. As long as the video and that text file have the same name (except the .txt on the text file) then from what I can see it works just fine.

If you have files not being recognized then it's probably the encoding and not the name of the file.

This is my movie template from metagenerator "{title} {movieyear}". As you can see, i name them like you. The name and year...


----------



## Soapm

Copy protection with pytivo...


When I pull a certain movie to my hacked, encryption disabled TivoHD I found I can pull it back off the tivo if I chose using kmttg.
If I push the same movie to the Tivo using pytivo's web interface I notice it's copy protected. 

What would case it to be copy protected if I push instead of pull?


----------



## moyekj

Soapm said:


> What would case it to be copy protected if I push instead of pull?


 It's always been that way. Anything that has to go through mind.tivo.com is copy protected.
That's way these days you are better off having "ts=on" in pyTivo config and doing pulls instead to avoid that issue. Pushes are no longer necessary to preserve H.264 videos.


----------



## caddyroger

I am trying to do pull from my Elite tivo. I can push ok but pull I can not do. I had a NCIS set to pull for the last 15 mins but nothing is happening yet. It still at Initiating Transfer
Please Wait. What could the cause of this?
I usually use kmttg but at about 3gb it stops. I tried ps and ts mode.


----------



## djl25

Is there a workaround for the .meta directory on Mountain Lion? Folders that start with a period are difficult to create, and are invisible once you do.


----------



## djl25

I'm new to the Mac world, and am having trouble adjusting, evidently... I followed the instructions at http://pytivo.sourceforge.net/wiki/index.php/Mac_OS_X_Install regarding Mac OS X 10.6 and up. Created the plist file and moved it to /Library/LaunchDaemons, etc. It works perfectly once, but if I power down the machine pyTivo does not restart. I also tried Lingon X to create the job, but had the exact same results. Any help from a Mac expert would be appreciated, I know I'm missing something small.


----------



## moyekj

djl25 said:


> Is there a workaround for the .meta directory on Mountain Lion? Folders that start with a period are difficult to create, and are invisible once you do.


 Don't know about Mac specifically but with Linux from command line you have to use "-a" option with ls to see files/dirs starting with a ".". Example: ls -al


----------



## wmcbrine

djl25 said:


> Is there a workaround for the .meta directory on Mountain Lion? Folders that start with a period are difficult to create, and are invisible once you do.


You don't need to use a .meta folder at all -- the metadata .txt files can sit beside their corresponding video files in the same directory.


----------



## Wil

djl25 said:


> Is there a workaround for the .meta directory on Mountain Lion? Folders that start with a period are difficult to create, and are invisible once you do.


As stated you don't NEED the .meta folder.

But if you like to use that folder to control the clutter, use something like TinkerTool to temporarily make invisible files visible. Create your .meta folder and an alias to it, named meta (or whatever you want). Restore to normal and while .meta becomes invisible, meta remains visible and can be freely used.

Some backup programs may not back up your .meta folder; check to make sure.


----------



## cherry ghost

Did the most recent update change how _tivo_ shares are handled? The shares show on my TiVo, but when selected I get "PC NowPlaying List could not be displayed because it's unavailable." If I allow all shares, everything works fine.



Code:


ERROR:pyTivo:Exception during request from ('192.168.0.101', 50945)
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 582, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 323, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "E:\pytivoapp\httpserver.py", line 91, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 638, in __init__
    self.handle()
  File "C:\Python27\lib\BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "C:\Python27\lib\BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "E:\pytivoapp\httpserver.py", line 124, in do_GET
    self.handle_query(query, tsn)
  File "E:\pytivoapp\httpserver.py", line 177, in handle_query
    if self.do_command(query, command, basepath, tsn):
  File "E:\pytivoapp\httpserver.py", line 156, in do_command
    method(self, query)
  File "E:\pytivoapp\plugins\video\video.py", line 408, in QueryContainer
    force_alpha = container.getboolean('force_alpha')
AttributeError: 'dict' object has no attribute 'getboolean'


----------



## wmcbrine

cherry ghost said:


> Did the most recent update change how _tivo_ shares are handled?


More like, failed to change that, while changing the general (nothing specified) case. (And, it was the August 15th update.) Sorry about that.  Try it now.


----------



## cherry ghost

wmcbrine said:


> More like, failed to change that, while changing the general (nothing specified) case. (And, it was the August 15th update.) Sorry about that.  Try it now.


No problem, thanks for the fix!


----------



## ehagberg

I've got a music share set up using pyTivo and it works fine with my Tivo HD, but when I select the same share from my Roamio (plus) it first gives an error that nothing is being shared (or something to that effect) and then when I hit select to go back, the Roamio has a crash/restart.

Anyone else having this problem or am I just lucky?


----------



## wmcbrine

ehagberg said:


> I've got a music share set up using pyTivo and it works fine with my Tivo HD, but when I select the same share from my Roamio (plus) it first gives an error that nothing is being shared (or something to that effect) and then when I hit select to go back, the Roamio has a crash/restart.
> 
> Anyone else having this problem or am I just lucky?


Works for me.

Is this a brand-new (as in, only a few days old) Roamio?

Can you see what it says on the pyTivo side (console output or log)?


----------



## mattack

wmcbrine said:


> I've heard of this but have yet to observe it. Maybe because my Premiere is connected via component? I dunno.
> 
> We could add a throttle to pyTivo, I guess. It's just contrary to the spirit of everything we've ever done.
> 
> P.S. MPEG2 transfers should be the same speed, push or pull...


Yeah, I just transferred an episode of Survivor back to my Premiere 4, and couldn't play the episode of Amazing Race while it was transferring. it was SO stuttery and lost audio...

This was in transport stream (so I get captions back)... first time I've used pytivo directly, previously I only used the one built into the GUI PyTivoX.. (and I couldn't figure out how to hack transport stream config into that one.)

Interestingly, I always thought the Tivo gave priority to recording then playback, and things like transfers behind that... guess not.


----------



## mattack

...and I actually ended up causing my Premiere 4 to reboot either 2-3 times (I forget) while doing this.. and only one show actually had captions on it after being transferred back.

So I gave up and went back to pyTivoX and transferred to my TivoHD, which worked just fine (but much slower, but still faster than I could watch, since it's a SD recording), and captions worked fine.

Is there something else I need to do? All I did was download the 64 bit ffmpeg for os x binary, set up the location in the pytivo config file, and add ts=on, or whatever the exact setting was noted in another place.. (it did make transfers much faster, so it seemed to work in that case, just not for captions most of the time).


----------



## lpwcomp

Finally got a new machine* - running Win 8 (not my choice). Using latest 64-bit ffmpeg, I get the following error when trying to Push an HD 16:9 recording to a TiV0 2:



Code:


[COLOR="Red"]Unrecognized option 'padtop'.
Error splitting the argument list: Option not found[/COLOR]

I assume this is the for the conversion of 16:9 to a letterboxed 4:3 picture.

* I still have the old one running Win2K. Plan to eventually turn it into a Linux machine.


----------



## wmcbrine

lpwcomp said:


> Code:
> 
> 
> [COLOR="Red"]Unrecognized option 'padtop'.
> Error splitting the argument list: Option not found[/COLOR]


Upgrade your pyTivo. I don't even have the "padtop" code in my fork anymore, and it hasn't been the only option since March 2011 -- although perhaps the version check is failing in your case? Anyway, even the version check is gone, since September.


----------



## lpwcomp

wmcbrine said:


> Upgrade your pyTivo. I don't even have the "padtop" code in my fork anymore, and it hasn't been the only option since March 2011 -- although perhaps the version check is failing in your case? Anyway, even the version check is gone, since September.


 That fixed it. I have no idea how the version of pyTivo I was running got so out of date.


----------



## David Platt

Has anybody noted any issues with running PyTivo on a premiere with the new Fall software update? Everything transferred since the update doesn't have sound, and folders aren't displaying properly (everything is displaying in one long list). I uninstalled and re-installed PyTivo using the latest build since it had been a while since I updated, but no luck; still no folders and no sound.

ETA: okay, after a little further testing, only mkv files have no sound.


----------



## lpwcomp

David Platt said:


> Has anybody noted any issues with running PyTivo on a premiere with the new Fall software update? Everything transferred since the update doesn't have sound, and folders aren't displaying properly (everything is displaying in one long list).
> 
> I uninstalled and re-installed PyTivo using the latest build since it had been a while since I updated, but no luck; still no folders and no sound.


For the folder problem, try entering a "2" while a share is displayed.

Not experiencing any sound problems.

The oddity I've seen:

The initial "Video Format" of any recording transferred to the TiVo is "1080p (24fps)"


----------



## wmcbrine

David Platt said:


> ETA: okay, after a little further testing, only mkv files have no sound.


Are you sure these same files played correctly before the update? Not the same _type_ of files, but the _exact_ same files? Can you show me the log of a transfer with this result?


----------



## bluecar2

I'm also having no-audio issues with .mkv files since the fall update on my Premiere. Couldn't identify the issue and ended up removing pyTivo and ffmpeg and downloading the latest versions. Problem persisted so I deleted the source files assuming they were bad. If it happens again I'll capture the log files.


----------



## David Platt

wmcbrine said:


> Are you sure these same files played correctly before the update? Not the same _type_ of files, but the _exact_ same files? Can you show me the log of a transfer with this result?


Okay, tested with an older MKV file that I know played properly before the update, and it there is indeed sound. Looks like it must be a problem with the particular MKV file I tried after the update.


----------



## innocentfreak

One issue I have been seeing off and on is the loss of sound on pushed files. It only happens after trickplay, but it will come back if you let it sit for a few seconds. It doesn't happen on every file though.


----------



## wmcbrine

David Platt said:


> Okay, tested with an older MKV file that I know played properly before the update, and it there is indeed sound. Looks like it must be a problem with the particular MKV file I tried after the update.


I'm still interested to see the log for the file that comes out with no sound, if you can provide it.


----------



## lpwcomp

Note: This is not a problem, just weird.

I finally got a new computer, which is running Win8. I still have my Win2K computer and have pyTiVo running on both. Shares on the Win2k machine are showing up in the HDUI in light blue, with an orange "!" as the icon and with "(DVR)" after the share name. Except for the "(DVR)" which I _*think*_ appeared with the fall update, this is not new. Shares on the Win8 machine are showing up in bright white, with a tower PC icon and nothing after the share name.

Edit: I realized that besides the obvious ones, there is another difference: The Win2k machine is running TD (2.3) albeit with the server disabled. I have not and do not intend to install TD on the Win8 machine.


----------



## wmcbrine

lpwcomp said:


> Shares on the Win2k machine are showing up in the HDUI in light blue, with an orange "!" as the icon and with "(DVR)" after the share name. ... Shares on the Win8 machine are showing up in bright white, with a tower PC icon and nothing after the share name.


Not OS-related, AFAIK. This is a symptom of Zeroconf packets getting through from one machine (Win 8), and not from the other, OR of one machine (Win 8) having only video shares defined, while the other also has music and photo shares (and potentially no Zeroconf packets getting through from either server, but definitely not from the Win 2K system).


----------



## lpwcomp

wmcbrine said:


> Not OS-related, AFAIK. This is a symptom of Zeroconf packets getting through from one machine (Win 8), and not from the other, OR of one machine (Win 8) having only video shares defined, while the other also has music and photo shares (and potentially no Zeroconf packets getting through from either server, but definitely not from the Win 2K system).


Second scenario was it. Only video shares on the Win 8 machine.


----------



## wmcbrine

And, do you have Zeroconf disabled intentionally? If not, your network is messed up, because it's dropping those packets.


----------



## lpwcomp

wmcbrine said:


> And, do you have Zeroconf disabled intentionally? If not, your network is messed up, because it's dropping those packets.


Yes. It is implicitly disabled due to the fact I have specific shares specified for each TiVo on the old machine.


----------



## sptnut

I've had pytivo on another computer for years and I'm trying to set it up on a different computer (Windows 7). On my old computer when I transferred shows from my tivo to the computer, it was always a .mp4 file. Now when I try to transfer its a .tivo file. What am I doing wrong?


----------



## wmcbrine

pyTivo has never output .mp4 files. Perhaps you were using kmttg?


----------



## lpwcomp

There appears to be another advantage to transferring to the TiVo in TS format - it is utilizing the programId most, if not all (I haven't done a lot of testing), of the time. Season, Episode, and all of the other metadata based on it are showing up, even for old series.

example (from a Premiere with the fall update):










The only bad part about this is now I _*really*_ need to figure out how to navigate the zap2it website via python so I can automate sourcing of the programId.


----------



## wmcbrine

lpwcomp said:


> There appears to be another advantage to transferring to the TiVo in TS format - it is utilizing the programId most, if not all (I haven't done a lot of testing), of the time.


You're saying that's not happening with PS format? And this is with .TiVo files?


----------



## lpwcomp

wmcbrine said:


> You're saying that's not happening with PS format? And this is with .TiVo files?


No, I'm saying that it happens a lot more often (still not perfect, but pretty close based on the limited amount of testing I have done) if you pull *to* the TiVo in TS, no matter what the source format is, although I've only actually tested avi, mkv, and mp4.


----------



## sptnut

wmcbrine said:


> pyTivo has never output .mp4 files. Perhaps you were using kmttg?


I forgot I had edited my old files. They are in .mpg format now. I guess they were originally transferred as .tivo. What is the difference in TS and PS. Also tivodecode stops working every time I try to select that option.


----------



## Marconi

I previously used iTiVo to download recordings. Now I use kmttg. The format of the metadata file is different from that of iTiVo so I'm thinking the order of the data in the file is not important. Correct me if I'm wrong about that.

Anyway, since making the switch to kmttg, I've discovered that the episode title doesn't show up in the NPL if the programId datum is present. It shows in the list of recordings available to pull from pyTiVo to the THD, but in the NPL, the episode title is not there. 

Example:
title : Days of our Lives
seriesTitle : Days of our Lives
description : Sami and Kate intend to stop Nick and Gabi from moving; Gabi learns about Nick's scheming; Sonny and Will fight about Gabi; J.J. decides to make things right between Jennifer and Daniel. 
time : 2013-11-25T21:00:00Z
isEpisode : true
episodeTitle : Monday
iso_duration : PT1H1M
originalAirDate : 2013-11-25T00:00:00Z
isEpisodic : true
showingBits : 3
tvRating : x5
episodeNumber : 12220
displayMajorNumber : 12
callsign : KPNX
seriesId : SH001189
programId : EP0011893572
vActor : Alfonso|Kristian
vActor : Aniston|John
vActor : Banus|Camila
vActor : Berris|Blake
vActor : Christian|Shawn
vActor : Davidson|Eileen
vActor : Dattilo|Bryan
vActor : Deidrick|Casey Jon
vActor : Evans|Mary Beth
vActor : Gering|Galen
vActor : Hall|Deidre
vActor : Hogestyn|Drake
vActor : Koslow|Lauren
vActor : Kurth|Wally
vActor : Mansi|Kate
vActor : Martsolf|Eric
vActor : Mascolo|Joseph
vActor : McCay|Peggy
vActor : Moss|Casey
vActor : Owens|Nathan
vProgramGenre : Soap Opera
vSeriesGenre : Soap Opera
vSeriesGenre : Daytime

If I remove the programId line, the title, in this case "Monday", shows in NPL after transfer to the THD.

Note: Days of Our Lives no longer has an episodeTitle that can be extracted by kmttg so I add it myself.


----------



## wmcbrine

Marconi said:


> Note: Days of Our Lives no longer has an episodeTitle that can be extracted by kmttg so I add it myself.


That would be why it doesn't show up.

programId causes the TiVo (in HDUI mode only, IIRC) to source all the program attributes from its own database, instead of using the user-provided data.


----------



## lpwcomp

wmcbrine said:


> That would be why it doesn't show up.
> 
> programId causes the TiVo (in HDUI mode only, IIRC) to source all the program attributes from its own database, instead of using the user-provided data.


It definitely gets episode title, description, Categories, Season #, Episode #, and Rating based on the programId. I don't think it gets credits nor OAD.

to Marconi: Sorry about the confusion in the kmttg thread. I didn't realize you were creating an episode title where none existed.


----------



## Marconi

wmcbrine said:


> That would be why it doesn't show up.
> 
> programId causes the TiVo (in HDUI mode only, IIRC) to source all the program attributes from its own database, instead of using the user-provided data.


HDUI, as in series 4+? That does not explain why this is the case on my THDs. Perhaps this behavior goes back further than you think.

Days of Our Lives stopped providing the episodeTitle datum long ago and I have been providing it myself without problems while using iTiVo to download "Days". With the switch to kmttg as my downloader and its different metadata format, including new data not provided by iTiVo, that's when the episodeTitle I added stopped showing up on the THD it was transferred back to.

Well, at least I know why programId makes episodeTitle not show up. Thanks.


----------



## thedan04

Hello All,

I have recently dug my series 3 Tivo out of the closet and want to again use pyTivo to push home movies to the device. I have encountered an issue that I have not been able to overcome and your experience and insight would be most appreciated in helping me find the solution. I have searched for several hours on google and not found symptoms similar to what I am seeing, which leads me to believe
I am overlooking something very simple, or there is an issue that might not be directly related to pyTivo, such as ffmpeg or another
program or library on my system.

I have tested the settings and options in the pyTivo.conf.dist file (copied into pyTivo.conf and edited where appropriate), I have also tested options available in zeroconf with this set to auto and on with no change to the symptom. My Tivo can see the share, however not any video files in the share. When I attempt to push, whether mp4, mpeg or m4v file type, the symptom is identical, nothing is logged after "</subscribeResult>g" refer to the snippet of my log file below:

{'cams_security_domain': 'tivocom', 'cams_login_config': 'http', 'cams_cb_password': '<hidden>', 'cams_original_url': '/mind/mind7?type=infoGet', 'cams_cb_username': '<hidden>'}
DEBUGyTivo mindcBodySearch
{}.

<pcBodyList><isBottom>true</isBottom><isTop>true</isTop><pcBody><bucketNumber>-1</bucketNumber><levelOfDetail>low</levelOfDetail><name>pyTivo</name><pcBodyId>tivoc.1001587021</pcBodyId><type>pcBody</type></pcBody></pcBodyList>g
DEBUGyTivo.mind:bodyOfferModify&bodyId=tsn:<hidden>
{'description': '', 'pcBodyId': 'tivoc.1001587021', 'publishDate': '2013-11-26 14:1028', 'partnerId': 'tivot.3187', 'duration': 126, 'size': 34704780, 'title': 'Hope vs. Joshu Bigg', 'url': ' Format=video/mp4', 'bodyId': 'tsn:<hidden>, 'source': 'Hope vs. Joshu Bigg', 'state': 'complete', 'encodingType': 'avcL41MP4', 'tvRating': 'nr'}

<bodyOffer><bodyId>tsn:<hidden></bodyId><bodyOfferId>tivo:bo.15000051</bodyOfferId><createDate>2013-11-26 14:10:29</createDate><description /><duration>126</duration><encodingType>avcL41MP4</encodingType><levelOfDetail>high</levelOfDetail><offerId>tivof.bs.15000051</offerId><partnerId>tivot.3187</partnerId><pcBodyId>tivoc.1001587021</pcBodyId><publishDate>2013-11-27 07:08:00</publishDate><size>34704780</size>Hope vs. Joshu Bigg<state>complete</state>Hope vs. Joshu Bigg<tvRating>nr</tvRating><updateDate>2013-11-26 14:10:29</updateDate><url> Format=video/mp4</url></bodyOffer>g

Hello All,

I have recently dug my series 3 Tivo out of the closet and want to again use pyTivo to push home movies to the device. I have encountered an issue that I have not been able to overcome and your experience and insight would be most appreciated in helping me find the solution. I have searched for several hours on google and not found symptoms similar to what I am seeing, which leads me to believe
I am overlooking something very simple, or there is an issue that might not be directly related to pyTivo, such as ffmpeg or another
program or library on my system.

I have tested the settings and options in the pyTivo.conf.dist file (copied into pyTivo.conf and edited where appropriate), I have also tested options available in zeroconf with this set to auto and on with no change to the symptom. My Tivo can see the share, however not any video files in the share. When I attempt to push, whether mp4, mpeg or m4v file type, the symptom is identical, nothing is logged after "</subscribeResult>g" refer to the snippet of my log file below:

{'cams_security_domain': 'tivocom', 'cams_login_config': 'http', 'cams_cb_password': '<hidden>', 'cams_original_url': '/mind/mind7?type=infoGet', 'cams_cb_username': '<hidden>'}
DEBUGyTivo.mindcBodySearch
{}

<pcBodyList><isBottom>true</isBottom><isTop>true</isTop><pcBody><bucketNumber>-1</bucketNumber><levelOfDetail>low</levelOfDetail><name>pyTivo</name><pcBodyId>tivoc.1001587021</pcBodyId><type>pcBody</type></pcBody></pcBodyList>g
DEBUGyTivo.mind:bodyOfferModify&bodyId=tsn:<hidden>
{'description': '', 'pcBodyId': 'tivoc.1001587021', 'publishDate': '2013-11-26 14:1028', 'partnerId': 'tivot.3187', 'duration': 126, 'size': 34704780, 'title': 'Hope vs. Joshu Bigg', 'url': Format=video/mp4', 'bodyId': 'tsn:64800018023E8E0', 'source': 'Hope vs. Joshu Bigg', 'state': 'complete', 'encodingType': 'avcL41MP4', 'tvRating': 'nr'}

<bodyOffer><bodyId>tsn:<hidden></bodyId><bodyOfferId>tivo:bo.15000051</bodyOfferId><createDate>2013-11-26 14:10:29</createDate><description /><duration>126</duration><encodingType>avcL41MP4</encodingType><levelOfDetail>high</levelOfDetail><offerId>tivof.bs.15000051</offerId><partnerId>tivot.3187</partnerId><pcBodyId>tivoc.1001587021</pcBodyId><publishDate>2013-11-27 07:08:00</publishDate><size>34704780</size>Hope vs. Joshu Bigg<state>complete</state>Hope vs. Joshu Bigg<tvRating>nr</tvRating><updateDate>2013-11-26 14:10:29</updateDate> 9032/MyMovies/Hope vs. Joshu Bigg.mp4?Format=video/mp4</bodyOffer>g

Thank you in advance for your advice and assistance.

Thedan04


----------



## lpwcomp

Marconi said:


> HDUI, as in series 4+? That does not explain why this is the case on my THDs. Perhaps this behavior goes back further than you think.
> 
> Days of Our Lives stopped providing the episodeTitle datum long ago and I have been providing it myself without problems while using iTiVo to download "Days". With the switch to kmttg as my downloader and its different metadata format, including new data not provided by iTiVo, that's when the episodeTitle I added stopped showing up on the THD it was transferred back to.
> 
> Well, at least I know why programId makes episodeTitle not show up. Thanks.


Based on a small amount of testing, here's what I think is happening:

Even on a THD, it looks to see if the programId exists on the TiVo. In the NPL, the guide, and possibly history. If it exists, the information for that entry is used.

My suggestion for you would be to comment out the programId when you add the title.


----------



## wmcbrine

Thedan04: It could be a firewall problem. Make sure port 9032 (or other, if defined) is open.


----------



## thedan04

wmcbrine said:


> Thedan04: It could be a firewall problem. Make sure port 9032 (or other, if defined) is open.


UPDATE:

It was the firewall. I started iptables and explicitly set a rule to allow tcp traffic on port 9032 and the videos became available. For some reason, even though IPtables was stopped, the traffic was not getting through. Thank you wmcbrine!!

IPtables is stopped on my desktop for testing purposes and the tivo and desktop are on the same network.

# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name 
tcp 0 0 0.0.0.0:9032 0.0.0.0:* LISTEN 4027/python

Port 9032 is listening on my desktop. Should I be able to access port 9032 on the tivo? (Also I assume the protocol is tcp).

I can access port 80 and receive the default web page there. I do not currently have a cable source to record content from. If needed for testing purposes I could probably hook my cam corder to the rca inputs and record that way to see if I can retrieve content from the tivo. Let me know if that or other testing would be helpful.

Thank you for the prompt response.


----------



## Marconi

lpwcomp said:


> Based on a small amount of testing, here's what I think is happening:
> 
> Even on a THD, it looks to see if the programId exists on the TiVo. In the NPL, the guide, and possibly history. If it exists, the information for that entry is used.
> 
> My suggestion for you would be to comment out the programId when you add the title.


I've often wondered if there were a character to designate a comment in metadata files. Is it "#"?


----------



## lpwcomp

Marconi said:


> I've often wondered if there were a character to designate a comment in metadata files. Is it "#"?


Yes. If the first character of a line in the metadata file is "#", the line is ignored.


----------



## xekester

Using pyTivo, lately my Premier TiVo has been unable to retrieve my Movies share from my NAS. It does retrieve other shares from the same source though sometimes these
can fail on the first attempt. Subsequent attempts for these other shares usually succeed. Repeated attempts for Movies does not work. Only error I see is on the TiVo - unable
to retrieve list because it is unavailable. No error is recorded in pyTivo's log.

Here's a successful retrieve for HomeMovies share followed by an unsuccessful retrieve for Movies share:

2013-12-08 19:48:33,894 INFO pyTivo: 127.0.0.1 [08/Dec/2013 19:48:33] "GET /TiVoConnect?Command=QueryContainer&Container=Movies HTTP/1.1" 200 -
2013-12-08 19:48:34,332 INFO pyTivo: 127.0.0.1 [08/Dec/2013 19:48:34] "GET /favicon.ico HTTP/1.1" 200 -
2013-12-08 20:18:07,016 INFO pyTivo: 192.168.1.153 [08/Dec/2013 20:18:07] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
2013-12-08 20:18:12,930 INFO pyTivo: 192.168.1.153 [08/Dec/2013 *20:18:12] "GET /TiVoConnect?Command=QueryContainer&Container=HomeMovies&Recurse=
Yes&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=7500001903B530E HTTP/1.1" 200 -*
2013-12-08 20:18:12,992 INFO pyTivo: 192.168.1.153 [08/Dec/2013 20:18:12] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
2013-12-08 20:18:13,069 INFO pyTivo: 192.168.1.153 [08/Dec/2013 20:18:13] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
2013-12-08 20:18:13,164 INFO pyTivo: 192.168.1.153 [08/Dec/2013 20:18:13] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
2013-12-08 20:18:13,256 INFO pyTivo: 192.168.1.153 [08/Dec/2013 20:18:13] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
2013-12-08 20:18:13,319 INFO pyTivo: 192.168.1.153 [08/Dec/2013 20:18:13] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
2013-12-08 20:18:13,398 INFO pyTivo: 192.168.1.153 [08/Dec/2013 20:18:13] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
2013-12-08 20:18:13,490 INFO pyTivo: 192.168.1.153 [08/Dec/2013 20:18:13] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
2013-12-08 20:18:13,569 INFO pyTivo: 192.168.1.153 [08/Dec/2013 20:18:13] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
2013-12-08 20:18:27,328 INFO pyTivo: 192.168.1.153 [08/Dec/2013 20:18:27] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
2013-12-08 20:18:59,496 INFO pyTivo: 192.168.1.153 [08/Dec/2013 *20:18:59] "GET /TiVoConnect?Command=QueryContainer&Container=Movies&Recurse=
Yes&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=7500001903B530E HTTP/1.1" 200 -*

As a test, using a browser, I execute "http://localhost:9032/TiVoConnect?Command=QueryContainer&Container=Movies" and that does bring back what appears to be a complete XML list of Movies.

*My pyTivo.config:*
[Server]
beacon = 192.168.1.255
temp = C:\pytivo\temp
tdcat = C:\pytivo\bin\tivodecode\tdcat.exe
debug = on
tivo_password = XXXXXXX
tivo_mak = XXXXX
tivo_username = XXXXX
ts = on
togo_path = \\DiskStation\video\Tivo
ffmpeg = C:\pytivo\bin\ffmpeg.exe
tivodecode = C:\pytivo\bin\tivodecode\tivodecode.exe

[_tivo_SD]

[_tivo_HD]

[loggers]
type = music
keys = root

[handlers]
type = music
keys = console,rotfile

[formatters]
type = music
keys = basicform

[logger_root]
level = DEBUG
handlers = console,rotfile
type = music

[handler_console]
class = StreamHandler
args = (sys.stdout,)
formatter = basicform
type = music

[handler_rotfile]
args = ('C:\pytivo\Log\debug.log', 'a', 10485760, 5)
class = handlers.RotatingFileHandler
formatter = basicform
type = music

[formatter_basicform]
type = music
format = %(asctime)s %(levelname)-5s %(name)s: %(message)s

[Music]
type = music
path = \\Diskstation\Music\iTunes\Music

[TVShows]
force_alpha = on
path = \\Diskstation\video\TVShows
type = video

[HomeMovies]
path = \\Diskstation\video\HomeMovies
force_alpha = on
type = video

[TestMovies]
force_alpha = on
type = video
path = \\Diskstation\video\TestMovies

[Movies]
type = video
path = \\Diskstation\video\Movies
force_alpha = on

Any ideas how I can try to debug/resolve this? Is it a metadata problem? Any tips for finding metadata issues (I have over 400+ videos)?

Thanks,
Xekester


----------



## wmcbrine

xekester said:


> 2013-12-08 20:18:59,496 INFO pyTivo: 192.168.1.153 [08/Dec/2013 20:18:59] "GET /TiVoConnect?Command=QueryContainer&Container=Movies&Recurse=
> Yes&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=7500001903B530E HTTP/1.1" 200 -


This is doing a recursive search. Am I right in assuming that there are subfolders here (not 400 files in one directory)? If so, I'd try turning off the recursive search -- i.e., turning on folders -- press 2. See if that narrows down the problem any.


----------



## xekester

Yes, share folder directories are generally ordered as follows (for use by other media streamers):

Movie folder 1
........Movie 1
Movie folder 2
........Movie 2

Setting folders almost fixes it...
With folders on, all of the movies in the share show up except LOR 123 (six disk set).
The folder structure containing these are:

Lord of the Rings
........Fellowship
................Fellowship Part 1 movie
................Fellowship Part 2 movie
........Two Towers
................Two Towers Part 1 movie
................Two Towers Part 2 movie
........Return of The King
................Return of The King Part 1 movie
................Return of The King Part 2 movie

With folders on, the first and second level directors are displayed; The third
level directories (That contain the actual movies) display a blank scrollable
screen. Scrolling up/down continues to display a blank screen.
So, it seems that a two level hierarchy is OK, three is not.

Also, unfortunately, turning on folders as a solution is a non-starter -low WAF 

Thanks,
Xekester


----------



## wmcbrine

It's not the number of levels. It could be, as you suggested earlier, a metadata issue. Now that you have it narrowed down to six files (three folders), try temporarily removing or renaming the metadata files from one of those folders, and see if that fixes it. If it does, post the offending metadata here so I can test it. If it doesn't, try looking at the specs of these files with ffmpeg -i filename.


----------



## xekester

Removing all of the non-movie files from the directory made no difference.

Not sure how to rum ffmpeg in this case. pyTivo is running on a win7 machine, the movie files are on a Synology NAS. I typically access these files with paths like \\DiskStation\video\Movies\...

Windows cmd window does not let me change to a directory with a pathname like that.

If it helps, here's the MediaInfo version of the info for the first two files: *SEE Post #4531 - for ffmpeg -I output*

*Fellowship Part1*
General
Unique ID : 85924609202925646838232484770013463708 (0x40A47A4FF1FF8E3ABEA68E686A6F449C)
Complete name : \\DiskStation\video\Movies\Lord_Of_The_Rings,_The\The_Fellowship_of_the_Ring_(2001)\The_Fellowship_of_the_Ring_(2001) [part 1 of 2].mkv
Format : Matroska
Format version : Version 2
File size : 26.7 GiB
Duration : 1h 45mn
Overall bit rate mode : Variable
Overall bit rate : 36.2 Mbps
Movie name : THE LORD OF THE RINGS: THE FELLOWSHIP OF THE RING (EXT.) PT. 1
Encoded date : UTC 2012-01-06 03:41:47
Writing application : MakeMKV v1.7.0 win(x64-release)
Writing library : libmakemkv v1.7.0 (1.2.0/1.1.0) win(x64-release)

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : Yes
Format settings, ReFrames : 2 frames
Format settings, GOP : M=1, N=10
Codec ID : V_MPEG4/ISO/AVC
Duration  : 1h 45mn
Bit rate mode : Variable
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Language : English
Default : Yes
Forced : No

Audio #1
ID : 2
Format : DTS
Format/Info : Digital Theater Systems
Format profile : MA / Core
Mode : 16
Format settings, Endianness : Big
Codec ID : A_DTS
Duration : 1h 45mn
Bit rate mode : Variable
Bit rate : Unknown / 1 509 Kbps
Channel(s) : 7 channels / 6 channels
Channel positions : Front: L C R, Side: L R, Back: C, LFE / Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 24 bits
Compression mode : Lossless / Lossy
Title : Lossless
Language : English
Default : Yes
Forced : No

Audio #2
ID : 3
Format : DTS
Format/Info : Digital Theater Systems
Format profile : ES
Mode : 16
Format settings, Endianness : Big
Codec ID : A_DTS
Duration : 1h 45mn
Bit rate mode : Constant
Bit rate : 1 509 Kbps
Channel(s) : 7 channels / 6 channels
Channel positions : Front: L C R, Side: L R, Back: C, LFE / Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 24 bits
Compression mode : Lossy
Stream size : 1.11 GiB (4%)
Title : 3/2+1
Language : English
Default : No
Forced : No

Text #1
ID : 4
Format : PGS
Codec ID : S_HDMV/PGS
Codec ID/Info : The same subtitle format used on BDs/HD-DVDs
Language : English
Default : Yes
Forced : No

Text #2
ID : 6
Format : PGS
Codec ID : S_HDMV/PGS
Codec ID/Info : The same subtitle format used on BDs/HD-DVDs
Language : English
Default : No
Forced : No

Text #3
ID : 8
Format : PGS
Codec ID : S_HDMV/PGS
Codec ID/Info : The same subtitle format used on BDs/HD-DVDs
Language : English
Default : No
Forced : No

Text #4
ID : 10
Format : PGS
Codec ID : S_HDMV/PGS
Codec ID/Info : The same subtitle format used on BDs/HD-DVDs
Language : English
Default : No
Forced : No

Text #5
ID : 12
Format : PGS
Codec ID : S_HDMV/PGS
Codec ID/Info : The same subtitle format used on BDs/HD-DVDs
Language : English
Default : No
Forced : No

Menu
00:00:00.000 : en:Chapter 00
00:07:36.789 : en:Chapter 01
00:10:35.551 : en:Chapter 02
00:15:39.855 : en:Chapter 03
00:19:58.488 : en:Chapter 04
00:25:32.614 : en:Chapter 05
00:29:57.378 : en:Chapter 06
00:32:10.678 : en:Chapter 07
00:34:51.798 : en:Chapter 08
00:36:18.176 : en:Chapter 09
00:45:04.159 : en:Chapter 10
00:46:44.301 : en:Chapter 11
00:51:21.411 : en:Chapter 12
00:55:12.434 : en:Chapter 13
00:57:30.071 : en:Chapter 14
01:03:31.516 : en:Chapter 15
01:07:16.115 : en:Chapter 16
01:08:53.587 : en:Chapter 17
01:10:35.940 : en:Chapter 18
01:15:15.385 : en:Chapter 19
01:17:46.620 : en:Chapter 20
01:24:11.546 : en:Chapter 21
01:26:12.500 : en:Chapter 22
01:29:41.584 : en:Chapter 23
01:33:14.672 : en:Chapter 24
01:35:54.081 : en:Chapter 25
01:37:32.972 : en:Chapter 26

*Fellowship Part 2*
General
Unique ID : 4948953316243189625061446719106071836 (0x3B9223CAFEA61188585C036A3323D1C)
Complete name : \\DiskStation\video\Movies\Lord_Of_The_Rings,_The\The_Fellowship_of_the_Ring_(2001)\The_Fellowship_of_the_Ring_(2001) [part 2 of 2].mkv
Format : Matroska
Format version : Version 2
File size : 31.0 GiB
Duration : 2h 2mn
Overall bit rate mode : Variable
Overall bit rate : 36.2 Mbps
Movie name : THE LORD OF THE RINGS: THE FELLOWSHIP OF THE RING (EXT.) PT. 2
Encoded date : UTC 2012-01-06 04:09:30
Writing application : MakeMKV v1.7.0 win(x64-release)
Writing library : libmakemkv v1.7.0 (1.2.0/1.1.0) win(x64-release)

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : Yes
Format settings, ReFrames : 2 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 2h 2mn
Bit rate mode : Variable
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Language : English
Default : Yes
Forced : No

Audio #1
ID : 2
Format : DTS
Format/Info : Digital Theater Systems
Format profile : MA / Core
Mode : 16
Format settings, Endianness : Big
Codec ID : A_DTS
Duration : 2h 2mn
Bit rate mode : Variable
Bit rate : Unknown / 1 509 Kbps
Channel(s) : 7 channels / 6 channels
Channel positions : Front: L C R, Side: L R, Back: C, LFE / Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 24 bits
Compression mode : Lossless / Lossy
Title : Lossless
Language : English
Default : Yes
Forced : No

Audio #2
ID : 3
Format : DTS
Format/Info : Digital Theater Systems
Format profile : ES
Mode : 16
Format settings, Endianness : Big
Codec ID : A_DTS
Duration : 2h 2mn
Bit rate mode : Constant
Bit rate : 1 509 Kbps
Channel(s) : 7 channels / 6 channels
Channel positions : Front: L C R, Side: L R, Back: C, LFE / Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 24 bits
Compression mode : Lossy
Stream size : 1.29 GiB (4%)
Title : 3/2+1
Language : English
Default : No
Forced : No

Text #1
ID : 4
Format : PGS
Codec ID : S_HDMV/PGS
Codec ID/Info : The same subtitle format used on BDs/HD-DVDs
Language : English
Default : Yes
Forced : No

Text #2
ID : 6
Format : PGS
Codec ID : S_HDMV/PGS
Codec ID/Info : The same subtitle format used on BDs/HD-DVDs
Language : English
Default : No
Forced : No

Text #3
ID : 8
Format : PGS
Codec ID : S_HDMV/PGS
Codec ID/Info : The same subtitle format used on BDs/HD-DVDs
Language : English
Default : No
Forced : No

Text #4
ID : 10
Format : PGS
Codec ID : S_HDMV/PGS
Codec ID/Info : The same subtitle format used on BDs/HD-DVDs
Language : English
Default : No
Forced : No

Text #5
ID : 12
Format : PGS
Codec ID : S_HDMV/PGS
Codec ID/Info : The same subtitle format used on BDs/HD-DVDs
Language : English
Default : No
Forced : No

Menu
00:00:00.000 : en:Chapter 00
00:01:15.825 : en:Chapter 01
00:02:59.220 : en:Chapter 02
00:04:16.631 : en:Chapter 03
00:07:22.442 : en:Chapter 04
00:12:08.728 : en:Chapter 05
00:18:34.113 : en:Chapter 06
00:25:04.461 : en:Chapter 07
00:34:29.192 : en:Chapter 08
00:44:10.648 : en:Chapter 09
00:47:23.298 : en:Chapter 10
00:54:40.318 : en:Chapter 11
01:00:20.325 : en:Chapter 12
01:02:01.676 : en:Chapter 13
01:07:24.206 : en:Chapter 14
01:12:16.457 : en:Chapter 15
01:18:44.219 : en:Chapter 16
01:26:00.155 : en:Chapter 17
01:28:42.483 : en:Chapter 18
01:35:00.653 : en:Chapter 19
01:42:41.155 : en:Chapter 20

Thanks,
Xekester


----------



## xekester

OK, brute force method - Copied the first two part movie back to my pc and ran ffmpeg -i on them.

Thanks for you continuing help.
Xekester

*Fellowship Part 1*
ffmpeg version 1.1 Copyright (c) 2000-2013 the FFmpeg developers
built on Jan 8 2013 16:10:57 with gcc 4.7.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --e
nable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwben
c --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
libavutil 52. 13.100 / 52. 13.100
libavcodec 54. 86.100 / 54. 86.100
libavformat 54. 59.106 / 54. 59.106
libavdevice 54. 3.102 / 54. 3.102
libavfilter 3. 32.100 / 3. 32.100
libswscale 2. 1.103 / 2. 1.103
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
[dca @ 0037d3a0] Number of channels changed in DCA decoder (6 -> 7)
[matroska,webm @ 01f0ea80] Stream #3: not enough frames to estimate rate; consider increasing probesize
[matroska,webm @ 01f0ea80] Stream #5: not enough frames to estimate rate; consider increasing probesize
[matroska,webm @ 01f0ea80] Stream #7: not enough frames to estimate rate; consider increasing probesize
[matroska,webm @ 01f0ea80] Could not find codec parameters for stream 3 (Subtitle: hdmv_pgs_subtitle): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[matroska,webm @ 01f0ea80] Could not find codec parameters for stream 5 (Subtitle: hdmv_pgs_subtitle): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[matroska,webm @ 01f0ea80] Could not find codec parameters for stream 7 (Subtitle: hdmv_pgs_subtitle): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, matroska,webm, from 'C:\Temp\Fellowship1.mkv':
Metadata:
title : THE LORD OF THE RINGS: THE FELLOWSHIP OF THE RING (EXT.) PT. 1
creation_time : 2012-01-06 03:41:47
Duration: 01:45:43.42, start: 0.000000, bitrate: 36179 kb/s
Chapter #0.0: start 0.000000, end 456.789667
Metadata:
title : Chapter 00
Chapter #0.1: start 456.789667, end 635.551578
Metadata:
title : Chapter 01
Chapter #0.2: start 635.551578, end 939.855578
Metadata:
title : Chapter 02
Chapter #0.3: start 939.855578, end 1198.488956
Metadata:
title : Chapter 03
Chapter #0.4: start 1198.488956, end 1532.614400
Metadata:
title : Chapter 04
Chapter #0.5: start 1532.614400, end 1797.378911
Metadata:
title : Chapter 05
Chapter #0.6: start 1797.378911, end 1930.678733
Metadata:
title : Chapter 06
Chapter #0.7: start 1930.678733, end 2091.798022
Metadata:
title : Chapter 07
Chapter #0.8: start 2091.798022, end 2178.176000
Metadata:
title : Chapter 08
Chapter #0.9: start 2178.176000, end 2704.159778
Metadata:
title : Chapter 09
Chapter #0.10: start 2704.159778, end 2804.301489
Metadata:
title : Chapter 10
Chapter #0.11: start 2804.301489, end 3081.411667
Metadata:
title : Chapter 11
Chapter #0.12: start 3081.411667, end 3312.434111
Metadata:
title : Chapter 12
Chapter #0.13: start 3312.434111, end 3450.071622
Metadata:
title : Chapter 13
Chapter #0.14: start 3450.071622, end 3811.516022
Metadata:
title : Chapter 14
Chapter #0.15: start 3811.516022, end 4036.115400
Metadata:
title : Chapter 15
Chapter #0.16: start 4036.115400, end 4133.587778
Metadata:
title : Chapter 16
Chapter #0.17: start 4133.587778, end 4235.940022
Metadata:
title : Chapter 17
Chapter #0.18: start 4235.940022, end 4515.385867
Metadata:
title : Chapter 18
Chapter #0.19: start 4515.385867, end 4666.620289
Metadata:
title : Chapter 19
Chapter #0.20: start 4666.620289, end 5051.546489
Metadata:
title : Chapter 20
Chapter #0.21: start 5051.546489, end 5172.500667
Metadata:
title : Chapter 21
Chapter #0.22: start 5172.500667, end 5381.584533
Metadata:
title : Chapter 22
Chapter #0.23: start 5381.584533, end 5594.672400
Metadata:
title : Chapter 23
Chapter #0.24: start 5594.672400, end 5754.081667
Metadata:
title : Chapter 24
Chapter #0.25: start 5754.081667, end 5852.972111
Metadata:
title : Chapter 25
Chapter #0.26: start 5852.972111, end 6343.420000
Metadata:
title : Chapter 26
Stream #0:0(eng): Video: h264 (High), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Stream #0:1(eng): Audio: dts (DTS-HD MA), 48000 Hz, 6.1, fltp, 1536 kb/s (default)
Metadata:
title : Lossless
Stream #0:2(eng): Audio: dts (DTS-ES), 48000 Hz, 6.1, fltp, 1536 kb/s
Metadata:
title : 3/2+1
Stream #0:3(eng): Subtitle: hdmv_pgs_subtitle (default)
Stream #0:4(eng): Subtitle: hdmv_pgs_subtitle
Stream #0:5(eng): Subtitle: hdmv_pgs_subtitle
Stream #0:6(eng): Subtitle: hdmv_pgs_subtitle
Stream #0:7(eng): Subtitle: hdmv_pgs_subtitle

*Fellowship Part 2*
ffmpeg version 1.1 Copyright (c) 2000-2013 the FFmpeg developers
built on Jan 8 2013 16:10:57 with gcc 4.7.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --e
nable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwben
c --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
libavutil 52. 13.100 / 52. 13.100
libavcodec 54. 86.100 / 54. 86.100
libavformat 54. 59.106 / 54. 59.106
libavdevice 54. 3.102 / 54. 3.102
libavfilter 3. 32.100 / 3. 32.100
libswscale 2. 1.103 / 2. 1.103
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
[dca @ 0037d3a0] Number of channels changed in DCA decoder (6 -> 7)
[matroska,webm @ 01f0ea80] Stream #3: not enough frames to estimate rate; consider increasing probesize
[matroska,webm @ 01f0ea80] Stream #5: not enough frames to estimate rate; consider increasing probesize
[matroska,webm @ 01f0ea80] Stream #7: not enough frames to estimate rate; consider increasing probesize
[matroska,webm @ 01f0ea80] Could not find codec parameters for stream 3 (Subtitle: hdmv_pgs_subtitle): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[matroska,webm @ 01f0ea80] Could not find codec parameters for stream 5 (Subtitle: hdmv_pgs_subtitle): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[matroska,webm @ 01f0ea80] Could not find codec parameters for stream 7 (Subtitle: hdmv_pgs_subtitle): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, matroska,webm, from 'C:\Temp\Fellowship1.mkv':
Metadata:
title : THE LORD OF THE RINGS: THE FELLOWSHIP OF THE RING (EXT.) PT. 1
creation_time : 2012-01-06 03:41:47
Duration: 01:45:43.42, start: 0.000000, bitrate: 36179 kb/s
Chapter #0.0: start 0.000000, end 456.789667
Metadata:
title : Chapter 00
Chapter #0.1: start 456.789667, end 635.551578
Metadata:
title : Chapter 01
Chapter #0.2: start 635.551578, end 939.855578
Metadata:
title : Chapter 02
Chapter #0.3: start 939.855578, end 1198.488956
Metadata:
title : Chapter 03
Chapter #0.4: start 1198.488956, end 1532.614400
Metadata:
title : Chapter 04
Chapter #0.5: start 1532.614400, end 1797.378911
Metadata:
title : Chapter 05
Chapter #0.6: start 1797.378911, end 1930.678733
Metadata:
title : Chapter 06
Chapter #0.7: start 1930.678733, end 2091.798022
Metadata:
title : Chapter 07
Chapter #0.8: start 2091.798022, end 2178.176000
Metadata:
title : Chapter 08
Chapter #0.9: start 2178.176000, end 2704.159778
Metadata:
title : Chapter 09
Chapter #0.10: start 2704.159778, end 2804.301489
Metadata:
title : Chapter 10
Chapter #0.11: start 2804.301489, end 3081.411667
Metadata:
title : Chapter 11
Chapter #0.12: start 3081.411667, end 3312.434111
Metadata:
title : Chapter 12
Chapter #0.13: start 3312.434111, end 3450.071622
Metadata:
title : Chapter 13
Chapter #0.14: start 3450.071622, end 3811.516022
Metadata:
title : Chapter 14
Chapter #0.15: start 3811.516022, end 4036.115400
Metadata:
title : Chapter 15
Chapter #0.16: start 4036.115400, end 4133.587778
Metadata:
title : Chapter 16
Chapter #0.17: start 4133.587778, end 4235.940022
Metadata:
title : Chapter 17
Chapter #0.18: start 4235.940022, end 4515.385867
Metadata:
title : Chapter 18
Chapter #0.19: start 4515.385867, end 4666.620289
Metadata:
title : Chapter 19
Chapter #0.20: start 4666.620289, end 5051.546489
Metadata:
title : Chapter 20
Chapter #0.21: start 5051.546489, end 5172.500667
Metadata:
title : Chapter 21
Chapter #0.22: start 5172.500667, end 5381.584533
Metadata:
title : Chapter 22
Chapter #0.23: start 5381.584533, end 5594.672400
Metadata:
title : Chapter 23
Chapter #0.24: start 5594.672400, end 5754.081667
Metadata:
title : Chapter 24
Chapter #0.25: start 5754.081667, end 5852.972111
Metadata:
title : Chapter 25
Chapter #0.26: start 5852.972111, end 6343.420000
Metadata:
title : Chapter 26
Stream #0:0(eng): Video: h264 (High), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Stream #0:1(eng): Audio: dts (DTS-HD MA), 48000 Hz, 6.1, fltp, 1536 kb/s (default)
Metadata:
title : Lossless
Stream #0:2(eng): Audio: dts (DTS-ES), 48000 Hz, 6.1, fltp, 1536 kb/s
Metadata:
title : 3/2+1
Stream #0:3(eng): Subtitle: hdmv_pgs_subtitle (default)
Stream #0:4(eng): Subtitle: hdmv_pgs_subtitle
Stream #0:5(eng): Subtitle: hdmv_pgs_subtitle
Stream #0:6(eng): Subtitle: hdmv_pgs_subtitle
Stream #0:7(eng): Subtitle: hdmv_pgs_subtitle


----------



## Stormspace

Hey, I decided to move my pyTivo server from my honking power eating Dell XPS to a RaspberryPi. It's working splendidly, except every TiVo in the house sees the recording as protected by the copyright holder. All of them. I thought perhaps it was a mounting issue since the recordings are on an external USB drive(NTFS formatted). Samba shares work fine as far as I've tested them. So is there a setting I'm missing?

PS: I'm only using pyTivo as a hosting server. It's not pushing or receiving content from anywhere other than perhaps as a file copy over the network via a Samba Share.


----------



## gonzotek

Stormspace said:


> Hey, I decided to move my pyTivo server from my honking power eating Dell XPS to a RaspberryPi. It's working splendidly, except every TiVo in the house sees the recording as protected by the copyright holder. All of them. I thought perhaps it was a mounting issue since the recordings are on an external USB drive(NTFS formatted). Samba shares work fine as far as I've tested them. So is there a setting I'm missing?
> 
> PS: I'm only using pyTivo as a hosting server. It's not pushing or receiving content from anywhere other than perhaps as a file copy over the network via a Samba Share.


File formats and pytivo debug logs? It's likely either a permissions problem or a conversion problem (if the files are not already mpeg2, .tivo or mp4 [via pushes or 'ts=on'-enabled pulls] then pytivo will require ffmpeg to convert to a compatible format). If it's a conversion issue, it looks like it's possible to get ffmpeg going on the Pi, but it might not be practical in usage for pytivo (read: it probably will be WAY slow):
https://trac.ffmpeg.org/wiki/How%20to%20compile%20FFmpeg%20for%20Raspberry%20Pi%20(Raspbian)


----------



## lpwcomp

Stormspace said:


> Hey, I decided to move my pyTivo server from my honking power eating Dell XPS to a RaspberryPi. It's working splendidly, except every TiVo in the house sees the recording as protected by the copyright holder. All of them. I thought perhaps it was a mounting issue since the recordings are on an external USB drive(NTFS formatted). Samba shares work fine as far as I've tested them. So is there a setting I'm missing?
> 
> PS: I'm only using pyTivo as a hosting server. It's not pushing or receiving content from anywhere other than perhaps as a file copy over the network via a Samba Share.


Are you using the same version of ffmpeg as before?


----------



## Soapm

Perhaps the attached looks familiar to someone. I haven't connected to my premier since the last software update. As you can see in the attached, it shows up on the pyTivo web page as an ip address instead of it's name "other". Anyone with a clue what could be causing that?

I can see the shares from my Linux box running pytivo but they always appear empty when I click on them. Same with clicking on the ip link on the webpage, it just times out.

There has to be something obvious this is saying but I can't hear the message... lol...

*Nevermind, just as I posed the above I hit connect and got the new updated OS. After install all is well again. Not sure what it was about that old OS version but it sure didn't network very well.*


----------



## Stormspace

lpwcomp said:


> Are you using the same version of ffmpeg as before?


Gonzotek
This implementation is for distribution only. I'm fairly certain its a permission issue since the files, file structure, file system, and everything is identical. I moved an external USB drive to the PI from an Ubuntu box. The Samba config, pyTiVo.conf and all other scripts are the same since I copied them over from the old box.

Samba shares to the video locations work fine.

The mount line from fstab:


Code:


UUID=4ADCC900DCC8E6F3 /media/FantomHD ntfs-3g defaults,rw,uid=pi,gid=pi 0 0

This line isn't the same. I had trouble using the original one from the Ubuntu box.

PS: All files on the drive are mpeg2.


----------



## lrhorer

Stormspace said:


> Gonzotek
> This implementation is for distribution only.


That's not the point. PyTivo relies on ffmpeg to give it information about the videos. An incompatibility in the ffmpeg build could easily cause the symptoms you mention. This is especially true since the rift in the ffmpeg camp. Debian, at least, has decided to take the wholly despicable route of renaming aconv to ffmpeg so they don't have to distribute the "real" ffmpeg. I had to compile ffmpeg from source to replace the distro version, something I haven't had to do for quite some years.



Stormspace said:


> I'm fairly certain its a permission issue since the files, file structure, file system, and everything is identical.


It doesn't sound like it, to me, but it's easy enough to simply change to the directory containing the videos and issue the command:



Code:


sudo chmod -R 644 *




Stormspace said:


> I moved an external USB drive to the PI from an Ubuntu box. The Samba config, pyTiVo.conf and all other scripts are the same since I copied them over from the old box.
> 
> Samba shares to the video locations work fine.


Which also suggests it is not a permissions issue.



Stormspace said:


> The mount line from fstab:
> 
> 
> Code:
> 
> 
> UUID=4ADCC900DCC8E6F3 /media/FantomHD ntfs-3g defaults,rw,uid=pi,gid=pi 0 0
> 
> This line isn't the same. I had trouble using the original one from the Ubuntu box.


That's not surprising.


----------



## Stormspace

lrhorer said:


> That's not the point. PyTivo relies on ffmpeg to give it information about the videos. An incompatibility in the ffmpeg build could easily cause the symptoms you mention. This is especially true since the rift in the ffmpeg camp. Debian, at least, has decided to take the wholly despicable route of renaming aconv to ffmpeg so they don't have to distribute the "real" ffmpeg. I had to compile ffmpeg from source to replace the distro version, something I haven't had to do for quite some years.
> 
> It doesn't sound like it, to me, but it's easy enough to simply change to the directory containing the videos and issue the command:
> 
> 
> 
> Code:
> 
> 
> sudo chmod -R 644 *
> 
> Which also suggests it is not a permissions issue.
> 
> That's not surprising.


OK. What you are saying makes more sense now. I thought ffmpeg was being used to convert the files on the fly. These are already in the right format. And yes I did read about ffmpeg being a little different on the Pi, or maybe it was something else. I was skimming that part since it seemed to install with no problems. I'll double check the ffmpeg, for now I've been able to use TiVo desktop with the samba share as a source and it's working. I'm not going to say working well though. I think another few gray hairs popped out while I was waiting.


----------



## lrhorer

Stormspace said:


> OK. What you are saying makes more sense now. I thought ffmpeg was being used to convert the files on the fly.


Well, it's used for that, too. First, however, pyTivo needs to determine whether or not the file needs to be transcoded at such time that it may be transferred. Ffmpeg is used to obtain that info, and then if and when the transfer request comes across, the file is piped through ffmpeg if need be, or transferred directly, if not.


----------



## swerver

Whenever I push files using pytivo, there is a dropdown to select which tivo to send to. In my case, I have a roamio and a mini, so it will always be to the roamio, but the dropdown defaults to the mini, which obviously cannot accept a transfer anyway. Can I remove it from the list somehow? I thought I saw this mentioned in the thread somewhere but my search is coming up empty.

Thanks


----------



## wmcbrine

swerver said:


> Can I remove it from the list somehow?


It should go away if you use only new-style beacons. Disable the old-style beacons via "beacon = listen" or just "beacon =".


----------



## lpwcomp

Just encountered a weird problem. I have several episodes of "Continuum" recorde3d in August that I downloaded in TS mode from one of my Premieres. All of the episodes had 1 minute leading and trailing padding. When I pull them back, they are getting the title of what I can only presume was on immediately preceding the showing.

For instance, one episode appears in the NPL as "Joe Rogan Questions Everything" while another appears as "Haven".

The Premiere is running 20.3.8. The downloads to the computer were done 11/17/2013, obviously before the update. The pulls back to the TiVo were done today.

Edit: My assumption was wrong. It is getting the title of whatever is on immediately after the showing.


----------



## wmcbrine

The internal metadata in a .TiVo file comes in two blocks: "showing" and "vActualShowing". "showing" is the program you scheduled to record, but "vActualShowing" is all the programs that aired (as far as the TiVo knows) in the recorded time period. Typically these are identical, but in the case of a padded recording, there will also be metadata for the shows that came before and/or after, depending on the padding.

It sounds like, in this case, your TiVo is picking up the last record from vActualShowing, instead of using the "showing" block. Either that, or perhaps pyTivo is picking up the wrong programID, and this is overriding the embedded .TiVo metadata when passed back (though that would be the first time I ever saw the embedded metadata not take precedence). I'll have to check... in the meantime, you could see if you get the same result via TiVo Desktop.


----------



## lpwcomp

wmcbrine said:


> The internal metadata in a .TiVo file comes in two blocks: "showing" and "vActualShowing". "showing" is the program you scheduled to record, but "vActualShowing" is all the programs that aired (as far as the TiVo knows) in the recorded time period. Typically these are identical, but in the case of a padded recording, there will also be metadata for the shows that came before and/or after, depending on the padding.
> 
> It sounds like, in this case, your TiVo is picking up the last record from vActualShowing, instead of using the "showing" block. Either that, or perhaps pyTivo is picking up the wrong programID, and this is overriding the embedded .TiVo metadata when passed back (though that would be the first time I ever saw the embedded metadata not take precedence). I'll have to check... in the meantime, you could see if you get the same result via TiVo Desktop.


TD gets the correct info.

Additional info: When looking at it via the pyTivo share on the TiVo before transferring, the information is correct.

There are very odd things going on. I'm starting to think that there is a problem on my TiVo. One episode initially transferred by TD went into the "Continuum" group and had the correct data. I then transferred it again via pyTiVo. It got info for "Heroes of Cosplay". The TD xferred version, while it stayed in the "Continuum" group, suddenly had the info for the "Heroes of Cosplay" episode.

Other episodes stopped allowing me to xfer via pyTiVo at all (Message #86) _*until*_ I xferred them via TD.

The only episode that got Season and Episode numbers was the only one that had no padding.

Removing "ts=on" had no effect.

They all have ".tivo.txt" metadata files, but that appears to be working correctly and only affecting the fields missing from the embedded metadata like "displayMajorNumber" and "callsign".


----------



## johnjay829

Hello all i was just wondering if anyone was able to get being able to send videos to another tivo on a different network working


----------



## lpwcomp

johnjay829 said:


> Hello all i was just wondering if anyone was able to get being able to send videos to another tivo on a different network working


Yes.


----------



## johnjay829

lpwcomp said:


> Yes.


care to share the setup


----------



## lpwcomp

johnjay829 said:


> care to share the setup


Sure.

You need to add the following to the [Server] section of your pyTivo.conf file:


Code:


externalurl = http://nnn.nnn.nnn.nnn:9032
allowedips = 127.0.0.1 192.168.1.

where nnn.nnn.nnn.nnn is the *external* IP address of your system. Mine begins with 99. For my router/modem (3600HGV) it is under Broadband-Current Internet Connection-IP Address

Then you need to add a section for the remote TiVo:



Code:


[_tivo_<TSN of remote TiVo>]
tivo_username = <tivo.com username of remote TiVo's account>
tivo_password = <tivo.com password of remote TiVo's account>
tivo_mak = <MAK of remote TiVo>
external = True

The < and > are not part of the entry. The TSN should be entered with no dashes.

You also need to open port 9032 in whatever firewalls you have.

This is for pushes to a remote TiVo. I was never able to get *pulls* to a remote TiVo to work.


----------



## johnjay829

lpwcomp said:


> Sure.
> 
> You need to add the following to the [Server] section of your pyTivo.conf file:
> 
> 
> Code:
> 
> 
> externalurl = http://nnn.nnn.nnn.nnn:9032
> allowedips = 127.0.0.1 192.168.1.
> 
> where nnn.nnn.nnn.nnn is the *external* IP address of your system. Mine begins with 99. For my router/modem (3600HGV) it is under Broadband-Current Internet Connection-IP Address
> 
> Then you need to add a section for the remote TiVo:
> 
> 
> 
> Code:
> 
> 
> [_tivo_<TSN of remote TiVo>]
> tivo_username = <tivo.com username of remote TiVo's account>
> tivo_password = <tivo.com password of remote TiVo's account>
> tivo_mak = <MAK of remote TiVo>
> external = True
> 
> The < and > are not part of the entry. The TSN should be entered with no dashes.
> 
> You also need to open port 9032 in whatever firewalls you have.
> 
> This is for pushes to a remote TiVo. I was never able to get *pulls* to a remote TiVo to work.


Thanks i will give it a try. also can i use a dns address for external address..it changes about weekely from my isp


----------



## spaldingclan

has anyone ever been able to get metadata with cover art working with pytivo? I've been using "metagenerator" to add show info but the art never comes over with it.


----------



## lpwcomp

johnjay829 said:


> Thanks i will give it a try. also can i use a dns address for external address..it changes about weekely from my isp


I really don't know for sure, but I doubt it. Is there no way to get your ISP to assign you a fixed IP address?


----------



## wmcbrine

spaldingclan said:


> has anyone ever been able to get metadata with cover art working with pytivo? I've been using "metagenerator" to add show info but the art never comes over with it.


The TiVo doesn't support cover art via HMO. The cover art they do show, in the HDUI, is derived from the programId. Images were only added to the metadata .txt "standard" for the benefit of other programs, like Streambaby, and are not used by pyTivo. (Exception: Someone did a mod to display them on the Push page, IIRC.)


----------



## johnjay829

lpwcomp said:


> I really don't know for sure, but I doubt it. Is there no way to get your ISP to assign you a fixed IP address?


not for free lol.. it is fine that is an easy update to make when it changes


----------



## swerver

wmcbrine said:


> It should go away if you use only new-style beacons. Disable the old-style beacons via "beacon = listen" or just "beacon =".


Thanks that did it!


----------



## lpwcomp

johnjay829 said:


> not for free lol.. it is fine that is an easy update to make when it changes


But they do give you a fixed URL? That's just weird.


----------



## wmcbrine

lpwcomp said:


> But they do give you a fixed URL? That's just weird.


It's trivial to get a fixed domain name; there are several free services that do it. The names aren't a limited resource like IPs are.

These aren't top-level domains (which I don't think you can get for free), but things like "yourname.dyndns.org".


----------



## lpwcomp

wmcbrine said:


> It's trivial to get a fixed domain name; there are several free services that do it. The names aren't a limited resource like IPs are.
> 
> These aren't top-level domains (which I don't think you can get for free), but things like "yourname.dyndns.org".


So would using a domain name as the externalurl work?


----------



## wmcbrine

It should. You do need the IP for a pull (for "Manually add..."), though.


----------



## zundian

I just changed computers, and am dealing with a weird issue in a Windows 8 environment.

Everything is working normally, except any new files I get don't show up in the NPL or in the web version on the computer. Anything transferred from my old computer is fine, and the new folders show up, but nothing is in them, according to pytivo.

I thought maybe it was a codec issue, and downloading CCCP seemed to have fixed the issue until my next reboot.

Any ideas?

ETA: doing some experimenting, it seems like pytivo is only recognizing the first folder? If I move the new files to the main folder it picks them up, but doesn't recognize them in the new sub folder.
ETA 2: Putting old content into the same sub folder hides it from pytivo. How odd.


----------



## wmcbrine

zundian said:


> I thought maybe it was a codec issue, and downloading CCCP seemed to have fixed the issue until my next reboot.


pyTivo doesn't use codecs in that way -- it uses FFmpeg, which has its own codecs built-in, and doesn't connect with the system codecs.



> _Any ideas?_


Post the log?


----------



## zundian

It appears to have been an issue with Windows 8's new sharing scheme. I've "unshared" everything and it's working now


----------



## innocentfreak

I am having an issue pushing a couple of shows in a folder.

This is the only message after I queue the episodes.

Unhandled exception in thread started by <unbound method Video.process_queue>
ERRORyTivo:Exception in pyTivo
Traceback (most recent call last):
File "C:\Pytivo\wmcbrine\plugins\video\video.py", line 119, in process_queue
self.push_one_file(item)
File "C:\Pytivo\wmcbrine\plugins\video\video.py", line 69, in push_one_file
file_info['valid'] = transcode.supported_format(f['path'])
File "C:\Pytivo\wmcbrine\plugins\video\transcode.py", line 1007, in supported_
format
if video_info(inFile)['Supported']:
File "C:\Pytivo\wmcbrine\plugins\video\transcode.py", line 767, in video_info
fname = fname.encode('iso8859-1')
UnicodeEncodeError: 'latin-1' codec can't encode character u'\u2019' in position
107: ordinal not in range(256)

MediaInfo


Code:


Format                                   : Matroska
Format version                           : Version 4 / Version 2
File size                                : 1.29 GiB
Duration                                 : 42mn 34s
Overall bit rate                         : 4 334 Kbps
Encoded date                             : UTC 2013-11-07 13:14:38
Writing application                      : mkvmerge v6.4.1 ('Omega Point') built on Sep 16 2013 22:05:10
Writing library                          : libebml v1.3.0 + libmatroska v1.4.1

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : [email protected]
Format settings, CABAC                   : No
Format settings, ReFrames                : 2 frames
Codec ID                                 : V_MPEG4/ISO/AVC
Duration                                 : 42mn 34s
Bit rate                                 : 3 864 Kbps
Width                                    : 1 280 pixels
Height                                   : 718 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 23.976 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.175
Stream size                              : 1.15 GiB (89%)
Language                                 : English
Default                                  : Yes
Forced                                   : No
Color primaries                          : BT.709
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.709

Audio
ID                                       : 2
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Mode extension                           : CM (complete main)
Format settings, Endianness              : Big
Codec ID                                 : A_AC3
Duration                                 : 42mn 34s
Bit rate mode                            : Constant
Bit rate                                 : 384 Kbps
Channel(s)                               : 6 channels
Channel positions                        : Front: L C R, Side: L R, LFE
Sampling rate                            : 48.0 KHz
Bit depth                                : 16 bits
Compression mode                         : Lossy
Stream size                              : 117 MiB (9%)
Language                                 : English
Default                                  : Yes
Forced                                   : No

Text
ID                                       : 3
Format                                   : UTF-8
Codec ID                                 : S_TEXT/UTF8
Codec ID/Info                            : UTF-8 Plain Text
Language                                 : English
Default                                  : No
Forced                                   : No


----------



## wmcbrine

innocentfreak said:


> UnicodeEncodeError: 'latin-1' codec can't encode character u'\u2019' in position
> 107: ordinal not in range(256)


The only relevant thing here is the one thing you haven't shown, the filename.  In this case, it's a fancy quote character "  ", which I would replace with " ' ".

But this makes me think I need to revisit the general issue of character sets under Windows. (Pretty much everything else uses UTF-8 now, which makes this much easier.)


----------



## innocentfreak

wmcbrine said:


> The only relevant thing here is the one thing you haven't shown, the filename.  In this case, it's a fancy quote character "  ", which I would replace with " ' ".
> 
> But this makes me think I need to revisit the general issue of character sets under Windows. (Pretty much everything else uses UTF-8 now, which makes this much easier.)


Thanks. It looks like I had an extra file that used the special character and not the actual video so it was throwing it off. Deleted those, restarted PyTiVo and it is processing now. I had to restart PyTiVo because the show just sat in queued status and wouldn't try to process when I pushed it again after removing the misnamed file.


----------



## Zu Nim

Is there a way to specify a separate directory for the .pyTivo-temp files? It looks like they're always created in the same directory as the media.


----------



## Joe Siegler

I tried copying some episodes of Brooklyn Nine-Nine from my archive on my computer back to my TiVo, and whether I would push them or pull them from the TiVo itself, some of the episodes wouldn't work - I'd end up with a file on my TiVo that has nothing in it.

I sat at the computer now and pushed one (or tried), and the same thing happened, only this time I captured the errors. A few remarks.

1) MICHAEL is the name of my TiVo (my brother's idea of a joke, and I've never changed it)
2) This was an episode of Brooklyn Nine-Nine that my TiVo recorded itself, and I don't decrypt the files, this is a .TiVo file we're talking about here.

I've copied things back to the computer before, and some of the other Brooklyn Nine-Nine episodes I have saved copy fine. About half of them do not. No idea how to get around this for now. Any thoughts?



Code:


INFO:pyTivo.video.video:[15/Jan/2014 16:00:53] Queued "J:\Tivo\Brooklyn Nine-Nine\Brooklyn Nine-Nine - The Tagger (Recorded Sep 24, 2013, KDFWDT).TiVo" for Push to MICHAEL
INFO:pyTivo:127.0.0.1 [15/Jan/2014 16:00:53] "POST /TiVoConnect HTTP/1.1" 200 - 
Encryption by QUALCOMM ;)

INFO:pyTivo:127.0.0.1 [15/Jan/2014 16:00:58] "GET /TiVoConnect?Command=QueryContainer&Container=Tivo%20Recordings/Brooklyn%20Nine-Nine&Format=text/html HTTP/1.1" 200 -

ffmpeg version 1.2 Copyright (c) 2000-2013 the FFmpeg developers
  built on Mar 28 2013 00:34:08 with gcc 4.8.0 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 18.100 / 52. 18.100
  libavcodec     54. 92.100 / 54. 92.100
  libavformat    54. 63.104 / 54. 63.104
  libavdevice    54.  3.103 / 54.  3.103
  libavfilter     3. 42.103 /  3. 42.103
  libswscale      2.  2.100 /  2.  2.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
[mpeg2video @ 000000000034b640] 0x0 is invalid
    Last message repeated 13 times
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=138464, dts=138465, size=2351
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=147473, dts=147474, size=2719
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=156482, dts=156483, size=2351
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=165491, dts=165492, size=2719
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=174500, dts=174501, size=7871
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=183509, dts=183510, size=2351
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=192518, dts=192519, size=2719
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=201527, dts=201528, size=2719
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=210536, dts=210537, size=3087
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=219545, dts=219546, size=3823
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=228554, dts=228555, size=2719
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=237563, dts=237564, size=2719
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=246572, dts=246573, size=2535
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=255581, dts=255582, size=2903
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=264590, dts=264591, size=3271
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=273599, dts=273600, size=2903
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=282608, dts=282609, size=2903
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=291617, dts=291618, size=2903
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=300626, dts=300627, size=3087
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=309635, dts=309636, size=3455
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=318644, dts=318645, size=2903
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=327653, dts=327654, size=2903
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=336662, dts=336663, size=2535
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=345671, dts=345672, size=1247
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=354680, dts=354681, size=1063
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=363689, dts=363690, size=1063
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=372698, dts=372699, size=1063
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=381707, dts=381708, size=1063
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=390716, dts=390717, size=1063
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=399725, dts=399726, size=1063
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=408734, dts=408735, size=1063
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=417743, dts=417744, size=1063
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=426752, dts=426753, size=1063
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=435761, dts=435762, size=1063
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=444770, dts=444771, size=1063
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=453779, dts=453780, size=1063
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=462788, dts=462789, size=16887
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=471797, dts=471798, size=3639
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=480806, dts=480807, size=3271
[mpeg @ 00000000039704a0] Invalid timestamps stream=1, pts=489815, dts=489816, size=2903
[mpeg @ 00000000039704a0] Estimating duration from bitrate, this may be inaccurate
Input #0, mpeg, from 'pipe:':
  Duration: N/A, start: 1.000000, bitrate: 448 kb/s
    Stream #0:0[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s
    Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 59.94 fps, 59.94 tbr, 90k tbn, 119.88 tbc
Please use -b:a or -b:v, -b is ambiguous
Stream map '0:2' matches no streams.
INFO:pyTivo.video.video:[15/Jan/2014 16:02:18] Done sending "J:\Tivo\Brooklyn Nine-Nine\Brooklyn Nine-Nine - The Tagger (Recorded Sep 24, 2013, KDFWDT).TiVo" to
 MICHAEL, 0 bytes, 0.00 Mb/s


----------



## wmcbrine

Joe Siegler said:


> This was an episode of Brooklyn Nine-Nine that my TiVo recorded itself, and I don't decrypt the files, this is a .TiVo file we're talking about here.


You'd be better off decrypting them. I'm actually a little confused as to what's happening here -- I'd like to see more of the log, and preferably, with debug on. But, in general, .TiVo files can't be pushed as-is -- only pulled -- so they have to be decrypted to push them. Normally, pyTivo would do this on the fly. Your output here looks like FFmpeg trying to read an encrypted .TiVo file -- which it can do, to a limited extent, and which pyTivo does for the purpose of getting info about the file -- but it looks like this was an actual attempt to reencode, which it shouldn't have been doing at that point.


----------



## Joe Siegler

OK, I'll try it again from the TiVo side and see what happens.

Let me know what other log I need to get at, and I'll be happy to pass it on.


----------



## wmcbrine

Zu Nim said:


> Is there a way to specify a separate directory for the .pyTivo-temp files? It looks like they're always created in the same directory as the media.


http://pytivo.sourceforge.net/forum/temp-directory-when-pushing-pulling-video-t2527.html


----------



## wmcbrine

Joe Siegler said:


> Let me know what other log I need to get at, and I'll be happy to pass it on.


Not a different log, just a more detailed version of that one, by turning on the "debug" flag. (Also, don't edit it down.)


----------



## Joe Siegler

wmcbrine said:


> Not a different log, just a more detailed version of that one, by turning on the "debug" flag. (Also, don't edit it down.)


I'll have to give that a try in the morning. Not near computer, and by the time I get home to where all this stuff is, it'll be after midnight, too tired.

Tkx for helping, I'll have something else tomorrow.

Edit: NOTE.. I captured that out of the DOS window that is always running when I'm running pyTiVo. Does it save its log on the HD anywhere? If so, I'm not aware of that (as I've never had need to look at it before).


----------



## wmcbrine

Joe Siegler said:


> I captured that out of the DOS window that is always running when I'm running pyTiVo. Does it save its log on the HD anywhere?


It depends how you set it up. The command window output is fine... just scroll back a bit more.


----------



## Joe Siegler

Googled for it, and found this to put in the pytivo config file. It seems to work. I'll give the videos a test in the morning when I'm more awake. 



Code:


[loggers] 
keys=root 

[handlers] 
keys=console,rotfile 

[formatters] 
keys=basicform 

[logger_root] 
level=DEBUG 
handlers=console,rotfile 
#handlers=console 

[handler_console] 
class=StreamHandler 
formatter=basicform 
args=(sys.stdout,) 

[handler_rotfile] 
class=handlers.RotatingFileHandler 
formatter=basicform 
args=('C:\pyTivo\debug.log', 'a', 10485760, 5) 

[formatter_basicform] 
format=%(asctime)s %(levelname)-5s %(name)s: %(message)s


----------



## djl25

Finally got around to figuring this out. Under Mavericks, I had to turn off Zeroconf in pyTivo's settings, in order to run it at startup as root. It may be because I have Virtualbox installed, which introduces a second (virtual) network adapter.



djl25 said:


> I'm new to the Mac world, and am having trouble adjusting, evidently... I followed the instructions at http://pytivo.sourceforge.net/wiki/index.php/Mac_OS_X_Install regarding Mac OS X 10.6 and up. Created the plist file and moved it to /Library/LaunchDaemons, etc. It works perfectly once, but if I power down the machine pyTivo does not restart. I also tried Lingon X to create the job, but had the exact same results. Any help from a Mac expert would be appreciated, I know I'm missing something small.


----------



## Joe Siegler

wmcbrine said:


> You'd be better off decrypting them. I'm actually a little confused as to what's happening here -- I'd like to see more of the log, and preferably, with debug on. But, in general, .TiVo files can't be pushed as-is -- only pulled -- so they have to be decrypted to push them. Normally, pyTivo would do this on the fly. Your output here looks like FFmpeg trying to read an encrypted .TiVo file -- which it can do, to a limited extent, and which pyTivo does for the purpose of getting info about the file -- but it looks like this was an actual attempt to reencode, which it shouldn't have been doing at that point.


OK, here. I cleared out the log, turned on pyTiVo, and then attempted to transfer one of the files that failed. After that, I then transferred a file that worked fine. Then closed out pyTiVo so I could mark this as it's own event log (so to speak - that make sense?)

The thing about this is that I've been sending .TiVo files back and forth for quite some time now, this is the first I've run into programs that it is having problems with.

Sending as a file attachment, as the debug log file is like 96k. Too large to post as text here.


----------



## Dan203

Is there any way to remotely delete a file from a pyTiVo share? I noticed when I press delete on the remote I get a "bong" sound, so I'm guessing no delete command is even sent to the pyTiVo server. Is there maybe a separate HME front end for pyTiVo that allows remote delete?


----------



## natallica

Hi -

I'm new to PyTivo. I tried PyTivoX, but I was told to get plain PyTivo in order to be able to stream from my Mac to my TiVo Elite.

I'm having a hard time figuring out what files to download to get PyTivo installed and this thread is really difficult to search through.

I was led to this page to download:

https://github.com/wmcbrine/pytivo

What am I downloading from there? Just the PyTivo.py file?

I appreciate any and all help!

Thanks...

-- N


----------



## lpwcomp

natallica said:


> Hi -
> 
> I'm new to PyTivo. I tried PyTivoX, but I was told to get plain PyTivo in order to be able to stream from my Mac to my TiVo Elite.
> 
> I'm having a hard time figuring out what files to download to get PyTivo installed and this thread is really difficult to search through.
> 
> I was led to this page to download:
> 
> https://github.com/wmcbrine/pytivo
> 
> What am I downloading from there? Just the PyTivo.py file?
> 
> I appreciate any and all help!
> 
> Thanks...
> 
> -- N


You need to download the entire package. The best place to start is actually here.


----------



## natallica

lpwcomp said:


> You need to download the entire package. The best place to start is actually here.


Nevermind. I found the big ZIP icon that I was missing. I've got the installer now. Thanks!


----------



## natallica

Hi everyone -

Thanks for the help. I have pyTivo running on my Mac and am able to transfer files to my TiVo Elite. 

Thanks again. This is a really cool piece of software!


----------



## zundian

Me again, all my folders/files keep disappearing from the "My Movies" webpage/folder

Here is my log



Code:


When I start up pytivo and they've disappeared, I get this:

INFO:pyTivo:Last modified: Wed Jan 15 22:12:00 2014
INFO:pyTivo:Python: 2.7.6
INFO:pyTivo:System: Windows-8-6.2.9200
ERROR:pyTivo.config:Bad ffmpeg path: c:\Pytivo\bin\
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:Roderick
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: My Movies
INFO:pyTivo:pyTivo is ready.

After changing any folder parameter in the configurator and changing it back to the initial setting, they reappear and I get this log:

INFO:pyTivo:Last modified: Wed Jan 15 22:12:00 2014
INFO:pyTivo:Python: 2.7.6
INFO:pyTivo:System: Windows-8-6.2.9200
ERROR:pyTivo.config:Bad ffmpeg path: c:\Pytivo\bin\
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:Roderick
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: My Movies
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.2.9 [14/Feb/2014 03:00:53] "GET /TiVoConnect?Command=QueryCo
ntainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.2.5 [14/Feb/2014 03:00:53] "GET /TiVoConnect?Command=QueryCo
ntainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.2.6 [14/Feb/2014 03:00:53] "GET /TiVoConnect?Command=QueryCo
ntainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.2.5 [14/Feb/2014 03:00:53] "GET /TiVoConnect?Command=QueryCo
ntainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:127.0.0.1 [14/Feb/2014 03:01:06] "GET /TiVoConnect?Command=QueryCont
ainer&Container=My%20Movies&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [14/Feb/2014 03:01:07] "GET /folder.png HTTP/1.1" 200 -

(I've since changed the "\" to "/" so I'm not getting the "bad FFmpeg path" error anymore)


----------



## reneg

Dan203 said:


> Is there any way to remotely delete a file from a pyTiVo share? I noticed when I press delete on the remote I get a "bong" sound, so I'm guessing no delete command is even sent to the pyTiVo server. Is there maybe a separate HME front end for pyTiVo that allows remote delete?


Streambaby is a HME app that allows files to be deleted. The streambaby INI file needs streambaby.delete = true to enable.


----------



## lpwcomp

Very odd situation. I d/l'd a recording from my Roamio. Using VideoReDo, I edited it and saved it as an H.264 mp4. Using the same project, I also saved it as an H.264 mkv. pyTivo sees the mkv as 3h37m and if I pull it back to the TiVo it is flagged as partial and the progress bar is 3h37m long with onkly the first 43m filled in green. Meanwhile the mp4 shows up correctly as 43m.

VideReDo, PowerDVD and MPCStar all report the mkv as 42m33s. If I *push* it back to the TiVo, it is a full recording of 43m and that is also what the progress bar indicates.

While not really a problem per se, it is a bit annoying and curious.


----------



## rassi

Question - I have been using PyTiVo for several years with no real issues. Can't get transfers from the TiVo to my PC working, but that's not really an issue.

Here's my question - we're buying a new Roamio Plus. Already have a TiVoHD. Can we use PyTiVo with both units?


----------



## wmcbrine

rassi said:


> Question - I have been using PyTiVo for several years with no real issues. Can't get transfers from the TiVo to my PC working, but that's not really an issue.


Sure it is. Tell us more.



> _Here's my question - we're buying a new Roamio Plus. Already have a TiVoHD. Can we use PyTiVo with both units?_


Of course. And you shouldn't have to do any additional setup. Just allow a few days for the new TiVo to be fully activated.


----------



## rassi

wmcbrine said:


> Sure it is. Tell us more.
> 
> Of course. And you shouldn't have to do any additional setup. Just allow a few days for the new TiVo to be fully activated.


do I have to do anything to my PyTiVo setup so it recognizes both units?

As for the issue "sending" from the TiVo to my PC, it's never been a priority so I really haven't worked on it in years. I'll look at it again once the Roamio arrives.

For our family, PyTivo has really been for streaming/loading videos to the TiVo to watch like our movie collection or old TV episodes we have collected on our NAS.


----------



## murryamorris

rassi said:


> do I have to do anything to my PyTiVo setup so it recognizes both units?
> 
> As for the issue "sending" from the TiVo to my PC, it's never been a priority so I really haven't worked on it in years. I'll look at it again once the Roamio arrives.
> 
> For our family, PyTivo has really been for streaming/loading videos to the TiVo to watch like our movie collection or old TV episodes we have collected on our NAS.


I didn't have to do anything special to get it to see both of my Tivo's on the network the first time I started it up.


----------



## pmiranda

I've got a weird problem that I'm hoping somebody will know how to figure out.
For a couple years I've been using handbrake to make m4v files from my DVDs and pull them from pytivo to my premiere. They used to play fine, but I got a new computer, installed handbrake on it, and now find that if I use any trickplay except pause, the video jumps back several minutes.
I'm guessing I have accidentally changed some setting in handbrake that causes this, but I can't tell what. I tried using ffprobe to dump info from a old m4v that works normally and from one that has the problem, but nothing is jumping out at me as significantly different, so perhaps somebody could suggest ffprobe options to get more information. 
Any suggestions?


----------



## rassi

murryamorris said:


> I didn't have to do anything special to get it to see both of my Tivo's on the network the first time I started it up.


Thanks for the input from everyone. Got the new Roamio Plus setup last night and as everyone said, it just worked with our existing PyTiVo setup. The happy discovery was that even though the TiVo documentation said that only wired ethernet or MoCa would permit transferring shows from our old TiVoHD to the new Roamio, they seem to transfer fine via wireless.

Now if Time Warner would have just sent us the right cablecard, we'd be all set, but of course they ****ed up and sent a one-way card. So we have to wait for the replacement....


----------



## pmiranda

All cablecards are one-way (or at least that's how they're used in tivos, you need a tuning adapter for the reverse channel communication)... do you mean they sent you a single-stream card? I'm surprised they still have any.


----------



## lpwcomp

rassi said:


> <snip>The happy discovery was that even though the TiVo documentation said that only wired ethernet or MoCa would permit transferring shows from our old TiVoHD to the new Roamio, they seem to transfer fine via wireless.<snip>


Where do you see this requirement?


----------



## rassi

lpwcomp said:


> Where do you see this requirement?


It was on their explanation of the various network options on the Quick Setup poster in with my Roamio Plus...


----------



## rassi

pmiranda said:


> All cablecards are one-way (or at least that's how they're used in tivos, you need a tuning adapter for the reverse channel communication)... do you mean they sent you a single-stream card? I'm surprised they still have any.


I'm not at home so I can't check right now, but the tech said that was why they couldn't get the Tuning adapter to stop blinking.

Is there something I can look at on the cablecard when I get home to verify if it's the right kind I needed?


----------



## pmiranda

rassi said:


> I'm not at home so I can't check right now, but the tech said that was why they couldn't get the Tuning adapter to stop blinking.
> 
> Is there something I can look at on the cablecard when I get home to verify if it's the right kind I needed?


I can't remember off the top of my head, but in the cablecard diag screens there should be helpful words like "authorized" and large numbers of EMMs and things like that received. 
Cablecards are capable of sending diagnostics back to the cableco, but in TiVos, there is no signal path for them, so the tech is dependent on you reading information out of the diag screens.

If you're on time warner, just call their national support line and they'll get you up and running: 866-606-5889 is the number I last used.

Then jump back a page in this thread and help me with my problem


----------



## telemark

pmiranda:

It would probably be easiest if you just post a good file and a bad file 
somewhere, but I'll venture a guess.

Could it be there's not enough keyframes?

./ffprobe -show_frames

I scrubbing while playing the file on a PC also choppy?


----------



## rassi

pmiranda said:


> I can't remember off the top of my head, but in the cablecard diag screens there should be helpful words like "authorized" and large numbers of EMMs and things like that received.
> Cablecards are capable of sending diagnostics back to the cableco, but in TiVos, there is no signal path for them, so the tech is dependent on you reading information out of the diag screens.
> 
> If you're on time warner, just call their national support line and they'll get you up and running: 866-606-5889 is the number I last used.


Thanks for the lead on the cablecard support line - they helped me last night. Determined we had the right cablecard - the TA is bad. So I have another cablecard still coming (that they sent the other day) but have to wait for a new TA. I was able to find out that the TAs aren't "linked" to the cablecard, so we were able to swap our "good" TA from the TiVoHD to the new Roamio so at least we could take advantage of all the tuners on that to record more. When the replacement TA comes, we'll put that on the old TiVoHD.


----------



## moyekj

Anyone with 20.4.1 software update seeing sluggishness when transferring videos to your unit(s)? Since the update both MRV and pyTivo TTCB transfers to my Roamio Pro with 20.4.1 make the unit very sluggish (about as bad or worse than Elite units) during the transfer. I'm using pyTivo with ts=on setting and getting transfers speeds in the range of 70-90 Mbps. I've tried pulling both H.264 and mpeg2 video formats (pyTivo with ts=on is only remuxing to TS container while leaving audio + video alone).


----------



## lpwcomp

moyekj said:


> Anyone with 20.4.1 software update seeing sluggishness when transferring videos to your unit(s)? Since the update both MRV and pyTivo TTCB transfers to my Roamio Pro with 20.4.1 make the unit very sluggish (about as bad or worse than Elite units) during the transfer. I'm using pyTivo with ts=on setting and getting transfers speeds in the range of 70-90 Mbps. I've tried pulling both H.264 and mpeg2 video formats (pyTivo with ts=on is only remuxing to TS container while leaving audio + video alone).


Definitely seeing this, including strobing during recording playback. This is while playing back any recording, not just the one being transferred. The menus are noticeably slower. Both of these problems only occur during the actual transfer.


----------



## moyekj

lpwcomp said:


> Definitely seeing this, including strobing during recording playback. This is while playing back any recording, not just the one being transferred. The menus are noticeably slower. Both of these problems only occur during the actual transfer.


Looks like fundamental issue is too many CPU cycles dedicated to transfers to the point it's causing skipped frames during playback of any recording. I noticed it slightly with previous versions, but now it's much worse.


----------



## telemark

Are you saying the transfers are faster? That sounds like an improvement.

At least if you don't schedule transfers during the same time as the box is being used interactively.

Maybe there's a way to rate limit the transfer from the client side?


----------



## lpwcomp

telemark said:


> Are you saying the transfers are faster? That sounds like an improvement.


While transfers _*may*_ be _*slightly*_ faster, they were plenty fast before. Overall, it is the opposite of an improvement.



telemark said:


> At least if you don't schedule transfers during the same time as the box is being used interactively.


Sorta difficult to do when the transfer is initiated from the TiVo.



telemark said:


> Maybe there's a way to rate limit the transfer from the client side?


Even if possible, it would more likely exacerbate the problem rather than mitigate it.


----------



## nooneuknow

lpwcomp said:


> While transfers _*may*_ be _*slightly*_ faster, they were plenty fast before. Overall, it is the opposite of an improvement.
> 
> Sorta difficult to do when the transfer is initiated from the TiVo.
> 
> Even if possible, it would more likely exacerbate the problem rather than mitigate it.


I agree with how you see it, and from moyekj's perspective.

I think all the posts I've seen noting the slowdowns in response time, and issues while streaming (or transferring), which specify a Roamio model, have been the Plus/Pro.

They have gigabit ethernet. The base model Roamio does not.

Has anybody tried digging out some 100Mbit switches to throttle transfers and see if a gigabit Roamio that auto-negotiates to 100Mbit, is impacted less?

Nobody should have to do so (TiVo should have caught the issue). But, I think it might help those who are looking for pitchforks and torches.

I'm a bit peeved that the "pause" on the rollout was resumed once the weekend was over (with the pause being announced right before the weekend). IIRC, TiVo generally doesn't roll updates on Fridays or weekends, so just how much of a "pause" outside the norm was there?

I feel if they truly put it on "pause", outside of normal parameters, they should have taken more time before resuming.


----------



## lpwcomp

The only Roamio I have is a basic. If I get a chance, I'll check out my Premiere.


----------



## rassi

PyTiVo has stopped working for us - getting a message on the Tivo when we try and go in to view programs to transfer that the files are unavailable. On the PC that is running PyTivo the directories are available.

Here is what PyTivo shows after starting up:



> C:\Program Files\pyTivo>pytivo console
> Checking to see if pyTivo is already running . . .
> 
> Starting pyTivo Server. Use ctrl+Break to exit.
> 
> 2014-04-10 21:42:01,165 INFO pyTivo.beacon: Announcing shares...
> 2014-04-10 21:42:01,276 INFO pyTivo.beacon: Registering: All Videos
> 2014-04-10 21:42:02,094 INFO pyTivo.beacon: Registering: Movies
> 2014-04-10 21:42:02,904 INFO pyTivo.beacon: Registering: Noah Trip
> 2014-04-10 21:42:03,710 INFO pyTivo.beacon: Scanning for TiVos...
> 2014-04-10 21:42:04,213 INFO pyTivo: pyTivo is ready.
> 2014-04-10 21:42:04,591 INFO pyTivo: 192.168.1.133 [10/Apr/2014 21:42:04] "GET
> /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
> 2014-04-10 21:42:04,591 INFO pyTivo: 192.168.1.118 [10/Apr/2014 21:42:04] "GET
> /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> 2014-04-10 21:42:04,591 INFO pyTivo: 192.168.1.111 [10/Apr/2014 21:42:04] "GET
> /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> 2014-04-10 22:16:04,674 INFO pyTivo: 192.168.1.118 [10/Apr/2014 22:16:04] "GET
> /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> 2014-04-10 22:16:04,767 INFO pyTivo: 192.168.1.118 [10/Apr/2014 22:16:04] "GET
> /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> 2014-04-10 22:17:04,733 INFO pyTivo: 192.168.1.111 [10/Apr/2014 22:17:04] "GET
> /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> 2014-04-11 17:20:20,260 INFO pyTivo: 192.168.1.118 [11/Apr/2014 17:20:20] "GET
> /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> 2014-04-12 10:48:41,322 INFO pyTivo: 192.168.1.118 [12/Apr/2014 10:48:41] "GET
> /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> 2014-04-12 10:48:41,483 INFO pyTivo: 192.168.1.118 [12/Apr/2014 10:48:41] "GET
> /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> 2014-04-12 10:48:45,687 INFO pyTivo: 192.168.1.118 [12/Apr/2014 10:48:45] "GET
> /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200
> -
> 2014-04-12 10:49:05,144 INFO pyTivo: 192.168.1.118 [12/Apr/2014 10:49:05] "GET
> /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> 2014-04-12 10:49:05,471 INFO pyTivo: 192.168.1.118 [12/Apr/2014 10:49:05] "GET
> /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> 2014-04-12 10:49:17,980 INFO pyTivo: 192.168.1.118 [12/Apr/2014 10:49:17] "GET
> /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> 2014-04-12 10:49:18,313 INFO pyTivo: 192.168.1.118 [12/Apr/2014 10:49:18] "GET
> /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> 2014-04-12 10:49:23,335 INFO pyTivo: 192.168.1.118 [12/Apr/2014 10:49:23] "GET
> /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200
> -
> 2014-04-12 10:49:41,411 INFO pyTivo: 192.168.1.118 [12/Apr/2014 10:49:41] "GET
> /TiVoConnect?Command=QueryContainer&Container=Movies&Recurse=Yes&SortOrder=!Capt
> ureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffol
> der,video%2Fx-tivo-mpeg,video%2F*&SerialNum=8480001903A50DA HTTP/1.1" 200 -
> 2014-04-12 10:49:42,358 INFO pyTivo: 192.168.1.118 [12/Apr/2014 10:49:42] "GET
> /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> 2014-04-12 10:49:42,658 INFO pyTivo: 192.168.1.118 [12/Apr/2014 10:49:42] "GET
> /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> 2014-04-12 10:51:43,858 WARNING pyTivo.video.video: Bad file time on R:\Torchwoo
> d\Season 1\Torchwood - S01E07 - Greeks Bearing Gifts.avi
> 2014-04-12 10:51:43,868 ERROR pyTivo: Exception during request from ('192.168.1.
> 118', 35363)
> Traceback (most recent call last):
> File "C:\Python27\lib\SocketServer.py", line 582, in process_request_thread
> self.finish_request(request, client_address)
> File "C:\Python27\lib\SocketServer.py", line 323, in finish_request
> self.RequestHandlerClass(request, client_address, self)
> File "C:\Program Files\pyTivo\httpserver.py", line 64, in __init__
> client_address, server)
> File "C:\Python27\lib\SocketServer.py", line 638, in __init__
> self.handle()
> File "C:\Python27\lib\BaseHTTPServer.py", line 340, in handle
> self.handle_one_request()
> File "C:\Python27\lib\BaseHTTPServer.py", line 328, in handle_one_request
> method()
> File "C:\Program Files\pyTivo\httpserver.py", line 90, in do_GET
> self.handle_query(query, tsn)
> File "C:\Program Files\pyTivo\httpserver.py", line 134, in handle_query
> method(self, query)
> File "C:\Program Files\pyTivo\plugins\video\video.py", line 325, in QueryConta
> iner
> video.update(metadata.basic(f.name))
> File "C:\Program Files\pyTivo\metadata.py", line 280, in basic
> originalAirDate = datetime.fromtimestamp(mtime)
> ValueError: timestamp out of range for platform localtime()/gmtime() function


Any suggestions?


----------



## wmcbrine

Well, that's an odd one. Still, the error message seems pretty clear: "*Bad file time* on R:\Torchwood\Season 1\Torchwood - S01E07 - Greeks Bearing Gifts.avi". Check your system clock, first, then check the file.


----------



## rassi

wmcbrine said:


> Well, that's an odd one. Still, the error message seems pretty clear: "*Bad file time* on R:\Torchwood\Season 1\Torchwood - S01E07 - Greeks Bearing Gifts.avi". Check your system clock, first, then check the file.


When you say "system clock" you mean the PC running PyTivo, right? It has the correct current time and date.

I am sharing 3 directories via PYTivo, and I am now able to get it to display one of the, but the other two still error out the same way.

I used a utility to "touch" the timestamp of the file that was mentioned previously, but that didn't seem to resolve this.

any other suggestions?


----------



## wmcbrine

This isn't really a pyTivo issue, except insofar as it should carry on processing in the face of bad timestamps (and I already had two mods for that, but apparently I need another); and, I can make it do that. But that still won't give you the correct dates.

The 'R' drive letter suggests that this is a network mount. You probably should be running pyTivo on _that_ system, instead. Failing that, you need to figure out why the mtime doesn't seem to be propagating from the file server to the pyTivo host. I have no idea.


----------



## rassi

wmcbrine said:


> This isn't really a pyTivo issue, except insofar as it should carry on processing in the face of bad timestamps (and I already had two mods for that, but apparently I need another); and, I can make it do that. But that still won't give you the correct dates.
> 
> The 'R' drive letter suggests that this is a network mount. You probably should be running pyTivo on _that_ system, instead. Failing that, you need to figure out why the mtime doesn't seem to be propagating from the file server to the pyTivo host. I have no idea.


The "R" drive is an NAS. We had been running this with zero problems for close to 5 years now prior to our upgrade to a Roamio Plus within the last two weeks....

I know the version of PyTiVo I have running is an older one - I am reluctant to upgrade just because I always had trouble getting it running. Would an upgrade to the current version possibly solve this???


----------



## wmcbrine

No, it would not. Nor is the Roamio relevant. The problem is not there, it's between the NAS and the PC.


----------



## rassi

wmcbrine said:


> No, it would not. Nor is the Roamio relevant. The problem is not there, it's between the NAS and the PC.


Odd that this would change after no issues for nearly 5 years....


----------



## wmcbrine

wmcbrine said:


> This isn't really a pyTivo issue, except insofar as it should carry on processing in the face of bad timestamps (and I already had two mods for that, but apparently I need another); and, I can make it do that.


Did this now.



> _But that still won't give you the correct dates. ... you need to figure out why the mtime doesn't seem to be propagating from the file server to the pyTivo host._


----------



## sirfergy

Anyone notice the videos they pushed previously no longer play after the latest OS update? Every single video I pushed in the past gives me a generic error about the recording failing. This is on my Roamio Pro.


----------



## sirfergy

And even weirder, my mini plays them fine. Already tried rebooting, no change.


----------



## brooklynsour

hi guys im new to this forum, though i have been using the pytivo for over a year now with no problems, till today.... i keep getting similar messages as Rassi, my Movie folder in the TIVO MYSHOWS tab doesnt disappear unless i unplug my tivo ethernet cable. im gonna include a SS of the message since its not letting me copy and paste it... thanks to anyone who can help, pytivo was working fine 2 days ago and i did not edit or make any changes on my PC.... wow i cant post it because i need a post count of 5 or greater and mine is 0 sorry for the next 3 posts


----------



## brooklynsour

disregard need to build post count


----------



## brooklynsour

stupid rule cant add pic or link before 5 posts


----------



## brooklynsour

last spam sorry


----------



## brooklynsour

5 or greater post count


----------



## brooklynsour

http://tinypic.com/r/1zldg06/8


----------



## moyekj

It's a pretty obvious error:
Bad ffmpeg path.


----------



## lpwcomp

brooklynsour said:


> http://tinypic.com/r/1zldg06/8


You could have just copied the text from the window and pasted it into your post.


----------



## rassi

lpwcomp said:


> You could have just copied the text from the window and pasted it into your post.


Probably doesn't know how to do that. A lot of people aren't familiar with cut-n-paste in a command line window.


----------



## lpwcomp

rassi said:


> Probably doesn't know how to do that. A lot of people aren't familiar with cut-n-paste in a command line window.


Precisely why I phrased it as I did, rather than "should have" or "why didn't you...?".


----------



## brooklynsour

lpwcomp said:


> You could have just copied the text from the window and pasted it into your post.


i tried both to highlight with my mouse and crtl A but it didnt and i dont know other way if you can tell me how thanks,,, as for the error code if i didnt change anything inside the python folders why did it work before and not anymore? sorry for the 4 useless posts


----------



## moyekj

brooklynsour said:


> i tried both to highlight with my mouse and crtl A but it didnt and i dont know other way if you can tell me how thanks,,, as for the error code if i didnt change anything inside the python folders why did it work before and not anymore? sorry for the 4 useless posts


 To check ffmpeg that you have configured from windows explorer go to C:\pyTivo\bin folder and check if you have ffmpeg.exe there. If you don't see it then that's a problem. If you do see it then check if you can run it as follows:
From Start menu type:
cmd
Then in the cmd window type:
C:\pyTivo\bin\ffmpeg.exe


----------



## lpwcomp

brooklynsour said:


> i tried both to highlight with my mouse and crtl A but it didnt and i dont know other way if you can tell me how thanks,,, as for the error code if i didnt change anything inside the python folders why did it work before and not anymore? sorry for the 4 useless posts


Left click on the upper left corner of the command window. Select "Edit" "Mark". Click and drag to highlight the text. Then select "Edit" "Copy" to copy to the clipboard.


----------



## brooklynsour

@moyekj Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\Meech>C:\Users\pytivo-master\bin\ffmpeg.exe
ffmpeg version N-62439-g5e379cd Copyright (c) 2000-2014 the FFmpeg developers
built on Apr 13 2014 22:08:47 with gcc 4.8.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aa
cenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavp
ack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable
-zlib
libavutil 52. 76.100 / 52. 76.100
libavcodec 55. 58.103 / 55. 58.103
libavformat 55. 37.100 / 55. 37.100
libavdevice 55. 13.100 / 55. 13.100
libavfilter 4. 4.100 / 4. 4.100
libswscale 2. 6.100 / 2. 6.100
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfi
le}...

Use -h to get full help or, even better, run 'man ffmpeg'

C:\Users\Meech>


----------



## brooklynsour

@lpwcomp thank you very much learned something new lol....

i do have the ffmpeg.exe along with 2 other ffplay.exe and ffprobe.exe
i still have the same error message as my first screen shot on last page, i honestly dont think that its the problem. my tivo sees the movie folder once i click on it it says please wait and then says now playing list couldnt not be displayed because it is unabailable, press left to return to the my shows list


----------



## brooklynsour

INFO: pyTivoython: 2.7.6
INFO: pyTivo:System: Windows-7-6.1.7601-SP1
INFO: pyTivo.beacon:Scanning for TiVos...
INFO: pyTivo.beaconVR Meech
INFO: pyTivo.beacon:Announcing shares...
INFOyTivo.beacon:Registering: Movies
INFOyTivoyTivo is ready.
INFOyTivo:192.168.0.101 [14/Apr/2014 18:19:15] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -


----------



## gonzotek

> C:\Users\Meech>C:\Users\pytivo-master\bin\ffmpeg.exe


This is odd.
This:


Code:


[B]C:\Users\pytivo-master\[/B]bin\ffmpeg.exe

isn't generally where you'd put ffmpeg or pytivo. But if that's where you want things, then the ffmpeg setting of pytivo.conf should match.
If you're editing pytivo.conf by hand:


Code:


ffmpeg=C:\Users\pytivo-master\bin\ffmpeg.exe


----------



## moyekj

brooklynsour said:


> @lpwcomp thank you very much learned something new lol....
> 
> i do have the ffmpeg.exe along with 2 other ffplay.exe and ffprobe.exe
> i still have the same error message as my first screen shot on last page, i honestly dont think that its the problem. my tivo sees the movie folder once i click on it it says please wait and then says now playing list couldnt not be displayed because it is unabailable, press left to return to the my shows list


It does seem to be the problem, since the error message says it can't find ffmpeg.exe in the path you have configured for it:
C:\pyTivo\bin\ffmpeg.exe
So as posted above you need to correct the path to ffmpeg since it's looking in above location. Easiest fix instead of editing pyTivo configuration if you don't know how to do that, is copy ffmpeg.exe to the above location.

Where do have pyTivo installed BTW? It would seem like it's under C:\pyTivo, so not sure where C:\Users\pytivo-master is coming from...


----------



## brooklynsour

i moved the whole python27 folder just simply on my C drive and the pytivo folder inside the python27 folder like so. C:\Python27\pytivo-master ... once i run the pytivo it loads to what i pasted above gonzotek post


----------



## brooklynsour

INFO: pyTivo:Last modified: Mon Oct 28 22:14:42 2013
INFO: pyTivoython: 2.7.6
INFO: pyTivo:System: Windows-7-6.1.7601-SP1
INFO: pyTivo.beacon:Scanning for TiVos...
INFO: pyTivo.beaconVR Meech
INFO: pyTivo.beacon:Announcing shares...
INFO: pyTivo.beacon:Registering: Movies
INFO: pyTivoyTivo is ready.
INFO: pyTivo:192.168.0.103 [14/Apr/2014 19:54:50] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO: pyTivo:192.168.0.103 [14/Apr/2014 19:55:18] "GET /TiVoConnect?Command=Query
Formats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO: pyTivo:192.168.0.103 [14/Apr/2014 19:56:01] "GET /TiVoConnect?Command=Query
Container&Container=Movies&Recurse=Yes&SortOrder=!CaptureDate&ItemCount=8&Filter
=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,vi
deo%2F*&SerialNum=7460001908BAEF1 HTTP/1.1" 200 -


----------



## lpwcomp

brooklynsour said:


> Code:
> 
> 
> INFO: pyTivo:Last modified: Mon Oct 28 22:14:42 2013
> INFO: pyTivo:Python: 2.7.6
> INFO: pyTivo:System: Windows-7-6.1.7601-SP1
> INFO: pyTivo.beacon:Scanning for TiVos...
> INFO: pyTivo.beacon:DVR Meech
> INFO: pyTivo.beacon:Announcing shares...
> INFO: pyTivo.beacon:Registering: Movies
> INFO: pyTivo:pyTivo is ready.
> INFO: pyTivo:192.168.0.103 [14/Apr/2014 19:54:50] "GET /TiVoConnect?Command=Query
> Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> INFO: pyTivo:192.168.0.103 [14/Apr/2014 19:55:18] "GET /TiVoConnect?Command=Query
> Formats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFO: pyTivo:192.168.0.103 [14/Apr/2014 19:56:01] "GET /TiVoConnect?Command=Query
> Container&Container=Movies&Recurse=Yes&SortOrder=!CaptureDate&ItemCount=8&Filter
> =x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,vi
> deo%2F*&SerialNum=7460001908BAEF1 HTTP/1.1" 200 -


So, is it working now? I don't see the error message. If not, post your pytivo.conf file, after "x"ing out any sensitive data like user id and password. BTW, it's generally a good idea to post things like this between "CODE" tags so that the forum s/w doesn't reformat it and you don't get "Smilies". Note that I added them to what I quoted.

Also, there is no real reason to have the pyTivo folder inside the python27 folder. When you installed python, it should have associated .py files with python so that the default action when you open(double click) a .py file is to run python.


----------



## CoxInPHX

Since I updated ffmpeg.exe to a newer version, 08/08/2013, I get the following message from pyTivo. Pushed and pulled files still work fine, I am just wondering what configuration I need to change, if any, to avoid the message.

What exactly does this message mean?

*Please use -b:a or -b:v, -b is ambiguous*
*[mp4 @ 04576140]* *track 1: codec frame size is not set*



Code:


  Metadata:
    creation_time   : 2014-04-14 04:38:23
  Duration: 00:44:03.58, start: 0.000000, bitrate: 2626 kb/s
    Stream #0:0: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s (default)
    Stream #0:1(eng): Video: h264 (High), yuv420p, 1280x720, SAR 1:1 DAR 16:9, 2
3.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
[B][COLOR="DarkOrange"]Please use -b:a or -b:v, -b is ambiguous[/COLOR][/B]
[B][COLOR="Magenta"][mp4 @ 04576140][/COLOR][/B] [B][COLOR="DarkOrange"]track 1: codec frame size is not set[/COLOR][/B]
Output #0, mp4, to 'C:\Tivo\Continuum S03E05 - 30 Minutes to Air.mkv.pyTivo-temp


----------



## moyekj

For the ambiguous message newer versions of ffmpeg changed command line parameters, and technically the older syntax should not be used. However, the older syntax still works and pyTivo is setup to still be backwards compatible with older versions of ffmpeg. Fixing pyTivo to avoid the warning message would mean anyone with older versions of ffmpeg would be screwed.


----------



## brooklynsour

lpwcomp said:


> So, is it working now? I don't see the error message. If not, post your pytivo.conf file, after "x"ing out any sensitive data like user id and password. BTW, it's generally a good idea to post things like this between "CODE" tags so that the forum s/w doesn't reformat it and you don't get "Smilies". Note that I added them to what I quoted.
> 
> Also, there is no real reason to have the pyTivo folder inside the python27 folder. When you installed python, it should have associated .py files with python so that the default action when you open(double click) a .py file is to run python.


sorry didnt know and i got it about the code now and no it does not work, the last lines i posted w.o the info message in beginning is the problem i think.. is it possible my cable provider (RCN) blocked this feature?



Code:


[Server]
port = 9032
togo_path = C:\Python27\pytivo-master
ffmpeg = C:\Python27\pytivo-master\Bin\ffmpeg.exe
tivodecode = C:\Python27\pytivo-master

[Movies]
type = video
path = C:\Users\Meech\Downloads\Moviez

this is my pytivo.conf file, like i mentioned yesterday it was working on saturday and i did not change any files or setting within pytivo, i also tried reinstalling and setting everything up from scratch but to no avail, thanks


----------



## brooklynsour

> INFO: pyTivo:192.168.0.103 [14/Apr/2014 19:54:50] "GET /TiVoConnect?Command=Query
> Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> INFO: pyTivo:192.168.0.103 [14/Apr/2014 19:55:18] "GET /TiVoConnect?Command=Query
> Formats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFO: pyTivo:192.168.0.103 [14/Apr/2014 19:56:01] "GET /TiVoConnect?Command=Query
> Container&Container=Movies&Recurse=Yes&SortOrder=!CaptureDate&ItemCount=8&Filter
> =x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,vi
> deo%2F*&SerialNum=7460001908BAEF1 HTTP/1.1" 200 -


that is where the problem is ithink.... what is the serial num on the bottom i never seen it before


----------



## lpwcomp

brooklynsour said:


> that is where the problem is ithink.... what is the serial num on the bottom i never seen it before


It's the TSN of the TiVo that is accessing the share.

What exactly happens when you select the share on the TiVo?

If I had control of your system, I'd reorganize everything and possibly start with a fresh install of pyTivo, but barring that there are a few things you might try.

After selecting the share, hit a "2" on the TiVo remote.

Install a newer version of ffmpeg.

Correct the tivodecode entry in your pytivo.conf file. As with ffmpeg, it is supposed to be the full path to the tivodecode executable.

With pyTivo running, open a browser tab or window and enter


Code:


localhost:9032

as the location. That should bring up a browser interface you can use to display and edit your pyTivo.conf file.


----------



## brooklynsour

i have a series 4 tivo box from RCN, what happens is i hit the TIVO button then MY

SHOWS, my MOVIES folder on my PC shows under Web Video Hotlist, Once i try to go in

there it says please wait but then nothing, i have in that folder shows up and says its

unavailable right now..... THIS IS THE CODE AFTER I TRY TO GO IN THE MOVIES FOLDER LIKE I STATED ABOVE ^^



Code:


INFO:pyTivo:Last modified: Mon Oct 28 22:14:42 2013
INFO:pyTivo:Python: 2.7.6
INFO:pyTivo:System: Windows-7-6.1.7601-SP1
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:DVR Meech
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: Movies
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.0.103 [15/Apr/2014 17:04:45] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.0.103 [15/Apr/2014 17:04:45] "GET /TiVoConnect?Command=Query
Container&Container=Movies&ItemCount=0&SerialNum=7460001908BAEF1 HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.103 [15/Apr/2014 17:04:49] "GET /TiVoConnect?Command=Query
Formats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.103 [15/Apr/2014 17:05:31] "GET /TiVoConnect?Command=Query
Container&Container=Movies&Recurse=Yes&SortOrder=!CaptureDate&ItemCount=8&Filter
=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,vi
deo%2F*&SerialNum=7460001908BAEF1 HTTP/1.1" 200 -


----------



## moyekj

Mispelled Movies?


> path = C:\Users\Meech\Downloads\Movie*z*


----------



## lpwcomp

brooklynsour said:


> i have a series 4 tivo box from RCN, what happens is i hit the TIVO button then MY
> 
> SHOWS, my MOVIES folder on my PC shows under Web Video Hotlist, Once i try to go in
> 
> there it says please wait but then nothing, i have in that folder shows up and says its
> 
> unavailable right now..... THIS IS THE CODE AFTER I TRY TO GO IN THE MOVIES FOLDER LIKE I STATED ABOVE ^^
> 
> 
> 
> Code:
> 
> 
> INFO:pyTivo:Last modified: Mon Oct 28 22:14:42 2013
> INFO:pyTivo:Python: 2.7.6
> INFO:pyTivo:System: Windows-7-6.1.7601-SP1
> INFO:pyTivo.beacon:Scanning for TiVos...
> INFO:pyTivo.beacon:DVR Meech
> INFO:pyTivo.beacon:Announcing shares...
> INFO:pyTivo.beacon:Registering: Movies
> INFO:pyTivo:pyTivo is ready.
> INFO:pyTivo:192.168.0.103 [15/Apr/2014 17:04:45] "GET /TiVoConnect?Command=Query
> Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> INFO:pyTivo:192.168.0.103 [15/Apr/2014 17:04:45] "GET /TiVoConnect?Command=Query
> Container&Container=Movies&ItemCount=0&SerialNum=7460001908BAEF1 HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.103 [15/Apr/2014 17:04:49] "GET /TiVoConnect?Command=Query
> Formats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.103 [15/Apr/2014 17:05:31] "GET /TiVoConnect?Command=Query
> Container&Container=Movies&Recurse=Yes&SortOrder=!CaptureDate&ItemCount=8&Filter
> =x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,vi
> deo%2F*&SerialNum=7460001908BAEF1 HTTP/1.1" 200 -


I understood that, and all of those messages are normal.
Here's an example from one of mine:



Code:


INFO:pyTivo:Last modified: Sat Jan 04 08:57:28 2014
INFO:pyTivo:Python: 2.7.5
INFO:pyTivo:System: Windows-8-6.2.9200
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:JLS HD
INFO:pyTivo.beacon:Sandies Room
INFO:pyTivo.beacon:BR Premiere
INFO:pyTivo.beacon:JLS Roamio
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: Nimitz Downloads
INFO:pyTivo.beacon:Registering: Nimitz Offload
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.1.104 [15/Apr/2014 17:14:38] "GET /TiVoConnect?Command=Query
Container&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.103 [15/Apr/2014 17:14:38] "GET /TiVoConnect?Command=Query
Container&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.105 [15/Apr/2014 17:14:38] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.107 [15/Apr/2014 17:14:38] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.107 [15/Apr/2014 17:14:38] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.105 [15/Apr/2014 17:14:38] "GET /TiVoConnect?Command=Query
Container&Container=Nimitz%20Downloads&ItemCount=0&SerialNum=74600119055800F HTT
P/1.1" 200 -
INFO:pyTivo:192.168.1.107 [15/Apr/2014 17:14:38] "GET /TiVoConnect?Command=Query
Container&Container=Nimitz%20Offload&ItemCount=0&SerialNum=846000190304FA2 HTTP/
1.1" 200 -
INFO:pyTivo:192.168.1.107 [15/Apr/2014 17:14:38] "GET /TiVoConnect?Command=Query
Container&Container=Nimitz%20Downloads&ItemCount=0&SerialNum=846000190304FA2 HTT
P/1.1" 200 -
INFO:pyTivo:192.168.1.105 [15/Apr/2014 17:14:38] "GET /TiVoConnect?Command=Query
Container&Container=Nimitz%20Offload&ItemCount=0&SerialNum=74600119055800F HTTP/
1.1" 200 -
INFO:pyTivo:192.168.1.105 [15/Apr/2014 17:14:38] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.107 [15/Apr/2014 17:14:38] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.107 [15/Apr/2014 17:15:20] "GET /TiVoConnect?Command=Query
Formats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.107 [15/Apr/2014 17:15:21] "GET /TiVoConnect?Command=Query
Container&Container=Nimitz%20Downloads&SortOrder=Title&ItemCount=8&Filter=x-tivo
-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*
&SerialNum=846000190304FA2 HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.107 [15/Apr/2014 17:15:21] "GET /TiVoConnect?Command=Query
Formats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.107 [15/Apr/2014 17:15:21] "GET /TiVoConnect?Command=Query
Formats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -

Try moving the Moviez folder to the root of your C drive so that the path is C:\Moviez. Windows may be preventing pyTivo from accessing it in its current location. Of course, you'll also need to update the pyTivo.conf file so the share has the new path and stop and restart pyTivo.


----------



## brooklynsour

no it was spelled right i wrote it purposely with a Z, guys iidk what it was exactly but things worked today w/out changing anything, THE ONE THING THAT IS DIFFERENT is the last movie i placed in that folder didnt finish downloading but i thought it had or forgot it hadn't, i deleted that file/movie yesterday and when i tried today everything worked fine, so is it possible the unfinished movie caused the dilemma? and thank you very much guys who responded and offered help appreciate your time efforts

EDIT


Code:


frame=51661 fps=326 q=2.0 size=  564444kB time=00:35:55.35 bitrate=2145.3kbits/s
frame=51782 fps=325 q=2.0 size=  566408kB time=00:36:00.37 bitrate=2147.8kbits/s
frame=51869 fps=325 q=1.6 size=  568350kB time=00:36:04.02 bitrate=2151.5kbits/s
frame=106230 fps=335 q=2.0 size= 1108512kB time=01:13:51.35 bitrate=2049.2kbits/
frame=106419 fps=335 q=2.0 size= 1110828kB time=01:13:59.22 bitrate=2049.9kbits/
frame=106589 fps=335 q=2.0 size= 1112642kB time=01:14:06.33 bitrate=2050.0kbits/

[mp3 @ 00000000029c05e0] incomplete frame

Error while decoding stream #0:1: Invalid data found when processing input
frame=106700 fps=336 q=2.0 Lsize= 1113308kB time=01:14:10.27 bitrate=2049.4kbits
/s
video:854704kB audio:243374kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 1.386911%
INFO:pyTivo.video.video:[17/Apr/2014 13:14:44] Done sending "C:\Moviez\Son of Ba
tman [2014].avi" to DVR Meech, 1140036608 bytes, 27.34 Mb/s

it gave me an ERROR message but everything streamed whole and complete and surely didnt take too long


----------



## lpwcomp

brooklynsour said:


> no it was spelled right i wrote it purposely with a Z, guys iidk what it was exactly but things worked today w/out changing anything, THE ONE THING THAT IS DIFFERENT is the last movie i placed in that folder didnt finish downloading but i thought it had or forgot it hadn't, i deleted that file/movie yesterday and when i tried today everything worked fine, so is it possible the unfinished movie caused the dilemma?


Yes, it is possible.


----------



## BiloxiGeek

Just upgraded the drive in a Roamio Plus from the factory 1TB to a 3TB drive. The upgrade went pretty smoothly but now I can't see any of my pyTivo video shares. I've restarted the TiVo, restarted pyTivo and still no shares. Music and photo share are still working. The log shows that pyTivo sees the Roamio's beacon just like it always has. Nothing changed except I swapped the disk out, had to re-pair the cable card with CableOne and go through guided setup again.

I checked on tivo.com and transfer's are still enabled. Is there a setting somewhere on the Roamio that would prevent pyTivo shares from showing in NPL? The Roamio does see the other TiVo's on the network. I can push from the pyTivo web interface to the Roamio. Just can't see the shares and pull from pyTivo.


----------



## riise317

quick question, fairly new kmttg/pytivo user here...

i am able to download any recording from my tivo using metadata and decrypt options only in kmttg. once the files are on my computer i use pyTivo to publish and start the transfer from my NPL. the transfer completes normally and i can watch the show but the video quality seems to be much lower. i get black bars top and bottom as well as it appears fuzzy and non-hd for lack of a better term.

is there a setting i am missing? i thought that the decrypt option would not change video quality?

i posted this in the kmttg thread but was told that it may be a pytivo issue?

also a side note, i have not been able to transfer a .tivo file back to my tivo, it recognizes the file but never actually initiates the transfer. 

anyway, any help would be appreciated...thanks


----------



## moyekj

wmcbrine already posted in kmttg thread that most likely the issue is you are using an ancient pyTivo installation. Follow the Wiki instructions to get a new installation in place:
http://pytivo.sourceforge.net/wiki/index.php/Windows_Install


----------



## riise317

moyekj said:


> wmcbrine already posted in kmttg thread that most likely the issue is you are using an ancient pyTivo installation. Follow the Wiki instructions to get a new installation in place:
> http://pytivo.sourceforge.net/wiki/index.php/Windows_Install


sorry i forgot to mention, i only recently installed the software, maybe 2 weeks ago? i was pretty sure it was the most current version but i'll check when i get home. also i'm using OSX so i'd assume i should be getting the current release from here? http://pytivo.sourceforge.net/wiki/index.php/OS_X_Install


----------



## moyekj

That's correct. However, make sure you installed pyTivo, not pyTivoX which is ancient/outdated.


----------



## riise317

moyekj said:


> That's correct. However, make sure you installed pyTivo, not pyTivoX which is ancient/outdated.


wow...there's my problem. i have pyTivoX installed 

since pyTivoX says that it comes with pyTivo would there be any other items to delete or just the pyTivoX app itself?


----------



## moyekj

I'd say delete everything associated with pyTivoX and follow instructions for installing pyTivo. I'm not sure why the Mac Wiki even lists pyTivoX anymore as I don't think Mac users should be encouraged to use it in any way - right now it's the 1st thing mentioned in that page.


----------



## gonzotek

moyekj said:


> ...I'm not sure why the Mac Wiki even lists pyTivoX anymore as I don't think Mac users should be encouraged to use it in any way - right now it's the 1st thing mentioned in that page.


I just went in and removed that whole section. I'll do some more cleanup/improvement work on the OSX install page as I find free time. It'll be in the same vein as the work I did on the Windows install page last year, which I think helped improve new-to-pytivo user acceptance quite a bit.


----------



## riise317

moyekj said:


> I'd say delete everything associated with pyTivoX and follow instructions for installing pyTivo. I'm not sure why the Mac Wiki even lists pyTivoX anymore as I don't think Mac users should be encouraged to use it in any way - right now it's the 1st thing mentioned in that page.


ok, so i finished installing, following all instructions. my tivo can see the folder i set up to share and the video inside is also visible.

once i attempt the transfer it immediately errors out with a "Message #86"

any ideas?


----------



## moyekj

riise317 said:


> ok, so i finished installing, following all instructions. my tivo can see the folder i set up to share and the video inside is also visible.
> 
> once i attempt the transfer it immediately errors out with a "Message #86"
> 
> any ideas?


 Did you use the "wmcbrine" fork of pyTivo? I know that fork supports TS .TiVo files - not sure about other forks. Assuming you have the right fork installed then now you need to post pyTivo console messages. It also helps to add "debug=true" in the Server section of pyTivo.conf so you get more verbose messages about what pyTivo is doing.


----------



## riise317

moyekj said:


> Did you use the "wmcbrine" fork of pyTivo? I know that fork supports TS .TiVo files - not sure about other forks. Assuming you have the right fork installed then now you need to post pyTivo console messages. It also helps to add "debug=true" in the Server section of pyTivo.conf so you get more verbose messages about what pyTivo is doing.


yes i did use the wmcbrine fork (https://github.com/wmcbrine/pytivo), hopefully thats correct.

i have added the "debug=true" to my .conf file. could you tell me what you mean by posting my pyTivo console messages? sorry about the confusion, still strying to familiarize myself with all this. thanks again

EDIT: i just added another section with some movies i have on my comp (mostly.avi files) and they transfer no problem.


----------



## moyekj

Assuming you are starting pyTivo from command line, such as:
./pyTivo.py
OR
python pyTivo.py

you will see a bunch of messages spit out to the terminal. You can capture all those messages in a file using this:

./pyTivo.py >& pyTivo.txt
OR
python pyTivo.py >& pyTivo.txt

Then try transferring the TS .TiVo file and then stop pyTivo and post here the resulting pyTivo.txt file.


----------



## lpwcomp

riise317 said:


> yes i did use the wmcbrine fork (https://github.com/wmcbrine/pytivo), hopefully thats correct.
> 
> i have added the "debug=true" to my .conf file. could you tell me what you mean by posting my pyTivo console messages? sorry about the confusion, still strying to familiarize myself with all this. thanks again
> 
> EDIT: i just added another section with some movies i have on my comp (mostly.avi files) and they transfer no problem.


Do you have your MAK in the pyTivo.conf file? It needs that to decrypt a .tivo file, even if it is going back to the same TiVo from whence it came. The TiVo is not expecting an encrypted file.


----------



## moyekj

lpwcomp said:


> Do you have your MAK in the pyTivo.conf file? It needs that to decrypt a .tivo file, even if it is going back to the same TiVo from whence it came. The TiVo is not expecting an encrypted file.


 That's only the case for a PUSH. For a pull a .TiVo file is left as is.


----------



## riise317

moyekj said:


> Assuming you are starting pyTivo from command line, such as:
> ./pyTivo.py
> OR
> python pyTivo.py
> 
> you will see a bunch of messages spit out to the terminal. You can capture all those messages in a file using this:
> 
> ./pyTivo.py >& pyTivo.txt
> OR
> python pyTivo.py >& pyTivo.txt
> 
> Then try transferring the TS .TiVo file and then stop pyTivo and post here the resulting pyTivo.txt file.


i started creating the text file while i was testing another download and i think the first file i downloaded from kmttg may have been corrupt.

i started over...i downloaded a show through kmttg with metadata only checked off. the resulting .tivo file was able to be transferred back through pyTivo with no issue or quality loss. i also tried using cTivo to download a decrypted .mpeg2 file with metadata and was also able to transfer back through pyTivo.

i passed out during the last transfer so i haven't tested it yet, but i have a kmttg file downloaded with metadata and decrypt checked off. hopefully that will transfer as well. i believe those were the options i had checked with the original file that wouldn't transfer, but i guess we shall see


----------



## jilter

I had been using PyTivo successfully for years. Then things were moved around in my home and I can not isolate the problem.
Would someone care to please help me find my issue?
I think it should be fairly easy, i just do not understand the language of programming, so when I read the debug file, I do not know how to make heads or tails from it.
When inputting http://localhost:9032, it returns the error:Unable to connect.

edit to add: I did turn off my firewall on my router to see if that would allow me to connect, but it did not.
Thank you,
Jill


----------



## wmcbrine

jilter said:


> when I read the debug file, I do not know how to make heads or tails from it.


So, post it...



> _When inputting http://localhost:9032, it returns the error:Unable to connect._


Then pyTivo isn't running.


----------



## jilter

Thank you very much for your time in replying. I have been at this all morning, and I decided to delete all my pyTivo folders and files and start from scratch.
I was able to finally see the pyTivo page and I am on number 11 in your EXCELLENT pyTivo-Wiki-Windows Install:
"Click on Web Configuration link to change your pyTivo settings."
That link does not appear, at the top is just pyTivo
and Settings .
I guess I missed something in the install,
Thanks for your patience.


----------



## jilter

Interesting: when I run pyTivo from the Command Line, I get the following.
PLEASE NOTE - I had to edit the below to separate the INFO: from the letter 'P"
because on this forum that produces a smile icon and one is limited to 8 per post. I wonder why I have not come across someone posting about that before? (insignificant but I felt I should point out the spaces between INFO: and pyTivo...are inserted after for posting on this forum - (I left one smilie in so one could see what I am referring to)

INFO: pyTivo:Last modified: Mon Apr 21 12:36:46 2014
INFO: pyTivoython: 2.7.6
INFO: pyTivo:System: Windows-XP-5.1.2600-SP2
ERROR: pyTivo.config:Bad ffmpeg path: /usr/bin/ffmpeg
INFO: pyTivo.beacon:Scanning for TiVos...
INFO: pyTivo.beacon:Series3
INFO: pyTivo.beacon:Announcing shares...
INFO: pyTivo.beacon:Registering: MyMovies
INFO: pyTivoyTivo is ready.
INFO: pyTivo:10.0.0.9 [10/May/2014 13:14:40] "GET /TiVoConnect?Command=QueryConta
iner&Container=%2F HTTP/1.0" 200 -
INFO: pyTivo:127.0.0.1 [10/May/2014 13:18:49] "GET / HTTP/1.1" 200 -


----------



## lpwcomp

jilter said:


> Interesting: when I run pyTivo from the Command Line, I get the following.
> PLEASE NOTE - I had to edit the below to separate the INFO: from the letter 'P"
> because on this forum that produces a smile icon and one is limited to 8 per post. I wonder why I have not come across someone posting about that before? (insignificant but I felt I should point out the spaces between INFO: and pyTivo...are inserted after for posting on this forum - (I left one smilie in so one could see what I am referring to)
> 
> 
> 
> Code:
> 
> 
> INFO: pyTivo:Last modified: Mon Apr 21 12:36:46 2014
> INFO: pyTivo:Python: 2.7.6
> INFO: pyTivo:System: Windows-XP-5.1.2600-SP2
> ERROR: pyTivo.config:Bad ffmpeg path: /usr/bin/ffmpeg
> INFO: pyTivo.beacon:Scanning for TiVos...
> INFO: pyTivo.beacon:Series3
> INFO: pyTivo.beacon:Announcing shares...
> INFO: pyTivo.beacon:Registering: MyMovies
> INFO: pyTivo:pyTivo is ready.
> INFO: pyTivo:10.0.0.9 [10/May/2014 13:14:40] "GET /TiVoConnect?Command=QueryConta
> iner&Container=%2F HTTP/1.0" 200 -
> INFO: pyTivo:127.0.0.1 [10/May/2014 13:18:49] "GET / HTTP/1.1" 200
> 
> -


When you want to post something like this w/o the smilies, "Go advanced" and either surround it with "CODE" tags (my preference) or turn off smilies.


----------



## moyekj

jilter said:


> Thank you very much for your time in replying. I have been at this all morning, and I decided to delete all my pyTivo folders and files and start from scratch.
> I was able to finally see the pyTivo page and I am on number 11 in your EXCELLENT pyTivo-Wiki-Windows Install:
> "Click on Web Configuration link to change your pyTivo settings."
> That link does not appear, at the top is just pyTivo
> and Settings .
> I guess I missed something in the install,
> Thanks for your patience.


 That looks normal, then click on "Settings" and then choose "Global Server Settings" and fix the path to ffmpeg.exe which is currently wrong in your setup. Then click on "videos" and put in path to where your video files reside and save and restart pyTivo using the so-named buttons.


----------



## jilter

Thank you.
I was able to see the shares from my Tivo.
This interface with pyTivo is completely different than I remember.
It used to be a program installed in my Programs list and I could choose between Service or Console.
I am so happy just to be able to pull videos from my PC right now, but my curiosity is getting the best of me. Could that have been a different version of pyTivo I was using?


----------



## lpwcomp

jilter said:


> Thank you.
> I was able to see the shares from my Tivo.
> This interface with pyTivo is completely different than I remember.
> It used to be a program installed in my Programs list and I could choose between Service or Console.
> I am so happy just to be able to pull videos from my PC right now, but my curiosity is getting the best of me. Could that have been a different version of pyTivo I was using?


I never used it, but I would guess that you were probably using the Windows Installer, which hasn't worked for many years.


----------



## jilter

lpwcomp said:


> I never used it, but I would guess that you were probably using the Windows Installer, which hasn't worked for many years.


I see, so how do people typically start pyTivo?

Also, after scouting around, I experimented with transferring an MP4 file to my Tivo. The file was much smaller and thus the transfer much faster than the first one I tried (xvid). I do not recall using MP4s before. Has Tivo always been able to read MP4 files?


----------



## lpwcomp

jilter said:


> I see, so how do people typically start pyTivo?


I guess most run it as a service, but I just run it in a command prompt window. That way I can see what's going on.



jilter said:


> Also, after scouting around, I experimented with transferring an MP4 file to my Tivo. The file was much smaller and thus the transfer much faster than the first one I tried (xvid). I do not recall using MP4s before. Has Tivo always been able to read MP4 files?


Series 4 (Premiere) and later can play h.264. Make sure you have "ts=on" in the pyTivo.conf.


----------



## mattack

I only recently set up pytivo (I used to use pyTivoX, which is really old), and I am not intending to do any conversion, so as far as I remember, all I have changed from the default is add my path, and I set a user setting to use transport format (so I still get captions).

I've transferred various things, but trying to transfer back my recent downloads of Marvel's Agents of SHIELD, it seems like one command is giving another command bad input, so I have basically CLI prompts interspersed in the output.. Here's the whole output...

What else do I need to set up to be able to transfer these properly back to my Tivo?

Thanks.

INFOyTivo.video.video:[10/May/2014 20:11:46] Start sending "/Volumes/tivo3/kmttgdownloads/Marvels Agents of S.H.I.E.L.D/05_06_2014 Ragtag 121.mpg" to Premiere4
ffmpeg version 2.0.2 Copyright (c) 2000-2013 the FFmpeg developers
built on Oct 9 2013 10:18:52 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
configuration: --prefix=/Volumes/Ramdisk/sw --enable-gpl --enable-pthreads --enable-version3 --enable-libspeex --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-filters --enable-libgsm --arch=x86_64 --enable-runtime-cpudetect
libavutil 52. 38.100 / 52. 38.100
libavcodec 55. 18.102 / 55. 18.102
libavformat 55. 12.100 / 55. 12.100
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 79.101 / 3. 79.101
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100
[mpeg2video @ 0x7fde58803200] Invalid frame dimensions 0x0.
Last message repeated 3 times
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=97507, dts=97508, size=6860
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=106516, dts=106517, size=6753
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=115525, dts=115526, size=1502
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=124534, dts=124535, size=6476
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=133543, dts=133544, size=4019
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=142552, dts=142553, size=6905
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=151561, dts=151562, size=6370
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=160570, dts=160571, size=749
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=169579, dts=169580, size=8172
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=178588, dts=178589, size=5140
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=187597, dts=187598, size=5661
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=196606, dts=196607, size=7168
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=205615, dts=205616, size=1569
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=214624, dts=214625, size=6942
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=223633, dts=223634, size=13777
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=232642, dts=232643, size=20762
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=241651, dts=241652, size=1210
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=250660, dts=250661, size=1413
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=259669, dts=259670, size=2594
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=268678, dts=268679, size=1304
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=277687, dts=277688, size=3332
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=286696, dts=286697, size=2796
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=295705, dts=295706, size=678
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=304714, dts=304715, size=2799
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=313723, dts=313724, size=2324
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=322732, dts=322733, size=2723
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=331741, dts=331742, size=2723
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=340750, dts=340751, size=693
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=349759, dts=349760, size=2908
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=358768, dts=358769, size=3092
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=367777, dts=367778, size=2733
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=376786, dts=376787, size=3267
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=385795, dts=385796, size=702
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=394804, dts=394805, size=3275
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=403813, dts=403814, size=2900
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=412822, dts=412823, size=663
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=430840, dts=430841, size=700
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=439849, dts=439850, size=700
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=448858, dts=448859, size=699
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=457867, dts=457868, size=701
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=466876, dts=466877, size=701
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=475885, dts=475886, size=701
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=484894, dts=484895, size=702
Input #0, mpeg, from '/Volumes/tivo3/kmttgdownloads/Marvels Agents of S.H.I.E.L.D/05_06_2014 Ragtag 121.mpg':
Duration: 01:03:00.91, start: 0.435233, bitrate: 6752 kb/s
Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 59.94 fps, 59.94 tbr, 90k tbn, 119.88 tbc
Stream #0:1[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
Please use -b:a or -b:v, -b is ambiguous
Output #0, mpegts, to 'pipe:':
Metadata:
encoder : Lavf55.12.100
Stream #0:0: Video: mpeg2video, yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 6368 kb/s, 59.94 fps, 90k tbn, 59.94 tbc
Stream #0:1: Audio: ac3, 48000 Hz, 5.1(side), 448 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=97507, dts=97508, size=6860
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=106516, dts=106517, size=6753
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=115525, dts=115526, size=1502
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=124534, dts=124535, size=6476
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=133543, dts=133544, size=4019
[mpeg @ 0x7fde5881a600] Invalid timestamps stream=0, pts=142552, dts=142553, size=6905
[mpegts @ 0x7fde58b1c000] first pts value must be set
av_interleaved_write_frame(): Invalid data found when processing input
INFOyTivo.video.video:[10/May/2014 20:11:47] Done sending "/Volumes/tivo3/kmttgdownloads/Marvels Agents of S.H.I.E.L.D/05_06_2014 Ragtag 121.mpg" to Premiere4, 34216 bytes, 0.86 Mb/s


----------



## wmcbrine

lpwcomp said:


> Series 4 (Premiere) and later can play h.264.


Even the Series 3 will accept h.264, in MP4 files, but only via Push.


----------



## lpwcomp

Mattack,

Did you transfer them _*to*_ the computer in TS format? If so, what did you use to convert them to mpg?

Did you add "ts=on" to the pyTivo global settings?

I *would* suggest running QS fix, but only if you have VideoReDo. The projectx version doesn't retain captions.


----------



## wmcbrine

mattack said:


> What else do I need to set up to be able to transfer these properly back to my Tivo?


You could undo the ts=on setting, since the remux is failing. (Yes, then you'd lose captions.)

From the command line, try this:

ffmpeg -i filename.mpg -vcodec copy -acodec copy -fflags +genpts newfile.ts

and then try transferring that new file.


----------



## lpwcomp

wmcbrine said:


> Even the Series 3 will accept h.264, in MP4 files, but only via Push.


huh. Learn something new everyday.


----------



## ZombiE

Hi everyone!

I have been running pytivo for, I can't remember how many years? 6, 7 anyway my server MB died on my this past weekend and in setting up my new "server" I found myself staring at the screen trying to figure out how to set pytivo back up? So naturally I came here, 156 pages of Pytivo info!!!!! OMG. Can someone please point me to a ---> how to set up pytivo from scratch? 
I also upgraded from XP to Win 7 on that computer. I am hoping that all programs will run ok on win7? Thank you to whomever can point me in the correct direction so I can help myself.


----------



## ZombiE

Hi everyone!

I have been running pytivo for, I can't remember how many years? 6, 7 anyway my server MB died on my this past weekend and in setting up my new "server" I found myself staring at the screen trying to figure out how to set pytivo back up? So naturally I came here, 156 pages of Pytivo info!!!!! OMG. Can someone please point me to a ---> how to set up pytivo from scratch? 
I also upgraded from XP to Win 7 on that computer. I am hoping that all programs will run ok on win7? Thank you to whomever can point me in the correct direction so I can help myself.


----------



## gonzotek

ZombiE said:


> Hi everyone!
> 
> I have been running pytivo for, I can't remember how many years? 6, 7 anyway my server MB died on my this past weekend and in setting up my new "server" I found myself staring at the screen trying to figure out how to set pytivo back up? So naturally I came here, 156 pages of Pytivo info!!!!! OMG. Can someone please point me to a ---> how to set up pytivo from scratch?
> I also upgraded from XP to Win 7 on that computer. I am hoping that all programs will run ok on win7? Thank you to whomever can point me in the correct direction so I can help myself.


Windows 7 should be fine. I run pyTiVo on several windows 7 machines. Follow the steps in the link below and post here for help if you need it.
http://pytivo.sourceforge.net/wiki/index.php/Windows_Install


----------



## ZombiE

Thank you GonZotek! Appreciate the nudge. Hopefully when I get going my brain will start to remember, ha!


----------



## mattack

lpwcomp said:


> Mattack,
> 
> Did you transfer them _*to*_ the computer in TS format? If so, what did you use to convert them to mpg?
> 
> Did you add "ts=on" to the pyTivo global settings?
> 
> I *would* suggest running QS fix, but only if you have VideoReDo. The projectx version doesn't retain captions.


I'm doing this all on a Mac.. so obviously I can't do any of that.

I did not transfer them to the computer in TS format.. I simply tivodecoded them (err, kmttg did).

I sure thought moyekj told me in some other thread that I *didn't* have to originally transfer them in TS format to be able to transfer them _back_ in TS format.

I'll try turning off the ts=on. I thought I tried that before, but maybe not.


----------



## moyekj

When transferring FROM TiVo in either TS or PS container captions are preserved. The problem is for series 4 and later TiVos when you transfer back it has to be in TS container else captions won't work. So if transferring back in PS container you have to use ts=on setting in pyTivo to preserve captions.

Based on mattack's pyTivo log post above he already has ts=on setting, so pyTivo is using ffmpeg to remux from PS to TS container as expected, but the problem is that is failing. Hence wmcbrine suggested a manual fix to try to see if it solves the problem by adding "-fflags +genpts" option to ffmpeg remux command.

If you remove ts=on it should transfer back as is and thus won't use ffmpeg and it should work, but you won't have captions in the resulting transfer.


----------



## rassi

Ok, I'm back with my problem...still getting error message on the Tivo when we try and go in to view programs to transfer that the files are unavailable.

I uninstalled both python and pytivo and then reinstalled them both. Setup a config file from the example and started the pytivo console.

Here's what the pytivo console says:



> INF0 -pyTivo-Last modified: Mon Apr 21 15:36:46 2014
> INF0 -pyTivo-Python: 2.7.6
> INF0 -pyTivo-System: Windows-7-6.1.7601-SP1
> INF0 yTivo.beacon:Scanning for TiVos...
> INF0 yTivo.beacon:Living Room
> INF0 yTivo.beacon:TivoHD
> INF0 yTivo.beacon:Announcing shares...
> INF0 yTivo.beacon:Registering: AllVideos
> INF0 yTivo.beacon:Registering: Movies
> INF0 -pyTivo-pyTivo is ready.
> INF0 -pyTivo-192.168.1.118 [13/May/2014 20:27:59] "GET /TiVoConnect?Command=Query
> Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> INF0 -pyTivo-192.168.1.118 [13/May/2014 20:27:59] "GET /TiVoConnect?Command=Query
> Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> INF0 -pyTivo-192.168.1.118 [13/May/2014 20:27:59] "GET /TiVoConnect?Command=Query
> Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> INF0 -pyTivo-192.168.1.111 [13/May/2014 20:27:59] "GET /TiVoConnect?Command=Query
> Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> INF0 -pyTivo-192.168.1.133 [13/May/2014 20:27:59] "GET /TiVoConnect?Command=Query
> Container&Container=%2F HTTP/1.0" 200 -
> INF0 -pyTivo-192.168.1.118 [13/May/2014 20:28:00] "GET /TiVoConnect?Command=Query
> Container&Container=AllVideos&ItemCount=0&SerialNum=8480001903A50DA HTTP/1.1" 20
> 0 -
> INF0 -pyTivo-192.168.1.118 [13/May/2014 20:28:00] "GET /TiVoConnect?Command=Query
> Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> INF0 -pyTivo-127.0.0.1 [13/May/2014 20:28:00] "GET /TiVoConnect?Command=Settings&
> Container=Settings HTTP/1.1" 200 -
> INF0 -pyTivo-192.168.1.118 [13/May/2014 20:28:02] "GET /TiVoConnect?Command=Query
> Container&Container=Movies&ItemCount=0&SerialNum=8480001903A50DA HTTP/1.1" 200 -
> 
> INF0 -pyTivo-127.0.0.1 [13/May/2014 20:28:10] "GET / HTTP/1.1" 200 -
> INF0 -pyTivo-127.0.0.1 [13/May/2014 20:28:16] "GET /TiVoConnect?Command=NPL&Conta
> iner=ToGo&TiVo=192.168.1.118 HTTP/1.1" 200 -
> INF0 -pyTivo-127.0.0.1 [13/May/2014 20:28:16] "GET /nocopy.png HTTP/1.1" 200 -
> INF0 -pyTivo-127.0.0.1 [13/May/2014 20:28:16] "GET /folder.png HTTP/1.1" 200 -
> INF0 -pyTivo-127.0.0.1 [13/May/2014 20:28:16] "GET /expired.png HTTP/1.1" 200 -
> INF0 -pyTivo-127.0.0.1 [13/May/2014 20:28:23] "GET /TiVoConnect?Command=NPL&Conta
> iner=ToGo&Folder=17/2278179&TiVo=192.168.1.118 HTTP/1.1" 200 -
> INF0 -pyTivo-192.168.1.118 [13/May/2014 20:29:18] "GET /TiVoConnect?Command=Query
> Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> INF0 -pyTivo-192.168.1.118 [13/May/2014 20:29:19] "GET /TiVoConnect?Command=Query
> Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> INF0 -pyTivo-192.168.1.118 [13/May/2014 20:29:23] "GET /TiVoConnect?Command=Query
> Formats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -


(had to edit some of the logs so it wouldn't count them as images)


----------



## lpwcomp

rassi said:


> Ok, I'm back with my problem...still getting error message on the Tivo when we try and go in to view programs to transfer that the files are unavailable.
> 
> I uninstalled both python and pytivo and then reinstalled them both. Setup a config file from the example and started the pytivo console.
> 
> Here's what the pytivo console says:
> 
> (had to edit some of the logs so it wouldn't count them as images)


Did you install a recent version of ffmpeg?


----------



## ZombiE

gonzotek said:


> Windows 7 should be fine. I run pyTiVo on several windows 7 machines. Follow the steps in the link below and post here for help if you need it.
> http://pytivo.sourceforge.net/wiki/index.php/Windows_Install


Thanks Gonzotek! Up and running again. You guys are the best! :up:


----------



## wmcbrine

rassi said:


> Here's what the pytivo console says:


No errors there.



> _(had to edit some of the logs so [TCF] wouldn't count them as images)_


Just click "Disable smilies in text" (under Additional Options > Miscellaneous Options in the full editor). Or, don't worry about it, because no one cares.  No information is lost; it's clear what it's supposed to say.


----------



## wmcbrine

jilter said:


> "Click on Web Configuration link to change your pyTivo settings."
> That link does not appear, at the top is just pyTivo
> and Settings .


It's the same thing. The name was just changed in pyTivo. I've updated the wiki to reflect that.


----------



## lrhorer

rassi said:


> (had to edit some of the logs so it wouldn't count them as images)


If you will surround your logs with code tags, rather than quote tags, you won't have to worry about the problem.


----------



## rassi

lrhorer said:


> If you will surround your logs with code tags, rather than quote tags, you won't have to worry about the problem.


Thank you - looked for a way to disable the smiles but couldn't find that. I'll do the code thing next time.

Any ideas folks?

I did install a new version of ffmpeg too. No effect.

One thing I did notice - not sure if this makes any difference or not.

I have an attached NAS unit that we store all the shared files on - this is the way it's worked for years. One drive for movies, one drive for everything else. Each drive has it's own drive letter. The movies are MOSTLY in one directory, but the other stuff is subdivided into many directories. Wanted to be able to transfer a file that would normally go in the "non" movie drive, but since that's the one that bombs every time, I made a "temp" directory under movies and put the file there to access from the TiVo. When I opened that in the Tivo, rather than showing the movie files and a subdirectory, the file from the subdirectory was "mixed in" among the movie files. It's as if it was not maintaining the directory structure.

Is it possible the drive that's giving me problems has too many subdirectories for PyTiVo to handle if it's combining them all? Is there a way to get the old behavior back where it showed the subfolders for me to navigate via the TiVo?


----------



## moyekj

rassi said:


> Is there a way to get the old behavior back where it showed the subfolders for me to navigate via the TiVo?


 While viewing the video share on your TiVo press 2 on your remote.


----------



## rassi

moyekj said:


> While viewing the video share on your TiVo press 2 on your remote.


BINGO!!! That was the solution!

For some reason, it would blow up with all the folders in the one drive share. After I hit the "2" to change it to show the folders as they really are, now it works.

Thank you!!!


----------



## seattlewendell

Hello are there any troubleshooting tips for getting pyTivo to transfer HD video to the Premiere. I have been using it for the last several years and few days ago it stopped working. Now it transfers all HD video into SD when it arrives on the Premiere. After trying every troubleshooting tip I could find I just deleted everything and started from scratch. Same result.
-I'm on Mac (OSX Mavericks)
-Tried upgrading Python to see if that was the problem https://www.python.org/download/releases/3.4.1/
-Using FFmpeg 1.1 from here http://pytivo.sourceforge.net/forum/ffmpeg-builds-for-mac-os-x-t1803.html
-Using pyTivo from here https://github.com/wmcbrine/pytivo
also tried the one dated 4/21/2014 from here http://repo.or.cz/w/pyTivo/wmcbrine.git

All other aspects the program works. Push, Pull, Sharing, Tivotogo etc. all works. It's just transfer HD video.

Any ideas? Thank you.


----------



## mattack

You mean it's windowboxing it, right? You're not actually *transcoding* it?

I sure thought I saw that a while ago too, when I had the issue I mentioned a few weeks ago (I haven't gotten past that, I haven't played with it again).

I couldn't imagine how this was even possible.


----------



## lpwcomp

mattack said:


> You mean it's windowboxing it, right? You're not actually *transcoding* it?
> 
> I sure thought I saw that a while ago too, when I had the issue I mentioned a few weeks ago (I haven't gotten past that, I haven't played with it again).
> 
> I couldn't imagine how this was even possible.


I assume that it is being transcoded. HD vs. SD is determined by _*resolution*_, not aspect ratio or presentation mode.

In any case, seattlewendell should post his redacted pytivo.conf file and the pytivo log.


----------



## seattlewendell

lpwcomp said:


> I assume that it is being transcoded. HD vs. SD is determined by _*resolution*_, not aspect ratio or presentation mode.
> 
> In any case, seattlewendell should post his redacted pytivo.conf file and the pytivo log.


I could not locate the log file. I guess some installs do not create one? But here is the config file


----------



## lpwcomp

seattlewendell said:


> I could not locate the log file. I guess some installs do not create one? But here is the config file


There is no log "file". The messages are written to output. If you are running it as a service, stop the service and start it up from a command prompt, assuming such is possible on a Mac. You might want to add "debug=True" to the pyTivo.conf file.
Since the destination is a Premiere, it wouldn't hurt to add "ts=on".

What format are the videos that you are trying to transfer?

What are you seeing on the TiVo that tells you they are not HD?


----------



## wmcbrine

seattlewendell said:


> Now it transfers all HD video into SD when it arrives on the Premiere.


That's the standard symptom of running a very old version of pyTivo, from before it recognized Premieres as HD units. I know of no other way for it to happen, and needless to say, it doesn't revert to that behavior spontaneously.



> _Tried upgrading Python to see if that was the problem https://www.python.org/download/releases/3.4.1/_


pyTivo does not work with Python 3.x. But presumably, you're actually still using the Python 2.7 that came with the system, rather than the version that you attempted to upgrade to.


----------



## wmcbrine

lpwcomp said:


> There is no log "file".


That depends on how you set it up.


----------



## seattlewendell

lpwcomp said:


> There is no log "file". The messages are written to output. If you are running it as a service, stop the service and start it up from a command prompt, assuming such is possible on a Mac. You might want to add "debug=True" to the pyTivo.conf file.
> Since the destination is a Premiere, it wouldn't hurt to add "ts=on".
> 
> What format are the videos that you are trying to transfer?
> 
> What are you seeing on the TiVo that tells you they are not HD?


The videos are all MKV 720p videos
The file size is coming over at around 5GB on the Tivo. The original files are around 7-8GB. 2 hours of video on my Tivo is typically 15GB. All the other movies I transferred before this issue cropped up are around 15GB on the Tivo.
Also I can change the aspect ratio on the videos. Which I cannot do with any of the recorded HD content or any of the HD content I transferred before this issue.
I can change it to Panel, Zoom Full etc. you get the point. Functions reserved for SD video only
Plus I think it important to point out it looks like SD video. It fails the eye test. that's how I first noticed to change the aspect ratio. I should not have been able to do that
Lastly on my network HD transfers at slightly faster than real time. I can usually start the transfer, do sometime for 5 minutes and come back and enjoy a movie.
The transfer speed is now 4X real time. It is definitely not HD.

I am not running it as a service.
What does debug=true and ts=on do?


----------



## lpwcomp

"degug=on" simply makes it put out a lot more information. "ts=on" lets you pull more formats directly to the TiVo w/o transcoding, merely remuxed if necessary. h.264 for example.

Are you certain that you are running the latest version of pyTivo? After extracting from the archive, did you move or copy everything from the folder it created to the actual location of pyTivo?


----------



## seattlewendell

wmcbrine said:


> That's the standard symptom of running a very old version of pyTivo, from before it recognized Premieres as HD units. I know of no other way for it to happen, and needless to say, it doesn't revert to that behavior spontaneously.


I am using this version which has a authored date of 4/21/2014
https://github.com/wmcbrine/pytivo


----------



## wmcbrine

seattlewendell said:


> I am using this version which has a authored date of 4/21/2014
> https://github.com/wmcbrine/pytivo


I kind of doubt that you are. Maybe you downloaded it, unzipped it, etc.... but your symptoms strongly suggest that you're actually running a much older version.

Anyway, that's all I can say without more information. Tell us the exact steps you followed to install it, and show us the output during one of these transfers.


----------



## seattlewendell

wmcbrine said:


> I kind of doubt that you are. Maybe you downloaded it, unzipped it, etc.... but your symptoms strongly suggest that you're actually running a much older version.
> 
> Anyway, that's all I can say without more information. Tell us the exact steps you followed to install it, and show us the output during one of these transfers.


The steps are followed are from here:
http://pytivo.sourceforge.net/wiki/index.php/Mac_OS_X_Install

-I downloaded it. Renamed your pytivo-master file to pyTivo and then moved it to the applications folder. 
-Created the bin folder
-Downloaded and moved FFMPEG 1.1 (the one with a build date of 1/8/2013) to the bin folder
-created the config file with the only thing in it being [Server]
everything else in the config file I posted abovewas put there by the web GUI
-I run it using:
cd /path/to/pyTivo/pyTivo.py
./pyTivo.py
-I used the GUI to add all the folders, push functions, MAK, etc.










There are no other versions on my system. As I stated I also tried the lucasnz fork but have since deleted it, and reinstalled the wmcbrine fork. The attached images are from the current install which is the wmcbrine fork.

I will put the terminal output in separate post.


----------



## seattlewendell

Output from terminal for a current transfer. The transfer is about 20 minutes in when I took this snapshots

Last login: Fri May 23 23:11:57 on ttys000
Wendells-iMac:~ Wendell-iMac3$ cd /Applications/pyTivo 
Wendells-iMacyTivo Wendell-iMac3$ ./pyTivo.py
INFOyTivo:Last modified: Mon Apr 21 12:36:46 2014
INFOyTivoython: 2.7.6
INFOyTivo:System: Darwin-13.2.0-x86_64-i386-64bit
Python Imaging Library not found; using FFmpeg
INFOyTivo.beacon:Scanning for TiVos...
INFOyTivo.beacon:Tivo-LR
INFOyTivo.beacon:Announcing shares...
INFOyTivo.beacon:Registering: Movies
INFOyTivo.beacon:Registering: Photos
INFOyTivo.beacon:Registering: TV Shows
INFOyTivoyTivo is ready.
INFOyTivo:192.168.1.2 [23/May/2014 23:48:22] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFOyTivo:192.168.1.2 [23/May/2014 23:49:02] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFOyTivo:192.168.1.2 [23/May/2014 23:49:02] "GET /TiVoConnect?Command=QueryContainer&Container=Movies&Recurse=Yes&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=748000190435C62 HTTP/1.1" 200 -
INFOyTivo:192.168.1.2 [23/May/2014 23:49:05] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFOyTivo:192.168.1.2 [23/May/2014 23:49:06] "GET /TiVoConnect?Command=QueryContainer&Container=Movies&Recurse=Yes&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FMovies%2FRoboCop%25202014%2520720p%2520BluRay%2520DTS%2520x264.mkv&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=748000190435C62 HTTP/1.1" 200 -
INFOyTivo:192.168.1.2 [23/May/2014 23:49:06] "GET /TiVoConnect?Command=TVBusQuery&Container=Movies&File=%2FRoboCop%202014%20720p%20BluRay%20DTS%20x264.mkv&SerialNum=748000190435C62 HTTP/1.1" 200 -
INFOyTivo:192.168.1.2 [23/May/2014 23:49:15] "GET /Movies/RoboCop%202014%20720p%20BluRay%20DTS%20x264.mkv?Format=video%2Fx-tivo-mpeg HTTP/1.1" 206 -
INFOyTivo.video.video:[23/May/2014 23:49:15] Start sending "/Volumes/WD 1TB/Movies/RoboCop 2014 720p BluRay DTS x264.mkv" to Tivo-LR
ffmpeg version 1.1-pytivo Copyright (c) 2000-2013 the FFmpeg developers
built on Jan 8 2013 15:00:31 with gcc 4.7.2 (MacPorts gcc47 4.7.2_2+universal)
configuration: --prefix=/opt/local --enable-swscale --enable-avfilter --enable-libmp3lame --mandir=/opt/local/share/man --enable-pthreads --cc=/opt/local/bin/gcc-mp-4.7 --arch=x86_64 --enable-yasm --enable-gpl --enable-postproc --enable-libx264 --disable-shared --enable-static --enable-swscale --enable-avfilter --enable-runtime-cpudetect --enable-hardcoded-tables --enable-postproc --enable-libx264
libavutil 52. 13.100 / 52. 13.100
libavcodec 54. 86.100 / 54. 86.100
libavformat 54. 59.106 / 54. 59.106
libavdevice 54. 3.102 / 54. 3.102
libavfilter 3. 32.100 / 3. 32.100
libswscale 2. 1.103 / 2. 1.103
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
[matroska,webm @ 0x101804a00] Stream #2: not enough frames to estimate rate; consider increasing probesize
[matroska,webm @ 0x101804a00] Stream #3: not enough frames to estimate rate; consider increasing probesize
[matroska,webm @ 0x101804a00] Stream #4: not enough frames to estimate rate; consider increasing probesize
[matroska,webm @ 0x101804a00] Stream #5: not enough frames to estimate rate; consider increasing probesize
[matroska,webm @ 0x101804a00] Stream #6: not enough frames to estimate rate; consider increasing probesize
[matroska,webm @ 0x101804a00] Stream #7: not enough frames to estimate rate; consider increasing probesize
[matroska,webm @ 0x101804a00] Stream #8: not enough frames to estimate rate; consider increasing probesize
[matroska,webm @ 0x101804a00] Stream #9: not enough frames to estimate rate; consider increasing probesize
[matroska,webm @ 0x101804a00] Stream #10: not enough frames to estimate rate; consider increasing probesize
[matroska,webm @ 0x101804a00] Stream #11: not enough frames to estimate rate; consider increasing probesize
[matroska,webm @ 0x101804a00] Stream #12: not enough frames to estimate rate; consider increasing probesize
[matroska,webm @ 0x101804a00] Stream #13: not enough frames to estimate rate; consider increasing probesize
[matroska,webm @ 0x101804a00] Stream #14: not enough frames to estimate rate; consider increasing probesize
[matroska,webm @ 0x101804a00] Stream #15: not enough frames to estimate rate; consider increasing probesize
[matroska,webm @ 0x101804a00] Could not find codec parameters for stream 2 (Subtitle: hdmv_pgs_subtitle): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[matroska,webm @ 0x101804a00] Could not find codec parameters for stream 3 (Subtitle: hdmv_pgs_subtitle): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[matroska,webm @ 0x101804a00] Could not find codec parameters for stream 4 (Subtitle: hdmv_pgs_subtitle): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[matroska,webm @ 0x101804a00] Could not find codec parameters for stream 5 (Subtitle: hdmv_pgs_subtitle): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[matroska,webm @ 0x101804a00] Could not find codec parameters for stream 6 (Subtitle: hdmv_pgs_subtitle): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[matroska,webm @ 0x101804a00] Could not find codec parameters for stream 7 (Subtitle: hdmv_pgs_subtitle): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[matroska,webm @ 0x101804a00] Could not find codec parameters for stream 8 (Subtitle: hdmv_pgs_subtitle): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[matroska,webm @ 0x101804a00] Could not find codec parameters for stream 9 (Subtitle: hdmv_pgs_subtitle): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[matroska,webm @ 0x101804a00] Could not find codec parameters for stream 10 (Subtitle: hdmv_pgs_subtitle): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[matroska,webm @ 0x101804a00] Could not find codec parameters for stream 11 (Subtitle: hdmv_pgs_subtitle): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[matroska,webm @ 0x101804a00] Could not find codec parameters for stream 12 (Subtitle: hdmv_pgs_subtitle): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[matroska,webm @ 0x101804a00] Could not find codec parameters for stream 13 (Subtitle: hdmv_pgs_subtitle): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[matroska,webm @ 0x101804a00] Could not find codec parameters for stream 14 (Subtitle: hdmv_pgs_subtitle): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[matroska,webm @ 0x101804a00] Could not find codec parameters for stream 15 (Subtitle: hdmv_pgs_subtitle): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, matroska,webm, from '/Volumes/WD 1TB/Movies/RoboCop 2014 720p BluRay DTS x264.mkv':
Metadata:
creation_time : 2014-05-08 14:55:57
Duration: 01:57:29.22, start: 0.000000, bitrate: 7060 kb/s
Chapter #0.0: start 0.000000, end 273.899000
Metadata:
title : 00:00:00.000
Chapter #0.1: start 273.899000, end 531.740000
Metadata:
title : 00:04:33.899
Chapter #0.2: start 531.740000, end 873.915000
Metadata:
title : 00:08:51.740
Chapter #0.3: start 873.915000, end 1021.604000
Metadata:
title : 00:14:33.915
Chapter #0.4: start 1021.604000, end 1167.041000
Metadata:
title : 00:17:01.604
Chapter #0.5: start 1167.041000, end 1312.937000
Metadata:
title : 00:19:27.041
Chapter #0.6: start 1312.937000, end 1573.572000
Metadata:
title : 00:21:52.937
Chapter #0.7: start 1573.572000, end 1847.971000
Metadata:
title : 00:26:13.572
Chapter #0.8: start 1847.971000, end 1968.675000
Metadata:
title : 00:30:47.971
Chapter #0.9: start 1968.675000, end 2172.379000
Metadata:
title : 00:32:48.675
Chapter #0.10: start 2172.379000, end 2346.970000
Metadata:
title : 00:36:12.379
Chapter #0.11: start 2346.970000, end 2583.498000
Metadata:
title : 00:39:06.970
Chapter #0.12: start 2583.498000, end 2740.655000
Metadata:
title : 00:43:03.498
Chapter #0.13: start 2740.655000, end 3130.377000
Metadata:
title : 00:45:40.655
Chapter #0.14: start 3130.377000, end 3441.188000
Metadata:
title : 00:52:10.377
Chapter #0.15: start 3441.188000, end 3683.889000
Metadata:
title : 00:57:21.188
Chapter #0.16: start 3683.889000, end 3779.901000
Metadata:
title : 01:01:23.889
Chapter #0.17: start 3779.901000, end 3965.920000
Metadata:
title : 01:02:59.901
Chapter #0.18: start 3965.920000, end 4230.476000
Metadata:
title : 01:06:05.920
Chapter #0.19: start 4230.476000, end 4406.527000
Metadata:
title : 01:10:30.476
Chapter #0.20: start 4406.527000, end 4704.867000
Metadata:
title : 01:13:26.527
Chapter #0.21: start 4704.867000, end 4916.203000
Metadata:
title : 01:18:24.867
Chapter #0.22: start 4916.203000, end 5164.993000
Metadata:
title : 01:21:56.203
Chapter #0.23: start 5164.993000, end 5286.907000
Metadata:
title : 01:26:04.993
Chapter #0.24: start 5286.907000, end 5522.976000
Metadata:
title : 01:28:06.907
Chapter #0.25: start 5522.976000, end 5752.956000
Metadata:
title : 01:32:02.976
Chapter #0.26: start 5752.956000, end 5910.655000
Metadata:
title : 01:35:52.956
Chapter #0.27: start 5910.655000, end 6090.751000
Metadata:
title : 01:38:30.655
Chapter #0.28: start 6090.751000, end 6224.635000
Metadata:
title : 01:41:30.751
Chapter #0.29: start 6224.635000, end 6401.562000
Metadata:
title : 01:43:44.635
Chapter #0.30: start 6401.562000, end 6612.689000
Metadata:
title : 01:46:41.562
Chapter #0.31: start 6612.689000, end 7049.216000
Metadata:
title : 01:50:12.689
Stream #0:0(eng): Video: h264 (High), yuv420p, 1280x534 [SAR 1:1 DAR 640:267], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Stream #0:1(eng): Audio: dts (DTS), 48000 Hz, 5.1(side), fltp, 1536 kb/s (default)
Stream #0:2(eng): Subtitle: hdmv_pgs_subtitle
Stream #0:3(eng): Subtitle: hdmv_pgs_subtitle
Stream #0:4(spa): Subtitle: hdmv_pgs_subtitle
Stream #0:5(fre): Subtitle: hdmv_pgs_subtitle
Stream #0:6(spa): Subtitle: hdmv_pgs_subtitle
Stream #0:7(ita): Subtitle: hdmv_pgs_subtitle
Stream #0:8(por): Subtitle: hdmv_pgs_subtitle
Stream #0:9(chi): Subtitle: hdmv_pgs_subtitle
Stream #0:10(ind): Subtitle: hdmv_pgs_subtitle
Stream #0:11(kor): Subtitle: hdmv_pgs_subtitle
Stream #0:12(may): Subtitle: hdmv_pgs_subtitle
Stream #0:13(chi): Subtitle: hdmv_pgs_subtitle
Stream #0:14(tha): Subtitle: hdmv_pgs_subtitle
Stream #0:15(vie): Subtitle: hdmv_pgs_subtitle
Please use -b:a or -b:v, -b is ambiguous
Output #0, vob, to 'pipe:':
Metadata:
encoder : Lavf54.59.106
Chapter #0.0: start 0.000000, end 273.899000
Metadata:
title : 00:00:00.000
Chapter #0.1: start 273.899000, end 531.740000
Metadata:
title : 00:04:33.899
Chapter #0.2: start 531.740000, end 873.915000
Metadata:
title : 00:08:51.740
Chapter #0.3: start 873.915000, end 1021.604000
Metadata:
title : 00:14:33.915
Chapter #0.4: start 1021.604000, end 1167.041000
Metadata:
title : 00:17:01.604
Chapter #0.5: start 1167.041000, end 1312.937000
Metadata:
title : 00:19:27.041
Chapter #0.6: start 1312.937000, end 1573.572000
Metadata:
title : 00:21:52.937
Chapter #0.7: start 1573.572000, end 1847.971000
Metadata:
title : 00:26:13.572
Chapter #0.8: start 1847.971000, end 1968.675000
Metadata:
title : 00:30:47.971
Chapter #0.9: start 1968.675000, end 2172.379000
Metadata:
title : 00:32:48.675
Chapter #0.10: start 2172.379000, end 2346.970000
Metadata:
title : 00:36:12.379
Chapter #0.11: start 2346.970000, end 2583.498000
Metadata:
title : 00:39:06.970
Chapter #0.12: start 2583.498000, end 2740.655000
Metadata:
title : 00:43:03.498
Chapter #0.13: start 2740.655000, end 3130.377000
Metadata:
title : 00:45:40.655
Chapter #0.14: start 3130.377000, end 3441.188000
Metadata:
title : 00:52:10.377
Chapter #0.15: start 3441.188000, end 3683.889000
Metadata:
title : 00:57:21.188
Chapter #0.16: start 3683.889000, end 3779.901000
Metadata:
title : 01:01:23.889
Chapter #0.17: start 3779.901000, end 3965.920000
Metadata:
title : 01:02:59.901
Chapter #0.18: start 3965.920000, end 4230.476000
Metadata:
title : 01:06:05.920
Chapter #0.19: start 4230.476000, end 4406.527000
Metadata:
title : 01:10:30.476
Chapter #0.20: start 4406.527000, end 4704.867000
Metadata:
title : 01:13:26.527
Chapter #0.21: start 4704.867000, end 4916.203000
Metadata:
title : 01:18:24.867
Chapter #0.22: start 4916.203000, end 5164.993000
Metadata:
title : 01:21:56.203
Chapter #0.23: start 5164.993000, end 5286.907000
Metadata:
title : 01:26:04.993
Chapter #0.24: start 5286.907000, end 5522.976000
Metadata:
title : 01:28:06.907
Chapter #0.25: start 5522.976000, end 5752.956000
Metadata:
title : 01:32:02.976
Chapter #0.26: start 5752.956000, end 5910.655000
Metadata:
title : 01:35:52.956
Chapter #0.27: start 5910.655000, end 6090.751000
Metadata:
title : 01:38:30.655
Chapter #0.28: start 6090.751000, end 6224.635000
Metadata:
title : 01:41:30.751
Chapter #0.29: start 6224.635000, end 6401.562000
Metadata:
title : 01:43:44.635
Chapter #0.30: start 6401.562000, end 6612.689000
Metadata:
title : 01:46:41.562
Chapter #0.31: start 6612.689000, end 7049.216000
Metadata:
title : 01:50:12.689
Stream #0:0(eng): Video: mpeg2video, yuv420p, 1280x534 [SAR 1:1 DAR 640:267], q=2-31, 16384 kb/s, 90k tbn, 23.98 tbc (default)
Stream #0:1(eng): Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s (default)
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> mpeg2video)
Stream #0:1 -> #0:1 (dca -> ac3)
Press [q] to stop, [?] for help
INFOyTivo:192.168.1.2 [23/May/2014 23:49:18] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFOyTivo:192.168.1.2 [23/May/2014 23:49:18] "GET /TiVoConnect?Command=QueryContainer&Container=Movies&Recurse=Yes&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FMovies%2FRoboCop%25202014%2520720p%2520BluRay%2520DTS%2520x264.mkv&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=748000190435C62 HTTP/1.1" 200 -
frame=126108 fps=115 q=2.0 size= 4569924kB time=01:27:39.99 bitrate=7117.3kbits/s


----------



## lpwcomp

This issue aside, you should definitely add "ts=on" to your pyTivo configuration file. The Premiere supports h.264 video natively so pyTivo simply needs to remux it from the .mkv container.

How is the Premiere connected to the TV?


----------



## wmcbrine

OK, it looks like a current pyTivo... but I can't see it being downrrezzed to SD from this log. I need to see the debug output.


----------



## mattack

wmcbrine said:


> You could undo the ts=on setting, since the remux is failing. (Yes, then you'd lose captions.)
> 
> From the command line, try this:
> 
> ffmpeg -i filename.mpg -vcodec copy -acodec copy -fflags +genpts newfile.ts


Of course, I was able to turn off ts=on, but I finally tried this.. and I also tried without spaces in the filename (but it made no difference, as I expected).

zzz-2512:Arrow local2$ ffmpeg -i 02_26_2014-Time-of-Death-214.mpg -vcodec copy -acodec copy -fflags +genpts 02_26_2014-Time-of-Death-214.tts
ffmpeg version 2.0.2 Copyright (c) 2000-2013 the FFmpeg developers
built on Oct 9 2013 10:18:52 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
configuration: --prefix=/Volumes/Ramdisk/sw --enable-gpl --enable-pthreads --enable-version3 --enable-libspeex --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-filters --enable-libgsm --arch=x86_64 --enable-runtime-cpudetect
libavutil 52. 38.100 / 52. 38.100
libavcodec 55. 18.102 / 55. 18.102
libavformat 55. 12.100 / 55. 12.100
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 79.101 / 3. 79.101
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100
[mpeg2video @ 0x7fa0b1803200] Invalid frame dimensions 0x0.
Last message repeated 1 times
Input #0, mpeg, from '02_26_2014-Time-of-Death-214.mpg':
Duration: 00:59:59.68, start: 0.478000, bitrate: 2839 kb/s
Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p, 704x480 [SAR 10:11 DAR 4:3], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
[NULL @ 0x7fa0b1803800] Unable to find a suitable output format for '02_26_2014-Time-of-Death-214.tts'
02_26_2014-Time-of-Death-214.tts: Invalid argument

Is there a workaround for this?

btw, since someone will probably ask:
zzz-2512:Arrow local2$ ffmpeg -version
ffmpeg version 2.0.2
built on Oct 9 2013 10:18:52 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
configuration: --prefix=/Volumes/Ramdisk/sw --enable-gpl --enable-pthreads --enable-version3 --enable-libspeex --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-filters --enable-libgsm --arch=x86_64 --enable-runtime-cpudetect
libavutil 52. 38.100 / 52. 38.100
libavcodec 55. 18.102 / 55. 18.102
libavformat 55. 12.100 / 55. 12.100
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 79.101 / 3. 79.101
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100


----------



## moyekj

mattack, you used .tts suffix which is wrong. Change it to .ts


----------



## innocentfreak

wmcbrine said:


> The only relevant thing here is the one thing you haven't shown, the filename.  In this case, it's a fancy quote character "  ", which I would replace with " ' ".
> 
> But this makes me think I need to revisit the general issue of character sets under Windows. (Pretty much everything else uses UTF-8 now, which makes this much easier.)


I had the same problem with "ō". Not sure if you ever got a chance to look at this or not. I fixed it by renaming the file.


----------



## TheOneEyedMan

Hello. I can't seem to get my files (push or pull) to transfer from my linux based pytivo server to my tivo. I previously had a windows based server which had a working pytivo install but I wanted to upgrade to a different machine. When I select the video from the share (appears on the now playing list) I can select the file to transfer and the blue light flickers for a moment and shuts off. When I try to push from my machine I choose the file to transfer and then get a "The connection was reset" error.

Here are the results of running the pytivo command from the command line while doing this:


Code:


sudo python /usr/share/pyTivo/pyTivo.py
[sudo] password for -: 
INFO:pyTivo:Last modified: Sat May 31 20:18:06 2014
INFO:pyTivo:Python: 2.7.6
INFO:pyTivo:System: Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: 2TB_movies_1
INFO:pyTivo.beacon:Registering: 2TB_photos_1
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.1.114 [31/May/2014 23:31:35] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:127.0.0.1 [31/May/2014 23:35:01] "GET / HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [31/May/2014 23:35:01] "GET /main.css HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [31/May/2014 23:35:04] "GET /TiVoConnect?Command=QueryContainer&Container=2TB_movies_1&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [31/May/2014 23:35:04] "GET /folder.png HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [31/May/2014 23:35:06] "GET /TiVoConnect?Command=QueryContainer&Container=2TB_movies_1/Watched&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [31/May/2014 23:35:09] "GET /TiVoConnect?Command=QueryContainer&Container=2TB_movies_1/Watched/9%20%7B2009%7D%20DVDRIP.%20Jaybob&Format=text/html HTTP/1.1" 200 -
ERROR:pyTivo:Exception during request from ('127.0.0.1', 45710)
Traceback (most recent call last):
  File "/usr/lib/python2.7/SocketServer.py", line 593, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/share/pyTivo/httpserver.py", line 91, in __init__
    client_address, server)
  File "/usr/lib/python2.7/SocketServer.py", line 649, in __init__
    self.handle()
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 342, in handle
    self.handle_one_request()
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "/usr/share/pyTivo/httpserver.py", line 146, in do_POST
    self.handle_query(query, tsn)
  File "/usr/share/pyTivo/httpserver.py", line 177, in handle_query
    if self.do_command(query, command, basepath, tsn):
  File "/usr/share/pyTivo/httpserver.py", line 156, in do_command
    method(self, query)
  File "/usr/share/pyTivo/plugins/video/video.py", line 129, in Push
    tsn = query['tsn'][0]
KeyError: 'tsn'
ERROR:pyTivo:Exception during request from ('127.0.0.1', 45711)
Traceback (most recent call last):
  File "/usr/lib/python2.7/SocketServer.py", line 593, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/share/pyTivo/httpserver.py", line 91, in __init__
    client_address, server)
  File "/usr/lib/python2.7/SocketServer.py", line 649, in __init__
    self.handle()
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "/usr/share/pyTivo/httpserver.py", line 146, in do_POST
    self.handle_query(query, tsn)
  File "/usr/share/pyTivo/httpserver.py", line 177, in handle_query
    if self.do_command(query, command, basepath, tsn):
  File "/usr/share/pyTivo/httpserver.py", line 156, in do_command
    method(self, query)
  File "/usr/share/pyTivo/plugins/video/video.py", line 129, in Push
    tsn = query['tsn'][0]
KeyError: 'tsn'

Thank you for your help and please let me know if I can supply additional information.

I confirmed that ffmpeg was working by running something like this "ffmpeg -i 9.avi 9.mp4" to convert a file and making sure I could play it. I was worried about that since I had to compile it myself from directions here:
trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

Here are the directions I followed for my ubuntu pytivo installation
edsalisbury.net/how-to-set-up-a-tivo-media-server-on-ubuntu-linux


----------



## wmcbrine

TheOneEyedMan, your log just shows two failed Push requests. Do you have a log of a failed NPL request?

"KeyError: 'tsn'" is a strange error, but it suggests that you tried to push to something that wasn't a TiVo -- perhaps none appeared next to the "Send to TiVo" button? -- and the fact that nothing shows up under "Scanning for TiVos..." would fit with that.

Assuming that you're actually using the version of pyTivo that's in my repos as of today, you really need to either 1) have Zeroconf working, or 2) hardwire the names, addresses and TSNs of your TiVos in your pyTivo.conf. I recommend the former.

Previously, the list of available TiVos also included anything with a TSN that connected to pyTivo in response to its old-style beacons; however, this was causing problems with Roamio Plus and Pro units, due to their included Streams. (This is not necessarily the permanent solution, but it's what I have right now.)


----------



## wmcbrine

wmcbrine said:


> Assuming that you're actually using the version of pyTivo that's in my repos as of today, you really need to either 1) have Zeroconf working, or 2) hardwire the names, addresses and TSNs of your TiVos in your pyTivo.conf. I recommend the former.


OK, a compromise (in my repos now): _if and only if_ no TiVos are found, either via Zeroconf, or hardwired in pyTivo.conf, pyTivo will now fall back to the old behavior of adding anything with a TSN that makes a request to the list. This should work for TheOneEyedMan, although I'd still urge him to try and sort out why Zeroconf isn't working for him. (It's not disabled; it's just not returning any results. I'd probably start by rebooting the TiVo.)


----------



## lrhorer

TheOneEyedMan said:


> Here are the directions I followed for my ubuntu pytivo installation
> edsalisbury.net/how-to-set-up-a-tivo-media-server-on-ubuntu-linux


I recommend the approach you will find in my thread covering Linux which you can find here. I doubt it will fix your issue, but it will provide a log file every time pyTivo is started - which can help in this and similar situations - and it will properly register pyTivo as a service. It's also a more sophisticated approach more in line with System V initialization procedures, as well as being more future proof than the approach above.


----------



## TheOneEyedMan

As you suggest, I am not seeing any tivos under the heading Pull from TiVos on my pytivo page. I tried rebooting but that didn't fix anything. Do you have advice or are there directions I can follow for sorting out that problem?

Is it likely that the failure to pull files from the server is related? I turned on debug mode and tried to pull a file from my computer to my tivo and got the following logs:


Code:


INFO:pyTivo:Last modified: Sat May 31 20:18:06 2014
INFO:pyTivo:Python: 2.7.6
INFO:pyTivo:System: Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: 2TB_movies_1
INFO:pyTivo.beacon:Registering: 2TB_photos_1
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.1.114 [01/Jun/2014 16:45:25] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:127.0.0.1 [01/Jun/2014 16:45:31] "GET / HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [01/Jun/2014 16:45:31] "GET /main.css HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [01/Jun/2014 16:45:31] "GET /favicon.ico HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [01/Jun/2014 16:45:33] "GET / HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [01/Jun/2014 16:45:33] "GET /main.css HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [01/Jun/2014 16:45:59] "GET /TiVoConnect?Command=Settings&Container=Settings HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [01/Jun/2014 16:45:59] "GET /plugins/settings/settings.css HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [01/Jun/2014 16:45:59] "GET /plugins/settings/settings.js HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [01/Jun/2014 16:46:03] "GET /TiVoConnect?Command=Restart&Container=Settings HTTP/1.1" 200 -
INFO:pyTivo.beacon:Unregistering: 2TB_movies_1 2TB_photos_1
INFO:pyTivo:Last modified: Sat May 31 20:18:06 2014
INFO:pyTivo:Python: 2.7.6
INFO:pyTivo:System: Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: 2TB_movies_1
INFO:pyTivo.beacon:Registering: 2TB_photos_1
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.1.114 [01/Jun/2014 16:46:12] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:127.0.0.1 [01/Jun/2014 16:46:13] "GET /TiVoConnect?Command=Settings&Container=Settings HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.114 [01/Jun/2014 16:51:12] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.114 [01/Jun/2014 17:55:16] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.114 [01/Jun/2014 17:55:17] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.114 [01/Jun/2014 17:55:34] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:127.0.0.1 [02/Jun/2014 06:37:01] "GET / HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [02/Jun/2014 06:37:01] "GET /main.css HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [02/Jun/2014 06:37:02] "GET / HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [02/Jun/2014 06:37:02] "GET /main.css HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.114 [02/Jun/2014 06:40:55] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.114 [02/Jun/2014 06:41:01] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.114 [02/Jun/2014 06:41:02] "GET /TiVoConnect?Command=QueryContainer&Container=2TB_movies_1&SortOrder=Title&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.114 [02/Jun/2014 06:41:02] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.114 [02/Jun/2014 06:41:03] "GET /TiVoConnect?Command=QueryContainer&Container=2TB_movies_1%2FWatched&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.114 [02/Jun/2014 06:41:04] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.114 [02/Jun/2014 06:41:04] "GET /TiVoConnect?Command=QueryContainer&Container=2TB_movies_1%2FWatched%2F9%20%7B2009%7D%20DVDRIP.%20Jaybob&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.114 [02/Jun/2014 06:41:07] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:ffmpeg output=ffmpeg version 2.2.git Copyright (c) 2000-2014 the FFmpeg developers
  built on May 31 2014 19:51:57 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: --prefix=/home/user/ffmpeg_build --extra-cflags=-I/home/user/ffmpeg_build/include --extra-ldflags=-L/home/user/ffmpeg_build/lib --bindir=/home/user/bin --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-x11grab
  libavutil      52. 87.100 / 52. 87.100
  libavcodec     55. 65.100 / 55. 65.100
  libavformat    55. 42.100 / 55. 42.100
  libavdevice    55. 13.101 / 55. 13.101
  libavfilter     4.  5.100 /  4.  5.100
  libswscale      2.  6.100 /  2.  6.100
  libswresample   0. 19.100 /  0. 19.100
  libpostproc    52.  3.100 / 52.  3.100
Input #0, avi, from '/media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi':
  Metadata:
    encoder         : Lavf51.12.1
  Duration: 01:19:14.17, start: 0.000000, bitrate: 1339 kb/s
    Stream #0:0: Video: mpeg4 (Simple Profile) (xvid / 0x64697678), yuv420p, 640x368 [SAR 1:1 DAR 40:23], 1199 kb/s, 23.98 fps, 23.98 tbr, 23.98 tbn, 23.98 tbc
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 128 kb/s
At least one output file must be specified

DEBUG:pyTivo.video.transcode:aFreq=48000; aCh=2; container=avi; kbps=1339; mapAudio=[('0:1', ' mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 128 kb/s')]; vHeight=368; vCodec=mpeg4; Supported=True; aKbps=128; par=None; millisecs=4754170; vFps=23.98; par2=None; par1=None; mapVideo=0:0; vWidth=640; dar1=40:23; rawmeta={'encoder': [u'Lavf51.12.1']}; aCodec=mp3
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:tsn: <my tsn here>
DEBUG:pyTivo.video.transcode:aspect169: True
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=/media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi vCodec=mpeg4 vWidth=640 vHeight=368 vFps=23.98 millisecs=4754170 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:set first detected audio stream by default: 0:1
DEBUG:pyTivo.video.transcode:selected audio stream: 0:1
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
INFO:pyTivo:192.168.1.114 [02/Jun/2014 06:41:07] "GET /TiVoConnect?Command=QueryContainer&Container=2TB_movies_1%2FWatched%2F9%20%7B2009%7D%20DVDRIP.%20Jaybob&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2F2TB_movies_1%2FWatched%2F9%2520%257B2009%257D%2520DVDRIP.%2520Jaybob%2F9%2520%257B2009%257D%2520DVDRIP.%2520Jaybob.avi&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:tsn: <my tsn here>
DEBUG:pyTivo.video.transcode:aspect169: True
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=/media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi vCodec=mpeg4 vWidth=640 vHeight=368 vFps=23.98 millisecs=4754170 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:set first detected audio stream by default: 0:1
DEBUG:pyTivo.video.transcode:selected audio stream: 0:1
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
INFO:pyTivo:192.168.1.114 [02/Jun/2014 06:41:07] "GET /TiVoConnect?Command=TVBusQuery&Container=2TB_movies_1&File=%2FWatched%2F9%20%7B2009%7D%20DVDRIP.%20Jaybob%2F9%20%7B2009%7D%20DVDRIP.%20Jaybob.avi HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.114 [02/Jun/2014 06:41:09] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.114 [02/Jun/2014 06:41:09] "GET /TiVoConnect?Command=QueryItem&Url=http%3A%2F%2Fa%2Fb%3FContainer%3D%2FNowPlaying%26id%3D%2F2TB_movies_1%2FWatched%2F9%2520%257B2009%257D%2520DVDRIP.%2520Jaybob%2F9%2520%257B2009%257D%2520DVDRIP.%2520Jaybob.avi HTTP/1.1" 404 -
ERROR:pyTivo:Exception during request from ('192.168.1.114', 32897)
Traceback (most recent call last):
  File "/usr/lib/python2.7/SocketServer.py", line 593, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/share/pyTivo/httpserver.py", line 91, in __init__
    client_address, server)
  File "/usr/lib/python2.7/SocketServer.py", line 649, in __init__
    self.handle()
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "/usr/share/pyTivo/httpserver.py", line 129, in do_GET
    self.handle_file(query, splitpath)
  File "/usr/share/pyTivo/httpserver.py", line 246, in handle_file
    plugin.send_file(self, path, query)
  File "/usr/share/pyTivo/plugins/video/video.py", line 185, in send_file
    tivo_name = config.tivos[tsn].get('name', tsn)
KeyError: '<my TSN is here>'
INFO:pyTivo:127.0.0.1 [02/Jun/2014 06:43:05] "GET /TiVoConnect?Command=Settings&Container=Settings HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [02/Jun/2014 06:43:05] "GET /plugins/settings/settings.css HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [02/Jun/2014 06:43:05] "GET /plugins/settings/settings.js HTTP/1.1" 200 -

Where <my TSN> us what came off the machine but in the form 12345678901234 (ommiting the dashes)

192.168.1.114 is the ip address of my Tivo


----------



## wmcbrine

Yes, it's the same error. Please update your pyTivo to include the change I posted about yesterday.

Also, it's likely that the reason Zeroconf is failing is that your router is blocking multicast. This seems to be a widespread misfeature. You should be able to turn it off in the router's settings. But, failing that, you should still be able to get pyTivo to work by updating it.


----------



## TheOneEyedMan

I turned of multicasting on my router and downloaded the new files from git hub and reinstalled but I still am not able to transfer and the startup script still appears to be empty. 


Code:


/usr/share/pyTivo$ sudo python /usr/share/pyTivo/pyTivo.py
INFO:pyTivo:Last modified: Mon Jun  2 20:10:34 2014
INFO:pyTivo:Python: 2.7.6
INFO:pyTivo:System: Linux-3.13.0-27-generic-x86_64-with-Ubuntu-14.04-trusty
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: 2TB_movies_1
INFO:pyTivo.beacon:Registering: 2TB_photos_1
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.1.114 [02/Jun/2014 20:27:41] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:127.0.0.1 [02/Jun/2014 20:28:25] "GET /TiVoConnect?Command=Quit&Container=Settings HTTP/1.1" 200 -


----------



## wmcbrine

TheOneEyedMan said:


> I turned of multicasting on my router


It would be multicast _filtering_ or _blocking_ that you'd want to turn off, so multicast would actually be "on" (passed through). But, I don't know the exact wording on your router. However, if the setting has two positions, and you've tried them both, then I guess we can rule that out. It could be that port 5353 UDP is blocked by a firewall on the Linux box, although I wouldn't expect that.

That log doesn't show any transfer requests, so I can't comment further. (To be clear, the TiVos will never be listed under "Scanning for TiVos..." unless Zeroconf is working, but you should still be able to push and pull.)


----------



## TheOneEyedMan

Here is the code when I attempted to putt the same file as before. 
For what it is worth, I have two sorts of routers, 2 that run DDWRT on which I unchecked "Filter Multicast" on the security / firewall tab and on the FIOS modem / router I disable the IGMP proxy which handles such things as far as I can tell.

Here: is the output from my pyTivo when I pull a file from my Tivo.



Code:


INFO:pyTivo:Last modified: Mon Jun  2 20:10:34 2014
INFO:pyTivo:Python: 2.7.6
INFO:pyTivo:System: Linux-3.13.0-27-generic-x86_64-with-Ubuntu-14.04-trusty
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: 2TB_movies_1
INFO:pyTivo.beacon:Registering: 2TB_photos_1
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.1.114 [03/Jun/2014 06:31:19] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.114 [03/Jun/2014 06:32:01] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.114 [03/Jun/2014 06:32:06] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.114 [03/Jun/2014 06:32:06] "GET /TiVoConnect?Command=QueryContainer&Container=2TB_movies_1&SortOrder=Title&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.114 [03/Jun/2014 06:32:07] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.114 [03/Jun/2014 06:32:07] "GET /TiVoConnect?Command=QueryContainer&Container=2TB_movies_1%2FWatched&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.114 [03/Jun/2014 06:32:09] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.114 [03/Jun/2014 06:32:09] "GET /TiVoConnect?Command=QueryContainer&Container=2TB_movies_1%2FWatched%2F9%20%7B2009%7D%20DVDRIP.%20Jaybob&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.114 [03/Jun/2014 06:32:10] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:ffmpeg output=ffmpeg version 2.2.git Copyright (c) 2000-2014 the FFmpeg developers
  built on May 31 2014 19:51:57 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: --prefix=/home/user/ffmpeg_build --extra-cflags=-I/home/user/ffmpeg_build/include --extra-ldflags=-L/home/user/ffmpeg_build/lib --bindir=/home/user/bin --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-x11grab
  libavutil      52. 87.100 / 52. 87.100
  libavcodec     55. 65.100 / 55. 65.100
  libavformat    55. 42.100 / 55. 42.100
  libavdevice    55. 13.101 / 55. 13.101
  libavfilter     4.  5.100 /  4.  5.100
  libswscale      2.  6.100 /  2.  6.100
  libswresample   0. 19.100 /  0. 19.100
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf55.42.100
  Duration: 01:19:14.17, start: 0.042667, bitrate: 814 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x368 [SAR 1:1 DAR 40:23], 669 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 139 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
At least one output file must be specified

DEBUG:pyTivo.video.transcode:aFreq=48000; aCh=2; container=mov; kbps=814; mapAudio=[('0:1', '(und) aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 139 kb/s (default)')]; vHeight=368; vCodec=h264; Supported=True; aKbps=139; par=None; millisecs=4754170; vFps=23.98; par2=None; par1=None; mapVideo=0:0; vWidth=640; dar1=40:23; rawmeta={'major_brand': [u'isom'], 'encoder': [u'Lavf55.42.100'], 'compatible_brands': [u'isomiso2avc1mp41'], 'minor_version': [u'512']}; aCodec=aac
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:tsn: <my tsn here>
DEBUG:pyTivo.video.transcode:aspect169: True
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=/media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4 vCodec=h264 vWidth=640 vHeight=368 vFps=23.98 millisecs=4754170 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:set first detected audio stream by default: 0:1
DEBUG:pyTivo.video.transcode:selected audio stream: 0:1
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
INFO:pyTivo:192.168.1.114 [03/Jun/2014 06:32:11] "GET /TiVoConnect?Command=QueryContainer&Container=2TB_movies_1%2FWatched%2F9%20%7B2009%7D%20DVDRIP.%20Jaybob&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2F2TB_movies_1%2FWatched%2F9%2520%257B2009%257D%2520DVDRIP.%2520Jaybob%2F9.mp4&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:tsn: <my tsn here>
DEBUG:pyTivo.video.transcode:aspect169: True
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=/media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4 vCodec=h264 vWidth=640 vHeight=368 vFps=23.98 millisecs=4754170 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:set first detected audio stream by default: 0:1
DEBUG:pyTivo.video.transcode:selected audio stream: 0:1
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
INFO:pyTivo:192.168.1.114 [03/Jun/2014 06:32:11] "GET /TiVoConnect?Command=TVBusQuery&Container=2TB_movies_1&File=%2FWatched%2F9%20%7B2009%7D%20DVDRIP.%20Jaybob%2F9.mp4 HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.114 [03/Jun/2014 06:32:11] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:tsn: <my tsn here>
DEBUG:pyTivo.video.transcode:aspect169: True
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=/media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4 vCodec=h264 vWidth=640 vHeight=368 vFps=23.98 millisecs=4754170 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:set first detected audio stream by default: 0:1
DEBUG:pyTivo.video.transcode:selected audio stream: 0:1
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9.mp4
INFO:pyTivo:192.168.1.114 [03/Jun/2014 06:32:11] "GET /TiVoConnect?Command=QueryContainer&Container=2TB_movies_1%2FWatched%2F9%20%7B2009%7D%20DVDRIP.%20Jaybob&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.114 [03/Jun/2014 06:32:13] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:ffmpeg output=ffmpeg version 2.2.git Copyright (c) 2000-2014 the FFmpeg developers
  built on May 31 2014 19:51:57 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: --prefix=/home/user/ffmpeg_build --extra-cflags=-I/home/user/ffmpeg_build/include --extra-ldflags=-L/home/user/ffmpeg_build/lib --bindir=/home/user/bin --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-x11grab
  libavutil      52. 87.100 / 52. 87.100
  libavcodec     55. 65.100 / 55. 65.100
  libavformat    55. 42.100 / 55. 42.100
  libavdevice    55. 13.101 / 55. 13.101
  libavfilter     4.  5.100 /  4.  5.100
  libswscale      2.  6.100 /  2.  6.100
  libswresample   0. 19.100 /  0. 19.100
  libpostproc    52.  3.100 / 52.  3.100
Input #0, avi, from '/media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi':
  Metadata:
    encoder         : Lavf51.12.1
  Duration: 01:19:14.17, start: 0.000000, bitrate: 1339 kb/s
    Stream #0:0: Video: mpeg4 (Simple Profile) (xvid / 0x64697678), yuv420p, 640x368 [SAR 1:1 DAR 40:23], 1199 kb/s, 23.98 fps, 23.98 tbr, 23.98 tbn, 23.98 tbc
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 128 kb/s
At least one output file must be specified

DEBUG:pyTivo.video.transcode:aFreq=48000; aCh=2; container=avi; kbps=1339; mapAudio=[('0:1', ' mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 128 kb/s')]; vHeight=368; vCodec=mpeg4; Supported=True; aKbps=128; par=None; millisecs=4754170; vFps=23.98; par2=None; par1=None; mapVideo=0:0; vWidth=640; dar1=40:23; rawmeta={'encoder': [u'Lavf51.12.1']}; aCodec=mp3
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:tsn: <my tsn here>
DEBUG:pyTivo.video.transcode:aspect169: True
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=/media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi vCodec=mpeg4 vWidth=640 vHeight=368 vFps=23.98 millisecs=4754170 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:set first detected audio stream by default: 0:1
DEBUG:pyTivo.video.transcode:selected audio stream: 0:1
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
INFO:pyTivo:192.168.1.114 [03/Jun/2014 06:32:13] "GET /TiVoConnect?Command=QueryContainer&Container=2TB_movies_1%2FWatched%2F9%20%7B2009%7D%20DVDRIP.%20Jaybob&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2F2TB_movies_1%2FWatched%2F9%2520%257B2009%257D%2520DVDRIP.%2520Jaybob%2F9%2520%257B2009%257D%2520DVDRIP.%2520Jaybob.avi&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:tsn: <my tsn here>
DEBUG:pyTivo.video.transcode:aspect169: True
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=/media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi vCodec=mpeg4 vWidth=640 vHeight=368 vFps=23.98 millisecs=4754170 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:set first detected audio stream by default: 0:1
DEBUG:pyTivo.video.transcode:selected audio stream: 0:1
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg4 not compatible, /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
DEBUG:pyTivo.video.transcode:CACHE HIT! /media/user/2TBDRV_1/Videos/Watched/9 {2009} DVDRIP. Jaybob/9 {2009} DVDRIP. Jaybob.avi
INFO:pyTivo:192.168.1.114 [03/Jun/2014 06:32:13] "GET /TiVoConnect?Command=TVBusQuery&Container=2TB_movies_1&File=%2FWatched%2F9%20%7B2009%7D%20DVDRIP.%20Jaybob%2F9%20%7B2009%7D%20DVDRIP.%20Jaybob.avi HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.114 [03/Jun/2014 06:32:14] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.114 [03/Jun/2014 06:32:14] "GET /TiVoConnect?Command=QueryItem&Url=http%3A%2F%2Fa%2Fb%3FContainer%3D%2FNowPlaying%26id%3D%2F2TB_movies_1%2FWatched%2F9%2520%257B2009%257D%2520DVDRIP.%2520Jaybob%2F9%2520%257B2009%257D%2520DVDRIP.%2520Jaybob.avi HTTP/1.1" 404 -
ERROR:pyTivo:Exception during request from ('192.168.1.114', 32889)
Traceback (most recent call last):
  File "/usr/lib/python2.7/SocketServer.py", line 593, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/share/pyTivo/httpserver.py", line 91, in __init__
    client_address, server)
  File "/usr/lib/python2.7/SocketServer.py", line 649, in __init__
    self.handle()
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "/usr/share/pyTivo/httpserver.py", line 128, in do_GET
    self.handle_file(query, splitpath)
  File "/usr/share/pyTivo/httpserver.py", line 245, in handle_file
    plugin.send_file(self, path, query)
  File "/usr/share/pyTivo/plugins/video/video.py", line 192, in send_file
    tivo_name = config.tivos[tsn].get('name', tsn)
KeyError: '<my tsn here>'


----------



## wmcbrine

OK, that shouldn't be happening still. I can only question whether you really updated... try copying out the .conf file, totally erasing the pyTivo directory, extracting the latest version, and re-adding the .conf file.


----------



## TheOneEyedMan

I tried deleting the directory and reinstalling again without luck. As before, I left any multicast filtering off.

Then I was messing arround and made two additional changes and now things are working. I defined a new section to manually specify the Tivo in the pyTivo.conf file like this:
[_tivo_<tsn>]
name = Living_room
address = <ip of Tivo>

as well as moving back to the default for beacon instead of <ip of Tivo>

Now I still don't get automatic detection of my tivo but I do get the ability to push and pull from it. Thank you for all your help.

As part of my linux/ubuntu/Tivo/pyTivo adventures, I was able to verify that multicast processes were running on my network (like my network sharred printer), others may want to give it a shot. The command ifconfig eth0 was useful in establishing that indeed the unix box has multicast running.

avahi-discover and mdns-scan


----------



## lpwcomp

Latest version of pyTivo has problems when configured for remote push. I get the following when attempting to access it via browser:


Spoiler






Code:


ERROR:pyTivo:Exception during request from ('127.0.0.1', 50808)
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 593, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\Pusher pyTivo\httpserver.py", line 91, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 649, in __init__
    self.handle()
  File "C:\Python27\lib\BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "C:\Python27\lib\BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "C:\Pusher pyTivo\httpserver.py", line 131, in do_GET
    self.infopage()
  File "C:\Pusher pyTivo\httpserver.py", line 357, in infopage
    '">' + escape(config.tivos[tsn]['name']) +
KeyError: 'address'




attempt to push via kmttg to either a remote or local TiVo gets this:


Spoiler






Code:


ERROR:pyTivo:Exception during request from ('127.0.0.1', 51045)
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 593, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\Pusher pyTivo\httpserver.py", line 91, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 649, in __init__
    self.handle()
  File "C:\Python27\lib\BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "C:\Python27\lib\BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "C:\Pusher pyTivo\httpserver.py", line 123, in do_GET
    self.handle_query(query, tsn)
  File "C:\Pusher pyTivo\httpserver.py", line 176, in handle_query
    if self.do_command(query, command, basepath, tsn):
  File "C:\Pusher pyTivo\httpserver.py", line 155, in do_command
    method(self, query)
  File "C:\Pusher pyTivo\plugins\video\video.py", line 137, in Push
    if config.tivos[key]['name'] == tsn:
KeyError: 'name'
ERROR:pyTivo:Exception during request from ('127.0.0.1', 51046)
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 593, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\Pusher pyTivo\httpserver.py", line 91, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 649, in __init__
    self.handle()
  File "C:\Python27\lib\BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "C:\Python27\lib\BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "C:\Pusher pyTivo\httpserver.py", line 123, in do_GET
    self.handle_query(query, tsn)
  File "C:\Pusher pyTivo\httpserver.py", line 176, in handle_query
    if self.do_command(query, command, basepath, tsn):
  File "C:\Pusher pyTivo\httpserver.py", line 155, in do_command
    method(self, query)
  File "C:\Pusher pyTivo\plugins\video\video.py", line 137, in Push
    if config.tivos[key]['name'] == tsn:
KeyError: 'name'




pyTivo.conf:


Spoiler






Code:


[Server]
precache = False
tivo_password = xxxxxxxxxxxxx
tivo_mak = xxxxxxxxxxxx
tivo_username = xxxxxxxxxxxxxx
externalurl = http://xx.xxx.xxx.xx:9032
ts = on
togo_path = D:\TiVo Offload
ffmpeg = C:\pyTivo\bin\ffmpeg.exe
allowedips = 127.0.0.1 192.168.1

[_tivo_SD]

[_tivo_HD]
audio_lang = ENG

[Nimitz kmttgmpegs]
path = C:\kmttgmpegs
type = video
force_alpha = on

[Nimitz Video]
type = video
path = D:\Video
force_alpha = on

[_tivo_846000190304FA2 ]

[_tivo_74600119055800F]

[_tivo_74600019069EC32]
tivo_password = xxxxxxxxxxxxx
tivo_username = xxxxxxxxxxxxxxx
tivo_mak = xxxxxxxxxxxxxxxx
external = True

[_tivo_1300000801E990C]
tivo_username = xxxxxxxxxxx
optres = on
tivo_password = xxxxxxxxxxxx
tivo_mak = xxxxxxxxx
external = True


----------



## wmcbrine

lpwcomp said:


> Latest version of pyTivo has problems when configured for remote push with minimalist "_tivo_" sections (lacking name or address).


OK, try it now.


----------



## lpwcomp

wmcbrine said:


> OK, try it now.


Attempt to push to remote TiVo fails with the following:



Spoiler






Code:


ERROR:pyTivo:Exception during request from ('127.0.0.1', 52512)
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 593, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\Pusher pyTivo\httpserver.py", line 91, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 649, in __init__
    self.handle()
  File "C:\Python27\lib\BaseHTTPServer.py", line 342, in handle
    self.handle_one_request()
  File "C:\Python27\lib\BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "C:\Pusher pyTivo\httpserver.py", line 145, in do_POST
    self.handle_query(query, tsn)
  File "C:\Pusher pyTivo\httpserver.py", line 176, in handle_query
    if self.do_command(query, command, basepath, tsn):
  File "C:\Pusher pyTivo\httpserver.py", line 155, in do_command
    method(self, query)
  File "C:\Pusher pyTivo\plugins\video\video.py", line 144, in Push
    ip = config.get_ip(tsn)
  File "C:\Pusher pyTivo\config.py", line 89, in get_ip
    dest_ip = tivos[tsn]['address']
KeyError: 'address'
ERROR:pyTivo:Exception during request from ('127.0.0.1', 52517)
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 593, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\Pusher pyTivo\httpserver.py", line 91, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 649, in __init__
    self.handle()
  File "C:\Python27\lib\BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "C:\Python27\lib\BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "C:\Pusher pyTivo\httpserver.py", line 145, in do_POST
    self.handle_query(query, tsn)
  File "C:\Pusher pyTivo\httpserver.py", line 176, in handle_query
    if self.do_command(query, command, basepath, tsn):
  File "C:\Pusher pyTivo\httpserver.py", line 155, in do_command
    method(self, query)
  File "C:\Pusher pyTivo\plugins\video\video.py", line 144, in Push
    ip = config.get_ip(tsn)
  File "C:\Pusher pyTivo\config.py", line 89, in get_ip
    dest_ip = tivos[tsn]['address']
KeyError: 'address'


----------



## wmcbrine

lpwcomp said:


> Attempt to push to remote TiVo fails with the following:


OK, how about now?


----------



## lpwcomp

wmcbrine said:


> OK, how about now?


That problem is fixed but while testing I encountered another problem that seems to have been around for at least a few months.

If zeroconf is disabled either explicitly or implicitly, none of the TiVos shows up in the pull from list and any attempt to transfer a recording to the TiVo results in the following:
Edit: problem actually occurs unless zeroconf is set to "Auto".

Via pull:



Spoiler






Spoiler






Code:


ERROR:pyTivo:Exception during request from ('192.168.1.107', 50182)
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 593, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\Pusher pyTivo\httpserver.py", line 91, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 649, in __init__
    self.handle()
  File "C:\Python27\lib\BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "C:\Python27\lib\BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "C:\Pusher pyTivo\httpserver.py", line 128, in do_GET
    self.handle_file(query, splitpath)
  File "C:\Pusher pyTivo\httpserver.py", line 245, in handle_file
    plugin.send_file(self, path, query)
  File "C:\Pusher pyTivo\plugins\video\video.py", line 193, in send_file
    tivo_name = config.tivos[tsn].get('name', tsn)
KeyError: '<redacted>'








via push:



Spoiler






Code:


ERROR:pyTivo:Exception during request from ('127.0.0.1', 56632)
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 593, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\Pusher pyTivo\httpserver.py", line 91, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 649, in __init__
    self.handle()
  File "C:\Python27\lib\BaseHTTPServer.py", line 342, in handle
    self.handle_one_request()
  File "C:\Python27\lib\BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "C:\Pusher pyTivo\httpserver.py", line 145, in do_POST
    self.handle_query(query, tsn)
  File "C:\Pusher pyTivo\httpserver.py", line 176, in handle_query
    if self.do_command(query, command, basepath, tsn):
  File "C:\Pusher pyTivo\httpserver.py", line 155, in do_command
    method(self, query)
  File "C:\Pusher pyTivo\plugins\video\video.py", line 141, in Push
    tivo_name = config.tivos[tsn].get('name', tsn)
KeyError: '<redacted>'
ERROR:pyTivo:Exception during request from ('127.0.0.1', 56635)
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 593, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\Pusher pyTivo\httpserver.py", line 91, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 649, in __init__
    self.handle()
  File "C:\Python27\lib\BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "C:\Python27\lib\BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "C:\Pusher pyTivo\httpserver.py", line 145, in do_POST
    self.handle_query(query, tsn)
  File "C:\Pusher pyTivo\httpserver.py", line 176, in handle_query
    if self.do_command(query, command, basepath, tsn):
  File "C:\Pusher pyTivo\httpserver.py", line 155, in do_command
    method(self, query)
  File "C:\Pusher pyTivo\plugins\video\video.py", line 141, in Push
    tivo_name = config.tivos[tsn].get('name', tsn)
KeyError: '<redacted>'





One other thing I noticed which has been around longer and may be WAD:

If I push an h.264 1080P, it gets re-muxed to a temp file and then the temp file is transferred. If I pull the same file, it gets re-muxed on the fly.


----------



## wmcbrine

lpwcomp said:


> That problem is fixed but while testing I encountered another problem that seems to have been around for at least a few months.
> 
> If zeroconf is disabled either explicitly or implicitly, none of the TiVos shows up in the pull from list


No, that hasn't been a few months -- it's the same new behavior I just described here: http://www.tivocommunity.com/tivo-vb/showthread.php?p=10127166#post10127166

In your case, the problem arises because you have empty "_tivo_" sections declared, with no names or addresses (or anything besides the TSN). I don't see the purpose of that (besides the externals), but since it did work before, I'll try to come up with a non-kludgy way to support it.



> _and any attempt to transfer a recording to the TiVo results in the following:_


Those should work now.



> _If I push an h.264 1080P, it gets re-muxed to a temp file and then the temp file is transferred. If I pull the same file, it gets re-muxed on the fly._


Yes. Pushes use MP4s, which can't be created in a single pass. Pulls use transport streams, which don't have that problem.


----------



## wmcbrine

wmcbrine said:


> ... but since it did work before, I'll try to come up with a non-kludgy way to support it.


OK, I think I've got it now. This should be minimally disruptive to existing configs while still removing as many bogus Stream entries as possible.


----------



## lpwcomp

wmcbrine said:


> No, that hasn't been a few months -- it's the same new behavior I just described here: http://www.tivocommunity.com/tivo-vb/showthread.php?p=10127166#post10127166
> 
> In your case, the problem arises because you have empty "_tivo_" sections declared, with no names or addresses (or anything besides the TSN). I don't see the purpose of that (besides the externals), but since it did work before, I'll try to come up with a non-kludgy way to support it.


Did some more testing. Removed one of the emoty "_tivo_" sections, and added "shares = Nimitz Video" to the other one and restarted pyTiVo. There were no TiVos in the "Pull From Tivos" list and the only ones in the "Send to Tivo" list were the two that were explicitly defined. This seems to be the case whenever zeroconf is disabled.



wmcbrine said:


> Those should work now.


It does.



wmcbrine said:


> Yes. Pushes use MP4s, which can't be created in a single pass. Pulls use transport streams, which don't have that problem.


Based on what VideoReDo is reporting for the source, I assume that it is the audio that is forcing the re-mux.

VideoReDo info:


Spoiler






Code:


 File:                                     Name : D:\Video\Wreck-It Ralph\Wreck It Ralph.mp4
                                           Size : 1.772 GB
                                       Duration : 01:41:13.10
                                       Mux type : MP4
 Video:                                Encoding : H.264
                                  VideoStreamID : x201
                                     Frame rate : 23.98 fps
                                  Encoding size : 1920 x 808
                                   Aspect ratio : 2.38:1
                                Header bit rate : 20.000 Mbps
                                     VBV buffer : 380 KBytes
                                        Profile : High/4.0
                                    Progressive :  Progressive
                                         Chroma : 4:2:0
                                   Entropy mode : CABAC
                                       Bit rate : 2.241 Mbps
                                     Captioning : None found
 Audio Stream: 1 (Primary)                Codec : AAC
                                         Format : ADTS
                                       Channels : 6.0
                                       Language : eng
                                            PID : x202
                                  PES Stream Id : xC0
                                  Sampling rate : 48000
 Audio Stream: 2                          Codec : AAC
                                         Format : ADTS
                                       Channels : 2.0
                                       Language : eng
                                            PID : x203
                                  PES Stream Id : xC0
                                  Sampling rate : 48000





edit: Started this post a while back and posted it before I saw your most recent post.


----------



## wmcbrine

lpwcomp said:


> There were no TiVos in the "Pull From Tivos" list and the only ones in the "Send to Tivo" list were the two that were explicitly defined. This seems to be the case whenever zeroconf is disabled.


Yes, that's how it's supposed to be now.


----------



## lpwcomp

wmcbrine said:


> Yes, that's how it's supposed to be now.


Ok. Thanks for making these changes so quickly.


----------



## caddyroger

Will Pytivo push 264 mp4 programs to a Roamio pro? The Pytivo is the wmcbrine fork 2009 version with the updates probably dating to the early 2011.


----------



## wmcbrine

caddyroger said:


> Will Pytivo push 264 mp4 programs to a Roamio pro? The Pytivo is the wmcbrine fork 2009 version with the updates probably dating to the early 2011.


The current version will certainly do that. I'm not going to look up what it did in 2011. You should use current code.


----------



## caddyroger

wmcbrine said:


> The current version will certainly do that. I'm not going to look up what it did in 2011. You should use current code.


I would not know how to start to install using the new codes.


----------



## lpwcomp

caddyroger said:


> I would not know how to start to install using the new codes.


 Stop pytivo. Download zip file from here.Unzip. Copy everything in pytivo-master into whatever directory you currently have pyTivo installed. Restart pyTivo.


----------



## bareyb

caddyroger said:


> I would not know how to start to install using the new codes.


Here's a step by step pictorial that might help. It's Mac centric, but the same general procedures apply:

http://www.tivocommunity.com/tivo-vb/showthread.php?t=483495


----------



## caddyroger

lpwcomp said:


> Stop pytivo. Download zip file from here.Unzip. Copy everything in pytivo-master into whatever directory you currently have pyTivo installed. Restart pyTivo.


Ok I went to https://github.com/wmcbrine/pytivo Downloaded the zip file on the right hand side. It was the master. Copied the the files to my pytivo folder and restarted the computer but I get this when open my videos.

This page cant be displayed

Make sure the web address http://localhost:9032 is correct.
Look for the page with your search engine.
Refresh the page in a few minutes

This this the version of Pytivo I am using pytivo-Wmcbrine-2009.13.09-RC1


----------



## lpwcomp

caddyroger said:


> Ok I went to https://github.com/wmcbrine/pytivo Downloaded the zip file on the right hand side. It was the master. Copied the the files to my pytivo folder and restarted the computer but I get this when open my videos.
> 
> This page cant be displayed
> 
> Make sure the web address http://localhost:9032 is correct.
> Look for the page with your search engine.
> Refresh the page in a few minutes
> 
> This this the version of Pytivo I am using pytivo-Wmcbrine-2009.13.09-RC1


this sounds like you were trying to access pyTivo via a browser and that it is not running.

What platform is this (windows, mac, linux)? How are you starting pyTivo?


----------



## caddyroger

lpwcomp said:


> this sounds like you were trying to access pyTivo via a browser and that it is not running.
> 
> What platform is this (windows, mac, linux)? How are you starting pyTivo?


I am running Windows 8.1 pro. The browser is IE11. Starting the way pytivo-Wmcbrine-2009.13.09-RC1. I believe it is localhost1032.


----------



## lpwcomp

caddyroger said:


> I am running Windows 8.1 pro. The browser is IE11. Starting the way pytivo-Wmcbrine-2009.13.09-RC1. I believe it is localhost1032.


You do not start it with "localhost:9032". Did someone else set this up for you initially?

Try this. Open up a command prompt. cd to the pyTivo directory. Enter "pyTivo.py". Post the output here. (to copy text from the command prompt window to the clipboard, left mouse on the upper left corner, select edit->mark. Click & drag to highlight the text, then edit->copy)


----------



## caddyroger

lpwcomp said:


> You do not start it with "localhost:9032". Did someone else set this up for you initially?
> 
> Try this. Open up a command prompt. cd to the pyTivo directory. Enter "pyTivo.py". Post the output here. (to copy text from the command prompt window to the clipboard, left mouse on the upper left corner, select edit->mark. Click & drag to highlight the text, then edit->copy)


Here is a screen shot of the Command prompt. I installed the program. After installing and in the pytivo folder there is a file called internet short cut. I just sent a copy to my desktop. I just click it and it takes to the web configuration with my now playing list.


----------



## HerronScott

caddyroger said:


> Here is a screen shot of the Command prompt. I installed the program. After installing and in the pytivo folder there is a file called internet short cut. I just sent a copy to my desktop. I just click it and it takes to the web configuration with my now playing list.


Caddy,

You did not cd to the pyTivo folder before running pyTivo.py in your screenshot.

Scott


----------



## lpwcomp

caddyroger said:


> Here is a screen shot of the Command prompt. I installed the program. After installing and in the pytivo folder there is a file called internet short cut. I just sent a copy to my desktop. I just click it and it takes to the web configuration with my now playing list.


All your internet shortcut does is bring up the web interface that enables you to change settings and initiate pulls from and pushes to your TiVos. It does _*not*_ start pyTivo. pyTivo must be running in order for it to work. That is why you are getting the message "This page cant be displayed". Your browser is trying to communicate with an app running on the local computer (localhost) communicating on port 9032, which is the port that oyTivo uses by default.



HerronScott said:


> Caddy,
> 
> You did not cd to the pyTivo folder before running pyTivo.py in your screenshot.
> 
> Scott


+1.


----------



## caddyroger

lpwcomp said:


> All your internet shortcut does is bring up the web interface that enables you to change settings and initiate pulls from and pushes to your TiVos. It does _*not*_ start pyTivo. pyTivo must be running in order for it to work. That is why you are getting the message "This page cant be displayed". Your browser is trying to communicate with an app running on the local computer (localhost) communicating on port 9032, which is the port that oyTivo uses by default.
> 
> +1.


How do you get pytivo started?


----------



## lpwcomp

caddyroger said:


> How do you get pytivo started?


For right now, just follow the directions I gave you.

I am assuming that the answer to my question is "Yes, someone else set it up for me initially." Any chance of getting that person to help you? This is a lot easier to do hands on.


----------



## wmcbrine

lpwcomp said:


> I am assuming that the answer to my question is "Yes, someone else set it up for me initially."


His references to "pytivo-Wmcbrine-2009.13.09-RC1" indicate that he started with Rdian's Windows Installer. A lot of people seem to get hung up on that. It wouldn't be so bad if Rdian had maintained it.


----------



## caddyroger

lpwcomp said:


> For right now, just follow the directions I gave you.
> 
> I am assuming that the answer to my question is "Yes, someone else set it up for me initially." Any chance of getting that person to help you? This is a lot easier to do hands on.


I did the pytivo install but using the 2009 version with the updates to fall of 2010. I can get that version to work but not have the new stuff.


----------



## caddyroger

wmcbrine said:


> His references to "pytivo-Wmcbrine-2009.13.09-RC1" indicate that he started with Rdian's Windows Installer. A lot of people seem to get hung up on that. It wouldn't be so bad if Rdian had maintained it.


Right that version I got to work with the updates to fall of 2010. I having a problem with the tivo master. I am not a technical person.


----------



## lpwcomp

caddyroger said:


> I did the pytivo install but using the 2009 version with the updates to fall of 2010. I can get that version to work but not have the new stuff.


Ah, Ok. But you do know where pyTivo is installed, correct? And you copied all of the files and directories from pytivo-master into that directory? IF that is the case, you need to try to start it manually from a command prompt using the steps I outlined. Get that to work and we can proceed from there.


----------



## caddyroger

lpwcomp said:


> Try this. Open up a command prompt. cd to the pyTivo directory. Enter "pyTivo.py". Post the output here. (to copy text from the command prompt window to the clipboard, left mouse on the upper left corner, select edit->mark. Click & drag to highlight the text, then edit->copy)


Is this where you was telling me how to start pytivo. If it is What is cd? in book for dummies how would I wrord it to work.
If you do want to help me I would not care. I know I am not that technical so I would under stand and will not get upset.


----------



## lpwcomp

caddyroger said:


> Is this where you was telling me how to start pytivo. If it is What is cd? in book for dummies how would I wrord it to work.
> If you do want to help me I would not care. I know I am not that technical so I would under stand and will not get upset.


cd is a command. it changes which directory you are in. Assuming that pyTivo is installed in C:\pyTivo, once you start the command prompt, the first thing you enter is

cd C:\pyTivo.

Then you enter

pyTivo.py

If everything is installed properly, pyTivo should start.


----------



## caddyroger

lpwcomp said:


> cd is a command. it changes which directory you are in. Assuming that pyTivo is installed in C:\pyTivo, once you start the command prompt, the first thing you enter is
> 
> cd C:\pyTivo.
> 
> Then you enter
> 
> pyTivo.py
> 
> If everything is installed properly, pyTivo should start.


Ok I get this screen now. Now how do I get to the my videos to be push or pulled screen screen? I tried using the internet short cut but I get "this page can not be displayed' when clicking my videos.


----------



## lpwcomp

caddyroger said:


> Ok I get this screen now. Now how do I get to the my videos to be push or pulled screen screen? I tried using the internet short cut but I get "this page can not be displayed' when clicking my videos.


Did you leave the command prompt open? If you close it, pyTivo will be shut down. You can minimize it, just don't close it.

Can you post your pyTivo.conf file (after editing it to xx out your user id and password)? edit It's in the the pyTivo directory.

I'm not sure why it is looking in C:\program files\bin for ffmpeg.exe.

Open a command prompt. cd to the pyTivo directory. enter "dir >lst.txt". Post the contents of lst.txt.

edit2: xx out the MAK also.


----------



## dlfl

Also, "program" is misspelled as "progra*r*m" (in the ffmpeg path).


----------



## lpwcomp

dlfl said:


> Also, "program" is misspelled as "progra*r*m" (in the ffmpeg path).


Which means that is what it is in pyTivo.conf


----------



## caddyroger

lpwcomp said:


> Did you leave the command prompt open? If you close it, pyTivo will be shut down. You can minimize it, just don't close it.
> 
> Can you post your pyTivo.conf file (after editing it to xx out your user id and password)? edit It's in the the pyTivo directory.
> 
> I'm not sure why it is looking in C:\program files\bin for ffmpeg.exe.
> 
> Open a command prompt. cd to the pyTivo directory. enter "dir >lst.txt". Post the contents of lst.txt.
> 
> edit2: xx out the MAK also.


I corrected the problem with the ffmpeg file. Here is the new command lines and a copy of my config.conf. I could not get the dir>lst.txt to work from the command prompt. So I attched the file from my pytivo folder


----------



## lpwcomp

caddyroger said:


> I corrected the problem with the ffmpeg file. Here is the new command lines and a copy of my config.conf. I could not get the dir>lst.txt to work from the command prompt. So I attched the file from my pytivo folder


Actually, it did work. That is how the file you attached got created. The ">" redirects the output of the command.

OK, with pyTivo running, do you still get the "page not found" when trying to access "localhost:9032"?

You might also try removing the "beacon = 192.168.1.25" from the conf file and restarting pyTivo.


----------



## caddyroger

lpwcomp said:


> Actually, it did work. That is how the file you attached got created. The ">" redirects the output of the command.
> 
> OK, with pyTivo running, do you still get the "page not found" when trying to access "localhost:9032"?
> 
> You might also try removing the "beacon = 192.168.1.25" from the conf file and restarting pyTivo.


Yes i still get the "this page can not be displayed. This the command afer removing the beacon.
I think I'll just give up on getting the new pytivo to work. The old one work but not like the new with all of the updates. Plus I could be asking to much from you guys.


----------



## lpwcomp

caddyroger said:


> Yes i still get the "this page can not be displayed. This the command afer removing the beacon.
> I think I'll just give up on getting the new pytivo to work. The old one work but not like the new with all of the updates. Plus I could be asking to much from you guys.


Before you give up, with the new pyTivo running, open an empty tab in a browser and enter "localhost:9032" (without the quotes)

Edit: There is something else that occurred to me: Windows 8 is persnickety about what you can and cannot do in the Program Files directory. You might consider putting it in C:\pyTivo instead.

edit2: When it is running, check "My Shows" on your TiVo to see if the share appears.


----------



## dlfl

lpwcomp said:


> .....
> Edit: There is something else that occurred to me: Windows 8 is persnickety about what you can and cannot do in the Program Files directory. You might consider putting it in C:\pyTivo instead.
> .....


+1

caddyroger, are you using the windows install instructions from the pyTivo wiki, here:
http://pytivo.sourceforge.net/wiki/index.php/Windows_Install
They include the recommendation not to install in the Program Files folders.
I strongly suspect this is your problem.


----------



## caddyroger

lpwcomp said:


> Before you give up, with the new pyTivo running, open an empty tab in a browser and enter "localhost:9032" (without the quotes)
> 
> Edit: There is something else that occurred to me: Windows 8 is persnickety about what you can and cannot do in the Program Files directory. You might consider putting it in C:\pyTivo instead.
> 
> edit2: When it is running, check "My Shows" on your TiVo to see if the share appears.


I tried just using c:\ptivo It just came back as "file not found.
I check for my videos on my tv their is none.


----------



## caddyroger

dlfl said:


> +1
> 
> caddyroger, are you using the windows install instructions from the pyTivo wiki, here:
> http://pytivo.sourceforge.net/wiki/index.php/Windows_Install
> They include the recommendation not to install in the Program Files folders.
> I strongly suspect this is your problem.


Yes I was using the "http://pytivo.sourceforge.net/wiki/index.php/Windows_Install". I was told just copy the master file to pytivo folder. I could be wrong in the way I read.
There was no instructions that I could find on installing it any other way.


----------



## lpwcomp

caddyroger said:


> I tried just using c:\ptivo It just came back as "file not found.
> I check for my videos on my tv their is none.


You have to create the directory then move (or copy) everything in the C:\Program Files\pyTivo directory to it.

Do this:

Stop pyTivo. Bring up "File Explorer". Select the C drive. Right mouse, select New->Folder. Name the folder pyTivo. Open the C:\Program Files\pyTivo folder. Select the pyTivo.conf file. It will be named pyTivo and have a *Type* of "CONF". Right mouse, select Copy. Open the CyTivo folder. Right mouse. Select paste. Open the pyTivo-master directory. Select everything in it. Right mouse. Select Copy. Open the C:\pyTivo directory again. Right mouse. Paste. After the operation completes, double click on the pyTivo.py file. It will be named pyTivo and have a *Type* of "Python File".

I really recommend removing the Beacon line from the pyTivo.conf.

Also see if anything named pyTivo or python is running as a service.

There's also the possibility of some Windows 8 firewall crap causing problems.

Ghod, I loathe Windows 8. AFAICT, it's designed to make it difficult to run anything other than M$ apps or at least M$ _*approved*_ apps.

As to the alternative to just go back to using the old version - I'm not sure that it will all that easy to do so.


----------



## dlfl

caddyroger said:


> Yes I was using the "http://pytivo.sourceforge.net/wiki/index.php/Windows_Install". I was told just copy the master file to pytivo folder. I could be wrong in the way I read.
> There was no instructions that I could find on installing it any other way.


 I don't see any reference to a "master file" in those instructions.


----------



## lpwcomp

dlfl said:


> I don't see any reference to a "master file" in those instructions.


I think he is talking about copying from the pytivo-master directory. I just read the instructions and they are actually deficient since the leave out this step and assume that all you have to do is extract them into the target directory. The problem is that it doesn't work that way, at least not on windows 8. You actually end up with a subdirectory, lately usually named pytivo-master, from which you must either move or copy everything. Or you can open the zip, then open the pytivo-maste directory within the zip, select everything and copy and paste it into the target directory.

Another problem is that the instructions are for an initial install, so they tell you to copy the pyTivo.conf.dist file to pyTivo.conf, which you obviously should not do for an update.


----------



## caddyroger

dlfl said:


> I don't see any reference to a "master file" in those instructions.


I down loaded it off wmcbrine pytivo from sourceforce. I have a a screen shot of it in my H folder. This where I got the files from. "h:\PYTIVO TEST\pytivo-master". I can not upload what that contains


----------



## caddyroger

lpwcomp said:


> You have to create the directory then move (or copy) everything in the C:\Program Files\pyTivo directory to it.
> 
> Do this:
> 
> Stop pyTivo. Bring up "File Explorer". Select the C drive. Right mouse, select New->Folder. Name the folder pyTivo. Open the C:\Program Files\pyTivo folder. Select the pyTivo.conf file. It will be named pyTivo and have a *Type* of "CONF". Right mouse, select Copy. Open the CyTivo folder. Right mouse. Select paste. Open the pyTivo-master directory. Select everything in it. Right mouse. Select Copy. Open the C:\pyTivo directory again. Right mouse. Paste. After the operation completes, double click on the pyTivo.py file. It will be named pyTivo and have a *Type* of "Python File".
> 
> I really recommend removing the Beacon line from the pyTivo.conf.
> 
> Also see if anything named pyTivo or python is running as a service.
> 
> There's also the possibility of some Windows 8 firewall crap causing problems.
> 
> Ghod, I loathe Windows 8. AFAICT, it's designed to make it difficult to run anything other than M$ apps or at least M$ _*approved*_ apps.
> 
> As to the alternative to just go back to using the old version - I'm not sure that it will all that easy to do so.


Ok I did that I get this now. I did remover the beacon from the pytivo.conf file.
I done tring this and going back to the old pytivo. Thanks for helping this not to techical person out.


----------



## lpwcomp

caddyroger said:


> Ok I did that I get this now. I did remover the beacon from the pytivo.conf file.
> I done tring this and going back to the old pytivo. Thanks for helping this not to techical person out.


Ok. Well, good luck with that.


----------



## dlfl

caddyroger said:


> Ok I did that I get this now. I did remover the beacon from the pytivo.conf file.
> I done tring this and going back to the old pytivo. Thanks for helping this not to techical person out.


Based on your command window image, pyTivo looked like it was working. Did you actually try a push or pull, or look for the shares on your tivo?


----------



## caddyroger

dlfl said:


> Based on your command window image, pyTivo looked like it was working. Did you actually try a push or pull, or look for the shares on your tivo?


Yes it does seems like it working. Here is the screen that shows up when entering localhost:9032. When I click on my videos that when I get the this " page can not be displayed"


----------



## lpwcomp

caddyroger said:


> Yes it does seems like it working. Here is the screen that shows up when entering localhost:9032. When I click on my videos that when I get the this " page can not be displayed"


That is a completely different problem.

Does the "E:\TO THE TIVO" directory actually exist?


----------



## caddyroger

lpwcomp said:


> That is a completely different problem.
> 
> Does the "E:\TO THE TIVO" directory actually exist?


Been that way for the last year


----------



## lpwcomp

caddyroger said:


> Been that way for the last year


The fact that originally, the path to ffmpeg.exe was wrong means you changed something. So please just check to make sure that there actually is a directory named TO THE TIVO on your E disk drive.


----------



## caddyroger

lpwcomp said:


> The fact that originally, the path to ffmpeg.exe was wrong means you changed something. So please just check to make sure that there actually is a directory named TO THE TIVO on your E disk drive.


Here is a screen shot of folder in explorer.


----------



## gonzotek

Sounds like a Windows File permissions problem. Is the E drive a shared network drive?


----------



## lpwcomp

caddyroger said:


> Here is a screen shot of folder in explorer.





gonzotek said:


> Sounds like a Windows File permissions problem. Is the E drive a shared network drive?


+1.

For some reason, pyTivo cannot access the directory.

You might try running it from a "Command Prompt (Admin)".


----------



## caddyroger

gonzotek said:


> Sounds like a Windows File permissions problem. Is the E drive a shared network drive?


I gave the e drive permission to every one in all 4 entries. I hope that is how to set up sharing. Like i have mention earlier The old set worked ok to push programs. It the newer one from the last years that I am have problems with.


----------



## caddyroger

lpwcomp said:


> +1.
> 
> For some reason, pyTivo cannot access the directory.
> 
> You might try running it from a "Command Prompt (Admin)".


How do you do that? put in book fo dummies form.


----------



## lpwcomp

caddyroger said:


> How do you do that? put in book fo dummies form.


The same way you did before, just open a "Command Prompt (Admin)" instead of a "Command Prompt".

As to why the old one worked, I suspect it was running as a service with admin privileges.


----------



## gonzotek

caddyroger said:


> How do you do that? put in book fo dummies form.


Make sure you stop the non-admin pytivo. Then open a File Explorer window and go to the pytivo directory. Then from the File Menu, you should see Open command prompt > Open command prompt as administrator.


Spoiler














 Open the command prompt as administrator, then startup pytivo.py as you have done before. If that gets things working you can continue to use it like that, or figure out the right permissions to give to the E:\To The Tivo directory so pyTivo can access it as non-admin.


----------



## caddyroger

gonzotek said:


> Make sure you stop the non-admin pytivo. Then open a File Explorer window and go to the pytivo directory. Then from the File Menu, you should see Open command prompt > Open command prompt as administrator.
> 
> 
> Spoiler
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Open the command prompt as administrator, then startup pytivo.py as you have done before. If that gets things working you can continue to use it like that, or figure out the right permissions to give to the E:\To The Tivo folder directory so pyTivo can access it as non-admin.


This is how the files are set up. It the same for for the tivo, to the tivo,and drive c.


----------



## lpwcomp

caddyroger said:


> This is how the files are set up. It the same for for the tivo, to the tivo,and drive c.


I've found that Windows 8 seems to be designed to make it difficult for you to do anything. It's like M$ attitude is "We know what's best and you _*really*_ don't want to do that, so we'll enforce the security we think is necessary no matter what your settings are."


----------



## caddyroger

Ok this what happening now. I attached a screen shot of the permissions I gave. Then I open command prompt with admin privileges. I get second screen shot. I open ie and enter localhost:9032 this screen will show up the 3 rd screen shot but then after clicking on my videos this will come up " this page can not be displayed".


----------



## lpwcomp

caddyroger said:


> Ok this what happening now. I attached a screen shot of the permissions I gave. Then I open command prompt with admin privileges. I get second screen shot. I open ie and enter localhost:9032 this screen will show up the 3 rd screen shot but then after clicking on my videos this will come up " this page can not be displayed".


Why are you still trying to run it from Program Files?


----------



## caddyroger

lpwcomp said:


> Why are you still trying to run it from Program Files?


This is how I enter it.

1 Open command with admin privileges 
2 Open ie
3 enter localhost:9032
4 click my videos. 
That as far I has I can get.


----------



## lpwcomp

caddyroger said:


> This is how I enter it.
> 
> 1 Open command with admin privileges
> 2 Open ie
> 3 enter localhost:9032
> 4 click my videos.
> That as far I has I can get.


What I am asking is why have you not installed pyTivo in its own directory. Start fresh.

Stop pyTivo.

Create C:\pyTivo

Copy pyTivo.conf from C:\Program Files\pyTivo to C:\pyTivo

Copy everything from pyTivo-master to C:\pyTivo

Start the pyTivo,py that is in C:\pyTivo _*not*_ the one that is in C:\Program Files\pyTivo.


----------



## caddyroger

lpwcomp said:


> What I am asking is why have you not installed pyTivo in its own directory. Start fresh.
> 
> Stop pyTivo.
> 
> Create C:\pyTivo
> 
> Copy pyTivo.conf from C:\Program Files\pyTivo to C:\pyTivo
> 
> Copy everything from pyTivo-master to C:\pyTivo
> 
> Start the pyTivo,py that is in C:\pyTivo _*not*_ the one that is in C:\Program Files\pyTivo.


I tried that yesterday with the same results. I'll it again later the computer I use for pytivo is in use is in use


----------



## caddyroger

lpwcomp said:


> What I am asking is why have you not installed pyTivo in its own directory. Start fresh.
> 
> Stop pyTivo.
> 
> Create C:\pyTivo
> 
> Copy pyTivo.conf from C:\Program Files\pyTivo to C:\pyTivo
> 
> Copy everything from pyTivo-master to C:\pyTivo
> 
> Start the pyTivo,py that is in C:\pyTivo _*not*_ the one that is in C:\Program Files\pyTivo.


I have a question that I might be misunderstanding.You said to stop pytivo. How do it check that? I always was rebooting the computer think that pytivo does not start when it is rebooted.


----------



## lpwcomp

caddyroger said:


> I have a question that I might be misunderstanding.You said to stop pytivo. How do it check that? I always was rebooting the computer think that pytivo does not start when it is rebooted.


The ones you start can be stopped by doing a Ctrl-c (hold down the "Ctrl" key and hit the "c" key) while in the command window in which it is running.

To see if it is running as a service, do a Ctrl-Alt-Del, select Task Manager, then select the "Services" tab select any service named "pyTivo" or "python", right mouse and select "Stop". I was going to suggest you do this anyway. Post here if you find any so named.


----------



## caddyroger

lpwcomp said:


> What I am asking is why have you not installed pyTivo in its own directory. Start fresh.
> 
> Stop pyTivo.
> 
> Create C:\pyTivo
> 
> Copy pyTivo.conf from C:\Program Files\pyTivo to C:\pyTivo
> 
> Copy everything from pyTivo-master to C:\pyTivo
> 
> Start the pyTivo,py that is in C:\pyTivo _*not*_ the one that is in C:\Program Files\pyTivo.


Ok this is what did just now . Check to see if pytvo or python is r.unning they are not
Open a command with admin rights.
Entered cd C:\pyTivo ehter then pytivo.py
Now I get this.
C:\pytivo>pytivo.py
Traceback (most recent call last):
File "C:\pytivo\pyTivo.py", line 15, in <module>
import httpserver
File "C:\pytivo\httpserver.py", line 16, in <module>
from Cheetah.Template import Template
File "C:\pytivo\Cheetah\Template.py", line 59, in <module>
from Cheetah.Compiler import Compiler, DEFAULT_COMPILER_SETTINGS
File "C:\pytivo\Cheetah\Compiler.py", line 35, in <module>
from Cheetah.Utils.Indenter import indentize # an undocumented preprocessor
ImportError: No module named Utils.Indenter

C:\pytivo>.

I think it is about time we quit on this ideal.
as least I did find out to copy and paste the command lines instead of using a print screen app.


----------



## lpwcomp

caddyroger said:


> Ok this is what did just now . Check to see if pytvo or python is r.unning they are not
> Open a command with admin rights.
> Entered cd C:\pyTivo ehter then pytivo.py
> Now I get this.
> C:\pytivo>pytivo.py
> Traceback (most recent call last):
> File "C:\pytivo\pyTivo.py", line 15, in <module>
> import httpserver
> File "C:\pytivo\httpserver.py", line 16, in <module>
> from Cheetah.Template import Template
> File "C:\pytivo\Cheetah\Template.py", line 59, in <module>
> from Cheetah.Compiler import Compiler, DEFAULT_COMPILER_SETTINGS
> File "C:\pytivo\Cheetah\Compiler.py", line 35, in <module>
> from Cheetah.Utils.Indenter import indentize # an undocumented preprocessor
> ImportError: No module named Utils.Indenter
> 
> C:\pytivo>.


This is one reason I wanted you to use this rather that the one in Program Files. There is something seriously wrong with your installation. When you unzipped the file you downloaded, did you tell it to retain the directory structure?



caddyroger said:


> I think it is about time we quit on this ideal.
> as least I did find out to copy and paste the command lines instead of using a print screen app.


That's up to you but bear in mind that it may not be easy to get back to where you were.


----------



## 951SoCal

Anyone else notice the MIND server is not working right now?



Code:


INFO:pyTivo:Last modified: Fri Jun 06 13:08:06 2014
INFO:pyTivo:Python: 2.7.7
INFO:pyTivo:System: Windows-7-6.1.7601-SP1
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:Roamio
INFO:pyTivo.beacon:TivoHD
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: MyMovies
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo.video.video:[12/Jun/2014 20:13:29] Queued "C:\Users\Ryan\Downloads\A
ir crash\Air Crash Investigations - Season 1\Air Crash Investigations - 1x02 - R
acing The Storm.avi" for Push to Roamio
INFO:pyTivo:127.0.0.1 [12/Jun/2014 20:13:29] "POST /TiVoConnect HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [12/Jun/2014 20:13:34] "GET /TiVoConnect?Command=QueryCont
ainer&Container=MyMovies/Air%20crash/Air%20Crash%20Investigations%20-%20Season%2
01&Format=text/html HTTP/1.1" 200 -

Just sits there.... tried 5 times now. Was working earlier today.


----------



## caddyroger

lpwcomp said:


> This is one reason I wanted you to use this rather that the one in Program Files. There is something seriously wrong with your installation. When you unzipped the file you downloaded, did you tell it to retain the directory structure?
> 
> That's up to you but bear in mind that it may not be easy to get back to where you were.


Guess i believe we got to work. I re downloaded the master file to one of my hard drives instead of network drive. The network drive was only showing 15 files but my pc drive showed 21 files. I copied the new tivo master to pytivo folder. I open the command up and it looked ok. I open the web page up and clicked my videos. It went to the my videos page. I haven't tried to upload but Ii will in a few minutes. Thanks for the help


----------



## lpwcomp

caddyroger said:


> Guess i believe we got to work. I re downloaded the master file to one of my hard drives instead of network drive. The network drive was only showing 15 files but my pc drive showed 21 files. I copied the new tivo master to pytivo folder. I open the command up and it looked ok. I open the web page up and clicked my videos. It went to the my videos page. I haven't tried to upload but Ii will in a few minutes. Thanks for the help


Glad to hear it.


----------



## aaronwt

I just did a quick install of PyTiVo and ffmpeg since I have been having issues recently with my Tivo Server from TiVo Desktop stopping. I don't know if it's becuase of the large amount of shows or what. I've also setup KMTTG.

But anyway. I have it setup and am able to transfer content back to my TiVos without issue.

But when I view the list of shows from the PC on the TiVo, it doesn't show up in groups. Is there some setting in PyTivo I need to enable to allow me to see the groups? I can turn groups on/off on the TiVo and it makes no difference.


----------



## wmcbrine

aaronwt said:


> But when I view the list of shows from the PC on the TiVo, it doesn't show up in groups.


The HDUI and the SDUI have separate grouping controls (and pyTivo shares are forced to SDUI mode). Press "2" while viewing the pyTivo share.


----------



## aaronwt

wmcbrine said:


> The HDUI and the SDUI have separate grouping controls (and pyTivo shares are forced to SDUI mode). Press "2" while viewing the pyTivo share.


Thanks. I tried it but that didn't do anything. It had the same effect as me changing the groups on/off on the options page. Only pressing "2" is a shortcut instead of going to that page. I know when I had the TiVo Server running groups would show up.

I only set this up to emulate what TiVo Desktop does. So KMTTG will transfer shows to the PC automatically and then I setup PyTiVo and ffmpeg so I could view the list of shows and transfer them back when needed. But without grouping the list is very large since I have around 650 shows in there right now.


----------



## wmcbrine

So to be clear, you're seeing the line "Groups sorted by date" (or "Groups sorted by name") at the bottom of the screen, and still _not_ seeing groups in the list? And, you _do_ have subdirectories (folders) within the pyTivo share?

Or... is this a flat directory full of .TiVo files, and you're relying on the internal metadata to group? Is that a thing TiVo Desktop does? pyTivo doesn't do that. It just reflects the operating system's directory structure.


----------



## aaronwt

wmcbrine said:


> So to be clear, you're seeing the line "Groups sorted by date" (or "Groups sorted by name") at the bottom of the screen, and still _not_ seeing groups in the list? And, you _do_ have subdirectories (folders) within the pyTivo share?
> 
> Or... is this a flat directory full of .TiVo files, and you're relying on the internal metadata to group? Is that a thing TiVo Desktop does? pyTivo doesn't do that. It just reflects the operating system's directory structure.


Yes just a folder full of shows, no sub-folders. TiVo Desktop would automatically put things in folders when you viewed them from a TiVo. But the folders didn't actually reside on the PC.

So it sounds like I need to manually put the shows in folders on the PC to see them in folders from the TiVo? Or is there a way to automate putting the shows in folders?


----------



## mickrussom

I keep getting 404s for videos Im attempting to push to Tivo Series3

INFOyTivo GET /TiVoConnect?Command=QueryItem&Url (url to video) 404

Example

INFOyTivo:192.168.0.203 [28/Jun/2014 07:55:11] "GET /TiVoConnect?Command=QueryItem&Url=http%3A%2F%2Fa%2Fb%3FContainer%3D%2FNowPlaying%26id%3D%2FMyMovies%2FWhisper%252
0Heart.mp4 HTTP/1.1" 404 -

This is driving me nuts, I just updated to latest.

This used to work, I had to update for some other reason, but now basic things dont work. I even regenerated all the the pyc.

INFOyTivo:Last modified: Thu Jun 19 09:35:44 2014
INFOyTivoython: 2.7.3
INFOyTivo:System: Windows-post2008Server-6.2.9200
INFOyTivo.beacon:Scanning for TiVos...
INFOyTivo.beacon:Announcing shares...
INFOyTivo.beacon:Registering: MyMovies
INFOyTivoyTivo is ready.
INFOyTivo:192.168.0.203 [28/Jun/2014 08:03:30] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFOyTivo:192.168.0.203 [28/Jun/2014 08:03:30] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFOyTivo:192.168.0.203 [28/Jun/2014 08:03:33] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFOyTivo:192.168.0.203 [28/Jun/2014 08:03:35] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -

INFOyTivo:192.168.0.203 [28/Jun/2014 08:04:00] "GET /TiVoConnect?Command=TVBusQuery&Container=MyMovies&File=%2FWhisperHeart.mp4 HTTP/1.1" 200 -
INFOyTivo:192.168.0.203 [28/Jun/2014 08:04:01] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFOyTivo:192.168.0.203 [28/Jun/2014 08:04:01] "GET /TiVoConnect?Command=QueryItem&Url=http%3A%2F%2Fa%2Fb%3FContainer%3D%2FNowPlaying%26id%3D%2FMyMovies%2FWhisperHear
t.mp4 HTTP/1.1" 404 -


----------



## wmcbrine

Um... QueryItem has always returned 404, because pyTivo doesn't implement it. (I did eventually add it for Photos and Music, but not Video.) Apart from the 404 in the log, its absence has no detectable effect. It's even less meaningful for push than for pulls, because on push requests, the TiVo doesn't even make TiVoConnect queries.

Are you having an actual problem pushing or pulling?


----------



## mickrussom

wmcbrine said:


> Are you having an actual problem pushing or pulling?


Pull (from video share on my compute to the Tivo) problem - This used to work , but now when I ask for the video to pushed it wont get into the ToDo list.

The only reason I looked at these 404s is that for some reason it went from working with a large directory full of files (30-40 videos), one day it did not want to take files off of this share (C:\Users\username\videos), so I tried a number of things and the best hack so far is to put one file in the video share dir at a time and then it seemed to work. I tried shortening the path, changing the names of the files to shorter names, etc. Cant figure it out.

It seems its choking on specific movies without ever getting to ffmpeg. These at the moment seem to be MP4. But this same movie was transferred before.

I converted it to MKV (from MP4) and its still the same. Seems im only able to transfer AVI?


----------



## lpwcomp

mickrussom said:


> Pull (from video share on my compute to the Tivo) problem - This used to work , but now when I ask for the video to pushed it wont get into the ToDo list.


I'm a bit confused. How are you initiating the transfer? By selecting the share in "My Shows" on the TiVo (which would be a pull) or by selecting it for push in pyTivo or vidmger?



mickrussom said:


> The only reason I looked at these 404s is that for some reason it went from working with a large directory full of files (30-40 videos), one day it did not want to take files off of this share (C:\Users\username\videos), so I tried a number of things and the best hack so far is to put one file in the video share dir at a time and then it seemed to work. I tried shortening the path, changing the names of the files to shorter names, etc. Cant figure it out.


Is it possible that one file is causing the problem? Have you tried splitting the videos into two different shares and seeing if the problem only occurs with one the other?


----------



## mickrussom

lpwcomp said:


> I'm a bit confused. How are you initiating the transfer? By selecting the share in "My Shows" on the TiVo (which would be a pull) or by selecting it for push in pyTivo or vidmger?
> 
> Is it possible that one file is causing the problem? Have you tried splitting the videos into two different shares and seeing if the problem only occurs with one the other?


Initiate the transfer from the Tivo by selecting the movie from a share.

Not sure, the video I am having trouble with was on the Tivo before and it was deleted by accident and Im trying to retransfer it.


----------



## lpwcomp

mickrussom said:


> Initiate the transfer from the Tivo by selecting the movie from a share.


Ok, that's a pull.



mickrussom said:


> Not sure, the video I am having trouble with was on the Tivo before and it was deleted by accident and Im trying to retransfer it.


Is there a metadata file associated with it?


----------



## mickrussom

lpwcomp said:


> Ok, that's a pull.
> 
> Is there a metadata file associated with it?


I don't see any files in the share other than the video itself.

Not sure if there is metadata on the Tivo.


----------



## wmcbrine

Tell us _exactly_ what happens. You see the video listed, you select it to transfer, and then...?


----------



## mickrussom

wmcbrine said:


> Tell us _exactly_ what happens. You see the video listed, you select it to transfer, and then...?


So normally the selected movie either goes into the queue or starts transferring.

In these cases the video is selected : Select transfer this recording : it thinks for a short amount of time (10-15 seconds) : then seems to complete putting the video in the queue.

If I go back to the video again it looks like I have not started transfer, so I can send this video into the queue again. I can keep sending this video back to the queue over and over and it never gets into the todo list or starts transferring.

(Normally once a transfer is queued up, the Tivo shows cancel the transfer option).

On the pytivo server side I dont see any new activity. I have waited over 10 mins to see it starting and it never does.


----------



## lpwcomp

mickrussom said:


> So normally the selected movie either goes into the queue or starts transferring.
> 
> In these cases the video is selected : Select transfer this recording : it thinks for a short amount of time (10-15 seconds) : then seems to complete putting the video in the queue.
> 
> If I go back to the video again it looks like I have not started transfer, so I can send this video into the queue again. I can keep sending this video back to the queue over and over and it never gets into the todo list or starts transferring.
> 
> (Normally once a transfer is queued up, the Tivo shows cancel the transfer option).
> 
> On the pytivo server side I dont see any new activity. I have waited over 10 mins to see it starting and it never does.


Can you post your pyTivo.conf file, after redacting sensitive information like Ids, passwords, MAK, etc.

I can't generate a 404, but I also can't figure out how that url is being generated. Translating the escape characters it is:

http://aëb?Conta iner=/NowPlaying&id=/MyMovies/WhisperHeart.mp4


----------



## wmcbrine

mickrussom said:


> In these cases the video is selected : Select transfer this recording : it thinks for a short amount of time (10-15 seconds) : then seems to complete putting the video in the queue.


Have you tried rebooting the TiVo?


----------



## bareyb

Not a huge deal, but I just got a new Roamio Pro and now PyTiVo doesn't show Sub Folders, only ALL my shows in a straight list. Is this a known thing, or is mine screwy?


----------



## lpwcomp

bareyb said:


> Not a huge deal, but I just got a new Roamio Pro and now PyTiVo doesn't show Sub Folders, only ALL my shows in a straight list. Is this a known thing, or is mine screwy?


Hit a "2" on the remote while viewing the share.


----------



## bareyb

lpwcomp said:


> Hit a "2" on the remote while viewing the share.


LOL. Thanks. Can I say I love you?


----------



## lpwcomp

bareyb said:


> LOL. Thanks. Can I say I love you?


Aw, shucks. Twarn't nuthin'.


----------



## lpwcomp

Anyone else having problems getting to the SourceForge pyTivo discussion forum index page.

I have been getting the following for the last few days:



Code:


An error has been encountered in accessing this page.

1. Server: pytivo.sourceforge.net
2. URL path: /forum/install/install.php
3. Error notes: NONE
4. Error type: 404
5. Request method: GET
6. Request query string: NONE
7. Time: 2014-06-30 20:47:32 UTC (1404161252)

Reporting this problem: The problem you have encountered is with a project web site hosted by SourceForge.net. This issue should be reported to the SourceForge.net-hosted project (not to SourceForge.net).

If this is a severe or recurring/persistent problem, please do one of the following, and provide the error text (numbered 1 through 7, above):

    Contact the project via their designated support resources.
    Contact the project administrators of this project via email (see the upper right-hand corner of the Project Summary page for their usernames) at [email protected]

If you are a maintainer of this web content, please refer to the Site Documentation regarding web services for further assistance.

NOTE: As of 2008-10-23 directory index display has been disabled by default. This option may be re-enabled by the project by placing a file with the name ".htaccess" with this line:

Options +Indexes


----------



## mickrussom

wmcbrine said:


> Have you tried rebooting the TiVo?


Yes, now Im going to try a clean linux VM and see if something clean can do the needful.


----------



## mickrussom

lpwcomp said:


> Can you post your pyTivo.conf file, after redacting sensitive information like Ids, passwords, MAK, etc.
> 
> I can't generate a 404, but I also can't figure out how that url is being generated. Translating the escape characters it is:
> 
> http://aëb?Conta iner=/NowPlaying&id=/MyMovies/WhisperHeart.mp4


pytivo.conf:

##############################################
[Server]
ffmpeg = C:\Users\admin\Programs\pytivo\plugins\video\ffmpeg.exe

[MyMovies]
path = C:\Users\admin\Programs\pytivo\videos
type = video
##############################################

Note: I also made the entire directory where pytivo is Everyone+Full Control


----------



## aaronwt

mickrussom said:


> pytivo.conf:
> 
> ##############################################
> [Server]
> ffmpeg = C:\Users\admin\Programs\pytivo\plugins\video\ffmpeg.exe
> 
> [MyMovies]
> path = C:\Users\admin\Programs\pytivo\videos
> type = video
> ##############################################
> 
> Note: I also made the entire directory where pytivo is Everyone+Full Control


This is how I setup pytivo recently. Based on the instructions that was included with it. But for clarification, I don't need to worry about any transcoding crap do I, as long as the content is something that the TiVo can decode natively? Like TiVo Desktop did?


----------



## mickrussom

wmcbrine said:


> Have you tried rebooting the TiVo?


Ok, rebooted, and I made a new machine with ubuntu 14.04 and used a ppa to install ffmpeg.

I git pulled latest pyTivo (wmcbrine) from github.

I have the following conf file, and I removed apparmor and iptables so no firewall and no selinux and no aparmor, same behavior.

here is the log attached. Same behavior, I cant get anything to go to the ToDo list on the Tivo Series 3.

Another bizarre note. MP4 and MKV files seem to not work period, but some AVIs get sent properly!


----------



## mickrussom

lpwcomp said:


> Can you post your pyTivo.conf file, after redacting sensitive information like Ids, passwords, MAK, etc.
> 
> I can't generate a 404, but I also can't figure out how that url is being generated. Translating the escape characters it is:
> 
> http://aëb?Conta iner=/NowPlaying&id=/MyMovies/WhisperHeart.mp4


Below in the thread is a log, a pytivo.conf and some more information. I installed a fresh ubuntu (I was originally trying this in windows). -no firewall, no iptables, no apparmor, run as root, and same issue - nothing goes into the todolist on the series 3.


----------



## aaronwt

What kind of transfer speeds are normal from the PC running PYTiVo to a Roamio Pro? I set up another share to have access to some MP4 video clips so I could pull them to my TiVos. I transferred a couple of the videos clips but the transfer rate history on the TiVo only showed around 40Mb/s speeds. Is that expected or should the transfer rates be higher?

And is there anyway to have videos stream to a Mini without first transferring it to the Roamio?


----------



## lpwcomp

mickrussom said:


> pytivo.conf:
> 
> ##############################################
> [Server]
> ffmpeg = C:\Users\admin\Programs\pytivo\plugins\video\ffmpeg.exe
> 
> [MyMovies]
> path = C:\Users\admin\Programs\pytivo\videos
> type = video
> ##############################################
> 
> Note: I also made the entire directory where pytivo is Everyone+Full Control


Well, if it were me, I'd put pyTivo in its own directory C:\pyTivo, put ffmpeg.exe in C:\pyTivo\bin, and put the recordings in C:\Videos. Windows has some strange ideas when it comes to access control to system directories.

Are you using a recent build of ffmpeg?


----------



## mickrussom

lpwcomp said:


> Well, if it were me, I'd put pyTivo in its own directory C:\pyTivo, put ffmpeg.exe in C:\pyTivo\bin, and put the recordings in C:\Videos. Windows has some strange ideas when it comes to access control to system directories.
> 
> Are you using a recent build of ffmpeg?


Ive done all that (used simple directories with "Everyone+FullControl", and tried this in Ubuntu as well with simple short paths (no spaces, etc)

Please note that some of these very videos were on the Tivo not long ago. I think a pyTivo upgrade did this but cannot pinpoint.

Also note that some videos do transfer, so the paths are not seemingly the issue. Ive renamed files that dont transfer with 8.3 files names to try and make them as simple as possible and the issue continues no matter the filename.

The issue seems to be around specifically some AVIs, all MP4s and all MKVs.

ffmpeg never even starts - the issue is the "transer this recording" doesnt put the video even on the todo list, but if I can can get the AVI into the todo list (the MKV and MP4 files never get into the ToDo list) the ffmpeg I'm using works fine.


----------



## lpwcomp

aaronwt said:


> What kind of transfer speeds are normal from the PC running PYTiVo to a Roamio Pro? I set up another share to have access to some MP4 video clips so I could pull them to my TiVos. I transferred a couple of the videos clips but the transfer rate history on the TiVo only showed around 40Mb/s speeds. Is that expected or should the transfer rates be higher?


Do you have "ts=on" in your pyTivo.conf? I pulled an H.264 mkv to my *base* Roamio this afternoon and got a rate of 82.74Mb/s



aaronwt said:


> And is there anyway to have videos stream to a Mini without first transferring it to the Roamio?


I don't believe so.


----------



## lpwcomp

mickrussom said:


> Ive done all that (used simple directories with "Everyone+FullControl", and tried this in Ubuntu as well with simple short paths (no spaces, etc)


Then why did you return to this rather odd setup? Simpler is better, particularly when trying to track down a problem.



mickrussom said:


> IPlease note that some of these very videos were on the Tivo not long ago. I think a pyTivo upgrade did this but cannot pinpoint.


In their current format? I don't think so.



mickrussom said:


> Also note that some videos do transfer, so the paths are not seemingly the issue. Ive renamed files that dont transfer with 8.3 files names to try and make them as simple as possible and the issue continues no matter the filename.


KISS is usually a good idea.



mickrussom said:


> The issue seems to be around specifically some AVIs, all MP4s and all MKVs.


Is there any way for William or me to get access to one of the "bad" videos?



mickrussom said:


> ffmpeg never even starts - the issue is the "transer this recording" doesnt put the video even on the todo list, but if I can can get the AVI into the todo list (the MKV and MP4 files never get into the ToDo list) the ffmpeg I'm using works fine.


pyTivo uses ffmpeg to get file info, not just for transcoding.


----------



## mickrussom

lpwcomp said:


> Then why did you return to this rather odd setup? Simpler is better, particularly when trying to track down a problem.
> 
> In their current format? I don't think so.
> 
> KISS is usually a good idea.
> 
> Is there any way for William or me to get access to one of the "bad" videos?
> 
> pyTivo uses ffmpeg to get file info, not just for transcoding.


1)
Its not odd - its as simple as possible

Current config:
[Server]
port=9032
ffmpeg=/usr/bin/ffmpeg
[MyMovies]
type=video
path=/videos

2) yes, they were on the tivo, I just watched Howl's moving castle the other day and I did not transcode it or futz with the file and it still plays on VLC.

3)

4) I'll upload them to mega.co.nz now.

5) If this is the case, I'm not seeing it logged on console (maybe this requires a debug flag), and the interesting thing here is the videos that dont transfer do have the right movie length information before transfer, so the Tivo knows how long this video should be before I try and transfer it now.


----------



## lpwcomp

mickrussom said:


> 1)
> Its not odd - its as simple as possible
> 
> Current config:
> [Server]
> port=9032
> ffmpeg=/usr/bin/ffmpeg
> [MyMovies]
> type=video
> path=/videos


I was referring to your setup on Windows.



mickrussom said:


> 2) yes, they were on the tivo, I just watched Howl's moving castle the other day and I did not transcode it or futz with the file and it still plays on VLC.


There is no way an avi was on the TiVo. Maybe you successfully transferred it previously, but it had to be transcoded.



mickrussom said:


> 4) I'll upload them to mega.co.nz now.


Are you in New Zealand?



mickrussom said:


> 5) If this is the case, I'm not seeing it logged on console (maybe this requires a debug flag), and the interesting thing here is the videos that dont transfer do have the right movie length information before transfer, so the Tivo knows how long this video should be before I try and transfer it now.


Are you running pyTivo as a service or from the command window?


----------



## mickrussom

lpwcomp said:


> Is there any way for William or me to get access to one of the "bad" videos?


Attached is a text file with urls to two of the video files not transferable.


----------



## mickrussom

lpwcomp said:


> There is no way an avi was on the TiVo. Maybe you successfully transferred it previously, but it had to be transcoded.
> 
> Are you in New Zealand?
> 
> Are you running pyTivo as a service or from the command window?


2) The videos that wont transfer now were transferred before - I was trying to convey that the movies have not been altered since they were last transferred.

3) No, I'm not in New Zealand, but mega.co.nz offers 50GB of free encrypted storage storage per email account and usually 2-5MB/sec upload and download rates so its a handy dropbox of sorts.

4) Command line only. Never needed to keep it on as a service.


----------



## lpwcomp

mickrussom said:


> 2) The videos that wont transfer now were transferred before - I was trying to convey that the movies have not been altered since they were last transferred.


I had no problems transferring either recording to to my Roamio or THD. I stopped both THD transfers as soon as I saw that things were OK since it would have taken too long to complete as they had to be transcoded and I'm planning on shutting down (don't need the heat) and hopping into the sack soon. The Roamio transfers completed normally.



mickrussom said:


> 3) No, I'm not in New Zealand, but mega.co.nz offers 50GB of free encrypted storage storage per email account and usually 2-5MB/sec upload and download rates so its a handy dropbox of sorts.


'k. Wasn't real happy with being forced to install a browser plugin but they seem to have an OK rep, so I did it.

At this point, the only thing I can suggest is to start with a completely fresh install, including an updated ffmpeg.


----------



## wmcbrine

I also had no problem with either of these files. Not that I expected this test to tell me much, since there's nothing in your log that even looks like an actual request for the files, and you made it clear that it didn't get to the point of transferring. Maybe a debug log would reveal something more, I dunno.

Have you tried putting one of the "problem" files into a share by itself?


----------



## aaronwt

lpwcomp said:


> Do you have "ts=on" in your pyTivo.conf? I pulled an H.264 mkv to my *base* Roamio this afternoon and got a rate of 82.74Mb/s
> 
> I don't believe so.


Thanks... I did not have this. I just added it to the server settings. It increased my transfer speeds to 66Mb/s. Still not as fast as I would like but much better. No idea though why my speeds are not as fast as yours though.

Hopefully the next TiVo software will get speeds back up to what they used to be. With KMTTG my transfer speeds are in the upper 80's to low 90's. While with the previous software my speeds easily exceeded 100Mb/s with transfers from the Roamio Pro.


----------



## mickrussom

lpwcomp said:


> 'k. Wasn't real happy with being forced to install a browser plugin but they seem to have an OK rep, so I did it.
> 
> At this point, the only thing I can suggest is to start with a completely fresh install, including an updated ffmpeg.


Firefox (29-30) and Chrome (~30+) do not require a plugin - its all HTML 5 based. You shouldnt need a plugin for mega - if you put a plugin in, it should be taken out.

The Linux install if the completely fresh install with ffmpeg 1.2.x from a ppa.

Is it possible if the tivo is completely full that it would not do this correctly? I know its full.


----------



## mickrussom

wmcbrine said:


> I also had no problem with either of these files. Not that I expected this test to tell me much, since there's nothing in your log that even looks like an actual request for the files, and you made it clear that it didn't get to the point of transferring. Maybe a debug log would reveal something more, I dunno.
> 
> Have you tried putting one of the "problem" files into a share by itself?


Ill try putting one of these files into a share by itself and see. Would an old tivo with no free space start to act strange?


----------



## lpwcomp

mickrussom said:


> Ill try putting one of these files into a share by itself and see. Would an old tivo with no free space start to act strange?


How old, i.e. what model? What do you mean by "no free space"? Maybe the error is generated when the TiVo tries to free up enough space to hold the _*calculated*_ size of the _*transcoded*_ recording.

Try manually freeing up enough space (including _*permanently*_ deleting items from "Recently deleted") keeping in mind that the transcoded recording is going to be _*much*_ larger than the source file.


----------



## mickrussom

lpwcomp said:


> How old, i.e. what model? What do you mean by "no free space"? Maybe the error is generated when the TiVo tries to free up enough space to hold the _*calculated*_ size of the _*transcoded*_ recording.
> 
> Try manually freeing up enough space (including _*permanently*_ deleting items from "Recently deleted") keeping in mind that the transcoded recording is going to be _*much*_ larger than the source file.


Tivo Series 3 (TCD648250B) with 11.0-m.

The tivo is full as it deletes stuff quite a bit now to make free space.


----------



## lpwcomp

mickrussom said:


> Tivo Series 3 (642) with 11.0-m.
> 
> The tivo is full as it deletes stuff quite a bit now to make free space.


Since there is no TiVp model 642, I assume that it is a typo and is actually a 6_*5*_2. In which case, it is same model as mine.

Edit: I suppose it could be a 648250.


----------



## wmcbrine

mickrussom said:


> Would an old tivo with no free space start to act strange?


Not unless there were a lot of programs marked keep-until-I-delete (the green circle).


----------



## mickrussom

wmcbrine said:


> Not unless there were a lot of programs marked keep-until-I-delete (the green circle).


Is there a way to get a debug output to see whats going on - why I can select these movies but they never get to the todo list?


----------



## mickrussom

lpwcomp said:


> Since there is no TiVp model 642, I assume that it is a typo and is actually a 6_*5*_2. In which case, it is same model as mine.
> 
> Edit: I suppose it could be a 648250.


Yes , its a TCD648250B


----------



## mickrussom

wmcbrine said:


> Not unless there were a lot of programs marked keep-until-I-delete (the green circle).


There are a ton of keep-until-I-delete (most of the tivo is green at the moment - when I poke arond using TivoDeskstop).

However, when I select all of the to transfer its only 496GB worth in 371 entries. There should be 1TB available in there. (WD10EVCS - not supersized). I guess im out of space ?


----------



## lpwcomp

mickrussom said:


> There are a ton of keep-until-I-delete (most of the tivo is green at the moment - when I poke arond using TivoDeskstop).
> 
> However, when I select all of the to transfer its only 496GB worth in 371 entries. There should be 1TB available in there. (WD10EVCS - not supersized). I guess im out of space ?


keep-until-I-delete means just that - keep it until I _*explicitly*_ delete it. So space taken up by KUID recordings is locked. The TiVo will _*never*_ delete those recordings on its own.

Also, as I stated previously, the transcoded recording that ends up on the TiVo will be _*much*_ larger than the file on the PC. The capacity of a 1TB drive is @157 hours of HD.


----------



## mickrussom

lpwcomp said:


> keep-until-I-delete means just that - keep it until I _*explicitly*_ delete it. So space taken up by KUID recordings is locked. The TiVo will _*never*_ delete those recordings on its own.
> 
> Also, as I stated previously, the transcoded recording that ends up on the TiVo will be _*much*_ larger than the file on the PC. The capacity of a 1TB drive is @157 hours of HD.


Question - are the sizes shown on the TivoDesktop app to transfer from the Tivo to the Desktop accurate, because I used the Tivo App and got the ~500GB number from the Tivo Desktop app, or do .tivo files on the tivo take up even more room?

Is there any way to tell if the tivo being full of keep-until-i-delete is causing something not to transfer?


----------



## lpwcomp

mickrussom said:


> Question - are the sizes shown on the TivoDesktop app to transfer from the Tivo to the Desktop accurate, because I used the Tivo App and got the ~500GB number from the Tivo Desktop app, or do .tivo files on the tivo take up even more room?


No idea. I don't use TD. pyTivo reports the size of "Mimi wo sumaseba" as 13.4GB. I just started a transfer to my THD. The length in the info for the entry in the NPL is 14.08GB.

edit: I'll report back when the xfer completes. Ir's gonna be a while.
edit2: Transfer complete. Reported size is 5.56GB. Sort of irrelevant. The TiVo has to create enough free space to hold the calculated maximum.



mickrussom said:


> Is there any way to tell if the tivo being full of keep-until-i-delete is causing something not to transfer?


There _*might*_ be an entry in "Recording History".


----------



## wmcbrine

mickrussom said:


> However, when I select all of the to transfer its only 496GB worth in 371 entries. There should be 1TB available in there. (WD10EVCS - not supersized). I guess im out of space ?


You're not out of space, but the TiVo thinks you are -- or will be, when taking into account upcoming recordings. (It gets really bad if you use KUID as a default setting for season passes, for instance.)

I recommend that you use KUID very sparingly, or not at all. Clear it from your existing recordings, and I feel confident your transfers will start working again. It's not a pyTivo thing, just a TiVo thing.


----------



## jcthorne

Got a quick question that has nagged me a bit. pyTivo is working fine on my systems. I can push or pull. but...

When going to MyShows on the Roamio and scroll down the list to where the pytivo shares are, they all show up but are grayed out. Selecting one still brings up the list of shows in the share, folders even work but why are they grayed out? Also, the list of shares show up with a DVR appended to each share name and old Tivo's that are no longer on my network and long gone show up in the list grayed out.

Any ideas how to fix some of these issues?


----------



## moyekj

To get rid of an older TiVo entry put the cursor over it and then use "clear" button to remove it.


----------



## wmcbrine

jcthorne said:


> When going to MyShows on the Roamio and scroll down the list to where the pytivo shares are, they all show up but are grayed out. Selecting one still brings up the list of shows in the share, folders even work but why are they grayed out?


http://www.tivocommunity.com/tivo-vb/showthread.php?t=495368
http://www.tivocommunity.com/tivo-vb/showthread.php?t=498303


----------



## mickrussom

wmcbrine said:


> You're not out of space, but the TiVo thinks you are -- or will be, when taking into account upcoming recordings. (It gets really bad if you use KUID as a default setting for season passes, for instance.)
> 
> I recommend that you use KUID very sparingly, or not at all. Clear it from your existing recordings, and I feel confident your transfers will start working again. It's not a pyTivo thing, just a TiVo thing.


Freeing up space and KUID tuning worked, thanks.

I keep seeing this traceback ;

Traceback (most recent call last):
File "/opt/pytivo/zeroconf.py", line 773, in run
self.readers[socket].handle_read()
File "/opt/pytivo/zeroconf.py", line 827, in handle_read
msg = DNSIncoming(data)
File "/opt/pytivo/zeroconf.py", line 407, in __init__
self.readOthers()
File "/opt/pytivo/zeroconf.py", line 454, in readOthers
domain = self.readName()
File "/opt/pytivo/zeroconf.py", line 518, in readName
raise "Bad domain name at " + str(off)
TypeError: exceptions must be old-style classes or derived from BaseException, not str

Everything is working though. thanks.


----------



## mickrussom

lpwcomp said:


> There _*might*_ be an entry in "Recording History".


Cleaning up old shows and tuning KUID helped.

Time to upgrade the Tivo, as 1TB seems like its very constrained.


----------



## innocentfreak

mickrussom said:


> Freeing up space and KUID tuning worked, thanks.
> 
> I keep seeing this traceback ;
> 
> Traceback (most recent call last):
> File "/opt/pytivo/zeroconf.py", line 773, in run
> self.readers[socket].handle_read()
> File "/opt/pytivo/zeroconf.py", line 827, in handle_read
> msg = DNSIncoming(data)
> File "/opt/pytivo/zeroconf.py", line 407, in __init__
> self.readOthers()
> File "/opt/pytivo/zeroconf.py", line 454, in readOthers
> domain = self.readName()
> File "/opt/pytivo/zeroconf.py", line 518, in readName
> raise "Bad domain name at " + str(off)
> TypeError: exceptions must be old-style classes or derived from BaseException, not str
> 
> Everything is working though. thanks.


I am seeing the same error. I saw it multiple times after a successful push. I also saw the message below after it.

File "C:\pyTiVo\wmcbrine\zeroconf.py", line 773, in run
self.readers[socket].handle_read()
File "C:\pyTiVo\wmcbrine\zeroconf.py", line 827, in handle_read
msg = DNSIncoming(data)
File "C:\pyTiVo\wmcbrine\zeroconf.py", line 407, in __init__
self.readOthers()
File "C:\pyTiVo\wmcbrine\zeroconf.py", line 454, in readOthers
domain = self.readName()
File "C:\pyTiVo\wmcbrine\zeroconf.py", line 502, in readName
length = ord(self.data[off])
IndexError: string index out of range


----------



## lpwcomp

innocentfreak said:


> I also saw the message below after it.
> 
> File "C:\pyTiVo\wmcbrine\zeroconf.py", line 773, in run
> self.readers[socket].handle_read()
> File "C:\pyTiVo\wmcbrine\zeroconf.py", line 827, in handle_read
> msg = DNSIncoming(data)
> File "C:\pyTiVo\wmcbrine\zeroconf.py", line 407, in __init__
> self.readOthers()
> File "C:\pyTiVo\wmcbrine\zeroconf.py", line 454, in readOthers
> domain = self.readName()
> File "C:\pyTiVo\wmcbrine\zeroconf.py", line 502, in readName
> length = ord(self.data[off])
> IndexError: string index out of range


I also saw this set. Absolutely nothing going on at the time. No transfers in either direction.


----------



## wmcbrine

innocentfreak said:


> I am seeing the same error. I saw it multiple times after a successful push. I also saw the message below after it.
> 
> File "C:\pyTiVo\wmcbrine\zeroconf.py", line 773, in run
> self.readers[socket].handle_read()
> File "C:\pyTiVo\wmcbrine\zeroconf.py", line 827, in handle_read
> msg = DNSIncoming(data)
> File "C:\pyTiVo\wmcbrine\zeroconf.py", line 407, in __init__
> self.readOthers()
> File "C:\pyTiVo\wmcbrine\zeroconf.py", line 454, in readOthers
> domain = self.readName()
> File "C:\pyTiVo\wmcbrine\zeroconf.py", line 502, in readName
> length = ord(self.data[off])
> IndexError: string index out of range


Something on your LANs is generating (what zeroconf.py considers to be) malformed zeroconf packets. But that probably has nothing to do with either pyTivo or any TiVo. I'd use something like Bonjour Browser or Avahi to try to figure out what was going on.


----------



## innocentfreak

wmcbrine said:


> Something on your LANs is generating (what zeroconf.py considers to be) malformed zeroconf packets. But that probably has nothing to do with either pyTivo or any TiVo. I'd use something like Bonjour Browser or Avahi to try to figure out what was going on.


I will have to look into it tonight then. The only thing I have changed was to pull the latest PyTiVo update since I hadn't updated recently, and I haven't seen the error before now.


----------



## aaronwt

How often should we update pyTiVo? I was having some kind of errors pop up from the version I was using that was months old. It had been fine and then the errors started happening last week. So I deleted everything and installed the newest version. So far things have been fine.


----------



## lpwcomp

Seeing something odd. Not bad, just odd.

I run two copies of pyTivo on the same machine, one on 9032 and the other on 9036.

I sometimes use a browser on my phone to access them. The odd thing I'm seeing is when I access the one running on 9032, looks just like it does on my PC. However, when I access the one on 9036, it appears to be formatted for a mobile device:


----------



## innocentfreak

One fork has a mobile interface. I don't remember whose fork though.


----------



## lpwcomp

innocentfreak said:


> One fork has a mobile interface. I don't remember whose fork though.


That would explain it. I'm running the lucansz fork on one the one that gets the mobile display.


----------



## wmcbrine

@mickrussom, innocentfreak, and lpwcomp: Please see this thread.


----------



## lpwcomp

wmcbrine said:


> @mickrussom, innocentfreak, and lpwcomp: Please see this thread.


Attempt to run with this version results in the following:



Code:


C:\pyTivo>pytivo.py
Traceback (most recent call last):
  File "C:\pyTivo\pyTivo.py", line 13, in <module>
    import beacon
  File "C:\pyTivo\beacon.py", line 9, in <module>
    import Zeroconf
ImportError: No module named Zeroconf

Fixed this by renaming the extracted file. Changed "z" to "Z".

Then got the following:



Code:


C:\pyTivo>pytivo.py
INFO:pyTivo:Last modified: Wed Jul 16 00:06:38 2014
INFO:pyTivo:Python: 2.7.6
INFO:pyTivo:System: Windows-8-6.2.9200
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:BR Premiere
INFO:pyTivo.beacon:JLS HD
INFO:pyTivo.beacon:Sandies Room
INFO:pyTivo.beacon:JLS Roamio
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: Nimitz Downloads
INFO:pyTivo.beacon:Registering: Nimitz Offload
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.1.104 [16/Jul/2014 00:07:42] "GET /TiVoConnect?Command=Query
Container&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.103 [16/Jul/2014 00:07:42] "GET /TiVoConnect?Command=Query
Container&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.105 [16/Jul/2014 00:07:42] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.107 [16/Jul/2014 00:07:42] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.107 [16/Jul/2014 00:07:42] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.105 [16/Jul/2014 00:07:42] "GET /TiVoConnect?Command=Query
Container&Container=Nimitz%20Downloads&ItemCount=0&SerialNum=74600119055800F HTT
P/1.1" 200 -
INFO:pyTivo:192.168.1.105 [16/Jul/2014 00:07:42] "GET /TiVoConnect?Command=Query
Container&Container=Nimitz%20Offload&ItemCount=0&SerialNum=74600119055800F HTTP/
1.1" 200 -
INFO:pyTivo:192.168.1.107 [16/Jul/2014 00:07:42] "GET /TiVoConnect?Command=Query
Container&Container=Nimitz%20Offload&ItemCount=0&SerialNum=846000190304FA2 HTTP/
1.1" 200 -
INFO:pyTivo:192.168.1.107 [16/Jul/2014 00:07:42] "GET /TiVoConnect?Command=Query
Container&Container=Nimitz%20Downloads&ItemCount=0&SerialNum=846000190304FA2 HTT
P/1.1" 200 -
INFO:pyTivo:192.168.1.105 [16/Jul/2014 00:07:42] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.107 [16/Jul/2014 00:07:42] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.105 [16/Jul/2014 00:07:42] "GET /TiVoConnect?Command=Query
Container&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
Traceback (most recent call last):
  File "C:\pyTivo\Zeroconf.py", line 772, in run
    self.readers[socket].handle_read()
  File "C:\pyTivo\Zeroconf.py", line 826, in handle_read
    msg = DNSIncoming(data)
  File "C:\pyTivo\Zeroconf.py", line 406, in __init__
    self.readOthers()
  File "C:\pyTivo\Zeroconf.py", line 453, in readOthers
    domain = self.readName()
  File "C:\pyTivo\Zeroconf.py", line 501, in readName
    length = ord(self.data[off])
IndexError: string index out of range
Traceback (most recent call last):
  File "C:\pyTivo\Zeroconf.py", line 772, in run
    self.readers[socket].handle_read()
  File "C:\pyTivo\Zeroconf.py", line 826, in handle_read
    msg = DNSIncoming(data)
  File "C:\pyTivo\Zeroconf.py", line 406, in __init__
    self.readOthers()
  File "C:\pyTivo\Zeroconf.py", line 453, in readOthers
    domain = self.readName()
  File "C:\pyTivo\Zeroconf.py", line 517, in readName
    raise "Bad domain name at " + str(off)
TypeError: exceptions must be old-style classes or derived from BaseException, n
ot str
Traceback (most recent call last):
  File "C:\pyTivo\Zeroconf.py", line 772, in run
    self.readers[socket].handle_read()
  File "C:\pyTivo\Zeroconf.py", line 826, in handle_read
    msg = DNSIncoming(data)
  File "C:\pyTivo\Zeroconf.py", line 406, in __init__
    self.readOthers()
  File "C:\pyTivo\Zeroconf.py", line 453, in readOthers
    domain = self.readName()
  File "C:\pyTivo\Zeroconf.py", line 501, in readName
    length = ord(self.data[off])
IndexError: string index out of range
Traceback (most recent call last):
  File "C:\pyTivo\Zeroconf.py", line 772, in run
    self.readers[socket].handle_read()
  File "C:\pyTivo\Zeroconf.py", line 826, in handle_read
    msg = DNSIncoming(data)
  File "C:\pyTivo\Zeroconf.py", line 406, in __init__
    self.readOthers()
  File "C:\pyTivo\Zeroconf.py", line 453, in readOthers
    domain = self.readName()
  File "C:\pyTivo\Zeroconf.py", line 501, in readName
    length = ord(self.data[off])
IndexError: string index out of range
Traceback (most recent call last):
  File "C:\pyTivo\Zeroconf.py", line 772, in run
    self.readers[socket].handle_read()
  File "C:\pyTivo\Zeroconf.py", line 826, in handle_read
    msg = DNSIncoming(data)
  File "C:\pyTivo\Zeroconf.py", line 406, in __init__
    self.readOthers()
  File "C:\pyTivo\Zeroconf.py", line 453, in readOthers
    domain = self.readName()
  File "C:\pyTivo\Zeroconf.py", line 501, in readName
    length = ord(self.data[off])
IndexError: string index out of range
Traceback (most recent call last):
  File "C:\pyTivo\Zeroconf.py", line 772, in run
    self.readers[socket].handle_read()
  File "C:\pyTivo\Zeroconf.py", line 826, in handle_read
    msg = DNSIncoming(data)
  File "C:\pyTivo\Zeroconf.py", line 406, in __init__
    self.readOthers()
  File "C:\pyTivo\Zeroconf.py", line 453, in readOthers
    domain = self.readName()
  File "C:\pyTivo\Zeroconf.py", line 501, in readName
    length = ord(self.data[off])
IndexError: string index out of range

Both errors occurring multiple times, particularly the IndexError. pyTivo doesn't crash but it isn't actually working either.


----------



## wmcbrine

lpwcomp said:


> Attempt to run with this version results in the following:
> 
> 
> 
> Code:
> 
> 
> C:\pyTivo>pytivo.py
> Traceback (most recent call last):
> File "C:\pyTivo\pyTivo.py", line 13, in <module>
> import beacon
> File "C:\pyTivo\beacon.py", line 9, in <module>
> import Zeroconf
> ImportError: No module named Zeroconf


Um, you're not running my latest version of pyTivo, then. No matter, I got what I needed here, thanks. zc2 coming...

(BTW, I'd rather you responded in the pyTivo Forum thread. This thread is cluttered enough.)


----------



## aaronwt

So is there a newer version that came out within the last two weeks?


----------



## wmcbrine

aaronwt said:


> So is there a newer version that came out within the last two weeks?


June 19th is the latest. It does not use an uppercase zeroconf.py.


----------



## eboydog

I'm having the same issue with pyTivo console displaying the string index out of range error, all of such was just out the blue. Was there any resolution to this?

Pytivo seems to be working ok, just receiving the series of the message repeatably.



> Traceback (most recent call last):
> File "D:\pytivo\Zeroconf.py", line 772, in run
> self.readers[socket].handle_read()
> File "D:\pytivo\Zeroconf.py", line 826, in handle_read
> msg = DNSIncoming(data)
> File "D:\pytivo\Zeroconf.py", line 406, in __init__
> self.readOthers()
> File "D:\pytivo\Zeroconf.py", line 453, in readOthers
> domain = self.readName()
> File "D:\pytivo\Zeroconf.py", line 501, in readName
> length = ord(self.data[off])
> IndexError: string index out of range


Tried the Bonjour browser to display the Bonjour service broadcasts on my network but I'm not sure what I'm looking for as all my Tivos appear including a HP print server that I have.


----------



## mattack

Is there a way I can have ts on on one share and it off on another? I really want to have the same path shared both with ts on and ts off. I want ts on to attempt to transport that way so I get captions.. but many shows won't transfer properly that way (the converter from mpeg back to ts doesn't work)..

I used to have a 'global user setting' of ts on.. So yesterday, I tried to remove that one, and make two separate shares for the same path, one with user setting ts on, and one without it.. But the user setting of ts on didn't seem to 'stick' since the recordings had no captions from the one with the setting supposedly on. Again, it DID work when I had that as a global setting.. (and turning ts to 'off' on one of the ones with the global setting on didn't work either.)

..and yes, I did save all changes and restart pytivo.. from the settings web page.


----------



## wmcbrine

It's only a global setting. I could change that... in the meantime, one thing you could do would be to run parallel pyTivo instances. Just give them each different ports and share names.

But I'd prefer to address "the converter from mpeg back to ts doesn't work". Please tell me more about this.


----------



## mattack

wmcbrine said:


> But I'd prefer to address "the converter from mpeg back to ts doesn't work". Please tell me more about this.


I described the issue previously in this thread:
http://www.tivocommunity.com/tivo-vb/showthread.php?p=10103200#post10103200

but I admit I didn't go back and do the *proper* test someone suggested (manually converting a file). I typoed the extension when I tried, and hadn't gotten back to it.

My "low tech" way of just turning on/off TS was working for now (and actually, I was also sometimes just transferring to my Tivo HD instead, which "just works" for captions.. sigh.. "progress")


----------



## wmcbrine

mattack said:


> but I admit I didn't go back and do the *proper* test someone suggested (manually converting a file).


That was me.


----------



## caddyroger

I have a question about pytivo. This is what I would like to do. I have about 50 shows of jag and counting. They are about 2 to 4 shows being down loaded to my tivo a day. The shows are in order by date. 1 show could be season 5 episode 4 the next one could season 8 episode 1. The third could be season 6 episode 12. The next day the will follow in order with the time slot. I would like to down load and arrange them so that will be sorted in order so I do not have to page down then go up to the next show that in order.
How can this be done?


----------



## lpwcomp

caddyroger said:


> I have a question about pytivo. This is what I would like to do. I have about 50 shows of jag and counting. They are about 2 to 4 shows being down loaded to my tivo a day. The shows are in order by date. 1 show could be season 5 episode 4 the next one could season 8 episode 1. The third could be season 6 episode 12. The next day the will follow in order with the time slot. I would like to down load and arrange them so that will be sorted in order so I do not have to page down then go up to the next show that in order.
> How can this be done?


How are they getting to the TiVo? Push or Pull?


----------



## caddyroger

lpwcomp said:


> How are they getting to the TiVo? Push or Pull?


Push


----------



## wmcbrine

caddyroger said:


> Push


You've got no hope, then. Push doesn't allow enough control over the metadata. You'll either have to transfer them in strict order, or use pull (together with something like "time: oad" in default.txt -- assuming that the originalAirDates are set).


----------



## caddyroger

wmcbrine said:


> You've got no hope, then. Push doesn't allow enough control over the metadata. You'll either have to transfer them in strict order, or use pull (together with something like "time: oad" in default.txt -- assuming that the originalAirDates are set).


Ok how and where do I put "time: oad" in default.txtput at?


----------



## cherry ghost

caddyroger said:


> Ok how and where do I put "time: oad" in default.txtput at?


In the metadata file, replace what follows

time :

with what follows

originalAirDate :

http://pytivo.sourceforge.net/wiki/index.php/Metadata#Example_Episodic_metadata


----------



## wmcbrine

No... just put "time: oad", exactly like that. In the default.txt.


----------



## lpwcomp

caddyroger said:


> Ok how and where do I put "time: oad" in default.txtput at?





cherry ghost said:


> In the metadata file, replace what follows
> 
> time :
> 
> with what follows
> 
> originalAirDate :
> 
> http://pytivo.sourceforge.net/wiki/index.php/Metadata#Example_Episodic_metadata


Using a text editor (notepad will do), create a file and put into it the line:



Code:


time : oad

save the file as "default.txt" to the folder on the PC where you have your videos.

What model TiVo do you have?

Note: Any recordings pulled to the TiVo will be in a different group from those pushed. They should in fact end up in the same group as those actually recorded.


----------



## caddyroger

lpwcomp said:


> Using a text editor (notepad will do), create a file and put into it the line:
> 
> 
> 
> Code:
> 
> 
> time : oad
> 
> save the file as "default.txt" to the folder on the PC where you have your videos.
> 
> What model TiVo do you have?
> 
> Note: Any recordings pulled to the TiVo will be in a different group from those pushed. They should in fact end up in the same group as those actually recorded.


It is a Roamio Pro


----------



## lpwcomp

caddyroger said:


> It is a Roamio Pro


What app do you use to generate the metadata? Or are you recording these episodes and getting the metadata from the TiVo?


----------



## caddyroger

lpwcomp said:


> What app do you use to generate the metadata? Or are you recording these episodes and getting the metadata from the TiVo?


 I am a newbie about this. The only thing I know is that I down load the files ether in mpg or tivo format. I know that is it in mpg there is no information of the program and tivo it does. This metadata thing is new to me. 
When they said just add "time : oad" I do not know where to put in. You wrote to use notepad To do th editing I did what you said I entered "time : oad" and saved as default.txt. I did a pull and it was the same as the tivo. I did a push and the shows went into a new tivo folder with out the episode but was not in order.


----------



## lpwcomp

caddyroger said:


> I am a newbie about this. The only thing I know is that I down load the files ether in mpg or tivo format. I know that is it in mpg there is no information of the program and tivo it does. This metadata thing is new to me.
> When they said just add "time : oad" I do not know where to put in. You wrote to use notepad To do th editing I did what you said I entered "time : oad" and saved as default.txt. I did a pull and it was the same as the tivo. I did a push and the shows went into a new tivo folder with out the episode but was not in order.


See here for an explanation of metadata files.

Ok. There is nothing you can do about .tivo files. As the name would imply, the default.txt file is for _*defauts*_. Since .tivo files have the metadata embedded, including the time the recording was made, it doesn't come into play.

About the only thing you can do is convert the .tivo files to .mpg but do not extract the metadata into the corresponding .txt file. Then use one of the available tools to create the metadata file. pyTivo will then use the default.txt file.


----------



## caddyroger

lpwcomp said:


> See here for an explanation of metadata files.
> 
> Ok. There is nothing you can do about .tivo files. As the name would imply, the default.txt file is for _*defauts*_. Since .tivo files have the metadata embedded, including the time the recording was made, it doesn't come into play.
> 
> About the only thing you can do is convert the .tivo files to .mpg but do not extract the metadata into the corresponding .txt file. Then use one of the available tools to create the metadata file. pyTivo will then use the default.txt file.


So I have to enter the data for each episode. I thought I could just enter ether the date or season and episode and be done with it.


----------



## lpwcomp

caddyroger said:


> So I have to enter the data for each episode. I thought I could just enter ether the date or season and episode and be done with it.


Well, there's nothing you can do for .tivo files. It always uses the embedded data. Even if there is a .tivo.txt file for it, it is ignored.

For other video formats, including .mpg, as I said there are tools you can use to generate the metadata files. You do not have to create them by hand.


----------



## lrhorer

caddyroger said:


> So I have to enter the data for each episode. I thought I could just enter ether the date or season and episode and be done with it.


I handle this using a script that does all the detail work for me. It does a lot of other things, but one of them is naming the files and marking the video as a TV series.

First of all, I use KMTTG to transfer the videos, convert them to .mpg, and download the associated metafiles, all to a temporary directory. After editing and converting the files to h.264 using VideoRedo, I run a script called "Verify", which allows me to audit / implement all the genre fields and then edit the series info if the script detects that it is a TV series. All I have to do is enter the season and episode number. The script then makes the necessary modifications to the metafile and renames the video using the format:

<Series Name> - <Season> - <Episode> - <Episode Name> (Recorded <DOW Month Day, Year <StationID>)

Here is the snippet of code that does the work:


Code:


echo $newName | grep -q "-"
if [[ $? -ne 0 ]]
then
        echo Done!
        exit
fi

echo -n Enter Series Season \& Episode? \(N\)
tput cub 2
read response < /dev/tty
if [[ "$response" == "Y" || "$response" == "y" ]]
then
        echo
        echo -n "Season Number:  "
        read Season < /dev/tty
        echo -n "Episode Number: "
        read Episode < /dev/tty
        SeriesPrefix=${newName%-*}
        SeriesSuffix=${newName#*-}
        SeriesName="$SeriesPrefix- S$Season E$Episode -$SeriesSuffix"
        [[ -a "$newName" ]] && mv "$newName" "$SeriesName"
        [[ -a "$newName.txt" ]] && mv "$newName.txt" "$SeriesName.txt"
        [[ -a "$newName.jpg" ]] && mv "$newName.jpg" "$SeriesName.jpg"

        grep -v "$newName" "$logFile" > "$logFile.tmp"
        echo "$SeriesName" >> "$logFile.tmp"
        sort $logFile.tmp > "$logFile"
fi

echo Done!

Here is a sample of the script running:


Code:


RAID-Server:/usr/share/VideoScribe# Verify nov
Usage note: --test or -t => test for verification only
Usage note: --force or -f => force processing of files
1) /RAID/Recordings/Nova/Nova - Big Energy Gamble, The (Recorded Wed Jan 21, 2009, KLRNDT2).mpg
2) /RAID/Recordings/Nova/Nova - Four Winged Dinosaur, The (Recorded Wed Feb 18, 2009, KLRNDT2).mpg
3) /RAID/Recordings/Nova/Nova - Spy Factory, The (Recorded Wed Feb 04, 2009, KLRNDT2).mpg
4) /RAID/Recordings/Nova/Nova - Einsteins Big Idea (Recorded Wed Sep 17, 2008, KLRNDT2).mpg
5) /RAID/Recordings/Nova/Nova - Secrets of the Samurai Sword (Recorded Wed Jun 25, 2008, KLRNDT2).mpg
6) /RAID/Recordings/Frost-Nixon (Recorded Sat Nov 07, 2009, MAXHD).mp4
7) /RAID/Recordings/G.I. Jane (Recorded Tue Nov 16, 2010, ENCR1H).mp4
8) /RAID/Recordings/Sweeney Todd - The Demon Barber of Fleet Street (Recorded Sat Nov 08, 2008, HBOHD).mp4
9) <Abort>
#? 1
Nova - Big Energy Gamble, The (Recorded Wed Jan 21, 2009, KLRNDT2).mpg

is this correct (Y)?

Renaming File...

Updating Links...

Nova - Big Energy Gamble, The (Recorded Wed Jan 21, 2009, KLRNDT2).mpg

vSeriesGenre : Documentary
vSeriesGenre : News

1) Action.....    9) Drama......  17) Musical....  25) Thriller...
2) Adventure..   10) Family.....  18) Mystery....  26) Tragedy....
3) Animated...   11) Fantasy....  19) Nature.....  27) War........
4) Biography..   12) Film_Noir..  20) Romance....  28) Western....
5) Classic....   13) Holiday....  21) Science....  29) Done
6) Comedy.....   14) Horror.....  22) SciFi.....
7) Crime......   15) MartialArts  23) Series.....
8) Documentary   16) Medicine...  24) Spies......
#? 8
#? 21
#? 23
#? 29
Documentary
Science
Series
Enter Series Season & Episode? (y)

Season Number:  36
Episode Number: 09
Done!

The resulting files:


Code:


Nova - S36 E09 - Big Energy Gamble, The (Recorded Wed Jan 21, 2009, KLRNDT2).mpg
Nova - S36 E09 - Big Energy Gamble, The (Recorded Wed Jan 21, 2009, KLRNDT2).mpg.jpg
Nova - S36 E09 - Big Energy Gamble, The (Recorded Wed Jan 21, 2009, KLRNDT2).mpg.txt

Contents of the Metafile:


Code:


title : NOVA
seriesTitle : NOVA
episodeTitle : The Big Energy Gamble
originalAirDate : 2009-01-20T00:00:00Z
description : Can California's ambitious plan to cut greenhouse gases actually succeed?
callsign : KLRNDT2
isEpisode : true
seriesId : SH003163
recordDate : 11912134
firstAlpha : N
vActor : Robert Krulwich
vProgramGenre : Documentary
vProgramGenre : Science
vProgramGenre : Series

If you want to see the entire script or want help with implementing something similar on your system, please post in the Linux thread stickied in this forum. If you are running Windows, something similar can probably be cobbled together.


----------



## lrhorer

caddyroger said:


> I would like to down load and arrange them so that will be sorted in order so I do not have to page down then go up to the next show that in order.
> How can this be done?


Reading this again, I'm not sure I follow. What do you mean by "...page down then go up to the next show that in order"?

Also, where, exactly, do you want this arrangement to be implemeted? What app are you using to push the videos to the TiVo?


----------



## lpwcomp

lrhorer said:


> Reading this again, I'm not sure I follow. What do you mean by "...page down then go up to the next show that in order"?
> 
> Also, where, exactly, do you want this arrangement to be implemeted? What app are you using to push the videos to the TiVo?


He wants them properly arranged _*on the TiVo*_.


----------



## caddyroger

lrhorer said:


> Reading this again, I'm not sure I follow. What do you mean by "...page down then go up to the next show that in order"?
> 
> Also, where, exactly, do you want this arrangement to be implemeted? What app are you using to push the videos to the TiVo?


Sorry about not being clearer. What I meant by the page down Is that i have to page all the way down the page to get to the bottom of the list. I then have to up one at a time to get to version and episode that in order. I have season 1 to 10 but not in order.
I have about 50 episode of Jag and Dr Quinn medicine woman that I have recorded. The shows are not recorded in order of the season and episode. I was wondering if their was an easy why of transferring them back to the Tivo that will be in the same folder but in order of season and episode no. I do use Kmttg to download the programs.


----------



## lrhorer

lpwcomp said:


> He wants them properly arranged _*on the TiVo*_.


I'm not entirely sure that is the case, but you may be right. That said, if the files are properly named, the OS should sort them correctly on the source directory, allowing them to be easily queued in proper order for delivery back to the TiVo for utilities - like pyTiVo - that rely on the sort from the OS. (Well, under Linux, anyway. I think it is the same for Windows, but I wouldn't know for certain.) Utilites such as vidmgr, which have database sorting of the files based in metadata or other criteria can sort the source directories any way they like. The bottom line is, if they show up in the desired order in the transfer software, then they will show up in the same order on the TiVo, as long as the user selects the transfers in the same order as displayed.


----------



## lrhorer

caddyroger said:


> Sorry about not being clearer. What I meant by the page down Is that i have to page all the way down the page to get to the bottom of the list.


On the TiVo, or on the app you are using to transfer back to the TiVo?



caddyroger said:


> I then have to up one at a time to get to version and episode that in order. I have season 1 to 10 but not in order.


Meaning they were not recorded / transferred to the TiVo in order, yes?
If you are using pyTiVo to transfer the files back to the TiVo, then it relies on the sort provided by the OS to list the files for push back to the TiVo. In order for this sort to be in-line with season and episode order, you will need to rename the files so they are naturally sorted by the OS that way. See above.

If you would care to use a utility such as vidmgr to transfer the videos, then it can, if you choose, sort them in any number of ways irrespective of the file names.



caddyroger said:


> I have about 50 episode of Jag and Dr Quinn medicine woman that I have recorded. The shows are not recorded in order of the season and episode.


Yes, I have every episode of JAG, and they were not recorded in order.



caddyroger said:


> I was wondering if their was an easy why of transferring them back to the Tivo that will be in the same folder but in order of season and episode no.


Well, there isn't a trivially easy way, but with a little bit of effort it can be arranged. One way, as I mentioned, is to name the files in episodic order. This can be either Season / Episode, or just numerical by episode.

From the OS:


Code:


/RAID/Recordings/JAG/JAG - S07 E09 - Dog Robber (Recorded Fri Feb 01, 2013, AXSTV).mp4
/RAID/Recordings/JAG/JAG - S07 E11 - Answered Prayers (Recorded Tue Jul 31, 2012, AXSTV).mp4
/RAID/Recordings/JAG/JAG - S07 E12 - Capital Crime (Recorded Wed Aug 01, 2012, AXSTV).mp4
/RAID/Recordings/JAG/JAG - S07 E13 - Code of Conduct (Recorded Wed Aug 01, 2012, AXSTV).mp4
/RAID/Recordings/JAG/JAG - S07 E14 - Odd Man Out (Recorded Thu Aug 02, 2012, AXSTV).mp4
/RAID/Recordings/JAG/JAG - S07 E15 - Head to Toe (Recorded Thu Aug 02, 2012, AXSTV).mp4
/RAID/Recordings/JAG/JAG - S07 E17 - Exculpatory Evidence (Recorded Fri Aug 03, 2012, AXSTV).mp4
/RAID/Recordings/JAG/JAG - S07 E18 - Hero Worship (Recorded Mon Aug 06, 2012, AXSTV).mp4
/RAID/Recordings/JAG/JAG - S07 E19 - First Casualty (Recorded Mon Aug 06, 2012, AXSTV).mp4
/RAID/Recordings/JAG/JAG - S07 E20 - Port Chicago (Recorded Tue Aug 07, 2012, AXSTV).mp4
/RAID/Recordings/JAG/JAG - S07 E21 - Tribunal (Recorded Tue Aug 07, 2012, AXSTV).mp4
/RAID/Recordings/JAG/JAG - S07 E22 - Defending His Honor (Recorded Wed Aug 08, 2012, AXSTV).mp4
/RAID/Recordings/JAG/JAG - S07 E23 - In Country (Recorded Wed Aug 08, 2012, AXSTV).mp4
/RAID/Recordings/JAG/JAG - S08 E01 - Critical Condition (Recorded Thu Aug 09, 2012, AXSTV).mp4
/RAID/Recordings/JAG/JAG - S08 E02 - The Promised Land (Recorded Fri Aug 10, 2012, AXSTV).mp4
/RAID/Recordings/JAG/JAG - S08 E03 - Family Business (Recorded Fri Aug 10, 2012, AXSTV).mp4
/RAID/Recordings/JAG/JAG - S08 E04 - Dangerous Game (Recorded Mon Aug 13, 2012, AXSTV).mp4
/RAID/Recordings/JAG/JAG - S08 E05 - In Thin Air (Recorded Mon Aug 13, 2012, AXSTV).mp4
/RAID/Recordings/JAG/JAG - S08 E06 - Offensive Action (Recorded Tue Aug 14, 2012, AXSTV).mp4

From pyTivo:


Code:


JAG: Dog Robber Harm continues to defend a lieutenant who claims bombing a U.S. Navy spy plane being held by the Chinese was the right thing to do; Mac investigates a charge of sexual harassment. 880 AXSTV 	4.46 GB 	Feb 05, 2013
JAG: Answered Prayers On Christmas Eve, Harm is left in charge of petty officer charged with larceny; the Navy is forced to round up reindeer that have wandered onto the airbase. 880 AXSTV 	2.31 GB 	Aug 01, 2012
JAG: Capital Crime A love triangle seems to be to blame for a female Navy officer's murder -- until Mac's psychic powers are unleashed and visions of a terrorist plot dance in his head. 880 AXSTV 	2.29 GB 	Aug 02, 2012
JAG: Code of Conduct Harm defends a Navy SEAL who disobeyed orders to rescue a comrade, resulting in the death of another officer. 880 AXSTV 	2.14 GB 	Aug 03, 2012
JAG: Odd Man Out Bud serves on the jury in a case that Harm defends and Mac prosecutes. 880 AXSTV 	2.35 GB 	Aug 03, 2012
JAG: Head to Toe Harm and Mac defend a female pilot stationed in Saudi Arabia who refuses to follow local laws of wearing traditional dress and veils. 880 AXSTV 	2.47 GB 	Aug 03, 2012
JAG: Exculpatory Evidence Charged with dereliction of duty for not defending a client effectively, Bud faces a career-ending court martial with Harm on his side and Sturgis prosecuting. 880 AXSTV 	4.85 GB 	Aug 04, 2012
JAG: Hero Worship Rabb defends a sailor accused of starting a fire aboard a destroyer, while Chegwidden helps a Medal of Honor winner excluded from a significant event. 880 AXSTV 	2.36 GB 	Aug 07, 2012
JAG: First Casualty Harm accuses a television reporter of disobeying military orders and botching a SEAL operation in Afghanistan. 880 AXSTV 	2.37 GB 	Aug 07, 2012
JAG: Port Chicago A sailor involved in a 1944 incident at a naval ammunition base asks that mutiny charges be removed from his record and those of his colleagues; Harm and Lt. Sims shop for houses. 880 AXSTV 	2.65 GB 	Aug 08, 2012
JAG: Tribunal Harm and Mac are prosecutors at the first military tribunal for a terrorist linked to the Sept. 11 attacks. 880 AXSTV 	2.97 GB 	Aug 08, 2012
JAG: Defending His Honor Harm defends a respected JAG judge (guest star Corbin Bernsen) accused of causing a car crash that injured another driver and killed her 6-month-old child; Webb continues the search for Kabir. 880 AXSTV 	2.24 GB 	Aug 09, 2012
JAG: In Country Lt. Cmdr. Teresa Coulter (Trisha Yearwood) joins Harm and Mac in Afghanistan to identify the remains of al-Qaida members. 880 AXSTV

Notice in both cases the list order is in the order of the original air dates, not by the recording dates.



caddyroger said:


> I do use Kmttg to download the programs


Set it to download the metafiles from now on. In the mean time, I suggest you create metafiles for the existing shows using metagenerator.

If you want to investigate vidmgr, it can sort the list in a vast number of different ways, including by OAD, file name, genre, actor, director, writer, etc. Once sorted, simply select the videos to transfer in screen order. Unfortunately, it won't do a batch transfer like pyTivo can.


----------



## lpwcomp

lrhorer,

There is absolutely no way to do what he wants done using push. For the episodes he has already recorded, yes. For newly recorded episodes, no.

Caddyroger,

Why just leave them on your computer until you want to watch them? Then you can organize them any way you wish.

Edit: Are you aware that you can use the "skip" button to immediately navigate to the bottom/top of a list?


----------



## lrhorer

lpwcomp said:


> There is absolutely no way to do what he wants done using push.


Funny, I do it all the time. In fact, I did it on Saturday. My sister wants to watch Falling Skies in the living room, so I transferred all this season's episodes from the theater to the server, trimmed the commercials, ran the Verify script against the videos, and pushed them back in episodic order. Now they show up on the living room Tivo in a separate folder, in episodic order, oldest at the top. Is that not what he wants?



lpwcomp said:


> For the episodes he has already recorded, yes. For newly recorded episodes, no.


In this context, what is the difference between an "already recorded" episode and a "newly recorded" episode? We seem to be talking about shows he has on his pyTivo server, ready to be pushed back to the TiVo.



lpwcomp said:


> Caddyroger,
> 
> Why just leave them on your computer until you want to watch them? Then you can organize them any way you wish.


A fair question. I suspect the answer might possibly be he wants to use push, but doesn't want to have to sit at the computer (or use a tablet device) to select the videos to watch. Certainly I don't want to have to gather the family together, traipse over to a PC with everyone looking over my shoulder, and try to select a movie to watch. Once again, vidmgr would be a solution to that, since one uses vidmgr from the TiVo.


----------



## lpwcomp

lrhorer said:


> Funny, I do it all the time. In fact, I did it on Saturday. My sister wants to watch Falling Skies in the living room, so I transferred all this season's episodes from the theater to the server, trimmed the commercials, ran the Verify script against the videos, and pushed them back in episodic order. Now they show up on the living room Tivo in a separate folder, in episodic order, oldest at the top. Is that not what he wants?


Lets say he pushes all 50 episodes of JAG he currently has in the correct order. It will be a mixture of seasons. Then he records an episode of say, season 5 that he does not have and goes through the same process. It will show up at the top of the list, not in the middle where it belongs.


----------



## caddyroger

Ok how easy is it to install vidmgr?


----------



## lrhorer

lpwcomp said:


> Lets say he pushes all 50 episodes of JAG he currently has in the correct order. It will be a mixture of seasons. Then he records an episode of say, season 5 that he does not have and goes through the same process. It will show up at the top of the list, not in the middle where it belongs.


That's true, yes, but in that case he could simply delete all the episodes on the TiVo and re-send them. You are perfectly correct there is no way for a user to sort the listing after the videos have been transferred to the TiVo.


----------



## lrhorer

caddyroger said:


> Ok how easy is it to install vidmgr?


Well, it's not terribly difficult. One must first get wmcbrine's HME for Python utility working. After that, one must simply copy the vidmgr files to a directory underneath the main HME for Python directory and modify the vidmgr.ini file to suit one's needs. After that, everything is handled by whatever targets are specified by vidmgr.ini - probbably mostly in the individual metafiles.

What I mean by that, for example, is one of my virtual shares is by Actor, so in vidmgr.ini I have the lines:



Code:


[Browse by Actor]
tags = vActor vGuestStar
groupby=alpha

Which produces a folder in the vidmgr app on the TiVo named "Browse by Actor". The vidmgr app then searches all the metafiles in the pyTivo shares for tags of vActor and vGuestStar. On the TiVo, all the actors specified in the metafiles are grouped alphabetically by first name and all the videos starring (or guest-starring) each specific actor are listed under the actor's name. Below is a view of the main screen of vidmgr, where you can see my virtual shares. I don't have a screen shot of the Browse by Actor virtual share at the moment. The numbers by each share indicate the number of share targets, not the number of videos. There are 11,316 different actors listed on one or more of each of the roughly 2100 videos on the server, but since I have groupby=alpha set, those are divided up into 26 folders (A - Z).





































The Browse by Year share does have videos as its target, so the numbers here represent the numbers of movies released in the specified year.


----------



## lpwcomp

caddyroger,

Another option is to organize them on the PC within the share folder as you wish, then *pull* them back to the TiVo when you need to.

As an example, I have a share that has a "TV" sub-folder. Within that, there are folders for each show. Within each show, there are folders for each season.

If you use one of the accepted naming conventions of <Series name>.S<Season number>E<Episode Number> (ex. Season 5, Episode 17 of JAG would have a filename of "JAG.S05E17.mpg") and add "force_alpha = on" to the share definition, then when viewing the sub-folder from the TiVo, they will be displayed in episode order, oldest one first.


----------



## lrhorer

lpwcomp said:


> caddyroger,
> 
> Another option is to organize them on the PC within the share folder as you wish, then *pull* them back to the TiVo when you need to.


Indeed, and it is a practical solution, and probably the simplest if your desire is for nothing more than you have stated in this thread, and you don't keep a very large number or a very large diversity of videos on your server.

The caveats are:
1. Keeping the files coded as MPEG-II results in transfers that are much slower than pushes if the file is coded to h.264. If the files are re-coded to h.264 in an MP4 container, they can push up to 4 times faster than the same file coded as MPEG-II.

1a. I'm not sure about the Romio, but Premiere Series III and below TiVos cannot pull h.264 files natively. In order to provide a pull, pyTivo has to recode an h.264 back to MPEG-II, which may slow the process down quite a bit.

2. MPEG-II files take up 50% more space than the same file coded as h.264, or perhaps even more.

3. The TiVo UI is exceedingly cumbersome, and much more so with large numbers of files. With the TiVo UI, getting to a movie whose name starts with Q or R can take several minutes on my server - about 2000 videos, and there are likely to be quite a few "Bongs!" along the way. (Seeking to Quigley Down Under on my TiVo HD just took 3 minutes 5 seconds. The Romio might be faster, I don't know. The same search on the same machine took 8 seconds using vidmgr.)

4. Vidmgr offers a much greater array of methods to categorize your videos than merely by date or file name. I searched for Quigley Down Under by name, but I could also have looked it up by Actor (Tom Selleck, Laura San Giocomo, Alan Rickman, etc.), by movie year (1990), by Director (Simon Wincer), by genre (Action Adventure, Romance, Western), etc.

5. Vidmgr offers more sophisticated navigation tools. For example, the TiVo UI will jump back-and-forth from the top of the list to the bottom if one presses the skip key. In Vidmgr, one can press 1 to jump to 10% down the list from the top, 2 to jump to 20%, 3 to 30%, etc.

6. As you can see above, vidmgr can display cover art.

7. Vidmgr offers merged info text. If you place a default.txt file in your ~/JAG/ directory with David James Elliot and Patrick Labyorteaux as vActor tags, then every episode of JAG will show to be starring those individuals. Put Catherine Bell in the default.txt file of ~/JAG/Season Two, ~/JAG/Season 3, etc, then she will appear as a star in every season other than one. Searching by actor for David or Patrick will bring up every JAG episode, while searching by actor for Catherine will only bring up seasons 2 - 10.

8. Of course, pushes require an interaction with the mind server. If it is down, vidmgr won't work.

9. Pulls can only be to the TiVo being watched. Like pyTiVo's web tool, vidmgr allows one to push any video to any TiVo in the house.

10. Considerably more metadata accompanies a pull than a push. The push protocol discards much of the metafile.

11. Being an HME app, vidmgr is accessed from the Showcases menu, rather than the Now Playing list. This means switching back to the NPL in order to view the videos after they have been selected for push.


----------



## Soapm

What would set the copyright flag on a show I pushed using pytivo?

I have a show that I am trying to find the tivoseriesid. In the old days I would push the show to my premier and let the mind server do it's thing then I could pull it back using kmttg and get the series id. This doesn't seem to be working, the shows I pushed are saying copyright protected and won't let me pull back the metadata to see the series id. Is there another way to see the series id without pulling it back?


----------



## moyekj

lrhorer said:


> 1a. I'm not sure about the Romio, put Premiere and below TiVos cannot pull h.264 files natively. In order to provide a pull, pyTivo has to recode an h.264 back to MPEG-II, which may slow the process down quite a bit.


 Actually series 4 and above TiVos (which include Premieres and Roamios) can pull h.264 in mpeg2 TS container. There's a pyTivo global property you can turn on to enable that:
ts = on
With that enabled if you pull a H.264 video in TS container pyTivo will transfer it as is. If it's in mp4 container and has compatible audio (ac3 or aac), pyTivo will simply remux to TS container as it transfers. i.e. You can pull H.264 videos using pyTivo without having to transcode to mpeg2. As you know pulls have advantages of more complete metadata support as well as not being marked copy protected on the destination TiVo as well as having better transfer speeds than PS container.


----------



## lrhorer

moyekj said:


> Actually series 4 and above TiVos (which include Premieres and Roamios) can pull h.264 in mpeg2 TS container. There's a pyTivo global property you can turn on to enable that:
> ts = on


Oh, that's right, I forgot. Does VideoRedo support a TS container? I've never messed with it.


----------



## lpwcomp

lrhorer said:


> 1a. I'm not sure about the Romio, put Premiere and below TiVos cannot pull h.264 files natively. In order to provide a pull, pyTivo has to recode an h.264 back to MPEG-II, which may slow the process down quite a bit.


While still true for a Series 3 (or earlier, but Series 3 was the first to have h.264 support at all), all you have to do is add "ts=on" to the global settings section of pyTivo and pulls of h.264 recordings to either a Premiere or Roamio are at least as fast as a push since they are merely re-muxed rather than transcoded.

One advantage push does have in a household that includes Minis is that a push can be initiated using a smart phone via a browser connection to pyTivo.

OTOH, an advantage that pull has for people who use a Stream or the built-in stream of the Roamio Pro or Plus is that a pushed video is marked copy protected.

edit: beaten to the punch.


----------



## moyekj

lrhorer said:


> Does VideoRedo support a TS container? I've never messed with it.


 Yes.


----------



## lpwcomp

lrhorer said:


> Does VideoRedo support a TS container? I've never messed with it.


Yes it does. There is even an "H.264 TiVo-TS (Premiere) (*.tivo)" type. I've never used it though. I just use a modified MP4 or MKV, depending on the quality of the source and the destination for which it is intended.


----------



## wmcbrine

Soapm said:


> What would set the copyright flag on a show I pushed using pytivo?


TiVo Inc. software... either on the TiVo itself, or mind.tivo.com, I'm not entirely sure.



> _In the old days I would push the show to my premier and let the mind server do it's thing then I could pull it back using kmttg and get the series id._


Push has _always_ resulted in the transfers being marked as copy-prohibited. You're misremembering.



> _Is there another way to see the series id without pulling it back?_


Sure... but first, let me ask: What do you want it for? Note that you can't use the seriesId from a push with further pushes, although you _may_ be able to use it with pulls.

You can get the seriesId the same way pyTivo does, from the XML provided by the TiVo:



Code:


https://192.168.1.71/TiVoConnect?Command=QueryContainer&Container=%2FNowPlaying

(Replace "192.168.1.71" with the IP of your TiVo. User name "tivo", password is your MAK.)


----------



## Soapm

wmcbrine said:


> Push has _always_ resulted in the transfers being marked as copy-prohibited. You're misremembering.


Right you are, it looks like I had some instructions to extract the series id's into a text file. After searching, I believe I got the instructions from a zap2it thread but the steps are not lost to the ages.



wmcbrine said:


> Sure... but first, let me ask: What do you want it for? Note that you can't use the seriesId from a push with further pushes, although you _may_ be able to use it with pulls.


Exactly, I only do pulls with this one exception of creating a series id for one not found in Matagenerator. It's been a while since I ran across this and forgot how to do it.



wmcbrine said:


> You can get the seriesId the same way pyTivo does, from the XML provided by the TiVo:
> 
> 
> 
> Code:
> 
> 
> https://192.168.1.71/TiVoConnect?Command=QueryContainer&Container=%2FNowPlaying
> 
> (Replace "192.168.1.71" with the IP of your TiVo. User name "tivo", password is your MAK.)


Can you remind me what the user/password are. I believe one is the MAK but I can't figure out the other.


----------



## moyekj

Soapm said:


> What would set the copyright flag on a show I pushed using pytivo?
> 
> I have a show that I am trying to find the tivoseriesid. In the old days I would push the show to my premier and let the mind server do it's thing then I could pull it back using kmttg and get the series id. This doesn't seem to be working, the shows I pushed are saying copyright protected and won't let me pull back the metadata to see the series id. Is there another way to see the series id without pulling it back?


 Since you're using kmttg, you don't need to download metadata or other trickier means to get SeriesId. Simply right click on a show in kmttg table and select "Display data" (or use bindkey j) to dump information to message window which will include SeriesId.
(NOTE: For series 4 or higher TiVos don't use RPC option to get NPL since RPC data doesn't have SeriesId).


----------



## lpwcomp

Soapm said:


> Exactly, I only do pulls with this one exception of creating a series id for one not found in Matagenerator. It's been a while since I ran across this and forgot how to do it.


There are times when the only reason that Metagenerator (or pyTivoMetaThis) can't find the seriesId is that no one has bothered to add it to thetvdb. If that is the case, you can obtain it manually from zap2it and, if you want to be a "good citizen", add it to thetvdb yourself.

Edit: I"m glad I played around with Soapm's method for getting a seriesId where zap2it doesn't have one. I got some interesting results when I used the generated seriesId for pull. More later. Too tired now.


----------



## innocentfreak

I am trying to setup a new install of PyTiVo on a friend's machine. I keep getting the following error when I try to push.



Code:


ERROR:pyTivo.video.video:<error>[CODE]badCookie

<debug>1</debug><text>Sess
ion cannot be authenticated; try login again</text></error>[/code]

Am I missing something or is Mind just down? I tried google, but it only found old results which seemed to point to mind being down. Of course TiVo Status shows everything operational.


----------



## lpwcomp

innocentfreak said:


> I am trying to setup a new install of PyTiVo on a friend's machine. I keep getting the following error when I try to push.
> 
> 
> 
> Code:
> 
> 
> ERROR:pyTivo.video.video:<error>[CODE]badCookie
> 
> <debug>1</debug><text>Sess
> ion cannot be authenticated; try login again</text></error>[/code]
> 
> Am I missing something or is Mind just down? I tried google, but it only found old results which seemed to point to mind being down. Of course TiVo Status shows everything operational.


Assuming that you installed the latest version of pyTivo, have user, pw, and MAK set correctly, then yes, it is most likely a (hopefully temporary) problem with the mind server. Haven't had any problems myself recently and I push at least one recording to a remote TiVo just about every day, but I have seen times where some people are having problems while others are not.


----------



## lpwcomp

lpwcomp said:


> Edit: I"m glad I played around with Soapm's method for getting a seriesId where zap2it doesn't have one. I got some interesting results when I used the generated seriesId for pull. More later. Too tired now.


I was planning on doing some additional testing but I haven't been feeling very well the last few days. Maybe some other adventurous soul will do some.

Anyway, here is the interesting thing:

I recently, shall we say acquired, all of the episodes of a British series called "Hetty Wainthropp Investigates". I generated metadata for all of the episodes (using pyTivoMetaThis). I got no seriesId (wasn't really expecting one). I pushed the first episode to my Premiere. Using the kmttg "Display data", I determined that it had gotten a seriesId of BS1526459760. I created this default.txt file:



Code:


displayMajorNumber : 756
callsign : BBCAHD
showingBits : 4096
seriesId : BS1526459760

then pulled episodes 1&2 to my Premiere. Here's where it gets interesting. Not only did they group together, the series graphic was there, Season and Episode numbers were there, and I was able to "Explore this show". kmttg shows a seriesId of SH264004, and programIds of 000000000000.


----------



## innocentfreak

lpwcomp said:


> Assuming that you installed the latest version of pyTivo, have user, pw, and MAK set correctly, then yes, it is most likely a (hopefully temporary) problem with the mind server. Haven't had any problems myself recently and I push at least one recording to a remote TiVo just about every day, but I have seen times where some people are having problems while others are not.


It seems to be working now. I think since it was late I forgot to add the exceptions to the windows firewall.


----------



## Soapm

lpwcomp said:


> If that is the case, you can obtain it manually from zap2it and, *if you want to be a "good citizen", add it to thetvdb yourself*..


****OFF TOPIC****

Sorry to post this here but this is where it was mentioned, I created a thetvDB account but don't see how to add series id's or how to add episodes to existing series.

I don't have coding skills but this is an area where I can gladly contribute... If I can figure out how :up:


----------



## lpwcomp

Soapm said:


> ****OFF TOPIC****
> 
> Sorry to post this here but this is where it was mentioned, I created a thetvDB account but don't see how to add series id's or how to add episodes to existing series.
> 
> I don't have coding skills but this is an area where I can gladly contribute... If I can figure out how :up:


No coding skills required. Login to your account, navigate to the main page for the series,select "edit" from the "show/hide edit" line, enter the value in the correct field, save series.


----------



## Soapm

lpwcomp said:


> No coding skills required. Login to your account, navigate to the main page for the series,select "edit" from the "show/hide edit" line, enter the value in the correct field, save series.


Let me clarify... I meant no coding skills to add to the different projects here like pytivo or kmttg...

I don't see a field called tivo series id, can you advise where the number goes? What the field name is? I experimented and tried different fields but none displayed the id using metagenerator. I don't want to mess things up.


----------



## lpwcomp

Soapm said:


> Let me clarify... I meant no coding skills to add to the different projects here like pytivo or kmttg...
> 
> I don't see a field called tivo series id, can you advise where the number goes? What the field name is? I experimented and tried different fields but none displayed the id using metagenerator. I don't want to mess things up.


It's "Zap2it / SchedulesDirect ID".


----------



## Soapm

lpwcomp said:


> It's "Zap2it / SchedulesDirect ID".


Thanks... I guess it takes a few minutes before they appear in metagenerator. I need to learn patience.

Now to return you all to your regular programing... sorry to go off topic.


----------



## mattack

wmcbrine said:


> You could undo the ts=on setting, since the remux is failing. (Yes, then you'd lose captions.)
> 
> From the command line, try this:
> 
> ffmpeg -i filename.mpg -vcodec copy -acodec copy -fflags +genpts newfile.ts
> 
> and then try transferring that new file.


ok, here's the output for a file that's having the problem.. (this is the first time I remember a HD recording having the problem).

zzz-2865:Reckless local2$ ffmpeg -i 08_24_2014\ When\ the\ Smoke\ Clears\ 108.mpg -vcodec copy -acodec copy -fflags +genpts newfile.ts
ffmpeg version 2.0.2 Copyright (c) 2000-2013 the FFmpeg developers
built on Oct 9 2013 10:18:52 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
configuration: --prefix=/Volumes/Ramdisk/sw --enable-gpl --enable-pthreads --enable-version3 --enable-libspeex --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-filters --enable-libgsm --arch=x86_64 --enable-runtime-cpudetect
libavutil 52. 38.100 / 52. 38.100
libavcodec 55. 18.102 / 55. 18.102
libavformat 55. 12.100 / 55. 12.100
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 79.101 / 3. 79.101
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100
[mpeg2video @ 0x7fbb3981ee00] Invalid frame dimensions 0x0.
Last message repeated 6 times
Input #0, mpeg, from '08_24_2014 When the Smoke Clears 108.mpg':
Duration: 00:59:57.28, start: 0.642122, bitrate: 11948 kb/s
Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
Output #0, mpegts, to 'newfile.ts':
Metadata:
encoder : Lavf55.12.100
Stream #0:0: Video: mpeg2video, yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 29.97 fps, 90k tbn, 29.97 tbc
Stream #0:1: Audio: ac3, 48000 Hz, 5.1(side), 384 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[mpegts @ 0x7fbb3909d000] first pts value must be set
av_interleaved_write_frame(): Invalid data found when processing input
zzz-2865:Reckless local2$


----------



## wmcbrine

Sorry, it turns out you actually need to put "-fflags +genpts" earlier in the command line. Try right after "ffmpeg".


----------



## mattack

wmcbrine said:


> Sorry, it turns out you actually need to put "-fflags +genpts" earlier in the command line. Try right after "ffmpeg".


Well, that worked. It created a file that I then was able to open. So I'm not sure why it's not working with pytivo, with this and some other files.. Is it this:
[mpeg2video @ 0x7fa831800000] Invalid frame dimensions 0x0.
Last message repeated 6 times

If so, is there any way to work around it?

$ ffmpeg -fflags +genpts -i 08_24_2014\ When\ the\ Smoke\ Clears\ 108.mpg -vcodec copy -acodec copy newfile.ts
ffmpeg version 2.0.2 Copyright (c) 2000-2013 the FFmpeg developers
built on Oct 9 2013 10:18:52 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
configuration: --prefix=/Volumes/Ramdisk/sw --enable-gpl --enable-pthreads --enable-version3 --enable-libspeex --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-filters --enable-libgsm --arch=x86_64 --enable-runtime-cpudetect
libavutil 52. 38.100 / 52. 38.100
libavcodec 55. 18.102 / 55. 18.102
libavformat 55. 12.100 / 55. 12.100
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 79.101 / 3. 79.101
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100
[mpeg2video @ 0x7fa831800000] Invalid frame dimensions 0x0.
Last message repeated 6 times
Input #0, mpeg, from '08_24_2014 When the Smoke Clears 108.mpg':
Duration: 00:59:57.28, start: 0.642122, bitrate: 11948 kb/s
Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
Output #0, mpegts, to 'newfile.ts':
Metadata:
encoder : Lavf55.12.100
Stream #0:0: Video: mpeg2video, yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 29.97 fps, 90k tbn, 29.97 tbc
Stream #0:1: Audio: ac3, 48000 Hz, 5.1(side), 384 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[mpeg @ 0x7fa831018600] Invalid timestamps stream=0, pts=393303, dts=399309, size=65404
...the rest of the actual progress...


----------



## wmcbrine

Well, because that option isn't in pyTivo.  Yet.


----------



## mattack

wmcbrine said:


> Well, because that option isn't in pyTivo.  Yet.


ok, so you mean that'll fix the issue for me? So, can you explain exactly what the problem is that I'm having now? Is that it's trying to do a 'raw' conversion that's failing, and your new option is doing a reencoding, or something?

Also, how can I even tell which version of pytivo I have? There doesn't seem to be a -v or --version option. This stems from recent discussion by others.. I don't think I even have the latest version, but I couldn't tell.


----------



## Soapm

I have pytivo running on a headless Debian box and it's been fine for years but of late I'm not seeing the shares on my Tivo Premier. I see them and they work fine on my TivoHD, but the premier no longer has my shares listed on the bottom.

This is something I found in the logs and didn't know if it meant anything or not???



 Code:


INFO:pyTivo:192.168.0.191 [27/Sep/2014 03:03:13] "GET /TiVoConnect?Command=QueryContainer&Container=Torrent&ItemCount=0&SerialNum=746000190317E5C HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [27/Sep/2014 03:03:33] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&ItemCount=0&SerialNum=746000190317E5C HTTP/1.1" 200 -
ERROR:pyTivo:Exception during request from ('192.168.0.191', 42736)
Traceback (most recent call last):
  File "/usr/lib/python2.7/SocketServer.py", line 593, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/pyTivo/httpserver.py", line 91, in __init__
    client_address, server)
  File "/usr/lib/python2.7/SocketServer.py", line 649, in __init__
    self.handle()
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "/pyTivo/httpserver.py", line 126, in do_GET
    self.handle_query(query, tsn)
  File "/pyTivo/httpserver.py", line 179, in handle_query
    if self.do_command(query, command, basepath, tsn):
  File "/pyTivo/httpserver.py", line 158, in do_command
    method(self, query)
  File "/pyTivo/plugins/dvdvideo/dvdvideo.py", line 633, in QueryContainer
    t.tivo_names = config.tivo_names
AttributeError: 'module' object has no attribute 'tivo_names'
INFO:pyTivo:192.168.0.191 [27/Sep/2014 17:53:15] "GET /TiVoConnect?Command=QueryContainer&Container=Torrent&ItemCount=0&SerialNum=746000190317E5C HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [27/Sep/2014 17:53:15] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&ItemCount=0&SerialNum=746000190317E5C HTTP/1.1" 200 -

Last

ps to add... 191 is my premier....


----------



## wmcbrine

Soapm said:


> This is something I found in the logs and didn't know if it meant anything or not?


It means you need to update your DVD plugin to match your updated pyTivo, although I wouldn't think that was connected to the failure of the shares to appear.


----------



## Soapm

wmcbrine said:


> It means you need to update your DVD plugin to match your updated pyTivo, although I wouldn't think that was connected to the failure of the shares to appear.


HHmm?? Thanks, I did one better, I deleted the plugin since I don't use it and don't think it really worked well for me and, you won't believe this, but now I see the shares on my premier. I know one doesn't have to do with the other but I won't look the gift horse etc...

Thanks...


----------



## mattack

I don't think I asked this before -- how do you QUIT pyTivo?

It doesn't seem to like being ^Ced.. often it just ends up in Python exceptions and still not going back to the shell.. I couldn't figure out any 'q' or 'quit' or anything it responding to..

so I usually just have to ^Z then kill %1 it... I wish it had a 'real' quit capability.


----------



## wmcbrine

^C is the official way. I sometimes see the symptoms you describe when there's a crash in a pyTivo thread (but the overall program keeps running). Normally that shouldn't happen.

Edit: There's also a "Shutdown pyTivo" button under the Settings page of the web interface, _if_ you run under Python 2.6 or 2.7. I doubt you'd see different behavior with the crashed threads.


----------



## globalgreg

I've got pyTivo installed but when I go to the pyTivo home page (http://localhost:9032) it doesn't look like any of the screenshots. It's all white with text as if it's not rendering correctly. I've tried it in IE (with and w/o compatibility mode), Chrome, and Firefox. See attached pic and I pasted what the text in the cmd windows. Thanks for any help.



Code:


ERROR:pyTivo:Exception during request from ('127.0.0.1', 58504)
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 595, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\pytivo\httpserver.py", line 91, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 651, in __init__
    self.handle()
  File "C:\Python27\lib\BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "C:\Python27\lib\BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "C:\pytivo\httpserver.py", line 131, in do_GET
    self.handle_file(query, splitpath)
  File "C:\pytivo\httpserver.py", line 256, in handle_file
    self.send_content_file(path)
  File "C:\pytivo\httpserver.py", line 222, in send_content_file
    mime = mimetypes.guess_type(path)[0]
  File "C:\Python27\lib\mimetypes.py", line 290, in guess_type
    init()
  File "C:\Python27\lib\mimetypes.py", line 351, in init
    db.read_windows_registry()
  File "C:\Python27\lib\mimetypes.py", line 254, in read_windows_registry
    with _winreg.OpenKey(hkcr, subkeyname) as subkey:
TypeError: must be string without null bytes or None, not str
ERROR:pyTivo:Exception during request from ('127.0.0.1', 58505)
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 595, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\pytivo\httpserver.py", line 91, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 651, in __init__
    self.handle()
  File "C:\Python27\lib\BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "C:\Python27\lib\BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "C:\pytivo\httpserver.py", line 131, in do_GET
    self.handle_file(query, splitpath)
  File "C:\pytivo\httpserver.py", line 256, in handle_file
    self.send_content_file(path)
  File "C:\pytivo\httpserver.py", line 222, in send_content_file
    mime = mimetypes.guess_type(path)[0]
  File "C:\Python27\lib\mimetypes.py", line 290, in guess_type
    init()
  File "C:\Python27\lib\mimetypes.py", line 351, in init
    db.read_windows_registry()
  File "C:\Python27\lib\mimetypes.py", line 254, in read_windows_registry
    with _winreg.OpenKey(hkcr, subkeyname) as subkey:
TypeError: must be string without null bytes or None, not str
ERROR:pyTivo:Exception during request from ('127.0.0.1', 58506)
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 595, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\pytivo\httpserver.py", line 91, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 651, in __init__
    self.handle()
  File "C:\Python27\lib\BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "C:\Python27\lib\BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "C:\pytivo\httpserver.py", line 131, in do_GET
    self.handle_file(query, splitpath)
  File "C:\pytivo\httpserver.py", line 256, in handle_file
    self.send_content_file(path)
  File "C:\pytivo\httpserver.py", line 222, in send_content_file
    mime = mimetypes.guess_type(path)[0]
  File "C:\Python27\lib\mimetypes.py", line 290, in guess_type
    init()
  File "C:\Python27\lib\mimetypes.py", line 351, in init
    db.read_windows_registry()
  File "C:\Python27\lib\mimetypes.py", line 254, in read_windows_registry
    with _winreg.OpenKey(hkcr, subkeyname) as subkey:
TypeError: must be string without null bytes or None, not str
ERROR:pyTivo:Exception during request from ('127.0.0.1', 58509)
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 595, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\pytivo\httpserver.py", line 91, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 651, in __init__
    self.handle()
  File "C:\Python27\lib\BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "C:\Python27\lib\BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "C:\pytivo\httpserver.py", line 131, in do_GET
    self.handle_file(query, splitpath)
  File "C:\pytivo\httpserver.py", line 256, in handle_file
    self.send_content_file(path)
  File "C:\pytivo\httpserver.py", line 222, in send_content_file
    mime = mimetypes.guess_type(path)[0]
  File "C:\Python27\lib\mimetypes.py", line 290, in guess_type
    init()
  File "C:\Python27\lib\mimetypes.py", line 351, in init
    db.read_windows_registry()
  File "C:\Python27\lib\mimetypes.py", line 254, in read_windows_registry
    with _winreg.OpenKey(hkcr, subkeyname) as subkey:
TypeError: must be string without null bytes or None, not str
ERROR:pyTivo:Exception during request from ('127.0.0.1', 58510)
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 595, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\pytivo\httpserver.py", line 91, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 651, in __init__
    self.handle()
  File "C:\Python27\lib\BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "C:\Python27\lib\BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "C:\pytivo\httpserver.py", line 131, in do_GET
    self.handle_file(query, splitpath)
  File "C:\pytivo\httpserver.py", line 256, in handle_file
    self.send_content_file(path)
  File "C:\pytivo\httpserver.py", line 222, in send_content_file
    mime = mimetypes.guess_type(path)[0]
  File "C:\Python27\lib\mimetypes.py", line 290, in guess_type
    init()
  File "C:\Python27\lib\mimetypes.py", line 351, in init
    db.read_windows_registry()
  File "C:\Python27\lib\mimetypes.py", line 254, in read_windows_registry
    with _winreg.OpenKey(hkcr, subkeyname) as subkey:
TypeError: must be string without null bytes or None, not str
ERROR:pyTivo:Exception during request from ('127.0.0.1', 58513)
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 595, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\pytivo\httpserver.py", line 91, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 651, in __init__
    self.handle()
  File "C:\Python27\lib\BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "C:\Python27\lib\BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "C:\pytivo\httpserver.py", line 131, in do_GET
    self.handle_file(query, splitpath)
  File "C:\pytivo\httpserver.py", line 256, in handle_file
    self.send_content_file(path)
  File "C:\pytivo\httpserver.py", line 222, in send_content_file
    mime = mimetypes.guess_type(path)[0]
  File "C:\Python27\lib\mimetypes.py", line 290, in guess_type
    init()
  File "C:\Python27\lib\mimetypes.py", line 351, in init
    db.read_windows_registry()
  File "C:\Python27\lib\mimetypes.py", line 254, in read_windows_registry
    with _winreg.OpenKey(hkcr, subkeyname) as subkey:
TypeError: must be string without null bytes or None, not str
INFO:pyTivo:127.0.0.1 [28/Oct/2014 20:17:21] "GET /TiVoConnect?Command=Settings&
Container=Settings HTTP/1.1" 200 -
ERROR:pyTivo:Exception during request from ('127.0.0.1', 58514)
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 595, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\pytivo\httpserver.py", line 91, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 651, in __init__
    self.handle()
  File "C:\Python27\lib\BaseHTTPServer.py", line 342, in handle
    self.handle_one_request()
  File "C:\Python27\lib\BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "C:\pytivo\httpserver.py", line 131, in do_GET
    self.handle_file(query, splitpath)
  File "C:\pytivo\httpserver.py", line 256, in handle_file
    self.send_content_file(path)
  File "C:\pytivo\httpserver.py", line 222, in send_content_file
    mime = mimetypes.guess_type(path)[0]
  File "C:\Python27\lib\mimetypes.py", line 290, in guess_type
    init()
  File "C:\Python27\lib\mimetypes.py", line 351, in init
    db.read_windows_registry()
  File "C:\Python27\lib\mimetypes.py", line 254, in read_windows_registry
    with _winreg.OpenKey(hkcr, subkeyname) as subkey:
TypeError: must be string without null bytes or None, not str
ERROR:pyTivo:Exception during request from ('127.0.0.1', 58519)
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 595, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\pytivo\httpserver.py", line 91, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 651, in __init__
    self.handle()
  File "C:\Python27\lib\BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "C:\Python27\lib\BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "C:\pytivo\httpserver.py", line 131, in do_GET
    self.handle_file(query, splitpath)
  File "C:\pytivo\httpserver.py", line 256, in handle_file
    self.send_content_file(path)
  File "C:\pytivo\httpserver.py", line 222, in send_content_file
    mime = mimetypes.guess_type(path)[0]
  File "C:\Python27\lib\mimetypes.py", line 290, in guess_type
    init()
  File "C:\Python27\lib\mimetypes.py", line 351, in init
    db.read_windows_registry()
  File "C:\Python27\lib\mimetypes.py", line 254, in read_windows_registry
    with _winreg.OpenKey(hkcr, subkeyname) as subkey:
TypeError: must be string without null bytes or None, not str
ERROR:pyTivo:Exception during request from ('127.0.0.1', 58518)
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 595, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\pytivo\httpserver.py", line 91, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 651, in __init__
    self.handle()
  File "C:\Python27\lib\BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "C:\Python27\lib\BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "C:\pytivo\httpserver.py", line 131, in do_GET
    self.handle_file(query, splitpath)
  File "C:\pytivo\httpserver.py", line 256, in handle_file
    self.send_content_file(path)
  File "C:\pytivo\httpserver.py", line 222, in send_content_file
    mime = mimetypes.guess_type(path)[0]
  File "C:\Python27\lib\mimetypes.py", line 290, in guess_type
    init()
  File "C:\Python27\lib\mimetypes.py", line 351, in init
    db.read_windows_registry()
  File "C:\Python27\lib\mimetypes.py", line 254, in read_windows_registry
    with _winreg.OpenKey(hkcr, subkeyname) as subkey:
TypeError: must be string without null bytes or None, not str
ERROR:pyTivo:Exception during request from ('127.0.0.1', 58520)
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 595, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\pytivo\httpserver.py", line 91, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 651, in __init__
    self.handle()
  File "C:\Python27\lib\BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "C:\Python27\lib\BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "C:\pytivo\httpserver.py", line 131, in do_GET
    self.handle_file(query, splitpath)
  File "C:\pytivo\httpserver.py", line 256, in handle_file
    self.send_content_file(path)
  File "C:\pytivo\httpserver.py", line 222, in send_content_file
    mime = mimetypes.guess_type(path)[0]
  File "C:\Python27\lib\mimetypes.py", line 290, in guess_type
    init()
  File "C:\Python27\lib\mimetypes.py", line 351, in init
    db.read_windows_registry()
  File "C:\Python27\lib\mimetypes.py", line 254, in read_windows_registry
    with _winreg.OpenKey(hkcr, subkeyname) as subkey:
TypeError: must be string without null bytes or None, not str
ERROR:pyTivo:Exception during request from ('127.0.0.1', 58523)
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 595, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\pytivo\httpserver.py", line 91, in __init__
    client_address, server)
  File "C:\Python27\lib\SocketServer.py", line 651, in __init__
    self.handle()
  File "C:\Python27\lib\BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "C:\Python27\lib\BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "C:\pytivo\httpserver.py", line 131, in do_GET
    self.handle_file(query, splitpath)
  File "C:\pytivo\httpserver.py", line 256, in handle_file
    self.send_content_file(path)
  File "C:\pytivo\httpserver.py", line 222, in send_content_file
    mime = mimetypes.guess_type(path)[0]
  File "C:\Python27\lib\mimetypes.py", line 290, in guess_type
    init()
  File "C:\Python27\lib\mimetypes.py", line 351, in init
    db.read_windows_registry()
  File "C:\Python27\lib\mimetypes.py", line 254, in read_windows_registry
    with _winreg.OpenKey(hkcr, subkeyname) as subkey:
TypeError: must be string without null bytes or None, not str


----------



## wmcbrine

Bizarre. What version of Windows are you using?

The errors there are in Python's standard library, apparently just trying to read some MIME-related stuff from the registry. pyTivo proper doesn't even know about the registry, it's just calling mimetypes.guess_type(). So, you may have to take it up with the Python people. But first, make sure you're running the latest release from the 2.7 line.


----------



## globalgreg

wmcbrine said:


> Bizarre. What version of Windows are you using?
> 
> The errors there are in Python's standard library, apparently just trying to read some MIME-related stuff from the registry. pyTivo proper doesn't even know about the registry, it's just calling mimetypes.guess_type(). So, you may have to take it up with the Python people. But first, make sure you're running the latest release from the 2.7 line.


I'm on Windows 8.1 64-bit. I installed the 2.7.8 64-bit version of Python.


----------



## wmcbrine

I had 2.7.6 on my Windows machine, so I DLed 2.7.8 to see if I could reproduce this. I could not. But, the first thing I noticed on the download page was this:

"Python 2.7.8 was released on July 1, 2014. This release includes regression and security fixes over 2.7.7 including:
...
*A regression in the mimetypes module on Windows has been fixed.*"

This leads me to strongly suspect that you are, in fact, running 2.7.7. In any case, you should try [re-?]installing 2.7.8.


----------



## globalgreg

wmcbrine said:


> I had 2.7.6 on my Windows machine, so I DLed 2.7.8 to see if I could reproduce this. I could not. But, the first thing I noticed on the download page was this:
> 
> "Python 2.7.8 was released on July 1, 2014. This release includes regression and security fixes over 2.7.7 including:
> ...
> *A regression in the mimetypes module on Windows has been fixed.*"
> 
> This leads me to strongly suspect that you are, in fact, running 2.7.7. In any case, you should try [re-?]installing 2.7.8.


I assure you it's 2.7.8. Tried uninstalling and re-installing with same results. Strange.


----------



## aryndub

Hi,

I've searched through the thread and couldn't find a specific answer to my scenario.. so here goes.

I have several videos that I converted from mpeg4 to mpeg2 and then transferred using pyTivo to my Roamio. While preparing for a trip, I decided it might be a good idea to transfer the videos to my iPad in preparation for a flight. While located on the same wifi network, I tried streaming and downloading any of the videos I uploaded and it's saying: "Streaming not permitted. Streaming this show is not permitted due to an unsupported video format or copyright policy." for streaming and "Download not permitted. Due to copyright restrictions, downloading is not supported through external devices." when downloading. I would figure using pyTivo would allow me to treat the file like any other non premium channel show. Did I set something wrong or is this the expected behavior?

Thanks.


----------



## lpwcomp

aryndub said:


> Hi,
> 
> I've searched through the thread and couldn't find a specific answer to my scenario.. so here goes.
> 
> I have several videos that I converted from mpeg4 to mpeg2 and then transferred using pyTivo to my Roamio. While preparing for a trip, I decided it might be a good idea to transfer the videos to my iPad in preparation for a flight. While located on the same wifi network, I tried streaming and downloading any of the videos I uploaded and it's saying: "Streaming not permitted. Streaming this show is not permitted due to an unsupported video format or copyright policy." for streaming and "Download not permitted. Due to copyright restrictions, downloading is not supported through external devices." when downloading. I would figure using pyTivo would allow me to treat the file like any other non premium channel show. Did I set something wrong or is this the expected behavior?
> 
> Thanks.


Pushed recordings are always marked copy protected. This is a function of the HME protocol used for a push and pyTivo has no way to change that. If you want to transfer them further, you'll have to pull them to the TiVo instead.

As to the streaming problem, what s/w and encoding profile did you use to convert them? Do they play properly on the TiVo?


----------



## jcthorne

Issue with Tivo and pyTivo pushed recordings.

I push two episodes of a show. Gotham in this case. Both are sent to mind, the tivo asks for and transfers both recordings. I see nothing out of the ordinary in the transfers. Names, discriptions and other metadata appear sent correctly for each.

The tivo shows two recordings in a folder for Gotham, both with the name of the first episode sent and with the same discription. Playing both, they are indeed two different episodes but the tivo is not displaying them correctly. This started a few days ago about with the new Tivo software.

Anyone else seeing anything similar? I have checked the metadata txt file for each and the same info is also in the mp4 file tags. IE all correct but not displaying correctly on tivo NPL. Ideas what else I need to check?



Code:


Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Z:\Video Archive\Television Shows\G-J\G
otham\Gotham S01E06 Spirit of the Goat.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isomavc1iso2
    creation_time   : 2014-10-30 09:47:06
    title           : Spirit of the Goat
    artist          : Gotham
    album           : Gotham, Season 1
    genre           : Drama
    date            : 2014-10-27T07:00:00Z
    track           : 6/15
    disc            : 1/1
    show            : Gotham
    network         : FOX
    season_number   : 1
    episode_sort    : 6
    description     : When a killer begins targeting the first born of Gotham's
elite, Bullock is forced to confront traumatic memories from a nearly identical
case he worked in the past. Gordon is confronted by past decisions.
    synopsis        : When a killer begins targeting the first born of Gotham's
elite, Bullock is forced to confront traumatic memories from a nearly identical
case he worked in the past. Gordon is confronted by past decisions.
    encoder         : MkvToMp4 [www.mkvtomp4.ru] version: 0.224 (x64)
    hd_video        : 2
    media_type      : 10
  Duration: 00:43:46.05, start: 0.000000, bitrate: 5418 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1916x1076
 [SAR 1:1 DAR 479:269], 5031 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 48k tbc
    Metadata:
      creation_time   : 2014-10-30 09:47:06
      handler_name    : H.264
    Stream #0:1(eng): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), s16,
384 kb/s
    Metadata:
      creation_time   : 2014-10-30 09:47:37
      handler_name    : DD5.1
At least one output file must be specified

DEBUG:pyTivo.video.transcode:aFreq=48000; aCh=6; container=mov; kbps=5418; mapAu
dio=[('0:1', '(eng) ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), s16, 384 kb/s\
r')]; vHeight=1076; vCodec=h264; Supported=True; aKbps=384; par=None; millisecs=
2626050; vFps=23.98; par2=None; par1=None; mapVideo=0:0; vWidth=1916; dar1=479:2
69; rawmeta={'album': [u'Gotham, Season 1'], 'network': [u'FOX'], 'title': [u'Sp
irit of the Goat'], 'track': [u'6/15'], 'major_brand': [u'isom'], 'artist': [u'G
otham'], 'creation_time': [u'2014-10-30 09:47:06'], 'minor_version': [u'1'], 'hd
_video': [u'2'], 'date': [u'2014-10-27T07:00:00Z'], 'synopsis': [u"When a killer
 begins targeting the first born of Gotham's elite, Bullock is forced to confron
t traumatic memories from a nearly identical case he worked in the past. Gordon
is confronted by past decisions."], 'disc': [u'1/1'], 'show': [u'Gotham'], 'comp
atible_brands': [u'isomavc1iso2'], 'genre': [u'Drama'], 'media_type': [u'10'], '
encoder': [u'MkvToMp4 [www.mkvtomp4.ru] version: 0.224 (x64)'], 'season_number':
 [u'1'], 'episode_sort': [u'6'], 'description': [u"When a killer begins targetin
g the first born of Gotham's elite, Bullock is forced to confront traumatic memo
ries from a nearly identical case he worked in the past. Gordon is confronted by
 past decisions."]}; aCodec=ac3
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\G-J\Go
tham\Gotham S01E06 Spirit of the Goat.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, Z:\Video Archive\Tele
vision Shows\G-J\Gotham\Gotham S01E06 Spirit of the Goat.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\G-J\Go
tham\Gotham S01E06 Spirit of the Goat.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\G-J\Go
tham\Gotham S01E06 Spirit of the Goat.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, Z:\Video Archive\Tele
vision Shows\G-J\Gotham\Gotham S01E06 Spirit of the Goat.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\G-J\Go
tham\Gotham S01E06 Spirit of the Goat.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\G-J\Go
tham\Gotham S01E06 Spirit of the Goat.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, Z:\Video Archive\Tele
vision Shows\G-J\Gotham\Gotham S01E06 Spirit of the Goat.mp4
DEBUG:pyTivo.mind:__login
{'cams_security_domain': 'tivocom', 'cams_login_config': 'http', 'cams_cb_passwo
rd': 'atr123', 'cams_original_url': '/mind/mind7?type=infoGet', 'cams_cb_usernam
e': '[email protected]'}
DEBUG:pyTivo.mind:pcBodySearch
{}

<pcBodyList><isBottom>true</isBottom><isTop>true</isTop><pcBody><bucketNumber>-1
</bucketNumber><levelOfDetail>low</levelOfDetail><name>pyTivo</name><pcBodyId>ti
vo:pc.1001378221</pcBodyId><type>pcBody</type></pcBody></pcBodyList>g
DEBUG:pyTivo.mind:bodyOfferModify&bodyId=tsn:8460011902CD38E
{'subtitle': '06 Spirit of the Goat', 'description': "When a killer begins targe
ting the first born of Gotham's elite, Bullock is forced to confront traumatic m
emories from a nearly identical case he worked in the past. Gordon is confronted
 by past decisions.", 'pcBodyId': 'tivo:pc.1001378221', 'publishDate': '2014-11-
05 16:1433', 'partnerId': 'tivo:pt.3187', 'duration': 2626, 'size': 1778627695,
'title': 'Gotham', 'url': 'http://192.168.1.119:9032/Television%20Shows/G-J/Goth
am/Gotham%20S01E06%20Spirit%20of%20the%20Goat.mp4?Format=video/mp4', 'bodyId': '
tsn:8460011902CD38E', 'source': 'SH01876411', 'state': 'complete', 'encodingType
': 'avcL41MP4', 'tvRating': '14'}

<bodyOffer><bodyId>tsn:8460011902CD38E</bodyId><bodyOfferId>tivo:bo.15003711</bo
dyOfferId><createDate>2014-11-05 16:14:34</createDate><description>When a killer
 begins targeting the first born of Gotham's elite, Bullock is forced to confron
t traumatic memories from a nearly identical case he worked in the past. Gordon
is confronted by past decisions.</description><duration>2626</duration><encoding
Type>avcL41MP4</encodingType><levelOfDetail>high</levelOfDetail><offerId>tivo:of
.bs.15003711</offerId><partnerId>tivo:pt.3187</partnerId><pcBodyId>tivo:pc.10013
78221</pcBodyId><publishDate>2014-11-06 15:53:00</publishDate><size>1778627695</
size><source>SH01876411</source><state>complete</state><subtitle>06 Spirit of th
e Goat</subtitle><title>Gotham</title><tvRating>14</tvRating><updateDate>2014-11
-05 16:14:34</updateDate><url>http://192.168.1.119:9032/Television%20Shows/G-J/G
otham/Gotham%20S01E06%20Spirit%20of%20the%20Goat.mp4?Format=video/mp4</url></bod
yOffer>g
DEBUG:pyTivo.mind:subscribe&bodyId=tsn:8460011902CD38E
{'uiType': 'cds', 'idSetSource': {'contentId': 'tivo:ct.bs.15003711', 'type': 's
ingleOfferSource', 'offerId': 'tivo:of.bs.15003711'}, 'bodyId': 'tsn:8460011902C
D38E', 'title': 'pcBodySubscription'}

<subscribeResult><subscription><autoRecord>true</autoRecord><bodyGeneratesCandid
ates>false</bodyGeneratesCandidates><bodyId>tsn:8460011902CD38E</bodyId><hdOnly>
false</hdOnly><idSetSource><contentId>tivo:ct.bs.15003711</contentId><offerId>ti
vo:of.bs.15003711</offerId><type>singleOfferSource</type></idSetSource><isAdult>
false</isAdult><isForKids>false</isForKids><levelOfDetail>high</levelOfDetail><s
howStatus>rerunsAllowed</showStatus><subscriptionId>tivo:sb.15003721</subscripti
onId><title>pcBodySubscription</title><type>subscription</type><uiType>cds</uiTy
pe></subscription></subscribeResult>g
DEBUG:pyTivo.video.transcode:ffmpeg output=ffmpeg version N-47062-g26c531c Copyr
ight (c) 2000-2012 the FFmpeg developers
  built on Nov 25 2012 12:21:26 with gcc 4.7.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-pthreads --enable-runt
ime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libass -
-enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enab
le-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-libo
pus --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheo
ra --enable-libutvideo --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-li
bvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --ena
ble-zlib
  libavutil      52.  9.100 / 52.  9.100
  libavcodec     54. 77.100 / 54. 77.100
  libavformat    54. 37.100 / 54. 37.100
  libavdevice    54.  3.100 / 54.  3.100
  libavfilter     3. 23.102 /  3. 23.102
  libswscale      2.  1.102 /  2.  1.102
  libswresample   0. 17.101 /  0. 17.101
  libpostproc    52.  2.100 / 52.  2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Z:\Video Archive\Television Shows\G-J\G
otham\Gotham S01E07 Penguin's Umbrella.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isomavc1iso2
    creation_time   : 2014-11-05 10:20:28
    title           : Penguin's Umbrella
    artist          : Gotham
    album           : Gotham, Season 1
    genre           : Drama
    date            : 2014-11-03T08:00:00Z
    track           : 7/16
    disc            : 1/1
    show            : Gotham
    network         : FOX
    season_number   : 1
    episode_sort    : 7
    description     : As violence between Maroni and Falcone continues to escala
te, Penguin reveals a new element of his manipulative strategy, forcing Gordon t
o deal with the consequences of his decision to spare Penguin&#915;ÇÖs life.
    synopsis        : As violence between Maroni and Falcone continues to escala
te, Penguin reveals a new element of his manipulative strategy, forcing Gordon t
o deal with the consequences of his decision to spare Penguin&#915;ÇÖs life.
    encoder         : MkvToMp4 [www.mkvtomp4.ru] version: 0.224 (x64)
    hd_video        : 2
    media_type      : 10
  Duration: 00:44:00.45, start: 0.000000, bitrate: 5282 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1916x1076
 [SAR 1:1 DAR 479:269], 4895 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 48k tbc
    Metadata:
      creation_time   : 2014-11-05 10:20:28
      handler_name    : H.264
    Stream #0:1(eng): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), s16,
384 kb/s
    Metadata:
      creation_time   : 2014-11-05 10:21:00
      handler_name    : DD5.1
At least one output file must be specified

DEBUG:pyTivo.video.transcode:aFreq=48000; aCh=6; container=mov; kbps=5282; mapAu
dio=[('0:1', '(eng) ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), s16, 384 kb/s\
r')]; vHeight=1076; vCodec=h264; Supported=True; aKbps=384; par=None; millisecs=
2640450; vFps=23.98; par2=None; par1=None; mapVideo=0:0; vWidth=1916; dar1=479:2
69; rawmeta={'album': [u'Gotham, Season 1'], 'network': [u'FOX'], 'title': [u"Pe
nguin's Umbrella"], 'track': [u'7/16'], 'major_brand': [u'isom'], 'artist': [u'G
otham'], 'creation_time': [u'2014-11-05 10:20:28'], 'minor_version': [u'1'], 'hd
_video': [u'2'], 'date': [u'2014-11-03T08:00:00Z'], 'synopsis': [u'As violence b
etween Maroni and Falcone continues to escalate, Penguin reveals a new element o
f his manipulative strategy, forcing Gordon to deal with the consequences of his
 decision to spare Penguin\u2019s life.'], 'disc': [u'1/1'], 'show': [u'Gotham']
, 'compatible_brands': [u'isomavc1iso2'], 'genre': [u'Drama'], 'media_type': [u'
10'], 'encoder': [u'MkvToMp4 [www.mkvtomp4.ru] version: 0.224 (x64)'], 'season_n
umber': [u'1'], 'episode_sort': [u'7'], 'description': [u'As violence between Ma
roni and Falcone continues to escalate, Penguin reveals a new element of his man
ipulative strategy, forcing Gordon to deal with the consequences of his decision
 to spare Penguin\u2019s life.']}; aCodec=ac3
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\G-J\Go
tham\Gotham S01E07 Penguin's Umbrella.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, Z:\Video Archive\Tele
vision Shows\G-J\Gotham\Gotham S01E07 Penguin's Umbrella.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\G-J\Go
tham\Gotham S01E07 Penguin's Umbrella.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\G-J\Go
tham\Gotham S01E07 Penguin's Umbrella.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, Z:\Video Archive\Tele
vision Shows\G-J\Gotham\Gotham S01E07 Penguin's Umbrella.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\G-J\Go
tham\Gotham S01E07 Penguin's Umbrella.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\G-J\Go
tham\Gotham S01E07 Penguin's Umbrella.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, Z:\Video Archive\Tele
vision Shows\G-J\Gotham\Gotham S01E07 Penguin's Umbrella.mp4
DEBUG:pyTivo.mind:__login
{'cams_security_domain': 'tivocom', 'cams_login_config': 'http', 'cams_cb_passwo
rd': 'atr123', 'cams_original_url': '/mind/mind7?type=infoGet', 'cams_cb_usernam
e': '[email protected]'}
DEBUG:pyTivo.mind:pcBodySearch
{}

<pcBodyList><isBottom>true</isBottom><isTop>true</isTop><pcBody><bucketNumber>-1
</bucketNumber><levelOfDetail>low</levelOfDetail><name>pyTivo</name><pcBodyId>ti
vo:pc.1001378221</pcBodyId><type>pcBody</type></pcBody></pcBodyList>g
DEBUG:pyTivo.mind:bodyOfferModify&bodyId=tsn:xxx
{'subtitle': "07 Penguin's Umbrella", 'description': 'As violence between Maroni
 and Falcone continues to escalate, Penguin reveals a new element of his manipul
ative strategy, forcing Gordon to deal with the consequences of his decision to
spare Penguins life.', 'pcBodyId': 'tivo:pc.1001378221', 'publishDate': '2014-11
-05 16:1440', 'partnerId': 'tivo:pt.3187', 'duration': 2640, 'size': 1743457912,
 'title': 'Gotham', 'url': 'http://192.168.1.119:9032/Television%20Shows/G-J/Got
ham/Gotham%20S01E07%20Penguin%27s%20Umbrella.mp4?Format=video/mp4', 'bodyId': 't
sn:xxx', 'source': 'SH01876411', 'state': 'complete', 'encodingType'
: 'avcL41MP4', 'tvRating': '14'}

<bodyOffer><bodyId>tsn:xxx</bodyId><bodyOfferId>tivo:bo.15003721</bo
dyOfferId><createDate>2014-11-05 16:14:41</createDate><description>As violence b
etween Maroni and Falcone continues to escalate, Penguin reveals a new element o
f his manipulative strategy, forcing Gordon to deal with the consequences of his
 decision to spare Penguins life.</description><duration>2640</duration><encodin
gType>avcL41MP4</encodingType><levelOfDetail>high</levelOfDetail><offerId>tivo:o
f.bs.15003721</offerId><partnerId>tivo:pt.3187</partnerId><pcBodyId>tivo:pc.1001
378221</pcBodyId><publishDate>2014-11-06 16:00:00</publishDate><size>1743457912<
/size><source>SH01876411</source><state>complete</state><subtitle>07 Penguin's U
mbrella</subtitle><title>Gotham</title><tvRating>14</tvRating><updateDate>2014-1
1-05 16:14:41</updateDate><url>http://192.168.1.119:9032/Television%20Shows/G-J/
Gotham/Gotham%20S01E07%20Penguin%27s%20Umbrella.mp4?Format=video/mp4</url></body
Offer>g
DEBUG:pyTivo.mind:subscribe&bodyId=tsn:xxx
{'uiType': 'cds', 'idSetSource': {'contentId': 'tivo:ct.bs.15003721', 'type': 's
ingleOfferSource', 'offerId': 'tivo:of.bs.15003721'}, 'bodyId': 'tsn:xxx', 'title': 'pcBodySubscription'}

<subscribeResult><subscription><autoRecord>true</autoRecord><bodyGeneratesCandid
ates>false</bodyGeneratesCandidates><bodyId>tsn:xxx</bodyId><hdOnly>
false</hdOnly><idSetSource><contentId>tivo:ct.bs.15003721</contentId><offerId>ti
vo:of.bs.15003721</offerId><type>singleOfferSource</type></idSetSource><isAdult>
false</isAdult><isForKids>false</isForKids><levelOfDetail>high</levelOfDetail><s
howStatus>rerunsAllowed</showStatus><subscriptionId>tivo:sb.15003731</subscripti
onId><title>pcBodySubscription</title><type>subscription</type><uiType>cds</uiTy
pe></subscription></subscribeResult>g
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\G-J\Go
tham\Gotham S01E06 Spirit of the Goat.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, Z:\Video Archive\Tele
vision Shows\G-J\Gotham\Gotham S01E06 Spirit of the Goat.mp4
INFO:pyTivo:192.168.1.105 [05/Nov/2014 10:15:21] "GET /Television%20Shows/G-J/Go
tham/Gotham%20S01E06%20Spirit%20of%20the%20Goat.mp4?Format=video%2Fmp4 HTTP/1.1"
 200 -
INFO:pyTivo.video.video:[05/Nov/2014 10:15:21] Start sending "Z:\Video Archive\T
elevision Shows\G-J\Gotham\Gotham S01E06 Spirit of the Goat.mp4" to Thornolis HT

DEBUG:pyTivo.video.video:"Z:\Video Archive\Television Shows\G-J\Gotham\Gotham S0
1E06 Spirit of the Goat.mp4" is tivo compatible
DEBUG:pyTivo.video.qt-faststart:Getting index of top level atoms...
DEBUG:pyTivo.video.qt-faststart:ftyp: 28
DEBUG:pyTivo.video.qt-faststart:moov: 824953
DEBUG:pyTivo.video.qt-faststart:mdat: 1777802714
DEBUG:pyTivo.video.qt-faststart:mp4 already streamable -- copying
INFO:pyTivo.video.video:[05/Nov/2014 10:17:55] Done sending "Z:\Video Archive\Te
levision Shows\G-J\Gotham\Gotham S01E06 Spirit of the Goat.mp4" to Thornolis HT,
 1778627695 bytes, 88.35 Mb/s
DEBUG:pyTivo.video.transcode:CACHE HIT! Z:\Video Archive\Television Shows\G-J\Go
tham\Gotham S01E07 Penguin's Umbrella.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, Z:\Video Archive\Tele
vision Shows\G-J\Gotham\Gotham S01E07 Penguin's Umbrella.mp4
INFO:pyTivo:192.168.1.105 [05/Nov/2014 10:18:05] "GET /Television%20Shows/G-J/Go
tham/Gotham%20S01E07%20Penguin's%20Umbrella.mp4?Format=video%2Fmp4 HTTP/1.1" 200
 -
INFO:pyTivo.video.video:[05/Nov/2014 10:18:05] Start sending "Z:\Video Archive\T
elevision Shows\G-J\Gotham\Gotham S01E07 Penguin's Umbrella.mp4" to Thornolis HT

DEBUG:pyTivo.video.video:"Z:\Video Archive\Television Shows\G-J\Gotham\Gotham S0
1E07 Penguin's Umbrella.mp4" is tivo compatible
DEBUG:pyTivo.video.qt-faststart:Getting index of top level atoms...
DEBUG:pyTivo.video.qt-faststart:ftyp: 28
DEBUG:pyTivo.video.qt-faststart:moov: 837430
DEBUG:pyTivo.video.qt-faststart:mdat: 1742620454
DEBUG:pyTivo.video.qt-faststart:mp4 already streamable -- copying
INFO:pyTivo.video.video:[05/Nov/2014 10:20:34] Done sending "Z:\Video Archive\Te
levision Shows\G-J\Gotham\Gotham S01E07 Penguin's Umbrella.mp4" to Thornolis HT,
 1743457912 bytes, 89.29 Mb/s


----------



## aryndub

lpwcomp said:


> Pushed recordings are always marked copy protected. This is a function of the HME protocol used for a push and pyTivo has no way to change that. If you want to transfer them further, you'll have to pull them to the TiVo instead.
> 
> As to the streaming problem, what s/w and encoding profile did you use to convert them? Do they play properly on the TiVo?


Thanks for the info. The recordings playback just fine on the Tivo itself, just not the app, streaming or download wise.

What exactly do you mean "pull them to the Tivo instead" to transfer them further?


----------



## lpwcomp

aryndub said:


> Thanks for the info. The recordings playback just fine on the Tivo itself, just not the app, streaming or download wise.
> 
> What exactly do you mean "pull them to the Tivo instead" to transfer them further?


I mean that if you want to transfer them to your iPad using the stream, they must be pulled to the TiVo rather than pushed. A pull is when you initiate the transfer ro the TiVo via the share entry in "My Shows".


----------



## lpwcomp

aryndub said:


> Thanks for the info. The recordings playback just fine on the Tivo itself, just not the app, streaming or download wise.


There are formats that will play fine on the TiVo but are not supported by the Stream. That's why I asked about s/w and encoding profile.


----------



## caddyroger

I installed a new mother board in my computer yesterday. I have windows 8.1 with python 2.7.8 installed. I can get the page showing the programs from the tivo. but the videos will not show the programs when I click on my videos. When I click on my videos I get a The connection was reset. The connection to the server was reset while the page was loading. 
This is what I get in the pytivo.py command box. Pytivo error jpg is the local host screen. The pytivo command txt is what the command it reading after clicking my videos
This is the way my Pytivo conf file is set up.

[Server]
beacon = 192.168.1.15
togo_path = D:\FROM THE TIVO
tivodecode = C:\bin\TIVODECODE.EXE
ffmpeg = C:\pyTivo\bin\ffmpeg.exe
tivo_password = ********
tivo_mak = *************
tivo_username = **********

[_tivo_SD]

[_tivo_HD]

[My Videos]
path = E:\TO THE TIVO
type = video


----------



## wmcbrine

caddyroger said:


> path = E:\TO THE TIVO


Your log says this path is no good. BTW, the error is there in fairly plain English, in the last line of each "traceback". (The other lines just indicate where in the code the error occurred.)


----------



## caddyroger

wmcbrine said:


> Your log says this path is no good. BTW, the error is there in fairly plain English, in the last line of each "traceback". (The other lines just indicate where in the code the error occurred.)


The file location is correct I posted a screen shot of my directory.
Originally I had it like this E:\to the tivo. It was this way for 3 years. I replaced the mother board Sunday and and reinstall windows 8.1. After I put in pytivo I got the error.
I changed it to another hard drive and directory and still got the same error. I changed it to E:\ and it will list the shows in the folder. 
My E is just a single hard drive with no other folders.


----------



## wmcbrine

That picture seems to show "TO THE TIVO" as a disk label, not a folder name, although I'm not completely sure what I'm looking at there. Anyway, the disk label would not be part of the path.


----------



## caddyroger

wmcbrine said:


> That picture seems to show "TO THE TIVO" as a disk label, not a folder name, although I'm not completely sure what I'm looking at there. Anyway, the disk label would not be part of the path.


Originally it was E:\for the tivo\to the tivo then I started having the trouble. I Read what you stated and I changed it to E:\to the tivo but I still had the problem. I finally changed it to E: and it is ok now.


----------



## asousa

jcthorne said:


> Issue with Tivo and pyTivo pushed recordings.
> 
> I push two episodes of a show. Gotham in this case. Both are sent to mind, the tivo asks for and transfers both recordings. I see nothing out of the ordinary in the transfers. Names, discriptions and other metadata appear sent correctly for each.
> 
> The tivo shows two recordings in a folder for Gotham, both with the name of the first episode sent and with the same discription. Playing both, they are indeed two different episodes but the tivo is not displaying them correctly. This started a few days ago about with the new Tivo software.
> 
> Anyone else seeing anything similar? I have checked the metadata txt file for each and the same info is also in the mp4 file tags. IE all correct but not displaying correctly on tivo NPL. Ideas what else I need to check?


I am having this exact same issue... it just started recently! Did you figure it out? Fine when pulling, just an issue pushing. The meta data in pytivo looks right... I am thinking it is something that broke in a TiVo update unfortunately.


----------



## jcthorne

asousa said:


> I am having this exact same issue... it just started recently! Did you figure it out? Fine when pulling, just an issue pushing. The meta data in pytivo looks right... I am thinking it is something that broke in a TiVo update unfortunately.


No, not fixed yet. And it happens on some series and not others. Gotham still does it for one.


----------



## bmal1

I am seeing the same. When I push multiple recordings to the same folder they all show up in the folder in the NPL with all the same metadata info. Pulling seems to work ok.


----------



## jfranc999

As of .am 11 30 2014 this problem has been corrected, apparently by revision of Tivo code. Thanks for fixing the anomaly.


----------



## jfranc999

As of 11 30 2014 am this is now working for me. Thanks to Tivo coding, I think.


----------



## jsheinz1234

Been using my new "used" Premiere and miss KidZone. I turned on Parental controls, but I am wondering if I can change the rating of an existing "unrated" MKV file on my PC before I transfer to TIVO so it will show up and my kids can watch without the parental control code? I searched around, but didn't see an answer.


----------



## wmcbrine

Yes, you can add a rating via the .txt metadata file, e.g.:

tvRating: G


----------



## bmal1

jfranc999 said:


> As of 11 30 2014 am this is now working for me. Thanks to Tivo coding, I think.


I am still seeing pushed shows to the same folder wind up with the same name and metadata of the first show sent. I connected to the Tivo service for any updates this afternoon.

Does anyone one no of a work around for this? Tivo seems to ignore all metadata after the first file pushed and use that for any subsequent files pushed.


----------



## innocentfreak

I am seeing the duplicate listings also when I push multiple episodes of the same show.


----------



## lpwcomp

Just out of curiosity, why not just leave things on the PC and pull a recording to the TiVo when you want to watch it?


----------



## bmal1

lpwcomp said:


> Just out of curiosity, why not just leave things on the PC and pull a recording to the TiVo when you want to watch it?


My main reason is to group videos to a folder for the kids to watch (over and over and...). On my previous Tivo I had a Kids Movies folder which they knew that's where their stuff is.

The files I transfer are usually encoded h.264 mp4 files. When I push them they go to the tivo without transcoding which is now very quick with the Roamio. When they are pulled they get transcoded (I don't know why) which takes time.

Also the kids can't pull from pyTivo due to parental controls.

I can push videos and not put them in a folder and all the metadata shows up fine. The problem occurs when using a seriesId in the metadata text file. The folder gets created but assigns the meta data of the first recording pushed to all subsequent pushed recordings with that seriesId (folder).


----------



## lpwcomp

bmal1 said:


> My main reason is to group videos to a folder for the kids to watch (over and over and...). On my previous Tivo I had a Kids Movies folder which they knew that's where their stuff is.
> 
> Also the kids can't pull from pyTivo due to parental controls.


That makes sense.



bmal1 said:


> I can push videos and not put them in a folder and all the metadata shows up fine. The problem occurs when using a seriesId in the metadata text file. The folder gets created but assigns the meta data of the first recording pushed to all subsequent pushed recordings with that seriesId (folder).


It is simply not possible that you are getting all of the metadata on a pushed recording. First thing transferred with a particular user created seriesId will determine the group name but this is true for pull as well. BTW, on a push, the seriesId that ends up on the TiVo is _*not*_ the one in the metadata. It is created by the TiVo server using some arcane algorithm.



bmal1 said:


> The files I transfer are usually encoded h.264 mp4 files. When I push them they go to the tivo without transcoding which is now very quick with the Roamio. When they are pulled they get transcoded (I don't know why) which takes time.


Add "ts = on" to the Global Server Settings section of pyTvio.conf. H.264 in mp4 container should go as is to a Premiere or Roamio, If in mkv, they will have to be remuxed but still no transcoding.

Edit: I guess mp4's have to be remuxed also. Still blazingly fast transfers.


----------



## innocentfreak

lpwcomp said:


> Just out of curiosity, why not just leave things on the PC and pull a recording to the TiVo when you want to watch it?


I do. I usually binge watch so I push 3-5 episodes at a time and then I can blow through all 5. This way I don't have to wait for the next episode to transfer when I finish the first.


----------



## lpwcomp

innocentfreak said:


> I do. I usually binge watch so I push 3-5 episodes at a time and then I can blow through all 5. This way I don't have to wait for the next episode to transfer when I finish the first.


a. You can queue up multiple pulls at once.

b. No need to wait for anything . You can start watching as soon as the transfer starts, which is much quicker on a pull since there is no need to wait on the TiVo Mind server.


----------



## innocentfreak

lpwcomp said:


> a. You can queue up multiple pulls at once.
> 
> b. No need to wait for anything . You can start watching as soon as the transfer starts, which is much quicker on a pull since there is no need to wait on the TiVo Mind server.


I find it quicker to push since I usually do it while watching something. I find the pulls slower since I have a large list of folders and sometimes it takes forever before they display.

Also didn't push have more supported formats? It has been so long since I tried pulling I don't remember if they both support the same codecs and containers.


----------



## lpwcomp

innocentfreak said:


> I find it quicker to push since I usually do it while watching something. I find the pulls slower since I have a large list of folders and sometimes it takes forever before they display.


To each his own. I hate the loss of Metadata and the transfer delay with a push. With the proper Metadata, a pulled recording looks exactly as if I recorded it off cable or OTA.



innocentfreak said:


> Also didn't push have more supported formats? It has been so long since I tried pulling I don't remember if they both support the same codecs and containers.


A Series 3 supports mp4 natively via push but not via pull, but Series 4 & 5 support it via either.


----------



## lpwcomp

bmal1 said:


> I am still seeing pushed shows to the same folder wind up with the same name and metadata of the first show sent. I connected to the Tivo service for any updates this afternoon.
> 
> Does anyone one no of a work around for this? Tivo seems to ignore all metadata after the first file pushed and use that for any subsequent files pushed.


Ran into this problem yesterday when I pushed 2 episodes of "Once Upon A Time" to a friend of mines Premiere (she had reception problems). Today, she needed two episodes of "The Originals". This time I waited until the transfer of the first episode was complete before I queued up the second episode and it got the correct episode title.


----------



## n2lovell

Pushes and pulls in the new release are more likely to read data from the tivo's servers. Its gradually been doing so more and more with the last several releases. 

It won't override user set metadata, but it will "complete" your metadata (including bringing fields that you cannot send, such as genres, season and episode data).

So a key thing to make sure of is that if you are setting a subtitle its accurate for that episode.
Try to no longer do things like "06 Spirit of the Goat" and instead just leave it "Spirit of the Goat". 


The "rules" for attempted matches are as follows:
Overriding considerations:
1) If a search returns multiple results, and none of them match the passed in tmsId doesn't match then it uses the passed metadata. For pushes this generally means that it the search returned more than one result since the tmsId gets mangled.

Note: if no tmsId is provided, then it will just use the first result. I believe that all pushes get a "tmsId" even if you don't set one (although its possible I'm wrong on that point). So this only really matters for pulls.

3) If there are no matches then it doesn't touch the passed metadata

Minimum requirements for a search:
1) If its a "series": title + episodeTitle must be present.
2) If its a "movie": title and either showType or movieYear must be present

Getting your content to match will seriously behoove you in the next release. It already matters if you want the Movie + Kids filter to work in the 3 column MyShows.

Obviously this doesn't account for needing to space your pushes to keep your metadata. Which I'll look into, although if any fixes are required on the STB itself its unlikely to make the next release (but the one after it).


----------



## bantar

n2lovell said:


> Pushes and pulls in the new release are more likely to read data from the tivo's servers. Its gradually been doing so more and more with the last several releases.
> 
> It won't override user set metadata, but it will "complete" your metadata (including bringing fields that you cannot send, such as genres, season and episode data).
> 
> So a key thing to make sure of is that if you are setting a subtitle its accurate for that episode.
> Try to no longer do things like "06 Spirit of the Goat" and instead just leave it "Spirit of the Goat".
> 
> <snip>


Thanks n2lovell. Using this information, I ran a few experiments, but haven't yet found a solid working combination. For me, all transfers since the latest software update of my XL4 at the end of November have failed. I've rebooted the Tivo, restarted pyTivo and tried single file transfers as well as multiple. They all fail. I've tried many different series. Ones that were working last month are failing now. All series are failing, it's not limited as best I can tell. I use metagenerator to generate my metadata files and this has worked for quite some time with no issues.

However, my episodeTitle (s) had extra text, such as [S01E02]. After reading this note, I immediately cleaned that up and tested. No change.

For simplicity and to rule out possible syntax errors, I then reduced the metadata file to this subset:


Code:


title : Hot in Cleveland
seriesTitle : Hot in Cleveland
episodeTitle : Who's Your Mama?
episodeNumber : 102
description : Joy tries to take advantage of her newfound appeal in Cleveland by dating a much younger man, but her new relationship ends up exposing an old secret. Meanwhile, Melanie encourages Elka to date again by helping her decide between a bevy of men. Victoria gets hooked on Big N Easy, where she goes for the savings and stays for so much more.
isEpisode : true

Previously, it had much more data and more specifically, it had a "seriesId : SH01259931" line in it. Without the seriesId, the shows that transfer are grouped into a different folder (as expected), but the metadata remains broken. Without the seriesId, only the Episode Title of some random (in this case "random" was the first episode of the new grouping transferred) episode shows up. With the seriesId present, the description is displayed as well as a title, but again, description and title are for some random episode. Once Tivo decides which episode it will use for the metadata, all subsequent transfers will use the same. For this test, without seriesId, E01 metadata. With the seriesId, all transfers use E07 metadata. (It just latches onto one metadata and repeatedly uses that).

I've also removed the "title" line and then corrupted the seriesTitle to force a no match scenario. No seriesID and no title. For instance: "seriesTitle : Hhot in CCleveland". This was quite telling. Yet a new grouping folder due to no seriesId and no existing title, BUT the metadata transferred correctly! Transferred a second episode with the same title and .... sigh..... it failed. It used the metadata from the previous transfer instead of the current file. Both metadata files were stripped bear and with only a few lines.

Any thoughts? I'm willing to experiment more and post the results. Thanks!


----------



## lpwcomp

The best way to get complete metadata on a pull is to set "programId" to the correct value.


----------



## bantar

lpwcomp said:


> The best way to get complete metadata on a pull is to set "programId" to the correct value.


By chance, is the tmsId referred to by n2lovell the same as the programId?

My original metadata files, which are generated by metagenerator contained valid programIds and were failing before I started changing anything. However, I took the small test files that I used and added these back in. For E01 and E02, these are "programId : EP012599310001" and "programId : EP012599310002"

Since it appears that Tivo might be filling in metadata automatically based on programId and since programId appears to be universally unique, I tried a metadata file with just that one entry. Didn't fill in anything and didn't group.

So, back to the basic metadata file with title, seriesTitle, episodeTitle, description, episodeNumber, seriesId and isEpisode, I added the correct programId. Transferred the test files and again the metadata is still wrong. It continued to use the metadata taken from Episode 7 (as do all episodes in this group).


----------



## spamjam

Folks are having this problem using Desktop as well. 
http://www.tivocommunity.com/tivo-vb/showthread.php?t=523490
Seems as though something's changed on the Tivo server.


----------



## n2lovell

bantar said:


> I've also removed the "title" line and then corrupted the seriesTitle to force a no match scenario. No seriesID and no title. For instance: "seriesTitle : Hhot in CCleveland". This was quite telling. Yet a new grouping folder due to no seriesId and no existing title, BUT the metadata transferred correctly! Transferred a second episode with the same title and .... sigh..... it failed. It used the metadata from the previous transfer instead of the current file. Both metadata files were stripped bear and with only a few lines.
> 
> Any thoughts? I'm willing to experiment more and post the results. Thanks!


If the "programId" (which I think is a tms formatted id if I remember correctly) matches a program in existing guide data on the box. It will reuse that until it gets GC'd out. The only way to get rid of that quickly is to delete the recording(s) referencing them completely then running clear pgd... Otherwise it takes several days.

So if you transfer a recording with different metadata once and then transfer the same one again but with the same programId it reuses the old metadata. Its possible that in the cases where people are getting incorrect data in their transfers its because something "fun" is going on with coming up with unique fake ids.

If you set the programId in the above case to EP012599310002. It probably would have come across correctly (if it was a pull). Pushes screw with both the seriesId and programId fields, and the search it does with just the title + epTitle returns two results (so it won't have matched any data).

The metadata searching isn't based on the programId at the moment because it was too reliant on padding. Its only used for disambiguation after getting results.
So the minimum set for a search that returns multiple results to bring in metadata for a tv series is title, episode title, and programId (or seriesId if you've previously inserted/found the correct series from another metadata match).


----------



## jcthorne

n2lovell said:


> The metadata searching isn't based on the programId at the moment because it was too reliant on padding. Its only used for disambiguation after getting results.
> So the minimum set for a search that returns multiple results to bring in metadata for a tv series is title, episode title, and programId (or seriesId if you've previously inserted/found the correct series from another metadata match).


Reducing the metadata.txt to the following still results in a push with metadata from the first episode of the series pushed weeks ago, not the data for the current episide being pushed. Exactly the same as with complete metadata file.

title : Scorpion
seriesTitle : Scorpion
episodeTitle : Revenge
programId : EP019223320011
seriesId : SH01922332

BUT, I then tried with the same metadata.txt file but deleted the last line, seriesId, and pushed again.

This time the file pushed, got the correct episode title and other data. MUCH more metadata. Actors, director, rating etc, just like a tivo recording. Not only that, it grouped on the tivo with other episodes of this series that the tivo recorded and episodes that I pulled last week. Pushes have never grouped with pulls and tivo recordings before.

This begins to look like a needed change in the pytivo code for pushes, needs to send a very limited set of data and let the mind server look the data up.

Can someone else verify what I have seen this morning? This is a major step forward. I think.


----------



## lpwcomp

n2lovell said:


> The metadata searching isn't based on the programId at the moment because it was too reliant on padding. Its only used for disambiguation after getting results.
> So the minimum set for a search that returns multiple results to bring in metadata for a tv series is title, episode title, and programId (or seriesId if you've previously inserted/found the correct series from another metadata match).


And you know this because...?


----------



## jcthorne

lpwcomp said:


> And you know this because...?


Perhaps he cannot say.....

But the info turned out to be correct. Needs more testing but its working for me and its much appreciated. Still to figure out where this leads. Its a shift in how metadata is applied for sure.

I'll take info from a little birdie if it works. Would not be the first time someone 'inside' dropped in here at TCF and left a nugget of info to get a development issue sorted.


----------



## bantar

n2lovell said:


> If the "programId" (which I think is a tms formatted id if I remember correctly) matches a program in existing guide data on the box. It will reuse that until it gets GC'd out. The only way to get rid of that quickly is to delete the recording(s) referencing them completely then running clear pgd... Otherwise it takes several days.
> 
> <snip>


This note is a bit long, but it has potentially useful findings. Maybe someone will be able to take this a step further.

The randomness of which metadata is used appears to be the metadata of the 1st file transferred. In cases where my Tivo is picking up metadata from, let's say, E07, it just so happens that the metadata for E01-E06 had already been cleared/aged out of its memory. With my testing so far, everytime I start a new grouping, the system uses the metadata from the first transfer. From hereafter, I will just call the error "mangled metadata".

I took another series that was previously transferred with the mangled metadata and decided to pull a few episodes to see what happened. For this test, the metadata files of both the pushes and pulls were the original as generated by metagenereator with the exception that I add [S02Exx] to the title. Two interesting observations from this exercise. 1) Grouping is DIFFERENT. Pulls are in a different group from pushes. 2) Pulls correctly pulled the metadata. 3) "Correctly" is not quite right. Pulls have valid metadata, but it is different from what is stored in my metadata file. The description is different. Also, by accident, I left episode : 101 in 2 different files, but it was ignored. Each episode was correct after the transfer. So, I decided to again push these same 2 files that were successfully pulled. As expected, it went in the previous group and had mangled metadata.

Using "Tivo remembers some data" as a hypothesis, I set out to see if new series would behave differently.

I kept my two original test video files, but rewrote the abbreviated metadata file to use older series (Benson) that I know have never been recorded on this device. Then these were pushed from pyTivo. It worked correctly. Pushed the same 2 again. It worked correctly again. Pushed 2 new episode metadatas using full metadata file as generated by metagenerator. Interesting. Abbreviated vs Full Metadata results in DIFFERENT Grouping. Those 2 files with full metadata ended up with the mangled metadata.

Example metadata file that works for pushes (that Tivo doesn't already remember):


Code:


title : Benson
seriesTitle : Benson
episodeTitle : Benson in Love
programId : EP000005270104
seriesId : SH000527

Example metadata file that fails for pushes:
However, this works for pulls:


Code:


title : Benson
seriesTitle : Benson
episodeTitle : Benson in Love
episodeNumber : 104
programId : EP000005270104
originalAirDate : 1979-10-04T00:00:00Z
description : Benson meets an attrative woman in the mansion and asks her out, not knowing she is a senator.
isEpisode : true
seriesId : SH000527
vSeriesGenre : Comedy
vPrimaryGenre : Comedies
vWriter : Colleary|Bob
vActor : Bird|Billie
vActor : Fraser|Bob
vActor : McWilliams|Caroline
vActor : Conn|Didi
vActor : Phillips|Ethan
vActor : Swenson|Inga
vActor : Noble|James
vActor : Stadlen|Lewis J.
vActor : Gold|Missy
vActor : Auberjonois|Rene
vActor : Guillaume|Robert

Continuing with the memory theory, I cleared the program data to see if it would help. The steps for this were: Deleted existing subject TV series recordings. Permanently deleted the files from Recently Deleted. Cleared Program Data. Pushed files using abbreviated metadata file format. Transferred 4 episodes each of 3 series. Of the 12, 10 failed and 2 in one series were correct. I can't explain this inconsistent behavior. It would appear that this is not a solution.

Possible facts:
1) The same series can cause at least 3 different groupings. 1) Pushes with abbreviated Metadata, 2) Pushes with full (metagenerator) metadata files and 3) Pulls with either metadata (abbreviated or full)

2) Pulls have valid metadata, but replace the metadata with its own version. (Not sure this is universally true). It does keep Title changes, such as the addition of [S0XE0Y].

3) This new metadata mangling problem is tied to Tivo's memory of program data. Clearing the program data does not appear to fix this issue.

4) The memory issue is attached to a particular grouping. It's not related to the episode in anyway. Transferring new episode for a remembered group fails the same as transferring a previously transferred episode.

5) Pulls seem to ignore some extra data in episode titles and still work. For instance, both formats of title are fine: "Birthdates [S01E03]" or "Birthdates". It replaces the title with its own version.

6) Push works today with the following caveats: 1) Must be a series not already remembered by Tivo, 2) Must use abbreviated metadata file containing: title, seriesTitle, episodeTitle, programId, seriesId. You can push as many as you want using this format.

7) For existing series that are now mangled, you must now use pulls if you want correct metadata.


----------



## lpwcomp

jcthorne said:


> Perhaps he cannot say.....
> 
> But the info turned out to be correct. Needs more testing but its working for me and its much appreciated. Still to figure out where this leads. Its a shift in how metadata is applied for sure.
> 
> I'll take info from a little birdie if it works. Would not be the first time someone 'inside' dropped in here at TCF and left a nugget of info to get a development issue sorted.


Ok, I did some testing and n2lovel appears to be correct as to how it works now. I got correct metadata even when I had no programId as long as the seriesTitle and episodeTitle were correct. He is also correct in saying that once bad data gets associated with a programId, there is no easy way to fix it.

This has revealed an issue with both Metagenerator and pyTivoMetaThis (which is what I usually use). They both get episodeTtitle from theTVDB. The problem is that this is not always the same as the one that TMS has, and it must be in order for the metadata to be correct.


----------



## n2lovell

jcthorne said:


> title : Scorpion
> seriesTitle : Scorpion
> episodeTitle : Revenge
> programId : EP019223320011
> seriesId : SH01922332


Hrmm, if the seriesId is set then it isn't properly discarding the mangled series information in all cases. This accounts for why its not linking the found metadata back to the same folder as a normal "finding" in all cases (i.e. its only working the first time).

Ah, and that actually accounts for the reason for episodeTitles not changing.

Note: Dropping the seriesId normally is a bad idea for a push though because even if you don't set them, they get sent down. Thus only matches that return a single result work (i.e. shows with Spanish dubs would have issues foldering).

This is only a problem for push and not pull.


----------



## HerronScott

n2lovell said:


> Hrmm, if the seriesId is set then it isn't properly discarding the mangled series information in all cases. This accounts for why its not linking the found metadata back to the same folder as a normal "finding" in all cases (i.e. its only working the first time).
> 
> Ah, and that actually accounts for the reason for episodeTitles not changing.
> 
> Note: Dropping the seriesId normally is a bad idea for a push though because even if you don't set them, they get sent down. Thus only matches that return a single result work (i.e. shows with Spanish dubs would have issues foldering).
> 
> This is only a problem for push and not pull.


Sorry I've been skimming these (plus never really looked very hard at the metadata before), but could this change have anything to do with the issue people have been reporting when transferring folders that all the shows get the same information as the first show transferred?

Scott


----------



## n2lovell

HerronScott said:


> Sorry I've been skimming these (plus never really looked very hard at the metadata before), but could this change have anything to do with the issue people have been reporting when transferring folders that all the shows get the same information as the first show transferred?
> 
> Scott


For push - yes. Only way around it for now is to drop the seriesId (you can keep the programId). Although it might not folder properly that way.


----------



## lpwcomp

HerronScott said:


> Sorry I've been skimming these (plus never really looked very hard at the metadata before), but could this change have anything to do with the issue people have been reporting when transferring folders that all the shows get the same information as the first show transferred?
> 
> Scott





n2lovell said:


> For push - yes. Only way around it for now is to drop the seriesId (you can keep the programId).


Or not queuing up multiple pushes of the same series. IOW, wait for the transfer of one episode to complete before queuing up the next one. All things considered, it would probably be easier to do pulls until this problem is fixed.

Not sure what happens if you alternate series so that you are never have two episodes of the same series queued up back to back.


----------



## bantar

n2lovell said:


> For push - yes. Only way around it for now is to drop the seriesId (you can keep the programId). Although it might not folder properly that way.


While you might be able to drop the series id for new series that the tivo doesn't have info cached, this will not fix a series that you have already broken. For broken ones, you MUST use pulls to resolve.

I had my Tivo pulling for hours today after deleting the corrupted files. Every pull worked just fine with no need to alter the metadata.


----------



## jcthorne

I was able to push a number of series that previously resulted in mangled metadata by using the abbreviated metadata dropping seriesId but keeping programId. They pushed correctly but grouped with other episodes that had been pulled. Pushes grouping with pulls and tivo recorded items has never worked before.

Seems there is a bug with the seriesId though as that should not cause the metadata to be incorrect as long as the seriesId is correct.

This could also be why TivoDesktop is not pushing correctly.

Seems a bug on the tivo side, perhaps on the mind server.


----------



## email68

New user trying to get pyTivo running on my WHS 1.0 box.

I followed the instructions from the pyTivo wiki. My pyTivo.conf file looks like this:



> [Server]
> tivo_password = xxxxxxxx
> tivo_mak = xxxxxxx
> ffmpeg = c:\pyTivo\bin\ffmpeg.exe
> tdcat = c:\pyTivo\bin\tdcat.exe
> tivodecode = c:\pytivo\bin\tivodecode.exe
> togo_path = c:\tivotogo
> tivo_username = xxxxxxxxx
> 
> [MyMovies]
> path = D:\movies
> type = video


So far I can pull shows from the WHS via the MyShows->Devices menu on Tivo. But when I try and pull a show from Tivo, I get the Unable to Connect error.

The correct IP address is shown, and the correct name of my Tivo is shown. I have a Tivo Roamio Plus.

I don't know how to create or save the log file, let me know and I'll post it.


----------



## HerronScott

I have had this working on my WHS 1.0 server for a couple of years now and it works great. I do recall having to make exceptions in the Windows Firewall to support it.

pyTivo
Port 9032
TCP

Zeroconf for pyTivo
Port 5353
UDP

Scott


----------



## caddyroger

In the tivo box it has Caddy and caddy 2 listed but I only have 1 tivo named Caddy. When I install kmttg it will have 2 tivos listed No 1 is caddy with Ip address of 192.168.1.15 which is correct. I am guessing that Caddy2 is using the 192.168.1.99 as the streaming ip.
Auto push is showing Caddy and caddy 2 and defaulting to Caddy 2. Auto push does work not unless I go to the tivo and click on Caddy.
How can get auto push to only show Caddy in the tivo box?
I have a screen shot of router connection ip.


----------



## moyekj

If you update your kmttg installation it won't see the 2nd bogus Caddy (2) which is the internal Stream.


----------



## caddyroger

moyekj said:


> If you update your kmttg installation it won't see the 2nd bogus Caddy (2) which is the internal Stream.


I am very sorry but this is the pytivo auto push software.


----------



## bantar

jcthorne said:


> I was able to push a number of series that previously resulted in mangled metadata by using the abbreviated metadata dropping seriesId but keeping programId. They pushed correctly but grouped with other episodes that had been pulled. Pushes grouping with pulls and tivo recorded items has never worked before.
> 
> Seems there is a bug with the seriesId though as that should not cause the metadata to be incorrect as long as the seriesId is correct.
> 
> This could also be why TivoDesktop is not pushing correctly.
> 
> Seems a bug on the tivo side, perhaps on the mind server.


To be sure, I repeated my test by removing just the seriesId from the metadata file and pushed 4 test files. They failed as before all taking the metadata of the first one pushed. Not sure why we might be seeing different results. However, another tell is that mine did not group with the pulled ones.


----------



## jcthorne

Mine that failed at first and then worked with minimal metadata only had 4 lines in the metadata.txt file:

title : Scorpion
seriesTitle : Scorpion
episodeTitle : Revenge
programId : EP019223320011

I pushed several like this, they got metadata from the mind server and grouped with others in the Scorpion series. Before trying with the minimal meatadata, they did just as yours, all taking the metadata of the oldest push on the tivo for that series. I also have a couple episodes in that group that were pulled. The only difference I can see between the pulls and pushes now is that the pushes are copy protected.


----------



## overFEDEXed

spamjam said:


> Folks are having this problem using Desktop as well.
> http://www.tivocommunity.com/tivo-vb/showthread.php?t=523490
> Seems as though something's changed on the Tivo server.


I posted in that thread and have an odd fix FOR TIVO DESKTOP ONLY.

I know this is a pyTivo thread with this problem, but wanted to ask n2lovell or others a question. Why if I drop my video files in an older folder on my PC, they push with the correct title? With my new folders, I get all of the same names of course. These older, working folders were created before the Nov. updates, but I don't know if it matters or not.

This works for what I need, but I'm just curious.

Thanks


----------



## bantar

jcthorne said:


> Mine that failed at first and then worked with minimal metadata only had 4 lines in the metadata.txt file:
> 
> title : Scorpion
> seriesTitle : Scorpion
> episodeTitle : Revenge
> programId : EP019223320011
> 
> I pushed several like this, they got metadata from the mind server and grouped with others in the Scorpion series. Before trying with the minimal meatadata, they did just as yours, all taking the metadata of the oldest push on the tivo for that series. I also have a couple episodes in that group that were pulled. The only difference I can see between the pulls and pushes now is that the pushes are copy protected.


I retried it one more time with an abbreviated metadata file. It still failed. However, there's one more variable that might be causing me grief and not you. I don't know if the titles from TvDB matches the data in TMS. However, in my previous testing, I used 4 different series as a hedge against this, but they could all have issues too.

Oh well, for now, I'm content with Pulls vs having bad metadata. I look forward to a fix as it is definitely inconvenient.


----------



## lpwcomp

lpwcomp said:


> Ran into this problem yesterday when I pushed 2 episodes of "Once Upon A Time" to a friend of mines Premiere (she had reception problems). Today, she needed two episodes of "The Originals". This time I waited until the transfer of the first episode was complete before I queued up the second episode and it got the correct episode title.


So much for that theory. I sent multiple episodes of a series today, carefully waiting for one to complete before queuing the next one and they all got the same episode title. TiVo really needs to fix this problem.


----------



## HerronScott

Has anyone reported it to TiVo?

Scott


----------



## lpwcomp

HerronScott said:


> Has anyone reported it to TiVo?
> 
> Scott


Yes.


----------



## rassi

We have two TiVos - a TiVoHD and a Roamio Plus. Using pyTiVo for several years, and beyond one issue it's working well. Only issue I have is that on the Roamio the "view" for my NAS drives that pyTiVo is sharing keeps changing from group view to file view. This works fine for our Movies drive, but the "other" category has too many individual files so pyTivo dies. If I go into the movies drive first and change back to group view, everything works fine. But next time I try and view the pyTiVo drives, it reverts back to file view. Not sure if this is an issue with the Roamio or pyTivo....???


----------



## bareyb

rassi said:


> We have two TiVos - a TiVoHD and a Roamio Plus. Using pyTiVo for several years, and beyond one issue it's working well. Only issue I have is that on the Roamio the "view" for my NAS drives that pyTiVo is sharing keeps changing from group view to file view. This works fine for our Movies drive, but the "other" category has too many individual files so pyTivo dies. If I go into the movies drive first and change back to group view, everything works fine. But next time I try and view the pyTiVo drives, it reverts back to file view. *Not sure if this is an issue with the Roamio or pyTivo....???*


It's TiVo. My Roamio does the same thing. I just push the number 2 on the remote and the folders come right back.


----------



## lpwcomp

rassi said:


> We have two TiVos - a TiVoHD and a Roamio Plus. Using pyTiVo for several years, and beyond one issue it's working well. Only issue I have is that on the Roamio the "view" for my NAS drives that pyTiVo is sharing keeps changing from group view to file view. This works fine for our Movies drive, but the "other" category has too many individual files so pyTivo dies. If I go into the movies drive first and change back to group view, everything works fine. But next time I try and view the pyTiVo drives, it reverts back to file view. Not sure if this is an issue with the Roamio or pyTivo....???


Known issue with the current Premiere/Roamio s/w. Not a pyTivo problem nor is there likely a way to kludge it. If you look, you'll note that the same problem exists when viewing the THD from the Roamio. Until it is fixed, what you can do is select a share (or the THD) that is small enough so that it doesn't cause pyTivo to crash and, if groups are disabled, enable them by entering a "2", back out, and then select the large share. *Do not go to TiVo Central in between.* That will cause it to revert to "Groups Off" for shares and pre Series 4 TiVos.

What might also work is if you enter a 2 after selecting a share but before pyTivo crashes. I don't have a share with enough recordings in it to test this. Plus, if groups are still on, this will turn them off.


----------



## jcthorne

While pytivo may not be able to do anything about the grouping error, it should not crash, no matter how many files are on a share.

Please post the log file for the crash and hopefully wmcbrine will be able to have a look and kill the bug.


----------



## wmcbrine

Right, there's no hard limit on the number of files; but without grouping, pyTivo might choke on some specific file that it doesn't reach when folders are on (until you enter the folder where that file is).

Also, there's a timeout on the list, on the TiVo end, which is easier to hit when grouping is off. In this case, you'd just get a "no files found" type message. But it should work if you then exit and re-enter the share.


----------



## steveyal

Anyone have a link to the latest version of PyTivo? thanks.


----------



## HerronScott

http://pytivo.sourceforge.net/wiki/index.php/PyTivo

The download is actually on this page (use the Download ZIP on the right-side of the page)

https://github.com/wmcbrine/pytivo

Scott


----------



## email68

bareyb said:


> It's TiVo. My Roamio does the same thing. I just push the number 2 on the remote and the folders come right back.


Thanks for posting this! :up: It was one piece of info I was missing.


----------



## steveyal

Ok. so, I installed Python as well as PIL-1.1.7.win32-py2.7.exe and I have ffmpeg-2.5.1 folder on my desktop.

I DL'd PyTivo from sourceforge but am stumbling with these instructions:

"You need to edit pyTivo.conf in 3 places

1. ffmpeg=
2. [<name of share>]
3. path=

ffmpeg should be the full path to ffmpeg including filename. path is the 
absolute path to your media."

What does this mean and how do I do it? Thanks.


----------



## dlfl

steveyal said:


> Ok. so, I installed Python as well as PIL-1.1.7.win32-py2.7.exe and I have ffmpeg-2.5.1 folder on my desktop.
> 
> I DL'd PyTivo from sourceforge but am stumbling with these instructions:
> 
> "You need to edit pyTivo.conf in 3 places
> 
> 1. ffmpeg=
> 2. [<name of share>]
> 3. path=
> 
> ffmpeg should be the full path to ffmpeg including filename. path is the
> absolute path to your media."
> 
> What does this mean and how do I do it? Thanks.


I would recommend the Windows install instructions on the pyTivo wiki:
http://pytivo.sourceforge.net/wiki/index.php/Windows_Install
I'm not sure how current the instructions you're quoting are, but the ones on the wiki will be much clearer and more detailed.


----------



## bareyb

moyekj said:


> At least one biggie that comes to mind: If you have a series 4 TiVo as destination and set ts=on in pyTivo config you can now pull H.264 videos without pyTivo having to transcode to mpeg2. Previously you could only get H.264 natively to your TiVo via push. For a casual user though that may be a don't care.


Okay been about a year since I upgraded PyTiVo to the latest version. Is there anything new and cool that you guys added that I'd need to upgrade for?


----------



## steveyal

Ok. First, thanks everyone for their help thus far. I have everything installed and I my PC showing up in the MY SHOWS menu in TiVo central. However, I can't seem to populate the folder.

In pyTivo settings I listed my path as d:\movies
but the movies in that folder are not showing up in the movies folder on the DVR menu.

I tried checking the force alpha and the force ffmpeg boxes; but that seems to have made no difference.

I fixed the path for ffmpeg to C:\pyTivo\bin\ffmpeg.exe
which is where I put it and I added my TiVo user namr and password.

any suggestions?


----------



## lpwcomp

steveyal said:


> Ok. First, thanks everyone for their help thus far. I have everything installed and I my PC showing up in the MY SHOWS menu in TiVo central. However, I can't seem to populate the folder.
> 
> In pyTivo settings I listed my path as d:\movies
> but the movies in that folder are not showing up in the movies folder on the DVR menu.
> 
> I tried checking the force alpha and the force ffmpeg boxes; but that seems to have made no difference.
> 
> I fixed the path for ffmpeg to C:\pyTivo\bin\ffmpeg.exe
> which is where I put it and I added my TiVo user namr and password.
> 
> any suggestions?


Post your pyTivo.conf file after redacting sensitive entries like user names, passwords and your MAK


----------



## steveyal

Anyone see anything wrong with this configuration? Why does my Tivo box say "The Movies PC has no recordings. Press LEFT to return to the My Shows list."

[Server]
ffmpeg_wait = 0
tivo_password = #######
tivo_mak = ###########
tivo_username = steven.###########@gmail.com
ffmpeg = C:\pyTivo\bin\ffmpeg.exe

[_tivo_SD]

[_tivo_HD]

[Movies]
force_ffmpeg = on
path = D:\Movies
type = video


----------



## lpwcomp

steveyal said:


> Anyone see anything wrong with this configuration? Why does my Tivo box say "The Movies PC has no recordings. Press LEFT to return to the My Shows list."
> 
> [Server]
> ffmpeg_wait = 0
> tivo_password = #######
> tivo_mak = ###########
> tivo_username = steven.###########@gmail.com
> ffmpeg = C:\pyTivo\bin\ffmpeg.exe
> 
> [_tivo_SD]
> 
> [_tivo_HD]
> 
> [Movies]
> force_ffmpeg = on
> path = D:\Movies
> type = video


Make sure you are running an up to date version of ffmpeg.

Make sure you are running an up to date version of pyTivo. I could be wrong, but I don't believe the one at sourceforge is it.

It would be nice to have the messages that pyTivo is producing.

What kind of video files are in D:\Movies?


----------



## HerronScott

lpwcomp said:


> Make sure you are running an up to date version of pyTivo. I could be wrong, but I don't believe the one at sourceforge is it.


The Download and Current releases link on the pyTivo Sourceforge site points to wmcbrine's repository on github.com site for downloading.

Scott


----------



## steveyal

HerronScott said:


> The Download and Current releases link on the pyTivo Sourceforge site points to wmcbrine's repository on github.com site for downloading.
> 
> Scott


I Dl'd everything from this link:

http://pytivo.sourceforge.net/wiki/i...indows_Install
are these the most up to date versions of PyTivo and ffmpeg? If not, where can I get them? The types of files in my directory are mostly MKVs of H264's.

How would I go about getting you guys the messages that pyTivo is producing.


----------



## gonzotek

By any chance, is your D drive a network drive? If you (temporarily) change the pytivo share to a folder on your C drive (for instance C:/Users/your_user_name/Videos), can you see the files in that folder on the Tivo?(obviously it needs to have at least one file in it first, if it's empty, copy over one of the mkvs from the D drive, for testing)



> How would I go about getting you guys the messages that pyTivo is producing.


If you're running it in a command prompt window, right-click in the window and choose "Select All". You should see the whole window highlighted; then press 'Enter'. That will copy the text to your clipboard. Then you can paste it into a message here. Add CODE tags to make it easier to read: [ CODE] bunch of pytivo messages....[/CODE ] (don't place spaces inside the brackets when you do it, they're just there for illustration): 


Code:


 bunch of pytivo messages....


----------



## lpwcomp

steveyal said:


> I Dl'd everything from this link:
> 
> http://pytivo.sourceforge.net/wiki/i...indows_Install
> are these the most up to date versions of PyTivo and ffmpeg? If not, where can I get them?


Looks like you have the correct versions of everything.



steveyal said:


> The types of files in my directory are mostly MKVs of H264's.


So there are mostly .mkv files in D:\Movies? Should work. If you bring up the pyTivo browser interface and select "Movies" under "Push from video shares", what does it show?



steveyal said:


> How would I go about getting you guys the messages that pyTivo is producing.


If you're running as a service, I don't know. If running in a command prompt, you should be able to cut & paste the messages.

I will have to defer to those with more know about thio than I do, but could this be a Windows firewall problem?


----------



## dlfl

I have good luck with the Zeranoe ffmpeg builds:
http://ffmpeg.zeranoe.com/builds/
As that page suggests, just download the 32-bit static build -- even if you have a 64-bit system.


----------



## wmcbrine

For the record, the SourceForge repo and my Github repo are the same, along with the old repo.or.cz. I update all three at once.


----------



## steveyal

"So there are mostly .mkv files in D:\Movies? Should work. If you bring up the pyTivo browser interface and select "Movies" under "Push from video shares", what does it show?"

All the folders on my D drive are listed there...but nothing is getting through to the Tivo


----------



## steveyal

"If you're running it in a command prompt window, right-click in the window and choose "Select All". You should see the whole window highlighted; then press 'Enter'. That will copy the text to your clipboard. Then you can paste it into a message here. Add CODE tags to make it easier to read: [ CODE] bunch of pytivo messages....[/CODE ] (don't place spaces inside the brackets when you do it, they're just there for illustration):"

Right and or left clicking in the window does nothing, no menus come up.


----------



## steveyal

"By any chance, is your D drive a network drive? If you (temporarily) change the pytivo share to a folder on your C drive (for instance C:/Users/your_user_name/Videos), can you see the files in that folder on the Tivo?(obviously it needs to have at least one file in it first, if it's empty, copy over one of the mkvs from the D drive, for testing)"

Tried...no joy.


----------



## steveyal

I use a VPN for internet and other stuff ; ). Could this be an issue?


----------



## steveyal

OK, so here's what in the dos prompt. Seems it's not finding ffmpeg. How is ffmpeg placed in the bin folder. I just stuck the folder IDL'd from the Zearanoe link and directed pyTivo to the folder name. Is there more I need to do to help pyTivo find the programs it needs?

INFOyTivo:Last modified: Thu Aug 07 22:01:32 2014
INFOyTivoython: 2.7.9
INFOyTivo:System: Windows-7-6.1.7601-SP1
ERRORyTivo.config:Bad ffmpeg path: C:\pyTivo\bin\ffmpeg.exe
WARNINGyTivo.config:ffmpeg not found
INFO pyTivo.beacon Scanning for TiVos...
INFO pyTivo.beacon Media Room
INFO pyTivo.beacon Announcing shares...
INFO pyTivo.beacon Registering: Movies
INFO pyTivopyTivo is ready.


----------



## lpwcomp

steveyal said:


> OK, so here's what in the dos prompt. Seems it's not finding ffmpeg. How is ffmpeg placed in the bin folder. I just stuck the folder IDL'd from the Zearanoe link and directed pyTivo to the folder name. Is there more I need to do to help pyTivo find the programs it needs?
> 
> INFOyTivo:Last modified: Thu Aug 07 22:01:32 2014
> INFOyTivoython: 2.7.9
> INFOyTivo:System: Windows-7-6.1.7601-SP1
> ERRORyTivo.config:Bad ffmpeg path: C:\pyTivo\bin\ffmpeg.exe
> WARNINGyTivo.config:ffmpeg not found
> INFO pyTivo.beacon Scanning for TiVos...
> INFO pyTivo.beacon Media Room
> INFO pyTivo.beacon Announcing shares...
> INFO pyTivo.beacon Registering: Movies
> INFO pyTivopyTivo is ready.


Was it a folder or a zip file? If the latter, you need to unzip it and then move ffmpeg.exe into the CyTivo\bin folder since that's where you told pyTivo to look for it.


----------



## steveyal

lpwcomp said:


> Was it a folder or a zip file? If the latter, you need to unzip it and then move ffmpeg.exe into the CyTivo\bin folder since that's where you told pyTivo to look for it.


Haha. I'm slow; but not that slow. It's unzipped. I have a folder called pyTivo on my root. In there, I have amongst other things a folder called bin. In the folder called bin i have another folder called ffmpeg. In that folder is a program called ffmpeg.exe. Does that sound right?


----------



## steveyal

Success....sorta. I played around with my ffmpeg path and now I have two movies that I "pushed" in the directory; but the other 400 movies in the folder aren't listed.


----------



## Wil

steveyal said:


> Haha. I'm slow; but not that slow. It's unzipped. I have a folder called pyTivo on my root. In there, I have amongst other things a folder called bin. In the folder called bin i have another folder called ffmpeg. In that folder is a program called ffmpeg.exe. Does that sound right?


Take a close look at your path to ffmpeg.exe again. I think you missed the ffmpeg folder.


----------



## lpwcomp

steveyal said:


> Success....sorta. I played around with my ffmpeg path and now I have two movies that I "pushed" in the directory; but the other 400 movies in the folder aren't listed.


So what do the pyTivo messages say now?

What do you mean by "pushed"? That generally refers to recordings pushed from the PC to the TiVo.


----------



## steveyal

INFO pyTivo Last modified Thu Aug 07 22:01:32 2014
INFO pyTivo Python: 2.7.9
INFO pyTivo System: Windows-7-6.1.7601-SP1
INFO pyTivo.beacon:Scanning for TiVos...
INFO pyTivo.beacon:Media Room
INFO pyTivo.beacon:Announcing shares...
INFO pyTivo.beacon:Registering: Movies
INFO pyTivoyTivo is ready.
INFO pyTivo:192.168.1.15 [22/Dec/2014 21:44:36] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFOyTivo:192.168.1.6 [22/Dec/2014 21:44:36] "GET /TiVoConnect?Command=QueryCo
ntainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFOyTivo:192.168.1.15 [22/Dec/2014 21:44:36] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -


----------



## lpwcomp

steveyal said:


> So, when you go here, http://localhost:9032/
> 
> You have two choices, hit settings or hit Push from video shares.
> 
> I did the latter and the two films i clicked to put in the cue to push are now showing up on the tivo...but nothing else is.


Thhere's no "Movies" folder/group at the bottom of "My Shows"?


----------



## steveyal

Scratch that. I'm good to go!!!!

Now, how can I access this stuff from my mini?


----------



## steveyal

Someone mentioned using a cell phone app....


----------



## steveyal

Also, is there a way for pyTivo to see multiple paths? I have a few directories on different drives with movies.


----------



## Wil

steveyal said:


> Also, is there a way for pyTivo to see multiple paths? I have a few directories on different drives with movies.


Just add them to the configuration file: new names, same format.


----------



## steveyal

Wil said:


> Just add them to the configuration file: new names, same format.


Thanks Wil. Now how about accessing these from my mini or using an app to access the list from my mini?


----------



## Wil

steveyal said:


> None of the above seem to work.


No.

Back up. Completely new section for each location. I think I just copy my original location section then paste multiple times and go back and edit in the new name and specific location.


----------



## steveyal

Wil said:


> No.
> 
> Back up. Completely new section for each location. I think I just copy my original location section then paste multiple times and go back and edit in the new name and specific location.


Here's my conf. I seem to only be getting one directory at a time (the last one on the list.

[Server]
ffmpeg_wait = 0
tivo_password = XXXXXX
tivo_mak = XXXXXXX
tivo_username = [email protected]
ffmpeg = C:\pyTivo\bin\ffmpeg\bin\ffmpeg.exe

[_tivo_SD]

[_tivo_HD]

[Movies]
force_ffmpeg = on
path = e:\movies
path = d:\movies
path = g:\3D Movies
type = video


----------



## Wil

steveyal said:


> [Movies]
> force_ffmpeg = on
> path = e:\movies
> path = d:\movies
> path = g:\3D Movies
> type = video


No.

Back up. Completely new section for each location. I think I just copy my original location section then paste multiple times and go back and edit in the new name and specific location.

eg:

[Movies1]
force_ffmpeg = on
path = e:\movies
type = video

[Movies2]
force_ffmpeg = on
path = g:\movies
type = video

[Movies3]
force_ffmpeg = on
path = g:\3D Movies
type = video

etc, etc


----------



## steveyal

Wil said:


> No.
> 
> Back up. Completely new section for each location. I think I just copy my original location section then paste multiple times and go back and edit in the new name and specific location.
> 
> eg:
> 
> [Movies1]
> force_ffmpeg = on
> path = e:\movies
> type = video
> 
> [Movies2]
> force_ffmpeg = on
> path = g:\movies
> type = video
> 
> [Movies3]
> force_ffmpeg = on
> path = g:\3D Movies
> type = video
> 
> etc, etc


You are a good dude Wil.


----------



## steveyal

Now, how can I go about accessing all of this lovely pyTivo goodness from my living room and family rooms where I have minis set up?


----------



## lpwcomp

steveyal said:


> Now, how can I go about accessing all of this lovely pyTivo goodness from my living room and family rooms where I have minis set up?


Unfortunately you can't, not directly. You can install HME for Python and install and configure Vidmgr. I believe that shows up under "Apps & Games" on the Mini and you can use it to push videos to the TiVo.

If you need help with that, there is a thread dedicated to vidmgr here.


----------



## David Platt

steveyal said:


> Also, is there a way for pyTivo to see multiple paths? I have a few directories on different drives with movies.





steveyal said:


> Success....sorta. I played around with my ffmpeg path and now I have two movies that I "pushed" in the directory; but the other 400 movies in the folder aren't listed.





steveyal said:


> Thanks Wil. Now how about accessing these from my mini or using an app to access the list from my mini?


steveyal, I understand you're excited and anxious to get this working, but I want to reiterate some fantastic advice given by Wil here:



> Here is my general advice, having taken a number of new users through various Tivo software installations over the years. There are only a few steps, though there are a few items in the configuration file to be set one at a time:
> 
> 1. Once you've chosen a set of instructions you're going to use as a guide, try to conceptualize an overview of what is happening; i.e. the big picture.
> 2. Step by step. Don't jump ahead until you're confident you have understood and accomplished the current step.
> 3. Try to understand what each step is accomplishing in the big picture, as you're doing it.
> 4. Some guides will assume familiarity with your OS, Mac or Windows or whatever. For example navigating through directories. My experience is that most people screw up an installation through misunderstanding their own OS, rather than any complexity of the Tivo-related software itself.
> 5. Don't implement a step if you don't completely understand what you're supposed to do. No "guessing and we'll see if it works." Ask your question on the referenced forum right away and you can then limit your question to something specific and clear. It's a lot harder to help somebody undo all or part of the installation as opposed to helping him take the next step forward from a known base. I'd rather answer a series of focused questions, one at a time, rather than deal with a complicated description of a mess someone has gotten into the middle of. It's also disconcerting to help somebody through, say, step 4 and it turns out he skipped or screwed up step 2.


----------



## berkshires

lpwcomp said:


> Unfortunately you can't, not directly. You can install HME for Python and install and configure Vidmgr. I believe that shows up under "Apps & Games" on the Mini and you can use it to push videos to the TiVo.
> 
> If you need help with that, there is a thread dedicated to vidmgr here.


I've been looking for a way to use a mini to start transferring a video to its associated TiVo DVR so that video can then be watched by streaming it from the DVR. Essentially a work around to get a TivoDesktop like functionality at the mini. This sounds promising?


----------



## lpwcomp

berkshires said:


> I've been looking for a way to use a mini to start transferring a video to its associated TiVo DVR so that video can then be watched by streaming it from the DVR. Essentially a work around to get a TivoDesktop like functionality at the mini. This sounds promising?


I can't guarantee anything as I don't have a Mini and don't run Vidmgr, but I _*think*_ it works.

You can also use a browser to access pyTivo and push recordings that way.


----------



## berkshires

lpwcomp said:


> You can also use a browser to access pyTivo and push recordings that way.


So, for example, be sitting in front of the mini/TV with my iPhone or iPad in hand and start transferring to my Roamio then have the mini stream off the now playing list?


----------



## lpwcomp

berkshires said:


> So, for example, be sitting in front of the mini/TV with my iPhone or iPad in hand and start transferring to my Roamio then have the mini stream off the now playing list?


Yes, although you might want to wait until it completes transferring cause I've had occasional problems streaming something if there was also a transfer going on.


----------



## steveyal

berkshires said:


> I've been looking for a way to use a mini to start transferring a video to its associated TiVo DVR so that video can then be watched by streaming it from the DVR. Essentially a work around to get a Tivo Desktop like functionality at the mini. This sounds promising?


Thank you for this. So what is this stuff? Does the take the place of pyTivo.py or would I be running both apps together (pyTivo.py and start.py.)?


----------



## lpwcomp

steveyal said:


> Thank you for this. So what is this stuff? Does the take the place of pyTivo.py or would I be running both apps together (pyTivo.py and start.py.)?


Vidmgr is an addition, not a replacement. It won't work unless pyTivo is running.


----------



## lrhorer

One small correction: vidmgr cannot transfer any files if pyTivo is not running, since it employs the pyTivo push engine to actually handle the transfers, but it does still run, and all the database and management features are still available. The main point is valid, however. The primary functionality of vidmgr is highly limited if pyTivo is not running.


----------



## berkshires

I'm pleased to see the level of interest in this. A simple how to guide would be so helpful to many of us.


----------



## dcrowell77

Just a heads-up to everyone, I installed Python 2.7.9 on my Windows 7 box and pytivo doesn't work. Pushes fail with this error:

ERROR: pyTivo.video.video:<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)>

I am also unable to browse the tivo listings themselves from the main pytivo page. It gives an error about a bad MAK which I know is not a problem.

In the release notes for 2.7.9 it says that the entire SSL infrastructure from 3.4 was ported back, so I suspect that is the issue. When I dropped back to 2.7.8 everything started working fine.

(Not sure what version of pytivo I have, was just trying to do something quick so I had copied it over from a previous install from at least a few months back.)


----------



## wmcbrine

dcrowell77 said:


> ERROR: pyTivo.video.video:<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)>


Thanks, this could explain several recent reports. It looks like they just switched the default on whether to do verification from False to True; it should be easy to fix in pyTivo.


----------



## wmcbrine

OK, update pyTivo and try it now.


----------



## danspam

I am getting the 'CERTIFICATE_VERIFY_FAILED' error with python 2.7.9 and have just updated pyTivo to the latest but it has not solved it. Still getting the same error unfortunately.


----------



## wmcbrine

It does solve it. You might reexamine your update prodecdure?


----------



## jcthorne

I was just setting up pytivo on a new laptop this morning and downloaded the latest pytivo. I installed python 279 and the PIL. When trying to push, python gave error messages trying to log into the tivo mind server.

I removed python 279 and installed 276, restarted pytivo and tried again. All works normally on the new install. There is definitely something going on in 279 and pytivo.

276 seems to work just fine so no need of a fix for me. I had been using 272 on the old machine for a number of years, never having a need to update.


----------



## email68

jcthorne said:


> 276 seems to work just fine so no need of a fix for me. I had been using 272 on the old machine for a number of years, never having a need to update.


I experienced sometime similar and put it Python 2.7.6 to fix it.

Another thing to try is make sure the IOS app can download a show. That was another issue I ran into. Turns out Tivo support had to activate something and I had to connect to Tivo for an update, then reboot the Roamio.

After that it's working great.


----------



## wmcbrine

jcthorne said:


> I removed python 279 and installed 276, restarted pytivo and tried again. All works normally on the new install. There is definitely something going on in 279 and pytivo.


I can only repeat what I told danspam. There _was_ a problem with 2.7.9. It is now fixed, definitively. If you're still having a problem, then either you aren't running my latest version, or it's a different problem.


----------



## jcthorne

wmcbrine said:


> I can only repeat what I told danspam. There _was_ a problem with 2.7.9. It is now fixed, definitively. If you're still having a problem, then either you aren't running my latest version, or it's a different problem.


Mine was a different problem. Not an SSL error but at login to the tivo mind server, when starting a push, immediately after sending the username it returned some sort of string format error. Sorry I did not take a screen pic, already removed 279 and installed 276 and all works fine. If no one else reports the problem then it was just my install for some reason and for now I have no need to update to 279.

I always install from the 'download zip' button on the git hub. Did so this morning so what ever version was sent then. Don't see a version number at startup.


----------



## innocentfreak

It has been a while and my google-fu is failing me. 

Was there ever a solution for pushing videos with dual audio tracks so you could either select them on the TiVo or automatically use the English audio?


----------



## jcthorne

n2lovell said:


> Hrmm, if the seriesId is set then it isn't properly discarding the mangled series information in all cases. This accounts for why its not linking the found metadata back to the same folder as a normal "finding" in all cases (i.e. its only working the first time).
> 
> Ah, and that actually accounts for the reason for episodeTitles not changing.
> 
> Note: Dropping the seriesId normally is a bad idea for a push though because even if you don't set them, they get sent down. Thus only matches that return a single result work (i.e. shows with Spanish dubs would have issues foldering).
> 
> This is only a problem for push and not pull.


Has there been any update on the broken push metadata problem with the mind server? IE any resolution other than pull only?


----------



## DFergATL

I just installed and configured pytivo. for the most part, not to bad to setup. I have my music, pictures and two video sections.

However, whenever I transfer a video, any video no matter how long, It stops transfering and then I can't access anything from pytivo unless I reboot the tivo itself. happens every time, without fail. I don't have to do anything to the server at all, only rebooting the tivo will resolve.

Windows 8.1 x64

P.S. I stand corrected. It seems to be only mp4 files.

P.P.S. I now have gotten the same error when canceling a transfer. I don't know what is wrong but I have had to reboot my tivo 5 times to night and I only installed this 3 hours ago.

P.P.P.S. Ok, it has now happened 6 times in 3 hours. This time it was just transferring a file. I can't keep rebooting my tivo every 10 to 15min.

I read in an other thread that this is corrupt file issue. I have tried to transfer 8 files, 6 of them are bad? I am not sure if tivo is really going to work for me. I wanted just one box to do my home theater and if I have to keep my firetv just because tivo won't play files every other setup device will and doesn't support DNLA (it's 2015 for Pete's sake!!) then maybe tivo just isn't worth the money. For the cost of the hardware this type of thing should just work, out of the box.

INFOyTivo.video.video:[07/Jan/2015 21:04:18] Done sending "M:\Videos\Misc\3090
33324.mp4" to Living Room, 12590080 bytes, 4.61 Mb/s
ERRORyTivo:Exception during request from ('192.168.0.7', 33804)
Traceback (most recent call last):
File "C:\Python27\lib\SocketServer.py", line 599, in process_request_thread
self.finish_request(request, client_address)
File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\pyTivo\httpserver.py", line 92, in __init__
client_address, server)
File "C:\Python27\lib\SocketServer.py", line 657, in __init__
self.finish()
File "C:\Python27\lib\SocketServer.py", line 716, in finish
self.wfile.close()
File "C:\Python27\lib\socket.py", line 279, in close
self.flush()
File "C:\Python27\lib\socket.py", line 303, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 10054] An existing connection was forcibly closed by the remote ho
st


----------



## wmcbrine

DFergATL said:


> I read in an other thread that this is corrupt file issue. I have tried to transfer 8 files, 6 of them are bad?


It's certainly possible. I can only say that your experience is not typical.

Note that "bad" in this context doesn't necessarily mean "corrupt"; it might just be that the video doesn't conform to the rather narrow set of specs accepted by the TiVo.

I take it you were pushing from the pyTivo web interface. You could try pulling from the TiVo's My Shows list instead, which would force the videos to be transcoded to MPEG2, using known good specs.


----------



## DFergATL

wmcbrine said:


> It's certainly possible. I can only say that your experience is not typical.
> 
> Note that "bad" in this context doesn't necessarily mean "corrupt"; it might just be that the video doesn't conform to the rather narrow set of specs accepted by the TiVo.
> 
> I take it you were pushing from the pyTivo web interface. You could try pulling from the TiVo's My Shos list instead, which would force the videos to be transcoded to MPEG2, using known good specs.


Actually I am pulling from Tivo. never did a push from pyTivo. All of this has been done from the tivo itself. any suggestions, any at all??

Ya I know that "bad" doesn't necessarily mean "corrupt" but, for the price of this hardware it should be able to support more. and should support dnla. just my thoughts.

I would even be more forgiving but each time this happens I have to reboot the tivo to reconnect to the network again.


----------



## n2lovell

jcthorne said:


> Has there been any update on the broken push metadata problem with the mind server? IE any resolution other than pull only?


Should be in the Feb release.

The release *after* that one, will start accepting users putting the programId into the description of push content. Where in the *first* piece of square bracketed information will get attempted to be interpreted as a programId (i.e. put "[EP012599310002]" in the description and it will attempt to do the metadata matching). Additionally having a matching programId in a pull will be sufficient to do the metadata matching (not just episodeTitle + title matching).

This was done so that content from TTCB will more often get their content merged in with the newly announced OnePass feature (and actually make it likely for push).


----------



## jcthorne

Great news. Thanks for the information. Will be great when episodes start grouping together and in episode order.


----------



## wmcbrine

DFergATL said:


> Actually I am pulling from Tivo. never did a push from pyTivo.


In that case, I'd want to see a more complete log.


----------



## SGLipman

Anyone have an idea on how to get pytivo (or something similar) for a Mac? My current release of PyTivo (which is from 2010) isn't compatible with the Roamio.

Please let me know!

Thanks.


----------



## lpwcomp

SGLipman said:


> Anyone have an idea on how to get pytivo (or something similar) for a Mac? My current release of PyTivo (which is from 2010) isn't compatible with the Roamio.
> 
> Please let me know!
> 
> Thanks.


pyTivo is not a Windows only program and runs fine on a Mac. You just need to have a compatible version of Python installed. Probably want to have an up to date ffmpeg also.


----------



## markp99

lpwcomp said:


> pyTivo is not a Windows only program and runs fine on a Mac. You just need to have a compatible version of Python installed. Probably want to have an up to date ffmpeg also.


I can confirm. pyTivo works fine on my Mac, serving files to my Roamio.

If you have not already, take a look at the following Mac guide:

http://www.tivocommunity.com/tivo-vb/showthread.php?p=8960628


----------



## DFergATL

@wmcbrine

I got most of it working now. I was using Wireless and that was a disaster. I got some network over powerline adapters and now I am having a much better time.  Never used those things before, they are doing better then I would have thought.

I do have a question. I can get almost all my files to work, there are a few. .wmv files that don't work.

When I try to transfer these, I can see in the pyTivo windows what appears to be the files being recoded. They are then transferred to the tivo but they don't play.

I am not sure if there is something I can look for to maybe get these to work. If they don't I will live with it. Just trying to see what I can do.

I am running on Win 8.1 x64
16 gig of ram (Yes, I'm a ram junkie)
I did download the 32bit ffmepeg because I didn't know what other to use an it clearly states on their webiste (Use this if you don't know..) so I did.

Anyway, if there is anything that can be suggested I would like to know.

David


----------



## HerronScott

DFergATL said:


> @wmcbrine
> I do have a question. I can get almost all my files to work, there are a few. .wmv files that don't work.


Where did these wmv files come from? If they are the digital copies that you can download with some BluRay/DVD's, then I don't believe they are going to work as they have DRM-protection.

Scott


----------



## wmcbrine

DFergATL said:


> I do have a question. I can get almost all my files to work, there are a few. .wmv files that don't work.
> 
> When I try to transfer these, I can see in the pyTivo windows what appears to be the files being recoded. They are then transferred to the tivo but they don't play.


Post the log. Also, please elaborate on "they don't play".


----------



## mattack

SGLipman said:


> Anyone have an idea on how to get pytivo (or something similar) for a Mac? My current release of PyTivo (which is from 2010) isn't compatible with the Roamio.


He's referring to PyTivo, which is/was a "semi-GUI-fied" version of pytivo. Really, IIRC, it was some AppleScript thing. I used it at first, but it broke for me long ago.

You can use the command line pytivo on a mac just fine, I use it. It's not the absolute easiest thing in the world to set up (I forget, there's something about server locations that's slightly confusing/different from other apps I think).. but once you set it up, it's easy and works fine.

I don't have it run automatically so just cd into there and do
./pytivo.py
to start it when I want to move things back to the tivo.


----------



## lpwcomp

I thought the Mac specific thing with the gui was pyTivo*X*.


----------



## mattack

That's probably what he's referring to, and IIRC, it broke a long time ago.. again, it was some AppleScript wrapper thing to interact with a CLI shell program.

I forget if that's the one that also had StreamBaby built in... which is actually what I used more than the transfer back to Tivo part..


----------



## DFergATL

@wmcbrine

I am slowly working my way through my issues with pyTivo. I recoded the two wmv files that I could not get to work and they are fine now.

I have noticed something and I don't know where to start. The tivo looses pyTivo, as in the listings for video under devices goes away, along with Music and Photos. I can come to the PC and find the pyTivo window open and no apparent messages. Somtimes, I can come to the PC and pyTivo is not running for some reason.

I am not sure where to start trouble shooting exactly and i don't know where the log files are.

I did a search and found that firewall seems to be a cause of this. Just for testing I turned off my firewall, but it did happen again.

David


----------



## wmcbrine

Yeah, that's a thing that happens. I don't know that we're ever really going to solve it (at least without seeing the code for the TiVo side of the process... it's doing something flakey). The best recommendation I have is to eliminate wifi links between the TiVo and pyTivo -- the disappearances seem to happen when beacon packets are dropped, which is kind of inevitable with wifi, even with a "good" connection. That _shouldn't_ make the TiVos drop pyTivo, of course.

Edit: pyTivo not running is not, however, a thing to expect. From what you've said so far, I'm guessing you're starting pyTivo by clicking on pyTivo.py from the GUI? I'd recommend, instead, starting a CMD window, and then running pyTivo from there, so that the window won't automatically close when pyTivo exits, and you can see any final error messages.

There is no log file unless you set one up. By default, pyTivo just sends everything to the console. So, the contents of the scrollback buffer of the command window will have to do.


----------



## DFergATL

Thanks, I try that and see what I find out. I'm not using Wifi anymore. I got a pair of those network over power line adapters. They seem to be working much better.

http://www.amazon.com/dp/B007ILFFS6...lid=2RO8GXG1H75DE&coliid=I2SFDP1AKB7XAF&psc=1

David


----------



## lrhorer

wmcbrine said:


> Yeah, that's a thing that happens. I don't know that we're ever really going to solve it (at least without seeing the code for the TiVo side of the process... it's doing something flakey). The best recommendation I have is to eliminate wifi links between the TiVo and pyTivo -- the disappearances seem to happen when beacon packets are dropped, which is kind of inevitable with wifi, even with a "good" connection. That _shouldn't_ make the TiVos drop pyTivo, of course.


I have the same thing happen, but only on the Premiere, not on the other TiVos. There are no WiFi links involved.


----------



## DFergATL

I continue to make progress using pytivo. I do have 2 questions please.

1. Groups - Whenever I go into my "TVShows" I set it to display by groups, but when I exit it goes back. How can I set a folder to always use groups?

2. Music - When I go to play a music file the first 1 second or so is cut. Can I fix this?

Thanks 

David


----------



## lpwcomp

DFergATL said:


> I continue to make progress using pytivo. I do have 2 questions please.
> 
> 1. Groups - Whenever I go into my "TVShows" I set it to display by groups, but when I exit it goes back. How can I set a folder to always use groups?


http://pytivo.sourceforge.net/forum...hen-browsing-pytivo-share-t2751-15.html#16785



DFergATL said:


> 2. Music - When I go to play a music file the first 1 second or so is cut. Can I fix this?


Probably not.


----------



## DFergATL

Thanks but

http://pytivo.sourceforge.net/forum/...-15.html#16785

really isn't really helping me. I no idea what it is, where it goes, there is nothing there that I see that answers how to do this.

Need more detailed information, please.


----------



## lpwcomp

DFergATL said:


> Thanks but
> 
> http://pytivo.sourceforge.net/forum/...-15.html#16785
> 
> really isn't really helping me. I no idea what it is, where it goes, there is nothing there that I see that answers how to do this.
> 
> Need more detailed information, please.


Did you click on it in my post? Copying the displayed value won't work.

In any case, an alternative is to edit plugin.py (it's in the same folder as pyTivo.py).

replace the line



Code:


        recurse = query.get('Recurse', ['No'])[0] == 'Yes'

with



Code:


        # recurse = query.get('Recurse', ['No'])[0] == 'Yes'
        recurse = False

Make sure you retain the indentation as that is sigificant in a python program.

Note: This forces it to be grouped and is designed to get around a bug in the current Premiere & Roamio s/w.


----------



## rassi

I have been having the same problem. I thought it was because one of my two directories has many more subdirectories than the other. So I'd have to navigate first into the directory that doesn't have many other subdirectories and turn groups on, then go to the other directory. But it would always reset to groups off next time we tried to use PyTiVo.

This seemed to fix the navigation problem - now we can navigate directly to the directory with all the subdirectories and pyTiVo doesn't crash. But for some reason the TiVo still says groups are off, although it behaves as if groups are on.

As long as it works, I'm happy.

Thanks for pointing me to the fix!


----------



## wmcbrine

It's not a fix, it's a workaround. A fix would have to come on the TiVo end, where this bug was only recently introduced.


----------



## wmcbrine

lpwcomp said:


> Probably not.


There shouldn't be any opening silences. But perhaps it's due to the TV suppressing the squeal the TiVo makes when it attempts to play the album art as audio? If so, the solution is to use the force_ffmpeg option in the music share(s), so pyTivo will skip over the album art.


----------



## lpwcomp

wmcbrine said:


> There shouldn't be any opening silences. But perhaps it's due to the TV suppressing the squeal the TiVo makes when it attempts to play the album art as audio? If so, the solution is to use the force_ffmpeg option in the music share(s), so pyTivo will skip over the album art.


I was thinking it probable that he is using an HDMI connection and it was related to the audio drop out problem.


----------



## lpwcomp

wmcbrine said:


> It's not a fix, it's a workaround. A fix would have to come on the TiVo end, where this bug was only recently introduced.


Yeah, in my own mind I've been thinking of it as a kludge.


----------



## saeba

lpwcomp said:


> Did you click on it in my post? Copying the displayed value won't work.
> 
> In any case, an alternative is to edit plugin.py (it's in the same folder as pyTivo.py).
> 
> replace the line
> 
> 
> 
> Code:
> 
> 
> recurse = query.get('Recurse', ['No'])[0] == 'Yes'
> 
> with
> 
> 
> 
> Code:
> 
> 
> # recurse = query.get('Recurse', ['No'])[0] == 'Yes'
> recurse = False
> 
> Make sure you retain the indentation as that is sigificant in a python program.
> 
> Note: This forces it to be grouped and is designed to get around a bug in the current Premiere & Roamio s/w.


This works for me... but when I navigate into the groups and then my folders... the shows are sorted by date (useless) instead of by name. Anyway to get this sorting as well?


----------



## lpwcomp

saeba said:


> This works for me... but when I navigate into the groups and then my folders... the shows are sorted by date (useless) instead of by name. Anyway to get this sorting as well?


Add "force_alpha=on" to the share settings. If you maintain pyTivo settings via browser, it's a checkbox.


----------



## saeba

lpwcomp said:


> Add "force_alpha=on" to the share settings. If you maintain pyTivo settings via browser, it's a checkbox.


Perfect! Thanks!!


----------



## DFergATL

Ok, no I have groups working. Thank You!! 

Music seems to be doing better also, so again Thank you.

Now, I just need to figure out what KMTTG is and how it fits into all this.


----------



## DFergATL

I have everything working the way I want. I have just one more issue that I don't know how to deal with. I have an entry called "TVShows" I have force alpha on. In the tivo, unlike my other entries, there is no compter icon to the left of "TVShows" instead it says "TVShows (DVR)" and is a slightly darker color then the other entries. I am not sure where the (DVR) came from, it isn't in my config. After some time "TVShows (DVR)" disappears from my Tivo. Just this one, the others remain. If I restart pyTivo it will come back for a while. 

Any ideas?

David


----------



## lpwcomp

DFergATL said:


> I have everything working the way I want. I have just one more issue that I don't know how to deal with. I have an entry called "TVShows" I have force alpha on. In the tivo, unlike my other entries, there is no compter icon to the left of "TVShows" instead it says "TVShows (DVR)" and is a slightly darker color then the other entries. I am not sure where the (DVR) came from, it isn't in my config. After some time "TVShows (DVR)" disappears from my Tivo. Just this one, the others remain. If I restart pyTivo it will come back for a while.
> 
> Any ideas?
> 
> David


Happens to me also. No idea what the cause is.


----------



## jcthorne

I can confirm that with the Feb update, pyTivo pushes have reverted back to the previous behavior. They work and the titles sent now store and display correctly. The episodes also went back to not grouping with recorded or pulled ones. Or with streamable episodes now.


----------



## jcthorne

n2lovell said:


> Minimum requirements for a search:
> 1) If its a "series": title + episodeTitle must be present.
> 2) If its a "movie": title and either showType or movieYear must be present


What specifly causes a "series" vs "movie" search by the tivo? Is it the isEpisode : False ? or something else that triggers it?

Trying to find a way to push a movie and have the tivo recognize it and populate the metadata, group etc.


----------



## n2lovell

jcthorne said:


> What specifly causes a "series" vs "movie" search by the tivo?


Just set a movie year in the metadata, and don't set an episodeTitle.
For pushes, you are pretty much guaranteed to not get matches since there is no way to disambiguate between the multiple language results for a film. It can work on pulls because it can use the programId to disambiguate (note that for films the seriesId == programId).


----------



## Aflat

I found that even now, pushes with just the 4 items in the metadata file, the title still shows up as the first one pushed. This worked last week, with the truncated metadata file, but now it's more broken then ever. Anyone else notice this?


----------



## jcthorne

n2lovell said:


> Should be in the Feb release.
> 
> The release *after* that one, will start accepting users putting the programId into the description of push content. Where in the *first* piece of square bracketed information will get attempted to be interpreted as a programId (i.e. put "[EP012599310002]" in the description and it will attempt to do the metadata matching). Additionally having a matching programId in a pull will be sufficient to do the metadata matching (not just episodeTitle + title matching).
> 
> This was done so that content from TTCB will more often get their content merged in with the newly announced OnePass feature (and actually make it likely for push).


*Wmcbrine*:

Can pytivo be configured to place the programId or seriesId at the begining of the description as appropriate for tv or film content when sending to the tivo (push)?


----------



## Arcady

I'm trying to pull a movie to the TiVo and no matter what I put in the metadata, I get "separator" for the categories and under the description. (Next to the MPAA rating.) Is this a known issue?

Also, did anyone ever figure out a way to pull a picture of the movie poster?


----------



## jcthorne

Aflat said:


> I found that even now, pushes with just the 4 items in the metadata file, the title still shows up as the first one pushed. This worked last week, with the truncated metadata file, but now it's more broken then ever. Anyone else notice this?


What version of the tivo software are you running?

Its broke on 20.4.5 and fixed on 20.4.6.


----------



## jcthorne

lpwcomp said:


> Happens to me also. No idea what the cause is.


Happens to me now too. Was on a rare occasion before, now it only hold for about 5 minutes after a pytivo transaction. IE after a pull or after pytivo initially starts. Restarting pytivo brings it back allows a new session for pulls but it will go away again once idle.


----------



## wmcbrine

Arcady said:


> I'm trying to pull a movie to the TiVo and no matter what I put in the metadata, I get "separator" for the categories and under the description. (Next to the MPAA rating.) Is this a known issue?


Yes, it's a TiVo-side bug for a long time now.  It won't happen on older TiVos.



> _Also, did anyone ever figure out a way to pull a picture of the movie poster?_


There's no way to transfer it directly. The only way to get it to show up on the TiVo is to use a recognized programId.



jcthorne said:


> Happens to me now too. Was on a rare occasion before, now it only hold for about 5 minutes after a pytivo transaction. IE after a pull or after pytivo initially starts. Restarting pytivo brings it back allows a new session for pulls but it will go away again once idle.


It sounds like your network is messed up.  I dunno, try rebooting any routers or switches. Avoid wifi links, if possible. Make sure nothing is interfering with multicast, if possible.



jcthorne said:


> Can pytivo be configured to place the programId or seriesId at the begining of the description as appropriate for tv or film content when sending to the tivo (push)?


I'll look at this when the feature is available.


----------



## lpwcomp

I have a datum on the disappearing/changing pyTiVo shares. It doesn't seem to happen unless I have a Photo share defined. A Music share might do it too but I haven't tested that.


----------



## Arcady

wmcbrine said:


> Yes, it's a TiVo-side bug for a long time now.  It won't happen on older TiVos.


Okay thanks. I noticed that even a few programs recorded right on the TiVo have this bug.



wmcbrine said:


> There's no way to transfer it directly. The only way to get it to show up on the TiVo is to use a recognized programId.


The only reason I am pulling the movie onto the TiVo is because this movie seems to be unavailable from any source, other than a PAL DVD. So I guess if I don't know the programId I am just out of luck on the image.

In any case, I was kind of shocked that pyTivo let me transfer 576p 25fps video to the TiVo and it just worked. Amazing!


----------



## bmal1

Just any FYI, if you want to get 20.4.6 sooner rather than later visit:
https://www.tivo.com/priority_20.4.6 and enter your Tivo's SN. It was pushed to my Roamio Pro this morning.


----------



## wmcbrine

lpwcomp said:


> I have a datum on the disappearing/changing pyTiVo shares. It doesn't seem to happen unless I have a Photo share defined. A Music share might do it too but I haven't tested that.


This is an indication that your Zeroconf packets aren't getting through, or Zeroconf is disabled. (And remember that Zeroconf can be disabled implicitly, by the use of the "shares" option to limit which shares appear on a particular TiVo.)

Normally, pyTivo uses the platform name "pc/pyTivo" for video shares, and "pyTivo" for music and photo shares. With Zeroconf working, each share is recognized separately. But if you're relying on the old-style beacons, there's only one platform name for all shares; it's "pc/pyTivo" if you only have video shares, "pyTivo" if there are music and/or photo shares. The display of video shares with a platform type of "pyTivo", in recent versions of the TiVo software, is sub-optimal, in the ways you've observed. But it (IMHO) beats what happens to photo and music shares if they're presented with the "pc/pyTivo" platform type. So, this is a compromise.

(This doesn't have anything to do with the shares disappearing, AFAIK -- just how they're displayed. But losing Zeroconf packets is how shares typically go missing.)


----------



## wmcbrine

P.S. If you absolutely can't get Zeroconf working (e.g., if you're using the "shares" option), and you want music or photo shares, but you can't stand the way the video shares are displayed -- a workaround is to use multiple instances of pyTivo. Just create two separate pyTivo.conf files -- one with just the video shares, and one with the others -- and set them to run on separate ports. (Also, in this case, at most one instance can be using "beacon: listen".)


----------



## Aflat

jcthorne said:


> What version of the tivo software are you running?
> 
> Its broke on 20.4.5 and fixed on 20.4.6.


I know it was broken on 20.4.5, but with the trimmed metadata it was kind of working. It stopped. I'm now on 20.4.6 so all is just much better now


----------



## Regardie

I have had to rebuild my WHS v1 based on Windows Server 2003 due to a drive crash that was unrecoverable.

I had pyTivo running on the box for years in a mostly stable fashion but now I have to start over with a new install.

Can someone give me a quick update on which versions of pyTivo, python, ffmpeg, Dot Net etc I need to run on a 32bit Microsoft OS?

I know I was running python 2.6 because 2.7 broke a whole bunch of things but it all happened quite some time ago and i imagine some things have been upgraded since then.

Thanks in Advance


----------



## jcthorne

Regardie said:


> I have had to rebuild my WHS v1 based on Windows Server 2003 due to a drive crash that was unrecoverable.
> 
> I had pyTivo running on the box for years in a mostly stable fashion but now I have to start over with a new install.
> 
> Can someone give me a quick update on which versions of pyTivo, python, ffmpeg, Dot Net etc I need to run on a 32bit Microsoft OS?
> 
> I know I was running python 2.6 because 2.7 broke a whole bunch of things but it all happened quite some time ago and i imagine some things have been upgraded since then.
> 
> Thanks in Advance


Hit the link in my sig for pytivo setup help on windows.


----------



## bantar

bantar said:


> Thanks n2lovell. Using this information, I ran a few experiments, but haven't yet found a solid working combination. For me, all transfers since the latest software update of my XL4 at the end of November have failed. I've rebooted the Tivo, restarted pyTivo and tried single file transfers as well as multiple. They all fail. I've tried many different series. Ones that were working last month are failing now. All series are failing, it's not limited as best I can tell. I use metagenerator to generate my metadata files and this has worked for quite some time with no issues.


I (and others) previously reported a failure of PUSH of content to the TiVo. The files would be delivered, but the metadata was incorrect (all files had the same metadata). I just received the 20.4.6 software update to my Premiere and I've retested this bug. With a limited test, it appears to be fixed. Files are transferring over and the metadata is matching what I'm sending.


----------



## rob4crib

armooo said:


> 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


For file conversion I use PAVTUBE, it converts tivo to almost anything 
http://www.multipelife.com/free-video-dvd-converter-ultimate

I also use PLEX MEDIA SERVER https://plex.tv/ (I'm guessing the same thing as tivo stream) then stream them to my ipad/phone with anyplace that has a wifi connection or you can use data. The streaming server is free but if you want to physically transfer them onto your portable devices it's like $5.00 month or $150.00 lifetime subscription and the App is $5.00. It works with roku also.

Anybody know of a free commercial editing software? Videoredo works great but I'm just to cheap to spend the money


----------



## bmille05

I've been trying to find the latest version for the Mac and am going in URL circles. Could someone please post the url for the latest download version for the Mac? The version I have converts everything to a lower resolution than the original version being copied to the Tivo DVR. Thank you in advance!


----------



## jcthorne

bmille05 said:


> I've been trying to find the latest version for the Mac and am going in URL circles. Could someone please post the url for the latest download version for the Mac? The version I have converts everything to a lower resolution than the original version being copied to the Tivo DVR. Thank you in advance!


Cut and pasted from wmcbrine's signature line (the author):

http://wmcbrine.com/tivo/


----------



## Regardie

jcthorne said:


> Hit the link in my sig for pytivo setup help on windows.


The problem with being a long time lurker is this:



> Setup help for pytivo under windows:
> To view links or images in signatures your post count must be 10 or greater. You currently have 7 posts.


So this post will help me get over the incredibly small bar that has been set that I have never cleared.


----------



## jcthorne

Regardie said:


> The problem with being a long time lurker is this:
> 
> So this post will help me get over the incredibly small bar that has been set that I have never cleared.


http://pytivo.sourceforge.net/wiki/index.php/Windows_Install#pyTivo


----------



## BankZ

My pyTivo shares are not showing under My Shows anymore. Did the last tivo update break anything for the TiVo Elite?


----------



## wmcbrine

BankZ said:


> My pyTivo shares are not showing under My Shows anymore. Did the last tivo update break anything for the TiVo Elite?


No. Did you try restarting pyTivo? It's not unusual for a TiVo to lose track of pyTivo shares after the TiVo restarts (which it does on an update).

As I've said before, the whole system of announcing shares is just kind of flaky. I think I've done what I can to improve it on the pyTivo side, without being able to get into the guts of the TiVo side. At this point, I expect it to remain kind of flaky. Run a clean, solid network, and keep wifi out of the chain between the TiVo and the server, if possible. Restart TiVos and pyTivo when needed.* That's all the advice I've got for you.

* If you restart a TiVo, then you probably should restart pyTivo afterwards, just in general. However, I wouldn't jump to restarting the TiVo right away -- try restarting pyTivo first.


----------



## BankZ

wmcbrine said:


> No. Did you try restarting pyTivo? It's not unusual for a TiVo to lose track of pyTivo shares after the TiVo restarts (which it does on an update).
> 
> As I've said before, the whole system of announcing shares is just kind of flaky. I think I've done what I can to improve it on the pyTivo side, without being able to get into the guts of the TiVo side. At this point, I expect it to remain kind of flaky. Run a clean, solid network, and keep wifi out of the chain between the TiVo and the server, if possible. Restart TiVos and pyTivo when needed.* That's all the advice I've got for you.
> 
> * If you restart a TiVo, then you probably should restart pyTivo afterwards, just in general. However, I wouldn't jump to restarting the TiVo right away -- try restarting pyTivo first.


I am running pytivo in freenas (which is a great setup). I got it working again by using the beacon setting in the config.


----------



## wmcbrine

BTW, if fiddling with the beacon keyword works for you, that generally means there's something wrong with your network. Its real, intended use rarely comes up.


----------



## synch22

I have some older x.264 mkv files that i transferred a while ago that work just fine. Lately i have been tryng to transfer them and it fails, it shows up in my shows as transferred but there is no content it just fails from the start.

I transfer the mp4 version of the same file and it works just fine (in the description) it shows error h264 file etc like the other one but works.

I am not sure whats going on any fix to this?

I also dont see any push or stream options like I did before owning the roamio, only transfer.

Using Pytivo from my Mac. Thanks


----------



## Alf Tanner

Still trying to figure out pytivo. I'm comfortable with Python and also with editing config files to start a server. I'm getting an error and have to start pytivo manually to get it to see my tivos, even though it says the service is started in services.msc Here's the only error I could find in the pytivo console:


Code:


INFO:pyTivo:pyTivo is ready.
Unhandled exception in thread started by <function server at 0x0000000003001D68>

ERROR:pyTivo:Exception in pyTivo
Traceback (most recent call last):
  File "C:\Users\ME\Desktop\kmttg\pytivo-master\beacon.py", line 203, in ser
ver
    TCPSock.bind(('', 2190))
  File "C:\Python27\lib\socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
error: [Errno 10048] Only one usage of each socket address (protocol/network add
ress/port) is normally permitted
INFO:pyTivo:192.168.1.76 [29/Mar/2015 00:58:48] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.77 [29/Mar/2015 00:58:48] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.75 [29/Mar/2015 00:58:48] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.78 [29/Mar/2015 00:58:48] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.75 [29/Mar/2015 00:58:48] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.78 [29/Mar/2015 00:58:48] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.77 [29/Mar/2015 00:58:48] "GET /TiVoConnect?Command=QueryC
ontainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -

using:
python 2.79
the suggested beginner branch of pytivo
pywin 219 for python 2.7


----------



## wmcbrine

I'd take "beacon: listen" out of your pyTivo.conf. It's unlikely to be helpful, and in this case, something else (TiVo Desktop? another instance of pyTivo?) has already grabbed port 2190. That's the error message... your actual problem is another matter. Since you talk about running it at startup, but say this is the console output (from "starting it manually", I presume), we'd want to see the log from the startup instance, not this. And the pyTivo.conf.


----------



## Alf Tanner

wmcbrine said:


> I'd take "beacon: listen" out of your pyTivo.conf. It's unlikely to be helpful, and in this case, something else (TiVo Desktop? another instance of pyTivo?) has already grabbed port 2190. That's the error message... your actual problem is another matter. Since you talk about running it at startup, but say this is the console output (from "starting it manually", I presume), we'd want to see the log from the startup instance, not this. And the pyTivo.conf.


Thank you for getting back to me. I didnt even think about Tivo desktop using that port, but I do have the $$$ version of that functionally worthless program from the time before I discovered kmttg and pytivo. Where would the log from starting the service be located?

No binding errors after disabling those.

I just checked services.msc and tivo beacon was set to auto start.

Tivo notify, tivo transfer and tivo server were all set to start as well. I disabled all of them either via startup or via services for beacon.

pytivo started without issue after disabling tivo beacon service and setting it not to auto start


----------



## jcthorne

Just so everyone knows, I can confirm that with Tivo software 20.4.7 using the programId in the description in this form:

[programId] Description

as part of a push now works correctly. The tivo correctly identifies the show and fills in the metadata. AND for the first time the show correctly groups with other episodes of the same series on the tivo, both recorded and pulled and now pushed. This has never before been true.

I have posted this and some followup on the pytivo forum.


----------



## innocentfreak

Does it pick up the Season Episode details for correct sorting?


----------



## jcthorne

innocentfreak said:


> Does it pick up the Season Episode details for correct sorting?


Yes!


----------



## shiffrin

I have a Roamio Pro and have been using PyTivo for a long time. My Tivo just got the 4.7 spring update and my PyTivo drives no longer show up in "My Shows" on the Tivo. I have tried restarting the PyTivo service, restarting my computer, restarting Tivo all with no change. I can pull files from the Tivo. I can push files to the Tivo. I just can't see the defined drives.

Has anyone else had this problem? Any suggestions on what to try?

Here is the first part of the PyTivo log:

INFO pyTivo:Last modified: Thu May 30 21:08:16 2013
INFO pyTivoython: 2.7.5
INFO pyTivo:System: Windows-7-6.1.7601-SP1
Python Imaging Library not found; using FFmpeg
INFO pyTivo.beacon:Scanning for TiVos...
INFO pyTivo.beacon:Roamio Den
INFO pyTivo.beaconremiere
INFO pyTivo.beacon:Announcing shares...
INFO pyTivo.beacon:Registering: Pictures
INFO pyTivo.beacon:Registering: RRecordedTV
INFO pyTivo.beacon:Registering: RSS Feeds
INFO pyTivo.beacon:Registering: Songs
INFO pyTivo.beacon:Registering: VDrive
INFO pyTivo.beacon:Registering: VMovies
INFO pyTivo.beacon:Registering: VMusicals
INFO pyTivoyTivo is ready.


----------



## fred2

Okay, I'm stymied.

I have edited or tried editing my conf file. But it does not seem to take control or provide the Shares (DRIVE) options that I've specified. It appears that an older conf file is in control.

Now, I have killed the Command Box in which pytivo was running but my Roamio and My S3 are still showing the shares, two of which error out (Livebook and other have no recordings or some such) but there is one Share showing and I just started a transfer and it is playing. So, somewhere pytivo is still running???

So, how do I STOP Pytivo. Looked around ManageComputer, Task Manager. I don't see either Pytivo or Python still running.

Win7 64Prof

I'm sure that I can reboot the computer (have not tried, doing taxes!) and that might work. Or I can restart the tivo??

Any simpler way to get a new conf file to take over?

Thanks in advance.


----------



## reneg

shiffrin said:


> I have a Roamio Pro and have been using PyTivo for a long time. My Tivo just got the 4.7 spring update and my PyTivo drives no longer show up in "My Shows" on the Tivo. I have tried restarting the PyTivo service, restarting my computer, restarting Tivo all with no change. I can pull files from the Tivo. I can push files to the Tivo. I just can't see the defined drives.
> 
> Has anyone else had this problem? Any suggestions on what to try?
> 
> Here is the first part of the PyTivo log:
> 
> INFO pyTivo:Last modified: Thu May 30 21:08:16 2013
> INFO pyTivoython: 2.7.5
> INFO pyTivo:System: Windows-7-6.1.7601-SP1
> Python Imaging Library not found; using FFmpeg
> INFO pyTivo.beacon:Scanning for TiVos...
> INFO pyTivo.beacon:Roamio Den
> INFO pyTivo.beaconremiere
> INFO pyTivo.beacon:Announcing shares...
> INFO pyTivo.beacon:Registering: Pictures
> INFO pyTivo.beacon:Registering: RRecordedTV
> INFO pyTivo.beacon:Registering: RSS Feeds
> INFO pyTivo.beacon:Registering: Songs
> INFO pyTivo.beacon:Registering: VDrive
> INFO pyTivo.beacon:Registering: VMovies
> INFO pyTivo.beacon:Registering: VMusicals
> INFO pyTivoyTivo is ready.


Perhaps post your pytivo.conf file or try setting beacon in your pytivo.conf


----------



## reneg

fred2 said:


> Okay, I'm stymied.
> 
> I have edited or tried editing my conf file. But it does not seem to take control or provide the Shares (DRIVE) options that I've specified. It appears that an older conf file is in control.
> 
> Now, I have killed the Command Box in which pytivo was running but my Roamio and My S3 are still showing the shares, two of which error out (Livebook and other have no recordings or some such) but there is one Share showing and I just started a transfer and it is playing. So, somewhere pytivo is still running???
> 
> So, how do I STOP Pytivo. Looked around ManageComputer, Task Manager. I don't see either Pytivo or Python still running.
> 
> Win7 64Prof
> 
> I'm sure that I can reboot the computer (have not tried, doing taxes!) and that might work. Or I can restart the tivo??
> 
> Any simpler way to get a new conf file to take over?
> 
> Thanks in advance.


You might have multiple copies of the pytivo.conf on your computer. Try and search of pytivo.conf on your computer. Perhaps you are editing one that is not running.

Your pyTivo is most likely running as a Windows service. Run services.msc, look for pytivo in the list, right click and select stop. To start it again, right click and select start.


----------



## shiffrin

reneg said:


> Perhaps post your pytivo.conf file or try setting beacon in your pytivo.conf


I have a Tivo Premiere also and I checked that and it also didn't show the Pytivo shares and it is still at software version 4.6. I guess that rules out the software version as the problem and it was just a coincidence that my problem happened at the same time.

I went through the troubleshooting steps and didn't see any changes.

I then tried the beacon keyword and set it to 192.168.1.255 192.168.1.118 and the shares now show up in My Shows. No idea why this fixed the problem since the shares have worked fine for months without that keyword.

There was one strange thing, though. The shares show up like this:
Movies(DVR)
Songs(DVR)

all have DVR after them - including my Premiere which has always had DVR but the others didn't. Is this an indication of a problem? The shares seem to work fine.


----------



## shiffrin

shiffrin said:


> I then tried the beacon keyword and set it to 192.168.1.255 192.168.1.118 and the shares now show up in My Shows. No idea why this fixed the problem since the shares have worked fine for months without that keyword.


Well my shares still keep disappearing. If I restart the pyTivo service, they usually come back, but not always. The beacon keyword seemed to work for a while but I'm not sure that did anything.

Does anyone have any suggestions?


----------



## reneg

shiffrin said:


> Well my shares still keep disappearing. If I restart the pyTivo service, they usually come back, but not always. The beacon keyword seemed to work for a while but I'm not sure that did anything.
> 
> Does anyone have any suggestions?


Here are some suggestions:

Are you using a static IP address for you Tivo? If not, configure one.
Do you have UDP port 5353 and UDP/TCP port 2190 open on your firewall?
Have you rebooted your router?
Have you tried disabling zeroconf?


----------



## wmcbrine

I can't see disabling zeroconf as a thing that would help. Quite the opposite. I actually am running one of my own pyTivo servers with old-style beacons disabled, using only zeroconf -- no issues.


----------



## reneg

wmcbrine said:


> I can't see disabling zeroconf as a thing that would help. Quite the opposite. I actually am running one of my own pyTivo servers with old-style beacons disabled, using only zeroconf -- no issues.


You're right. I was just trying to recall things that have helped others in the past.


----------



## shiffrin

reneg said:


> Here are some suggestions:
> 
> Are you using a static IP address for you Tivo? If not, configure one.
> Do you have UDP port 5353 and UDP/TCP port 2190 open on your firewall?
> Have you rebooted your router?
> Have you tried disabling zeroconf?


I checked Tivo this morning and the shares had disappeared again. I restarted the pyTivo service and they did not come back. I restarted the Tivo and they did reappear.

Here is my pytivo config file:
[Server]
port = 9032
ffmpeg = c:\pytivo\bin\ffmpeg.exe
tivo_password = *****
tivo_mak = ********
tivo_username = ******************
tivodecode = c:\pytivo\bin\tivodecode.exe
togo_path = c:\tivo
beacon = 192.168.1.255 192.168.1.118

[_tivo_SD]

[_tivo_HD]

[VMovies]
type = video
path = \\diskstation\videos\dvds

[VDrive]
path = \\diskstation\videos\
type = video

[VMusicals]
path = \\diskstation\videos\musicals
type = video

[Pictures]
type = photo
path = \\diskstation\photos

[Songs]
type = music
path = \\diskstation\music

[RRecordedTV]
path = \\diskstation\Recorded TV\Tivo
type = video

[RSS Feeds]
type = video
path = \\diskstation\public\rss feeds

My Tivos have static IP addresses (192.168.1.118) is the Roamio Pro

zeroconf is blank on the settings screen. Should I make it any other value?

I checked my firewall rules (Norton Internet Security) and it looks like python.exe is set to "allow" all traffic. I did add a "traffic" rule to allow ports 5353 and 2190 in and out both remote and local

I haven't rebooted the router recently but will do that when some file transfers complete.


----------



## reneg

shiffrin said:


> I checked Tivo this morning and the shares had disappeared again. I restarted the pyTivo service and they did not come back. I restarted the Tivo and they did reappear.
> 
> Here is my pytivo config file:
> [Server]
> port = 9032
> ffmpeg = c:\pytivo\bin\ffmpeg.exe
> tivo_password = *****
> tivo_mak = ********
> tivo_username = ******************
> tivodecode = c:\pytivo\bin\tivodecode.exe
> togo_path = c:\tivo
> beacon = 192.168.1.255 192.168.1.118
> 
> [_tivo_SD]
> 
> [_tivo_HD]
> 
> [VMovies]
> type = video
> path = \\diskstation\videos\dvds
> 
> [VDrive]
> path = \\diskstation\videos\
> type = video
> 
> [VMusicals]
> path = \\diskstation\videos\musicals
> type = video
> 
> [Pictures]
> type = photo
> path = \\diskstation\photos
> 
> [Songs]
> type = music
> path = \\diskstation\music
> 
> [RRecordedTV]
> path = \\diskstation\Recorded TV\Tivo
> type = video
> 
> [RSS Feeds]
> type = video
> path = \\diskstation\public\rss feeds
> 
> My Tivos have static IP addresses (192.168.1.118) is the Roamio Pro
> 
> zeroconf is blank on the settings screen. Should I make it any other value?
> 
> I checked my firewall rules (Norton Internet Security) and it looks like python.exe is set to "allow" all traffic. I did add a "traffic" rule to allow ports 5353 and 2190 in and out both remote and local
> 
> I haven't rebooted the router recently but will do that when some file transfers complete.


Don't try changing zeroconf, wmcbrine indicated it would not help.

Is \\diskstation another computer on your local network?
Are you running pyTivo from the command line or as a Windows service?

If you're running pytivo from the command line, if you log off, pyTivo stops running.
If you're running pyTivo as a Window service. pyTivo will have to run under user credentials that have access to \\diskstation. Run services.msc, find pytivo, right click and change info under the Log On tab under This Account.


----------



## shiffrin

reneg said:


> Don't try changing zeroconf, wmcbrine indicated it would not help.
> 
> Is \\diskstation another computer on your local network?
> Are you running pyTivo from the command line or as a Windows service?
> 
> If you're running pytivo from the command line, if you log off, pyTivo stops running.
> If you're running pyTivo as a Window service. pyTivo will have to run under user credentials that have access to \\diskstation. Run services.msc, find pytivo, right click and change info under the Log On tab under This Account.


\\diskstation is a new NAS device on my network. I used to have a Windows Home Server and have used the same ID and password on the service as I did before. I'll go to the service and change the credentials again to be sure.

It is running as a service.

When I got my diskstation installed, pyTivo was working fine and then started to drop the shares a few days later. I run pyTivo on my desktop computer which hasn't changed.


----------



## reneg

shiffrin said:


> \\diskstation is a new NAS device on my network. I used to have a Windows Home Server and have used the same ID and password on the service as I did before. I'll go to the service and change the credentials again to be sure.
> 
> It is running as a service.
> 
> When I got my diskstation installed, pyTivo was working fine and then started to drop the shares a few days later. I run pyTivo on my desktop computer which hasn't changed.


I'm running out of ideas. Is it possible that the share connection between the desktop and \\diskstation is timing out? Is there any pattern to how long it is before your pytivo share disappear?

You could try changing the auto disconnect on your desktop with "net config server /autodisconnect:-1" from the command prompt & rebooting it.


----------



## shiffrin

reneg said:


> I'm running out of ideas. Is it possible that the share connection between the desktop and \\diskstation is timing out? Is there any pattern to how long it is before your pytivo share disappear?
> 
> You could try changing the auto disconnect on your desktop with "net config server /autodisconnect:-1" from the command prompt & rebooting it.


I'll give that a try. One thing I just thought of - I have the diskstation shared folders set to turn off the drives after 20 minutes of inactivity. When I use any app on my desktop that uses the shares, they start right up and work fine. Maybe the pyTivo service doesn't do anything that causes the drives to turn back on.

I'll try what you said and also change the drive setting to keep the drives on to see if that makes a difference.


----------



## Stormspace

Anyone seen an issue where not all the folders in the PyTiVo share show up on the TiVo? It seems to be related to the size of the library as I've paired the library down in the past and all the folders start displaying again. I'm told there is no folder size limitation, but if not what could be happening? 

I have two shares, one embedded in the other. For instance I have a "Shows" folder with a "DVD" folder inside that one. I share out "Shows" and the "DVD" path to the TiVo's. The first share has multiple folders and subfolders while the latter share in flat with no sub folders. 

I've stopped and restarted the service, rebooted the PC, etc.

Running Ubuntu 14.10


----------



## shiffrin

shiffrin said:


> I'll give that a try. One thing I just thought of - I have the diskstation shared folders set to turn off the drives after 20 minutes of inactivity. When I use any app on my desktop that uses the shares, they start right up and work fine. Maybe the pyTivo service doesn't do anything that causes the drives to turn back on.
> 
> I'll try what you said and also change the drive setting to keep the drives on to see if that makes a difference.


I tried a couple of things today but still haven't solved the problem with the shares disappearing.

First, I restarted the pyTivo service and verified that the shares were showing up. Then I waited for the NAS drives to power down from inactivity and then verified again that the shares were still showing. I then opened one of the shares on the Tivo and the NAS drives started up. It took a few seconds and then the Tivo timed out due to no response from the shares. I waited a few seconds and then tried again and the shared files showed up on Tivo as expected. This proved that the powering down of the drives is not the problem.

Next I set the autodisconnect to -1 (and rebooted) and waited, but the shares still went away after about 15 minutes.

I did some reading on the web and they also mentioned a parameter called KeepConn (a variable in the LAN settings in the registry) which I also set to the maximum value and rebooted, but the shares still went away.

I don't think I'm ever going to be able to solve this problem.


----------



## reneg

shiffrin said:


> I tried a couple of things today but still haven't solved the problem with the shares disappearing.
> 
> First, I restarted the pyTivo service and verified that the shares were showing up. Then I waited for the NAS drives to power down from inactivity and then verified again that the shares were still showing. I then opened one of the shares on the Tivo and the NAS drives started up. It took a few seconds and then the Tivo timed out due to no response from the shares. I waited a few seconds and then tried again and the shared files showed up on Tivo as expected. This proved that the powering down of the drives is not the problem.
> 
> Next I set the autodisconnect to -1 (and rebooted) and waited, but the shares still went away after about 15 minutes.
> 
> I did some reading on the web and they also mentioned a parameter called KeepConn (a variable in the LAN settings in the registry) which I also set to the maximum value and rebooted, but the shares still went away.
> 
> I don't think I'm ever going to be able to solve this problem.


Maybe as a test, create a pyTivo share on your desktop and see if stays or disappears like the NAS shares.


----------



## moyekj

You should also put in some non-NAS shares in pyTivo.conf to see if they disappear or not to see if problem is related to NAS shares at all.


----------



## shiffrin

reneg said:


> Maybe as a test, create a pyTivo share on your desktop and see if stays or disappears like the NAS shares.


Time for today's report.

I did add a Test share on my desktop and that shows up and also goes away but sometimes it seems to last a few minutes longer than the shares from my NAS.

I left everything alone for a few hours. When I sat down to watch Tivo last night I saw that the shares were still there. For the last few days, every time the shares were there they had no icon showing to the left of the name and they all had a "(DVR)" tacked on to the share name. Last night they were all showing with a computer icon to the left and no DVR attached to the label. They were all still there when I went to bed.

This morning I checked and the icons were still listed but the DVR in the label was back and each one was duplicated -ex: VMOVIES and VMOVIES(2) and no logos. I checked the contents of each one and both shares had the same contents.

Very strange behavior


----------



## reneg

shiffrin said:


> Time for today's report.
> 
> ....
> Very strange behavior


Yes, very strange behavior. Not sure what to try next. Have you tried disabling your firewall on your desktop?


----------



## shiffrin

reneg said:


> Yes, very strange behavior. Not sure what to try next. Have you tried disabling your firewall on your desktop?


I'm almost afraid to say that the shares have been showing now for almost 24 hours. They do have "(DVR)" after the name which I don't understand. The other Tivo in my house also shows up that way but it has a Tivo icon while my shares have no icon. Does anyone know what the (DVR) is supposed to mean and where it comes from?

Yesterday I realized that my old server (Windows Home Server) was still turned on and it had 2 Tivo add-ins on it. I removed those add-ins and the shares have been showing up ever since. Those apps were also running last week before the pyTivo problem with shares showed itself. They must be affecting the shares but I don't know how.

Thanks to everyone for the suggestions. I hope the problem stays away.


----------



## philhu

FWIW, I have pytivo on a Centos box, pointing at a 60TB NAS with 3000 movies and 900+ complete tv shows, all season, I never see the shares not display everything in them, on both old TivoHD, Premier and new Roamio.


----------



## Stormspace

philhu said:


> FWIW, I have pytivo on a Centos box, pointing at a 60TB NAS with 3000 movies and 900+ complete tv shows, all season, I never see the shares not display everything in them, on both old TivoHD, Premier and new Roamio.


Thanks. WC told me no library size limitation and I believed him, I'm just stumped why it's happening to me like this. Could it be I'm using an external usb drive and PyTiVo is collecting as much as it can before it times out?


----------



## wmcbrine

Stormspace said:


> Could it be I'm using an external usb drive and PyTiVo is collecting as much as it can before it times out?


In that situation, I'd expect to see an error message on the TiVo, rather than a partial result.

A partial result comes from a failure while processing a directory. This used to happen sometimes with strange characters in filenames. (I hope I've quashed that.) Other errors, whatever they might be, should appear in the log.


----------



## Stormspace

wmcbrine said:


> In that situation, I'd expect to see an error message on the TiVo, rather than a partial result.
> 
> A partial result comes from a failure while processing a directory. This used to happen sometimes with strange characters in filenames. (I hope I've quashed that.) Other errors, whatever they might be, should appear in the log.


What about spaces?


----------



## Stormspace

wmcbrine said:


> In that situation, I'd expect to see an error message on the TiVo, rather than a partial result.
> 
> A partial result comes from a failure while processing a directory. This used to happen sometimes with strange characters in filenames. (I hope I've quashed that.) Other errors, whatever they might be, should appear in the log.


Solution!

I use Bit Torrent Sync on the main share so that I can grab video and put it onto my iPad when I'm away from home. It works really well, except it adds several files to the root that have special characters in them. Most starting with a "." I hosed those files and the issue completely cleared up.


----------



## wmcbrine

Stormspace said:


> What about spaces?


Spaces are not considered strange for pyTivo's purposes.


----------



## ShoutingMan

Can I download files from one TiVo roamio, with ctivo in "TiVo format" (MPEG 2, I think), and then upload them to a different Roamio with pytivo?


----------



## wmcbrine

ShoutingMan said:


> Can I download files from one TiVo roamio, with ctivo in "TiVo format" (MPEG 2, I think), and then upload them to a different Roamio with pytivo?


Certainly. Or you can do it all from pyTivo.

But, you can also just transfer directly between TiVos, in most cases...


----------



## Lurker1

INFOyTivo:Last modified: Thu Aug 7 22:01:32 2014

How do I find out if I need to update? Where is a version list or release notes?


----------



## wmcbrine

Lurker1 said:


> INFOyTivo:Last modified: Thu Aug 7 22:01:32 2014
> 
> How do I find out if I need to update? Where is a version list or release notes?


Here's one:

https://github.com/wmcbrine/pytivo/commits/master


----------



## Lurker1

wmcbrine said:


> Here's one:
> 
> https://github.com/wmcbrine/pytivo/commits/master


Thank you!


----------



## Lurker1

Another question. I use pyTivo to push podcasts to my TiVo. Occasionally, the TiVo will just stop downloading anything as if it is hung. Restarting doesn't help. When I look at its Season Pass list using kmttg, I see hundreds of hidden "pcBodySubscription" entries, which I guess are for the pushed videos?

kmttg allows me to delete these (one at a time), and doing so seems to unhang it and the downloads resume. Why do these hidden season passes accumulate like that?


----------



## wmcbrine

Heck if I know. This is the first I've heard of that.


----------



## Alf Tanner

wmcbrine said:


> Here's one:
> 
> https://github.com/wmcbrine/pytivo/commits/master


Github for windows works well to see that stuff doesnt it?


----------



## ShoutingMan

I got pyTiVo installed and working (wow, cool, thanks!  ). Took less than an hour (and doing it again would be ten minutes).

But I'm not wild about having to have Terminal in my Dock to keep it available in the background. Is a way to set pyTivo running in the background?

If not, is there any practical difference (besides UI) between the current command-line pyTiVo and the OS X-friendly pyTivoX? I've trying out pyTiVo, and all things equal I'd prefer an OS X UI than Terminal window in my Dock 

https://github.com/wmcbrine/pytivo
vs
https://code.google.com/p/pytivox/


----------



## ShoutingMan

ShoutingMan said:


> I got pyTiVo installed and working (wow, cool, thanks!  ). Took less than an hour (and doing it again would be ten minutes).
> 
> But I'm not wild about having to have Terminal in my Dock to keep it available in the background. Is a way to set pyTivo running in the background?
> 
> If not, is there any practical difference (besides UI) between the current command-line pyTiVo and the OS X-friendly pyTivoX? I've trying out pyTiVo, and all things equal I'd prefer an OS X UI than Terminal window in my Dock
> 
> https://github.com/wmcbrine/pytivo
> vs
> https://code.google.com/p/pytivox/


Aha. A little more reading and I found the solution:
http://pytivo.sourceforge.net/wiki/index.php/Mac_OS_X_Install#Launching_pyTivo_at_startup


----------



## ShoutingMan

I've got a more technical question, I think. I'm using the localhost web interface.
Server Setting
In the Global Server Settings, ffmpeg option:
* Leave it empty, and my Tivo doesn't see any folders
* specify the full filepath, per the web interface tips (e.g. /usr/local/bin/ffmpeg) and it shows folders, but no files
* Specify the path to the binary (e.g. /usr/local/bin) and it works fine, but only with MPG (raw TiVo decrypted files). MP4 files don't work.

I'm ok with the final option. But it seems like it should work with various file formats. Am I doing something wrong? Are there additional settings to set?

Running FFMPEG shows these installed features and options:
ffmpeg version 2.6.2 Copyright (c) 2000-2015 the FFmpeg developers
built with Apple LLVM version 6.1.0 (clang-602.0.49) (based on LLVM 3.6.0svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/2.6.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-vda
libavutil 54. 20.100 / 54. 20.100
libavcodec 56. 26.100 / 56. 26.100
libavformat 56. 25.101 / 56. 25.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 11.102 / 5. 11.102
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...


----------



## wmcbrine

ShoutingMan said:


> In the Global Server Settings, ffmpeg option:
> 1. Leave it empty, and my Tivo doesn't see any folders
> 2. specify the full filepath, per the web interface tips (e.g. /usr/local/bin/ffmpeg) and it shows folders, but no files
> 3. Specify the path to the binary (e.g. /usr/local/bin) and it works fine, but only with MPG (raw TiVo decrypted files). MP4 files don't work.


(I've altered the quote to number them, for convenience.) Case 3 is easy to understand: You've told pyTivo where ffmpeg is supposed to be, and it's not there, so pyTivo is falling back to its running-without-ffmpeg mode. In that case, only file types that can be sent directly to the TiVo with no processing are recognized, by their extensions.

Cases 1 and 2 are harder to distinguish; I'm not sure what's happening there. In case 1, presumably ffmpeg is being found, in one of its default locations -- but that should yield the same results as case 2. In case 2, it looks like some of the files within the folders are crashing the thread that's reading them.



> _Running FFMPEG shows these installed features and options:_


It would be more useful to see the pyTivo logs.


----------



## ShoutingMan

wmcbrine said:


> (I've altered the quote to number them, for convenience.) Case 3 is easy to understand: You've told pyTivo where ffmpeg is supposed to be, and it's not there, so pyTivo is falling back to its running-without-ffmpeg mode. In that case, only file types that can be sent directly to the TiVo with no processing are recognized, by their extensions.
> 
> Cases 1 and 2 are harder to distinguish; I'm not sure what's happening there. In case 1, presumably ffmpeg is being found, in one of its default locations -- but that should yield the same results as case 2. In case 2, it looks like some of the files within the folders are crashing the thread that's reading them.
> 
> It would be more useful to see the pyTivo logs.


Thanks for the input. I started experimenting with my setup, to understand how to turn on logging and compare the results from running it from the Terminal versus launching it via the OS X / UNIX tool launchctl (to mimic what happens when I run at launch via a plist file).

Long story short, everything is now working as it should. I don't know what I did wrong earlier. I don't know how I fixed it. I changed the path to "/usr/local/bin/ffmpeg", as the log showed errors with just the path without the binary named. In any case, the log file starts as below, nice and clean, and the Tivo is showing both MPEG (raw TiVo extract) and MPG (MP4 transcoded) now 



Code:


INFO:pyTivo:Last modified: Wed Mar 25 16:20:48 2015
INFO:pyTivo:Python: 2.7.6
INFO:pyTivo:System: Darwin-14.3.0-x86_64-i386-64bit
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:Living Room
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: TiVo Shows
INFO:pyTivo:pyTivo is ready.

If anyone is wondering, like I was, how to set pyTivo for launch at startup on a Mac running recent version of OS X with logging, creat a plist file as described in the pytivo sourceforge, but add the keys for standard out. The Console application will show the pytivo.log file in its sidebar, for easy browsing.



Code:


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Label</key>
	<string>pyTivo</string>
	<key>ProgramArguments</key>
	<array>
		<string>python</string>
		<string>/Applications/pyTiVo/pyTivo.py</string>
	</array>
	<key>StandardOutPath</key>
	<string>/Users/USERNAME/Library/Logs/pyTivo.log</string>
	<key>StandardErrorPath</key>
	<string>/Users/USERNAME/Library/Logs/pyTivo.log</string>
	<key>RunAtLoad</key>
	<true/>
</dict>
</plist>


----------



## wmcbrine

Those "special characters" are surely the source of the problem. The difference in behavior between the two launch methods is probably due to a difference in the locale settings. See here (and the next four messages).


----------



## ShoutingMan

wmcbrine said:


> Those "special characters" are surely the source of the problem. The difference in behavior between the two launch methods is probably due to a difference in the locale settings. See here (and the next four messages).


Thanks. I've re-written my previous post in between you responding  Things are working properly now. Not sure what was wrong, nor what fixed it. But prompted by your comments, I experimented further and all's good now.


----------



## lrhorer

I gave my sister-in-law one of my old TiVos as a present, and set it up on her network. She has a little NAS, so I set up pyTivo on the NAS for her to be able to serve her videos to her "new" TiVo. Everything seems to be working, but there is one unexpected situation. Obviously, it is the only TiVo on her home network. Even though the TiVo is named on tivo.com, the little drop-down button under the pyTivo push menu does not show up the TiVo name. It's just a little bank box. Is this by design intent - no name shows up if there is only one TiVo found? I've never run pyTivo on a network with only 1 TiVo before, so I don't know.


----------



## wmcbrine

No, that's not intended.


----------



## lrhorer

Hmm. Maybe it was just a delay on TiVo.com, or something. The name wasn't showing on Sunday right after installation or on Tuesday, but tonight it is.


----------



## Vernon Smith

I have several opera videos in HD that are large - more than 12 GB - on my TiVo unit. When I use pyTivo to transfer them to my Mac, they seem to transfer OK - I get a Transfer Complete message, but in fact they are missing several GB. I have tried several times and they just do not transfer completely. Is there a setting that I need to change to accommodate these large files?


----------



## wmcbrine

No, there is no setting.

Do the same recordings fail at the same point each time? If you play that point back on the TiVo, do you notice any glitches?

You can try using transport stream mode, but you may not be able to decrypt the resulting file, if that's a concern. (You should still be able to send it back to any S4 or later TiVo on your account.)


----------



## Vernon Smith

Thanks for responding. 
The same recordings do fail at the same point I believe.
I played the same section on my Tivo and it played smoothly - no glitches.
Not sure how to use transport stream mode. Is there a description for that?
I saw that there was a thread on Streambaby. Does that do what you are suggesting?


----------



## lpwcomp

Vernon Smith said:


> Thanks for responding.
> The same recordings do fail at the same point I believe.
> I played the same section on my Tivo and it played smoothly - no glitches.
> Not sure how to use transport stream mode. Is there a description for that?
> I saw that there was a thread on Streambaby. Does that do what you are suggesting?


Did you look very closely? I have had occasions where the glitch is almost indiscernible.


----------



## Vernon Smith

I played it again several times and I cannot see any sign of a glitch.


----------



## wmcbrine

Vernon Smith said:


> Not sure how to use transport stream mode. Is there a description for that?


----------



## Vernon Smith

Thanks wmcbrine. 
I noticed that in your message, there was a box for tivodecode.
This does not appear in my copy of pyTivo.
Do I need this to decode the file once it is transferred?


----------



## Vernon Smith

I transferred the recording with the Transfer as mpeg-ts box checked, but what was actually transferred was almost identical to what I had transferred without checking this box. It was also incomplete. The file size was slightly larger but it finished at the same spot in the recording. I could play it with Roxio Video Player without the need to decode it.
Could it be that the Transfer as mpeg-ts box was ignored?


----------



## wmcbrine

Vernon Smith said:


> Thanks wmcbrine.
> I noticed that in your message, there was a box for tivodecode.
> This does not appear in my copy of pyTivo.
> Do I need this to decode the file once it is transferred?


Yeah, the option would appear if there was a copy of tivodecode in pyTivo's bin directory, or in the system path. But if you don't need to decrypt, don't worry about it. (It doesn't really work yet with mpeg-ts, anyway.)



Vernon Smith said:


> Could it be that the Transfer as mpeg-ts box was ignored?


Nope -- that's why it's bigger. It sounds like you're just out of luck, as far as pyTivo is concerned, sorry.

But, if you want to try KMTTG on it, see here: http://sourceforge.net/p/kmttg/wiki/Resume_Downloads/


----------



## Vernon Smith

Thanks. It does seem to describe my problem. I will have to figure out to install and us KMTTG.
I noticed that in the window for the recordings, the ones that did not work correctly had a yellow icon with an exclamation mark instead of the round green one. I assume that this might mean that this recording has problems.


----------



## lpwcomp

Vernon Smith said:


> Thanks. It does seem to describe my problem. I will have to figure out to install and us KMTTG.


While I suppose it's possible that kmttg will work better, it's very unlikely 


Vernon Smith said:


> I noticed that in the window for the recordings, the ones that did not work correctly had a yellow icon with an exclamation mark instead of the round green one. I assume that this might mean that this recording has problems.


No, the green icon simply means that the recording is marked "Keep Until I Delete". The other icon means the TiVo can delete them if it needs space for a new recording.


----------



## wmcbrine

lpwcomp said:


> While I suppose it's possible that kmttg will work better, it's very unlikely.


It's not that it works better, it's that it has the "resume download" function, so he can (hopefully) wind past the bad spot and grab the remainder of the recording.


----------



## Lurker1

I am using pyTivo with auto_push and it works great most of the time. The problem is every once in a while seemingly at random, I see in the log "Session cannot be authenticated; try login again", and that one video is not pushed. So there is one video missing from My Shows, and I would never know if I didn't search the log. Would it be possible for pyTivo to automatically retry a push whenever this temporary error occurs?


----------



## Lurker1

The transient authentication error actually happens more than once in a while, I've found it several more times since my other post.

I am asking why pyTivo doesn't do anything about the error. It adds the error to the log, but auto_push receives a successful return code so it thinks everything is fine. The end result is the file is quietly dropped through the cracks and is never pushed. I know I am coming into this application years late, but I cannot seem to find this problem mentioned in 100+ pages of discussion.

I have used TiVo's web video subscriptions for many years, but they rudely discontinued that functionality without notice. I thought pyTivo/auto_push (with gPodder) would be a great replacement, but it is proving to be unreliable because of this error. Is there a better solution that others are using?


----------



## Lurker1

Is the authentication error perhaps a rate-limiting thing by TiVo's servers? Since I stopped my intensive testing, it hasn't done it any more.


----------



## shiffrin

I recently got a Synology Diskstation ds1515+ to use as my NAS and am investigating what else it can do. The latest version of the operating system (DSM 5.2 - a Unix derivative) supports a tool called Docker which allows the installation of numerous packages that others have developed. There are 2 versions of Pytivo on Docker and I am trying to get eitehr of them to work.

I can load either one, but it gives me an error that it doesn't have permission to save the /config/pytivo.conf file when it installs. I can access the pytivo app from my desktop, but it won't save the settings due to the permission problem. I know a little about unix and I am learning as fast as I can, but I don't have any idea where the conf file is supposed to go. I think I have to manually create the folder but I don't know where it should go.

Has anyone had any experience with this?


----------



## innocentfreak

Lurker1 said:


> I am using pyTivo with auto_push and it works great most of the time. The problem is every once in a while seemingly at random, I see in the log "Session cannot be authenticated; try login again", and that one video is not pushed. So there is one video missing from My Shows, and I would never know if I didn't search the log. Would it be possible for pyTivo to automatically retry a push whenever this temporary error occurs?


I just received this error on a push so not sure if the TiVo mind server is having issues.

I haven't pushed anything in the last couple of days.


----------



## Allanon

I have Windows 10 preview installed and I get this error when trying to push a video:


Code:


ERROR:pyTivo.video.video:<error>[CODE]badCookie

<debug>1</debug><text>Session cannot be authenticated; try login again</text></error>[/code]

Push works fine on my other Windows 8.1 computer. I'm wondering if this might have something to do with Windows 10 not having an Internet Explorer browser. They have a new browser called Project Spartan and I'm not even able to go to the pyTivo push web page when typing in the URL, I had to use the Google Chrome browser.


----------



## lpwcomp

Allanon said:


> I have Windows 10 preview installed and I get this error when trying to push a video:
> 
> 
> Code:
> 
> 
> ERROR:pyTivo.video.video:<error>[CODE]badCookie
> 
> <debug>1</debug><text>Session cannot be authenticated; try login again</text></error>[/code]
> 
> Push works fine on my other Windows 8.1 computer. I'm wondering if this might have something to do with Windows 10 not having an Internet Explorer browser. They have a new browser called Project Spartan and I'm not even able to go to the pyTivo push web page when typing in the URL, I had to use the Google Chrome browser.


Any chance you installed an old version of pyTivo on the Win 10 machine?

Or it is maybe a firewall/security issue.


----------



## Allanon

lpwcomp said:


> Any chance you installed an old version of pyTivo on the Win 10 machine?


I actually tried 3 different versions of pyTivo, 2 older ones and the latest build. That error is from the latest build. All these versions work on my Windows 8.1 computer.

Here is the error from oldest build I tried:


Code:


URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)>




> Or it is maybe a firewall/security issue.


I turned off the firewall and it didn't help. I'm able to pull videos from the Tivo without problem.


----------



## wmcbrine

I kinda doubt it's due to Win 10 vs. 8.1. I mean, it's the same code that runs on OS X and Linux, never mind different versions of Windows. But, have you got the same version of Python on both?


----------



## Allanon

wmcbrine said:


> I kinda doubt it's due to Win 10 vs. 8.1. I mean, it's the same code that runs on OS X and Linux, never mind different versions of Windows. But, have you got the same version of Python on both?


I had python 2.7.10 on the Win10 computer and 2.7.8 on win8.1 computer. So I installed python 2.7.8 on my Win10 computer and got the same error.


----------



## innocentfreak

If you look a few posts back, I have had the issue once or twice recently. Trying to push again usually works, but I have no idea why it is happening.

EDIT: I am talking about this error: Session cannot be authenticated; try login again


----------



## Allanon

innocentfreak said:


> If you look a few posts back, I have had the issue once or twice recently. Trying to push again usually works, but I have no idea why it is happening.
> 
> EDIT: I am talking about this error: Session cannot be authenticated; try login again


I've tried pushing files multiple times and to multiple Tivos, but get the same error.


----------



## gonzotek

Allanon said:


> I've tried pushing files multiple times and to multiple Tivos, but get the same error.


How's your date and time on the Win10 machine? I can replicate that error on my Macbook if I manually override the automatic time settings and change it to a date in the future. I remember a similar issue happening when the St. Valentine's Weekend Massacre event happened to TiVo units, where the hard-coded expiration date of the cookie the TiVo handed out as part of a TTG session moved into the past and thus auto-expired the session.


----------



## Lurker1

It turns out that the TiVo push process is even more unreliable than I thought. Some videos fail to push even when I don't get an authentication error. So it would be impossible for pyTivo to retry or do anything else about it.

I ended up writing a script that scans the pyTivo log file a couple of hours later to see if the video was ever sent, and if not, queue it again. This appears to be working alright, and has solved my problem.



Lurker1 said:


> I am using pyTivo with auto_push and it works great most of the time. The problem is every once in a while seemingly at random, I see in the log "Session cannot be authenticated; try login again", and that one video is not pushed. So there is one video missing from My Shows, and I would never know if I didn't search the log. Would it be possible for pyTivo to automatically retry a push whenever this temporary error occurs?


----------



## Allanon

gonzotek said:


> How's your date and time on the Win10 machine? I can replicate that error on my Macbook if I manually override the automatic time settings and change it to a date in the future. I remember a similar issue happening when the St. Valentine's Weekend Massacre event happened to TiVo units, where the hard-coded expiration date of the cookie the TiVo handed out as part of a TTG session moved into the past and thus auto-expired the session.


Windows is setting the time automatically and it's accurate.


----------



## HerronScott

OK, I either missed or forgot that you can now download files from your TiVo with pyTivo. I just tested it and works great to the WHS server that I use to host pyTivo and video files.

I do have a question about file naming. Can this be adjusted to match the format that TiVo Desktop uses (example below)?

Elementary - ''The Grand Experiment'' (Recorded May 15, 2014, WSVFCD2).TiVo

Scott


----------



## lpwcomp

HerronScott said:


> OK, I either missed or forgot that you can now download files from your TiVo with pyTivo. I just tested it and works great to the WHS server that I use to host pyTivo and video files.
> 
> I do have a question about file naming. Can this be adjusted to match the format that TiVo Desktop uses (example below)?
> 
> Elementary - ''The Grand Experiment'' (Recorded May 15, 2014, WSVFCD2).TiVo
> 
> Scott


You can do it yourself. All you have to do is modify the code.

If you don't want to do that, then you could use kmttg for xfers from the TiVo. It has a user tailorable file naming template.


----------



## HerronScott

lpwcomp said:


> You can do it yourself. All you have to do is modify the code.
> 
> If you don't want to do that, then you could use kmttg for xfers from the TiVo. It has a user tailorable file naming template.


Thanks for the reply. I had seen some references to kmttg having that ability and was wondering if pyTivo had it as well.

Scott


----------



## lpwcomp

HerronScott said:


> Thanks for the reply. I had seen some references to kmttg having that ability and was wondering if pyTivo had it as well.
> 
> Scott


I realize my response may have seemed snarky, but it wasn't really intended that way. It's literally what I would do.


----------



## HerronScott

lpwcomp said:


> I realize my response may have seemed snarky, but it wasn't really intended that way. It's literally what I would do.


Maybe, but I didn't take it that way.  I really did appreciate the response!

Scott


----------



## Allanon

Update to my push error. Windows 10 Preview did a major update and now push works. I tired pushing a video yesterday and it didn't work, but after receiving this Windows 10 update, push works fine. I didn't change anything with pyTivo.


----------



## dianebrat

*waves hi*
I'm back and trying to get push working and now I've got an issue I never had when I tried this 3 years ago. I'm running pytivo on a Server 2012R2 box and attempting to push movies back only to Roamio Plus that just got a new drive and it keeps failing almost instantly on the push with the following error:


Code:


INFO:pyTivo.video.video:[21/Jun/2015 18:28:31] Done sending "F:\ServerFolders\Vi
deos\tivo\Mom - ''Sick Popes and a Red Ferrari'' (Recorded Apr 16, 2015, WBZDT).
TiVo" to midtivo, 0 bytes, 0.00 Mb/s
INFO:pyTivo:192.168.1.22 [21/Jun/2015 18:28:37] "GET /MyMovies/Movie%20(Recorded
%20Jun%2028,%202014,%20TVGNHD).TiVo?Format=video%2Fmpeg HTTP/1.1" 206 -
INFO:pyTivo.video.video:[21/Jun/2015 18:28:37] Start sending "F:\ServerFolders\V
ideos\tivo\Movie (Recorded Jun 28, 2014, TVGNHD).TiVo" to midtivo
Encryption by QUALCOMM ;)

ffmpeg version N-73010-gbb3703a Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.9.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-l
ibilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enab
le-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --en
able-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --ena
ble-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc
 --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enabl
e-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --ena
ble-decklink --enable-zlib
  libavutil      54. 27.100 / 54. 27.100
  libavcodec     56. 41.100 / 56. 41.100
  libavformat    56. 37.100 / 56. 37.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 17.100 /  5. 17.100
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.100 /  1.  2.100
  libpostproc    53.  3.100 / 53.  3.100
pipe:: Invalid data found when processing input

My config reads as follows:


> [Server]
> togo_path = F:\ServerFolders\Videos\tivo
> tivodecode = F:\pytivo\Bin\tivodecode.exe
> tivo_password = kittykat
> tivo_mak = 3507927565
> tivo_username = [email protected]
> tdcat = F:\pytivo\Bin\tdcat.exe
> ffmpeg = F:\pytivo\Bin\ffmpeg.exe
> 
> [_tivo_SD]
> 
> [_tivo_HD]
> 
> [MyMovies]
> path = F:\ServerFolders\Videos\tivo
> type = video


I tried searching but even advanced search doesn't seem to point me at an obvious item I'm missing and I'm assuming it is something I missed.

The files are all the .tivo files I downloaded from this Roamio box last month with Tivo Desktop


----------



## moyekj

dianebrat said:


> The files are all the .tivo files I downloaded from this Roamio box last month with Tivo Desktop


 If you downloaded with "fast" mode enabled in TiVo Desktop that means the container is TS and tivodecode doesn't properly support decrypting that container. (For pushes pyTivo has to decrypt to mpeg2, but if you pull instead of push then that's not necessary).


----------



## dianebrat

moyekj said:


> If you downloaded with "fast" mode enabled in TiVo Desktop that means the container is TS and tivodecode doesn't properly support decrypting that container. (For pushes pyTivo has to decrypt to mpeg2, but if you pull instead of push then that's not necessary).


oh bother.. that's a pain I wish I'd thought to check that setting before I replaced the drive.
Now it's 135 items I have to individually start a pull from on the Tivo itself, that will take some time.

I'm really tempted to just put the old drive in and see about transferring them again in slow mode


----------



## moyekj

dianebrat said:


> oh bother.. that's a pain I wish I'd thought to check that setting before I replaced the drive.
> Now it's 135 items I have to individually start a pull from on the Tivo itself, that will take some time.
> 
> I'm really tempted to just put the old drive in and see about transferring them again in slow mode


 If you have Windows OS (which you must since you use TiVo Desktop to download), kmttg can decrypt them for you from FILES tab (using dsd instead of tivodecode). Under Program Options simply enable "Decrypt using DirectShow Dump instead of tivodecode" option.


----------



## dianebrat

moyekj said:


> If you have Windows OS (which you must since you use TiVo Desktop to download), kmttg can decrypt them for you (uses dsd instead of tivodecode). Under Program Options simply enable "Decrypt using DirectShow Dump instead of tivodecode" option.


I should be able to do that, after they're decoded can I push them back in bulk like I planned? 
I do have flexibility here since I just want them back eventually for ease of use (amusingly enough same reason I used pytivo a few years ago..)


----------



## moyekj

dianebrat said:


> I should be able to do that, after they're decoded can I push them back in bulk like I planned?


Yes of course, once decrypted pyTivo can push them without issue. Make sure turn on "metadata" task in kmttg in addition to "decrypt" so you retain some metadata associated with the titles (though pushes lose a lot more metadata than pulls).


----------



## lpwcomp

dianebrat said:


> I should be able to do that, after they're decoded can I push them back in bulk like I planned?
> I do have flexibility here since I just want them back eventually for ease of use (amusingly enough same reason I used pytivo a few years ago..)





moyekj said:


> Yes of course, once decrypted pyTivo can push them without issue. Make sure turn on "metadata" task in kmttg in addition to "decrypt" so you retain some metadata associated with the titles (though pushes lose a lot more metadata than pulls).


You should actually be able to have kmttg push the decrypted recording to the TiVo. Assuming you have kmttg set up properly, just check the "push" box in addition to the "metadata" and "decrypt" boxes.

You might want to limit the number you do at once. Some people have reported problems with too many pushes in the queue.

Another option is to just leave them on the PC and pull one when you want to watch it.


----------



## LI-SVT

I am using a Series 2 + Cable Box to record some of my shows. I have the cable box set to the stretch mode. Everything works as expected. When I play these recordings back on my Roamio and I have the picture set to fill the screen the image looks correct.

After these recordings are done KMTTG pulls them from the S2. I then use pyTiVo to pull them to other TiVo boxes in the house. It would be really neat if I could get these recording pulled with the 16:9 flag set. My reason for this is I like to leave the TiVo picture mode set to zoom.

I tried the 169 setting for a specific TSN but that didn't do it.

Anyone have any advise?


----------



## wmcbrine

LI-SVT said:


> Anyone have any advise?


pyTivo's not going to help you with this. Even if you could get it to set the aspect ratio to 16:9 by forcing a reencode, that would mean a loss in quality. What you really want is to change the aspect ratio flag, and _only_ the flag. There are utilities that can do this -- I've used them in the past. But I don't recall the details now.


----------



## LI-SVT

Ok, thank you. I have Video Redo and it does a good job with this task. I just have to re-mux each video manually.

I forgot to mention my main motivation is the TiVo phone app. Neither IOS or Android allow a stretch mode. This makes my S2 recordings look distorted on my phone and tablet.


----------



## justen_m

I think I found a slight bug(or unexpected behavior?) with pyTivo 2.7.10, on Win10 Pro Insider Preview build 10162, and a Roamio Plus with 20.4.7a.

View the Now Playing List on my PC shows strange behavior.

:up: If a show is a .TiVo, everything works properly. The show and episode title are displayed in the NPL and the episode description appears when the show is selected.

:up: If a show is an .mpg or .mp4 with no meta data information, the show and episode title are displayed in the NPL and, obviously, the program description is blank when the show is selected.

:down: If a show is an .mpg or .mp4 with a corresponding .txt metadata file (in my case extracted by kmttg to .[mpg|mp4].txt), *only the show name is displayed in the NPL. The episode title is not.* The episode description appears when the show is selected.

If I have an .mpg or .mp4 and the meta data, I would still like the episode title displayed in the NPL. I don't see any option for that, either on the web page or in pyTivo.conf.dist.


----------



## lpwcomp

justen_m said:


> I think I found a slight bug(or unexpected behavior?) with pyTivo 2.7.10, on Win10 Pro Insider Preview build 10162, and a Roamio Plus with 20.4.7a.
> 
> View the Now Playing List on my PC shows strange behavior.
> 
> :up: If a show is a .TiVo, everything works properly. The show and episode title are displayed in the NPL and the episode description appears when the show is selected.
> 
> :up: If a show is an .mpg or .mp4 with no meta data information, the show and episode title are displayed in the NPL and, obviously, the program description is blank when the show is selected.
> 
> :down: If a show is an .mpg or .mp4 with a corresponding .txt metadata file (in my case extracted by kmttg to .[mpg|mp4].txt), *only the show name is displayed in the NPL. The episode title is not.* The episode description appears when the show is selected.
> 
> If I have an .mpg or .mp4 and the meta data, I would still like the episode title displayed in the NPL. I don't see any option for that, either on the web page or in pyTivo.conf.dist.


If you put each series into its own folder, then when you navigate to that folder, the episode titles will be displayed.

The reason you are seeing the episode titles on the .tivo files and the .mpg and .mp4 files is that it is part of the file name.

BTW, 2.7.10 is not the pyTivo version, it is the _*Python*_ version.


----------



## justen_m

lpwcomp said:


> If you put each series into its own folder, then when you navigate to that folder, the episode titles will be displayed.
> 
> The reason you are seeing the episode titles on the .tivo files and the .mpg and .mp4 files is that it is part of the file name.


Yes, but then the program name isn't always displayed. This is somewhat annoying if I am using generic folders. For example, maybe I just put all cooking related shows in a folder, Cooking. Depending on if the show is a .TiVo, .mpg without metadata, or .mpg with metadata, I see the following:

.TiVo - program name and episode title in NPL
.mpg without metadata - program name and episode title in NPL
.mpg with metadata - Episode title but not program name in NPL. I have to click on the episode title to open the show description to see what show it is.

If the shows aren't in a folder, the problem is reversed. The .mpg without metadata or .TiVo work the same in the NPL, but in this case the .mpg with meta data only shows the program name and not the episode title. I have to open the show description to see the episode title. Equally as annoying.

*Summary - If I have a .mpg with metadata, I can never get both program name and episode title in the NPL. I get one or the other.*

If I have an .mpg without meta data or a .TiVo I always get program name and episode title in the NPL. Why is .mpg with meta data different?

For example, in my Cooking folder I have
BBQ With Franklin - Brisket (06_11_2015).mpg
BBQ With Franklin - Sausage (06_18_2015).mpg
BBQ With Franklin - Sausage (06_18_2015).mpg.txt
Essential Pépin - Eggs-Quisite (06_27_2015).mpg
Essential Pépin - Eggs-Quisite (06_27_2015).mpg.txt
Simply Ming - Cooking Local With Lachlan Colwill (06_27_2015).TiVo

The metadata displays everything correctly for the three shows with metadata. In the NPL, I see:
BBQ With Franklin - Brisket (... Wed 7/8
"Sausage" Wed 7/8 
"Eggs-Quisite" Wed 7/8
Simply Ming - Cooking Local... Wed 7/8

If I publish the Cooking folder directly so my Tivo can access it without going into a subfolder, I see:
BBQ With Franklin - Brisket (... Wed 7/8
BBQ With Franklin Wed 7/8 
Essential Pépin Wed 7/8
Simply Ming - Cooking Local... Wed 7/88

If I remove the .mpg.txt metadata files I see
BBQ With Franklin - Brisket (... Wed 7/8
BBQ With Franklin - Sausage... Wed 7/8 
Essential Pépin - Eggs-Quisite... Wed 7/8
Simply Ming - Cooking Local... Wed 7/8

[cut'n'paste has nuked the spacing, sorry]

I see this in Win10 and Linux. As expected as both are running the same version of pyTivo... I think...


lpwcomp said:


> BTW, 2.7.10 is not the pyTivo version, it is the _*Python*_ version.


My mistake. The only indication of possible version is the first line of output I see:
pyTivo:Last modified: Wed Mar 25 17:20:48 2015


----------



## jcthorne

Anyone else notice the mind server having 'issues' lately? Pytivo is communicating fine but the transfers are not occurring until HOURS later, like during the overnight.


----------



## HaeMaker

Running latest pytivo with Python 2.7.10 on a Windows 7 box. Upgraded to new Roamio Plus. Roamio can see old TiVoHD and TiVoHD can see pytivo, but Roamio can't see pytivo. 

Sharing is enabled and I can see the "a,a,a,a" in the system information. I can transfer files from TiVoHD to Roamio. I can see the Roamio pop up in the pytivo loading screen, so pytivo can see the Roamio.

What further steps should I take to troubleshoot? Is there some setting I am missing on the Roamio that I don't remember that I need for pytivo?

Thanks in advance.


----------



## lpwcomp

HaeMaker said:


> Running latest pytivo with Python 2.7.10 on a Windows 7 box. Upgraded to new Roamio Plus. Roamio can see old TiVoHD and TiVoHD can see pytivo, but Roamio can't see pytivo.
> 
> Sharing is enabled and I can see the "a,a,a,a" in the system information. I can transfer files from TiVoHD to Roamio. I can see the Roamio pop up in the pytivo loading screen, so pytivo can see the Roamio.
> 
> What further steps should I take to troubleshoot? Is there some setting I am missing on the Roamio that I don't remember that I need for pytivo?
> 
> Thanks in advance.


After removing sensitive data, post your pyTivo.conf file.


----------



## HaeMaker

lpwcomp said:


> After removing sensitive data, post your pyTivo.conf file.


Here it is:



Code:


[Server]
beacon = [redacted]
ffmpeg_pram = -threads 2
tivo_mak = [redacted]
ffmpeg = H:\ffmpeg\bin\ffmpeg.exe

[_tivo_SD]

[_tivo_HD]

[Edumacational]
path = H:\videos\Edumacational
type = video
force_alpha = on

[Movies]
type = video
path = H:\videos\Movies
force_alpha = on

[Television]
path = H:\videos\Television
force_alpha = on
type = video

[Christmas]
type = video
path = H:\videos\Christmas
force_alpha = on

[Cartoons]
force_alpha = on
type = video
path = h:\videos\cartoons

[Pictures]
path = h:\pictures
type = photo

Thanks.


----------



## justen_m

The only thing I can think of is something you have in the [redacted] beacon value.

Mine is blank on my computers that run pyTivo, and both my Tivo HD and Roamio Plus can see them fine. Do you have a a beacon entry that broadcasts to your entire LAN? Or do you have individual IP addresses for each Tivo? If you only have an IP address there for you Tivo HD, maybe it isn't broadcasting to your Roamio. Or if you entered one for your Roamio, has its IP addr changed? Maybe DHCP, for example?


----------



## wmcbrine

HaeMaker, the beacon line is not sensitive info. No one cares about nor can benefit from knowing your internal, non-routable IPs.  And as it happens, this is the one line whose value might be relevant. However, my advice would've just been to wait -- new TiVos never work fully until a few days in -- or to try restarting pyTivo and/or the TiVo.


----------



## HaeMaker

wmcbrine said:


> The beacon line is not sensitive info. No one cares about nor can benefit from knowing your internal, non-routable IPs.  And as it happens, this is the one line whose value might be relevant. However, my advice would've just been to wait -- new TiVos never work fully until a few days in -- or to try restarting pyTivo and/or the TiVo.


I know... I'm just pedantic. I will try removing it. I put the line in when this machine was dual-homed. I will see if it starts working after a week.


----------



## philhu

FYI, pytivo forum (On sourceforge), is showing down ,like most of Sourceforge for weeks now.

This is affecting pytivo and kmttg

The sourceforge.net website is temporarily in static offline mode.
Only a very limited set of project pages are available until the main website returns to service.


----------



## thewebgal

philhu said:


> FYI, pytivo forum (On sourceforge), is showing down ,like most of Sourceforge for weeks now.
> 
> This is affecting pytivo and kmttg
> 
> The sourceforge.net website is temporarily in static offline mode.
> Only a very limited set of project pages are available until the main website returns to service.


Didn't seem to be "weeks now" seemed like its maybe 4 days now ...
And, its working now
http://sourceforge.net/projects/pytivo/files/latest/download?source=directory


----------



## lpwcomp

thewebgal said:


> Didn't seem to be "weeks now" seemed like its maybe 4 days now ...
> And, its working now
> http://sourceforge.net/projects/pytivo/files/latest/download?source=directory


SF was definitely up on the 14th.

Forums still appear to be down, or at least the pyTivo one is.


----------



## Lurker1

lpwcomp said:


> SF was definitely up on the 14th.
> 
> Forums still appear to be down, or at least the pyTivo one is.


With all the evil shenanigans going on at Sourceforge lately, I wish these essential projects would find a new home.


----------



## gonzotek

Lurker1 said:


> With all the evil shenanigans going on at Sourceforge lately, I wish these essential projects would find a new home.


wmcbrine posts the source of his pytivo branch on github. I'll see about what can be done about moving the documentation to someplace better than sf.net when I have time (maybe never...if someone gets the itch to do it first, please feel free!  ). I'm not up to hosting a phpbb these days, so if people want a forum (and especially if they want the content in the old forum), someone else will have to step up to make that happen.


----------



## wmcbrine

Bits of SourceForge are working, other bits aren't yet. I shall be very cross if the forum never comes back up -- that's a lot of accumulated information to lose. But yeah, the source is still available at GitHub (and also repo.or.cz), and discussion is still available here.


----------



## JumboTech

Hi everyone,

First, many thanks to everyone associated with pyTivo. Reading this forum thread, I went from being interested to thinking it looked good to trying pyTivo and have ended up having a lot of fun.

I appreciate all the hard work you guys put in so that we could benefit.

Second, if I pull a program to my Roamio using pyTivo should I be able to stream it on my cell phone? The pull works great and is a VideoReDo edited Mpeg 2 file from a Tivo original but the Tivo Android cell phone app only has the option to "play on TV" not on the phone whereas the original non edited file could be streamed to the phone.

Any thoughts?

Cheers,

JumboTech


----------



## lpwcomp

JumboTech said:


> Hi everyone,
> 
> First, many thanks to everyone associated with pyTivo. Reading this forum thread, I went from being interested to thinking it looked good to trying pyTivo and have ended up having a lot of fun.
> 
> I appreciate all the hard work you guys put in so that we could benefit.
> 
> Second, if I pull a program to my Roamio using pyTivo should I be able to stream it on my cell phone? The pull works great and is a VideoReDo edited Mpeg 2 file from a Tivo original but the Tivo Android cell phone app only has the option to "play on TV" not on the phone whereas the original non edited file could be streamed to the phone.
> 
> Any thoughts?
> 
> Cheers,
> 
> JumboTech


The Android app won't stream any transferred recordings.


----------



## JumboTech

lpwcomp said:


> The Android app won't stream any transferred recordings.


Darn it. I thought someone might say that but I was hoping it could be overcome by changing a metadata line or something.

Thanks for the response though........


----------



## lpwcomp

JumboTech said:


> Darn it. I thought someone might say that but I was hoping it could be overcome by changing a metadata line or something.
> 
> Thanks for the response though........


The real question is: Is it a bug, a design flaw, or deliberate. The iPhone/Pad app can do it.


----------



## JumboTech

lpwcomp said:


> The real question is: Is it a bug, a design flaw, or deliberate. The iPhone/Pad app can do it.


Well if that's the case, it must be overcome......


----------



## wmcbrine

In light of the continuing SourceForge outages, I've registered pytivo.org. Currently it just redirects to my GitHub page for pyTivo.


----------



## wmcbrine

SourceForge forum and wiki are back alive.


----------



## Lurker1

wmcbrine said:


> SourceForge forum and wiki are back alive.


Even so, I don't trust them any more since they started taking over projects without notice and inserting adware.


----------



## rich97702

What a Terrific program! I've been using it for three months now. Thanks so much.

I've searched for a problem I was sure had come up--no luck.

Can someone tell me why programs I try to pull from my Tivo Premier often transfer only part of the program? I've had this problem from the beginning. The programs are live broadcasts, about 4 hrs long (32-33GB), some transfer in full, some don't. The ones that do not transfer completely are completed mpg files and are watchable, they just end early. Retries are the _identical_ shortened length.
Thanks for any help, including directing me to the appropriate thread.
R


----------



## lpwcomp

rich97702 said:


> What a Terrific program! I've been using it for three months now. Thanks so much.
> 
> I've searched for a problem I was sure had come up--no luck.
> 
> Can someone tell me why programs I try to pull from my Tivo Premier often transfer only part of the program? I've had this problem from the beginning. The programs are live broadcasts, about 4 hrs long (32-33GB), some transfer in full, some don't. The ones that do not transfer completely are completed mpg files and are watchable, they just end early. Retries are the _identical_ shortened length.
> Thanks for any help, including directing me to the appropriate thread.
> R


View the recording(s) on the TiVo at the point that the transfer failed. You'll usually see a video "glitch". It may be almost imperceptible and on a couple of occasions I couldn't see any problem at all. There's nothing that pyTivo can do about it. It is the TiVo that is aborting the transfer.

You might want to take a look at kmttg. It has the ability to transfer from a pause point so that you can position the recording after the "glitch" and transfer the rest of it. If you're lucky, the problem is within a commercial.


----------



## gonzotek

wmcbrine said:


> In light of the continuing SourceForge outages, I've registered pytivo.org. Currently it just redirects to my GitHub page for pyTivo.


What do you think of porting the wiki over to github? I've just exported all the pages and images from the sf mediawiki, and it looks like enough of the markup is the same for GitHub that it won't be too much trouble to fix up. If you wanted, I could take the time to put it all into a forked pytivo repo, making sure links are clean and everything is working well, and then do a pull request on your branch...or we could just keep documentation as a separate project if that's preferable. I spent a lot of time improving the windows install page (and hoped to eventually do similar work with OSX, Raspberry Pi, and some other NAS-type devices), and I really don't like the idea of some random SourceForge issue eating all that work.

Either way, by putting them on github, they could more easily be downloaded/backed up/moved to a new host via git. Mediawiki doesn't have great export tools (at least not if you're not the site admin).


----------



## rich97702

lpwcomp said:


> View the recording(s) on the TiVo at the point that the transfer failed. You'll usually see a video "glitch". It may be almost imperceptible and on a couple of occasions I couldn't see any problem at all. There's nothing that pyTivo can do about it. It is the TiVo that is aborting the transfer.
> 
> You might want to take a look at kmttg. It has the ability to transfer from a pause point so that you can position the recording after the "glitch" and transfer the rest of it. If you're lucky, the problem is within a commercial.


Thank you for the alternative--I'll try that next.
R

UPDATE: Partial recordings are addressed in a kmttg Wiki at sourceforge.net/p/kmttg/wiki/Resume_Downloads/


----------



## nafterclifen

Back in May, I pushed a number of movies (using pyTivo) to a folder on my Tivo. I often streamed the movies on an iPad but I can't anymore, only on the TV. I downloaded some of the movies onto the iPad and I can still watch them but I can't download or stream any of the other movies on ANY iOS device. Both the Download and Watch Now on TV options are grayed out and I receive the follow messages when I click on them...

"Due to copy protection, downloading is not supported through external devices."

"Streaming this show is not permitted due to an unsupported video format or copyright policy."


WHY?!?


----------



## wmcbrine

The copy prohibition flag is set by the TiVo automatically on all pushes, not by our choice. To avoid it, use pull instead of push.

I don't know why the behavior changed as far as the app goes, sorry.


----------



## nafterclifen

wmcbrine said:


> The copy prohibition flag is set by the TiVo automatically on all pushes, not by our choice. To avoid it, use pull instead of push.


I also read this somewhere but nobody offers an explanation. Especially when I was able to do it for months and now I can't.

It stinks to have to give up folders for being able to stream/download.


----------



## jcthorne

nafterclifen said:


> I also read this somewhere but nobody offers an explanation. Especially when I was able to do it for months and now I can't.
> 
> It stinks to have to give up folders for being able to stream/download.


You can place videos in folders with push or pull. Even in to the same folders with each other and recorded videos if your programId is specified correctly.


----------



## innocentfreak

Is the latest stable build of FFmpeg the best to use? I am currently setting up a new Win 10 machine and wondering which FFmpeg binary I should use for best results with PyTiVo.


----------



## jhjones75

I've been using PyTivo for years now to transfer content to my Tivo (thanks very much!) and have always had a few random issues with quality on videos when I stream them to my ipad. Recently I updated my pytivo to the latest version, updated ffmpeg, and tried again. Same problems. Here's my setup:

Tivo Roamio + a whole bunch of Tivo Mini's + MoCA

For example, I download an MP4, pull it to the Tivo, then try to watch it on my iPad. The video looks completely fine, except at the bottom there are 3 green lines. If I watch it on Tivo, it looks fine. 

Not sure if this is a pyTivo issue, but wanted to throw it out there to see if anyone had any ideas. Is it the quality of what I download? Something with the transcoding? Anything I can do about it?

Thanks!


----------



## lpwcomp

jhjones75 said:


> I've been using PyTivo for years now to transfer content to my Tivo (thanks very much!) and have always had a few random issues with quality on videos when I stream them to my ipad. Recently I updated my pytivo to the latest version, updated ffmpeg, and tried again. Same problems. Here's my setup:
> 
> Tivo Roamio + a whole bunch of Tivo Mini's + MoCA
> 
> For example, I download an MP4, pull it to the Tivo, then try to watch it on my iPad. The video looks completely fine, except at the bottom there are 3 green lines. If I watch it on Tivo, it looks fine.
> 
> Not sure if this is a pyTivo issue, but wanted to throw it out there to see if anyone had any ideas. Is it the quality of what I download? Something with the transcoding? Anything I can do about it?
> 
> Thanks!


Assuming that you have "ts = on" in your pyTivo config file (which you should), an mp4 will not be transcoded by pyTivo.

This sounds more like either a Stream transcoding problem or a problem with the iPad.


----------



## jhjones75

I actually stripped everything out o my .conf file to start over from scratch. MP4's are transferring just fine and with the pull I'm able to view them on ipad.

I don't have TS=on, but on my old conf it was on and I still had this problem. I used to use ffmpeg manually to convert my mp4 to mpeg and then transfer to the Tivo. I still had the green lines issue (across multiple ipad's), but just figured that was due to the double encoding. And honestly the videos were so bad that most of the time I couldn't watch them anyway.

With the new conf and build, the Tivo (using pyTivo) seems to be pulling the MP4's just fine. Aside from the green lines.

[Video Share]
path = ***
type = video

[_tivo_SD]

[_tivo_HD]

[Server]
tivo_password = ***
tivo_mak = ***
ffmpeg = d:\pytivo\bin\ffmpeg.exe
ffmpeg_pram = -threads 2
tivodecode = d:\pytivo\bin\tivodecode.exe
tdcat = d:\pytiivo\bin\tdcat.exe
togo_path = d:\downloads
tivo_username = ***


----------



## lpwcomp

Have you tried playing them on your phone and tivo online, just to see how they look?


----------



## jhjones75

Yeah, same behavior on iPhone and online.

Here's a pic


----------



## lpwcomp

Has to be the Stream doing it then.


----------



## wmcbrine

I've added tentative patches to support 4K resolution and the HEVC codec to my fork. Not tested, since I don't have a Bolt... any guinea pigs?  This also entails a new option block, "_tivo_4K", to go along with "_tivo_HD" and "_tivo_SD" (though, in general, I recommend you ignore these, and use the defaults). I've had to guess at acceptable bitrate and buffer size values. The features are independent, i.e. you should be able to use 4K resolution even with the MPEG2 codec, or HEVC at SD or HD resolutions. HEVC should be deliverable in MP4 format via push, or transport stream format via pull (still requires ts=on... gotta fix that).

Older TiVos should work as before.

(Crossposted here)


----------



## jcthorne

Just thought I would throw out there that pytivo is happily transferring mp4s (h.264 and ac3) to Tivo Bolt at 196Mb/s......

It may actually be capable of faster as I had other network traffic going on and the Bolt was doing its normal buffering, not in standby.


----------



## wmcbrine

So, I got a Bolt. Results so far:

Music and Photos work -- still with the old interface, but at least they're a bit snappier -- but the detection of the shares is erratic, even more so than it has been for a while now. Video share detection seems good.

Push isn't working for me, so far, although I can't read too much into that. No errors on the pyTivo end, but the TiVo never requests the videos.

I've not yet been able to make any HEVC or 4K test cases work, which is very disappointing to me. The files appear to transfer, but don't play. But this is all with transport streams -- I tried pushing the MP4s, but see above. I'll keep working on this, without much optimism.


----------



## jcthorne

Push would not work for me until the activation on the tivo site finally completed and the check box for downloading video was checked. It defaults to no for EACH new dvr added to the account. Push to Bolt is working like a champ for me now. Although I have not tried any HEVC or 4k content. i do not have a 4k projector and will not until they come WAY down in price.

Really glad to see you got a Bolt....I see great things ahead


----------



## wmcbrine

I don't have any 4K displays yet myself, but I'm expecting the Bolt to downconvert the video to 1080p, as it would convert any other source resolution to the chosen output resolution. Perhaps naive of me?


----------



## wmcbrine

jcthorne said:


> Push would not work for me until the activation on the tivo site finally completed and the check box for downloading video was checked. It defaults to no for EACH new dvr added to the account.


Yeah, I had to manually check it and force a connection, and then the files I'd pushed before went through. Unfortunately, the 4K h.264 file still wouldn't play, and the HEVC MP4s were completely rejected.


----------



## jcthorne

Bummer. Hopefully the codec and acceptable containers will become known soon. Perhaps a birdie will drop a hint.........


----------



## aaronwt

jcthorne said:


> Just thought I would throw out there that pytivo is happily transferring mp4s (h.264 and ac3) to Tivo Bolt at 196Mb/s......
> 
> It may actually be capable of faster as I had other network traffic going on and the Bolt was doing its normal buffering, not in standby.


Yes, the last transfer I looked at on the Bolt showed a transfer rate of 287.55Mbps. Although this was while it was in standby mode and no tuners were being buffered.


----------



## RojCowles

Hi All,

Just wondering if this is something others have seen. I did have a quick look but I think my Search-Fu is lacking as I didn't pull up a relevant thread (yet).

I have a Roamio and a Premiere and I notice that when I transfer movies encoded in .mkv, maybe mp4 too, format from a Linux box running pyTivo the Tivo will start deleting shows to make room for the transferred video file. 

However, despite having 20 - 30 Gb free on the Roamio before starting the transfer, which should be plenty of free space, the Tivo will keep deleting shows until there's 60-70% free space available (over 600Gb on our 1Tb Roamio) and then start the transfer. This tends to wipe out a lot of shows that aren't Keep until Delete and can cause some upset/confusion to the rest of the family when 30 Spongebob's mysteriously vanish...

Any idea why I see this and is there anything I could change, say a newer version of of pyTivo, pyTivo configuration, or even some setting on the Tivo?

Thanks!


----------



## wkearney99

RojCowles said:


> ...and can cause some upset/confusion to the rest of the family when 30 Spongebob's mysteriously vanish...


Which is, perhaps, a parenting issue, not a technical one. That and integrated streaming (for shows that are available that way) goes a long way toward avoiding issues with having binge material. Which is, again, perhaps a parenting issue... 

That or use the same PC to pull the shows from the Tivo. Store them there instead.

As for transfers and free space, does it do this only with mkv files?

I'd wonder if there's a space calculation that happens on the Tivo, based on requesting data from pytivo? Does the Tivo even ask when doing the transfer?


----------



## mattack

I don't have an answer, and 20-30 gigs free seems like a lot to me..

but I experienced basically the same thing when transferring from tivo to tivo. I don't do that anywhere near as much as I used to (since I just use kmttg to download stuff, and put it BACK on the Tivo less commonly).

Basically, my black box experience is similar to wkearney99's.. Tivo doesn't seem to ask how big the thing is, so just makes "a whole lot of room", in case it's big. Again, this seemed to happen even when transferring between Tivos, so is not really pytivo specific.

One _workaround_ would be to use streambaby instead, and stream it back to the Tivo, which doesn't (permanently) use space on the Tivo. I think it uses a small buffer.


----------



## wmcbrine

RojCowles said:


> Any idea why I see this and is there anything I could change, say a newer version of of pyTivo, pyTivo configuration, or even some setting on the Tivo?


Stop using Keep Until I Delete. Seriously, it causes the TiVo to act very stupidly (and the more stuff that's KUID'ed, the worse it gets). Get rid of that, and you'll probably find that you aren't losing anything anymore.

pyTivo _does_ estimate the size, on transcoded material, and it _does_ intentionally overestimate (because if the estimate is too low, the recording gets immediately deleted) -- but not by that much. The behavior you've described is something I've only seen with KUID.


----------



## wkearney99

wmcbrine said:


> Stop using Keep Until I Delete. Seriously, it causes the TiVo to act very stupidly (and the more stuff that's KUID'ed, the worse it gets). Get rid of that, and you'll probably find that you aren't losing anything anymore.
> 
> pyTivo _does_ estimate the size, on transcoded material, and it _does_ intentionally overestimate (because if the estimate is too low, the recording gets immediately deleted) -- but not by that much. The behavior you've described is something I've only seen with KUID.


Does it log the calculated estimate? I've never looked. Might be good to know that particular recording wasn't causing an incorrect calculation to be made.

I tend to agree regarding KUID. I could never pin it down as to why, but I encountered situations where programming had gone missing having been 'pruned' automagically by the Tivo. There wasn't a lack of room, so I was puzzled. This lead to me to do some pruning of my own by doing a lot of deleting of stored shows and edits to my Season Passes. I cut back a lot of stuff that was set for KUID, new & old (switched to new only) and the total number to keep (down from 25 on some). This seemed to eliminate the problems, although I didn't attribute them to KUID, until now. It was good to do the housekeeping anyway. These days, with A LOT being available by streaming, it's an even better idea.


----------



## lpwcomp

I use KUID a lot since there's stuff I don't want to go away unless I delete it and I've never had the problem under discussion.


----------



## RojCowles

Thanks, I will cop to being a terrible parent


----------



## RojCowles

wmcbrine said:


> Stop using Keep Until I Delete. Seriously, it causes the TiVo to act very stupidly (and the more stuff that's KUID'ed, the worse it gets). Get rid of that, and you'll probably find that you aren't losing anything anymore.


Thanks! Makes a lot of sense on the KUID settings so I'll surreptitiously change a few One Pass and Wishlists that are auto-setting this on the various Tivo's and see how that goes.

Also we don't use pyTivo as much as we used to, I actually like Plex and being able to access all of our archived shows/movies through its UI but sometimes its just nice to have the video local to the Tivo and be able to use the standard Tivo navigation.

Per Mattack's suggestion I did have Streambaby configured some time ago but, and this is hazy, it didn't get used much so when I retired the server it was on I didn't reinstall it on the new box.

Thanks for the suggestions and comments! Good stuff.


----------



## mattack

wmcbrine said:


> Stop using Keep Until I Delete. Seriously, it causes the TiVo to act very stupidly (and the more stuff that's KUID'ed, the worse it gets). Get rid of that, and you'll probably find that you aren't losing anything anymore.


You're saying the exact WRONG thing, since he will LOSE recordings if he DOESN'T use keep until I delete.


----------



## wmcbrine

mattack said:


> You're saying the exact WRONG thing, since he will LOSE recordings if he DOESN'T use keep until I delete.


No sir. KUID leads to premature deletion (of anything not so marked). It just doesn't work well. It should be used sparingly if ever. The quickest way to render a TiVo inoperative is heavy use of KUID. I've seen it repeatedly, and I stand by my answer.

In typical use, TiVos have all the space they need to avoid premature deletion _without_ having to use KUID.


----------



## lpwcomp

I stand by my contention that there is absolutely nothing wrong with KUID. It's what I use for things I know I don't want deleted as opposed to those things that I don't care about as much. Saying things will be "prematurely deleted" makes absolutely no sense. If it is deleting things even though it doesn't need to, _*something*_ is going to be deleted and using KUID is the only way to ensure that it won't be the stuff I want kept.


----------



## wmcbrine

The really destructive thing is if you have season passes set to KUID, especially if they're set to keep multiple episodes. The TiVo projects all the space that would be taken up by all the episodes as unavailable. Marking individual programs after the fact has less effect.


----------



## lpwcomp

wmcbrine said:


> The TiVo projects all the space that would be taken up by all the episodes as unavailable.


Huh? I've never seen any evidence of that.


----------



## wmcbrine

http://tivocommunity.com/tivo-vb/showthread.php?p=3696209#post3696209
http://tivocommunity.com/tivo-vb/showthread.php?p=7108402#post7108402
http://tivocommunity.com/tivo-vb/showthread.php?p=10430540#post10430540
http://tivocommunity.com/tivo-vb/showthread.php?p=10468147#post10468147
http://tivocommunity.com/tivo-vb/showthread.php?p=10640627#post10640627


----------



## lpwcomp

wmcbrine said:


> http://tivocommunity.com/tivo-vb/showthread.php?p=3696209#post3696209
> http://tivocommunity.com/tivo-vb/showthread.php?p=7108402#post7108402
> http://tivocommunity.com/tivo-vb/showthread.php?p=10430540#post10430540
> http://tivocommunity.com/tivo-vb/showthread.php?p=10468147#post10468147
> http://tivocommunity.com/tivo-vb/showthread.php?p=10640627#post10640627


Every one of those posts was assuming something for which there was no evidence or complaining about messages saying that something could not be scheduled or would not be recorded due to insufficient disk space.

When the scheduler is determining whether there will be sufficient disk space to record something in the future, it calculates how much space will be available _*at that point*_, so of course it has to take into account all the space that it thinks _*will be*_ allocated to KUID recordings by then. It does not pre-allocate the space for all future KUID recordings and permanently remove it from the free space calculation. IOW, it doesn't prevent you from making a recording now simply because a week from now it will be out of space.

When I either explicitly schedule a recording or download something, I sometimes get warnings that things will be deleted early or will not be recorded due to insufficient space. The latter can include KUID 1P recordings.


----------



## mattack

I know all of that.

However, when transferring shows from one tivo to another, as we described earlier, the tivo seems to do some wrong estimation of the size it's transferring, so makes way more room than necessary.. which CAN include deleting things.

So if everything is KUID, it obviously WON'T delete those shows.


----------



## aaronwt

mattack said:


> You're saying the exact WRONG thing, since he will LOSE recordings if he DOESN'T use keep until I delete.


Why would you lose them? I've had recordings for years on my Premiere and they have never been deleted. Nothing is marked KUID on that box. As long as it doesn't get near full, I won't have those long term shows deleted.


----------



## lpwcomp

aaronwt said:


> Why would you lose them? I've had recordings for years on my Premiere and they have never been deleted. Nothing is marked KUID on that box. As long as it doesn't get near full, I won't have those long term shows deleted.


The post to which you responded was addressing the problem of a TiVo, for some unknown, deleting recordings to make space for a transfer even though there is plenty of space already available.


----------



## derek87

i apologize: i haven' read all 175 pages of this thread, but i did try to search on the web and here for what i have been experiencing, but didn't turn anything up on these following things so i beg your forgiveness if i somehow missed the answers somewhere...

.. i got my first Tivo (Roamio OTA) last week and have slowly been bringing it up and transitioning from my mac based EyeTV tuner which i've used over the past 10 years. in the interest of archiving some old recordings (e.g., World Series recordings) and potentially putting some of these Eyetv recordings onto the Tivo Roamio so i can retire my dying Macbook Pro which was streaming the recordings from our main computer.

anyway, i digress: i've been trying to use pyTivo to transfer these eyetv recordings to the Roamio. i have had limited success and have the following questions/observations:

- i have had weird instances where it seems the transfer process goes into limbo. for e.g., this morning, i wanted to add another show by transfer, so i chose to transfer it, but when i selected it, it said it would transfer it once other items were completed on the to do list (implying there were other files in front of it to be transferred). yet, that is not the case. there are no other transfer requests in front of this particular file/show. i can confirm this when i go to my to do list. only the file i have recently asked to be transferred is at the top of the list (ahead of the recording set up to natively be recorded by the Roamio)

- is there some simple way to edit the Metadata on the Eyetv file/package to get a more consistent naming convention, and (wishful thinking), include it with the folder already on the Tivo?

e.g., we record the show Blackish on ABC. for the tivo based recordings, they store them in a folder called "blackish." the one eyetv file i have transferred thus far is entitled "Blackish (2015)" it's unclear to me what will happen if i were to push a second episode of blackish to the Roamio. would it create a folder of that name?

(the name of the file i pushed is of the from Blackish - Episodename.eyetv)

- i also found one time last night a transfer just got sort of stuck at transferring zero bytes. is there anything to avoid this happening? (i resolved the problem by forcefully deleting everything from the roamio, taking down the pytivo server, clearing the movies directory, and starting from scratch (i.e., it took a huge effort to get the failed transfer to permanently stop).


thanks for any thoughts for such newbie questions/thoughts!


----------



## lpwcomp

What format are the EyeTV files? - mpg, mp4, or something else?

In any case, your best option is most likely to get them into some standard format(mp4 would probably be the best) and generate new metadata files using Metagenerator 3 then Pull them to your TiVo rather than Push. Also add

ts=on

to the pyTivo global settings so an mp4 will not be transcoded to mpg.


----------



## derek87

lpwcomp said:


> What format are the EyeTV files? - mpg, mp4, or something else?
> 
> In any case, your best option is most likely to get them into some standard format(mp4 would probably be the best) and generate new metadata files using Metagenerator 3 then Pull them to your TiVo rather than Push. Also add
> 
> ts=on
> 
> to the pyTivo global settings so an mp4 will not be transcoded to mpg.


eyetv files are the raw MPEG-2 (mpg file + a bunch of files of metadata)

in the end, it's probably not worth the effort as this is really just a way to get through some shows in the next few weeks although it might be worth an investment older files like from the past World Series although i'd prefer to not lose any quality from the raw HD feeds previously recorded.


----------



## scht99

Bolt is driving me crazy...

Is there any way to force pytivo to attach to it? my share is not showing up and the drop down only has my old premeiere not my new bolt.

I can try to push to the bolt using kmttg (which is working fine) but pyTivo gives an error: "notAuthorized...Cannot find accountID for TSN Bolt"

Also my bolt sometimes doesn't allow attaching to my old TiVo Premiere
My old TiVo Premeiere works perfectly with pyTivo

Anyone have any ideas?

I tried adding the bolts IP address to pyTivo settings too. That didn't do anything.


----------



## lpwcomp

scht99 said:


> Bolt is driving me crazy...
> 
> Is there any way to force pytivo to attach to it? my share is not showing up and the drop down only has my old premeiere not my new bolt.
> 
> I can try to push to the bolt using kmttg (which is working fine) but pyTivo gives an error: "notAuthorized...Cannot find accountID for TSN Bolt"
> 
> Also my bolt sometimes doesn't allow attaching to my old TiVo Premiere
> My old TiVo Premeiere works perfectly with pyTivo
> 
> Anyone have any ideas?
> 
> I tried adding the bolts IP address to pyTivo settings too. That didn't do anything.


What does the entry for the Bolt look like in pyTivo.conf?

How long have you had the Bolt? It can take a few days to be fully accessible.

Can you access the Bolt from the Premieres and vice-versa? Have you enabled "Video Sharing" and "Video Downloads".


----------



## wmcbrine

scht99 said:


> my share is not showing up and the drop down only has my old premeiere not my new bolt.


How long have you had the Bolt? These symptoms kind of sound like what you'd expect from any new TiVo, that clears up in a few days (faster if you force a connection or two). Also, go to https://www.tivo.com/tivo-mma/dvrpref.do and make sure "Enable Video Downloads" and "Video Sharing" are checked.

Edit: Yes, I posted before I refreshed the page and saw the other reply.


----------



## wmcbrine

lpwcomp said:


> What format are the EyeTV files?


EyeTV files are actually OS X "bundles" -- a directory of several files together, video with metadata. pyTivo already supports this format (or tries to). You can edit the metadata; it's in a plist. Or, perhaps, generate pyTivo .txt files from the command line with metadata.py, and edit those.

MetaGenerator is a Windows-only program, so not too useful to Mac users.


----------



## lpwcomp

wmcbrine said:


> MetaGenerator is a Windows-only program, so not too useful to Mac users.


Oops. I would have recommended pyTivoMetaThis but it doesn't currently have the capability to get the programId.


----------



## scht99

wmcbrine said:


> How long have you had the Bolt? These symptoms kind of sound like what you'd expect from any new TiVo, that clears up in a few days (faster if you force a connection or two). Also, go to https://www.tivo.com/tivo-mma/dvrpref.do and make sure "Enable Video Downloads" and "Video Sharing" are checked.
> 
> Edit: Yes, I posted before I refreshed the page and saw the other reply.


Yes downlaods and sharing are checked. Also took the spaces out of all my TiVo names as someone else suggested in another thread.

I've had it for a while, but haven't tried connecting things or running pyTivo. Things seem to see each other now. My mini can finally see my Bolt. The old and new tivos talk and everything see the pyTivo share. Last night it saw pYTivo for an hour then it was gone. its there again this morining.

Question: will this stabilize? Anyting I need to do? Are the connections always ustable dissapearing and whatnot? You said its expected for new TiVos does that mean now that its workig it will be stable?

Oh and thank you for your help and the great software and community!


----------



## wmcbrine

scht99 said:


> Last night it saw pYTivo for an hour then it was gone. its there again this morining.
> 
> Question: will this stabilize?


Hmm, probably not, I'm sorry to say. The best thing you can do in that situation is to increase the stability of the network. Try removing any wi-fi links between the server and the TiVo, if possible, in favor of hard-wired Ethernet, or MoCA.


----------



## aaronwt

scht99 said:


> Bolt is driving me crazy...
> 
> Is there any way to force pytivo to attach to it? my share is not showing up and the drop down only has my old premeiere not my new bolt.
> 
> I can try to push to the bolt using kmttg (which is working fine) but pyTivo gives an error: "notAuthorized...Cannot find accountID for TSN Bolt"
> 
> Also my bolt sometimes doesn't allow attaching to my old TiVo Premiere
> My old TiVo Premeiere works perfectly with pyTivo
> 
> Anyone have any ideas?
> 
> I tried adding the bolts IP address to pyTivo settings too. That didn't do anything.


Everything showed up automatically with both of my Bolts. I can see the pyTiVo shares at the bottom of the My SHows list.


----------



## lpwcomp

You might try assigning fixed IP addresses to computer and TiVos.


----------



## derek87

wmcbrine said:


> EyeTV files are actually OS X "bundles" -- a directory of several files together, video with metadata. pyTivo already supports this format (or tries to). You can edit the metadata; it's in a plist. Or, perhaps, generate pyTivo .txt files from the command line with metadata.py, and edit those.
> 
> MetaGenerator is a Windows-only program, so not too useful to Mac users.


thanks for the confirmation that it should work without a hitch.

i continue to have odd behaviors. i miswrote in my prior email -- i was actually pulling from the tivo.

today, i set it up to push from the Mac. that worked for one file. when i tried to do another, it went back to the state of trying to transfer the file but with zero bitrate.

any suggestions on where my problem lies or have you seen this sort of odd behavior before? i can clearly see the Mac from the Tivo and it seems to connect fine from the Mac end... i just don't understand what is going wrong in the transfer...

in the end, i tried resetting the pytivo server and when it came back up, it gave me the message:

INFOyTivo.video.video:[31/Oct/2015 17:28:33] Done sending "/Volumes/WakingHour/Eyetvfiles/Modern Family_TheClosetCase.eyetv/000000001bc62148.mpg" to Family Room, 0 bytes, 0.00 Mb/s

the file sitting there on the Tivo is not playable...when i try to play, it basically jumps to a delete menu even though i'm asking to play it.

i tried to start another file and this gives an idea of what i'm seeing for subsequent pushes after the first one is successful:

ies_2010Game5.eyetv/00000000127f84bc.mpg?Format=video%2Fmpeg HTTP/1.1" 206 -
INFOyTivo.video.video:[31/Oct/2015 17:45:35] Start sending "/Volumes/WakingHour/WorldSeries_eyetvvideos/World Series_2010Game5.eyetv/00000000127f84bc.mpg" to Family Room
ffmpeg version 1.1-pytivo Copyright (c) 2000-2013 the FFmpeg developers
built on Jan 8 2013 15:00:31 with gcc 4.7.2 (MacPorts gcc47 4.7.2_2+universal)
configuration: --prefix=/opt/local --enable-swscale --enable-avfilter --enable-libmp3lame --mandir=/opt/local/share/man --enable-pthreads --cc=/opt/local/bin/gcc-mp-4.7 --arch=x86_64 --enable-yasm --enable-gpl --enable-postproc --enable-libx264 --disable-shared --enable-static --enable-swscale --enable-avfilter --enable-runtime-cpudetect --enable-hardcoded-tables --enable-postproc --enable-libx264
libavutil 52. 13.100 / 52. 13.100
libavcodec 54. 86.100 / 54. 86.100
libavformat 54. 59.106 / 54. 59.106
libavdevice 54. 3.102 / 54. 3.102
libavfilter 3. 32.100 / 3. 32.100
libswscale 2. 1.103 / 2. 1.103
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
[mpeg2video @ 0x101806000] mpeg_decode_postinit() failure
Last message repeated 3 times
[mpegts @ 0x101825e00] PES packet size mismatch
[mpeg2video @ 0x101806000] mpeg_decode_postinit() failure
Last message repeated 4 times
[mpegts @ 0x101825e00] PES packet size mismatch
[mpeg2video @ 0x101806000] mpeg_decode_postinit() failure
[mpegts @ 0x101825e00] PES packet size mismatch
[mpegts @ 0x101825e00] max_analyze_duration 5000000 reached at 5024000
[mpegts @ 0x101825e00] PES packet size mismatch
Last message repeated 1 times
Input #0, mpegts, from '/Volumes/WakingHour/WorldSeries_eyetvvideos/World Series_2010Game5.eyetv/00000000127f84bc.mpg':
Duration: 03:25:03.01, start: 44958.418289, bitrate: 19659 kb/s
Program 3 
Program 1 
Program 2 
Stream #0:0[0x840]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 59.94 fps, 59.94 tbr, 90k tbn, 119.88 tbc
Stream #0:1[0x841](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:2[0x842](spa): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 96 kb/s
Please use -b:a or -b:v, -b is ambiguous
Output #0, vob, to 'pipe:':
Metadata:
encoder : Lavf54.59.106
Stream #0:0: Video: mpeg2video ([2][0][0][0] / 0x0002), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 59.94 fps, 90k tbn, 59.94 tbc
Stream #0:1(eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), 448 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[mpegts @ 0x101825e00] PES packet size mismatch
frame= 1126 fps=0.0 q=-1.0 size= 0kB time=00:00:18.90 bitrate= 0.0kbits/s frame= 1657 fps=1653 q=-1.0 size= 0kB time=00:00:27.76 bitrate= 0.0kbits/sframe= 2050 fps=1363 q=-1.0 size= 0kB time=00:00:34.31 bitrate= 0.0kbits/sframe= 2383 fps=1189 q=-1.0 size= 0kB time=00:00:39.87 bitrate= 0.0kbits/sframe= 2669 fps=1065 q=-1.0 size= 0kB time=00:00:44.64 bitrate= 0.0kbits/sframe= 2927 fps=973 q=-1.0 size= 0kB time=00:00:48.94 bitrate= 0.0kbits/s frame= 3160 fps=900 q=-1.0 size= 0kB time=00:00:52.83 bitrate= 0.0kbits/s frame= 3378 fps=841 q=-1.0 size= 0kB time=00:00:56.47 bitrate= 0.0kbits/s frame= 3580 fps=793 q=-1.0 size= 0kB time=00:00:59.84 bitrate= 0.0kbits/s frame= 3770 fps=751 q=-1.0 size= 0kB time=00:01:03.01 bitrate= 0.0kbits/s frame= 3953 fps=716 q=-1.0 size= 0kB time=00:01:06.06 bitrate= 0.0kbits/s frame= 4128 fps=685 q=-1.0 size= 0kB time=00:01:08.98 bitrate= 0.0kbits/s frame= 4297 fps=658 q=-1.0 size= 0kB time=00:01:11.80 bitrate= 0.0kbits/s frame= 4460 fps=634 q=-1.0 size= 0kB time=00:01:14.52 bitrate= 0.0kbits/s frame= 4616 fps=612 q=-1.0 size= 0kB time=00:01:17.12 bitrate= 0.0kbits/s frame= 4761 fps=592 q=-1.0 size= 0kB time=00:01:19.54 bitrate= 0.0kbits/s frame= 4904 fps=574 q=-1.0 size= 0kB time=00:01:21.93 bitrate= 0.0kbits/s frame= 5049 fps=558 q=-1.0 size= 0kB time=00:01:24.35 bitrate= 0.0kbits/s frame= 5185 fps=543 q=-1.0 size= 0kB time=00:01:26.61 bitrate= 0.0kbits/s frame= 5314 fps=528 q=-1.0 size= 0kB time=00:01:28.77 bitrate= 0.0kbits/s frame= 5449 fps=516 q=-1.0 size= 0kB time=00:01:31.02 bitrate= 0.0kbits/s frame= 5577 fps=504 q=-1.0 size= 0kB time=00:01:33.15 bitrate= 0.0kbits/s frame= 5700 fps=493 q=-1.0 size= 0kB time=00:01:35.21 bitrate= 0.0kbits/s frame= 5823 fps=483 q=-1.0 size= 0kB time=00:01:37.26 bitrate= 0.0kbits/s frame= 5937 fps=472 q=-1.0 size= 0kB time=00:01:39.16 bitrate= 0.0kbits/s frame= 6057 fps=463 q=-1.0 size= 0kB time=00:01:41.16 bitrate= 0.0kbits/s frame= 6168 fps=454 q=-1.0 size= 0kB time=00:01:43.01 bitrate= 0.0kbits/s frame= 6278 fps=446 q=-1.0 size= 0kB time=00:01:44.85 bitrate= 0.0kbits/s frame= 6392 fps=438 q=-1.0 size= 0kB time=00:01:46.75 bitrate= 0.0kbits/s frame= 6485 fps=430 q=-1.0 size= 0kB time=00:01:48.30 bitrate= 0.0kbits/s frame= 6589 fps=422 q=-1.0 size= 0kB time=00:01:50.04 bitrate= 0.0kbits/s frame= 6687 fps=415 q=-1.0 size= 0kB time=00:01:51.67 bitrate= 0.0kbits/s frame= 6785 fps=409 q=-1.0 size= 0kB time=00:01:53.31 bitrate= 0.0kbits/s frame= 6877 fps=402 q=-1.0 size= 0kB time=00:01:54.84 bitrate= 0.0kbits/s frame= 6978 fps=396 q=-1.0 size= 0kB time=00:01:56.53 bitrate= 0.0kbits/s frame= 7072 fps=391 q=-1.0 size= 0kB time=00:01:58.10 bitrate= 0.0kbits/s frame= 7161 fps=385 q=-1.0 size= 0kB time=00:01:59.58 bitrate= 0.0kbits/s frame= 7262 fps=380 q=-1.0 size= 0kB time=00:02:01.27 bitrate= 0.0kbits/s frame= 7354 fps=375 q=-1.0 size= 0kB time=00:02:02.80 bitrate= 0.0kbits/s frame= 7446 fps=370 q=-1.0 size= 0kB time=00:02:04.34 bitrate= 0.0kbits/s frame= 7533 fps=365 q=-1.0 size= 0kB time=00:02:05.79 bitrate= 0.0kbits/s frame= 7625 fps=361 q=-1.0 size= 0kB time=00:02:07.32 bitrate= 0.0kbits/s frame= 7715 fps=356 q=-1.0 size= 0kB time=00:02:08.82 bitrate= 0.0kbits/s frame= 7800 fps=352 q=-1.0 size= 0kB time=00:02:10.24 bitrate= 0.0kbits/s frame= 7885 fps=348 q=-1.0 size= 0kB time=00:02:11.66 bitrate= 0.0kbits/s frame= 7973 fps=344 q=-1.0 size= 0kB time=00:02:13.13 bitrate= 0.0kbits/s frame= 8047 fps=340 q=-1.0 size= 0kB time=00:02:14.36 bitrate= 0.0kbits/s frame= 8139 fps=337 q=-1.0 size= 0kB time=00:02:15.90 bitrate= 0.0kbits/s frame= 8218 fps=333 q=-1.0 size= 0kB time=00:02:17.22 bitrate= 0.0kbits/s frame= 8301 fps=330 q=-1.0 size= 0kB time=00:02:18.60 bitrate= 0.0kbits/s frame= 8389 fps=327 q=-1.0 size= 0kB time=00:02:20.07 bitrate= 0.0kbits/s frame= 8466 fps=323 q=-1.0 size= 0kB time=00:02:21.35 bitrate= 0.0kbits/s frame= 8528 fps=319 q=-1.0 size= 0kB time=00:02:22.39 bitrate= 0.0kbits/s frame= 8602 fps=316 q=-1.0 size= 0kB time=00:02:23.62 bitrate= 0.0kbits/s frame= 8683 fps=313 q=-1.0 size= 0kB time=00:02:24.97 bitrate= 0.0kbits/s frame= 8760 fps=311 q=-1.0 size= 0kB time=00:02:26.26 bitrate= 0.0kbits/s frame= 8838 fps=308 q=-1.0 size= 0kB time=00:02:27.56 bitrate= 0.0kbits/s frame= 8911 fps=305 q=-1.0 size= 0kB time=00:02:28.78 bitrate= 0.0kbits/s frame= 8982 fps=302 q=-1.0 size= 0kB time=00:02:29.96 bitrate= 0.0kbits/s frame= 9055 fps=299 q=-1.0 size= 0kB time=00:02:31.18 bitrate= 0.0kbits/s frame= 9131 fps=297 q=-1.0 size= 0kB time=00:02:32.45 bitrate= 0.0kbits/s frame= 9202 fps=294 q=-1.0 size= 0kB time=00:02:33.63 bitrate= 0.0kbits/s frame= 9280 fps=292 q=-1.0 size= 0kB time=00:02:34.93 bitrate= 0.0kbits/s frame= 9354 fps=290 q=-1.0 size= 0kB time=00:02:36.17 bitrate= 0.0kbits/s frame= 9419 fps=287 q=-1.0 size= 0kB time=00:02:37.25 bitrate= 0.0kbits/s frame= 9486 fps=285 q=-1.0 size= 0kB time=00:02:38.37 bitrate= 0.0kbits/s frame= 9552 fps=283 q=-1.0 size= 0kB time=00:02:39.47 bitrate= 0.0kbits/s frame= 9628 fps=281 q=-1.0 size= 0kB time=00:02:40.74 bitrate= 0.0kbits/s frame= 9688 fps=278 q=-1.0 size= 0kB time=00:02:41.74 bitrate= 0.0kbits/s frame= 9766 fps=277 q=-1.0 size= 0kB time=00:02:43.04 bitrate= 0.0kbits/s frame= 9835 fps=275 q=-1.0 size= 0kB time=00:02:44.19 bitrate= 0.0kbits/s frame= 9903 fps=273 q=-1.0 size= 0kB time=00:02:45.33 bitrate= 0.0kbits/s frame= 9970 fps=271 q=-1.0 size= 0kB time=00:02:46.44 bitrate= 0.0kbits/s frame=10035 fps=269 q=-1.0 size= 0kB time=00:02:47.53 bitrate= 0.0kbits/s frame=10095 fps=267 q=-1.0 size= 0kB time=00:02:48.53 bitrate= 0.0kbits/s frame=10168 fps=265 q=-1.0 size= 0kB time=00:02:49.75 bitrate= 0.0kbits/s frame=10235 fps=263 q=-1.0 size= 0kB time=00:02:50.87 bitrate= 0.0kbits/s frame=10301 fps=262 q=-1.0 size= 0kB time=00:02:51.97 bitrate= 0.0kbits/s frame=10363 fps=260 q=-1.0 size= 0kB time=00:02:53.00 bitrate= 0.0kbits/s frame=10429 fps=258 q=-1.0 size= 0kB time=00:02:54.10 bitrate= 0.0kbits/s frame=10490 fps=256 q=-1.0 size= 0kB time=00:02:55.12 bitrate= 0.0kbits/s frame=10553 fps=255 q=-1.0 size= 0kB time=00:02:56.17 bitrate= 0.0kbits/s frame=10617 fps=253 q=-1.0 size= 0kB time=00:02:57.24 bitrate= 0.0kbits/s frame=10681 fps=252 q=-1.0 size= 0kB time=00:02:58.31 bitrate= 0.0kbits/s frame=10745 fps=250 q=-1.0 size= 0kB time=00:02:59.37 bitrate= 0.0kbits/s frame=10804 fps=249 q=-1.0 size= 0kB time=00:03:00.36 bitrate= 0.0kbits/s frame=10869 fps=247 q=-1.0 size= 0kB time=00:03:01.44 bitrate= 0.0kbits/s frame=10926 fps=246 q=-1.0 size= 0kB time=00:03:02.39 bitrate= 0.0kbits/s frame=10987 fps=244 q=-1.0 size= 0kB time=00:03:03.41 bitrate= 0.0kbits/s frame=11048 fps=243 q=-1.0 size= 0kB time=00:03:04.43 bitrate= 0.0kbits/s frame=11106 fps=241 q=-1.0 size= 0kB time=00:03:05.40 bitrate= 0.0kbits/s frame=11166 fps=240 q=-1.0 size= 0kB time=00:03:06.40 bitrate= 0.0kbits/s frame=11226 fps=239 q=-1.0 size= 0kB time=00:03:07.40 bitrate= 0.0kbits/s frame=11284 fps=237 q=-1.0 size= 0kB time=00:03:08.37 bitrate= 0.0kbits/s frame=11340 fps=236 q=-1.0 size= 0kB time=00:03:09.30 bitrate= 0.0kbits/s frame=11397 fps=235 q=-1.0 size= 0kB time=00:03:10.25 bitrate= 0.0kbits/s frame=11454 fps=233 q=-1.0 size= 0kB time=00:03:11.20 bitrate= 0.0kbits/s frame=11516 fps=232 q=-1.0 size= 0kB time=00:03:12.24 bitrate= 0.0kbits/s frame=11571 fps=231 q=-1.0 size= 0kB time=00:03:13.15 bitrate= 0.0kbits/s frame=11632 fps=230 q=-1.0 size= 0kB time=00:03:14.17 bitrate= 0.0kbits/s frame=11688 fps=229 q=-1.0 size= 0kB time=00:03:15.11 bitrate= 0.0kbits/s frame=11740 fps=228 q=-1.0 size= 0kB time=00:03:15.97 bitrate= 0.0kbits/s frame=11799 fps=226 q=-1.0 size= 0kB time=00:03:16.96 bitrate= 0.0kbits/s frame=11856 fps=225 q=-1.0 size= 0kB time=00:03:17.91 bitrate= 0.0kbits/s frame=11911 fps=224 q=-1.0 size= 0kB time=00:03:18.83 bitrate= 0.0kbits/s frame=11965 fps=223 q=-1.0 size= 0kB time=00:03:19.73 bitrate= 0.0kbits/s frame=12023 fps=222 q=-1.0 size= 0kB time=00:03:20.70 bitrate= 0.0kbits/s frame=12077 fps=221 q=-1.0 size= 0kB time=00:03:21.60 bitrate= 0.0kbits/s frame=12132 fps=220 q=-1.0 size= 0kB time=00:03:22.51 bitrate= 0.0kbits/s frame=12191 fps=219 q=-1.0 size= 0kB time=00:03:23.50 bitrate= 0.0kbits/s frame=12238 fps=218 q=-1.0 size= 0kB time=00:03:24.28 bitrate= 0.0kbits/s frame=12297 fps=217 q=-1.0 size= 0kB time=00:03:25.27 bitrate= 0.0kbits/s frame=12356 fps=216 q=-1.0 size= 0kB time=00:03:26.25 bitrate= 0.0kbits/s frame=12407 fps=215 q=-1.0 size= 0kB time=00:03:27.10 bitrate= 0.0kbits/s frame=12460 fps=214 q=-1.0 size= 0kB time=00:03:27.99 bitrate= 0.0kbits/s frame=12516 fps=213 q=-1.0 size= 0kB time=00:03:28.92 bitrate= 0.0kbits/s frame=12564 fps=212 q=-1.0 size= 0kB time=00:03:29.72 bitrate= 0.0kbits/s frame=12618 fps=211 q=-1.0 size= 0kB time=00:03:30.62 bitrate= 0.0kbits/s frame=12669 fps=210 q=-1.0 size= 0kB time=00:03:31.47 bitrate= 0.0kbits/s frame=12720 fps=209 q=-1.0 size= 0kB time=00:03:32.32 bitrate= 0.0kbits/s frame=12774 fps=208 q=-1.0 size= 0kB time=00:03:33.22 bitrate= 0.0kbits/s frame=12827 fps=208 q=-1.0 size= 0kB time=00:03:34.11 bitrate= 0.0kbits/s frame=12875 fps=207 q=-1.0 size= 0kB time=00:03:34.91 bitrate= 0.0kbits/s frame=12931 fps=206 q=-1.0 size= 0kB time=00:03:35.84 bitrate= 0.0kbits/s frame=12981 fps=205 q=-1.0 size= 0kB time=00:03:36.68 bitrate= 0.0kbits/s frame=13035 fps=204 q=-1.0 size= 0kB time=00:03:37.58 bitrate= 0.0kbits/s frame=13085 fps=203 q=-1.0 size= 0kB time=00:03:38.41 bitrate= 0.0kbits/s frame=13141 fps=203 q=-1.0 size= 0kB time=00:03:39.35 bitrate= 0.0kbits/s frame=13192 fps=202 q=-1.0 size= 0kB time=00:03:40.20 bitrate= 0.0kbits/s frame=13248 fps=201 q=-1.0 size= 0kB time=00:03:41.13 bitrate= 0.0kbits/s frame=13297 fps=200 q=-1.0 size= 0kB time=00:03:41.95 bitrate= 0.0kbits/s frame=13352 fps=200 q=-1.0 size= 0kB time=00:03:42.87 bitrate= 0.0kbits/s frame=13401 fps=199 q=-1.0 size= 0kB time=00:03:43.69 bitrate= 0.0kbits/s frame=13449 fps=198 q=-1.0 size= 0kB time=00:03:44.49 bitrate= 0.0kbits/s frame=13503 fps=197 q=-1.0 size= 0kB time=00:03:45.39 bitrate= 0.0kbits/s frame=13549 fps=197 q=-1.0 size= 0kB time=00:03:46.15 bitrate= 0.0kbits/s frame=13600 fps=196 q=-1.0 size= 0kB time=00:03:47.01 bitrate= 0.0kbits/s frame=13650 fps=195 q=-1.0 size= 0kB time=00:03:47.84 bitrate= 0.0kbits/s frame=13698 fps=194 q=-1.0 size= 0kB time=00:03:48.64 bitrate= 0.0kbits/s frame=13746 fps=194 q=-1.0 size= 0kB time=00:03:49.44 bitrate= 0.0kbits/s frame=13795 fps=193 q=-1.0 size= 0kB time=00:03:50.26 bitrate= 0.0kbits/s frame=13851 fps=192 q=-1.0 size= 0kB time=00:03:51.19 bitrate= 0.0kbits/s frame=13893 fps=192 q=-1.0 size= 0kB time=00:03:51.89 bitrate= 0.0kbits/s frame=13941 fps=191 q=-1.0 size= 0kB time=00:03:52.69 bitrate= 0.0kbits/s frame=13992 fps=190 q=-1.0 size= 0kB time=00:03:53.54 bitrate= 0.0kbits/s frame=14041 fps=190 q=-1.0 size= 0kB time=00:03:54.36 bitrate= 0.0kbits/s frame=14091 fps=189 q=-1.0 size= 0kB time=00:03:55.20 bitrate= 0.0kbits/s frame=14136 fps=188 q=-1.0 size= 0kB time=00:03:55.95 bitrate= 0.0kbits/s frame=14181 fps=188 q=-1.0 size= 0kB time=00:03:56.70 bitrate= 0.0kbits/s frame=14226 fps=187 q=-1.0 size= 0kB time=00:03:57.45 bitrate= 0.0kbits/s frame=14271 fps=186 q=-1.0 size= 0kB time=00:03:58.20 bitrate= 0.0kbits/s frame=14316 fps=186 q=-1.0 size= 0kB time=00:03:58.95 bitrate= 0.0kbits/s


----------



## scht99

wmcbrine said:


> Hmm, probably not, I'm sorry to say. The best thing you can do in that situation is to increase the stability of the network. Try removing any wi-fi links between the server and the TiVo, if possible, in favor of hard-wired Ethernet, or MoCA.


Its all hard wired into the same switch.

I suspect its my switch. Maybe its blocking multicast broadcasts? I'll install the management software and see if anything looks promising. I know it has QoS and other "features" that may be turned on by default.

My switch is a Netgear JGS524E

Does the bolt use the router at all (maybe broadcsts go to the gateway? Maybe my router is blocking?

How does it actually work?


----------



## scht99

scht99 said:


> Its all hard wired into the same switch.
> 
> I suspect its my switch. Maybe its blocking multicast broadcasts? I'll install the management software and see if anything looks promising. I know it has QoS and other "features" that may be turned on by default.
> 
> My switch is a Netgear JGS524E
> 
> Does the bolt use the router at all (maybe broadcsts go to the gateway? Maybe my router is blocking?
> 
> How does it actually work?


Wow. So I truned off "IGMP snooping" under the multicast tab which was enabled on my switch by default, and now everything that wasn't working reliably before including minis and PyTivo seems to be working!

I think the Bolt is definately doing something different in the way it broadcasts.


----------



## lew

I tried ts=on

I tried ts = 0n

Both cases pull requests are causing the files to be transcoded to mpeg2. The files will push without transcoding

ffmpeg doesn't like -b Do I need a different version of ffmpegj

edited to add:


I'm I missing something? Is there anyplace else I have to specify transport streams?


----------



## lpwcomp

lew said:


> I tried ts=on
> 
> I tried ts = 0n
> 
> Both cases pull requests are causing the files to be transcoded to mpeg2. The files will push without transcoding
> 
> ffmpeg doesn't like -b Do I need a different version of ffmpegj
> 
> edited to add:
> 
> I'm I missing something? Is there anyplace else I have to specify transport streams?


What format are the files? In what section did you put ts = on? Did you stop and restart pyTivo after adding it?


----------



## cherry ghost

This is more of Windows 10 question, but I'll ask here first. 

I open pyTivo as a task when I log on. Always worked perfectly until Windows 10. Now I get asked every time "How do you want to open this file?" I select python.exe, check the "Always use this app to open .py files" box, click "ok", it runs. The problem is that it doesn't stick and I get asked again the next time I log on. Everywhere I check .py files are associated with python.exe. Anyone else use pyTivo this way and come across this problem?


ETA - this only happens with Task Scheduler. If I open pyTivo by double clicking it opens right up.


----------



## lew

lpwcomp said:


> What format are the files? In what section did you put ts = on? Did you stop and restart pyTivo after adding it?


Global server settings

I added Transport Streams then ts=on

should there be a space on either side of the = sign?

I rebooted computer

I tried several mp4 files, all of which push without transcoding.

I run pytivo as a service. Where can I find logs?


----------



## cherry ghost

cherry ghost said:


> This is more of Windows 10 question, but I'll ask here first.
> 
> I open pyTivo as a task when I log on. Always worked perfectly until Windows 10. Now I get asked every time "How do you want to open this file?" I select python.exe, check the "Always use this app to open .py files" box, click "ok", it runs. The problem is that it doesn't stick and I get asked again the next time I log on. Everywhere I check .py files are associated with python.exe. Anyone else use pyTivo this way and come across this problem?
> 
> ETA - this only happens with Task Scheduler. If I open pyTivo by double clicking it opens right up.


Disregard, I figured it out.


----------



## lpwcomp

lew said:


> I added Transport Streams then ts=on


What do you mean by "I added Transport Streams"?



lew said:


> should there be a space on either side of the = sign?


Probably not necessary. That's what is created when you use the browser to modify the configuration.

I suggest you post your pytivo.conf file (after removing sensitive data).

Also wouldn't hurt to ensure that you are using a current pyTivo and ffmpeg.


----------



## lew

Web configuration tool has you name the entry hencr transport streams.

I updated pytivo yesterday. I updated ffmpeg before my last post. I'll post file later. How does pytivo know tivo I'd s4 orlater?


----------



## lpwcomp

lew said:


> Web configuration tool has you name the entry hencr transport streams.
> 
> I updated pytivo yesterday. I updated ffmpeg before my last post. I'll post file later. How does pytivo know tivo I'd s4 orlater?


When you added the user defined setting to the Global Server Settings, the Setting Name should have been

ts

and Setting Value

on

What I suspect is in your pytivo.conf file is a line in the Global Server Settings that reads:

Transport Streams = ts=on

where it should just be:

ts = on


----------



## wmcbrine

lew said:


> Global server settings
> 
> I added Transport Streams then ts=on


"ts=on" just goes in the System section (i.e. Global server settings). There's no reason to be adding a section (?) called "Transport Streams", and pyTivo will ignore it (and any settings under it) if you do.



lew said:


> How does pytivo know tivo I'd s4 orlater?


You can derive the TiVo model from the first three digits of the TiVo Service Number, which is sent with each request to pyTivo. The specific test in this case is:



Code:


def is_ts_capable(tsn):  # tsn's of Tivos that support transport streams
    return bool(tsn and (tsn[0] >= '7' or tsn.startswith('663')))


----------



## lew

lpwcomp said:


> When you added the user defined setting to the Global Server Settings, the Setting Name should have been
> 
> ts
> 
> and Setting Value
> 
> on
> 
> What I suspect is in your pytivo.conf file is a line in the Global Server Settings that reads:
> 
> Transport Streams = ts=on
> 
> where it should just be:
> 
> ts = on


Bingo I edited pytivo.conf file to solve it. should have done that in the first place. I thought I was naming commenting the entry.


----------



## HerronScott

cherry ghost said:


> Disregard, I figured it out.


What was causing the problem?

Scott


----------



## cherry ghost

HerronScott said:


> What was causing the problem?
> 
> Scott


You used to be able to list the file as the "Program/script." Now the file has to go in "Add arguments" with the program you want to open it with in "Program/script."

I guess this change came with Windows 8, but I went from 7 to 10.

This is what it looks like now.


----------



## lpwcomp

A lot(most?) of the recordings I pull lately are apparently getting bad timecodes. The length in time as reported by the TiVo, including the progress bar, is much longer than than the actual recording.

Example: Edited season 2 finale of "Fargo" is reported as 1h24m when pulled vs. 51m when pushed, the latter value being correct. In addition, the pulled version has some navigation problems.

The sources are h.264 in either mkv or mp4 container, mostly created (by me) using VideoReDo. The original source for those is either mpeg2 or h.264 recorded off Comcast on Roamio. A few were acquired by other means.

I appear to have fixed the problem prior to posting this by going back to an older version of ffmpeg.


----------



## ShoutingMan

pyTiVo is transferring shows but it's losing the Season and Episode numbers (which means I can't sort shows and don't know which show to watch next, without going to IMDB and hunting for the next episode by title. Barbaric, right?)

Is there a typical cause of this and any solution or workaround?

I did a hard drive upgrade (1TB to 3TB in Roamio Plus) and I'm transferring files back with pyTiVo. All shows were downloaded with cTivo in decrypted TiVo format with .txt metadata files.

Generally, pytivo is transferring the shows back using Push (using Pull created inaccessible Tivo files with C501 errors). But as I said, the Season and Episode data is getting lost in most, but not all, files.

For example, here's a metadata file from a file that transfer but doesn't keep S/E data:



Code:


showingBits : 987139
time : 2014-03-11T00:00:00Z
vActor : Leclerc|Katie
vActor : Marano|Vanessa
vActor : Marie|Constance
vActor : Moffett|D.W.
vActor : Thompson|Lea
vActor : Grabeel|Lucas
vActor : Berdy|Sean
vActor : Marini|Gilles
showingBits : 0
colorCode : 4
description : Daphne attends a clinic fundraiser; Bay deals with MaryBeth's feelings for Hank; Toby tutors Sharee in an effort to keep her on the field hockey team; John reunites with an old baseball colleague.
episodeNumber : 309
episodeTitle : The Past (Forgotten-Swallowed)
vExecProducer : Weiss|Lizzy
vExecProducer : Stupin|Paul
vExecProducer : Ziffren|John
isEpisode : true
originalAirDate : 2014-03-10T00:00:00Z
seriesTitle : Switched at Birth
title : Switched at Birth
tvRating : _14
startTime : 2014-03-10T23:59:58Z
stopTime : 2014-03-11T01:00:01Z
seriesId : SH01384566
displayMajorNumber : 699
callsign : ABCFHD
programId : EP013845660062

The PyTiVo log yields this:


Code:


INFO:pyTivo.video.video:[21/Dec/2015 23:31:15] Queued "/Volumes/TiVo Transfer/Switched at Birth/Switched at Birth- The Past (Forgotten-Swallowed).mpg" for Push to Living Room
INFO:pyTivo:127.0.0.1 [21/Dec/2015 23:31:15] "POST /TiVoConnect HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [21/Dec/2015 23:31:20] "GET /TiVoConnect?Command=QueryContainer&Container=TiVo%20Shows/Switched%20at%20Birth&Format=text/html HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:ffmpeg output=ffmpeg version 2.8.2 Copyright (c) 2000-2015 the FFmpeg developers
  built with Apple LLVM version 7.0.0 (clang-700.1.76)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/2.8.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-vda
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
[mpeg2video @ 0x7fab84010600] Invalid frame dimensions 0x0.
    Last message repeated 13 times
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=158238, dts=158239, size=3622
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=167247, dts=167248, size=20013
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=176256, dts=176257, size=8421
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=185265, dts=185266, size=10813
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=194274, dts=194275, size=5845
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=203283, dts=203284, size=9525
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=212292, dts=212293, size=15781
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=221301, dts=221302, size=7685
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=230310, dts=230311, size=7685
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=239319, dts=239320, size=5845
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=248328, dts=248329, size=8605
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=257337, dts=257338, size=19093
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=266346, dts=266347, size=8605
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=275355, dts=275356, size=9709
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=284364, dts=284365, size=6029
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=293373, dts=293374, size=8973
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=302382, dts=302383, size=19461
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=311391, dts=311392, size=8605
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=320400, dts=320401, size=8237
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=329409, dts=329410, size=5845
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=338418, dts=338419, size=8973
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=347427, dts=347428, size=19829
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=356436, dts=356437, size=8053
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=365445, dts=365446, size=10261
[mpeg @ 0x7fab84800000] Invalid timestamps stream=1, pts=374454, dts=374455, size=6397
Input #0, mpeg, from '/Volumes/TiVo Transfer/Switched at Birth/Switched at Birth- The Past (Forgotten-Swallowed).mpg':
  Duration: 00:59:59.91, start: 1.000000, bitrate: 14019 kb/s
    Stream #0:0[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
    Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv), 1280x720 [SAR 1:1 DAR 16:9], Closed Captions, max. 14656 kb/s, 59.94 fps, 59.94 tbr, 90k tbn, 119.88 tbc
At least one output file must be specified

DEBUG:pyTivo.video.transcode:Bug in VideoReDo
DEBUG:pyTivo.video.transcode:aFreq=48000; aCh=6; container=mpeg; kbps=14019; mapAudio=[('0:0', '[0x80] ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s')]; vHeight=720; vCodec=mpeg2video; Supported=True; aKbps=384; par=None; millisecs=3599910; vFps=59.94; par2=None; par1=None; mapVideo=0:1; vWidth=1280; dar1=16:9; rawmeta={}; aCodec=ac3
DEBUG:pyTivo.video.transcode:CACHE HIT! /Volumes/TiVo Transfer/Switched at Birth/Switched at Birth- The Past (Forgotten-Swallowed).mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg2video not compatible, /Volumes/TiVo Transfer/Switched at Birth/Switched at Birth- The Past (Forgotten-Swallowed).mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! /Volumes/TiVo Transfer/Switched at Birth/Switched at Birth- The Past (Forgotten-Swallowed).mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg2video not compatible, /Volumes/TiVo Transfer/Switched at Birth/Switched at Birth- The Past (Forgotten-Swallowed).mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! /Volumes/TiVo Transfer/Switched at Birth/Switched at Birth- The Past (Forgotten-Swallowed).mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! /Volumes/TiVo Transfer/Switched at Birth/Switched at Birth- The Past (Forgotten-Swallowed).mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! /Volumes/TiVo Transfer/Switched at Birth/Switched at Birth- The Past (Forgotten-Swallowed).mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, /Volumes/TiVo Transfer/Switched at Birth/Switched at Birth- The Past (Forgotten-Swallowed).mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! /Volumes/TiVo Transfer/Switched at Birth/Switched at Birth- The Past (Forgotten-Swallowed).mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! /Volumes/TiVo Transfer/Switched at Birth/Switched at Birth- The Past (Forgotten-Swallowed).mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, /Volumes/TiVo Transfer/Switched at Birth/Switched at Birth- The Past (Forgotten-Swallowed).mpg
DEBUG:pyTivo.mind:__login
{'cams_security_domain': 'tivocom', 'cams_login_config': 'http', 'cams_cb_password': '######', 'cams_original_url': '/mind/mind7?type=infoGet', 'cams_cb_username': '#######'}
DEBUG:pyTivo.mind:pcBodySearch
{}

<pcBodyList><isBottom>true</isBottom><isTop>true</isTop><pcBody><bucketNumber>-1</bucketNumber><levelOfDetail>low</levelOfDetail><name>pyTivo</name><pcBodyId>tivo:pc.1002895021</pcBodyId><type>pcBody</type></pcBody></pcBodyList>g
DEBUG:pyTivo.mind:bodyOfferModify&bodyId=tsn:8480001901FDAD0
{'subtitle': 'The Past (Forgotten-Swallowed)', 'description': "Daphne attends a clinic fundraiser; Bay deals with MaryBeth's feelings for Hank; Toby tutors Sharee in an effort to keep her on the field hockey team; John reunites with an old baseball colleague.", 'pcBodyId': 'tivo:pc.1002895021', 'publishDate': '2015-12-22 04:3123', 'partnerId': 'tivo:pt.3187', 'duration': 3599, 'size': 6308464642, 'title': 'Switched at Birth', 'url': 'http://10.0.1.9:9032/TiVo%20Shows/Switched%20at%20Birth/Switched%20at%20Birth-%20The%20Past%20%28Forgotten-Swallowed%29.mpg?Format=video/mpeg', 'bodyId': 'tsn:8480001901FDAD0', 'source': 'SH01384566', 'state': 'complete', 'encodingType': 'mpeg2ProgramStream', 'tvRating': 'nr'}

<bodyOffer><bodyId>tsn:8480001901FDAD0</bodyId><bodyOfferId>tivo:bo.15000211</bodyOfferId><createDate>2015-12-22 04:31:24</createDate><description>Daphne attends a clinic fundraiser; Bay deals with MaryBeth's feelings for Hank; Toby tutors Sharee in an effort to keep her on the field hockey team; John reunites with an old baseball colleague.</description><duration>3599</duration><encodingType>mpeg2ProgramStream</encodingType><levelOfDetail>high</levelOfDetail><offerId>tivo:of.bs.15000211</offerId><partnerId>tivo:pt.3187</partnerId><pcBodyId>tivo:pc.1002895021</pcBodyId><publishDate>2015-12-24 08:03:00</publishDate><size>6308464642</size><source>SH01384566</source><state>complete</state><subtitle>The Past (Forgotten-Swallowed)</subtitle><title>Switched at Birth</title><tvRating>nr</tvRating><updateDate>2015-12-22 04:31:24</updateDate><url>http://10.0.1.9:9032/TiVo%20Shows/Switched%20at%20Birth/Switched%20at%20Birth-%20The%20Past%20%28Forgotten-Swallowed%29.mpg?Format=video/mpeg</url></bodyOffer>g
DEBUG:pyTivo.mind:subscribe&bodyId=tsn:8480001901FDAD0
{'uiType': 'cds', 'idSetSource': {'contentId': 'tivo:ct.bs.15000211', 'type': 'singleOfferSource', 'offerId': 'tivo:of.bs.15000211'}, 'bodyId': 'tsn:8480001901FDAD0', 'title': 'pcBodySubscription'}

<subscribeResult><subscription><autoRecord>true</autoRecord><bodyGeneratesCandidates>false</bodyGeneratesCandidates><bodyId>tsn:8480001901FDAD0</bodyId><hdOnly>false</hdOnly><idSetSource><contentId>tivo:ct.bs.15000211</contentId><offerId>tivo:of.bs.15000211</offerId><type>singleOfferSource</type></idSetSource><isAdult>false</isAdult><isForKids>false</isForKids><levelOfDetail>high</levelOfDetail><showStatus>rerunsAllowed</showStatus><subscriptionId>tivo:sb.15000811</subscriptionId><title>pcBodySubscription</title><type>subscription</type><uiType>cds</uiType></subscription></subscribeResult>g
DEBUG:pyTivo.video.transcode:CACHE HIT! /Volumes/TiVo Transfer/Switched at Birth/Switched at Birth- The Past (Forgotten-Swallowed).mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, /Volumes/TiVo Transfer/Switched at Birth/Switched at Birth- The Past (Forgotten-Swallowed).mpg
INFO:pyTivo:10.0.1.12 [21/Dec/2015 23:32:33] "GET /TiVo%20Shows/Switched%20at%20Birth/Switched%20at%20Birth-%20The%20Past%20(Forgotten-Swallowed).mpg?Format=video%2Fmpeg HTTP/1.1" 200 -
INFO:pyTivo.video.video:[21/Dec/2015 23:32:33] Start sending "/Volumes/TiVo Transfer/Switched at Birth/Switched at Birth- The Past (Forgotten-Swallowed).mpg" to Living Room
DEBUG:pyTivo.video.video:"/Volumes/TiVo Transfer/Switched at Birth/Switched at Birth- The Past (Forgotten-Swallowed).mpg" is tivo compatible
INFO:pyTivo.video.video:[21/Dec/2015 23:42:23] Done sending "/Volumes/TiVo Transfer/Switched at Birth/Switched at Birth- The Past (Forgotten-Swallowed).mpg" to Living Room, 6308464642 bytes, 81.58 Mb/s


----------



## lpwcomp

You need to do one of three things:

1. Pull instead of push.

2. add [<programId>] to the beginning of the description. In your example, the line would be:



Code:


description : [EP013845660062] Daphne attends a clinic fundraiser; Bay deals with MaryBeth's feelings for Hank; Toby tutors Sharee in an effort to keep her on the field hockey team; John reunites with an old baseball colleague.

or

3. Do what I did, and modify pyTivo so the description is automatically modified.


----------



## ShoutingMan

lpwcomp said:


> You need to do one of three things:
> 
> 1. Pull instead of push.
> 
> 2. add [<programId>] to the beginning of the description. In your example, the line would be:
> 
> 
> 
> Code:
> 
> 
> description : [EP013845660062] Daphne attends a clinic fundraiser; Bay deals with MaryBeth's feelings for Hank; Toby tutors Sharee in an effort to keep her on the field hockey team; John reunites with an old baseball colleague.
> 
> or
> 
> 3. Do what I did, and modify pyTivo so the description is automatically modified.


Thanks for the suggestions.

For some reason, Pull isn't working. The file comes over, but then is inaccessible on the TiVo, giving a C501 error. I have to use Archivo to delete the show remotely; the Tivo simply can't touch it. So I was using Push.

Can you point me to your pytivo mod for pre-pending episode data to a show description? I can do it manually to start. But an automated solution would be handy for the 84 episodes of Supernatural I've got to transfer.

(I don't know if it's related: some shows transfer via Push with S/E data; they also keep their artwork. Shows that lose the S/E data also lose artwork, getting a generic graphic for the show in the My Shows listing.)


----------



## ShoutingMan

lpwcomp said:


> You need to do one of three things:
> 
> 2. add [<programId>] to the beginning of the description. In your example, the line would be:
> 
> 
> 
> Code:
> 
> 
> description : [EP013845660062] Daphne attends a clinic fundraiser; Bay deals with MaryBeth's feelings for Hank; Toby tutors Sharee in an effort to keep her on the field hockey team; John reunites with an old baseball colleague.


Initial test shows success  Edit: More success, but not consistently. Some episodes come across with the ID number in the description, and not encoded in the show listing.

I'd love to copy your script for automating this; I could cook up a Ruby script to process these (I think; scripting isn't my forte) but that would take me longer than I've got with holidays on me.

(Now if I could only figure out the problem with Pulling shows from the TiVo. That used to work. I don't know if it's a PyTiVo issue or related to the hard drive upgrade.)


----------



## reneg

ShoutingMan said:


> Initial test shows success
> 
> I'd love to copy your script for automating this; I could cook up a Ruby script to process these (I think; scripting isn't my forte) but that would take me longer than I've got with holidays on me.
> 
> (Now if I could only figure out the problem with Pulling shows from the TiVo. That used to work. I don't know if it's a PyTiVo issue or related to the hard drive upgrade.)


Check out this thread on the pyTivo discussion forum:
http://pytivo.sourceforge.net/forum/feature-request-push-metadata-update-for-20-4-7-t2816.html


----------



## lpwcomp

ShoutingMan said:


> <snip> (Now if I could only figure out the problem with Pulling shows from the TiVo. That used to work. I don't know if it's a PyTiVo issue or related to the hard drive upgrade.)


Make sure you are running the most recent version of pyTivo.

Try running qsfix on the recordings to see if it fixes the timestamp problems.

Add

ts = on

to the [Server] section of pyTivo.conf

Try different versions of ffmpeg. I know I had some problems with pulls and the latest version producing bad timestamps. The recording would play OK but the length was wrong and navigation was wonky. I'm on Windows though so I have no idea if the Mac version has the same problem.


----------



## lpwcomp

reneg said:


> Check out this thread on the pyTivo discussion forum:
> http://pytivo.sourceforge.net/forum/feature-request-push-metadata-update-for-20-4-7-t2816.html


I concur.


----------



## ShoutingMan

I manually edited about 30 shows metadata. About 8 of 10 transfer with season/episode data; that's an improvement.

I've got the latest ffmpeg
I updated to the latest pyTivo; no change in behavior (I was only two months out of date)
I added ts = on to the conf file, with no change in behavior.
I tried to use qsfix from kmttg, but it needs a java sdk (?) installed? (I don't have java installed due to the security problems of the past year. I'll look into that more later.)

I haven't tried editing pytivo to add the automatic metadata modification. The thread isn't 100% clear on where the code gets inserted, and the reference Video.py is outdated from current distro. I'll try that after the current batch of shows are transferred.


----------



## lpwcomp

ShoutingMan said:


> I've got the latest ffmpeg


It was the latest ffmpeg with which I had problems. I had to go back to an older version.


----------



## ShoutingMan

Thanks for the help with Push. It's working adequately, if imperfectly, for my immediate need.

Any idea why I can't Pull files from the TiVo? Every time the transferred file gives "Unexpected Problem" and a C501 code. My plan was to Pull back the "Supernatural" series, to transfer to my iPad TiVo app. (I can transcode and transfer to watch on the iPad video app. But that's days of computer transcoding, and the TiVo app is so much better for skipping commercials.)


----------



## lpwcomp

ShoutingMan said:


> Thanks for the help with Push. It's working adequately, if imperfectly, for my immediate need.
> 
> Any idea why I can't Pull files from the TiVo? Every time the transferred file gives "Unexpected Problem" and a C501 code. My plan was to Pull back the "Supernatural" series, to transfer to my iPad TiVo app. (I can transcode and transfer to watch on the iPad video app. But that's days of computer transcoding, and the TiVo app is so much better for skipping commercials.)


All I can suggest is to try an older version of ffmpeg.


----------



## ShoutingMan

Ok. I'll try to take a look at swapping out ffmpeg.

I added the automated code to the pytivo script. The Log output tells me that it's pre-pending the [programId] to the Description text. But as with doing it manually, it doesn't necessarily create the id data on the TiVo.

In fact, the first time I tried to update the script, I left in the block of code it replaces. I got two uploaded copies. One had the S/E data, and one didn't. But removing the outdated and duplicate code block lead to not getting the S/E data (but fixed the duplicate push).


----------



## ShoutingMan

Thanks again for all the help. I was able to copy the necessary shows back to the tivo, and that's what mattered. 

I'm unable to get everything working flawlessly in terms of restoring shows back to my TiVo. But that's ok. The user-created software gave me the essential safety net to do a hard drive upgrade, and I didn't lose any must-see shows (i.e. no marriage-endangering losses  ).


----------



## HerronScott

All,

I was setting up a "new" WHS server for my son and getting it configured with pyTivo and I noticed that my ancient pytivo.conf configuration file (probably goes back to 2009/2010) has some extra options in it.

Is this all to support writing out the normal standard console output to a log file since I'm running it as a service? Seems like a good thing although obviously I haven't had to use it much since pyTivo just works. I'm still running a version from 2012 as it just works although I installed the latest on my son's.

BTW the documentation for installing this under Windows and as a service is great compared to what we had when I first did it!

[Admin]
type=admin

[loggers]
keys=root

[handlers]
keys=console,rotfile

[formatters]
keys=basicform

[logger_root]
level=DEBUG
handlers=console,rotfile

[handler_console]
class=StreamHandler
formatter=basicform
args=(sys.stdout,)

[handler_rotfile]
class=handlers.RotatingFileHandler
formatter=basicform
args=('C:\Documents and Settings\All Users\Documents\pyTivo\debug.log', 'a', 10485760, 5)

[formatter_basicform]
format=%(asctime)s %(levelname)-5s %(name)s: %(message)s

Scott


----------



## reneg

Everything after the [Admin] section is to log console output to a log file and console output.


----------



## HerronScott

reneg said:


> Everything after the [Admin] section is to log console output to a log file and console output.


Thanks for confirming!

Scott


----------



## Bojangling

I recently updated my ffmpeg (Zeranoe FFmpeg) and now am having some video issues during playback after transfer (choppy/jerkiness). Can someone recommend a stable version of ffmpeg they know to work well with pytivo? And post a link if not from Zeranoe? Thanks!


----------



## lpwcomp

Bojangling said:


> I recently updated my ffmpeg (Zeranoe FFmpeg) and now am having some video issues during playback after transfer (choppy/jerkiness). Can someone recommend a stable version of ffmpeg they know to work well with pytivo? And post a link if not from Zeranoe? Thanks!


What platform?


----------



## Bojangling

lpwcomp said:


> What platform?


Sorry, Windows 10.


----------



## lpwcomp

Bojangling said:


> Sorry, Windows 10.


I'm running a fairly old version I had lying around. ffmpeg -version reports:


Code:


ffmpeg version N-65840-g7444cf9 Copyright (c) 2000-2014 the FFmpeg developers built on Aug 22 2014 22:12:04 with gcc 4.8.3 (GCC)

This is on Windows 8.1 Pro


----------



## Jayboy3

Hi guys -- just checking in because I'm thinking about switching to pyTivo and wondered if there's a simpler approach for someone less knowledgeable.

I've been using Tivo Desktop for years, still do. I have many TB's of movies and shows on hard drives. I watch a lot of them on the PC, but for home theater I need to transfer them back to the Tivo.

Lately it's been very buggy -- my Tivo Roamio seems to stop about 9 minutes into every attempted transfer. It often loses contact with the Tivo Desktop server. And it often gives me "Cannot transfer Message #86."

I've been using Plex as another solution for some movies, but it would better to just directly transfer to the movies to the Tivo.

Is pyTivo something I can probably handle as a moderate, years-long Tivo Desktop user? It looks like that are quite a few moving parts to set up and I just have a basic Windows 7 desktop.

Any response appreciated.


----------



## mattack

I've been using pytivo again off and on for a few weeks, after not using it in a long time. Mostly I'm using it to get some full length talk shows I had downloaded back to the Tivo to then skim through them on the Tivo...

Anyway, when I pick my share point, turn on folders, go into a folder, the dates often show wrong in the list.. e.g. something like

Conan 12/31
Conan 12/19
Conan 12/19
Conan 5/6
and sometimes the dates are right, sometimes they're wrong. The shown dates don't seem to be either the mod date on my external drive (when I downloaded them) or the original record date.

The episodes ARE in the right order chronologically as far as I can tell.

oh, when you channel up/down between episodes, it flickers the current item without some of the icons (so it reflows the text) then shows the new one.


----------



## reneg

Jayboy3 said:


> Hi guys -- just checking in because I'm thinking about switching to pyTivo and wondered if there's a simpler approach for someone less knowledgeable.
> 
> I've been using Tivo Desktop for years, still do. I have many TB's of movies and shows on hard drives. I watch a lot of them on the PC, but for home theater I need to transfer them back to the Tivo.
> 
> Lately it's been very buggy -- my Tivo Roamio seems to stop about 9 minutes into every attempted transfer. It often loses contact with the Tivo Desktop server. And it often gives me "Cannot transfer Message #86."
> 
> I've been using Plex as another solution for some movies, but it would better to just directly transfer to the movies to the Tivo.
> 
> Is pyTivo something I can probably handle as a moderate, years-long Tivo Desktop user? It looks like that are quite a few moving parts to set up and I just have a basic Windows 7 desktop.
> 
> Any response appreciated.


If you can set up Plex, I think you can handle pyTivo. The best thing is to just give pyTivo a try. Keep your configuration simple to try it out.


----------



## wmcbrine

With the release of 11.0n software, it's now _possible_ that the TiVo HD will support transfers in transport-stream mode, including H.264 transport streams. But, I don't have one to test with. So, I've made a tentative change to my fork of pyTivo to support this. Could someone who _does_ have a TiVo HD that's been upgraded to 11.0n, please test it? (It will require the "ts=on" setting.)

(Crossposted)


----------



## lew

wmcbrine said:


> With the release of 11.0n software, it's now _possible_ that the TiVo HD will support transfers in transport-stream mode, including H.264 transport streams. But, I don't have one to test with. So, I've made a tentative change to my fork of pyTivo to support this. Could someone who _does_ have a TiVo HD that's been upgraded to 11.0n, please test it? (It will require the "ts=on" setting.)
> 
> (Crossposted)


I still haven't gotten the update I'll post when I get it. Isn't it as simple as pointing a browser to ti is IP address and seeing if downloads transport streams is offered


----------



## wmcbrine

lew said:


> Isn't it as simple as pointing a browser to ti is IP address and seeing if downloads transport streams is offered


I'm more interested in the opposite direction (although I'm interested in both).


----------



## lew

wmcbrine said:


> I'm more interested in the opposite direction (although I'm interested in both).


I assumed ts would be enabled for both directions, or not at all. You make a good point. I must be at the end of the upgrade list.


----------



## Soapm

I have a Debian video server that's been running pyTivo for years. I hadn't updated pyTivo in a while so I did a "git pull" while in the directory. It did it's normal update thing and all seems fine except my video's no longer stream to the Tivo's.

So to explain, I can browse my video server from the Tivo's, I can schedule a show. The blue light lights on the Tivo as if the show is transferring, however, the green line never advances and the show never plays. I can then stop the transfer no problem...

Any idea's how to troubleshoot this?


----------



## Soapm

I have a Debian video server that's been running pyTivo for years. I hadn't updated pyTivo in a while so I did a "git pull" while in the directory. It did it's normal update thing and all seems fine except my video's no longer stream to the Tivo's.

So to explain, I can browse my video server from the Tivo's, I can schedule a show. The blue light lights on the Tivo as if the show is transferring, however, the green line never advances and the show never plays. I can then stop the transfer no problem...

Any idea's how to troubleshoot this?


----------



## wmcbrine

Soapm said:


> I have a Debian video server that's been running pyTivo for years. I hadn't updated pyTivo in a while so I did a "git pull" while in the directory. It did it's normal update thing and all seems fine except my video's no longer stream to the Tivo's.


So, after updating it... you restarted it, right?


----------



## Soapm

wmcbrine said:


> So, after updating it... you restarted it, right?


Right, and I've rebooted the server several times along with reinstalling ffmpeg...

Looks like the problem is limited to my Series 3, TivoHD... It works fine on my Premier. And I can used the web interface on port 9032 and push shows to the TivoHD just fine, the only problem seems to be the TivoHD can't pull shows to itself.

Now I'm really confused, can the problem be with the TivoHD??? Any logs or anything I can look at to give me a clue?


----------



## justen_m

Soapm said:


> Any idea's how to troubleshoot this?





wmcbrine said:


> So, after updating it... you restarted it, right?


My Ubuntu server fires up pyTivo on boot. Is there a logfile anywhere? If I have a problem, I usually log in to my server, kill off pyTivo, and relaunch it from a shell so I can see the output on stdout (I have debug on).


----------



## Soapm

justen_m said:


> My Ubuntu server fires up pyTivo on boot. Is there a logfile anywhere? If I have a problem, I usually log in to my server, kill off pyTivo, and relaunch it from a shell so I can see the output on stdout (I have debug on).


What are the commands to turn on debugging and see the output? My shell skills are limited...


----------



## lpwcomp

Soapm said:


> Right, and I've rebooted the server several times along with reinstalling ffmpeg...
> 
> Looks like the problem is limited to my Series 3, TivoHD... It works fine on my Premier. And I can used the web interface on port 9032 and push shows to the TivoHD just fine, the only problem seems to be the TivoHD can't pull shows to itself.
> 
> Now I'm really confused, can the problem be with the TivoHD??? Any logs or anything I can look at to give me a clue?


Has your THD received the latest update? Do you have ts=on specified in your pyTivo.conf? Does the version of pyTivo you are running maybe have the mod that supports sending transport streams to a THD?


----------



## Soapm

lpwcomp said:


> Has your THD received the latest update? Do you have ts=on specified in your pyTivo.conf? Does the version of pyTivo you are running maybe have the mod that supports sending transport streams to a THD?


TivoHD had a recent update??? Mines says 11.0m so I think that's the latest...

Yes, ts=on is set...

I don't know how to tell my version of pyTivo but I use git pull to update it if that matters. Also, I can push shows to the Tivo HD and all works fine on my Tivo Premier, it's just the series 3 Tivo HD that can pull shows to itself anymore.


----------



## HerronScott

Soapm said:


> TivoHD had a recent update??? Mines says 11.0m so I think that's the latest...
> .


The HD is getting 11.0n to support MPEG4 (rolling out since last Thursday/Friday). Can you confirm this is an HD and not an S3 OLED with the display?

Scott


----------



## wmcbrine

lpwcomp said:


> Has your THD received the latest update? Do you have ts=on specified in your pyTivo.conf? Does the version of pyTivo you are running maybe have the mod that supports sending transport streams to a THD?


Yeah, that's it. Since he said he updated pyTivo, but he still has 11.0m...


----------



## Soapm

HerronScott said:


> The HD is getting 11.0n to support MPEG4 (rolling out since last Thursday/Friday). Can you confirm this is an HD and not an S3 OLED with the display?
> 
> Scott


Yes, this is an S3... Not OLED... I guess I wrote off any more updates for this Tivo so I guess I have to find my hacking scripts and remember the process to upgrade it.

Why would something that's worked for years suddenly stop working because it's not updated??? You think Tivo is blocking the transfers at the MIND server???


----------



## Soapm

You may be right, looks like I have 11.0n pending...

This will take some remembering on how to rehack this thing...



Code:


TivoHD:echo mls /SwSystem | tivosh
Directory of /SwSystem starting at ''

    Name                      Type        FsId      Date  Time   Size
    ----                      ----        ----      ----  ----   ----
    11.0m-01-2-652            tyDb     2727173  08/31/13 20:22    908
    11.0n.B1-01-2-652         tyDb     6533590  01/22/16 18:13    892
    ACTIVE                    tyDb     2727173  08/31/13 20:22    908


----------



## lpwcomp

Soapm said:


> Why would something that's worked for years suddenly stop working because it's not updated??? You think Tivo is blocking the transfers at the MIND server???


ts=on tells pyTivo to remux h.264 into a transport stream rather than transcoding to mpeg2 if the destination TiVo is capable of handling it. pyTivo was modified recently to add TiVo HDs to the list of TIVos that support this but the TiVo needs to be at 11.0n.


----------



## Soapm

lpwcomp said:


> ts=on tells pyTivo to remux h.264 into a transport stream rather than transcoding to mpeg2 if the destination TiVo is capable of handling it. pyTivo was modified recently to add TiVo HDs to the list of TIVos that support this but the TiVo needs to be at 11.0n.


That explains it all, so me unknowingly doing the git pull got me the updated code and put my Tivo on the list...

I turned ts=off for now and it's working until I have time next week to figure out how to update my Tivo. I used a script in the past that I must have deleted along with all my instructions so I got a lot of head scratching ahead of me...

Thanks all for figuring out this mystery...


----------



## Soapm

Got it updated, turns out my script was on the Tivo. Now all I have to do is get someone to figure out the Tivoapp patches.


----------



## Soapm

Got it uploaded but it didn't fix my streaming problem, I still have to have ts=off to stream movies to my TivoHD S3. It does as before if I turn it back on.


----------



## wmcbrine

Well, that's bad news. It sounds like they really didn't enable transport streams (at least not going in to the TiVo) in 11.0n. I'll wait for some more feedback before giving up on the change; meanwhile, if you want to revert it, just find this bit in config.py:



Code:


def is_ts_capable(tsn):  # tsn's of Tivos that support transport streams
    return bool(tsn and (tsn[0] >= '7' or
                         tsn.startswith(('663', '652', '658'))))

and change it back to:



Code:


def is_ts_capable(tsn):  # tsn's of Tivos that support transport streams
    return bool(tsn and (tsn[0] >= '7' or
                         tsn.startswith('663')))


----------



## lpwcomp

Soapm said:


> Got it uploaded but it didn't fix my streaming problem, I still have to have ts=off to stream movies to my TivoHD S3. It does as before if I turn it back on.


Are you streaming or transferring?


----------



## Soapm

lpwcomp said:


> Are you streaming or transferring?


From the Tivo, I am browsing my video server and scheduling a transfer...

I can just leave ts=off until we figure this out. I don't notice any difference but all my TV's are still the old CRT's... My daughter has a flatscreen but it doesn't work...

Edit to add:

I can go to mytivo:9032 and push movies to the Tivo just fine... If that helps.


----------



## Soapm

For kicks I tried this code and it didn't fix it either. I still have to turn ts=off to pull movies to my TivoHD...



Code:


def is_ts_capable(tsn):  # tsn's of Tivos that support transport streams
    return bool(tsn and (tsn[0] >= '7' or
                         tsn.startswith('663')))


----------



## wmcbrine

Well then, you really need to get the log. Don't ask me where it is -- that depends how you set it up. I don't know how you set it up.


----------



## Soapm

wmcbrine said:


> Well then, you really need to get the log. Don't ask me where it is -- that depends how you set it up. I don't know how you set it up.


This should be from the restart of pyTivo where I turned ts=on to where the blue light cut off on the TivoHD. It looks like the show transferred but nothing actually went to the Tivo except the title itself. If you try to play the show there is nothing there to see...



Code:


INFO:pyTivo:Python: 2.7.9
INFO:pyTivo:System: Linux-3.2.0-4-amd64-x86_64-with-debian-8.3
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:TivoHD
INFO:pyTivo.beacon:Other
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: Lenny
INFO:pyTivo.beacon:Registering: Torrent
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.0.191 [29/Jan/2016 16:47:51] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&ItemCount=0&SerialNum=746000190317E5C HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 16:47:51] "GET /TiVoConnect?Command=QueryContainer&Container=Torrent&ItemCount=0&SerialNum=746000190317E5C HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:47:51] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 16:47:51] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.0.180 [29/Jan/2016 16:47:52] "GET /TiVoConnect?Command=Settings&Container=Settings HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:22] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:22] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:24] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:24] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2F12%20O'Clock%20High&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:25] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:25] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2F12%20O'Clock%20High%2F02&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:26] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:26] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:26] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:26] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:26] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:26] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:26] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:26] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:29] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:30] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2F12%20O'Clock%20High%2F02&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FLenny%2F12%2520O%2527Clock%2520High%2F02%2FTwelve%2520O%2527Clock%2520High%2520-%2520s02e02%2520-%2520Rx%2520for%2520a%2520Sick%2520Bird.avi&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:30] "GET /TiVoConnect?Command=TVBusQuery&Container=Lenny&File=%2F12%20O'Clock%20High%2F02%2FTwelve%20O'Clock%20High%20-%20s02e02%20-%20Rx%20for%20a%20Sick%20Bird.avi HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:30] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:32] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:32] "GET /TiVoConnect?Command=QueryItem&Url=http%3A%2F%2Fa%2Fb%3FContainer%3D%2FNowPlaying%26id%3D%2FLenny%2F12%2520O%2527Clock%2520High%2F02%2FTwelve%2520O%2527Clock%2520High%2520-%2520s02e02%2520-%2520Rx%2520for%2520a%2520Sick%2520Bird.avi HTTP/1.1" 404 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:55] "GET /Lenny/12%20O'Clock%20High/02/Twelve%20O'Clock%20High%20-%20s02e02%20-%20Rx%20for%20a%20Sick%20Bird.avi?Format=video%2Fx-tivo-mpeg-ts HTTP/1.1" 206 -
INFO:pyTivo.video.video:[29/Jan/2016 16:48:55] Start sending "/video/12 O'Clock High/02/Twelve O'Clock High - s02e02 - Rx for a Sick Bird.avi" to TivoHD
ffmpeg version 2.8.5 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
  configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security ' --extra-ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir=/usr/lib/x86_64-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libpulse --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2 --enable-libvidstab --enable-libzvbi --enable-avresample --disable-htmlpages --disable-podpages --enable-libutvideo --enable-libfdk-aac --enable-libx265 --enable-libbs2b --enable-libilbc --enable-libopenh264 --enable-libiec61883 --enable-vaapi --enable-libkvazaar --enable-opencl --enable-libdc1394 --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Input #0, avi, from '/video/12 O'Clock High/02/Twelve O'Clock High - s02e02 - Rx for a Sick Bird.avi':
  Metadata:
    encoder         : VirtualDubMod 1.5.4.1 (build 2178/release)
    IAS1            : ???
  Duration: 00:46:42.41, start: 0.000000, bitrate: 1043 kb/s
    Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 915 kb/s, 29.97 fps, 29.97 tbr, 29.97 tbn, 29.98 tbc
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 114 kb/s
Output #0, mpegts, to 'pipe:':
  Metadata:
    IAS1            : ???
    encoder         : Lavf56.40.101
    Stream #0:0: Video: mpeg2video, yuv420p, 640x480 [SAR 1:1 DAR 4:3], q=2-31, 16384 kb/s, 29.97 fps, 90k tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc56.60.100 mpeg2video
    Stream #0:1: Audio: ac3, 48000 Hz, stereo, fltp, 448 kb/s
    Metadata:
      encoder         : Lavc56.60.100 ac3
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg4 (native) -> mpeg2video (native))
  Stream #0:1 -> #0:1 (mp3 (native) -> ac3 (native))
Press [q] to stop, [?] for help
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:55] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:55] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2F12%20O'Clock%20High%2F02&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:55] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:55] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:55] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:56] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:56] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:56] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:56] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:56] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
frame=   71 fps= 40 q=2.0 size=     570kB time=00:00:02.97 bitrate=1573.0kbits/s    
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:57] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:57] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2F12%20O'Clock%20High&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2F12%2520O%2527Clock%2520High%2F02&AnchorOffset=-2&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
frame=  119 fps= 40 q=2.0 size=    1088kB time=00:00:04.57 bitrate=1949.6kbits/s    
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:58] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 16:48:58] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2F12%2520O%2527Clock%2520High&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
frame=  162 fps= 36 q=2.0 size=    1618kB time=00:00:06.01 bitrate=2205.7kbits/s    
frame=  199 fps= 38 q=2.0 size=    2123kB time=00:00:07.22 bitrate=2406.3kbits/s    
frame=  231 fps= 35 q=2.0 size=    2639kB time=00:00:08.28 bitrate=2610.3kbits/s    
frame=  256 fps= 35 q=2.0 size=    3157kB time=00:00:09.11 bitrate=2837.3kbits/s    
frame=  285 fps= 35 q=2.0 size=    3658kB time=00:00:10.10 bitrate=2964.8kbits/s    
frame=  326 fps= 36 q=1.6 size=    4188kB time=00:00:11.48 bitrate=2987.8kbits/s    
frame=  368 fps= 37 q=2.0 size=    4676kB time=00:00:12.85 bitrate=2979.3kbits/s    
frame=  410 fps= 39 q=1.6 size=    5215kB time=00:00:14.26 bitrate=2994.4kbits/s    
frame=  444 fps= 38 q=2.0 size=    5710kB time=00:00:15.41 bitrate=3033.8kbits/s    
frame=  468 fps= 37 q=2.0 size=    6222kB time=00:00:16.21 bitrate=3142.7kbits/s    
frame=  488 fps= 37 q=2.0 size=    6736kB time=00:00:16.89 bitrate=3266.7kbits/s    
frame=  512 fps= 37 q=2.0 size=    7253kB time=00:00:17.65 bitrate=3364.6kbits/s    
frame=  536 fps= 37 q=2.0 size=    7765kB time=00:00:18.45 bitrate=3445.9kbits/s    
frame=  564 fps= 38 q=2.0 size=    8269kB time=00:00:19.38 bitrate=3494.0kbits/s    
frame=  596 fps= 37 q=2.0 size=    8777kB time=00:00:20.47 bitrate=3511.8kbits/s    
frame=  627 fps= 37 q=2.0 size=    9286kB time=00:00:21.49 bitrate=3538.5kbits/s    
frame=  662 fps= 38 q=1.6 size=    9825kB time=00:00:22.68 bitrate=3548.2kbits/s    
frame=  693 fps= 38 q=2.0 size=   10322kB time=00:00:23.70 bitrate=3567.0kbits/s    
frame=  722 fps= 38 q=1.6 size=   10825kB time=00:00:24.66 bitrate=3595.1kbits/s    
frame=  753 fps= 39 q=2.0 size=   11346kB time=00:00:25.72 bitrate=3613.3kbits/s    
frame=  782 fps= 39 q=1.6 size=   11865kB time=00:00:26.68 bitrate=3642.7kbits/s    
frame=  815 fps= 40 q=2.0 size=   12359kB time=00:00:27.77 bitrate=3645.8kbits/s    
frame=  846 fps= 40 q=2.0 size=   12861kB time=00:00:28.79 bitrate=3659.1kbits/s    
frame=  884 fps= 41 q=2.0 size=   13408kB time=00:00:30.07 bitrate=3652.3kbits/s    
frame=  919 fps= 41 q=2.0 size=   13895kB time=00:00:31.25 bitrate=3641.4kbits/s    
frame=  957 fps= 42 q=2.0 size=   14406kB time=00:00:32.53 bitrate=3626.9kbits/s    
frame=  994 fps= 42 q=2.0 size=   14916kB time=00:00:33.75 bitrate=3619.9kbits/s    
frame= 1029 fps= 43 q=2.0 size=   15448kB time=00:00:34.93 bitrate=3622.0kbits/s    
frame= 1074 fps= 44 q=2.0 size=   16333kB time=00:00:36.41 bitrate=3674.7kbits/s    
frame= 1099 fps= 44 q=2.0 size=   16827kB time=00:00:37.24 bitrate=3701.3kbits/s    
frame= 1132 fps= 44 q=2.0 size=   17501kB time=00:00:38.36 bitrate=3737.2kbits/s    
frame= 1166 fps= 44 q=1.6 size=   18183kB time=00:00:39.48 bitrate=3772.7kbits/s    
frame= 1214 fps= 45 q=1.6 size=   19018kB time=00:00:41.08 bitrate=3792.2kbits/s    
frame= 1251 fps= 45 q=2.0 size=   19522kB time=00:00:42.33 bitrate=3778.1kbits/s    
frame= 1288 fps= 46 q=2.0 size=   20110kB time=00:00:43.57 bitrate=3780.2kbits/s    
frame= 1314 fps= 46 q=2.0 size=   20564kB time=00:00:44.44 bitrate=3790.5kbits/s    
frame= 1350 fps= 46 q=2.0 size=   21117kB time=00:00:45.62 bitrate=3791.4kbits/s    
frame= 1383 fps= 46 q=2.0 size=   21578kB time=00:00:46.74 bitrate=3781.3kbits/s    
frame= 1425 fps= 47 q=2.0 size=   22105kB time=00:00:48.12 bitrate=3762.9kbits/s    
frame= 1465 fps= 47 q=2.0 size=   22585kB time=00:00:49.46 bitrate=3740.2kbits/s    
frame= 1515 fps= 48 q=2.0 size=   23163kB time=00:00:51.16 bitrate=3708.8kbits/s    
frame= 1551 fps= 48 q=2.0 size=   23616kB time=00:00:52.34 bitrate=3695.7kbits/s    
frame= 1594 fps= 49 q=2.0 size=   24126kB time=00:00:53.75 bitrate=3676.7kbits/s    
frame= 1637 fps= 49 q=2.0 size=   24643kB time=00:00:55.19 bitrate=3657.6kbits/s    
frame= 1680 fps= 50 q=2.0 size=   25159kB time=00:00:56.63 bitrate=3639.1kbits/s    
frame= 1714 fps= 50 q=2.0 size=   25671kB time=00:00:57.78 bitrate=3639.2kbits/s    
frame= 1768 fps= 50 q=2.0 size=   26703kB time=00:00:59.57 bitrate=3671.7kbits/s    
frame= 1815 fps= 51 q=2.0 size=   27511kB time=00:01:01.14 bitrate=3685.7kbits/s    
frame= 1866 fps= 51 q=2.0 size=   28232kB time=00:01:02.87 bitrate=3678.3kbits/s    
frame= 1923 fps= 51 q=2.0 size=   29261kB time=00:01:04.76 bitrate=3701.3kbits/s    
frame= 1981 fps= 52 q=2.0 size=   30220kB time=00:01:06.68 bitrate=3712.6kbits/s    
frame= 2012 fps= 52 q=2.0 size=   30793kB time=00:01:07.73 bitrate=3723.9kbits/s    
frame= 2043 fps= 52 q=2.0 size=   31341kB time=00:01:08.76 bitrate=3733.8kbits/s    
frame= 2101 fps= 52 q=2.0 size=   32334kB time=00:01:10.68 bitrate=3747.4kbits/s    
frame= 2136 fps= 53 q=2.0 size=   32828kB time=00:01:11.86 bitrate=3742.1kbits/s    
frame= 2179 fps= 53 q=2.0 size=   33342kB time=00:01:13.30 bitrate=3725.9kbits/s    
frame= 2222 fps= 53 q=1.6 size=   33865kB time=00:01:14.71 bitrate=3713.0kbits/s    
frame= 2283 fps= 54 q=2.0 size=   34546kB time=00:01:16.76 bitrate=3686.7kbits/s    
frame= 2314 fps= 54 q=2.0 size=   34886kB time=00:01:17.78 bitrate=3673.9kbits/s    
frame= 2357 fps= 54 q=2.0 size=   35394kB time=00:01:19.22 bitrate=3659.8kbits/s    
frame= 2407 fps= 55 q=2.0 size=   35976kB time=00:01:20.92 bitrate=3642.0kbits/s    
frame= 2446 fps= 55 q=2.0 size=   36418kB time=00:01:22.20 bitrate=3629.2kbits/s    
frame= 2486 fps= 55 q=1.6 size=   36941kB time=00:01:23.54 bitrate=3622.2kbits/s    
frame= 2528 fps= 55 q=2.0 size=   37460kB time=00:01:24.95 bitrate=3612.2kbits/s    
frame= 2574 fps= 56 q=2.0 size=   37965kB time=00:01:26.49 bitrate=3595.9kbits/s    
frame= 2617 fps= 56 q=2.0 size=   38461kB time=00:01:27.93 bitrate=3583.2kbits/s    
frame= 2665 fps= 56 q=2.0 size=   39028kB time=00:01:29.49 bitrate=3572.3kbits/s    
frame= 2702 fps= 56 q=1.6 size=   39506kB time=00:01:30.74 bitrate=3566.3kbits/s    
frame= 2744 fps= 57 q=2.0 size=   40016kB time=00:01:32.15 bitrate=3557.2kbits/s    
frame= 2819 fps= 58 q=2.0 size=   40945kB time=00:01:34.65 bitrate=3543.8kbits/s    
frame= 2849 fps= 58 q=2.0 size=   41304kB time=00:01:35.64 bitrate=3537.8kbits/s    
frame= 2894 fps= 58 q=1.6 size=   41803kB time=00:01:37.14 bitrate=3525.1kbits/s    
frame= 2946 fps= 58 q=2.0 size=   42569kB time=00:01:38.87 bitrate=3526.9kbits/s    
frame= 2972 fps= 58 q=2.0 size=   43084kB time=00:01:39.73 bitrate=3538.7kbits/s    
frame= 2994 fps= 58 q=2.0 size=   43587kB time=00:01:40.50 bitrate=3552.7kbits/s    
frame= 3036 fps= 58 q=2.0 size=   44433kB time=00:01:41.88 bitrate=3572.7kbits/s    
frame= 3064 fps= 58 q=2.0 size=   44859kB time=00:01:42.81 bitrate=3574.4kbits/s    
frame= 3096 fps= 58 q=2.0 size=   45336kB time=00:01:43.89 bitrate=3574.5kbits/s    
frame= 3158 fps= 58 q=1.6 size=   46141kB time=00:01:45.97 bitrate=3566.6kbits/s    
frame= 3200 fps= 59 q=2.0 size=   46674kB time=00:01:47.35 bitrate=3561.6kbits/s    
frame= 3252 fps= 59 q=2.0 size=   47304kB time=00:01:49.08 bitrate=3552.5kbits/s    
frame= 3286 fps= 59 q=2.0 size=   47731kB time=00:01:50.23 bitrate=3547.1kbits/s    
frame= 3324 fps= 59 q=2.0 size=   48271kB time=00:01:51.48 bitrate=3547.1kbits/s    
frame= 3378 fps= 59 q=2.0 size=   49220kB time=00:01:53.30 bitrate=3558.5kbits/s    
frame= 3411 fps= 59 q=2.0 size=   49758kB time=00:01:54.39 bitrate=3563.3kbits/s    
frame= 3458 fps= 60 q=1.6 size=   50433kB time=00:01:55.96 bitrate=3562.8kbits/s    
frame= 3514 fps= 60 q=2.0 size=   51227kB time=00:01:57.85 bitrate=3560.8kbits/s    
frame= 3549 fps= 60 q=2.0 size=   51779kB time=00:01:59.00 bitrate=3564.4kbits/s    
frame= 3582 fps= 60 q=2.0 size=   52297kB time=00:02:00.09 bitrate=3567.5kbits/s    
frame= 3609 fps= 60 q=2.0 size=   52813kB time=00:02:01.01 bitrate=3575.0kbits/s    
frame= 3637 fps= 60 q=2.0 size=   53310kB time=00:02:01.94 bitrate=3581.2kbits/s    
frame= 3667 fps= 59 q=2.0 size=   53838kB time=00:02:02.93 bitrate=3587.5kbits/s    
frame= 3696 fps= 59 q=2.0 size=   54338kB time=00:02:03.93 bitrate=3591.8kbits/s    
frame= 3722 fps= 59 q=1.6 size=   54872kB time=00:02:04.79 bitrate=3602.0kbits/s    
frame= 3760 fps= 59 q=2.0 size=   55367kB time=00:02:06.04 bitrate=3598.5kbits/s    
frame= 3803 fps= 60 q=2.0 size=   55871kB time=00:02:07.48 bitrate=3590.3kbits/s    
frame= 3861 fps= 60 q=2.0 size=   56830kB time=00:02:09.40 bitrate=3597.7kbits/s    
frame= 3904 fps= 60 q=2.0 size=   57409kB time=00:02:10.84 bitrate=3594.3kbits/s    
frame= 3948 fps= 60 q=2.0 size=   57950kB time=00:02:12.31 bitrate=3587.8kbits/s    
frame= 3987 fps= 60 q=2.0 size=   58481kB time=00:02:13.62 bitrate=3585.2kbits/s    
frame= 4047 fps= 61 q=2.0 size=   59187kB time=00:02:15.64 bitrate=3574.6kbits/s    
frame= 4087 fps= 61 q=2.0 size=   59686kB time=00:02:16.95 bitrate=3570.2kbits/s    
frame= 4139 fps= 61 q=2.0 size=   60288kB time=00:02:18.71 bitrate=3560.4kbits/s    
frame= 4175 fps= 61 q=2.0 size=   60707kB time=00:02:19.89 bitrate=3554.8kbits/s    
frame= 4209 fps= 61 q=2.0 size=   61147kB time=00:02:21.01 bitrate=3552.1kbits/s    
frame= 4241 fps= 61 q=2.0 size=   61502kB time=00:02:22.07 bitrate=3546.2kbits/s    
frame= 4290 fps= 62 q=2.0 size=   62013kB time=00:02:23.73 bitrate=3534.3kbits/s    
frame= 4337 fps= 62 q=2.0 size=   62619kB time=00:02:25.30 bitrate=3530.3kbits/s    
frame= 4368 fps= 62 q=2.0 size=   63039kB time=00:02:26.33 bitrate=3529.1kbits/s    
frame= 4406 fps= 62 q=1.6 size=   63552kB time=00:02:27.61 bitrate=3527.0kbits/s    
frame= 4498 fps= 63 q=2.0 size=   64204kB time=00:02:30.65 bitrate=3491.3kbits/s    
frame= 4546 fps= 63 q=2.0 size=   64572kB time=00:02:32.25 bitrate=3474.3kbits/s    
frame= 4610 fps= 63 q=1.6 size=   65187kB time=00:02:34.39 bitrate=3458.7kbits/s    
frame= 4657 fps= 63 q=2.0 size=   65595kB time=00:02:35.99 bitrate=3444.7kbits/s    
frame= 4713 fps= 64 q=2.0 size=   66114kB time=00:02:37.85 bitrate=3431.1kbits/s    
frame= 4777 fps= 64 q=2.0 size=   66619kB time=00:02:39.99 bitrate=3411.0kbits/s    
frame= 4839 fps= 64 q=2.0 size=   67134kB time=00:02:42.04 bitrate=3393.9kbits/s    
frame= 4908 fps= 65 q=2.0 size=   67779kB time=00:02:44.34 bitrate=3378.5kbits/s    
frame= 4955 fps= 65 q=2.0 size=   68159kB time=00:02:45.91 bitrate=3365.4kbits/s    
INFO:pyTivo.video.transcode:[Errno 104] Connection reset by peer
INFO:pyTivo.video.video:[Errno 32] Broken pipe
INFO:pyTivo.video.video:[29/Jan/2016 16:50:12] Done sending "/video/12 O'Clock High/02/Twelve O'Clock High - s02e02 - Rx for a Sick Bird.avi" to TivoHD, 69730304 bytes, 6.87 Mb/s
ERROR:pyTivo:Exception during request from ('192.168.0.195', 33175)
Traceback (most recent call last):
  File "/usr/lib/python2.7/SocketServer.py", line 599, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/pyTivo/httpserver.py", line 91, in __init__
    client_address, server)
  File "/usr/lib/python2.7/SocketServer.py", line 657, in __init__
    self.finish()
  File "/usr/lib/python2.7/SocketServer.py", line 716, in finish
    self.wfile.close()
  File "/usr/lib/python2.7/socket.py", line 279, in close
    self.flush()
  File "/usr/lib/python2.7/socket.py", line 303, in flush
    self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe


----------



## lpwcomp

And with ts=on, you can successfully pull that same video to your Premiere?


----------



## Soapm

lpwcomp said:


> And with ts=on, you can successfully pull that same video to your Premiere?


Yes, transfers to premier work fine whether ts=on or ts=off...

*EDITED TO ADD:* This is log of same show transferring to Premier...



Code:


INFO:pyTivo:192.168.0.180 [29/Jan/2016 19:18:52] "GET / HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.180 [29/Jan/2016 19:18:54] "GET /TiVoConnect?Command=Settings&Container=Settings HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:15] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:15] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=746000190317E5C HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:17] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:17] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2F12%20O'Clock%20High&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=746000190317E5C HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:19] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2F12%20O'Clock%20High%2F02&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=746000190317E5C HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:20] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:20] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:20] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:20] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:23] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:23] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2F12%20O'Clock%20High%2F02&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FLenny%2F12%2520O%2527Clock%2520High%2F02%2FTwelve%2520O%2527Clock%2520High%2520-%2520s02e01%2520-%2520Loneliest%2520Place%2520in%2520the%2520World%252C%2520The.avi&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=746000190317E5C HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:23] "GET /TiVoConnect?Command=TVBusQuery&Container=Lenny&File=%2F12%20O'Clock%20High%2F02%2FTwelve%20O'Clock%20High%20-%20s02e01%20-%20Loneliest%20Place%20in%20the%20World,%20The.avi&SerialNum=746000190317E5C HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:23] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:41] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:41] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2F12%20O'Clock%20High%2F02&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FLenny%2F12%2520O%2527Clock%2520High%2F02%2FTwelve%2520O%2527Clock%2520High%2520-%2520s02e01%2520-%2520Loneliest%2520Place%2520in%2520the%2520World%252C%2520The.avi&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=746000190317E5C HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:41] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:41] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:41] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:41] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:41] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:41] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:41] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:41] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:46] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:46] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2F12%20O'Clock%20High&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2F12%2520O%2527Clock%2520High%2F02&AnchorOffset=-2&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=746000190317E5C HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:47] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:47] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=746000190317E5C HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:48] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:48] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2F12%2520O%2527Clock%2520High&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=746000190317E5C HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:57] "GET /Lenny/12%20O'Clock%20High/02/Twelve%20O'Clock%20High%20-%20s02e01%20-%20Loneliest%20Place%20in%20the%20World,%20The.avi?Format=video%2Fx-tivo-mpeg-ts HTTP/1.1" 206 -
INFO:pyTivo.video.video:[29/Jan/2016 19:19:57] Start sending "/video/12 O'Clock High/02/Twelve O'Clock High - s02e01 - Loneliest Place in the World, The.avi" to Other
ffmpeg version 2.8.5 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
  configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security ' --extra-ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir=/usr/lib/x86_64-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libpulse --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2 --enable-libvidstab --enable-libzvbi --enable-avresample --disable-htmlpages --disable-podpages --enable-libutvideo --enable-libfdk-aac --enable-libx265 --enable-libbs2b --enable-libilbc --enable-libopenh264 --enable-libiec61883 --enable-vaapi --enable-libkvazaar --enable-opencl --enable-libdc1394 --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Input #0, avi, from '/video/12 O'Clock High/02/Twelve O'Clock High - s02e01 - Loneliest Place in the World, The.avi':
  Metadata:
    encoder         : VirtualDubMod 1.5.4.1 (build 2178/release)
    IAS1            : ???
  Duration: 00:46:39.51, start: 0.000000, bitrate: 1045 kb/s
    Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 932 kb/s, 23.98 fps, 23.98 tbr, 23.98 tbn, 23.98 tbc
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 100 kb/s
Output #0, mpegts, to 'pipe:':
  Metadata:
    IAS1            : ???
    encoder         : Lavf56.40.101
    Stream #0:0: Video: mpeg2video, yuv420p, 640x480 [SAR 1:1 DAR 4:3], q=2-31, 16384 kb/s, 23.98 fps, 90k tbn, 23.98 tbc
    Metadata:
      encoder         : Lavc56.60.100 mpeg2video
    Stream #0:1: Audio: ac3, 48000 Hz, stereo, fltp, 448 kb/s
    Metadata:
      encoder         : Lavc56.60.100 ac3
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg4 (native) -> mpeg2video (native))
  Stream #0:1 -> #0:1 (mp3 (native) -> ac3 (native))
Press [q] to stop, [?] for help
frame=   61 fps=0.0 q=2.0 size=     771kB time=00:00:03.16 bitrate=1996.4kbits/s    
frame=  133 fps=133 q=2.0 size=    1605kB time=00:00:06.13 bitrate=2141.3kbits/s    
frame=  204 fps=136 q=2.0 size=    2708kB time=00:00:09.11 bitrate=2433.9kbits/s    
frame=  260 fps=130 q=2.0 size=    3819kB time=00:00:11.45 bitrate=2732.4kbits/s    
frame=  322 fps=124 q=2.0 size=    4692kB time=00:00:14.04 bitrate=2737.2kbits/s    
frame=  389 fps=124 q=1.6 size=    5698kB time=00:00:16.82 bitrate=2773.9kbits/s    
frame=  462 fps=126 q=2.0 size=    6731kB time=00:00:19.86 bitrate=2775.4kbits/s    
frame=  530 fps=125 q=2.0 size=    7760kB time=00:00:22.71 bitrate=2798.6kbits/s    
frame=  598 fps=126 q=2.0 size=    8925kB time=00:00:25.53 bitrate=2863.7kbits/s    
frame=  646 fps=122 q=2.0 size=    9794kB time=00:00:27.54 bitrate=2912.6kbits/s    
frame=  705 fps=122 q=2.0 size=   10379kB time=00:00:30.04 bitrate=2830.2kbits/s    
frame=  762 fps=121 q=2.0 size=   11353kB time=00:00:32.37 bitrate=2872.4kbits/s    
frame=  820 fps=120 q=2.0 size=   12376kB time=00:00:34.81 bitrate=2912.4kbits/s    
frame=  904 fps=123 q=2.0 size=   13380kB time=00:00:38.29 bitrate=2862.0kbits/s    
frame=  975 fps=124 q=2.0 size=   14783kB time=00:00:41.27 bitrate=2934.1kbits/s    
frame= 1021 fps=121 q=1.6 size=   15962kB time=00:00:43.19 bitrate=3027.2kbits/s    
frame= 1087 fps=121 q=2.0 size=   17484kB time=00:00:45.94 bitrate=3117.3kbits/s    
frame= 1175 fps=123 q=2.0 size=   18589kB time=00:00:49.62 bitrate=3068.6kbits/s    
frame= 1252 fps=123 q=2.0 size=   20056kB time=00:00:52.82 bitrate=3110.1kbits/s    
frame= 1337 fps=125 q=2.0 size=   21597kB time=00:00:56.34 bitrate=3139.9kbits/s    
frame= 1427 fps=126 q=2.0 size=   23113kB time=00:01:00.12 bitrate=3149.3kbits/s    
frame= 1510 fps=128 q=2.0 size=   24395kB time=00:01:03.57 bitrate=3143.3kbits/s    
frame= 1594 fps=129 q=2.0 size=   25677kB time=00:01:07.09 bitrate=3134.9kbits/s    
frame= 1691 fps=131 q=2.0 size=   27211kB time=00:01:11.13 bitrate=3133.9kbits/s    
frame= 1789 fps=133 q=2.0 size=   28745kB time=00:01:15.22 bitrate=3130.2kbits/s    
frame= 1889 fps=134 q=2.0 size=   30283kB time=00:01:19.38 bitrate=3124.9kbits/s    
frame= 1984 fps=136 q=2.0 size=   31819kB time=00:01:23.35 bitrate=3127.1kbits/s    
frame= 2088 fps=135 q=2.0 size=   33365kB time=00:01:27.70 bitrate=3116.4kbits/s    
frame= 2222 fps=138 q=2.0 size=   35392kB time=00:01:33.27 bitrate=3108.3kbits/s    
frame= 2298 fps=139 q=2.0 size=   36593kB time=00:01:36.47 bitrate=3107.2kbits/s    
frame= 2370 fps=139 q=2.0 size=   37968kB time=00:01:39.45 bitrate=3127.5kbits/s    
frame= 2442 fps=139 q=2.0 size=   39294kB time=00:01:42.45 bitrate=3141.7kbits/s    
frame= 2558 fps=141 q=3.4 size=   40456kB time=00:01:47.29 bitrate=3088.9kbits/s    
frame= 2609 fps=140 q=1.6 size=   41677kB time=00:01:49.43 bitrate=3119.9kbits/s    
frame= 2702 fps=141 q=2.0 size=   43076kB time=00:01:53.30 bitrate=3114.3kbits/s    
frame= 2774 fps=141 q=2.0 size=   44624kB time=00:01:56.31 bitrate=3142.9kbits/s    
frame= 2854 fps=141 q=2.0 size=   46223kB time=00:01:59.64 bitrate=3164.9kbits/s    
frame= 2964 fps=143 q=3.3 size=   47691kB time=00:02:04.21 bitrate=3145.1kbits/s    
frame= 3036 fps=143 q=2.0 size=   49239kB time=00:02:07.25 bitrate=3169.7kbits/s    
frame= 3131 fps=144 q=2.0 size=   50740kB time=00:02:11.19 bitrate=3168.3kbits/s    
frame= 3211 fps=144 q=2.0 size=   52322kB time=00:02:14.52 bitrate=3186.3kbits/s    
frame= 3301 fps=144 q=2.0 size=   54358kB time=00:02:18.29 bitrate=3219.9kbits/s    
frame= 3373 fps=144 q=2.0 size=   56023kB time=00:02:21.30 bitrate=3247.8kbits/s    
frame= 3411 fps=142 q=2.0 size=   57781kB time=00:02:22.87 bitrate=3313.0kbits/s    
frame= 3452 fps=141 q=2.0 size=   58969kB time=00:02:24.57 bitrate=3341.4kbits/s    
frame= 3516 fps=139 q=2.0 size=   60506kB time=00:02:27.25 bitrate=3366.0kbits/s    
frame= 3615 fps=140 q=2.0 size=   62527kB time=00:02:31.38 bitrate=3383.6kbits/s    
frame= 3689 fps=140 q=1.6 size=   64094kB time=00:02:34.45 bitrate=3399.3kbits/s    
frame= 3758 fps=140 q=2.0 size=   65605kB time=00:02:37.33 bitrate=3415.8kbits/s    
frame= 3846 fps=140 q=2.0 size=   67137kB time=00:02:41.01 bitrate=3415.7kbits/s    
frame= 3930 fps=140 q=2.0 size=   68680kB time=00:02:44.53 bitrate=3419.4kbits/s    
frame= 4000 fps=140 q=2.0 size=   70234kB time=00:02:47.41 bitrate=3436.6kbits/s    
frame= 4061 fps=139 q=2.0 size=   71860kB time=00:02:49.97 bitrate=3463.2kbits/s    
frame= 4121 fps=139 q=2.0 size=   73296kB time=00:02:52.50 bitrate=3480.7kbits/s    
frame= 4183 fps=139 q=2.0 size=   74962kB time=00:02:55.06 bitrate=3507.8kbits/s    
frame= 4241 fps=138 q=2.0 size=   76423kB time=00:02:57.49 bitrate=3527.1kbits/s    
frame= 4303 fps=138 q=2.0 size=   77921kB time=00:03:00.09 bitrate=3544.5kbits/s    
frame= 4372 fps=138 q=2.0 size=   79464kB time=00:03:02.97 bitrate=3557.8kbits/s    
frame= 4438 fps=137 q=2.0 size=   80960kB time=00:03:05.72 bitrate=3571.0kbits/s    
frame= 4533 fps=137 q=2.0 size=   82497kB time=00:03:09.69 bitrate=3562.7kbits/s    
frame= 4645 fps=138 q=2.0 size=   84252kB time=00:03:14.33 bitrate=3551.6kbits/s    
frame= 4738 fps=139 q=2.0 size=   85601kB time=00:03:18.23 bitrate=3537.4kbits/s    
frame= 4809 fps=139 q=2.0 size=   87112kB time=00:03:21.17 bitrate=3547.2kbits/s    
frame= 4890 fps=139 q=2.0 size=   88636kB time=00:03:24.57 bitrate=3549.4kbits/s    
frame= 4972 fps=140 q=2.0 size=   90201kB time=00:03:27.99 bitrate=3552.6kbits/s    
frame= 5042 fps=140 q=2.0 size=   91615kB time=00:03:30.90 bitrate=3558.5kbits/s    
frame= 5112 fps=140 q=2.0 size=   92772kB time=00:03:33.81 bitrate=3554.3kbits/s    
frame= 5167 fps=139 q=2.0 size=   93832kB time=00:03:36.09 bitrate=3557.2kbits/s    
frame= 5221 fps=139 q=2.0 size=   94796kB time=00:03:38.36 bitrate=3556.3kbits/s    
frame= 5294 fps=138 q=2.0 size=   96330kB time=00:03:41.40 bitrate=3564.2kbits/s    
frame= 5371 fps=138 q=2.0 size=   97893kB time=00:03:44.63 bitrate=3570.0kbits/s    
frame= 5461 fps=138 q=2.0 size=   99398kB time=00:03:48.37 bitrate=3565.4kbits/s    
frame= 5583 fps=140 q=1.6 size=  101108kB time=00:03:53.46 bitrate=3547.7kbits/s    
frame= 5655 fps=140 q=1.6 size=  102165kB time=00:03:56.47 bitrate=3539.2kbits/s    
frame= 5761 fps=141 q=2.0 size=  103610kB time=00:04:00.89 bitrate=3523.5kbits/s    
frame= 5881 fps=142 q=2.0 size=  105274kB time=00:04:05.88 bitrate=3507.4kbits/s    
frame= 5947 fps=142 q=2.0 size=  106176kB time=00:04:08.66 bitrate=3497.8kbits/s    
frame= 6056 fps=143 q=2.0 size=  107663kB time=00:04:13.17 bitrate=3483.6kbits/s    
frame= 6154 fps=143 q=2.0 size=  109209kB time=00:04:17.27 bitrate=3477.4kbits/s    
frame= 6268 fps=144 q=2.0 size=  110678kB time=00:04:22.04 bitrate=3460.0kbits/s    
frame= 6335 fps=144 q=2.0 size=  111495kB time=00:04:24.82 bitrate=3448.9kbits/s    
frame= 6418 fps=144 q=2.0 size=  112602kB time=00:04:28.28 bitrate=3438.3kbits/s    
frame= 6500 fps=144 q=2.0 size=  113744kB time=00:04:31.70 bitrate=3429.4kbits/s    
frame= 6574 fps=144 q=2.0 size=  115066kB time=00:04:34.81 bitrate=3430.1kbits/s    
frame= 6655 fps=144 q=2.0 size=  116305kB time=00:04:38.17 bitrate=3425.1kbits/s    
frame= 6735 fps=144 q=2.0 size=  117539kB time=00:04:41.49 bitrate=3420.6kbits/s    
frame= 6794 fps=144 q=2.0 size=  118534kB time=00:04:43.96 bitrate=3419.6kbits/s    
frame= 6873 fps=144 q=2.0 size=  119876kB time=00:04:47.25 bitrate=3418.6kbits/s    
frame= 6963 fps=144 q=2.0 size=  121325kB time=00:04:51.03 bitrate=3415.0kbits/s    
frame= 7036 fps=144 q=2.0 size=  122452kB time=00:04:54.04 bitrate=3411.5kbits/s    
frame= 7113 fps=144 q=2.0 size=  123998kB time=00:04:57.27 bitrate=3417.0kbits/s    
frame= 7160 fps=143 q=2.0 size=  125017kB time=00:04:59.22 bitrate=3422.6kbits/s    
frame= 7223 fps=143 q=2.0 size=  126182kB time=00:05:01.88 bitrate=3424.1kbits/s    
frame= 7327 fps=144 q=2.0 size=  128060kB time=00:05:06.20 bitrate=3426.1kbits/s    
frame= 7382 fps=143 q=2.0 size=  129106kB time=00:05:08.50 bitrate=3428.2kbits/s    
frame= 7429 fps=143 q=2.0 size=  130172kB time=00:05:10.45 bitrate=3434.8kbits/s    
frame= 7487 fps=142 q=2.0 size=  131142kB time=00:05:12.85 bitrate=3433.9kbits/s    
frame= 7552 fps=142 q=2.0 size=  132170kB time=00:05:15.57 bitrate=3431.0kbits/s    
frame= 7622 fps=142 q=2.0 size=  133317kB time=00:05:18.52 bitrate=3428.7kbits/s    
frame= 7679 fps=142 q=2.0 size=  134218kB time=00:05:20.89 bitrate=3426.5kbits/s    
frame= 7769 fps=142 q=1.6 size=  135771kB time=00:05:24.63 bitrate=3426.1kbits/s    
frame= 7825 fps=142 q=2.0 size=  136839kB time=00:05:26.97 bitrate=3428.4kbits/s    
frame= 7926 fps=142 q=2.0 size=  138809kB time=00:05:31.19 bitrate=3433.4kbits/s    
frame= 7958 fps=141 q=2.0 size=  139385kB time=00:05:32.53 bitrate=3433.7kbits/s    
frame= 8033 fps=142 q=1.6 size=  140927kB time=00:05:35.64 bitrate=3439.6kbits/s    
frame= 8100 fps=141 q=2.0 size=  142418kB time=00:05:38.45 bitrate=3447.1kbits/s    
frame= 8185 fps=141 q=2.0 size=  143951kB time=00:05:41.97 bitrate=3448.3kbits/s    
frame= 8286 fps=141 q=2.0 size=  145482kB time=00:05:46.20 bitrate=3442.4kbits/s    
frame= 8387 fps=142 q=2.0 size=  147011kB time=00:05:50.39 bitrate=3437.0kbits/s    
frame= 8483 fps=142 q=2.0 size=  148557kB time=00:05:54.42 bitrate=3433.6kbits/s    
frame= 8571 fps=142 q=2.0 size=  149996kB time=00:05:58.07 bitrate=3431.6kbits/s    
frame= 8644 fps=143 q=2.0 size=  151273kB time=00:06:01.14 bitrate=3431.4kbits/s    
frame= 8721 fps=142 q=2.0 size=  152671kB time=00:06:04.34 bitrate=3432.7kbits/s    
frame= 8798 fps=143 q=2.0 size=  154197kB time=00:06:07.57 bitrate=3436.5kbits/s    
frame= 8869 fps=143 q=2.0 size=  155462kB time=00:06:10.55 bitrate=3436.9kbits/s    
frame= 8957 fps=143 q=1.6 size=  156921kB time=00:06:14.20 bitrate=3435.3kbits/s    
frame= 9044 fps=143 q=2.0 size=  158300kB time=00:06:17.81 bitrate=3432.3kbits/s    
frame= 9154 fps=144 q=2.0 size=  160035kB time=00:06:22.39 bitrate=3428.4kbits/s    
frame= 9229 fps=144 q=2.0 size=  161155kB time=00:06:25.53 bitrate=3424.3kbits/s    
frame= 9331 fps=144 q=2.0 size=  162715kB time=00:06:29.78 bitrate=3419.7kbits/s    
frame= 9424 fps=144 q=2.0 size=  164422kB time=00:06:33.65 bitrate=3421.6kbits/s    
frame= 9520 fps=145 q=2.0 size=  166099kB time=00:06:37.65 bitrate=3421.7kbits/s    
frame= 9588 fps=145 q=2.0 size=  167258kB time=00:06:40.50 bitrate=3421.1kbits/s    
frame= 9681 fps=145 q=2.0 size=  168700kB time=00:06:44.34 bitrate=3417.8kbits/s    
frame= 9760 fps=145 q=2.0 size=  169892kB time=00:06:47.67 bitrate=3413.9kbits/s    
frame= 9865 fps=145 q=2.0 size=  171501kB time=00:06:52.02 bitrate=3409.8kbits/s    
frame= 9926 fps=145 q=2.0 size=  172458kB time=00:06:54.61 bitrate=3407.4kbits/s    
frame= 9989 fps=145 q=1.6 size=  173653kB time=00:06:57.21 bitrate=3409.7kbits/s    
frame=10073 fps=145 q=1.6 size=  175182kB time=00:07:00.73 bitrate=3410.9kbits/s    
frame=10134 fps=145 q=2.0 size=  176274kB time=00:07:03.25 bitrate=3411.7kbits/s    
frame=10194 fps=145 q=2.0 size=  177586kB time=00:07:05.78 bitrate=3416.7kbits/s    
frame=10250 fps=144 q=2.0 size=  178787kB time=00:07:08.12 bitrate=3421.0kbits/s    
frame=10311 fps=144 q=2.0 size=  179999kB time=00:07:10.65 bitrate=3424.0kbits/s    
frame=10403 fps=145 q=2.0 size=  181636kB time=00:07:14.49 bitrate=3424.6kbits/s    
frame=10508 fps=145 q=2.0 size=  183325kB time=00:07:18.87 bitrate=3421.9kbits/s    
frame=10596 fps=145 q=2.0 size=  184458kB time=00:07:22.52 bitrate=3414.7kbits/s    
frame=10691 fps=145 q=2.0 size=  185918kB time=00:07:26.49 bitrate=3411.1kbits/s    
frame=10785 fps=146 q=2.0 size=  187270kB time=00:07:30.42 bitrate=3405.9kbits/s    
frame=10877 fps=146 q=1.6 size=  188453kB time=00:07:34.26 bitrate=3398.5kbits/s    
frame=10909 fps=145 q=2.0 size=  188982kB time=00:07:35.61 bitrate=3397.9kbits/s    
frame=11017 fps=146 q=2.0 size=  190783kB time=00:07:40.09 bitrate=3396.9kbits/s    
frame=11114 fps=146 q=2.0 size=  192195kB time=00:07:44.15 bitrate=3392.1kbits/s    
frame=11196 fps=146 q=2.0 size=  193314kB time=00:07:47.57 bitrate=3386.9kbits/s    
frame=11268 fps=146 q=2.0 size=  194363kB time=00:07:50.58 bitrate=3383.5kbits/s    
frame=11379 fps=147 q=2.0 size=  195857kB time=00:07:55.19 bitrate=3376.4kbits/s    
frame=11477 fps=147 q=1.6 size=  197192kB time=00:07:59.29 bitrate=3370.4kbits/s    
frame=11545 fps=147 q=2.0 size=  198220kB time=00:08:02.10 bitrate=3368.2kbits/s    
frame=11641 fps=147 q=2.0 size=  199637kB time=00:08:06.13 bitrate=3364.1kbits/s    
frame=11770 fps=148 q=2.0 size=  201291kB time=00:08:11.51 bitrate=3354.9kbits/s    
frame=11867 fps=148 q=2.0 size=  202818kB time=00:08:15.54 bitrate=3352.8kbits/s    
frame=11928 fps=148 q=2.0 size=  203838kB time=00:08:18.10 bitrate=3352.4kbits/s    
frame=12006 fps=148 q=2.0 size=  205075kB time=00:08:21.37 bitrate=3350.8kbits/s    
frame=12075 fps=148 q=2.0 size=  206087kB time=00:08:24.21 bitrate=3348.3kbits/s    
frame=12158 fps=148 q=2.0 size=  207635kB time=00:08:27.70 bitrate=3350.3kbits/s    
frame=12249 fps=148 q=2.0 size=  209212kB time=00:08:31.48 bitrate=3350.8kbits/s    
frame=12310 fps=148 q=2.0 size=  210210kB time=00:08:34.04 bitrate=3350.0kbits/s    
frame=12403 fps=148 q=2.0 size=  211529kB time=00:08:37.91 bitrate=3345.8kbits/s    
frame=12481 fps=148 q=2.0 size=  212554kB time=00:08:41.17 bitrate=3341.0kbits/s    
frame=12595 fps=148 q=2.0 size=  214081kB time=00:08:45.91 bitrate=3334.7kbits/s    
frame=12709 fps=149 q=2.0 size=  215630kB time=00:08:50.68 bitrate=3328.6kbits/s    
frame=12800 fps=149 q=2.0 size=  217000kB time=00:08:54.45 bitrate=3326.1kbits/s    
frame=12869 fps=148 q=1.6 size=  218193kB time=00:08:57.33 bitrate=3326.5kbits/s    
frame=12965 fps=148 q=1.6 size=  219730kB time=00:09:01.33 bitrate=3325.1kbits/s    
frame=13063 fps=149 q=2.0 size=  221253kB time=00:09:05.43 bitrate=3323.0kbits/s    
frame=13164 fps=149 q=2.0 size=  222796kB time=00:09:09.65 bitrate=3320.5kbits/s    
frame=13255 fps=149 q=2.0 size=  224205kB time=00:09:13.43 bitrate=3318.7kbits/s    
frame=13331 fps=149 q=2.0 size=  225350kB time=00:09:16.60 bitrate=3316.7kbits/s    
frame=13433 fps=149 q=1.6 size=  226908kB time=00:09:20.85 bitrate=3314.3kbits/s    
frame=13557 fps=150 q=2.0 size=  228861kB time=00:09:26.04 bitrate=3312.2kbits/s    
frame=13581 fps=149 q=2.0 size=  229443kB time=00:09:27.06 bitrate=3314.6kbits/s    
frame=13642 fps=149 q=2.0 size=  230982kB time=00:09:29.59 bitrate=3322.0kbits/s    
frame=13701 fps=149 q=2.0 size=  232227kB time=00:09:32.05 bitrate=3325.5kbits/s    
frame=13758 fps=148 q=2.0 size=  233233kB time=00:09:34.42 bitrate=3326.2kbits/s    
frame=13837 fps=148 q=2.0 size=  234487kB time=00:09:37.72 bitrate=3325.0kbits/s    
frame=13898 fps=148 q=2.0 size=  235407kB time=00:09:40.28 bitrate=3323.3kbits/s    
frame=13949 fps=148 q=1.6 size=  236624kB time=00:09:42.39 bitrate=3328.4kbits/s    
frame=14019 fps=148 q=2.0 size=  238146kB time=00:09:45.30 bitrate=3333.1kbits/s    
frame=14096 fps=148 q=2.0 size=  239948kB time=00:09:48.53 bitrate=3339.9kbits/s    
frame=14142 fps=148 q=2.0 size=  241230kB time=00:09:50.45 bitrate=3346.8kbits/s    
frame=14209 fps=147 q=2.0 size=  242762kB time=00:09:53.24 bitrate=3352.3kbits/s    
frame=14279 fps=147 q=2.0 size=  244209kB time=00:09:56.15 bitrate=3355.8kbits/s    
frame=14346 fps=147 q=2.0 size=  245535kB time=00:09:58.93 bitrate=3358.3kbits/s    
frame=14389 fps=147 q=2.0 size=  246550kB time=00:10:00.76 bitrate=3362.0kbits/s    
frame=14432 fps=146 q=2.0 size=  247752kB time=00:10:02.55 bitrate=3368.3kbits/s    
frame=14463 fps=146 q=2.0 size=  248741kB time=00:10:03.80 bitrate=3374.7kbits/s    
frame=14502 fps=145 q=2.0 size=  249944kB time=00:10:05.46 bitrate=3381.8kbits/s    
frame=14550 fps=145 q=2.0 size=  251462kB time=00:10:07.48 bitrate=3391.0kbits/s    
frame=14602 fps=145 q=2.0 size=  253027kB time=00:10:09.62 bitrate=3400.1kbits/s    
frame=14676 fps=145 q=2.0 size=  254608kB time=00:10:12.73 bitrate=3404.0kbits/s    
frame=14742 fps=145 q=2.0 size=  256087kB time=00:10:15.45 bitrate=3408.7kbits/s    
frame=14814 fps=145 q=2.0 size=  257620kB time=00:10:18.45 bitrate=3412.4kbits/s    
frame=14880 fps=145 q=2.0 size=  259134kB time=00:10:21.21 bitrate=3417.2kbits/s    
frame=14950 fps=144 q=2.0 size=  260683kB time=00:10:24.15 bitrate=3421.5kbits/s    
frame=15003 fps=144 q=2.0 size=  262026kB time=00:10:26.36 bitrate=3427.0kbits/s    
frame=15055 fps=144 q=2.0 size=  263267kB time=00:10:28.50 bitrate=3431.4kbits/s    
frame=15117 fps=144 q=2.0 size=  264716kB time=00:10:31.09 bitrate=3436.2kbits/s    
frame=15136 fps=143 q=2.0 size=  265159kB time=00:10:31.93 bitrate=3437.4kbits/s    
frame=15182 fps=143 q=2.0 size=  266315kB time=00:10:33.81 bitrate=3442.1kbits/s    
frame=15241 fps=143 q=2.0 size=  267842kB time=00:10:36.28 bitrate=3448.4kbits/s    
frame=15305 fps=142 q=1.6 size=  269389kB time=00:10:38.97 bitrate=3453.7kbits/s    
frame=15398 fps=143 q=2.0 size=  270915kB time=00:10:42.81 bitrate=3452.6kbits/s    
frame=15472 fps=142 q=2.0 size=  272466kB time=00:10:45.91 bitrate=3455.6kbits/s    
frame=15532 fps=142 q=2.0 size=  274026kB time=00:10:48.41 bitrate=3462.0kbits/s    
frame=15577 fps=142 q=2.0 size=  275295kB time=00:10:50.29 bitrate=3468.0kbits/s    
frame=15656 fps=142 q=2.0 size=  277059kB time=00:10:53.59 bitrate=3472.6kbits/s    
frame=15721 fps=142 q=2.0 size=  278589kB time=00:10:56.31 bitrate=3477.3kbits/s    
frame=15782 fps=141 q=2.0 size=  280129kB time=00:10:58.84 bitrate=3483.1kbits/s    
frame=15844 fps=141 q=2.0 size=  281686kB time=00:11:01.43 bitrate=3488.7kbits/s    
frame=15920 fps=141 q=2.0 size=  283223kB time=00:11:04.60 bitrate=3491.1kbits/s    
frame=15999 fps=141 q=2.0 size=  284624kB time=00:11:07.89 bitrate=3491.0kbits/s    
frame=16082 fps=141 q=2.0 size=  285761kB time=00:11:11.35 bitrate=3486.9kbits/s    
frame=16193 fps=141 q=1.6 size=  287317kB time=00:11:15.99 bitrate=3481.8kbits/s    
frame=16299 fps=142 q=2.0 size=  288842kB time=00:11:20.41 bitrate=3477.6kbits/s    
frame=16412 fps=142 q=2.0 size=  290369kB time=00:11:25.14 bitrate=3471.8kbits/s    
frame=16490 fps=142 q=2.0 size=  291408kB time=00:11:28.37 bitrate=3467.9kbits/s    
frame=16565 fps=142 q=1.6 size=  292415kB time=00:11:31.48 bitrate=3464.2kbits/s    
frame=16650 fps=142 q=2.0 size=  293541kB time=00:11:35.03 bitrate=3459.8kbits/s    
frame=16718 fps=142 q=2.0 size=  294474kB time=00:11:37.88 bitrate=3456.6kbits/s    
frame=16826 fps=142 q=2.0 size=  296000kB time=00:11:42.39 bitrate=3452.2kbits/s    
frame=16910 fps=142 q=2.0 size=  297540kB time=00:11:45.88 bitrate=3453.0kbits/s    
frame=16974 fps=142 q=2.0 size=  298573kB time=00:11:48.57 bitrate=3451.9kbits/s    
frame=17073 fps=142 q=2.0 size=  300110kB time=00:11:52.69 bitrate=3449.6kbits/s    
frame=17156 fps=142 q=2.0 size=  301587kB time=00:11:56.15 bitrate=3449.8kbits/s    
frame=17209 fps=142 q=2.0 size=  302654kB time=00:11:58.36 bitrate=3451.4kbits/s    
frame=17271 fps=142 q=2.0 size=  304195kB time=00:12:00.95 bitrate=3456.5kbits/s    
frame=17334 fps=142 q=2.0 size=  305736kB time=00:12:03.57 bitrate=3461.4kbits/s    
frame=17410 fps=142 q=2.0 size=  307290kB time=00:12:06.74 bitrate=3463.8kbits/s    
frame=17492 fps=142 q=2.0 size=  308818kB time=00:12:10.17 bitrate=3464.7kbits/s    
frame=17534 fps=141 q=2.0 size=  309843kB time=00:12:11.89 bitrate=3468.0kbits/s    
frame=17582 fps=141 q=2.0 size=  310870kB time=00:12:13.91 bitrate=3470.0kbits/s    
frame=17681 fps=141 q=1.6 size=  312602kB time=00:12:18.04 bitrate=3469.8kbits/s    
frame=17757 fps=141 q=2.0 size=  313941kB time=00:12:21.21 bitrate=3469.7kbits/s    
frame=17842 fps=142 q=2.0 size=  315523kB time=00:12:24.76 bitrate=3470.6kbits/s    
frame=17921 fps=141 q=1.6 size=  317020kB time=00:12:28.05 bitrate=3471.7kbits/s    
frame=17969 fps=141 q=1.6 size=  317823kB time=00:12:30.04 bitrate=3471.3kbits/s    
frame=18085 fps=142 q=2.0 size=  319409kB time=00:12:34.90 bitrate=3466.1kbits/s    
frame=18145 fps=142 q=2.0 size=  320167kB time=00:12:37.37 bitrate=3463.0kbits/s    
frame=18236 fps=142 q=2.0 size=  321549kB time=00:12:41.17 bitrate=3460.6kbits/s    
frame=18331 fps=142 q=2.0 size=  322928kB time=00:12:45.14 bitrate=3457.4kbits/s    
frame=18425 fps=142 q=1.6 size=  324178kB time=00:12:49.08 bitrate=3453.0kbits/s    
frame=18498 fps=142 q=2.0 size=  325191kB time=00:12:52.12 bitrate=3450.2kbits/s    
frame=18612 fps=142 q=2.0 size=  326734kB time=00:12:56.89 bitrate=3445.3kbits/s    
frame=18721 fps=143 q=2.0 size=  328248kB time=00:13:01.43 bitrate=3441.1kbits/s    
frame=18832 fps=143 q=2.0 size=  329786kB time=00:13:06.04 bitrate=3437.0kbits/s    
frame=18949 fps=143 q=2.0 size=  331324kB time=00:13:10.93 bitrate=3431.6kbits/s    
frame=19051 fps=143 q=2.0 size=  332749kB time=00:13:15.16 bitrate=3428.1kbits/s    
frame=19152 fps=144 q=2.0 size=  334189kB time=00:13:19.38 bitrate=3424.7kbits/s    
frame=19247 fps=144 q=2.0 size=  335531kB time=00:13:23.35 bitrate=3421.5kbits/s    
frame=19347 fps=144 q=2.0 size=  336972kB time=00:13:27.54 bitrate=3418.3kbits/s    
frame=19446 fps=144 q=2.0 size=  338513kB time=00:13:31.67 bitrate=3416.5kbits/s    
frame=19518 fps=144 q=2.0 size=  339532kB time=00:13:34.65 bitrate=3414.3kbits/s    
frame=19630 fps=144 q=2.0 size=  341068kB time=00:13:39.35 bitrate=3410.0kbits/s    
frame=19707 fps=144 q=2.0 size=  342083kB time=00:13:42.55 bitrate=3406.9kbits/s    
frame=19783 fps=144 q=2.0 size=  343106kB time=00:13:45.72 bitrate=3404.0kbits/s    
frame=19878 fps=144 q=2.0 size=  344525kB time=00:13:49.69 bitrate=3401.7kbits/s    
frame=19940 fps=144 q=2.0 size=  345668kB time=00:13:52.28 bitrate=3402.3kbits/s    
frame=20018 fps=144 q=2.0 size=  347202kB time=00:13:55.51 bitrate=3404.2kbits/s    
frame=20093 fps=144 q=1.6 size=  348776kB time=00:13:58.65 bitrate=3406.9kbits/s    
frame=20145 fps=144 q=2.0 size=  349756kB time=00:14:00.82 bitrate=3407.6kbits/s    
frame=20202 fps=144 q=2.0 size=  350820kB time=00:14:03.19 bitrate=3408.4kbits/s    
frame=20306 fps=144 q=1.6 size=  352316kB time=00:14:07.54 bitrate=3405.3kbits/s    
frame=20392 fps=144 q=2.0 size=  353368kB time=00:14:11.13 bitrate=3401.1kbits/s    
frame=20455 fps=144 q=2.0 size=  354336kB time=00:14:13.72 bitrate=3400.1kbits/s    
frame=20534 fps=144 q=2.0 size=  355438kB time=00:14:17.05 bitrate=3397.4kbits/s    
frame=20633 fps=144 q=1.6 size=  357044kB time=00:14:21.17 bitrate=3396.4kbits/s    
frame=20712 fps=144 q=2.0 size=  358474kB time=00:14:24.47 bitrate=3397.0kbits/s    
frame=20794 fps=144 q=2.0 size=  360021kB time=00:14:27.89 bitrate=3398.2kbits/s    
frame=20881 fps=144 q=2.0 size=  361652kB time=00:14:31.51 bitrate=3399.4kbits/s    
frame=20956 fps=144 q=2.0 size=  363173kB time=00:14:34.65 bitrate=3401.5kbits/s    
frame=21032 fps=144 q=2.0 size=  364605kB time=00:14:37.81 bitrate=3402.6kbits/s    
frame=21113 fps=144 q=1.6 size=  366163kB time=00:14:41.17 bitrate=3404.1kbits/s    
frame=21164 fps=144 q=2.0 size=  367175kB time=00:14:43.32 bitrate=3405.2kbits/s    
frame=21225 fps=144 q=2.0 size=  368319kB time=00:14:45.88 bitrate=3405.9kbits/s    
frame=21312 fps=144 q=2.0 size=  369733kB time=00:14:49.49 bitrate=3405.1kbits/s    
frame=21365 fps=144 q=1.6 size=  370576kB time=00:14:51.70 bitrate=3404.4kbits/s    
frame=21449 fps=144 q=1.6 size=  371783kB time=00:14:55.19 bitrate=3402.2kbits/s    
frame=21510 fps=144 q=2.0 size=  372810kB time=00:14:57.75 bitrate=3401.9kbits/s    
frame=21595 fps=144 q=2.0 size=  374355kB time=00:15:01.30 bitrate=3402.5kbits/s    
frame=21690 fps=144 q=2.0 size=  376340kB time=00:15:05.27 bitrate=3405.6kbits/s    
frame=21745 fps=144 q=2.0 size=  377422kB time=00:15:07.54 bitrate=3406.8kbits/s    
frame=21859 fps=144 q=2.0 size=  379036kB time=00:15:12.31 bitrate=3403.5kbits/s    
frame=21967 fps=144 q=2.0 size=  380483kB time=00:15:16.79 bitrate=3399.8kbits/s    
frame=22078 fps=144 q=2.0 size=  382036kB time=00:15:21.43 bitrate=3396.5kbits/s    
frame=22152 fps=144 q=2.0 size=  383361kB time=00:15:24.53 bitrate=3396.8kbits/s    
frame=22232 fps=144 q=2.0 size=  384618kB time=00:15:27.86 bitrate=3395.7kbits/s    
frame=22337 fps=144 q=1.6 size=  386129kB time=00:15:32.25 bitrate=3393.0kbits/s    
frame=22433 fps=145 q=1.6 size=  387657kB time=00:15:36.25 bitrate=3391.9kbits/s    
frame=22553 fps=145 q=1.6 size=  389186kB time=00:15:41.27 bitrate=3387.1kbits/s    
frame=22666 fps=145 q=2.0 size=  390614kB time=00:15:45.97 bitrate=3382.6kbits/s    
frame=22716 fps=145 q=2.0 size=  391427kB time=00:15:48.09 bitrate=3382.1kbits/s    
frame=22851 fps=145 q=2.0 size=  393023kB time=00:15:53.69 bitrate=3376.0kbits/s    
frame=22951 fps=145 q=2.0 size=  394310kB time=00:15:57.85 bitrate=3372.3kbits/s    
frame=23035 fps=145 q=2.0 size=  395328kB time=00:16:01.33 bitrate=3368.8kbits/s    
frame=23130 fps=146 q=2.0 size=  396495kB time=00:16:05.30 bitrate=3364.8kbits/s    
frame=23266 fps=146 q=2.0 size=  398136kB time=00:16:11.00 bitrate=3358.9kbits/s    
frame=23345 fps=146 q=1.6 size=  399106kB time=00:16:14.29 bitrate=3355.7kbits/s    
frame=23443 fps=146 q=2.0 size=  400372kB time=00:16:18.36 bitrate=3352.4kbits/s    
frame=23519 fps=146 q=2.0 size=  401407kB time=00:16:21.53 bitrate=3350.2kbits/s    
frame=23612 fps=146 q=2.0 size=  402533kB time=00:16:25.40 bitrate=3346.4kbits/s    
frame=23723 fps=146 q=2.0 size=  404033kB time=00:16:30.04 bitrate=3343.1kbits/s    
frame=23833 fps=147 q=2.0 size=  405573kB time=00:16:34.65 bitrate=3340.3kbits/s    
frame=23941 fps=147 q=2.0 size=  407104kB time=00:16:39.16 bitrate=3337.8kbits/s    
frame=24035 fps=147 q=2.0 size=  408503kB time=00:16:43.06 bitrate=3336.2kbits/s    
frame=24093 fps=147 q=2.0 size=  409152kB time=00:16:45.49 bitrate=3333.4kbits/s    
frame=24181 fps=147 q=2.0 size=  410456kB time=00:16:49.14 bitrate=3332.0kbits/s    
frame=24259 fps=147 q=2.0 size=  411722kB time=00:16:52.41 bitrate=3331.5kbits/s    
frame=24381 fps=147 q=2.0 size=  413424kB time=00:16:57.49 bitrate=3328.5kbits/s    
frame=24473 fps=147 q=1.6 size=  414798kB time=00:17:01.33 bitrate=3327.0kbits/s    
frame=24556 fps=147 q=2.0 size=  416327kB time=00:17:04.79 bitrate=3328.0kbits/s    
frame=24599 fps=147 q=2.0 size=  417445kB time=00:17:06.58 bitrate=3331.1kbits/s    
frame=24661 fps=147 q=2.0 size=  418900kB time=00:17:09.17 bitrate=3334.3kbits/s    
frame=24751 fps=147 q=2.0 size=  420567kB time=00:17:12.92 bitrate=3335.5kbits/s    
frame=24819 fps=147 q=2.0 size=  421897kB time=00:17:15.77 bitrate=3336.8kbits/s    
frame=24880 fps=147 q=2.0 size=  423512kB time=00:17:18.33 bitrate=3341.3kbits/s    
frame=24934 fps=146 q=2.0 size=  425046kB time=00:17:20.53 bitrate=3346.3kbits/s    
frame=25007 fps=146 q=2.0 size=  426592kB time=00:17:23.61 bitrate=3348.6kbits/s    
frame=25060 fps=146 q=2.0 size=  427740kB time=00:17:25.81 bitrate=3350.5kbits/s    
frame=25125 fps=146 q=2.0 size=  429135kB time=00:17:28.50 bitrate=3352.8kbits/s    
frame=25187 fps=146 q=2.0 size=  430729kB time=00:17:31.09 bitrate=3357.0kbits/s    
frame=25253 fps=146 q=1.6 size=  432225kB time=00:17:33.88 bitrate=3359.8kbits/s    
frame=25313 fps=146 q=1.6 size=  433773kB time=00:17:36.37 bitrate=3363.8kbits/s    
frame=25370 fps=146 q=2.0 size=  435279kB time=00:17:38.74 bitrate=3367.9kbits/s    
frame=25439 fps=145 q=2.0 size=  436811kB time=00:17:41.62 bitrate=3370.6kbits/s    
frame=25535 fps=146 q=2.0 size=  438339kB time=00:17:45.62 bitrate=3369.7kbits/s    
frame=25636 fps=146 q=2.0 size=  439876kB time=00:17:49.81 bitrate=3368.3kbits/s    
frame=25739 fps=146 q=2.0 size=  441427kB time=00:17:54.13 bitrate=3366.6kbits/s    
frame=25827 fps=146 q=2.0 size=  442965kB time=00:17:57.78 bitrate=3366.9kbits/s    
frame=25889 fps=146 q=1.6 size=  444495kB time=00:18:00.37 bitrate=3370.4kbits/s    
frame=25947 fps=146 q=2.0 size=  446042kB time=00:18:02.81 bitrate=3374.5kbits/s    
frame=25992 fps=145 q=2.0 size=  447048kB time=00:18:04.69 bitrate=3376.3kbits/s    
frame=26081 fps=146 q=1.6 size=  448590kB time=00:18:08.37 bitrate=3376.4kbits/s    
frame=26150 fps=146 q=2.0 size=  449607kB time=00:18:11.29 bitrate=3375.1kbits/s    
frame=26249 fps=146 q=1.6 size=  451167kB time=00:18:15.41 bitrate=3374.0kbits/s    
frame=26315 fps=146 q=2.0 size=  452188kB time=00:18:18.13 bitrate=3373.3kbits/s    
frame=26394 fps=146 q=2.0 size=  453325kB time=00:18:21.46 bitrate=3371.5kbits/s    
frame=26498 fps=146 q=2.0 size=  454807kB time=00:18:25.78 bitrate=3369.3kbits/s    
frame=26606 fps=146 q=2.0 size=  456340kB time=00:18:30.29 bitrate=3367.0kbits/s    
frame=26705 fps=146 q=1.6 size=  457801kB time=00:18:34.42 bitrate=3365.2kbits/s    
frame=26797 fps=146 q=2.0 size=  459341kB time=00:18:38.26 bitrate=3365.0kbits/s    
frame=26867 fps=146 q=2.0 size=  461086kB time=00:18:41.17 bitrate=3369.0kbits/s    
frame=26918 fps=146 q=2.0 size=  462425kB time=00:18:43.29 bitrate=3372.4kbits/s    
frame=26998 fps=146 q=2.0 size=  464219kB time=00:18:46.65 bitrate=3375.4kbits/s    
frame=27076 fps=146 q=2.0 size=  465429kB time=00:18:49.91 bitrate=3374.4kbits/s    
frame=27132 fps=146 q=2.0 size=  466500kB time=00:18:52.21 bitrate=3375.3kbits/s    
frame=27222 fps=146 q=2.0 size=  468046kB time=00:18:55.99 bitrate=3375.2kbits/s    
frame=27306 fps=146 q=2.0 size=  469545kB time=00:18:59.51 bitrate=3375.6kbits/s    
frame=27413 fps=146 q=1.6 size=  471114kB time=00:19:03.96 bitrate=3373.7kbits/s    
frame=27518 fps=146 q=2.0 size=  472669kB time=00:19:08.34 bitrate=3371.9kbits/s    
frame=27592 fps=146 q=2.0 size=  474187kB time=00:19:11.41 bitrate=3373.7kbits/s    
frame=27682 fps=146 q=2.0 size=  475721kB time=00:19:15.16 bitrate=3373.6kbits/s    
frame=27778 fps=146 q=2.0 size=  477268kB time=00:19:19.19 bitrate=3372.8kbits/s    
frame=27869 fps=146 q=1.6 size=  478816kB time=00:19:22.97 bitrate=3372.8kbits/s    
frame=27961 fps=146 q=2.0 size=  480328kB time=00:19:26.81 bitrate=3372.3kbits/s    
frame=28030 fps=146 q=2.0 size=  481358kB time=00:19:29.69 bitrate=3371.2kbits/s    
frame=28098 fps=146 q=2.0 size=  482387kB time=00:19:32.53 bitrate=3370.2kbits/s    
frame=28172 fps=146 q=2.0 size=  483909kB time=00:19:35.61 bitrate=3372.0kbits/s    
frame=28215 fps=146 q=2.0 size=  485021kB time=00:19:37.40 bitrate=3374.6kbits/s    
frame=28247 fps=146 q=2.0 size=  485966kB time=00:19:38.74 bitrate=3377.3kbits/s    
frame=28302 fps=146 q=2.0 size=  487517kB time=00:19:41.05 bitrate=3381.5kbits/s    
frame=28349 fps=145 q=1.6 size=  488737kB time=00:19:43.00 bitrate=3384.4kbits/s    
frame=28414 fps=145 q=2.0 size=  490288kB time=00:19:45.69 bitrate=3387.4kbits/s    
frame=28513 fps=145 q=2.0 size=  491997kB time=00:19:49.81 bitrate=3387.4kbits/s    
frame=28585 fps=145 q=2.0 size=  493122kB time=00:19:52.82 bitrate=3386.6kbits/s    
frame=28690 fps=146 q=2.0 size=  494517kB time=00:19:57.21 bitrate=3383.8kbits/s    
frame=28771 fps=145 q=2.0 size=  495695kB time=00:20:00.60 bitrate=3382.2kbits/s    
frame=28878 fps=146 q=2.0 size=  497231kB time=00:20:05.08 bitrate=3380.1kbits/s    
frame=28987 fps=146 q=2.0 size=  498767kB time=00:20:09.59 bitrate=3377.9kbits/s    
frame=29063 fps=146 q=2.0 size=  499857kB time=00:20:12.76 bitrate=3376.4kbits/s    
frame=29158 fps=146 q=2.0 size=  501308kB time=00:20:16.73 bitrate=3375.2kbits/s    
frame=29271 fps=146 q=2.0 size=  502851kB time=00:20:21.46 bitrate=3372.5kbits/s    
frame=29345 fps=146 q=1.6 size=  503873kB time=00:20:24.53 bitrate=3370.8kbits/s    
frame=29440 fps=146 q=2.0 size=  505445kB time=00:20:28.50 bitrate=3370.4kbits/s    
frame=29523 fps=146 q=2.0 size=  506946kB time=00:20:31.96 bitrate=3371.0kbits/s    
frame=29598 fps=146 q=2.0 size=  508497kB time=00:20:35.09 bitrate=3372.7kbits/s    
frame=29711 fps=146 q=2.0 size=  510018kB time=00:20:39.80 bitrate=3369.9kbits/s    
frame=29758 fps=146 q=2.0 size=  511056kB time=00:20:41.75 bitrate=3371.5kbits/s    
frame=29823 fps=146 q=2.0 size=  512599kB time=00:20:44.47 bitrate=3374.3kbits/s    
frame=29920 fps=146 q=2.0 size=  514119kB time=00:20:48.50 bitrate=3373.4kbits/s    
frame=29993 fps=146 q=1.6 size=  515677kB time=00:20:51.54 bitrate=3375.4kbits/s    
frame=30065 fps=146 q=1.6 size=  517269kB time=00:20:54.55 bitrate=3377.7kbits/s    
frame=30137 fps=146 q=1.6 size=  518761kB time=00:20:57.56 bitrate=3379.3kbits/s    
frame=30232 fps=146 q=2.0 size=  520255kB time=00:21:01.53 bitrate=3378.4kbits/s    
frame=30305 fps=146 q=1.6 size=  521822kB time=00:21:04.57 bitrate=3380.4kbits/s    
frame=30378 fps=146 q=2.0 size=  523342kB time=00:21:07.61 bitrate=3382.1kbits/s    
frame=30431 fps=146 q=2.0 size=  524426kB time=00:21:09.81 bitrate=3383.2kbits/s    
frame=30504 fps=146 q=2.0 size=  525930kB time=00:21:12.85 bitrate=3384.8kbits/s    
frame=30551 fps=145 q=2.0 size=  526935kB time=00:21:14.84 bitrate=3386.0kbits/s    
frame=30625 fps=145 q=2.0 size=  528468kB time=00:21:17.94 bitrate=3387.6kbits/s    
frame=30693 fps=145 q=2.0 size=  529998kB time=00:21:20.76 bitrate=3390.0kbits/s    
frame=30778 fps=145 q=2.0 size=  531521kB time=00:21:24.28 bitrate=3390.4kbits/s    
frame=30854 fps=145 q=2.0 size=  533071kB time=00:21:27.48 bitrate=3391.8kbits/s    
frame=30923 fps=145 q=2.0 size=  534602kB time=00:21:30.33 bitrate=3394.1kbits/s    
frame=30974 fps=145 q=2.0 size=  535789kB time=00:21:32.50 bitrate=3395.9kbits/s    
frame=31028 fps=145 q=2.0 size=  537153kB time=00:21:34.74 bitrate=3398.6kbits/s    
frame=31110 fps=145 q=2.0 size=  538716kB time=00:21:38.13 bitrate=3399.6kbits/s    
frame=31177 fps=145 q=2.0 size=  540033kB time=00:21:40.95 bitrate=3400.5kbits/s    
frame=31209 fps=145 q=1.6 size=  540774kB time=00:21:42.26 bitrate=3401.8kbits/s    
frame=31256 fps=145 q=2.0 size=  541801kB time=00:21:44.25 bitrate=3403.1kbits/s    
frame=31300 fps=144 q=2.0 size=  543359kB time=00:21:46.07 bitrate=3408.1kbits/s    
frame=31328 fps=144 q=2.0 size=  544837kB time=00:21:47.22 bitrate=3414.3kbits/s    
frame=31357 fps=144 q=2.0 size=  546402kB time=00:21:48.47 bitrate=3420.9kbits/s    
frame=31393 fps=144 q=2.0 size=  547415kB time=00:21:49.94 bitrate=3423.4kbits/s    
frame=31461 fps=144 q=1.6 size=  548936kB time=00:21:52.79 bitrate=3425.4kbits/s    
frame=31545 fps=144 q=1.6 size=  550422kB time=00:21:56.31 bitrate=3425.5kbits/s    
frame=31600 fps=144 q=2.0 size=  551647kB time=00:21:58.58 bitrate=3427.2kbits/s    
frame=31650 fps=144 q=2.0 size=  552693kB time=00:22:00.66 bitrate=3428.3kbits/s    
frame=31713 fps=143 q=1.6 size=  554041kB time=00:22:03.29 bitrate=3429.9kbits/s    
frame=31785 fps=143 q=1.6 size=  555518kB time=00:22:06.29 bitrate=3431.2kbits/s    
frame=31871 fps=144 q=2.0 size=  556988kB time=00:22:09.88 bitrate=3431.0kbits/s    
frame=31941 fps=144 q=1.6 size=  558185kB time=00:22:12.82 bitrate=3430.8kbits/s    
frame=32021 fps=144 q=2.0 size=  559698kB time=00:22:16.15 bitrate=3431.5kbits/s    
frame=32071 fps=143 q=2.0 size=  560724kB time=00:22:18.23 bitrate=3432.5kbits/s    
frame=32145 fps=143 q=1.6 size=  562269kB time=00:22:21.30 bitrate=3434.0kbits/s    
frame=32227 fps=143 q=2.0 size=  564006kB time=00:22:24.76 bitrate=3435.8kbits/s    
frame=32299 fps=143 q=2.0 size=  565331kB time=00:22:27.73 bitrate=3436.3kbits/s    
frame=32375 fps=143 q=2.0 size=  566992kB time=00:22:30.90 bitrate=3438.3kbits/s    
frame=32429 fps=143 q=2.0 size=  568404kB time=00:22:33.17 bitrate=3441.1kbits/s    
frame=32473 fps=143 q=2.0 size=  569585kB time=00:22:35.00 bitrate=3443.6kbits/s    
frame=32556 fps=143 q=2.0 size=  570997kB time=00:22:38.45 bitrate=3443.3kbits/s    
frame=32649 fps=143 q=1.6 size=  572506kB time=00:22:42.33 bitrate=3442.6kbits/s    
frame=32739 fps=143 q=2.0 size=  573871kB time=00:22:46.07 bitrate=3441.4kbits/s    
frame=32804 fps=143 q=2.0 size=  575048kB time=00:22:48.79 bitrate=3441.6kbits/s    
frame=32899 fps=143 q=2.0 size=  576685kB time=00:22:52.76 bitrate=3441.4kbits/s    
frame=32976 fps=143 q=2.0 size=  577904kB time=00:22:55.96 bitrate=3440.6kbits/s    
frame=33090 fps=143 q=2.0 size=  579660kB time=00:23:00.73 bitrate=3439.2kbits/s    
frame=33175 fps=143 q=2.0 size=  581182kB time=00:23:04.28 bitrate=3439.4kbits/s    
frame=33268 fps=143 q=2.0 size=  582730kB time=00:23:08.15 bitrate=3438.9kbits/s    
frame=33346 fps=143 q=1.6 size=  583790kB time=00:23:11.41 bitrate=3437.1kbits/s    
frame=33446 fps=143 q=2.0 size=  585281kB time=00:23:15.57 bitrate=3435.6kbits/s    
frame=33542 fps=144 q=2.0 size=  586388kB time=00:23:19.57 bitrate=3432.2kbits/s    
frame=33645 fps=144 q=2.0 size=  587891kB time=00:23:23.89 bitrate=3430.4kbits/s    
frame=33685 fps=144 q=2.0 size=  588925kB time=00:23:25.53 bitrate=3432.5kbits/s    
frame=33731 fps=143 q=2.0 size=  590208kB time=00:23:27.45 bitrate=3435.3kbits/s    
frame=33797 fps=143 q=2.0 size=  591696kB time=00:23:30.23 bitrate=3437.1kbits/s    
frame=33873 fps=143 q=2.0 size=  593206kB time=00:23:33.40 bitrate=3438.2kbits/s    
frame=33945 fps=143 q=2.0 size=  594536kB time=00:23:36.37 bitrate=3438.7kbits/s    
frame=34029 fps=144 q=2.0 size=  596051kB time=00:23:39.89 bitrate=3438.9kbits/s    
frame=34097 fps=143 q=2.0 size=  597262kB time=00:23:42.71 bitrate=3439.0kbits/s    
frame=34211 fps=144 q=2.0 size=  598970kB time=00:23:47.48 bitrate=3437.4kbits/s    
frame=34294 fps=144 q=1.6 size=  600468kB time=00:23:50.97 bitrate=3437.6kbits/s    
frame=34358 fps=144 q=2.0 size=  601679kB time=00:23:53.62 bitrate=3438.1kbits/s    
frame=34435 fps=144 q=2.0 size=  603203kB time=00:23:56.82 bitrate=3439.1kbits/s    
frame=34518 fps=144 q=2.0 size=  604749kB time=00:24:00.28 bitrate=3439.7kbits/s    
frame=34577 fps=144 q=2.0 size=  605782kB time=00:24:02.77 bitrate=3439.6kbits/s    
frame=34654 fps=144 q=1.6 size=  607335kB time=00:24:05.94 bitrate=3440.9kbits/s    
frame=34738 fps=144 q=1.6 size=  608838kB time=00:24:09.46 bitrate=3441.0kbits/s    
frame=34840 fps=144 q=2.0 size=  610466kB time=00:24:13.72 bitrate=3440.1kbits/s    
frame=34908 fps=144 q=2.0 size=  611554kB time=00:24:16.57 bitrate=3439.5kbits/s    
frame=35002 fps=144 q=1.6 size=  613050kB time=00:24:20.50 bitrate=3438.6kbits/s    
frame=35091 fps=144 q=2.0 size=  614485kB time=00:24:24.18 bitrate=3438.0kbits/s    
frame=35157 fps=144 q=2.0 size=  615530kB time=00:24:26.90 bitrate=3437.5kbits/s    
frame=35249 fps=144 q=2.0 size=  617023kB time=00:24:30.77 bitrate=3436.7kbits/s    
frame=35343 fps=144 q=2.0 size=  618583kB time=00:24:34.71 bitrate=3436.2kbits/s    
frame=35432 fps=144 q=2.0 size=  620084kB time=00:24:38.39 bitrate=3436.0kbits/s    
frame=35489 fps=144 q=2.0 size=  621126kB time=00:24:40.79 bitrate=3436.2kbits/s    
frame=35548 fps=144 q=2.0 size=  622342kB time=00:24:43.25 bitrate=3437.2kbits/s    
frame=35605 fps=144 q=2.0 size=  623437kB time=00:24:45.62 bitrate=3437.7kbits/s    
frame=35689 fps=144 q=2.0 size=  624715kB time=00:24:49.14 bitrate=3436.6kbits/s    
frame=35782 fps=144 q=1.6 size=  625947kB time=00:24:53.01 bitrate=3434.5kbits/s    
frame=35864 fps=144 q=2.0 size=  627114kB time=00:24:56.44 bitrate=3433.0kbits/s    
frame=35944 fps=144 q=2.0 size=  628669kB time=00:24:59.77 bitrate=3433.9kbits/s    
frame=35981 fps=144 q=2.0 size=  629378kB time=00:25:01.30 bitrate=3434.3kbits/s    
frame=36042 fps=144 q=2.0 size=  630583kB time=00:25:03.83 bitrate=3435.0kbits/s    
frame=36110 fps=144 q=2.0 size=  631903kB time=00:25:06.71 bitrate=3435.7kbits/s    
frame=36194 fps=144 q=2.0 size=  633432kB time=00:25:10.20 bitrate=3436.0kbits/s    
frame=36275 fps=144 q=2.0 size=  634606kB time=00:25:13.56 bitrate=3434.7kbits/s    
frame=36377 fps=144 q=2.0 size=  636016kB time=00:25:17.85 bitrate=3432.6kbits/s    
frame=36500 fps=144 q=2.0 size=  637518kB time=00:25:22.93 bitrate=3429.3kbits/s    
frame=36603 fps=144 q=2.0 size=  639072kB time=00:25:27.25 bitrate=3427.9kbits/s    
frame=36698 fps=144 q=2.0 size=  640584kB time=00:25:31.19 bitrate=3427.2kbits/s    
frame=36796 fps=144 q=2.0 size=  642115kB time=00:25:35.32 bitrate=3426.1kbits/s    
frame=36908 fps=145 q=2.0 size=  643921kB time=00:25:39.96 bitrate=3425.4kbits/s    
frame=36973 fps=144 q=2.0 size=  644948kB time=00:25:42.65 bitrate=3424.9kbits/s    
frame=37088 fps=145 q=2.0 size=  646727kB time=00:25:47.48 bitrate=3423.6kbits/s    
frame=37186 fps=145 q=1.6 size=  648276kB time=00:25:51.57 bitrate=3422.8kbits/s    
frame=37258 fps=145 q=1.6 size=  649300kB time=00:25:54.58 bitrate=3421.5kbits/s    
frame=37354 fps=145 q=1.6 size=  650496kB time=00:25:58.58 bitrate=3419.0kbits/s    
frame=37510 fps=145 q=1.6 size=  652320kB time=00:26:05.08 bitrate=3414.4kbits/s    
frame=37606 fps=145 q=1.6 size=  653382kB time=00:26:09.08 bitrate=3411.2kbits/s    
frame=37734 fps=145 q=2.0 size=  654815kB time=00:26:14.42 bitrate=3407.1kbits/s    
frame=37829 fps=145 q=2.0 size=  655950kB time=00:26:18.39 bitrate=3404.4kbits/s    
frame=37966 fps=146 q=1.6 size=  657470kB time=00:26:24.09 bitrate=3400.1kbits/s    
frame=38089 fps=146 q=2.0 size=  658934kB time=00:26:29.24 bitrate=3396.6kbits/s    
frame=38184 fps=146 q=2.0 size=  660107kB time=00:26:33.21 bitrate=3394.2kbits/s    
frame=38299 fps=146 q=2.0 size=  661562kB time=00:26:38.01 bitrate=3391.4kbits/s    
frame=38402 fps=146 q=2.0 size=  663174kB time=00:26:42.26 bitrate=3390.6kbits/s    
frame=38529 fps=146 q=2.0 size=  664637kB time=00:26:47.57 bitrate=3386.9kbits/s    
frame=38635 fps=146 q=2.0 size=  666115kB time=00:26:52.02 bitrate=3385.1kbits/s    
frame=38758 fps=146 q=1.6 size=  667719kB time=00:26:57.11 bitrate=3382.5kbits/s    
frame=38876 fps=147 q=2.0 size=  669285kB time=00:27:02.04 bitrate=3380.2kbits/s    
frame=38993 fps=147 q=2.0 size=  670628kB time=00:27:06.93 bitrate=3376.8kbits/s    
frame=39081 fps=147 q=2.0 size=  671818kB time=00:27:10.61 bitrate=3375.1kbits/s    
frame=39185 fps=147 q=2.0 size=  673681kB time=00:27:14.97 bitrate=3375.5kbits/s    
frame=39228 fps=147 q=2.0 size=  674456kB time=00:27:16.73 bitrate=3375.7kbits/s    
frame=39319 fps=147 q=2.0 size=  675913kB time=00:27:20.53 bitrate=3375.2kbits/s    
frame=39424 fps=147 q=2.0 size=  677449kB time=00:27:24.92 bitrate=3373.8kbits/s    
frame=39530 fps=147 q=2.0 size=  679005kB time=00:27:29.33 bitrate=3372.5kbits/s    
frame=39599 fps=147 q=2.0 size=  680004kB time=00:27:32.21 bitrate=3371.6kbits/s    
frame=39703 fps=147 q=2.0 size=  681539kB time=00:27:36.57 bitrate=3370.3kbits/s    
frame=39790 fps=147 q=1.6 size=  683081kB time=00:27:40.18 bitrate=3370.6kbits/s    
frame=39861 fps=147 q=2.0 size=  684624kB time=00:27:43.13 bitrate=3372.2kbits/s    
frame=39957 fps=147 q=2.0 size=  686154kB time=00:27:47.13 bitrate=3371.6kbits/s    
frame=40078 fps=147 q=1.6 size=  687748kB time=00:27:52.18 bitrate=3369.3kbits/s    
frame=40158 fps=147 q=2.0 size=  688713kB time=00:27:55.51 bitrate=3367.3kbits/s    
frame=40257 fps=147 q=2.0 size=  690053kB time=00:27:59.64 bitrate=3365.5kbits/s    
frame=40361 fps=147 q=2.0 size=  691261kB time=00:28:03.99 bitrate=3362.7kbits/s    
frame=40495 fps=148 q=2.0 size=  692804kB time=00:28:09.56 bitrate=3359.1kbits/s    
frame=40584 fps=148 q=2.0 size=  693816kB time=00:28:13.30 bitrate=3356.6kbits/s    
frame=40724 fps=148 q=2.0 size=  695443kB time=00:28:19.16 bitrate=3352.9kbits/s    
frame=40851 fps=148 q=2.0 size=  696924kB time=00:28:24.44 bitrate=3349.6kbits/s    
frame=40955 fps=148 q=2.0 size=  698495kB time=00:28:28.79 bitrate=3348.6kbits/s    
frame=41073 fps=148 q=2.0 size=  699981kB time=00:28:33.69 bitrate=3346.1kbits/s    
frame=41151 fps=148 q=2.0 size=  700973kB time=00:28:36.95 bitrate=3344.5kbits/s    
frame=41249 fps=148 q=2.0 size=  702178kB time=00:28:41.01 bitrate=3342.3kbits/s    
frame=41346 fps=148 q=2.0 size=  703324kB time=00:28:45.05 bitrate=3340.0kbits/s    
frame=41480 fps=149 q=2.0 size=  704794kB time=00:28:50.68 bitrate=3336.1kbits/s    
frame=41575 fps=149 q=2.0 size=  705961kB time=00:28:54.61 bitrate=3334.0kbits/s    
frame=41671 fps=149 q=2.0 size=  707643kB time=00:28:58.65 bitrate=3334.2kbits/s    
frame=41786 fps=149 q=2.0 size=  709335kB time=00:29:03.45 bitrate=3333.0kbits/s    
frame=41896 fps=149 q=2.0 size=  710867kB time=00:29:08.02 bitrate=3331.4kbits/s    
frame=42007 fps=149 q=1.6 size=  712393kB time=00:29:12.66 bitrate=3329.7kbits/s    
frame=42136 fps=149 q=2.0 size=  714279kB time=00:29:18.04 bitrate=3328.3kbits/s    
frame=42213 fps=149 q=2.0 size=  715860kB time=00:29:21.24 bitrate=3329.7kbits/s    
frame=42279 fps=149 q=2.0 size=  717473kB time=00:29:23.99 bitrate=3331.9kbits/s    
frame=42330 fps=149 q=2.0 size=  718625kB time=00:29:26.10 bitrate=3333.3kbits/s    
frame=42386 fps=149 q=2.0 size=  719946kB time=00:29:28.44 bitrate=3335.0kbits/s    
frame=42499 fps=149 q=1.6 size=  721698kB time=00:29:33.17 bitrate=3334.2kbits/s    
frame=42592 fps=149 q=2.0 size=  723018kB time=00:29:37.05 bitrate=3333.0kbits/s    
frame=42694 fps=149 q=2.0 size=  724541kB time=00:29:41.30 bitrate=3332.1kbits/s    
frame=42804 fps=149 q=2.0 size=  726092kB time=00:29:45.88 bitrate=3330.6kbits/s    
frame=42891 fps=149 q=2.0 size=  727377kB time=00:29:49.53 bitrate=3329.7kbits/s    
frame=42965 fps=149 q=2.0 size=  728536kB time=00:29:52.60 bitrate=3329.3kbits/s    
frame=43045 fps=150 q=2.0 size=  729823kB time=00:29:55.96 bitrate=3329.0kbits/s    
frame=43172 fps=150 q=2.0 size=  731712kB time=00:30:01.24 bitrate=3327.8kbits/s    
frame=43274 fps=150 q=2.0 size=  733293kB time=00:30:05.49 bitrate=3327.1kbits/s    
frame=43394 fps=150 q=2.0 size=  734782kB time=00:30:10.49 bitrate=3324.7kbits/s    
frame=43471 fps=150 q=1.6 size=  735813kB time=00:30:13.72 bitrate=3323.4kbits/s    
frame=43590 fps=150 q=2.0 size=  737342kB time=00:30:18.68 bitrate=3321.3kbits/s    
frame=43671 fps=150 q=2.0 size=  738397kB time=00:30:22.07 bitrate=3319.8kbits/s    
frame=43790 fps=150 q=2.0 size=  740055kB time=00:30:27.00 bitrate=3318.3kbits/s    
frame=43892 fps=150 q=2.0 size=  741444kB time=00:30:31.29 bitrate=3316.7kbits/s    
frame=44011 fps=150 q=1.6 size=  742976kB time=00:30:36.21 bitrate=3314.7kbits/s    
frame=44113 fps=150 q=2.0 size=  744515kB time=00:30:40.50 bitrate=3313.8kbits/s    
frame=44194 fps=150 q=2.0 size=  746096kB time=00:30:43.86 bitrate=3314.8kbits/s    
frame=44264 fps=150 q=2.0 size=  747410kB time=00:30:46.77 bitrate=3315.4kbits/s    
frame=44327 fps=150 q=2.0 size=  748619kB time=00:30:49.43 bitrate=3316.0kbits/s    
frame=44402 fps=150 q=2.0 size=  750161kB time=00:30:52.53 bitrate=3317.2kbits/s    
frame=44459 fps=150 q=2.0 size=  751172kB time=00:30:54.90 bitrate=3317.5kbits/s    
frame=44520 fps=150 q=2.0 size=  752276kB time=00:30:57.46 bitrate=3317.8kbits/s    
frame=44603 fps=150 q=2.0 size=  753745kB time=00:31:00.92 bitrate=3318.1kbits/s    
frame=44685 fps=150 q=2.0 size=  755293kB time=00:31:04.34 bitrate=3318.8kbits/s    
frame=44754 fps=150 q=2.0 size=  756809kB time=00:31:07.22 bitrate=3320.3kbits/s    
frame=44822 fps=150 q=2.0 size=  758350kB time=00:31:10.07 bitrate=3322.0kbits/s    
frame=44899 fps=150 q=1.6 size=  759912kB time=00:31:13.27 bitrate=3323.2kbits/s    
frame=44973 fps=150 q=2.0 size=  761420kB time=00:31:16.34 bitrate=3324.3kbits/s    
frame=45050 fps=150 q=2.0 size=  762948kB time=00:31:19.57 bitrate=3325.3kbits/s    
frame=45118 fps=150 q=2.0 size=  764267kB time=00:31:22.39 bitrate=3326.0kbits/s    
frame=45200 fps=150 q=2.0 size=  765808kB time=00:31:25.81 bitrate=3326.7kbits/s    
frame=45259 fps=150 q=1.6 size=  767050kB time=00:31:28.28 bitrate=3327.7kbits/s    
frame=45304 fps=150 q=2.0 size=  768086kB time=00:31:30.13 bitrate=3328.9kbits/s    
frame=45393 fps=150 q=2.0 size=  770123kB time=00:31:33.88 bitrate=3331.2kbits/s    
frame=45486 fps=149 q=2.0 size=  772171kB time=00:31:37.75 bitrate=3333.2kbits/s    
frame=45538 fps=149 q=2.0 size=  773458kB time=00:31:39.93 bitrate=3334.9kbits/s    
frame=45589 fps=149 q=2.0 size=  774740kB time=00:31:42.04 bitrate=3336.8kbits/s    
frame=45654 fps=149 q=2.0 size=  776278kB time=00:31:44.76 bitrate=3338.6kbits/s    
frame=45705 fps=149 q=2.0 size=  777633kB time=00:31:46.87 bitrate=3340.7kbits/s    
frame=45775 fps=149 q=1.6 size=  779342kB time=00:31:49.81 bitrate=3342.9kbits/s    
frame=45840 fps=149 q=2.0 size=  780871kB time=00:31:52.50 bitrate=3344.8kbits/s    
frame=45916 fps=149 q=2.0 size=  782472kB time=00:31:55.67 bitrate=3346.1kbits/s    
frame=45976 fps=149 q=2.0 size=  783461kB time=00:31:58.17 bitrate=3346.0kbits/s    
frame=46103 fps=149 q=2.0 size=  785248kB time=00:32:03.48 bitrate=3344.3kbits/s    
frame=46205 fps=149 q=2.0 size=  786756kB time=00:32:07.73 bitrate=3343.3kbits/s    
frame=46323 fps=149 q=2.0 size=  788547kB time=00:32:12.66 bitrate=3342.4kbits/s    
frame=46420 fps=149 q=2.0 size=  790011kB time=00:32:16.69 bitrate=3341.6kbits/s    
frame=46539 fps=150 q=2.0 size=  791616kB time=00:32:21.69 bitrate=3339.8kbits/s    
frame=46664 fps=150 q=2.0 size=  793443kB time=00:32:26.87 bitrate=3338.6kbits/s    
frame=46785 fps=150 q=2.0 size=  795205kB time=00:32:31.93 bitrate=3337.4kbits/s    
frame=46876 fps=150 q=2.0 size=  796631kB time=00:32:35.70 bitrate=3336.9kbits/s    
frame=46938 fps=150 q=2.0 size=  798406kB time=00:32:38.29 bitrate=3339.9kbits/s    
frame=47001 fps=150 q=2.0 size=  800091kB time=00:32:40.95 bitrate=3342.4kbits/s    
frame=47072 fps=150 q=2.0 size=  801882kB time=00:32:43.89 bitrate=3344.9kbits/s    
frame=47129 fps=150 q=2.0 size=  803316kB time=00:32:46.26 bitrate=3346.8kbits/s    
frame=47171 fps=150 q=2.0 size=  804728kB time=00:32:48.02 bitrate=3349.7kbits/s    
frame=47229 fps=149 q=2.0 size=  806485kB time=00:32:50.45 bitrate=3352.9kbits/s    
frame=47325 fps=150 q=2.0 size=  808118kB time=00:32:54.45 bitrate=3352.9kbits/s    
frame=47428 fps=150 q=2.0 size=  809680kB time=00:32:58.74 bitrate=3352.1kbits/s    
frame=47557 fps=150 q=2.0 size=  811387kB time=00:33:04.12 bitrate=3350.0kbits/s    
frame=47688 fps=150 q=2.0 size=  813128kB time=00:33:09.59 bitrate=3348.0kbits/s    
frame=47809 fps=150 q=2.0 size=  814662kB time=00:33:14.65 bitrate=3345.8kbits/s    
frame=47924 fps=150 q=2.0 size=  816188kB time=00:33:19.45 bitrate=3344.0kbits/s    
frame=48046 fps=150 q=2.0 size=  817877kB time=00:33:24.53 bitrate=3342.4kbits/s    
frame=48153 fps=151 q=2.0 size=  819481kB time=00:33:28.98 bitrate=3341.6kbits/s    
frame=48261 fps=151 q=2.0 size=  820960kB time=00:33:33.49 bitrate=3340.1kbits/s    
frame=48371 fps=151 q=2.0 size=  822343kB time=00:33:38.07 bitrate=3338.1kbits/s    
frame=48494 fps=151 q=2.0 size=  823905kB time=00:33:43.19 bitrate=3336.0kbits/s    
frame=48612 fps=151 q=2.0 size=  825479kB time=00:33:48.12 bitrate=3334.3kbits/s    
frame=48734 fps=151 q=2.0 size=  827022kB time=00:33:53.21 bitrate=3332.2kbits/s    
frame=48867 fps=151 q=2.0 size=  828661kB time=00:33:58.74 bitrate=3329.7kbits/s    
frame=48979 fps=151 q=1.6 size=  830040kB time=00:34:03.45 bitrate=3327.6kbits/s    
frame=49102 fps=151 q=2.0 size=  831567kB time=00:34:08.57 bitrate=3325.3kbits/s    
frame=49223 fps=152 q=2.0 size=  833137kB time=00:34:13.62 bitrate=3323.4kbits/s    
frame=49355 fps=152 q=2.0 size=  834623kB time=00:34:19.09 bitrate=3320.5kbits/s    
frame=49446 fps=152 q=2.0 size=  835724kB time=00:34:22.93 bitrate=3318.7kbits/s    
frame=49546 fps=152 q=2.0 size=  837039kB time=00:34:27.06 bitrate=3317.3kbits/s    
frame=49648 fps=152 q=2.0 size=  838733kB time=00:34:31.35 bitrate=3317.1kbits/s    
frame=49708 fps=152 q=2.0 size=  839746kB time=00:34:33.85 bitrate=3317.1kbits/s    
frame=49835 fps=152 q=2.0 size=  841282kB time=00:34:39.16 bitrate=3314.7kbits/s    
frame=49956 fps=152 q=2.0 size=  842816kB time=00:34:44.18 bitrate=3312.7kbits/s    
frame=50072 fps=152 q=2.0 size=  844354kB time=00:34:49.01 bitrate=3311.1kbits/s    
frame=50195 fps=152 q=2.0 size=  845941kB time=00:34:54.13 bitrate=3309.2kbits/s    
frame=50322 fps=153 q=2.0 size=  847421kB time=00:34:59.45 bitrate=3306.6kbits/s    
frame=50388 fps=152 q=2.0 size=  848963kB time=00:35:02.20 bitrate=3308.3kbits/s    
frame=50468 fps=152 q=2.0 size=  851026kB time=00:35:05.56 bitrate=3311.0kbits/s    
frame=50539 fps=152 q=1.6 size=  852565kB time=00:35:08.50 bitrate=3312.4kbits/s    
frame=50607 fps=152 q=2.0 size=  853976kB time=00:35:11.32 bitrate=3313.5kbits/s    
frame=50659 fps=152 q=1.6 size=  855131kB time=00:35:13.53 bitrate=3314.5kbits/s    
frame=50731 fps=152 q=1.6 size=  856673kB time=00:35:16.50 bitrate=3315.8kbits/s    
frame=50797 fps=152 q=2.0 size=  858184kB time=00:35:19.25 bitrate=3317.3kbits/s    
frame=50863 fps=152 q=1.6 size=  859749kB time=00:35:22.01 bitrate=3319.1kbits/s    
frame=50934 fps=152 q=2.0 size=  861265kB time=00:35:24.95 bitrate=3320.3kbits/s    
frame=51011 fps=152 q=2.0 size=  862626kB time=00:35:28.18 bitrate=3320.5kbits/s    
frame=51103 fps=152 q=1.6 size=  864217kB time=00:35:32.02 bitrate=3320.6kbits/s    
frame=51201 fps=152 q=2.0 size=  865819kB time=00:35:36.09 bitrate=3320.5kbits/s    
frame=51251 fps=152 q=2.0 size=  866894kB time=00:35:38.20 bitrate=3321.3kbits/s    
frame=51319 fps=152 q=1.6 size=  868158kB time=00:35:41.05 bitrate=3321.7kbits/s    
frame=51424 fps=152 q=2.0 size=  870053kB time=00:35:45.40 bitrate=3322.2kbits/s    
frame=51500 fps=152 q=2.0 size=  871502kB time=00:35:48.57 bitrate=3322.8kbits/s    
frame=51586 fps=152 q=2.0 size=  873052kB time=00:35:52.18 bitrate=3323.1kbits/s    
frame=51651 fps=152 q=2.0 size=  874427kB time=00:35:54.90 bitrate=3324.2kbits/s    
frame=51699 fps=152 q=2.0 size=  875377kB time=00:35:56.89 bitrate=3324.7kbits/s    
frame=51791 fps=152 q=2.0 size=  877123kB time=00:36:00.73 bitrate=3325.4kbits/s    
frame=51874 fps=152 q=2.0 size=  879088kB time=00:36:04.18 bitrate=3327.6kbits/s    
frame=51936 fps=152 q=2.0 size=  880272kB time=00:36:06.77 bitrate=3328.1kbits/s    
frame=52005 fps=152 q=2.0 size=  881410kB time=00:36:09.65 bitrate=3327.9kbits/s    
frame=52129 fps=152 q=2.0 size=  883263kB time=00:36:14.81 bitrate=3327.0kbits/s    
frame=52210 fps=152 q=2.0 size=  884567kB time=00:36:18.20 bitrate=3326.8kbits/s    
frame=52338 fps=152 q=2.0 size=  886341kB time=00:36:23.51 bitrate=3325.3kbits/s    
frame=52437 fps=152 q=2.0 size=  888027kB time=00:36:27.64 bitrate=3325.4kbits/s    
frame=52497 fps=152 q=2.0 size=  889388kB time=00:36:30.17 bitrate=3326.6kbits/s    
frame=52594 fps=152 q=2.0 size=  891018kB time=00:36:34.20 bitrate=3326.6kbits/s    
frame=52644 fps=152 q=1.6 size=  892375kB time=00:36:36.28 bitrate=3328.5kbits/s    
frame=52710 fps=152 q=2.0 size=  894028kB time=00:36:39.06 bitrate=3330.4kbits/s    
frame=52786 fps=152 q=2.0 size=  895670kB time=00:36:42.23 bitrate=3331.8kbits/s    
frame=52841 fps=152 q=2.0 size=  896851kB time=00:36:44.53 bitrate=3332.7kbits/s    
frame=52946 fps=152 q=2.0 size=  898705kB time=00:36:48.92 bitrate=3332.9kbits/s    
frame=53030 fps=152 q=2.0 size=  900407kB time=00:36:52.41 bitrate=3334.0kbits/s    
frame=53099 fps=152 q=2.0 size=  902175kB time=00:36:55.29 bitrate=3336.2kbits/s    
frame=53155 fps=152 q=2.0 size=  903527kB time=00:36:57.59 bitrate=3337.7kbits/s    
frame=53251 fps=152 q=2.0 size=  905281kB time=00:37:01.62 bitrate=3338.1kbits/s    
frame=53328 fps=152 q=1.6 size=  906877kB time=00:37:04.82 bitrate=3339.2kbits/s    
frame=53383 fps=152 q=2.0 size=  908362kB time=00:37:07.09 bitrate=3341.3kbits/s    
frame=53466 fps=152 q=2.0 size=  909957kB time=00:37:10.58 bitrate=3341.9kbits/s    
frame=53559 fps=152 q=2.0 size=  911424kB time=00:37:14.45 bitrate=3341.5kbits/s    
frame=53664 fps=152 q=2.0 size=  913250kB time=00:37:18.84 bitrate=3341.6kbits/s    
frame=53715 fps=152 q=2.0 size=  914602kB time=00:37:20.95 bitrate=3343.4kbits/s    
frame=53774 fps=152 q=2.0 size=  916131kB time=00:37:23.41 bitrate=3345.3kbits/s    
frame=53837 fps=152 q=1.6 size=  917816kB time=00:37:26.04 bitrate=3347.6kbits/s    
frame=53904 fps=152 q=2.0 size=  919637kB time=00:37:28.85 bitrate=3350.0kbits/s    
frame=53966 fps=152 q=2.0 size=  921196kB time=00:37:31.45 bitrate=3351.8kbits/s    
frame=54049 fps=152 q=2.0 size=  923212kB time=00:37:34.90 bitrate=3354.0kbits/s    
frame=54113 fps=152 q=1.6 size=  924765kB time=00:37:37.56 bitrate=3355.7kbits/s    
frame=54238 fps=152 q=2.0 size=  926277kB time=00:37:42.81 bitrate=3353.4kbits/s    
frame=54353 fps=152 q=2.0 size=  928037kB time=00:37:47.57 bitrate=3352.7kbits/s    
frame=54449 fps=152 q=2.0 size=  929473kB time=00:37:51.57 bitrate=3352.0kbits/s    
frame=54533 fps=152 q=2.0 size=  930898kB time=00:37:55.09 bitrate=3351.9kbits/s    
frame=54639 fps=152 q=2.0 size=  932286kB time=00:37:59.51 bitrate=3350.4kbits/s    
frame=54761 fps=153 q=2.0 size=  934276kB time=00:38:04.60 bitrate=3350.1kbits/s    
frame=54823 fps=153 q=2.0 size=  935659kB time=00:38:07.19 bitrate=3351.2kbits/s    
frame=54896 fps=152 q=2.0 size=  937548kB time=00:38:10.23 bitrate=3353.5kbits/s    
frame=54961 fps=152 q=2.0 size=  939089kB time=00:38:12.95 bitrate=3355.1kbits/s    
frame=55033 fps=152 q=2.0 size=  940827kB time=00:38:15.93 bitrate=3356.9kbits/s    
frame=55085 fps=152 q=2.0 size=  942147kB time=00:38:18.13 bitrate=3358.4kbits/s    
frame=55163 fps=152 q=2.0 size=  944060kB time=00:38:21.37 bitrate=3360.5kbits/s    
frame=55242 fps=152 q=2.0 size=  945738kB time=00:38:24.66 bitrate=3361.7kbits/s    
frame=55360 fps=152 q=2.0 size=  947784kB time=00:38:29.56 bitrate=3361.8kbits/s    
frame=55448 fps=152 q=2.0 size=  949647kB time=00:38:33.24 bitrate=3363.0kbits/s    
frame=55492 fps=152 q=2.0 size=  950561kB time=00:38:35.09 bitrate=3363.6kbits/s    
frame=55595 fps=152 q=2.0 size=  952234kB time=00:38:39.38 bitrate=3363.3kbits/s    
frame=55693 fps=152 q=2.0 size=  953928kB time=00:38:43.48 bitrate=3363.3kbits/s    
frame=55779 fps=152 q=2.0 size=  955979kB time=00:38:47.03 bitrate=3365.4kbits/s    
frame=55843 fps=152 q=2.0 size=  957532kB time=00:38:49.72 bitrate=3367.0kbits/s    
frame=55909 fps=152 q=2.0 size=  959249kB time=00:38:52.47 bitrate=3369.0kbits/s    
frame=56010 fps=152 q=2.0 size=  960842kB time=00:38:56.73 bitrate=3368.5kbits/s    
frame=56086 fps=152 q=2.0 size=  962180kB time=00:38:59.86 bitrate=3368.6kbits/s    
frame=56179 fps=152 q=2.0 size=  963938kB time=00:39:03.73 bitrate=3369.2kbits/s    
frame=56242 fps=152 q=2.0 size=  965231kB time=00:39:06.36 bitrate=3370.0kbits/s    
frame=56327 fps=152 q=2.0 size=  967231kB time=00:39:09.91 bitrate=3371.8kbits/s    
frame=56388 fps=152 q=2.0 size=  968774kB time=00:39:12.47 bitrate=3373.6kbits/s    
frame=56486 fps=152 q=2.0 size=  970125kB time=00:39:16.53 bitrate=3372.4kbits/s    
frame=56613 fps=152 q=1.6 size=  971867kB time=00:39:21.85 bitrate=3370.9kbits/s    
frame=56674 fps=152 q=2.0 size=  973242kB time=00:39:24.37 bitrate=3372.0kbits/s    
frame=56765 fps=152 q=2.0 size=  975131kB time=00:39:28.18 bitrate=3373.2kbits/s    
frame=56835 fps=152 q=2.0 size=  976746kB time=00:39:31.09 bitrate=3374.6kbits/s    
frame=56892 fps=152 q=2.0 size=  978083kB time=00:39:33.49 bitrate=3375.8kbits/s    
frame=56970 fps=152 q=2.0 size=  980003kB time=00:39:36.76 bitrate=3377.8kbits/s    
frame=57037 fps=152 q=2.0 size=  981577kB time=00:39:39.54 bitrate=3379.2kbits/s    
frame=57088 fps=152 q=2.0 size=  982846kB time=00:39:41.65 bitrate=3380.6kbits/s    
frame=57147 fps=152 q=2.0 size=  983921kB time=00:39:44.12 bitrate=3380.8kbits/s    
frame=57226 fps=152 q=2.0 size=  985649kB time=00:39:47.41 bitrate=3382.1kbits/s    
frame=57273 fps=152 q=2.0 size=  986697kB time=00:39:49.37 bitrate=3382.9kbits/s    
frame=57374 fps=152 q=2.0 size=  988608kB time=00:39:53.56 bitrate=3383.5kbits/s    
frame=57447 fps=152 q=2.0 size=  990297kB time=00:39:56.63 bitrate=3385.0kbits/s    
frame=57518 fps=152 q=2.0 size=  992035kB time=00:39:59.61 bitrate=3386.7kbits/s    
frame=57596 fps=152 q=2.0 size=  993675kB time=00:40:02.84 bitrate=3387.7kbits/s    
frame=57661 fps=152 q=2.0 size=  994910kB time=00:40:05.56 bitrate=3388.1kbits/s    
frame=57729 fps=152 q=2.0 size=  996751kB time=00:40:08.37 bitrate=3390.4kbits/s    
frame=57800 fps=152 q=2.0 size=  998453kB time=00:40:11.35 bitrate=3392.0kbits/s    
frame=57863 fps=152 q=2.0 size= 1000004kB time=00:40:13.97 bitrate=3393.6kbits/s    
frame=57935 fps=152 q=2.0 size= 1001728kB time=00:40:16.98 bitrate=3395.2kbits/s    
frame=57990 fps=152 q=2.0 size= 1002905kB time=00:40:19.25 bitrate=3396.0kbits/s    
frame=58060 fps=152 q=2.0 size= 1004335kB time=00:40:22.17 bitrate=3396.8kbits/s    
frame=58145 fps=152 q=2.0 size= 1005653kB time=00:40:25.72 bitrate=3396.2kbits/s    
frame=58212 fps=152 q=2.0 size= 1007186kB time=00:40:28.53 bitrate=3397.5kbits/s    
frame=58304 fps=152 q=2.0 size= 1009242kB time=00:40:32.34 bitrate=3399.1kbits/s    
frame=58393 fps=152 q=2.0 size= 1011214kB time=00:40:36.09 bitrate=3400.5kbits/s    
frame=58458 fps=152 q=1.6 size= 1012611kB time=00:40:38.77 bitrate=3401.4kbits/s    
frame=58520 fps=152 q=2.0 size= 1014338kB time=00:40:41.37 bitrate=3403.6kbits/s    
frame=58576 fps=152 q=2.0 size= 1015905kB time=00:40:43.70 bitrate=3405.6kbits/s    
frame=58639 fps=152 q=2.0 size= 1017419kB time=00:40:46.36 bitrate=3407.0kbits/s    
frame=58714 fps=152 q=2.0 size= 1019004kB time=00:40:49.46 bitrate=3408.0kbits/s    
frame=58783 fps=152 q=2.0 size= 1020509kB time=00:40:52.34 bitrate=3409.0kbits/s    
frame=58854 fps=152 q=1.6 size= 1022042kB time=00:40:55.29 bitrate=3410.0kbits/s    
frame=58948 fps=152 q=2.0 size= 1023675kB time=00:40:59.22 bitrate=3410.0kbits/s    
frame=59037 fps=152 q=2.0 size= 1024883kB time=00:41:02.93 bitrate=3408.9kbits/s    
frame=59138 fps=152 q=2.0 size= 1026629kB time=00:41:07.13 bitrate=3408.9kbits/s    
frame=59193 fps=152 q=2.0 size= 1027886kB time=00:41:09.43 bitrate=3409.9kbits/s    
frame=59282 fps=152 q=2.0 size= 1029211kB time=00:41:13.14 bitrate=3409.1kbits/s    
frame=59374 fps=152 q=2.0 size= 1030740kB time=00:41:16.98 bitrate=3408.9kbits/s    
frame=59458 fps=152 q=2.0 size= 1032284kB time=00:41:20.50 bitrate=3409.2kbits/s    
frame=59540 fps=152 q=2.0 size= 1033810kB time=00:41:23.89 bitrate=3409.5kbits/s    
frame=59630 fps=152 q=2.0 size= 1035332kB time=00:41:27.67 bitrate=3409.4kbits/s    
frame=59708 fps=152 q=2.0 size= 1036859kB time=00:41:30.90 bitrate=3410.0kbits/s    
frame=59817 fps=152 q=2.0 size= 1038647kB time=00:41:35.51 bitrate=3409.6kbits/s    
frame=59882 fps=152 q=2.0 size= 1040105kB time=00:41:38.20 bitrate=3410.7kbits/s    
frame=59944 fps=152 q=2.0 size= 1041530kB time=00:41:40.76 bitrate=3411.8kbits/s    
frame=60009 fps=152 q=2.0 size= 1042966kB time=00:41:43.48 bitrate=3412.8kbits/s    
frame=60070 fps=152 q=2.0 size= 1044059kB time=00:41:46.01 bitrate=3413.0kbits/s    
frame=60168 fps=152 q=2.0 size= 1046088kB time=00:41:50.10 bitrate=3414.0kbits/s    
frame=60242 fps=152 q=2.0 size= 1047629kB time=00:41:53.17 bitrate=3414.9kbits/s    
frame=60321 fps=152 q=2.0 size= 1049277kB time=00:41:56.50 bitrate=3415.7kbits/s    
frame=60395 fps=152 q=1.6 size= 1050821kB time=00:41:59.57 bitrate=3416.6kbits/s    
frame=60461 fps=152 q=2.0 size= 1052241kB time=00:42:02.33 bitrate=3417.5kbits/s    
frame=60522 fps=152 q=2.0 size= 1053771kB time=00:42:04.89 bitrate=3419.0kbits/s    
frame=60584 fps=152 q=2.0 size= 1055312kB time=00:42:07.48 bitrate=3420.4kbits/s    
frame=60674 fps=152 q=2.0 size= 1057369kB time=00:42:11.22 bitrate=3422.0kbits/s    
frame=60738 fps=152 q=2.0 size= 1058889kB time=00:42:13.88 bitrate=3423.4kbits/s    
frame=60814 fps=152 q=2.0 size= 1060706kB time=00:42:17.05 bitrate=3425.0kbits/s    
frame=60871 fps=152 q=2.0 size= 1062103kB time=00:42:19.41 bitrate=3426.3kbits/s    
frame=60938 fps=152 q=2.0 size= 1063617kB time=00:42:22.23 bitrate=3427.4kbits/s    
frame=61020 fps=152 q=2.0 size= 1065348kB time=00:42:25.62 bitrate=3428.4kbits/s    
frame=61115 fps=152 q=1.6 size= 1067078kB time=00:42:29.62 bitrate=3428.5kbits/s    
frame=61206 fps=152 q=2.0 size= 1068676kB time=00:42:33.40 bitrate=3428.6kbits/s    
frame=61287 fps=152 q=2.0 size= 1070158kB time=00:42:36.76 bitrate=3428.8kbits/s    
frame=61368 fps=152 q=2.0 size= 1071688kB time=00:42:40.15 bitrate=3429.2kbits/s    
frame=61434 fps=152 q=2.0 size= 1073014kB time=00:42:42.90 bitrate=3429.7kbits/s    
frame=61525 fps=152 q=2.0 size= 1074350kB time=00:42:46.68 bitrate=3429.0kbits/s    
frame=61615 fps=152 q=1.6 size= 1076296kB time=00:42:50.45 bitrate=3430.1kbits/s    
frame=61694 fps=152 q=2.0 size= 1077958kB time=00:42:53.75 bitrate=3431.0kbits/s    
frame=61740 fps=152 q=2.0 size= 1078914kB time=00:42:55.67 bitrate=3431.5kbits/s    
frame=61840 fps=152 q=2.0 size= 1080684kB time=00:42:59.86 bitrate=3431.6kbits/s    
frame=61915 fps=152 q=1.6 size= 1082098kB time=00:43:02.97 bitrate=3431.9kbits/s    
frame=61972 fps=152 q=2.0 size= 1083478kB time=00:43:05.37 bitrate=3433.1kbits/s    
frame=62047 fps=152 q=1.6 size= 1085166kB time=00:43:08.47 bitrate=3434.3kbits/s    
frame=62142 fps=152 q=2.0 size= 1087053kB time=00:43:12.44 bitrate=3435.0kbits/s    
frame=62240 fps=152 q=2.0 size= 1089105kB time=00:43:16.53 bitrate=3436.1kbits/s    
frame=62303 fps=152 q=2.0 size= 1090631kB time=00:43:19.16 bitrate=3437.4kbits/s    
frame=62403 fps=152 q=2.0 size= 1092682kB time=00:43:23.32 bitrate=3438.4kbits/s    
frame=62491 fps=152 q=1.6 size= 1094317kB time=00:43:27.00 bitrate=3438.7kbits/s    
frame=62573 fps=152 q=2.0 size= 1095779kB time=00:43:30.42 bitrate=3438.8kbits/s    
frame=62653 fps=152 q=2.0 size= 1097289kB time=00:43:33.75 bitrate=3439.1kbits/s    
frame=62734 fps=152 q=2.0 size= 1098814kB time=00:43:37.14 bitrate=3439.4kbits/s    
frame=62819 fps=152 q=2.0 size= 1100371kB time=00:43:40.69 bitrate=3439.6kbits/s    
frame=62904 fps=152 q=2.0 size= 1101890kB time=00:43:44.25 bitrate=3439.7kbits/s    
frame=62971 fps=151 q=1.6 size= 1103442kB time=00:43:47.03 bitrate=3440.9kbits/s    
frame=63069 fps=151 q=2.0 size= 1105481kB time=00:43:51.09 bitrate=3441.9kbits/s    
frame=63125 fps=151 q=2.0 size= 1107023kB time=00:43:53.46 bitrate=3443.6kbits/s    
frame=63191 fps=151 q=2.0 size= 1108546kB time=00:43:56.18 bitrate=3444.8kbits/s    
frame=63267 fps=151 q=2.0 size= 1109981kB time=00:43:59.35 bitrate=3445.1kbits/s    
frame=63372 fps=151 q=2.0 size= 1111997kB time=00:44:03.73 bitrate=3445.7kbits/s    
frame=63432 fps=151 q=2.0 size= 1113058kB time=00:44:06.23 bitrate=3445.7kbits/s    
frame=63527 fps=151 q=2.0 size= 1114693kB time=00:44:10.20 bitrate=3445.6kbits/s    
frame=63631 fps=152 q=1.6 size= 1116495kB time=00:44:14.55 bitrate=3445.5kbits/s    
frame=63737 fps=152 q=2.0 size= 1118019kB time=00:44:18.97 bitrate=3444.5kbits/s    
frame=63847 fps=152 q=1.6 size= 1119524kB time=00:44:23.54 bitrate=3443.2kbits/s    
frame=63967 fps=152 q=1.6 size= 1121190kB time=00:44:28.57 bitrate=3441.8kbits/s    
frame=64089 fps=152 q=2.0 size= 1122818kB time=00:44:33.65 bitrate=3440.3kbits/s    
frame=64199 fps=152 q=2.0 size= 1124404kB time=00:44:38.23 bitrate=3439.3kbits/s    
frame=64259 fps=152 q=2.0 size= 1125528kB time=00:44:40.73 bitrate=3439.5kbits/s    
frame=64374 fps=152 q=2.0 size= 1127454kB time=00:44:45.53 bitrate=3439.2kbits/s    
frame=64466 fps=152 q=2.0 size= 1129030kB time=00:44:49.37 bitrate=3439.1kbits/s    
frame=64547 fps=152 q=2.0 size= 1130284kB time=00:44:52.76 bitrate=3438.6kbits/s    
frame=64627 fps=152 q=1.6 size= 1131598kB time=00:44:56.09 bitrate=3438.3kbits/s    
frame=64721 fps=152 q=2.0 size= 1133224kB time=00:44:59.99 bitrate=3438.3kbits/s    
frame=64779 fps=152 q=2.0 size= 1134348kB time=00:45:02.42 bitrate=3438.6kbits/s    
frame=64887 fps=152 q=2.0 size= 1135901kB time=00:45:06.93 bitrate=3437.6kbits/s    
frame=65021 fps=152 q=2.0 size= 1137763kB time=00:45:12.53 bitrate=3436.1kbits/s    
frame=65126 fps=152 q=2.0 size= 1139331kB time=00:45:16.89 bitrate=3435.3kbits/s    
frame=65207 fps=152 q=2.0 size= 1140472kB time=00:45:20.28 bitrate=3434.5kbits/s    
frame=65331 fps=152 q=2.0 size= 1142352kB time=00:45:25.43 bitrate=3433.6kbits/s    
frame=65422 fps=152 q=2.0 size= 1143907kB time=00:45:29.24 bitrate=3433.5kbits/s    
frame=65517 fps=153 q=2.0 size= 1145903kB time=00:45:33.21 bitrate=3434.5kbits/s    
frame=65598 fps=152 q=2.0 size= 1147483kB time=00:45:36.57 bitrate=3435.0kbits/s    
frame=65665 fps=152 q=1.6 size= 1149327kB time=00:45:39.38 bitrate=3437.0kbits/s    
frame=65724 fps=152 q=2.0 size= 1151049kB time=00:45:41.85 bitrate=3439.1kbits/s    
frame=65773 fps=152 q=1.6 size= 1152601kB time=00:45:43.86 bitrate=3441.2kbits/s    
frame=65824 fps=152 q=2.0 size= 1154181kB time=00:45:46.04 bitrate=3443.2kbits/s    
frame=65879 fps=152 q=2.0 size= 1155981kB time=00:45:48.31 bitrate=3445.7kbits/s    
frame=65933 fps=152 q=2.0 size= 1157725kB time=00:45:50.55 bitrate=3448.1kbits/s    
frame=65998 fps=152 q=2.0 size= 1159759kB time=00:45:53.27 bitrate=3450.7kbits/s    
frame=66049 fps=152 q=1.6 size= 1161353kB time=00:45:55.38 bitrate=3452.8kbits/s    
frame=66113 fps=152 q=2.0 size= 1163343kB time=00:45:58.07 bitrate=3455.3kbits/s    
frame=66176 fps=152 q=2.0 size= 1165377kB time=00:46:00.69 bitrate=3458.1kbits/s    
frame=66236 fps=152 q=2.0 size= 1167033kB time=00:46:03.19 bitrate=3459.9kbits/s    
frame=66294 fps=152 q=2.0 size= 1168678kB time=00:46:05.62 bitrate=3461.7kbits/s    
frame=66357 fps=152 q=2.0 size= 1170503kB time=00:46:08.25 bitrate=3463.8kbits/s    
frame=66408 fps=152 q=2.0 size= 1172055kB time=00:46:10.36 bitrate=3465.8kbits/s    
frame=66457 fps=152 q=1.6 size= 1173591kB time=00:46:12.41 bitrate=3467.8kbits/s    
frame=66520 fps=152 q=2.0 size= 1175373kB time=00:46:15.06 bitrate=3469.7kbits/s    
frame=66564 fps=151 q=2.0 size= 1176774kB time=00:46:16.89 bitrate=3471.6kbits/s    
frame=66623 fps=151 q=2.0 size= 1178706kB time=00:46:19.35 bitrate=3474.2kbits/s    
frame=66669 fps=151 q=2.0 size= 1180296kB time=00:46:21.27 bitrate=3476.5kbits/s    
frame=66715 fps=151 q=2.0 size= 1181875kB time=00:46:23.16 bitrate=3478.7kbits/s    
frame=66771 fps=151 q=2.0 size= 1183842kB time=00:46:25.53 bitrate=3481.6kbits/s    
frame=66845 fps=151 q=2.0 size= 1185871kB time=00:46:28.60 bitrate=3483.7kbits/s    
frame=66898 fps=151 q=2.0 size= 1187407kB time=00:46:30.81 bitrate=3485.5kbits/s    
frame=66955 fps=151 q=2.0 size= 1189239kB time=00:46:33.21 bitrate=3487.8kbits/s    
frame=67013 fps=151 q=2.0 size= 1191013kB time=00:46:35.61 bitrate=3490.0kbits/s    
frame=67080 fps=151 q=2.0 size= 1193033kB time=00:46:38.39 bitrate=3492.5kbits/s    
frame=67121 fps=151 q=2.0 Lsize= 1194191kB time=00:46:39.51 bitrate=3494.5kbits/s    
video:942177kB audio:153099kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 9.031110%
INFO:pyTivo.video.video:[29/Jan/2016 19:27:24] Done sending "/video/12 O'Clock High/02/Twelve O'Clock High - s02e01 - Loneliest Place in the World, The.avi" to Other, 1222851640 bytes, 20.88 Mb/s


----------



## mattack

I don't know which version of pytivo I have.. it's possibly old.. (Is there some easy way to update it?)

Issues I've noticed recently:
1) Can I somehow default the list that I get on the Tivo to be in folders sorted by date? Seems like every time I start, it ends up no folders, and I forget by what sort..
2) In the "list of shows" as I see on the Tivo from pytivo, it seems like I'm getting sometimes the mod date of the files on my hard drive.. but the actual file transferred has the correct date in the metadata file..
(I think I said possibly the opposite one time -- since I think I don't ALWAYS get the mod date, but I definitely am not getting the CORRECT date shown on the Tivo..) This makes it hard to find a specific episode that I'm trying to transfer back..

(Long ago, I downloaded a lot of full late night talk show episodes.. It's actually faster to transfer back to the Tivo to skim through/watch semi-interesting segments.. and I've even been using kmttg to download BACK from pause point.. I know, I should just edit the local recordings but the various tools I've used have gotten worse on later versions of OS X.)


----------



## moyekj

In log you posted it IS transcoding to mpeg2 (i.e. behaving as ts=off would):


Code:


Stream mapping:
  Stream #0:0 -> #0:0 (mpeg4 (native) -> mpeg2video (native))
  Stream #0:1 -> #0:1 (mp3 (native) -> ac3 (native))


----------



## Soapm

Here is that same show being transferred to the Premier with ts=on...



Code:


INFO:pyTivo:192.168.0.180 [29/Jan/2016 19:18:52] "GET / HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.180 [29/Jan/2016 19:18:54] "GET /TiVoConnect?Command=Settings&Container=Settings HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:15] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:15] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=746000190317E5C HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:17] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:17] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2F12%20O'Clock%20High&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=746000190317E5C HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:19] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2F12%20O'Clock%20High%2F02&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=746000190317E5C HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:20] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:20] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:20] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:20] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:23] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:23] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2F12%20O'Clock%20High%2F02&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FLenny%2F12%2520O%2527Clock%2520High%2F02%2FTwelve%2520O%2527Clock%2520High%2520-%2520s02e01%2520-%2520Loneliest%2520Place%2520in%2520the%2520World%252C%2520The.avi&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=746000190317E5C HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:23] "GET /TiVoConnect?Command=TVBusQuery&Container=Lenny&File=%2F12%20O'Clock%20High%2F02%2FTwelve%20O'Clock%20High%20-%20s02e01%20-%20Loneliest%20Place%20in%20the%20World,%20The.avi&SerialNum=746000190317E5C HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:23] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:41] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:41] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2F12%20O'Clock%20High%2F02&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FLenny%2F12%2520O%2527Clock%2520High%2F02%2FTwelve%2520O%2527Clock%2520High%2520-%2520s02e01%2520-%2520Loneliest%2520Place%2520in%2520the%2520World%252C%2520The.avi&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=746000190317E5C HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:41] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:41] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:41] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:41] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:41] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:41] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:41] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:41] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:46] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:46] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2F12%20O'Clock%20High&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2F12%2520O%2527Clock%2520High%2F02&AnchorOffset=-2&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=746000190317E5C HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:47] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:47] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=746000190317E5C HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:48] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:48] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2F12%2520O%2527Clock%2520High&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=746000190317E5C HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.191 [29/Jan/2016 19:19:57] "GET /Lenny/12%20O'Clock%20High/02/Twelve%20O'Clock%20High%20-%20s02e01%20-%20Loneliest%20Place%20in%20the%20World,%20The.avi?Format=video%2Fx-tivo-mpeg-ts HTTP/1.1" 206 -
INFO:pyTivo.video.video:[29/Jan/2016 19:19:57] Start sending "/video/12 O'Clock High/02/Twelve O'Clock High - s02e01 - Loneliest Place in the World, The.avi" to Other
ffmpeg version 2.8.5 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
  configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security ' --extra-ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir=/usr/lib/x86_64-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libpulse --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2 --enable-libvidstab --enable-libzvbi --enable-avresample --disable-htmlpages --disable-podpages --enable-libutvideo --enable-libfdk-aac --enable-libx265 --enable-libbs2b --enable-libilbc --enable-libopenh264 --enable-libiec61883 --enable-vaapi --enable-libkvazaar --enable-opencl --enable-libdc1394 --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Input #0, avi, from '/video/12 O'Clock High/02/Twelve O'Clock High - s02e01 - Loneliest Place in the World, The.avi':
  Metadata:
    encoder         : VirtualDubMod 1.5.4.1 (build 2178/release)
    IAS1            : ???
  Duration: 00:46:39.51, start: 0.000000, bitrate: 1045 kb/s
    Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 932 kb/s, 23.98 fps, 23.98 tbr, 23.98 tbn, 23.98 tbc
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 100 kb/s
Output #0, mpegts, to 'pipe:':
  Metadata:
    IAS1            : ???
    encoder         : Lavf56.40.101
    Stream #0:0: Video: mpeg2video, yuv420p, 640x480 [SAR 1:1 DAR 4:3], q=2-31, 16384 kb/s, 23.98 fps, 90k tbn, 23.98 tbc
    Metadata:
      encoder         : Lavc56.60.100 mpeg2video
    Stream #0:1: Audio: ac3, 48000 Hz, stereo, fltp, 448 kb/s
    Metadata:
      encoder         : Lavc56.60.100 ac3
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg4 (native) -> mpeg2video (native))
  Stream #0:1 -> #0:1 (mp3 (native) -> ac3 (native))
Press [q] to stop, [?] for help
frame=   61 fps=0.0 q=2.0 size=     771kB time=00:00:03.16 bitrate=1996.4kbits/s    
frame=  133 fps=133 q=2.0 size=    1605kB time=00:00:06.13 bitrate=2141.3kbits/s    
frame=  204 fps=136 q=2.0 size=    2708kB time=00:00:09.11 bitrate=2433.9kbits/s    
frame=  260 fps=130 q=2.0 size=    3819kB time=00:00:11.45 bitrate=2732.4kbits/s    
frame=  322 fps=124 q=2.0 size=    4692kB time=00:00:14.04 bitrate=2737.2kbits/s    
frame=  389 fps=124 q=1.6 size=    5698kB time=00:00:16.82 bitrate=2773.9kbits/s    
frame=  462 fps=126 q=2.0 size=    6731kB time=00:00:19.86 bitrate=2775.4kbits/s    
frame=  530 fps=125 q=2.0 size=    7760kB time=00:00:22.71 bitrate=2798.6kbits/s    
frame=  598 fps=126 q=2.0 size=    8925kB time=00:00:25.53 bitrate=2863.7kbits/s    
frame=  646 fps=122 q=2.0 size=    9794kB time=00:00:27.54 bitrate=2912.6kbits/s    
frame=  705 fps=122 q=2.0 size=   10379kB time=00:00:30.04 bitrate=2830.2kbits/s    
frame=  762 fps=121 q=2.0 size=   11353kB time=00:00:32.37 bitrate=2872.4kbits/s    
frame=  820 fps=120 q=2.0 size=   12376kB time=00:00:34.81 bitrate=2912.4kbits/s    
frame=  904 fps=123 q=2.0 size=   13380kB time=00:00:38.29 bitrate=2862.0kbits/s    
frame=  975 fps=124 q=2.0 size=   14783kB time=00:00:41.27 bitrate=2934.1kbits/s    
frame= 1021 fps=121 q=1.6 size=   15962kB time=00:00:43.19 bitrate=3027.2kbits/s    
frame= 1087 fps=121 q=2.0 size=   17484kB time=00:00:45.94 bitrate=3117.3kbits/s    
frame= 1175 fps=123 q=2.0 size=   18589kB time=00:00:49.62 bitrate=3068.6kbits/s    
frame= 1252 fps=123 q=2.0 size=   20056kB time=00:00:52.82 bitrate=3110.1kbits/s    
frame= 1337 fps=125 q=2.0 size=   21597kB time=00:00:56.34 bitrate=3139.9kbits/s    
frame= 1427 fps=126 q=2.0 size=   23113kB time=00:01:00.12 bitrate=3149.3kbits/s    
frame= 1510 fps=128 q=2.0 size=   24395kB time=00:01:03.57 bitrate=3143.3kbits/s    
frame= 1594 fps=129 q=2.0 size=   25677kB time=00:01:07.09 bitrate=3134.9kbits/s    
frame= 1691 fps=131 q=2.0 size=   27211kB time=00:01:11.13 bitrate=3133.9kbits/s    
frame= 1789 fps=133 q=2.0 size=   28745kB time=00:01:15.22 bitrate=3130.2kbits/s    
frame= 1889 fps=134 q=2.0 size=   30283kB time=00:01:19.38 bitrate=3124.9kbits/s    
frame= 1984 fps=136 q=2.0 size=   31819kB time=00:01:23.35 bitrate=3127.1kbits/s    
frame= 2088 fps=135 q=2.0 size=   33365kB time=00:01:27.70 bitrate=3116.4kbits/s    
frame= 2222 fps=138 q=2.0 size=   35392kB time=00:01:33.27 bitrate=3108.3kbits/s    
frame= 2298 fps=139 q=2.0 size=   36593kB time=00:01:36.47 bitrate=3107.2kbits/s    
frame= 2370 fps=139 q=2.0 size=   37968kB time=00:01:39.45 bitrate=3127.5kbits/s    
frame= 2442 fps=139 q=2.0 size=   39294kB time=00:01:42.45 bitrate=3141.7kbits/s    
frame= 2558 fps=141 q=3.4 size=   40456kB time=00:01:47.29 bitrate=3088.9kbits/s    
frame= 2609 fps=140 q=1.6 size=   41677kB time=00:01:49.43 bitrate=3119.9kbits/s    
frame= 2702 fps=141 q=2.0 size=   43076kB time=00:01:53.30 bitrate=3114.3kbits/s    
frame= 2774 fps=141 q=2.0 size=   44624kB time=00:01:56.31 bitrate=3142.9kbits/s    
frame= 2854 fps=141 q=2.0 size=   46223kB time=00:01:59.64 bitrate=3164.9kbits/s    
frame= 2964 fps=143 q=3.3 size=   47691kB time=00:02:04.21 bitrate=3145.1kbits/s    
frame= 3036 fps=143 q=2.0 size=   49239kB time=00:02:07.25 bitrate=3169.7kbits/s    
frame= 3131 fps=144 q=2.0 size=   50740kB time=00:02:11.19 bitrate=3168.3kbits/s    
frame= 3211 fps=144 q=2.0 size=   52322kB time=00:02:14.52 bitrate=3186.3kbits/s    
frame= 3301 fps=144 q=2.0 size=   54358kB time=00:02:18.29 bitrate=3219.9kbits/s    
frame= 3373 fps=144 q=2.0 size=   56023kB time=00:02:21.30 bitrate=3247.8kbits/s    
frame= 3411 fps=142 q=2.0 size=   57781kB time=00:02:22.87 bitrate=3313.0kbits/s    
frame= 3452 fps=141 q=2.0 size=   58969kB time=00:02:24.57 bitrate=3341.4kbits/s    
frame= 3516 fps=139 q=2.0 size=   60506kB time=00:02:27.25 bitrate=3366.0kbits/s    
frame= 3615 fps=140 q=2.0 size=   62527kB time=00:02:31.38 bitrate=3383.6kbits/s    
frame= 3689 fps=140 q=1.6 size=   64094kB time=00:02:34.45 bitrate=3399.3kbits/s    
frame= 3758 fps=140 q=2.0 size=   65605kB time=00:02:37.33 bitrate=3415.8kbits/s    
frame= 3846 fps=140 q=2.0 size=   67137kB time=00:02:41.01 bitrate=3415.7kbits/s    
frame= 3930 fps=140 q=2.0 size=   68680kB time=00:02:44.53 bitrate=3419.4kbits/s    
frame= 4000 fps=140 q=2.0 size=   70234kB time=00:02:47.41 bitrate=3436.6kbits/s    
frame= 4061 fps=139 q=2.0 size=   71860kB time=00:02:49.97 bitrate=3463.2kbits/s    
frame= 4121 fps=139 q=2.0 size=   73296kB time=00:02:52.50 bitrate=3480.7kbits/s    
frame= 4183 fps=139 q=2.0 size=   74962kB time=00:02:55.06 bitrate=3507.8kbits/s    
frame= 4241 fps=138 q=2.0 size=   76423kB time=00:02:57.49 bitrate=3527.1kbits/s    
frame= 4303 fps=138 q=2.0 size=   77921kB time=00:03:00.09 bitrate=3544.5kbits/s    
frame= 4372 fps=138 q=2.0 size=   79464kB time=00:03:02.97 bitrate=3557.8kbits/s    
frame= 4438 fps=137 q=2.0 size=   80960kB time=00:03:05.72 bitrate=3571.0kbits/s    
frame= 4533 fps=137 q=2.0 size=   82497kB time=00:03:09.69 bitrate=3562.7kbits/s    
frame= 4645 fps=138 q=2.0 size=   84252kB time=00:03:14.33 bitrate=3551.6kbits/s    
frame= 4738 fps=139 q=2.0 size=   85601kB time=00:03:18.23 bitrate=3537.4kbits/s    
frame= 4809 fps=139 q=2.0 size=   87112kB time=00:03:21.17 bitrate=3547.2kbits/s    
frame= 4890 fps=139 q=2.0 size=   88636kB time=00:03:24.57 bitrate=3549.4kbits/s    
frame= 4972 fps=140 q=2.0 size=   90201kB time=00:03:27.99 bitrate=3552.6kbits/s    
frame= 5042 fps=140 q=2.0 size=   91615kB time=00:03:30.90 bitrate=3558.5kbits/s    
frame= 5112 fps=140 q=2.0 size=   92772kB time=00:03:33.81 bitrate=3554.3kbits/s    
frame= 5167 fps=139 q=2.0 size=   93832kB time=00:03:36.09 bitrate=3557.2kbits/s    
frame= 5221 fps=139 q=2.0 size=   94796kB time=00:03:38.36 bitrate=3556.3kbits/s    
frame= 5294 fps=138 q=2.0 size=   96330kB time=00:03:41.40 bitrate=3564.2kbits/s    
frame= 5371 fps=138 q=2.0 size=   97893kB time=00:03:44.63 bitrate=3570.0kbits/s    
frame= 5461 fps=138 q=2.0 size=   99398kB time=00:03:48.37 bitrate=3565.4kbits/s    
frame= 5583 fps=140 q=1.6 size=  101108kB time=00:03:53.46 bitrate=3547.7kbits/s    
frame= 5655 fps=140 q=1.6 size=  102165kB time=00:03:56.47 bitrate=3539.2kbits/s    
frame= 5761 fps=141 q=2.0 size=  103610kB time=00:04:00.89 bitrate=3523.5kbits/s    
frame= 5881 fps=142 q=2.0 size=  105274kB time=00:04:05.88 bitrate=3507.4kbits/s    
frame= 5947 fps=142 q=2.0 size=  106176kB time=00:04:08.66 bitrate=3497.8kbits/s    
frame= 6056 fps=143 q=2.0 size=  107663kB time=00:04:13.17 bitrate=3483.6kbits/s    
frame= 6154 fps=143 q=2.0 size=  109209kB time=00:04:17.27 bitrate=3477.4kbits/s    
frame= 6268 fps=144 q=2.0 size=  110678kB time=00:04:22.04 bitrate=3460.0kbits/s    
frame= 6335 fps=144 q=2.0 size=  111495kB time=00:04:24.82 bitrate=3448.9kbits/s    
frame= 6418 fps=144 q=2.0 size=  112602kB time=00:04:28.28 bitrate=3438.3kbits/s    
frame= 6500 fps=144 q=2.0 size=  113744kB time=00:04:31.70 bitrate=3429.4kbits/s    
frame= 6574 fps=144 q=2.0 size=  115066kB time=00:04:34.81 bitrate=3430.1kbits/s    
frame= 6655 fps=144 q=2.0 size=  116305kB time=00:04:38.17 bitrate=3425.1kbits/s    
frame= 6735 fps=144 q=2.0 size=  117539kB time=00:04:41.49 bitrate=3420.6kbits/s    
frame= 6794 fps=144 q=2.0 size=  118534kB time=00:04:43.96 bitrate=3419.6kbits/s    
frame= 6873 fps=144 q=2.0 size=  119876kB time=00:04:47.25 bitrate=3418.6kbits/s    
frame= 6963 fps=144 q=2.0 size=  121325kB time=00:04:51.03 bitrate=3415.0kbits/s    
frame= 7036 fps=144 q=2.0 size=  122452kB time=00:04:54.04 bitrate=3411.5kbits/s    
frame= 7113 fps=144 q=2.0 size=  123998kB time=00:04:57.27 bitrate=3417.0kbits/s    
frame= 7160 fps=143 q=2.0 size=  125017kB time=00:04:59.22 bitrate=3422.6kbits/s    
frame= 7223 fps=143 q=2.0 size=  126182kB time=00:05:01.88 bitrate=3424.1kbits/s    
frame= 7327 fps=144 q=2.0 size=  128060kB time=00:05:06.20 bitrate=3426.1kbits/s    
frame= 7382 fps=143 q=2.0 size=  129106kB time=00:05:08.50 bitrate=3428.2kbits/s    
frame= 7429 fps=143 q=2.0 size=  130172kB time=00:05:10.45 bitrate=3434.8kbits/s    
frame= 7487 fps=142 q=2.0 size=  131142kB time=00:05:12.85 bitrate=3433.9kbits/s    
frame= 7552 fps=142 q=2.0 size=  132170kB time=00:05:15.57 bitrate=3431.0kbits/s    
frame= 7622 fps=142 q=2.0 size=  133317kB time=00:05:18.52 bitrate=3428.7kbits/s    
frame= 7679 fps=142 q=2.0 size=  134218kB time=00:05:20.89 bitrate=3426.5kbits/s    
frame= 7769 fps=142 q=1.6 size=  135771kB time=00:05:24.63 bitrate=3426.1kbits/s    
frame= 7825 fps=142 q=2.0 size=  136839kB time=00:05:26.97 bitrate=3428.4kbits/s    
frame= 7926 fps=142 q=2.0 size=  138809kB time=00:05:31.19 bitrate=3433.4kbits/s    
frame= 7958 fps=141 q=2.0 size=  139385kB time=00:05:32.53 bitrate=3433.7kbits/s    
frame= 8033 fps=142 q=1.6 size=  140927kB time=00:05:35.64 bitrate=3439.6kbits/s    
frame= 8100 fps=141 q=2.0 size=  142418kB time=00:05:38.45 bitrate=3447.1kbits/s    
frame= 8185 fps=141 q=2.0 size=  143951kB time=00:05:41.97 bitrate=3448.3kbits/s    
frame= 8286 fps=141 q=2.0 size=  145482kB time=00:05:46.20 bitrate=3442.4kbits/s    
frame= 8387 fps=142 q=2.0 size=  147011kB time=00:05:50.39 bitrate=3437.0kbits/s    
frame= 8483 fps=142 q=2.0 size=  148557kB time=00:05:54.42 bitrate=3433.6kbits/s    
frame= 8571 fps=142 q=2.0 size=  149996kB time=00:05:58.07 bitrate=3431.6kbits/s    
frame= 8644 fps=143 q=2.0 size=  151273kB time=00:06:01.14 bitrate=3431.4kbits/s    
frame= 8721 fps=142 q=2.0 size=  152671kB time=00:06:04.34 bitrate=3432.7kbits/s    
frame= 8798 fps=143 q=2.0 size=  154197kB time=00:06:07.57 bitrate=3436.5kbits/s    
frame= 8869 fps=143 q=2.0 size=  155462kB time=00:06:10.55 bitrate=3436.9kbits/s    
frame= 8957 fps=143 q=1.6 size=  156921kB time=00:06:14.20 bitrate=3435.3kbits/s    
frame= 9044 fps=143 q=2.0 size=  158300kB time=00:06:17.81 bitrate=3432.3kbits/s    
frame= 9154 fps=144 q=2.0 size=  160035kB time=00:06:22.39 bitrate=3428.4kbits/s    
frame= 9229 fps=144 q=2.0 size=  161155kB time=00:06:25.53 bitrate=3424.3kbits/s    
frame= 9331 fps=144 q=2.0 size=  162715kB time=00:06:29.78 bitrate=3419.7kbits/s    
frame= 9424 fps=144 q=2.0 size=  164422kB time=00:06:33.65 bitrate=3421.6kbits/s    
frame= 9520 fps=145 q=2.0 size=  166099kB time=00:06:37.65 bitrate=3421.7kbits/s    
frame= 9588 fps=145 q=2.0 size=  167258kB time=00:06:40.50 bitrate=3421.1kbits/s    
frame= 9681 fps=145 q=2.0 size=  168700kB time=00:06:44.34 bitrate=3417.8kbits/s    
frame= 9760 fps=145 q=2.0 size=  169892kB time=00:06:47.67 bitrate=3413.9kbits/s    
frame= 9865 fps=145 q=2.0 size=  171501kB time=00:06:52.02 bitrate=3409.8kbits/s    
frame= 9926 fps=145 q=2.0 size=  172458kB time=00:06:54.61 bitrate=3407.4kbits/s    
frame= 9989 fps=145 q=1.6 size=  173653kB time=00:06:57.21 bitrate=3409.7kbits/s    
frame=10073 fps=145 q=1.6 size=  175182kB time=00:07:00.73 bitrate=3410.9kbits/s    
frame=10134 fps=145 q=2.0 size=  176274kB time=00:07:03.25 bitrate=3411.7kbits/s    
frame=10194 fps=145 q=2.0 size=  177586kB time=00:07:05.78 bitrate=3416.7kbits/s    
frame=10250 fps=144 q=2.0 size=  178787kB time=00:07:08.12 bitrate=3421.0kbits/s    
frame=10311 fps=144 q=2.0 size=  179999kB time=00:07:10.65 bitrate=3424.0kbits/s    
frame=10403 fps=145 q=2.0 size=  181636kB time=00:07:14.49 bitrate=3424.6kbits/s    
frame=10508 fps=145 q=2.0 size=  183325kB time=00:07:18.87 bitrate=3421.9kbits/s    
frame=10596 fps=145 q=2.0 size=  184458kB time=00:07:22.52 bitrate=3414.7kbits/s    
frame=10691 fps=145 q=2.0 size=  185918kB time=00:07:26.49 bitrate=3411.1kbits/s    
frame=10785 fps=146 q=2.0 size=  187270kB time=00:07:30.42 bitrate=3405.9kbits/s    
frame=10877 fps=146 q=1.6 size=  188453kB time=00:07:34.26 bitrate=3398.5kbits/s    
frame=10909 fps=145 q=2.0 size=  188982kB time=00:07:35.61 bitrate=3397.9kbits/s    
frame=11017 fps=146 q=2.0 size=  190783kB time=00:07:40.09 bitrate=3396.9kbits/s    
frame=11114 fps=146 q=2.0 size=  192195kB time=00:07:44.15 bitrate=3392.1kbits/s    
frame=11196 fps=146 q=2.0 size=  193314kB time=00:07:47.57 bitrate=3386.9kbits/s    
frame=11268 fps=146 q=2.0 size=  194363kB time=00:07:50.58 bitrate=3383.5kbits/s    
frame=11379 fps=147 q=2.0 size=  195857kB time=00:07:55.19 bitrate=3376.4kbits/s    
frame=11477 fps=147 q=1.6 size=  197192kB time=00:07:59.29 bitrate=3370.4kbits/s    
frame=11545 fps=147 q=2.0 size=  198220kB time=00:08:02.10 bitrate=3368.2kbits/s    
frame=11641 fps=147 q=2.0 size=  199637kB time=00:08:06.13 bitrate=3364.1kbits/s    
frame=11770 fps=148 q=2.0 size=  201291kB time=00:08:11.51 bitrate=3354.9kbits/s    
frame=11867 fps=148 q=2.0 size=  202818kB time=00:08:15.54 bitrate=3352.8kbits/s    
frame=11928 fps=148 q=2.0 size=  203838kB time=00:08:18.10 bitrate=3352.4kbits/s    
frame=12006 fps=148 q=2.0 size=  205075kB time=00:08:21.37 bitrate=3350.8kbits/s    
frame=12075 fps=148 q=2.0 size=  206087kB time=00:08:24.21 bitrate=3348.3kbits/s    
frame=12158 fps=148 q=2.0 size=  207635kB time=00:08:27.70 bitrate=3350.3kbits/s    
frame=12249 fps=148 q=2.0 size=  209212kB time=00:08:31.48 bitrate=3350.8kbits/s    
frame=12310 fps=148 q=2.0 size=  210210kB time=00:08:34.04 bitrate=3350.0kbits/s    
frame=12403 fps=148 q=2.0 size=  211529kB time=00:08:37.91 bitrate=3345.8kbits/s    
frame=12481 fps=148 q=2.0 size=  212554kB time=00:08:41.17 bitrate=3341.0kbits/s    
frame=12595 fps=148 q=2.0 size=  214081kB time=00:08:45.91 bitrate=3334.7kbits/s    
frame=12709 fps=149 q=2.0 size=  215630kB time=00:08:50.68 bitrate=3328.6kbits/s    
frame=12800 fps=149 q=2.0 size=  217000kB time=00:08:54.45 bitrate=3326.1kbits/s    
frame=12869 fps=148 q=1.6 size=  218193kB time=00:08:57.33 bitrate=3326.5kbits/s    
frame=12965 fps=148 q=1.6 size=  219730kB time=00:09:01.33 bitrate=3325.1kbits/s    
frame=13063 fps=149 q=2.0 size=  221253kB time=00:09:05.43 bitrate=3323.0kbits/s    
frame=13164 fps=149 q=2.0 size=  222796kB time=00:09:09.65 bitrate=3320.5kbits/s    
frame=13255 fps=149 q=2.0 size=  224205kB time=00:09:13.43 bitrate=3318.7kbits/s    
frame=13331 fps=149 q=2.0 size=  225350kB time=00:09:16.60 bitrate=3316.7kbits/s    
frame=13433 fps=149 q=1.6 size=  226908kB time=00:09:20.85 bitrate=3314.3kbits/s    
frame=13557 fps=150 q=2.0 size=  228861kB time=00:09:26.04 bitrate=3312.2kbits/s    
frame=13581 fps=149 q=2.0 size=  229443kB time=00:09:27.06 bitrate=3314.6kbits/s    
frame=13642 fps=149 q=2.0 size=  230982kB time=00:09:29.59 bitrate=3322.0kbits/s    
frame=13701 fps=149 q=2.0 size=  232227kB time=00:09:32.05 bitrate=3325.5kbits/s    
frame=13758 fps=148 q=2.0 size=  233233kB time=00:09:34.42 bitrate=3326.2kbits/s    
frame=13837 fps=148 q=2.0 size=  234487kB time=00:09:37.72 bitrate=3325.0kbits/s    
frame=13898 fps=148 q=2.0 size=  235407kB time=00:09:40.28 bitrate=3323.3kbits/s    
frame=13949 fps=148 q=1.6 size=  236624kB time=00:09:42.39 bitrate=3328.4kbits/s    
frame=14019 fps=148 q=2.0 size=  238146kB time=00:09:45.30 bitrate=3333.1kbits/s    
frame=14096 fps=148 q=2.0 size=  239948kB time=00:09:48.53 bitrate=3339.9kbits/s    
frame=14142 fps=148 q=2.0 size=  241230kB time=00:09:50.45 bitrate=3346.8kbits/s    
frame=14209 fps=147 q=2.0 size=  242762kB time=00:09:53.24 bitrate=3352.3kbits/s    
frame=14279 fps=147 q=2.0 size=  244209kB time=00:09:56.15 bitrate=3355.8kbits/s    
frame=14346 fps=147 q=2.0 size=  245535kB time=00:09:58.93 bitrate=3358.3kbits/s    
frame=14389 fps=147 q=2.0 size=  246550kB time=00:10:00.76 bitrate=3362.0kbits/s    
frame=14432 fps=146 q=2.0 size=  247752kB time=00:10:02.55 bitrate=3368.3kbits/s    
frame=14463 fps=146 q=2.0 size=  248741kB time=00:10:03.80 bitrate=3374.7kbits/s    
frame=14502 fps=145 q=2.0 size=  249944kB time=00:10:05.46 bitrate=3381.8kbits/s    
frame=14550 fps=145 q=2.0 size=  251462kB time=00:10:07.48 bitrate=3391.0kbits/s    
frame=14602 fps=145 q=2.0 size=  253027kB time=00:10:09.62 bitrate=3400.1kbits/s    
frame=14676 fps=145 q=2.0 size=  254608kB time=00:10:12.73 bitrate=3404.0kbits/s    
frame=14742 fps=145 q=2.0 size=  256087kB time=00:10:15.45 bitrate=3408.7kbits/s    
frame=14814 fps=145 q=2.0 size=  257620kB time=00:10:18.45 bitrate=3412.4kbits/s    
frame=14880 fps=145 q=2.0 size=  259134kB time=00:10:21.21 bitrate=3417.2kbits/s    
frame=14950 fps=144 q=2.0 size=  260683kB time=00:10:24.15 bitrate=3421.5kbits/s    
frame=15003 fps=144 q=2.0 size=  262026kB time=00:10:26.36 bitrate=3427.0kbits/s    
frame=15055 fps=144 q=2.0 size=  263267kB time=00:10:28.50 bitrate=3431.4kbits/s    
frame=15117 fps=144 q=2.0 size=  264716kB time=00:10:31.09 bitrate=3436.2kbits/s    
frame=15136 fps=143 q=2.0 size=  265159kB time=00:10:31.93 bitrate=3437.4kbits/s    
frame=15182 fps=143 q=2.0 size=  266315kB time=00:10:33.81 bitrate=3442.1kbits/s    
frame=15241 fps=143 q=2.0 size=  267842kB time=00:10:36.28 bitrate=3448.4kbits/s    
frame=15305 fps=142 q=1.6 size=  269389kB time=00:10:38.97 bitrate=3453.7kbits/s    
frame=15398 fps=143 q=2.0 size=  270915kB time=00:10:42.81 bitrate=3452.6kbits/s    
frame=15472 fps=142 q=2.0 size=  272466kB time=00:10:45.91 bitrate=3455.6kbits/s    
frame=15532 fps=142 q=2.0 size=  274026kB time=00:10:48.41 bitrate=3462.0kbits/s    
frame=15577 fps=142 q=2.0 size=  275295kB time=00:10:50.29 bitrate=3468.0kbits/s    
frame=15656 fps=142 q=2.0 size=  277059kB time=00:10:53.59 bitrate=3472.6kbits/s    
frame=15721 fps=142 q=2.0 size=  278589kB time=00:10:56.31 bitrate=3477.3kbits/s    
frame=15782 fps=141 q=2.0 size=  280129kB time=00:10:58.84 bitrate=3483.1kbits/s    
frame=15844 fps=141 q=2.0 size=  281686kB time=00:11:01.43 bitrate=3488.7kbits/s    
frame=15920 fps=141 q=2.0 size=  283223kB time=00:11:04.60 bitrate=3491.1kbits/s    
frame=15999 fps=141 q=2.0 size=  284624kB time=00:11:07.89 bitrate=3491.0kbits/s    
frame=16082 fps=141 q=2.0 size=  285761kB time=00:11:11.35 bitrate=3486.9kbits/s    
frame=16193 fps=141 q=1.6 size=  287317kB time=00:11:15.99 bitrate=3481.8kbits/s    
frame=16299 fps=142 q=2.0 size=  288842kB time=00:11:20.41 bitrate=3477.6kbits/s    
frame=16412 fps=142 q=2.0 size=  290369kB time=00:11:25.14 bitrate=3471.8kbits/s    
frame=16490 fps=142 q=2.0 size=  291408kB time=00:11:28.37 bitrate=3467.9kbits/s    
frame=16565 fps=142 q=1.6 size=  292415kB time=00:11:31.48 bitrate=3464.2kbits/s    
frame=16650 fps=142 q=2.0 size=  293541kB time=00:11:35.03 bitrate=3459.8kbits/s    
frame=16718 fps=142 q=2.0 size=  294474kB time=00:11:37.88 bitrate=3456.6kbits/s    
frame=16826 fps=142 q=2.0 size=  296000kB time=00:11:42.39 bitrate=3452.2kbits/s    
frame=16910 fps=142 q=2.0 size=  297540kB time=00:11:45.88 bitrate=3453.0kbits/s    
frame=16974 fps=142 q=2.0 size=  298573kB time=00:11:48.57 bitrate=3451.9kbits/s    
frame=17073 fps=142 q=2.0 size=  300110kB time=00:11:52.69 bitrate=3449.6kbits/s    
frame=17156 fps=142 q=2.0 size=  301587kB time=00:11:56.15 bitrate=3449.8kbits/s    
frame=17209 fps=142 q=2.0 size=  302654kB time=00:11:58.36 bitrate=3451.4kbits/s    
frame=17271 fps=142 q=2.0 size=  304195kB time=00:12:00.95 bitrate=3456.5kbits/s    
frame=17334 fps=142 q=2.0 size=  305736kB time=00:12:03.57 bitrate=3461.4kbits/s    
frame=17410 fps=142 q=2.0 size=  307290kB time=00:12:06.74 bitrate=3463.8kbits/s    
frame=17492 fps=142 q=2.0 size=  308818kB time=00:12:10.17 bitrate=3464.7kbits/s    
frame=17534 fps=141 q=2.0 size=  309843kB time=00:12:11.89 bitrate=3468.0kbits/s    
frame=17582 fps=141 q=2.0 size=  310870kB time=00:12:13.91 bitrate=3470.0kbits/s    
frame=17681 fps=141 q=1.6 size=  312602kB time=00:12:18.04 bitrate=3469.8kbits/s    
frame=17757 fps=141 q=2.0 size=  313941kB time=00:12:21.21 bitrate=3469.7kbits/s    
frame=17842 fps=142 q=2.0 size=  315523kB time=00:12:24.76 bitrate=3470.6kbits/s    
frame=17921 fps=141 q=1.6 size=  317020kB time=00:12:28.05 bitrate=3471.7kbits/s    
frame=17969 fps=141 q=1.6 size=  317823kB time=00:12:30.04 bitrate=3471.3kbits/s    
frame=18085 fps=142 q=2.0 size=  319409kB time=00:12:34.90 bitrate=3466.1kbits/s    
frame=18145 fps=142 q=2.0 size=  320167kB time=00:12:37.37 bitrate=3463.0kbits/s    
frame=18236 fps=142 q=2.0 size=  321549kB time=00:12:41.17 bitrate=3460.6kbits/s    
frame=18331 fps=142 q=2.0 size=  322928kB time=00:12:45.14 bitrate=3457.4kbits/s    
frame=18425 fps=142 q=1.6 size=  324178kB time=00:12:49.08 bitrate=3453.0kbits/s    
frame=18498 fps=142 q=2.0 size=  325191kB time=00:12:52.12 bitrate=3450.2kbits/s    
frame=18612 fps=142 q=2.0 size=  326734kB time=00:12:56.89 bitrate=3445.3kbits/s    
frame=18721 fps=143 q=2.0 size=  328248kB time=00:13:01.43 bitrate=3441.1kbits/s    
frame=18832 fps=143 q=2.0 size=  329786kB time=00:13:06.04 bitrate=3437.0kbits/s    
frame=18949 fps=143 q=2.0 size=  331324kB time=00:13:10.93 bitrate=3431.6kbits/s    
frame=19051 fps=143 q=2.0 size=  332749kB time=00:13:15.16 bitrate=3428.1kbits/s    
frame=19152 fps=144 q=2.0 size=  334189kB time=00:13:19.38 bitrate=3424.7kbits/s    
frame=19247 fps=144 q=2.0 size=  335531kB time=00:13:23.35 bitrate=3421.5kbits/s    
frame=19347 fps=144 q=2.0 size=  336972kB time=00:13:27.54 bitrate=3418.3kbits/s    
frame=19446 fps=144 q=2.0 size=  338513kB time=00:13:31.67 bitrate=3416.5kbits/s    
frame=19518 fps=144 q=2.0 size=  339532kB time=00:13:34.65 bitrate=3414.3kbits/s    
frame=19630 fps=144 q=2.0 size=  341068kB time=00:13:39.35 bitrate=3410.0kbits/s    
frame=19707 fps=144 q=2.0 size=  342083kB time=00:13:42.55 bitrate=3406.9kbits/s    
frame=19783 fps=144 q=2.0 size=  343106kB time=00:13:45.72 bitrate=3404.0kbits/s    
frame=19878 fps=144 q=2.0 size=  344525kB time=00:13:49.69 bitrate=3401.7kbits/s    
frame=19940 fps=144 q=2.0 size=  345668kB time=00:13:52.28 bitrate=3402.3kbits/s    
frame=20018 fps=144 q=2.0 size=  347202kB time=00:13:55.51 bitrate=3404.2kbits/s    
frame=20093 fps=144 q=1.6 size=  348776kB time=00:13:58.65 bitrate=3406.9kbits/s    
frame=20145 fps=144 q=2.0 size=  349756kB time=00:14:00.82 bitrate=3407.6kbits/s    
frame=20202 fps=144 q=2.0 size=  350820kB time=00:14:03.19 bitrate=3408.4kbits/s    
frame=20306 fps=144 q=1.6 size=  352316kB time=00:14:07.54 bitrate=3405.3kbits/s    
frame=20392 fps=144 q=2.0 size=  353368kB time=00:14:11.13 bitrate=3401.1kbits/s    
frame=20455 fps=144 q=2.0 size=  354336kB time=00:14:13.72 bitrate=3400.1kbits/s    
frame=20534 fps=144 q=2.0 size=  355438kB time=00:14:17.05 bitrate=3397.4kbits/s    
frame=20633 fps=144 q=1.6 size=  357044kB time=00:14:21.17 bitrate=3396.4kbits/s    
frame=20712 fps=144 q=2.0 size=  358474kB time=00:14:24.47 bitrate=3397.0kbits/s    
frame=20794 fps=144 q=2.0 size=  360021kB time=00:14:27.89 bitrate=3398.2kbits/s    
frame=20881 fps=144 q=2.0 size=  361652kB time=00:14:31.51 bitrate=3399.4kbits/s    
frame=20956 fps=144 q=2.0 size=  363173kB time=00:14:34.65 bitrate=3401.5kbits/s    
frame=21032 fps=144 q=2.0 size=  364605kB time=00:14:37.81 bitrate=3402.6kbits/s    
frame=21113 fps=144 q=1.6 size=  366163kB time=00:14:41.17 bitrate=3404.1kbits/s    
frame=21164 fps=144 q=2.0 size=  367175kB time=00:14:43.32 bitrate=3405.2kbits/s    
frame=21225 fps=144 q=2.0 size=  368319kB time=00:14:45.88 bitrate=3405.9kbits/s    
frame=21312 fps=144 q=2.0 size=  369733kB time=00:14:49.49 bitrate=3405.1kbits/s    
frame=21365 fps=144 q=1.6 size=  370576kB time=00:14:51.70 bitrate=3404.4kbits/s    
frame=21449 fps=144 q=1.6 size=  371783kB time=00:14:55.19 bitrate=3402.2kbits/s    
frame=21510 fps=144 q=2.0 size=  372810kB time=00:14:57.75 bitrate=3401.9kbits/s    
frame=21595 fps=144 q=2.0 size=  374355kB time=00:15:01.30 bitrate=3402.5kbits/s    
frame=21690 fps=144 q=2.0 size=  376340kB time=00:15:05.27 bitrate=3405.6kbits/s    
frame=21745 fps=144 q=2.0 size=  377422kB time=00:15:07.54 bitrate=3406.8kbits/s    
frame=21859 fps=144 q=2.0 size=  379036kB time=00:15:12.31 bitrate=3403.5kbits/s    
frame=21967 fps=144 q=2.0 size=  380483kB time=00:15:16.79 bitrate=3399.8kbits/s    
frame=22078 fps=144 q=2.0 size=  382036kB time=00:15:21.43 bitrate=3396.5kbits/s    
frame=22152 fps=144 q=2.0 size=  383361kB time=00:15:24.53 bitrate=3396.8kbits/s    
frame=22232 fps=144 q=2.0 size=  384618kB time=00:15:27.86 bitrate=3395.7kbits/s    
frame=22337 fps=144 q=1.6 size=  386129kB time=00:15:32.25 bitrate=3393.0kbits/s    
frame=22433 fps=145 q=1.6 size=  387657kB time=00:15:36.25 bitrate=3391.9kbits/s    
frame=22553 fps=145 q=1.6 size=  389186kB time=00:15:41.27 bitrate=3387.1kbits/s    
frame=22666 fps=145 q=2.0 size=  390614kB time=00:15:45.97 bitrate=3382.6kbits/s    
frame=22716 fps=145 q=2.0 size=  391427kB time=00:15:48.09 bitrate=3382.1kbits/s    
frame=22851 fps=145 q=2.0 size=  393023kB time=00:15:53.69 bitrate=3376.0kbits/s    
frame=22951 fps=145 q=2.0 size=  394310kB time=00:15:57.85 bitrate=3372.3kbits/s    
frame=23035 fps=145 q=2.0 size=  395328kB time=00:16:01.33 bitrate=3368.8kbits/s    
frame=23130 fps=146 q=2.0 size=  396495kB time=00:16:05.30 bitrate=3364.8kbits/s    
frame=23266 fps=146 q=2.0 size=  398136kB time=00:16:11.00 bitrate=3358.9kbits/s    
frame=23345 fps=146 q=1.6 size=  399106kB time=00:16:14.29 bitrate=3355.7kbits/s    
frame=23443 fps=146 q=2.0 size=  400372kB time=00:16:18.36 bitrate=3352.4kbits/s    
frame=23519 fps=146 q=2.0 size=  401407kB time=00:16:21.53 bitrate=3350.2kbits/s    
frame=23612 fps=146 q=2.0 size=  402533kB time=00:16:25.40 bitrate=3346.4kbits/s    
frame=23723 fps=146 q=2.0 size=  404033kB time=00:16:30.04 bitrate=3343.1kbits/s    
frame=23833 fps=147 q=2.0 size=  405573kB time=00:16:34.65 bitrate=3340.3kbits/s    
frame=23941 fps=147 q=2.0 size=  407104kB time=00:16:39.16 bitrate=3337.8kbits/s    
frame=24035 fps=147 q=2.0 size=  408503kB time=00:16:43.06 bitrate=3336.2kbits/s    
frame=24093 fps=147 q=2.0 size=  409152kB time=00:16:45.49 bitrate=3333.4kbits/s    
frame=24181 fps=147 q=2.0 size=  410456kB time=00:16:49.14 bitrate=3332.0kbits/s    
frame=24259 fps=147 q=2.0 size=  411722kB time=00:16:52.41 bitrate=3331.5kbits/s    
frame=24381 fps=147 q=2.0 size=  413424kB time=00:16:57.49 bitrate=3328.5kbits/s    
frame=24473 fps=147 q=1.6 size=  414798kB time=00:17:01.33 bitrate=3327.0kbits/s    
frame=24556 fps=147 q=2.0 size=  416327kB time=00:17:04.79 bitrate=3328.0kbits/s    
frame=24599 fps=147 q=2.0 size=  417445kB time=00:17:06.58 bitrate=3331.1kbits/s    
frame=24661 fps=147 q=2.0 size=  418900kB time=00:17:09.17 bitrate=3334.3kbits/s    
frame=24751 fps=147 q=2.0 size=  420567kB time=00:17:12.92 bitrate=3335.5kbits/s    
frame=24819 fps=147 q=2.0 size=  421897kB time=00:17:15.77 bitrate=3336.8kbits/s    
frame=24880 fps=147 q=2.0 size=  423512kB time=00:17:18.33 bitrate=3341.3kbits/s    
frame=24934 fps=146 q=2.0 size=  425046kB time=00:17:20.53 bitrate=3346.3kbits/s    
frame=25007 fps=146 q=2.0 size=  426592kB time=00:17:23.61 bitrate=3348.6kbits/s    
frame=25060 fps=146 q=2.0 size=  427740kB time=00:17:25.81 bitrate=3350.5kbits/s    
frame=25125 fps=146 q=2.0 size=  429135kB time=00:17:28.50 bitrate=3352.8kbits/s    
frame=25187 fps=146 q=2.0 size=  430729kB time=00:17:31.09 bitrate=3357.0kbits/s    
frame=25253 fps=146 q=1.6 size=  432225kB time=00:17:33.88 bitrate=3359.8kbits/s    
frame=25313 fps=146 q=1.6 size=  433773kB time=00:17:36.37 bitrate=3363.8kbits/s    
frame=25370 fps=146 q=2.0 size=  435279kB time=00:17:38.74 bitrate=3367.9kbits/s    
frame=25439 fps=145 q=2.0 size=  436811kB time=00:17:41.62 bitrate=3370.6kbits/s    
frame=25535 fps=146 q=2.0 size=  438339kB time=00:17:45.62 bitrate=3369.7kbits/s    
frame=25636 fps=146 q=2.0 size=  439876kB time=00:17:49.81 bitrate=3368.3kbits/s    
frame=25739 fps=146 q=2.0 size=  441427kB time=00:17:54.13 bitrate=3366.6kbits/s    
frame=25827 fps=146 q=2.0 size=  442965kB time=00:17:57.78 bitrate=3366.9kbits/s    
frame=25889 fps=146 q=1.6 size=  444495kB time=00:18:00.37 bitrate=3370.4kbits/s    
frame=25947 fps=146 q=2.0 size=  446042kB time=00:18:02.81 bitrate=3374.5kbits/s    
frame=25992 fps=145 q=2.0 size=  447048kB time=00:18:04.69 bitrate=3376.3kbits/s    
frame=26081 fps=146 q=1.6 size=  448590kB time=00:18:08.37 bitrate=3376.4kbits/s    
frame=26150 fps=146 q=2.0 size=  449607kB time=00:18:11.29 bitrate=3375.1kbits/s    
frame=26249 fps=146 q=1.6 size=  451167kB time=00:18:15.41 bitrate=3374.0kbits/s    
frame=26315 fps=146 q=2.0 size=  452188kB time=00:18:18.13 bitrate=3373.3kbits/s    
frame=26394 fps=146 q=2.0 size=  453325kB time=00:18:21.46 bitrate=3371.5kbits/s    
frame=26498 fps=146 q=2.0 size=  454807kB time=00:18:25.78 bitrate=3369.3kbits/s    
frame=26606 fps=146 q=2.0 size=  456340kB time=00:18:30.29 bitrate=3367.0kbits/s    
frame=26705 fps=146 q=1.6 size=  457801kB time=00:18:34.42 bitrate=3365.2kbits/s    
frame=26797 fps=146 q=2.0 size=  459341kB time=00:18:38.26 bitrate=3365.0kbits/s    
frame=26867 fps=146 q=2.0 size=  461086kB time=00:18:41.17 bitrate=3369.0kbits/s    
frame=26918 fps=146 q=2.0 size=  462425kB time=00:18:43.29 bitrate=3372.4kbits/s    
frame=26998 fps=146 q=2.0 size=  464219kB time=00:18:46.65 bitrate=3375.4kbits/s    
frame=27076 fps=146 q=2.0 size=  465429kB time=00:18:49.91 bitrate=3374.4kbits/s    
frame=27132 fps=146 q=2.0 size=  466500kB time=00:18:52.21 bitrate=3375.3kbits/s    
frame=27222 fps=146 q=2.0 size=  468046kB time=00:18:55.99 bitrate=3375.2kbits/s    
frame=27306 fps=146 q=2.0 size=  469545kB time=00:18:59.51 bitrate=3375.6kbits/s    
frame=27413 fps=146 q=1.6 size=  471114kB time=00:19:03.96 bitrate=3373.7kbits/s    
frame=27518 fps=146 q=2.0 size=  472669kB time=00:19:08.34 bitrate=3371.9kbits/s    
frame=27592 fps=146 q=2.0 size=  474187kB time=00:19:11.41 bitrate=3373.7kbits/s    
frame=27682 fps=146 q=2.0 size=  475721kB time=00:19:15.16 bitrate=3373.6kbits/s    
frame=27778 fps=146 q=2.0 size=  477268kB time=00:19:19.19 bitrate=3372.8kbits/s    
frame=27869 fps=146 q=1.6 size=  478816kB time=00:19:22.97 bitrate=3372.8kbits/s    
frame=27961 fps=146 q=2.0 size=  480328kB time=00:19:26.81 bitrate=3372.3kbits/s    
frame=28030 fps=146 q=2.0 size=  481358kB time=00:19:29.69 bitrate=3371.2kbits/s    
frame=28098 fps=146 q=2.0 size=  482387kB time=00:19:32.53 bitrate=3370.2kbits/s    
frame=28172 fps=146 q=2.0 size=  483909kB time=00:19:35.61 bitrate=3372.0kbits/s    
frame=28215 fps=146 q=2.0 size=  485021kB time=00:19:37.40 bitrate=3374.6kbits/s    
frame=28247 fps=146 q=2.0 size=  485966kB time=00:19:38.74 bitrate=3377.3kbits/s    
frame=28302 fps=146 q=2.0 size=  487517kB time=00:19:41.05 bitrate=3381.5kbits/s    
frame=28349 fps=145 q=1.6 size=  488737kB time=00:19:43.00 bitrate=3384.4kbits/s    
frame=28414 fps=145 q=2.0 size=  490288kB time=00:19:45.69 bitrate=3387.4kbits/s    
frame=28513 fps=145 q=2.0 size=  491997kB time=00:19:49.81 bitrate=3387.4kbits/s    
frame=28585 fps=145 q=2.0 size=  493122kB time=00:19:52.82 bitrate=3386.6kbits/s    
frame=28690 fps=146 q=2.0 size=  494517kB time=00:19:57.21 bitrate=3383.8kbits/s    
frame=28771 fps=145 q=2.0 size=  495695kB time=00:20:00.60 bitrate=3382.2kbits/s    
frame=28878 fps=146 q=2.0 size=  497231kB time=00:20:05.08 bitrate=3380.1kbits/s    
frame=28987 fps=146 q=2.0 size=  498767kB time=00:20:09.59 bitrate=3377.9kbits/s    
frame=29063 fps=146 q=2.0 size=  499857kB time=00:20:12.76 bitrate=3376.4kbits/s    
frame=29158 fps=146 q=2.0 size=  501308kB time=00:20:16.73 bitrate=3375.2kbits/s    
frame=29271 fps=146 q=2.0 size=  502851kB time=00:20:21.46 bitrate=3372.5kbits/s    
frame=29345 fps=146 q=1.6 size=  503873kB time=00:20:24.53 bitrate=3370.8kbits/s    
frame=29440 fps=146 q=2.0 size=  505445kB time=00:20:28.50 bitrate=3370.4kbits/s    
frame=29523 fps=146 q=2.0 size=  506946kB time=00:20:31.96 bitrate=3371.0kbits/s    
frame=29598 fps=146 q=2.0 size=  508497kB time=00:20:35.09 bitrate=3372.7kbits/s    
frame=29711 fps=146 q=2.0 size=  510018kB time=00:20:39.80 bitrate=3369.9kbits/s    
frame=29758 fps=146 q=2.0 size=  511056kB time=00:20:41.75 bitrate=3371.5kbits/s    
frame=29823 fps=146 q=2.0 size=  512599kB time=00:20:44.47 bitrate=3374.3kbits/s    
frame=29920 fps=146 q=2.0 size=  514119kB time=00:20:48.50 bitrate=3373.4kbits/s    
frame=29993 fps=146 q=1.6 size=  515677kB time=00:20:51.54 bitrate=3375.4kbits/s    
frame=30065 fps=146 q=1.6 size=  517269kB time=00:20:54.55 bitrate=3377.7kbits/s    
frame=30137 fps=146 q=1.6 size=  518761kB time=00:20:57.56 bitrate=3379.3kbits/s    
frame=30232 fps=146 q=2.0 size=  520255kB time=00:21:01.53 bitrate=3378.4kbits/s    
frame=30305 fps=146 q=1.6 size=  521822kB time=00:21:04.57 bitrate=3380.4kbits/s    
frame=30378 fps=146 q=2.0 size=  523342kB time=00:21:07.61 bitrate=3382.1kbits/s    
frame=30431 fps=146 q=2.0 size=  524426kB time=00:21:09.81 bitrate=3383.2kbits/s    
frame=30504 fps=146 q=2.0 size=  525930kB time=00:21:12.85 bitrate=3384.8kbits/s    
frame=30551 fps=145 q=2.0 size=  526935kB time=00:21:14.84 bitrate=3386.0kbits/s    
frame=30625 fps=145 q=2.0 size=  528468kB time=00:21:17.94 bitrate=3387.6kbits/s    
frame=30693 fps=145 q=2.0 size=  529998kB time=00:21:20.76 bitrate=3390.0kbits/s    
frame=30778 fps=145 q=2.0 size=  531521kB time=00:21:24.28 bitrate=3390.4kbits/s    
frame=30854 fps=145 q=2.0 size=  533071kB time=00:21:27.48 bitrate=3391.8kbits/s    
frame=30923 fps=145 q=2.0 size=  534602kB time=00:21:30.33 bitrate=3394.1kbits/s    
frame=30974 fps=145 q=2.0 size=  535789kB time=00:21:32.50 bitrate=3395.9kbits/s    
frame=31028 fps=145 q=2.0 size=  537153kB time=00:21:34.74 bitrate=3398.6kbits/s    
frame=31110 fps=145 q=2.0 size=  538716kB time=00:21:38.13 bitrate=3399.6kbits/s    
frame=31177 fps=145 q=2.0 size=  540033kB time=00:21:40.95 bitrate=3400.5kbits/s    
frame=31209 fps=145 q=1.6 size=  540774kB time=00:21:42.26 bitrate=3401.8kbits/s    
frame=31256 fps=145 q=2.0 size=  541801kB time=00:21:44.25 bitrate=3403.1kbits/s    
frame=31300 fps=144 q=2.0 size=  543359kB time=00:21:46.07 bitrate=3408.1kbits/s    
frame=31328 fps=144 q=2.0 size=  544837kB time=00:21:47.22 bitrate=3414.3kbits/s    
frame=31357 fps=144 q=2.0 size=  546402kB time=00:21:48.47 bitrate=3420.9kbits/s    
frame=31393 fps=144 q=2.0 size=  547415kB time=00:21:49.94 bitrate=3423.4kbits/s    
frame=31461 fps=144 q=1.6 size=  548936kB time=00:21:52.79 bitrate=3425.4kbits/s    
frame=31545 fps=144 q=1.6 size=  550422kB time=00:21:56.31 bitrate=3425.5kbits/s    
frame=31600 fps=144 q=2.0 size=  551647kB time=00:21:58.58 bitrate=3427.2kbits/s    
frame=31650 fps=144 q=2.0 size=  552693kB time=00:22:00.66 bitrate=3428.3kbits/s    
frame=31713 fps=143 q=1.6 size=  554041kB time=00:22:03.29 bitrate=3429.9kbits/s    
frame=31785 fps=143 q=1.6 size=  555518kB time=00:22:06.29 bitrate=3431.2kbits/s    
frame=31871 fps=144 q=2.0 size=  556988kB time=00:22:09.88 bitrate=3431.0kbits/s    
frame=31941 fps=144 q=1.6 size=  558185kB time=00:22:12.82 bitrate=3430.8kbits/s    
frame=32021 fps=144 q=2.0 size=  559698kB time=00:22:16.15 bitrate=3431.5kbits/s    
frame=32071 fps=143 q=2.0 size=  560724kB time=00:22:18.23 bitrate=3432.5kbits/s    
frame=32145 fps=143 q=1.6 size=  562269kB time=00:22:21.30 bitrate=3434.0kbits/s    
frame=32227 fps=143 q=2.0 size=  564006kB time=00:22:24.76 bitrate=3435.8kbits/s    
frame=32299 fps=143 q=2.0 size=  565331kB time=00:22:27.73 bitrate=3436.3kbits/s    
frame=32375 fps=143 q=2.0 size=  566992kB time=00:22:30.90 bitrate=3438.3kbits/s    
frame=32429 fps=143 q=2.0 size=  568404kB time=00:22:33.17 bitrate=3441.1kbits/s    
frame=32473 fps=143 q=2.0 size=  569585kB time=00:22:35.00 bitrate=3443.6kbits/s    
frame=32556 fps=143 q=2.0 size=  570997kB time=00:22:38.45 bitrate=3443.3kbits/s    
frame=32649 fps=143 q=1.6 size=  572506kB time=00:22:42.33 bitrate=3442.6kbits/s    
frame=32739 fps=143 q=2.0 size=  573871kB time=00:22:46.07 bitrate=3441.4kbits/s    
frame=32804 fps=143 q=2.0 size=  575048kB time=00:22:48.79 bitrate=3441.6kbits/s    
frame=32899 fps=143 q=2.0 size=  576685kB time=00:22:52.76 bitrate=3441.4kbits/s    
frame=32976 fps=143 q=2.0 size=  577904kB time=00:22:55.96 bitrate=3440.6kbits/s    
frame=33090 fps=143 q=2.0 size=  579660kB time=00:23:00.73 bitrate=3439.2kbits/s    
frame=33175 fps=143 q=2.0 size=  581182kB time=00:23:04.28 bitrate=3439.4kbits/s    
frame=33268 fps=143 q=2.0 size=  582730kB time=00:23:08.15 bitrate=3438.9kbits/s    
frame=33346 fps=143 q=1.6 size=  583790kB time=00:23:11.41 bitrate=3437.1kbits/s    
frame=33446 fps=143 q=2.0 size=  585281kB time=00:23:15.57 bitrate=3435.6kbits/s    
frame=33542 fps=144 q=2.0 size=  586388kB time=00:23:19.57 bitrate=3432.2kbits/s    
frame=33645 fps=144 q=2.0 size=  587891kB time=00:23:23.89 bitrate=3430.4kbits/s    
frame=33685 fps=144 q=2.0 size=  588925kB time=00:23:25.53 bitrate=3432.5kbits/s    
frame=33731 fps=143 q=2.0 size=  590208kB time=00:23:27.45 bitrate=3435.3kbits/s    
frame=33797 fps=143 q=2.0 size=  591696kB time=00:23:30.23 bitrate=3437.1kbits/s    
frame=33873 fps=143 q=2.0 size=  593206kB time=00:23:33.40 bitrate=3438.2kbits/s    
frame=33945 fps=143 q=2.0 size=  594536kB time=00:23:36.37 bitrate=3438.7kbits/s    
frame=34029 fps=144 q=2.0 size=  596051kB time=00:23:39.89 bitrate=3438.9kbits/s    
frame=34097 fps=143 q=2.0 size=  597262kB time=00:23:42.71 bitrate=3439.0kbits/s    
frame=34211 fps=144 q=2.0 size=  598970kB time=00:23:47.48 bitrate=3437.4kbits/s    
frame=34294 fps=144 q=1.6 size=  600468kB time=00:23:50.97 bitrate=3437.6kbits/s    
frame=34358 fps=144 q=2.0 size=  601679kB time=00:23:53.62 bitrate=3438.1kbits/s    
frame=34435 fps=144 q=2.0 size=  603203kB time=00:23:56.82 bitrate=3439.1kbits/s    
frame=34518 fps=144 q=2.0 size=  604749kB time=00:24:00.28 bitrate=3439.7kbits/s    
frame=34577 fps=144 q=2.0 size=  605782kB time=00:24:02.77 bitrate=3439.6kbits/s    
frame=34654 fps=144 q=1.6 size=  607335kB time=00:24:05.94 bitrate=3440.9kbits/s    
frame=34738 fps=144 q=1.6 size=  608838kB time=00:24:09.46 bitrate=3441.0kbits/s    
frame=34840 fps=144 q=2.0 size=  610466kB time=00:24:13.72 bitrate=3440.1kbits/s    
frame=34908 fps=144 q=2.0 size=  611554kB time=00:24:16.57 bitrate=3439.5kbits/s    
frame=35002 fps=144 q=1.6 size=  613050kB time=00:24:20.50 bitrate=3438.6kbits/s    
frame=35091 fps=144 q=2.0 size=  614485kB time=00:24:24.18 bitrate=3438.0kbits/s    
frame=35157 fps=144 q=2.0 size=  615530kB time=00:24:26.90 bitrate=3437.5kbits/s    
frame=35249 fps=144 q=2.0 size=  617023kB time=00:24:30.77 bitrate=3436.7kbits/s    
frame=35343 fps=144 q=2.0 size=  618583kB time=00:24:34.71 bitrate=3436.2kbits/s    
frame=35432 fps=144 q=2.0 size=  620084kB time=00:24:38.39 bitrate=3436.0kbits/s    
frame=35489 fps=144 q=2.0 size=  621126kB time=00:24:40.79 bitrate=3436.2kbits/s    
frame=35548 fps=144 q=2.0 size=  622342kB time=00:24:43.25 bitrate=3437.2kbits/s    
frame=35605 fps=144 q=2.0 size=  623437kB time=00:24:45.62 bitrate=3437.7kbits/s    
frame=35689 fps=144 q=2.0 size=  624715kB time=00:24:49.14 bitrate=3436.6kbits/s    
frame=35782 fps=144 q=1.6 size=  625947kB time=00:24:53.01 bitrate=3434.5kbits/s    
frame=35864 fps=144 q=2.0 size=  627114kB time=00:24:56.44 bitrate=3433.0kbits/s    
frame=35944 fps=144 q=2.0 size=  628669kB time=00:24:59.77 bitrate=3433.9kbits/s    
frame=35981 fps=144 q=2.0 size=  629378kB time=00:25:01.30 bitrate=3434.3kbits/s    
frame=36042 fps=144 q=2.0 size=  630583kB time=00:25:03.83 bitrate=3435.0kbits/s    
frame=36110 fps=144 q=2.0 size=  631903kB time=00:25:06.71 bitrate=3435.7kbits/s    
frame=36194 fps=144 q=2.0 size=  633432kB time=00:25:10.20 bitrate=3436.0kbits/s    
frame=36275 fps=144 q=2.0 size=  634606kB time=00:25:13.56 bitrate=3434.7kbits/s    
frame=36377 fps=144 q=2.0 size=  636016kB time=00:25:17.85 bitrate=3432.6kbits/s    
frame=36500 fps=144 q=2.0 size=  637518kB time=00:25:22.93 bitrate=3429.3kbits/s    
frame=36603 fps=144 q=2.0 size=  639072kB time=00:25:27.25 bitrate=3427.9kbits/s    
frame=36698 fps=144 q=2.0 size=  640584kB time=00:25:31.19 bitrate=3427.2kbits/s    
frame=36796 fps=144 q=2.0 size=  642115kB time=00:25:35.32 bitrate=3426.1kbits/s    
frame=36908 fps=145 q=2.0 size=  643921kB time=00:25:39.96 bitrate=3425.4kbits/s    
frame=36973 fps=144 q=2.0 size=  644948kB time=00:25:42.65 bitrate=3424.9kbits/s    
frame=37088 fps=145 q=2.0 size=  646727kB time=00:25:47.48 bitrate=3423.6kbits/s    
frame=37186 fps=145 q=1.6 size=  648276kB time=00:25:51.57 bitrate=3422.8kbits/s    
frame=37258 fps=145 q=1.6 size=  649300kB time=00:25:54.58 bitrate=3421.5kbits/s    
frame=37354 fps=145 q=1.6 size=  650496kB time=00:25:58.58 bitrate=3419.0kbits/s    
frame=37510 fps=145 q=1.6 size=  652320kB time=00:26:05.08 bitrate=3414.4kbits/s    
frame=37606 fps=145 q=1.6 size=  653382kB time=00:26:09.08 bitrate=3411.2kbits/s    
frame=37734 fps=145 q=2.0 size=  654815kB time=00:26:14.42 bitrate=3407.1kbits/s    
frame=37829 fps=145 q=2.0 size=  655950kB time=00:26:18.39 bitrate=3404.4kbits/s    
frame=37966 fps=146 q=1.6 size=  657470kB time=00:26:24.09 bitrate=3400.1kbits/s    
frame=38089 fps=146 q=2.0 size=  658934kB time=00:26:29.24 bitrate=3396.6kbits/s    
frame=38184 fps=146 q=2.0 size=  660107kB time=00:26:33.21 bitrate=3394.2kbits/s    
frame=38299 fps=146 q=2.0 size=  661562kB time=00:26:38.01 bitrate=3391.4kbits/s    
frame=38402 fps=146 q=2.0 size=  663174kB time=00:26:42.26 bitrate=3390.6kbits/s    
frame=38529 fps=146 q=2.0 size=  664637kB time=00:26:47.57 bitrate=3386.9kbits/s    
frame=38635 fps=146 q=2.0 size=  666115kB time=00:26:52.02 bitrate=3385.1kbits/s    
frame=38758 fps=146 q=1.6 size=  667719kB time=00:26:57.11 bitrate=3382.5kbits/s    
frame=38876 fps=147 q=2.0 size=  669285kB time=00:27:02.04 bitrate=3380.2kbits/s    
frame=38993 fps=147 q=2.0 size=  670628kB time=00:27:06.93 bitrate=3376.8kbits/s    
frame=39081 fps=147 q=2.0 size=  671818kB time=00:27:10.61 bitrate=3375.1kbits/s    
frame=39185 fps=147 q=2.0 size=  673681kB time=00:27:14.97 bitrate=3375.5kbits/s    
frame=39228 fps=147 q=2.0 size=  674456kB time=00:27:16.73 bitrate=3375.7kbits/s    
frame=39319 fps=147 q=2.0 size=  675913kB time=00:27:20.53 bitrate=3375.2kbits/s    
frame=39424 fps=147 q=2.0 size=  677449kB time=00:27:24.92 bitrate=3373.8kbits/s    
frame=39530 fps=147 q=2.0 size=  679005kB time=00:27:29.33 bitrate=3372.5kbits/s    
frame=39599 fps=147 q=2.0 size=  680004kB time=00:27:32.21 bitrate=3371.6kbits/s    
frame=39703 fps=147 q=2.0 size=  681539kB time=00:27:36.57 bitrate=3370.3kbits/s    
frame=39790 fps=147 q=1.6 size=  683081kB time=00:27:40.18 bitrate=3370.6kbits/s    
frame=39861 fps=147 q=2.0 size=  684624kB time=00:27:43.13 bitrate=3372.2kbits/s    
frame=39957 fps=147 q=2.0 size=  686154kB time=00:27:47.13 bitrate=3371.6kbits/s    
frame=40078 fps=147 q=1.6 size=  687748kB time=00:27:52.18 bitrate=3369.3kbits/s    
frame=40158 fps=147 q=2.0 size=  688713kB time=00:27:55.51 bitrate=3367.3kbits/s    
frame=40257 fps=147 q=2.0 size=  690053kB time=00:27:59.64 bitrate=3365.5kbits/s    
frame=40361 fps=147 q=2.0 size=  691261kB time=00:28:03.99 bitrate=3362.7kbits/s    
frame=40495 fps=148 q=2.0 size=  692804kB time=00:28:09.56 bitrate=3359.1kbits/s    
frame=40584 fps=148 q=2.0 size=  693816kB time=00:28:13.30 bitrate=3356.6kbits/s    
frame=40724 fps=148 q=2.0 size=  695443kB time=00:28:19.16 bitrate=3352.9kbits/s    
frame=40851 fps=148 q=2.0 size=  696924kB time=00:28:24.44 bitrate=3349.6kbits/s    
frame=40955 fps=148 q=2.0 size=  698495kB time=00:28:28.79 bitrate=3348.6kbits/s    
frame=41073 fps=148 q=2.0 size=  699981kB time=00:28:33.69 bitrate=3346.1kbits/s    
frame=41151 fps=148 q=2.0 size=  700973kB time=00:28:36.95 bitrate=3344.5kbits/s    
frame=41249 fps=148 q=2.0 size=  702178kB time=00:28:41.01 bitrate=3342.3kbits/s    
frame=41346 fps=148 q=2.0 size=  703324kB time=00:28:45.05 bitrate=3340.0kbits/s    
frame=41480 fps=149 q=2.0 size=  704794kB time=00:28:50.68 bitrate=3336.1kbits/s    
frame=41575 fps=149 q=2.0 size=  705961kB time=00:28:54.61 bitrate=3334.0kbits/s    
frame=41671 fps=149 q=2.0 size=  707643kB time=00:28:58.65 bitrate=3334.2kbits/s    
frame=41786 fps=149 q=2.0 size=  709335kB time=00:29:03.45 bitrate=3333.0kbits/s    
frame=41896 fps=149 q=2.0 size=  710867kB time=00:29:08.02 bitrate=3331.4kbits/s    
frame=42007 fps=149 q=1.6 size=  712393kB time=00:29:12.66 bitrate=3329.7kbits/s    
frame=42136 fps=149 q=2.0 size=  714279kB time=00:29:18.04 bitrate=3328.3kbits/s    
frame=42213 fps=149 q=2.0 size=  715860kB time=00:29:21.24 bitrate=3329.7kbits/s    
frame=42279 fps=149 q=2.0 size=  717473kB time=00:29:23.99 bitrate=3331.9kbits/s    
frame=42330 fps=149 q=2.0 size=  718625kB time=00:29:26.10 bitrate=3333.3kbits/s    
frame=42386 fps=149 q=2.0 size=  719946kB time=00:29:28.44 bitrate=3335.0kbits/s    
frame=42499 fps=149 q=1.6 size=  721698kB time=00:29:33.17 bitrate=3334.2kbits/s    
frame=42592 fps=149 q=2.0 size=  723018kB time=00:29:37.05 bitrate=3333.0kbits/s    
frame=42694 fps=149 q=2.0 size=  724541kB time=00:29:41.30 bitrate=3332.1kbits/s    
frame=42804 fps=149 q=2.0 size=  726092kB time=00:29:45.88 bitrate=3330.6kbits/s    
frame=42891 fps=149 q=2.0 size=  727377kB time=00:29:49.53 bitrate=3329.7kbits/s    
frame=42965 fps=149 q=2.0 size=  728536kB time=00:29:52.60 bitrate=3329.3kbits/s    
frame=43045 fps=150 q=2.0 size=  729823kB time=00:29:55.96 bitrate=3329.0kbits/s    
frame=43172 fps=150 q=2.0 size=  731712kB time=00:30:01.24 bitrate=3327.8kbits/s    
frame=43274 fps=150 q=2.0 size=  733293kB time=00:30:05.49 bitrate=3327.1kbits/s    
frame=43394 fps=150 q=2.0 size=  734782kB time=00:30:10.49 bitrate=3324.7kbits/s    
frame=43471 fps=150 q=1.6 size=  735813kB time=00:30:13.72 bitrate=3323.4kbits/s    
frame=43590 fps=150 q=2.0 size=  737342kB time=00:30:18.68 bitrate=3321.3kbits/s    
frame=43671 fps=150 q=2.0 size=  738397kB time=00:30:22.07 bitrate=3319.8kbits/s    
frame=43790 fps=150 q=2.0 size=  740055kB time=00:30:27.00 bitrate=3318.3kbits/s    
frame=43892 fps=150 q=2.0 size=  741444kB time=00:30:31.29 bitrate=3316.7kbits/s    
frame=44011 fps=150 q=1.6 size=  742976kB time=00:30:36.21 bitrate=3314.7kbits/s    
frame=44113 fps=150 q=2.0 size=  744515kB time=00:30:40.50 bitrate=3313.8kbits/s    
frame=44194 fps=150 q=2.0 size=  746096kB time=00:30:43.86 bitrate=3314.8kbits/s    
frame=44264 fps=150 q=2.0 size=  747410kB time=00:30:46.77 bitrate=3315.4kbits/s    
frame=44327 fps=150 q=2.0 size=  748619kB time=00:30:49.43 bitrate=3316.0kbits/s    
frame=44402 fps=150 q=2.0 size=  750161kB time=00:30:52.53 bitrate=3317.2kbits/s    
frame=44459 fps=150 q=2.0 size=  751172kB time=00:30:54.90 bitrate=3317.5kbits/s    
frame=44520 fps=150 q=2.0 size=  752276kB time=00:30:57.46 bitrate=3317.8kbits/s    
frame=44603 fps=150 q=2.0 size=  753745kB time=00:31:00.92 bitrate=3318.1kbits/s    
frame=44685 fps=150 q=2.0 size=  755293kB time=00:31:04.34 bitrate=3318.8kbits/s    
frame=44754 fps=150 q=2.0 size=  756809kB time=00:31:07.22 bitrate=3320.3kbits/s    
frame=44822 fps=150 q=2.0 size=  758350kB time=00:31:10.07 bitrate=3322.0kbits/s    
frame=44899 fps=150 q=1.6 size=  759912kB time=00:31:13.27 bitrate=3323.2kbits/s    
frame=44973 fps=150 q=2.0 size=  761420kB time=00:31:16.34 bitrate=3324.3kbits/s    
frame=45050 fps=150 q=2.0 size=  762948kB time=00:31:19.57 bitrate=3325.3kbits/s    
frame=45118 fps=150 q=2.0 size=  764267kB time=00:31:22.39 bitrate=3326.0kbits/s    
frame=45200 fps=150 q=2.0 size=  765808kB time=00:31:25.81 bitrate=3326.7kbits/s    
frame=45259 fps=150 q=1.6 size=  767050kB time=00:31:28.28 bitrate=3327.7kbits/s    
frame=45304 fps=150 q=2.0 size=  768086kB time=00:31:30.13 bitrate=3328.9kbits/s    
frame=45393 fps=150 q=2.0 size=  770123kB time=00:31:33.88 bitrate=3331.2kbits/s    
frame=45486 fps=149 q=2.0 size=  772171kB time=00:31:37.75 bitrate=3333.2kbits/s    
frame=45538 fps=149 q=2.0 size=  773458kB time=00:31:39.93 bitrate=3334.9kbits/s    
frame=45589 fps=149 q=2.0 size=  774740kB time=00:31:42.04 bitrate=3336.8kbits/s    
frame=45654 fps=149 q=2.0 size=  776278kB time=00:31:44.76 bitrate=3338.6kbits/s    
frame=45705 fps=149 q=2.0 size=  777633kB time=00:31:46.87 bitrate=3340.7kbits/s    
frame=45775 fps=149 q=1.6 size=  779342kB time=00:31:49.81 bitrate=3342.9kbits/s    
frame=45840 fps=149 q=2.0 size=  780871kB time=00:31:52.50 bitrate=3344.8kbits/s    
frame=45916 fps=149 q=2.0 size=  782472kB time=00:31:55.67 bitrate=3346.1kbits/s    
frame=45976 fps=149 q=2.0 size=  783461kB time=00:31:58.17 bitrate=3346.0kbits/s    
frame=46103 fps=149 q=2.0 size=  785248kB time=00:32:03.48 bitrate=3344.3kbits/s    
frame=46205 fps=149 q=2.0 size=  786756kB time=00:32:07.73 bitrate=3343.3kbits/s    
frame=46323 fps=149 q=2.0 size=  788547kB time=00:32:12.66 bitrate=3342.4kbits/s    
frame=46420 fps=149 q=2.0 size=  790011kB time=00:32:16.69 bitrate=3341.6kbits/s    
frame=46539 fps=150 q=2.0 size=  791616kB time=00:32:21.69 bitrate=3339.8kbits/s    
frame=46664 fps=150 q=2.0 size=  793443kB time=00:32:26.87 bitrate=3338.6kbits/s    
frame=46785 fps=150 q=2.0 size=  795205kB time=00:32:31.93 bitrate=3337.4kbits/s    
frame=46876 fps=150 q=2.0 size=  796631kB time=00:32:35.70 bitrate=3336.9kbits/s    
frame=46938 fps=150 q=2.0 size=  798406kB time=00:32:38.29 bitrate=3339.9kbits/s    
frame=47001 fps=150 q=2.0 size=  800091kB time=00:32:40.95 bitrate=3342.4kbits/s    
frame=47072 fps=150 q=2.0 size=  801882kB time=00:32:43.89 bitrate=3344.9kbits/s    
frame=47129 fps=150 q=2.0 size=  803316kB time=00:32:46.26 bitrate=3346.8kbits/s    
frame=47171 fps=150 q=2.0 size=  804728kB time=00:32:48.02 bitrate=3349.7kbits/s    
frame=47229 fps=149 q=2.0 size=  806485kB time=00:32:50.45 bitrate=3352.9kbits/s    
frame=47325 fps=150 q=2.0 size=  808118kB time=00:32:54.45 bitrate=3352.9kbits/s    
frame=47428 fps=150 q=2.0 size=  809680kB time=00:32:58.74 bitrate=3352.1kbits/s    
frame=47557 fps=150 q=2.0 size=  811387kB time=00:33:04.12 bitrate=3350.0kbits/s    
frame=47688 fps=150 q=2.0 size=  813128kB time=00:33:09.59 bitrate=3348.0kbits/s    
frame=47809 fps=150 q=2.0 size=  814662kB time=00:33:14.65 bitrate=3345.8kbits/s    
frame=47924 fps=150 q=2.0 size=  816188kB time=00:33:19.45 bitrate=3344.0kbits/s    
frame=48046 fps=150 q=2.0 size=  817877kB time=00:33:24.53 bitrate=3342.4kbits/s    
frame=48153 fps=151 q=2.0 size=  819481kB time=00:33:28.98 bitrate=3341.6kbits/s    
frame=48261 fps=151 q=2.0 size=  820960kB time=00:33:33.49 bitrate=3340.1kbits/s    
frame=48371 fps=151 q=2.0 size=  822343kB time=00:33:38.07 bitrate=3338.1kbits/s    
frame=48494 fps=151 q=2.0 size=  823905kB time=00:33:43.19 bitrate=3336.0kbits/s    
frame=48612 fps=151 q=2.0 size=  825479kB time=00:33:48.12 bitrate=3334.3kbits/s    
frame=48734 fps=151 q=2.0 size=  827022kB time=00:33:53.21 bitrate=3332.2kbits/s    
frame=48867 fps=151 q=2.0 size=  828661kB time=00:33:58.74 bitrate=3329.7kbits/s    
frame=48979 fps=151 q=1.6 size=  830040kB time=00:34:03.45 bitrate=3327.6kbits/s    
frame=49102 fps=151 q=2.0 size=  831567kB time=00:34:08.57 bitrate=3325.3kbits/s    
frame=49223 fps=152 q=2.0 size=  833137kB time=00:34:13.62 bitrate=3323.4kbits/s    
frame=49355 fps=152 q=2.0 size=  834623kB time=00:34:19.09 bitrate=3320.5kbits/s    
frame=49446 fps=152 q=2.0 size=  835724kB time=00:34:22.93 bitrate=3318.7kbits/s    
frame=49546 fps=152 q=2.0 size=  837039kB time=00:34:27.06 bitrate=3317.3kbits/s    
frame=49648 fps=152 q=2.0 size=  838733kB time=00:34:31.35 bitrate=3317.1kbits/s    
frame=49708 fps=152 q=2.0 size=  839746kB time=00:34:33.85 bitrate=3317.1kbits/s    
frame=49835 fps=152 q=2.0 size=  841282kB time=00:34:39.16 bitrate=3314.7kbits/s    
frame=49956 fps=152 q=2.0 size=  842816kB time=00:34:44.18 bitrate=3312.7kbits/s    
frame=50072 fps=152 q=2.0 size=  844354kB time=00:34:49.01 bitrate=3311.1kbits/s    
frame=50195 fps=152 q=2.0 size=  845941kB time=00:34:54.13 bitrate=3309.2kbits/s    
frame=50322 fps=153 q=2.0 size=  847421kB time=00:34:59.45 bitrate=3306.6kbits/s    
frame=50388 fps=152 q=2.0 size=  848963kB time=00:35:02.20 bitrate=3308.3kbits/s    
frame=50468 fps=152 q=2.0 size=  851026kB time=00:35:05.56 bitrate=3311.0kbits/s    
frame=50539 fps=152 q=1.6 size=  852565kB time=00:35:08.50 bitrate=3312.4kbits/s    
frame=50607 fps=152 q=2.0 size=  853976kB time=00:35:11.32 bitrate=3313.5kbits/s    
frame=50659 fps=152 q=1.6 size=  855131kB time=00:35:13.53 bitrate=3314.5kbits/s    
frame=50731 fps=152 q=1.6 size=  856673kB time=00:35:16.50 bitrate=3315.8kbits/s    
frame=50797 fps=152 q=2.0 size=  858184kB time=00:35:19.25 bitrate=3317.3kbits/s    
frame=50863 fps=152 q=1.6 size=  859749kB time=00:35:22.01 bitrate=3319.1kbits/s    
frame=50934 fps=152 q=2.0 size=  861265kB time=00:35:24.95 bitrate=3320.3kbits/s    
frame=51011 fps=152 q=2.0 size=  862626kB time=00:35:28.18 bitrate=3320.5kbits/s    
frame=51103 fps=152 q=1.6 size=  864217kB time=00:35:32.02 bitrate=3320.6kbits/s    
frame=51201 fps=152 q=2.0 size=  865819kB time=00:35:36.09 bitrate=3320.5kbits/s    
frame=51251 fps=152 q=2.0 size=  866894kB time=00:35:38.20 bitrate=3321.3kbits/s    
frame=51319 fps=152 q=1.6 size=  868158kB time=00:35:41.05 bitrate=3321.7kbits/s    
frame=51424 fps=152 q=2.0 size=  870053kB time=00:35:45.40 bitrate=3322.2kbits/s    
frame=51500 fps=152 q=2.0 size=  871502kB time=00:35:48.57 bitrate=3322.8kbits/s    
frame=51586 fps=152 q=2.0 size=  873052kB time=00:35:52.18 bitrate=3323.1kbits/s    
frame=51651 fps=152 q=2.0 size=  874427kB time=00:35:54.90 bitrate=3324.2kbits/s    
frame=51699 fps=152 q=2.0 size=  875377kB time=00:35:56.89 bitrate=3324.7kbits/s    
frame=51791 fps=152 q=2.0 size=  877123kB time=00:36:00.73 bitrate=3325.4kbits/s    
frame=51874 fps=152 q=2.0 size=  879088kB time=00:36:04.18 bitrate=3327.6kbits/s    
frame=51936 fps=152 q=2.0 size=  880272kB time=00:36:06.77 bitrate=3328.1kbits/s    
frame=52005 fps=152 q=2.0 size=  881410kB time=00:36:09.65 bitrate=3327.9kbits/s    
frame=52129 fps=152 q=2.0 size=  883263kB time=00:36:14.81 bitrate=3327.0kbits/s    
frame=52210 fps=152 q=2.0 size=  884567kB time=00:36:18.20 bitrate=3326.8kbits/s    
frame=52338 fps=152 q=2.0 size=  886341kB time=00:36:23.51 bitrate=3325.3kbits/s    
frame=52437 fps=152 q=2.0 size=  888027kB time=00:36:27.64 bitrate=3325.4kbits/s    
frame=52497 fps=152 q=2.0 size=  889388kB time=00:36:30.17 bitrate=3326.6kbits/s    
frame=52594 fps=152 q=2.0 size=  891018kB time=00:36:34.20 bitrate=3326.6kbits/s    
frame=52644 fps=152 q=1.6 size=  892375kB time=00:36:36.28 bitrate=3328.5kbits/s    
frame=52710 fps=152 q=2.0 size=  894028kB time=00:36:39.06 bitrate=3330.4kbits/s    
frame=52786 fps=152 q=2.0 size=  895670kB time=00:36:42.23 bitrate=3331.8kbits/s    
frame=52841 fps=152 q=2.0 size=  896851kB time=00:36:44.53 bitrate=3332.7kbits/s    
frame=52946 fps=152 q=2.0 size=  898705kB time=00:36:48.92 bitrate=3332.9kbits/s    
frame=53030 fps=152 q=2.0 size=  900407kB time=00:36:52.41 bitrate=3334.0kbits/s    
frame=53099 fps=152 q=2.0 size=  902175kB time=00:36:55.29 bitrate=3336.2kbits/s    
frame=53155 fps=152 q=2.0 size=  903527kB time=00:36:57.59 bitrate=3337.7kbits/s    
frame=53251 fps=152 q=2.0 size=  905281kB time=00:37:01.62 bitrate=3338.1kbits/s    
frame=53328 fps=152 q=1.6 size=  906877kB time=00:37:04.82 bitrate=3339.2kbits/s    
frame=53383 fps=152 q=2.0 size=  908362kB time=00:37:07.09 bitrate=3341.3kbits/s    
frame=53466 fps=152 q=2.0 size=  909957kB time=00:37:10.58 bitrate=3341.9kbits/s    
frame=53559 fps=152 q=2.0 size=  911424kB time=00:37:14.45 bitrate=3341.5kbits/s    
frame=53664 fps=152 q=2.0 size=  913250kB time=00:37:18.84 bitrate=3341.6kbits/s    
frame=53715 fps=152 q=2.0 size=  914602kB time=00:37:20.95 bitrate=3343.4kbits/s    
frame=53774 fps=152 q=2.0 size=  916131kB time=00:37:23.41 bitrate=3345.3kbits/s    
frame=53837 fps=152 q=1.6 size=  917816kB time=00:37:26.04 bitrate=3347.6kbits/s    
frame=53904 fps=152 q=2.0 size=  919637kB time=00:37:28.85 bitrate=3350.0kbits/s    
frame=53966 fps=152 q=2.0 size=  921196kB time=00:37:31.45 bitrate=3351.8kbits/s    
frame=54049 fps=152 q=2.0 size=  923212kB time=00:37:34.90 bitrate=3354.0kbits/s    
frame=54113 fps=152 q=1.6 size=  924765kB time=00:37:37.56 bitrate=3355.7kbits/s    
frame=54238 fps=152 q=2.0 size=  926277kB time=00:37:42.81 bitrate=3353.4kbits/s    
frame=54353 fps=152 q=2.0 size=  928037kB time=00:37:47.57 bitrate=3352.7kbits/s    
frame=54449 fps=152 q=2.0 size=  929473kB time=00:37:51.57 bitrate=3352.0kbits/s    
frame=54533 fps=152 q=2.0 size=  930898kB time=00:37:55.09 bitrate=3351.9kbits/s    
frame=54639 fps=152 q=2.0 size=  932286kB time=00:37:59.51 bitrate=3350.4kbits/s    
frame=54761 fps=153 q=2.0 size=  934276kB time=00:38:04.60 bitrate=3350.1kbits/s    
frame=54823 fps=153 q=2.0 size=  935659kB time=00:38:07.19 bitrate=3351.2kbits/s    
frame=54896 fps=152 q=2.0 size=  937548kB time=00:38:10.23 bitrate=3353.5kbits/s    
frame=54961 fps=152 q=2.0 size=  939089kB time=00:38:12.95 bitrate=3355.1kbits/s    
frame=55033 fps=152 q=2.0 size=  940827kB time=00:38:15.93 bitrate=3356.9kbits/s    
frame=55085 fps=152 q=2.0 size=  942147kB time=00:38:18.13 bitrate=3358.4kbits/s    
frame=55163 fps=152 q=2.0 size=  944060kB time=00:38:21.37 bitrate=3360.5kbits/s    
frame=55242 fps=152 q=2.0 size=  945738kB time=00:38:24.66 bitrate=3361.7kbits/s    
frame=55360 fps=152 q=2.0 size=  947784kB time=00:38:29.56 bitrate=3361.8kbits/s    
frame=55448 fps=152 q=2.0 size=  949647kB time=00:38:33.24 bitrate=3363.0kbits/s    
frame=55492 fps=152 q=2.0 size=  950561kB time=00:38:35.09 bitrate=3363.6kbits/s    
frame=55595 fps=152 q=2.0 size=  952234kB time=00:38:39.38 bitrate=3363.3kbits/s    
frame=55693 fps=152 q=2.0 size=  953928kB time=00:38:43.48 bitrate=3363.3kbits/s    
frame=55779 fps=152 q=2.0 size=  955979kB time=00:38:47.03 bitrate=3365.4kbits/s    
frame=55843 fps=152 q=2.0 size=  957532kB time=00:38:49.72 bitrate=3367.0kbits/s    
frame=55909 fps=152 q=2.0 size=  959249kB time=00:38:52.47 bitrate=3369.0kbits/s    
frame=56010 fps=152 q=2.0 size=  960842kB time=00:38:56.73 bitrate=3368.5kbits/s    
frame=56086 fps=152 q=2.0 size=  962180kB time=00:38:59.86 bitrate=3368.6kbits/s    
frame=56179 fps=152 q=2.0 size=  963938kB time=00:39:03.73 bitrate=3369.2kbits/s    
frame=56242 fps=152 q=2.0 size=  965231kB time=00:39:06.36 bitrate=3370.0kbits/s    
frame=56327 fps=152 q=2.0 size=  967231kB time=00:39:09.91 bitrate=3371.8kbits/s    
frame=56388 fps=152 q=2.0 size=  968774kB time=00:39:12.47 bitrate=3373.6kbits/s    
frame=56486 fps=152 q=2.0 size=  970125kB time=00:39:16.53 bitrate=3372.4kbits/s    
frame=56613 fps=152 q=1.6 size=  971867kB time=00:39:21.85 bitrate=3370.9kbits/s    
frame=56674 fps=152 q=2.0 size=  973242kB time=00:39:24.37 bitrate=3372.0kbits/s    
frame=56765 fps=152 q=2.0 size=  975131kB time=00:39:28.18 bitrate=3373.2kbits/s    
frame=56835 fps=152 q=2.0 size=  976746kB time=00:39:31.09 bitrate=3374.6kbits/s    
frame=56892 fps=152 q=2.0 size=  978083kB time=00:39:33.49 bitrate=3375.8kbits/s    
frame=56970 fps=152 q=2.0 size=  980003kB time=00:39:36.76 bitrate=3377.8kbits/s    
frame=57037 fps=152 q=2.0 size=  981577kB time=00:39:39.54 bitrate=3379.2kbits/s    
frame=57088 fps=152 q=2.0 size=  982846kB time=00:39:41.65 bitrate=3380.6kbits/s    
frame=57147 fps=152 q=2.0 size=  983921kB time=00:39:44.12 bitrate=3380.8kbits/s    
frame=57226 fps=152 q=2.0 size=  985649kB time=00:39:47.41 bitrate=3382.1kbits/s    
frame=57273 fps=152 q=2.0 size=  986697kB time=00:39:49.37 bitrate=3382.9kbits/s    
frame=57374 fps=152 q=2.0 size=  988608kB time=00:39:53.56 bitrate=3383.5kbits/s    
frame=57447 fps=152 q=2.0 size=  990297kB time=00:39:56.63 bitrate=3385.0kbits/s    
frame=57518 fps=152 q=2.0 size=  992035kB time=00:39:59.61 bitrate=3386.7kbits/s    
frame=57596 fps=152 q=2.0 size=  993675kB time=00:40:02.84 bitrate=3387.7kbits/s    
frame=57661 fps=152 q=2.0 size=  994910kB time=00:40:05.56 bitrate=3388.1kbits/s    
frame=57729 fps=152 q=2.0 size=  996751kB time=00:40:08.37 bitrate=3390.4kbits/s    
frame=57800 fps=152 q=2.0 size=  998453kB time=00:40:11.35 bitrate=3392.0kbits/s    
frame=57863 fps=152 q=2.0 size= 1000004kB time=00:40:13.97 bitrate=3393.6kbits/s    
frame=57935 fps=152 q=2.0 size= 1001728kB time=00:40:16.98 bitrate=3395.2kbits/s    
frame=57990 fps=152 q=2.0 size= 1002905kB time=00:40:19.25 bitrate=3396.0kbits/s    
frame=58060 fps=152 q=2.0 size= 1004335kB time=00:40:22.17 bitrate=3396.8kbits/s    
frame=58145 fps=152 q=2.0 size= 1005653kB time=00:40:25.72 bitrate=3396.2kbits/s    
frame=58212 fps=152 q=2.0 size= 1007186kB time=00:40:28.53 bitrate=3397.5kbits/s    
frame=58304 fps=152 q=2.0 size= 1009242kB time=00:40:32.34 bitrate=3399.1kbits/s    
frame=58393 fps=152 q=2.0 size= 1011214kB time=00:40:36.09 bitrate=3400.5kbits/s    
frame=58458 fps=152 q=1.6 size= 1012611kB time=00:40:38.77 bitrate=3401.4kbits/s    
frame=58520 fps=152 q=2.0 size= 1014338kB time=00:40:41.37 bitrate=3403.6kbits/s    
frame=58576 fps=152 q=2.0 size= 1015905kB time=00:40:43.70 bitrate=3405.6kbits/s    
frame=58639 fps=152 q=2.0 size= 1017419kB time=00:40:46.36 bitrate=3407.0kbits/s    
frame=58714 fps=152 q=2.0 size= 1019004kB time=00:40:49.46 bitrate=3408.0kbits/s    
frame=58783 fps=152 q=2.0 size= 1020509kB time=00:40:52.34 bitrate=3409.0kbits/s    
frame=58854 fps=152 q=1.6 size= 1022042kB time=00:40:55.29 bitrate=3410.0kbits/s    
frame=58948 fps=152 q=2.0 size= 1023675kB time=00:40:59.22 bitrate=3410.0kbits/s    
frame=59037 fps=152 q=2.0 size= 1024883kB time=00:41:02.93 bitrate=3408.9kbits/s    
frame=59138 fps=152 q=2.0 size= 1026629kB time=00:41:07.13 bitrate=3408.9kbits/s    
frame=59193 fps=152 q=2.0 size= 1027886kB time=00:41:09.43 bitrate=3409.9kbits/s    
frame=59282 fps=152 q=2.0 size= 1029211kB time=00:41:13.14 bitrate=3409.1kbits/s    
frame=59374 fps=152 q=2.0 size= 1030740kB time=00:41:16.98 bitrate=3408.9kbits/s    
frame=59458 fps=152 q=2.0 size= 1032284kB time=00:41:20.50 bitrate=3409.2kbits/s    
frame=59540 fps=152 q=2.0 size= 1033810kB time=00:41:23.89 bitrate=3409.5kbits/s    
frame=59630 fps=152 q=2.0 size= 1035332kB time=00:41:27.67 bitrate=3409.4kbits/s    
frame=59708 fps=152 q=2.0 size= 1036859kB time=00:41:30.90 bitrate=3410.0kbits/s    
frame=59817 fps=152 q=2.0 size= 1038647kB time=00:41:35.51 bitrate=3409.6kbits/s    
frame=59882 fps=152 q=2.0 size= 1040105kB time=00:41:38.20 bitrate=3410.7kbits/s    
frame=59944 fps=152 q=2.0 size= 1041530kB time=00:41:40.76 bitrate=3411.8kbits/s    
frame=60009 fps=152 q=2.0 size= 1042966kB time=00:41:43.48 bitrate=3412.8kbits/s    
frame=60070 fps=152 q=2.0 size= 1044059kB time=00:41:46.01 bitrate=3413.0kbits/s    
frame=60168 fps=152 q=2.0 size= 1046088kB time=00:41:50.10 bitrate=3414.0kbits/s    
frame=60242 fps=152 q=2.0 size= 1047629kB time=00:41:53.17 bitrate=3414.9kbits/s    
frame=60321 fps=152 q=2.0 size= 1049277kB time=00:41:56.50 bitrate=3415.7kbits/s    
frame=60395 fps=152 q=1.6 size= 1050821kB time=00:41:59.57 bitrate=3416.6kbits/s    
frame=60461 fps=152 q=2.0 size= 1052241kB time=00:42:02.33 bitrate=3417.5kbits/s    
frame=60522 fps=152 q=2.0 size= 1053771kB time=00:42:04.89 bitrate=3419.0kbits/s    
frame=60584 fps=152 q=2.0 size= 1055312kB time=00:42:07.48 bitrate=3420.4kbits/s    
frame=60674 fps=152 q=2.0 size= 1057369kB time=00:42:11.22 bitrate=3422.0kbits/s    
frame=60738 fps=152 q=2.0 size= 1058889kB time=00:42:13.88 bitrate=3423.4kbits/s    
frame=60814 fps=152 q=2.0 size= 1060706kB time=00:42:17.05 bitrate=3425.0kbits/s    
frame=60871 fps=152 q=2.0 size= 1062103kB time=00:42:19.41 bitrate=3426.3kbits/s    
frame=60938 fps=152 q=2.0 size= 1063617kB time=00:42:22.23 bitrate=3427.4kbits/s    
frame=61020 fps=152 q=2.0 size= 1065348kB time=00:42:25.62 bitrate=3428.4kbits/s    
frame=61115 fps=152 q=1.6 size= 1067078kB time=00:42:29.62 bitrate=3428.5kbits/s    
frame=61206 fps=152 q=2.0 size= 1068676kB time=00:42:33.40 bitrate=3428.6kbits/s    
frame=61287 fps=152 q=2.0 size= 1070158kB time=00:42:36.76 bitrate=3428.8kbits/s    
frame=61368 fps=152 q=2.0 size= 1071688kB time=00:42:40.15 bitrate=3429.2kbits/s    
frame=61434 fps=152 q=2.0 size= 1073014kB time=00:42:42.90 bitrate=3429.7kbits/s    
frame=61525 fps=152 q=2.0 size= 1074350kB time=00:42:46.68 bitrate=3429.0kbits/s    
frame=61615 fps=152 q=1.6 size= 1076296kB time=00:42:50.45 bitrate=3430.1kbits/s    
frame=61694 fps=152 q=2.0 size= 1077958kB time=00:42:53.75 bitrate=3431.0kbits/s    
frame=61740 fps=152 q=2.0 size= 1078914kB time=00:42:55.67 bitrate=3431.5kbits/s    
frame=61840 fps=152 q=2.0 size= 1080684kB time=00:42:59.86 bitrate=3431.6kbits/s    
frame=61915 fps=152 q=1.6 size= 1082098kB time=00:43:02.97 bitrate=3431.9kbits/s    
frame=61972 fps=152 q=2.0 size= 1083478kB time=00:43:05.37 bitrate=3433.1kbits/s    
frame=62047 fps=152 q=1.6 size= 1085166kB time=00:43:08.47 bitrate=3434.3kbits/s    
frame=62142 fps=152 q=2.0 size= 1087053kB time=00:43:12.44 bitrate=3435.0kbits/s    
frame=62240 fps=152 q=2.0 size= 1089105kB time=00:43:16.53 bitrate=3436.1kbits/s    
frame=62303 fps=152 q=2.0 size= 1090631kB time=00:43:19.16 bitrate=3437.4kbits/s    
frame=62403 fps=152 q=2.0 size= 1092682kB time=00:43:23.32 bitrate=3438.4kbits/s    
frame=62491 fps=152 q=1.6 size= 1094317kB time=00:43:27.00 bitrate=3438.7kbits/s    
frame=62573 fps=152 q=2.0 size= 1095779kB time=00:43:30.42 bitrate=3438.8kbits/s    
frame=62653 fps=152 q=2.0 size= 1097289kB time=00:43:33.75 bitrate=3439.1kbits/s    
frame=62734 fps=152 q=2.0 size= 1098814kB time=00:43:37.14 bitrate=3439.4kbits/s    
frame=62819 fps=152 q=2.0 size= 1100371kB time=00:43:40.69 bitrate=3439.6kbits/s    
frame=62904 fps=152 q=2.0 size= 1101890kB time=00:43:44.25 bitrate=3439.7kbits/s    
frame=62971 fps=151 q=1.6 size= 1103442kB time=00:43:47.03 bitrate=3440.9kbits/s    
frame=63069 fps=151 q=2.0 size= 1105481kB time=00:43:51.09 bitrate=3441.9kbits/s    
frame=63125 fps=151 q=2.0 size= 1107023kB time=00:43:53.46 bitrate=3443.6kbits/s    
frame=63191 fps=151 q=2.0 size= 1108546kB time=00:43:56.18 bitrate=3444.8kbits/s    
frame=63267 fps=151 q=2.0 size= 1109981kB time=00:43:59.35 bitrate=3445.1kbits/s    
frame=63372 fps=151 q=2.0 size= 1111997kB time=00:44:03.73 bitrate=3445.7kbits/s    
frame=63432 fps=151 q=2.0 size= 1113058kB time=00:44:06.23 bitrate=3445.7kbits/s    
frame=63527 fps=151 q=2.0 size= 1114693kB time=00:44:10.20 bitrate=3445.6kbits/s    
frame=63631 fps=152 q=1.6 size= 1116495kB time=00:44:14.55 bitrate=3445.5kbits/s    
frame=63737 fps=152 q=2.0 size= 1118019kB time=00:44:18.97 bitrate=3444.5kbits/s    
frame=63847 fps=152 q=1.6 size= 1119524kB time=00:44:23.54 bitrate=3443.2kbits/s    
frame=63967 fps=152 q=1.6 size= 1121190kB time=00:44:28.57 bitrate=3441.8kbits/s    
frame=64089 fps=152 q=2.0 size= 1122818kB time=00:44:33.65 bitrate=3440.3kbits/s    
frame=64199 fps=152 q=2.0 size= 1124404kB time=00:44:38.23 bitrate=3439.3kbits/s    
frame=64259 fps=152 q=2.0 size= 1125528kB time=00:44:40.73 bitrate=3439.5kbits/s    
frame=64374 fps=152 q=2.0 size= 1127454kB time=00:44:45.53 bitrate=3439.2kbits/s    
frame=64466 fps=152 q=2.0 size= 1129030kB time=00:44:49.37 bitrate=3439.1kbits/s    
frame=64547 fps=152 q=2.0 size= 1130284kB time=00:44:52.76 bitrate=3438.6kbits/s    
frame=64627 fps=152 q=1.6 size= 1131598kB time=00:44:56.09 bitrate=3438.3kbits/s    
frame=64721 fps=152 q=2.0 size= 1133224kB time=00:44:59.99 bitrate=3438.3kbits/s    
frame=64779 fps=152 q=2.0 size= 1134348kB time=00:45:02.42 bitrate=3438.6kbits/s    
frame=64887 fps=152 q=2.0 size= 1135901kB time=00:45:06.93 bitrate=3437.6kbits/s    
frame=65021 fps=152 q=2.0 size= 1137763kB time=00:45:12.53 bitrate=3436.1kbits/s    
frame=65126 fps=152 q=2.0 size= 1139331kB time=00:45:16.89 bitrate=3435.3kbits/s    
frame=65207 fps=152 q=2.0 size= 1140472kB time=00:45:20.28 bitrate=3434.5kbits/s    
frame=65331 fps=152 q=2.0 size= 1142352kB time=00:45:25.43 bitrate=3433.6kbits/s    
frame=65422 fps=152 q=2.0 size= 1143907kB time=00:45:29.24 bitrate=3433.5kbits/s    
frame=65517 fps=153 q=2.0 size= 1145903kB time=00:45:33.21 bitrate=3434.5kbits/s    
frame=65598 fps=152 q=2.0 size= 1147483kB time=00:45:36.57 bitrate=3435.0kbits/s    
frame=65665 fps=152 q=1.6 size= 1149327kB time=00:45:39.38 bitrate=3437.0kbits/s    
frame=65724 fps=152 q=2.0 size= 1151049kB time=00:45:41.85 bitrate=3439.1kbits/s    
frame=65773 fps=152 q=1.6 size= 1152601kB time=00:45:43.86 bitrate=3441.2kbits/s    
frame=65824 fps=152 q=2.0 size= 1154181kB time=00:45:46.04 bitrate=3443.2kbits/s    
frame=65879 fps=152 q=2.0 size= 1155981kB time=00:45:48.31 bitrate=3445.7kbits/s    
frame=65933 fps=152 q=2.0 size= 1157725kB time=00:45:50.55 bitrate=3448.1kbits/s    
frame=65998 fps=152 q=2.0 size= 1159759kB time=00:45:53.27 bitrate=3450.7kbits/s    
frame=66049 fps=152 q=1.6 size= 1161353kB time=00:45:55.38 bitrate=3452.8kbits/s    
frame=66113 fps=152 q=2.0 size= 1163343kB time=00:45:58.07 bitrate=3455.3kbits/s    
frame=66176 fps=152 q=2.0 size= 1165377kB time=00:46:00.69 bitrate=3458.1kbits/s    
frame=66236 fps=152 q=2.0 size= 1167033kB time=00:46:03.19 bitrate=3459.9kbits/s    
frame=66294 fps=152 q=2.0 size= 1168678kB time=00:46:05.62 bitrate=3461.7kbits/s    
frame=66357 fps=152 q=2.0 size= 1170503kB time=00:46:08.25 bitrate=3463.8kbits/s    
frame=66408 fps=152 q=2.0 size= 1172055kB time=00:46:10.36 bitrate=3465.8kbits/s    
frame=66457 fps=152 q=1.6 size= 1173591kB time=00:46:12.41 bitrate=3467.8kbits/s    
frame=66520 fps=152 q=2.0 size= 1175373kB time=00:46:15.06 bitrate=3469.7kbits/s    
frame=66564 fps=151 q=2.0 size= 1176774kB time=00:46:16.89 bitrate=3471.6kbits/s    
frame=66623 fps=151 q=2.0 size= 1178706kB time=00:46:19.35 bitrate=3474.2kbits/s    
frame=66669 fps=151 q=2.0 size= 1180296kB time=00:46:21.27 bitrate=3476.5kbits/s    
frame=66715 fps=151 q=2.0 size= 1181875kB time=00:46:23.16 bitrate=3478.7kbits/s    
frame=66771 fps=151 q=2.0 size= 1183842kB time=00:46:25.53 bitrate=3481.6kbits/s    
frame=66845 fps=151 q=2.0 size= 1185871kB time=00:46:28.60 bitrate=3483.7kbits/s    
frame=66898 fps=151 q=2.0 size= 1187407kB time=00:46:30.81 bitrate=3485.5kbits/s    
frame=66955 fps=151 q=2.0 size= 1189239kB time=00:46:33.21 bitrate=3487.8kbits/s    
frame=67013 fps=151 q=2.0 size= 1191013kB time=00:46:35.61 bitrate=3490.0kbits/s    
frame=67080 fps=151 q=2.0 size= 1193033kB time=00:46:38.39 bitrate=3492.5kbits/s    
frame=67121 fps=151 q=2.0 Lsize= 1194191kB time=00:46:39.51 bitrate=3494.5kbits/s    
video:942177kB audio:153099kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 9.031110%
INFO:pyTivo.video.video:[29/Jan/2016 19:27:24] Done sending "/video/12 O'Clock High/02/Twelve O'Clock High - s02e01 - Loneliest Place in the World, The.avi" to Other, 1222851640 bytes, 20.88 Mb/s


----------



## moyekj

Soapm said:


> Here is that same show being transferred to the Premier with ts=on...


Right, and that too is transcoding, which means Williams' code suggestion IS working as expected (ts=on setting is being ignored for your TiVo HD):


Code:


  Stream #0:0 -> #0:0 (mpeg4 (native) -> mpeg2video (native))
  Stream #0:1 -> #0:1 (mp3 (native) -> ac3 (native))

The point of setting ts=on setting for supported TiVos is to avoid transcoding H.264 to mpeg2 when possible. You should post a log of what is happening with ts=on set for *unmodified* pyTivo code (latest git pull). For that it should try and transfer video as H.264 in TS container (which from initial impressions you gave is being rejected by the Tivo HD).


----------



## Soapm

moyekj said:


> In log you posted it IS transcoding to mpeg2 (i.e. behaving as ts=off would):
> 
> 
> Code:
> 
> 
> Stream mapping:
> Stream #0:0 -> #0:0 (mpeg4 (native) -> mpeg2video (native))
> Stream #0:1 -> #0:1 (mp3 (native) -> ac3 (native))


Seems to do this with both my Tivo's, except one takes the mped2video and the other doesn't???


----------



## Soapm

moyekj said:


> Right, and that too is transcoding, which means Williams' code suggestion IS working as expected (ts=on setting is being ignored for your TiVo HD):
> 
> 
> Code:
> 
> 
> Stream #0:0 -> #0:0 (mpeg4 (native) -> mpeg2video (native))
> Stream #0:1 -> #0:1 (mp3 (native) -> ac3 (native))
> 
> The point of setting ts=on setting for supported TiVos is to avoid transcoding H.264 to mpeg2 when possible. You should post a log of what is happening with ts=on set for *unmodified* pyTivo code (latest git pull). For that it should try and transfer video as H.264 in TS container (which from initial impressions you gave is being rejected by the Tivo HD).


What I posted is the unmodified with ts=on... This is my config file...



Code:


[Server]
tivo_mind = 204.176.49.65:8181
tivo_password = ********
beacon = 192.168.0.255
ffmpeg_pram = -threads 2
togo_path = /video/zfromtivo
tivodecode = /usr/local/bin/tivodecode
tivo_mak = **********
tivo_username = ********@myemail.com
tdcat = /usr/local/bin/tdcat
ffmpeg = /usr/bin/ffmpeg
ts = on

[_tivo_SD]
height = 480
video_pct = 0
video_br = 8192K
max_video_br = 17408k
tivo_mak = **********
tivo_password = ********
width = 544
tivo_username = ********@myemail.com
audio_ch = 2

[_tivo_HD]
tivo_username = ********@myemail.com
height = 480
tivo_mak = **********
width = 720
tivo_password = ********
video_br = 16384K
video_pct = 0

[_tivo_4K]

[Lenny]
path = /video
type = video
force_alpha = on

[Torrent]
force_alpha = on
type = video
path = /torrent

This is the code in question...



Code:


def is_ts_capable(tsn):  # tsn's of Tivos that support transport streams
    return bool(tsn and (tsn[0] >= '7' or
                             tsn.startswith(('663', '652', '658'))))


----------



## moyekj

Soapm said:


> Seems to do this with both my Tivo's, except one takes the mped2video and the other doesn't???


 Right, the TiVo HD is rejecting the transcoded transfer (closing connection) at about the 02:45 mark. I haven't seen any log yet where ts=on is in effect and there is no transcoding happening which is really what is of interest here for the TiVo HD.


----------



## moyekj

You should add this line to [Server] section of your config file so as to get more detailed information about what pyTivo is doing in the logs:
debug = True

From all logs you've posted so far they are ALL transcoding to mpeg2 for the transfer.


----------



## lpwcomp

Part of the problem may stem from the fact that it is in an avi container rather than an mp4 or mkv.

Maybe the THD has problems receiving an mpeg2 as a Transport Stream.


----------



## Soapm

moyekj said:


> Right, the TiVo HD is rejecting the transcoded transfer (closing connection) at about the 02:45 mark. I haven't seen any log yet where ts=on is in effect and there is no transcoding happening which is really what is of interest here for the TiVo HD.


You're loosing me, I showed my config file where ts=on is there. Am I missing something???

Also, I will try and turn on debug and post another log...

@lpw... I can try a true mp4, I was using that file because that was the show I wanted to watch when I noticed the problem. Most of my shows are old b/w war flicks or westerns... And Andy Griffith lol


----------



## moyekj

Soapm said:


> You're loosing me, I showed my config file where ts=on is there. Am I missing something???
> 
> Also, I will try and turn on debug and post another log...
> 
> @lpw... I can try a true mp4, I was using that file because that was the show I wanted to watch when I noticed the problem. Most of my shows are old b/w war flicks or westerns... And Andy Griffith lol


 The expected behavior with ts=on for a source video with H.264 is for the video not to be transcoded to mpeg2. All your log postings so far show video transcoding to mpeg2, so a debug log would be needed to get more information as to why that is.


----------



## Soapm

Debug is on and a mp4 file... This was a short, 4 minute clip. It did the same thing, the blue light came on for a while then turned off with no transfer of the show to the TivoHD.



Code:


INFO:pyTivo:Last modified: Fri Jan 29 14:26:00 2016
INFO:pyTivo:Python: 2.7.9
INFO:pyTivo:System: Linux-3.2.0-4-amd64-x86_64-with-debian-8.3
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:TivoHD
INFO:pyTivo.beacon:Other
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: Lenny
INFO:pyTivo.beacon:Registering: Torrent
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.0.191 [29/Jan/2016 21:47:58] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:47:58] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:48:03] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:48:03] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:05] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:05] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FBeverly%2520Hillbillies&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:05] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:06] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FBrady%2520Bunch&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:06] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:06] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FChurch&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:07] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:07] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FDocumenteries&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:07] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:08] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FGallant&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:08] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:08] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FHart%2520to%2520Hart&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:10] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:10] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FKung%2520Fu&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:11] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:11] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FMcCloud&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:13] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:13] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FMcCloud&AnchorOffset=-8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:13] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:14] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FMcCloud&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:16] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:16] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2FMilitary&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:17] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:17] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2FMilitary&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FMilitary%2FMedal%2520of%2520Honor&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:17] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:18] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2FMilitary&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FMilitary%2FWWI&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:18] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:18] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:18] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:18] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:18] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:18] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:18] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2FMilitary&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FLenny%2FMilitary%2FBBC.How.to.Build.Series2.2of3.A.Super.Car.HDTV.x264.AAC.MVGroup.org.mkv&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:18] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:19] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2FMilitary&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FLenny%2FMilitary%2FBBC.How.to.Build.Series2.2of3.A.Super.Car.HDTV.x264.AAC.MVGroup.org.mkv&AnchorOffset=-8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:20] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:20] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:20] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:20] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:22] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:ffmpeg output=ffmpeg version 2.8.5 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
  configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security ' --extra-ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir=/usr/lib/x86_64-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libpulse --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2 --enable-libvidstab --enable-libzvbi --enable-avresample --disable-htmlpages --disable-podpages --enable-libutvideo --enable-libfdk-aac --enable-libx265 --enable-libbs2b --enable-libilbc --enable-libopenh264 --enable-libiec61883 --enable-vaapi --enable-libkvazaar --enable-opencl --enable-libdc1394 --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/video/Military/A Day in the Life on the USS Toledo.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isomavc1mp42
    creation_time   : 2009-05-05 17:00:57
  Duration: 00:04:00.72, start: 0.000000, bitrate: 513 kb/s
    Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 120 kb/s (default)
    Metadata:
      creation_time   : 2009-05-05 17:00:57
      handler_name    : (C) 2007 Google Inc. v08.13.2007.
    Stream #0:1(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 480x272 [SAR 1:1 DAR 30:17], 390 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 60k tbc (default)
    Metadata:
      creation_time   : 2009-05-05 17:00:57
      handler_name    : (C) 2007 Google Inc. v08.13.2007.
At least one output file must be specified

DEBUG:pyTivo.video.transcode:aFreq=44100; aCh=2; container=mov; kbps=513; mapAudio=[('0:0', '(und) aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 120 kb/s (default)')]; vHeight=272; vCodec=h264; Supported=True; aKbps=120; par=None; millisecs=240720; vFps=29.97; par2=None; par1=None; mapVideo=0:1; vWidth=480; dar1=30:17; rawmeta={'major_brand': [u'mp42'], 'creation_time': [u'2009-05-05 17:00:57'], 'compatible_brands': [u'isomavc1mp42'], 'minor_version': [u'0']}; aCodec=aac
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:tsn: 652000********
DEBUG:pyTivo.video.transcode:aspect169: True
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=/video/Military/A Day in the Life on the USS Toledo.mp4 vCodec=h264 vWidth=480 vHeight=272 vFps=29.97 millisecs=240720 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:set first detected audio stream by default: 0:0
DEBUG:pyTivo.video.transcode:selected audio stream: 0:0
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:22] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2FMilitary&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FLenny%2FMilitary%2FA%2520Day%2520in%2520the%2520Life%2520on%2520the%2520USS%2520Toledo.mp4&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:tsn: 65200018032037E
DEBUG:pyTivo.video.transcode:aspect169: True
DEBUG:pyTivo.video.transcode:optres: False
DEBUG:pyTivo.video.transcode:File=/video/Military/A Day in the Life on the USS Toledo.mp4 vCodec=h264 vWidth=480 vHeight=272 vFps=29.97 millisecs=240720 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:set first detected audio stream by default: 0:0
DEBUG:pyTivo.video.transcode:selected audio stream: 0:0
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:22] "GET /TiVoConnect?Command=TVBusQuery&Container=Lenny&File=%2FMilitary%2FA%20Day%20in%20the%20Life%20on%20the%20USS%20Toledo.mp4 HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:22] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:24] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:24] "GET /TiVoConnect?Command=QueryItem&Url=http%3A%2F%2Fa%2Fb%3FContainer%3D%2FNowPlaying%26id%3D%2FLenny%2FMilitary%2FA%2520Day%2520in%2520the%2520Life%2520on%2520the%2520USS%2520Toledo.mp4 HTTP/1.1" 404 -
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, aCodec aac not compatible, /video/Military/A Day in the Life on the USS Toledo.mp4
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:37] "GET /Lenny/Military/A%20Day%20in%20the%20Life%20on%20the%20USS%20Toledo.mp4?Format=video%2Fx-tivo-mpeg-ts HTTP/1.1" 206 -
INFO:pyTivo.video.video:[29/Jan/2016 21:49:37] Start sending "/video/Military/A Day in the Life on the USS Toledo.mp4" to TivoHD
DEBUG:pyTivo.video.video:"/video/Military/A Day in the Life on the USS Toledo.mp4" is not tivo compatible
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:set first detected audio stream by default: 0:0
DEBUG:pyTivo.video.transcode:selected audio stream: 0:0
DEBUG:pyTivo.video.transcode:transcoding to tivo model 652 using ffmpeg command:
DEBUG:pyTivo.video.transcode:/usr/bin/ffmpeg -i /video/Military/A Day in the Life on the USS Toledo.mp4 -bufsize 4096k -c:v copy -bsf h264_mp4toannexb -c:a ac3 -copyts -b:a 448k -ar 44100 -map 0:1 -map 0:0 -threads 2 -f mpegts -
ffmpeg version 2.8.5 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
  configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security ' --extra-ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir=/usr/lib/x86_64-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libpulse --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2 --enable-libvidstab --enable-libzvbi --enable-avresample --disable-htmlpages --disable-podpages --enable-libutvideo --enable-libfdk-aac --enable-libx265 --enable-libbs2b --enable-libilbc --enable-libopenh264 --enable-libiec61883 --enable-vaapi --enable-libkvazaar --enable-opencl --enable-libdc1394 --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/video/Military/A Day in the Life on the USS Toledo.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isomavc1mp42
    creation_time   : 2009-05-05 17:00:57
  Duration: 00:04:00.72, start: 0.000000, bitrate: 513 kb/s
    Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 120 kb/s (default)
    Metadata:
      creation_time   : 2009-05-05 17:00:57
      handler_name    : (C) 2007 Google Inc. v08.13.2007.
    Stream #0:1(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 480x272 [SAR 1:1 DAR 30:17], 390 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 60k tbc (default)
    Metadata:
      creation_time   : 2009-05-05 17:00:57
      handler_name    : (C) 2007 Google Inc. v08.13.2007.
Output #0, mpegts, to 'pipe:':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isomavc1mp42
    encoder         : Lavf56.40.101
    Stream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p, 480x272 [SAR 1:1 DAR 30:17], q=2-31, 390 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 30k tbc (default)
    Metadata:
      creation_time   : 2009-05-05 17:00:57
      handler_name    : (C) 2007 Google Inc. v08.13.2007.
    Stream #0:1(und): Audio: ac3, 44100 Hz, stereo, fltp, 448 kb/s (default)
    Metadata:
      creation_time   : 2009-05-05 17:00:57
      handler_name    : (C) 2007 Google Inc. v08.13.2007.
      encoder         : Lavc56.60.100 ac3
Stream mapping:
  Stream #0:1 -> #0:0 (copy)
  Stream #0:0 -> #0:1 (aac (native) -> ac3 (native))
Press [q] to stop, [?] for help
frame=  136 fps=101 q=-1.0 size=     560kB time=00:00:04.59 bitrate= 999.3kbits/s    
frame=  311 fps=153 q=-1.0 size=    1599kB time=00:00:10.72 bitrate=1221.9kbits/s    
frame=  607 fps=235 q=-1.0 size=    2622kB time=00:00:20.40 bitrate=1052.9kbits/s    
frame=  857 fps=278 q=-1.0 size=    3698kB time=00:00:28.69 bitrate=1055.7kbits/s    
frame= 1282 fps=344 q=-1.0 size=    5171kB time=00:00:42.90 bitrate= 987.2kbits/s    
frame= 1776 fps=414 q=-1.0 size=    6709kB time=00:00:59.27 bitrate= 927.2kbits/s    
frame= 2183 fps=450 q=-1.0 size=    8245kB time=00:01:13.03 bitrate= 924.8kbits/s    
frame= 2423 fps=446 q=-1.0 size=    9262kB time=00:01:21.21 bitrate= 934.2kbits/s    
frame= 2663 fps=439 q=-1.0 size=   10297kB time=00:01:28.88 bitrate= 949.1kbits/s    
frame= 2968 fps=447 q=-1.0 size=   11315kB time=00:01:39.08 bitrate= 935.5kbits/s    
frame= 3271 fps=452 q=-1.0 size=   12338kB time=00:01:49.29 bitrate= 924.8kbits/s    
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:45] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:45] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2FMilitary&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
frame= 3397 fps=436 q=-1.0 size=   12858kB time=00:01:53.40 bitrate= 928.8kbits/s    
frame= 3534 fps=416 q=-1.0 size=   13371kB time=00:01:57.99 bitrate= 928.3kbits/s    
frame= 3816 fps=418 q=-1.0 size=   14394kB time=00:02:07.68 bitrate= 923.5kbits/s    
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:47] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:47] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FMilitary&AnchorOffset=-3&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
frame= 3960 fps=392 q=-1.0 size=   14900kB time=00:02:12.27 bitrate= 922.8kbits/s    
frame= 4230 fps=394 q=-1.0 size=   15930kB time=00:02:21.47 bitrate= 922.4kbits/s    
frame= 4496 fps=378 q=-1.0 size=   16943kB time=00:02:30.18 bitrate= 924.2kbits/s    
frame= 4756 fps=379 q=-1.0 size=   17973kB time=00:02:38.85 bitrate= 926.9kbits/s    
frame= 4990 fps=380 q=-1.0 size=   19000kB time=00:02:46.51 bitrate= 934.7kbits/s    
frame= 5253 fps=383 q=-1.0 size=   20023kB time=00:02:55.71 bitrate= 933.5kbits/s    
frame= 5484 fps=386 q=-1.0 size=   21053kB time=00:03:03.37 bitrate= 940.5kbits/s    
frame= 5708 fps=386 q=-1.0 size=   22074kB time=00:03:10.51 bitrate= 949.2kbits/s    
frame= 5916 fps=386 q=-1.0 size=   23104kB time=00:03:17.68 bitrate= 957.4kbits/s    
frame= 6146 fps=384 q=-1.0 size=   24118kB time=00:03:25.35 bitrate= 962.1kbits/s    
frame= 6399 fps=386 q=-1.0 size=   25148kB time=00:03:33.53 bitrate= 964.8kbits/s    
frame= 6692 fps=388 q=-1.0 size=   26165kB time=00:03:43.74 bitrate= 958.0kbits/s    
frame= 6965 fps=390 q=-1.0 size=   27190kB time=00:03:52.41 bitrate= 958.4kbits/s    
frame= 7214 fps=398 q=-1.0 Lsize=   27981kB time=00:04:00.73 bitrate= 952.2kbits/s    
video:11482kB audio:13166kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 13.522287%
INFO:pyTivo.video.video:[29/Jan/2016 21:49:55] Done sending "/video/Military/A Day in the Life on the USS Toledo.mp4" to TivoHD, 28652704 bytes, 11.95 Mb/s


----------



## lpwcomp

Soapm said:


> You're loosing me, I showed my config file where ts=on is there. Am I missing something???l


The following line in both logs:



Code:


Stream #0:0 -> #0:0 (mpeg4 (native) -> mpeg2video (native))

Indicates that it is being transcoded from mpeg4 to mpeg2. I was speculating that pyTivo doesn't (possibly because it can't) simply remux mpeg4 from avi to ts _*and*_ that the THD can't handle mpeg2 in a transport stream.


----------



## lpwcomp

Soapm said:


> Debug is on and a mp4 file... This was a short, 4 minute clip. It did the same thing, the blue light came on for a while then turned off with no transfer of the show to the TivoHD.
> 
> 
> 
> Spoiler
> 
> 
> 
> 
> 
> 
> Code:
> 
> 
> INFO:pyTivo:Last modified: Fri Jan 29 14:26:00 2016
> INFO:pyTivo:Python: 2.7.9
> INFO:pyTivo:System: Linux-3.2.0-4-amd64-x86_64-with-debian-8.3
> INFO:pyTivo.beacon:Scanning for TiVos...
> INFO:pyTivo.beacon:TivoHD
> INFO:pyTivo.beacon:Other
> INFO:pyTivo.beacon:Announcing shares...
> INFO:pyTivo.beacon:Registering: Lenny
> INFO:pyTivo.beacon:Registering: Torrent
> INFO:pyTivo:pyTivo is ready.
> INFO:pyTivo:192.168.0.191 [29/Jan/2016 21:47:58] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:47:58] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:48:03] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:48:03] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:05] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:05] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FBeverly%2520Hillbillies&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:05] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:06] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FBrady%2520Bunch&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:06] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:06] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FChurch&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:07] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:07] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FDocumenteries&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:07] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:08] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FGallant&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:08] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:08] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FHart%2520to%2520Hart&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:10] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:10] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FKung%2520Fu&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:11] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:11] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FMcCloud&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:13] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:13] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FMcCloud&AnchorOffset=-8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:13] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:14] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FMcCloud&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:16] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:16] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2FMilitary&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:17] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:17] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2FMilitary&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FMilitary%2FMedal%2520of%2520Honor&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:17] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:18] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2FMilitary&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FMilitary%2FWWI&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:18] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:18] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:18] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:18] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:18] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:18] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:18] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2FMilitary&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FLenny%2FMilitary%2FBBC.How.to.Build.Series2.2of3.A.Super.Car.HDTV.x264.AAC.MVGroup.org.mkv&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:18] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:19] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2FMilitary&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FLenny%2FMilitary%2FBBC.How.to.Build.Series2.2of3.A.Super.Car.HDTV.x264.AAC.MVGroup.org.mkv&AnchorOffset=-8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:20] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:20] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:20] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:20] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:22] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> DEBUG:pyTivo.video.transcode:ffmpeg output=ffmpeg version 2.8.5 Copyright (c) 2000-2016 the FFmpeg developers
> built with gcc 4.9.2 (Debian 4.9.2-10)
> configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security ' --extra-ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir=/usr/lib/x86_64-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libpulse --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2 --enable-libvidstab --enable-libzvbi --enable-avresample --disable-htmlpages --disable-podpages --enable-libutvideo --enable-libfdk-aac --enable-libx265 --enable-libbs2b --enable-libilbc --enable-libopenh264 --enable-libiec61883 --enable-vaapi --enable-libkvazaar --enable-opencl --enable-libdc1394 --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
> libavutil      54. 31.100 / 54. 31.100
> libavcodec     56. 60.100 / 56. 60.100
> libavformat    56. 40.101 / 56. 40.101
> libavdevice    56.  4.100 / 56.  4.100
> libavfilter     5. 40.101 /  5. 40.101
> libavresample   2.  1.  0 /  2.  1.  0
> libswscale      3.  1.101 /  3.  1.101
> libswresample   1.  2.101 /  1.  2.101
> libpostproc    53.  3.100 / 53.  3.100
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/video/Military/A Day in the Life on the USS Toledo.mp4':
> Metadata:
> major_brand     : mp42
> minor_version   : 0
> compatible_brands: isomavc1mp42
> creation_time   : 2009-05-05 17:00:57
> Duration: 00:04:00.72, start: 0.000000, bitrate: 513 kb/s
> Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 120 kb/s (default)
> Metadata:
> creation_time   : 2009-05-05 17:00:57
> handler_name    : (C) 2007 Google Inc. v08.13.2007.
> Stream #0:1(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 480x272 [SAR 1:1 DAR 30:17], 390 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 60k tbc (default)
> Metadata:
> creation_time   : 2009-05-05 17:00:57
> handler_name    : (C) 2007 Google Inc. v08.13.2007.
> At least one output file must be specified
> 
> DEBUG:pyTivo.video.transcode:aFreq=44100; aCh=2; container=mov; kbps=513; mapAudio=[('0:0', '(und) aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 120 kb/s (default)')]; vHeight=272; vCodec=h264; Supported=True; aKbps=120; par=None; millisecs=240720; vFps=29.97; par2=None; par1=None; mapVideo=0:1; vWidth=480; dar1=30:17; rawmeta={'major_brand': [u'mp42'], 'creation_time': [u'2009-05-05 17:00:57'], 'compatible_brands': [u'isomavc1mp42'], 'minor_version': [u'0']}; aCodec=aac
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:tsn: 652000********
> DEBUG:pyTivo.video.transcode:aspect169: True
> DEBUG:pyTivo.video.transcode:optres: False
> DEBUG:pyTivo.video.transcode:File=/video/Military/A Day in the Life on the USS Toledo.mp4 vCodec=h264 vWidth=480 vHeight=272 vFps=29.97 millisecs=240720 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:audio_lang: None
> DEBUG:pyTivo.video.transcode:set first detected audio stream by default: 0:0
> DEBUG:pyTivo.video.transcode:selected audio stream: 0:0
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:22] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2FMilitary&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FLenny%2FMilitary%2FA%2520Day%2520in%2520the%2520Life%2520on%2520the%2520USS%2520Toledo.mp4&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:tsn: 65200018032037E
> DEBUG:pyTivo.video.transcode:aspect169: True
> DEBUG:pyTivo.video.transcode:optres: False
> DEBUG:pyTivo.video.transcode:File=/video/Military/A Day in the Life on the USS Toledo.mp4 vCodec=h264 vWidth=480 vHeight=272 vFps=29.97 millisecs=240720 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:audio_lang: None
> DEBUG:pyTivo.video.transcode:set first detected audio stream by default: 0:0
> DEBUG:pyTivo.video.transcode:selected audio stream: 0:0
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec h264 not compatible, /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:22] "GET /TiVoConnect?Command=TVBusQuery&Container=Lenny&File=%2FMilitary%2FA%20Day%20in%20the%20Life%20on%20the%20USS%20Toledo.mp4 HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:22] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:24] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:24] "GET /TiVoConnect?Command=QueryItem&Url=http%3A%2F%2Fa%2Fb%3FContainer%3D%2FNowPlaying%26id%3D%2FLenny%2FMilitary%2FA%2520Day%2520in%2520the%2520Life%2520on%2520the%2520USS%2520Toledo.mp4 HTTP/1.1" 404 -
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:TRANSCODE=YES, aCodec aac not compatible, /video/Military/A Day in the Life on the USS Toledo.mp4
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:37] "GET /Lenny/Military/A%20Day%20in%20the%20Life%20on%20the%20USS%20Toledo.mp4?Format=video%2Fx-tivo-mpeg-ts HTTP/1.1" 206 -
> INFO:pyTivo.video.video:[29/Jan/2016 21:49:37] Start sending "/video/Military/A Day in the Life on the USS Toledo.mp4" to TivoHD
> DEBUG:pyTivo.video.video:"/video/Military/A Day in the Life on the USS Toledo.mp4" is not tivo compatible
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:CACHE HIT! /video/Military/A Day in the Life on the USS Toledo.mp4
> DEBUG:pyTivo.video.transcode:audio_lang: None
> DEBUG:pyTivo.video.transcode:set first detected audio stream by default: 0:0
> DEBUG:pyTivo.video.transcode:selected audio stream: 0:0
> DEBUG:pyTivo.video.transcode:transcoding to tivo model 652 using ffmpeg command:
> DEBUG:pyTivo.video.transcode:/usr/bin/ffmpeg -i /video/Military/A Day in the Life on the USS Toledo.mp4 -bufsize 4096k -c:v copy -bsf h264_mp4toannexb -c:a ac3 -copyts -b:a 448k -ar 44100 -map 0:1 -map 0:0 -threads 2 -f mpegts -
> ffmpeg version 2.8.5 Copyright (c) 2000-2016 the FFmpeg developers
> built with gcc 4.9.2 (Debian 4.9.2-10)
> configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security ' --extra-ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir=/usr/lib/x86_64-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libpulse --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2 --enable-libvidstab --enable-libzvbi --enable-avresample --disable-htmlpages --disable-podpages --enable-libutvideo --enable-libfdk-aac --enable-libx265 --enable-libbs2b --enable-libilbc --enable-libopenh264 --enable-libiec61883 --enable-vaapi --enable-libkvazaar --enable-opencl --enable-libdc1394 --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
> libavutil      54. 31.100 / 54. 31.100
> libavcodec     56. 60.100 / 56. 60.100
> libavformat    56. 40.101 / 56. 40.101
> libavdevice    56.  4.100 / 56.  4.100
> libavfilter     5. 40.101 /  5. 40.101
> libavresample   2.  1.  0 /  2.  1.  0
> libswscale      3.  1.101 /  3.  1.101
> libswresample   1.  2.101 /  1.  2.101
> libpostproc    53.  3.100 / 53.  3.100
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/video/Military/A Day in the Life on the USS Toledo.mp4':
> Metadata:
> major_brand     : mp42
> minor_version   : 0
> compatible_brands: isomavc1mp42
> creation_time   : 2009-05-05 17:00:57
> Duration: 00:04:00.72, start: 0.000000, bitrate: 513 kb/s
> Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 120 kb/s (default)
> Metadata:
> creation_time   : 2009-05-05 17:00:57
> handler_name    : (C) 2007 Google Inc. v08.13.2007.
> Stream #0:1(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 480x272 [SAR 1:1 DAR 30:17], 390 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 60k tbc (default)
> Metadata:
> creation_time   : 2009-05-05 17:00:57
> handler_name    : (C) 2007 Google Inc. v08.13.2007.
> Output #0, mpegts, to 'pipe:':
> Metadata:
> major_brand     : mp42
> minor_version   : 0
> compatible_brands: isomavc1mp42
> encoder         : Lavf56.40.101
> Stream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p, 480x272 [SAR 1:1 DAR 30:17], q=2-31, 390 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 30k tbc (default)
> Metadata:
> creation_time   : 2009-05-05 17:00:57
> handler_name    : (C) 2007 Google Inc. v08.13.2007.
> Stream #0:1(und): Audio: ac3, 44100 Hz, stereo, fltp, 448 kb/s (default)
> Metadata:
> creation_time   : 2009-05-05 17:00:57
> handler_name    : (C) 2007 Google Inc. v08.13.2007.
> encoder         : Lavc56.60.100 ac3
> Stream mapping:
> Stream #0:1 -> #0:0 (copy)
> Stream #0:0 -> #0:1 (aac (native) -> ac3 (native))
> Press [q] to stop, [?] for help
> frame=  136 fps=101 q=-1.0 size=     560kB time=00:00:04.59 bitrate= 999.3kbits/s
> frame=  311 fps=153 q=-1.0 size=    1599kB time=00:00:10.72 bitrate=1221.9kbits/s
> frame=  607 fps=235 q=-1.0 size=    2622kB time=00:00:20.40 bitrate=1052.9kbits/s
> frame=  857 fps=278 q=-1.0 size=    3698kB time=00:00:28.69 bitrate=1055.7kbits/s
> frame= 1282 fps=344 q=-1.0 size=    5171kB time=00:00:42.90 bitrate= 987.2kbits/s
> frame= 1776 fps=414 q=-1.0 size=    6709kB time=00:00:59.27 bitrate= 927.2kbits/s
> frame= 2183 fps=450 q=-1.0 size=    8245kB time=00:01:13.03 bitrate= 924.8kbits/s
> frame= 2423 fps=446 q=-1.0 size=    9262kB time=00:01:21.21 bitrate= 934.2kbits/s
> frame= 2663 fps=439 q=-1.0 size=   10297kB time=00:01:28.88 bitrate= 949.1kbits/s
> frame= 2968 fps=447 q=-1.0 size=   11315kB time=00:01:39.08 bitrate= 935.5kbits/s
> frame= 3271 fps=452 q=-1.0 size=   12338kB time=00:01:49.29 bitrate= 924.8kbits/s
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:45] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:45] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny%2FMilitary&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
> frame= 3397 fps=436 q=-1.0 size=   12858kB time=00:01:53.40 bitrate= 928.8kbits/s
> frame= 3534 fps=416 q=-1.0 size=   13371kB time=00:01:57.99 bitrate= 928.3kbits/s
> frame= 3816 fps=418 q=-1.0 size=   14394kB time=00:02:07.68 bitrate= 923.5kbits/s
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:47] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
> INFO:pyTivo:192.168.0.195 [29/Jan/2016 21:49:47] "GET /TiVoConnect?Command=QueryContainer&Container=Lenny&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DLenny%2FMilitary&AnchorOffset=-3&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
> frame= 3960 fps=392 q=-1.0 size=   14900kB time=00:02:12.27 bitrate= 922.8kbits/s
> frame= 4230 fps=394 q=-1.0 size=   15930kB time=00:02:21.47 bitrate= 922.4kbits/s
> frame= 4496 fps=378 q=-1.0 size=   16943kB time=00:02:30.18 bitrate= 924.2kbits/s
> frame= 4756 fps=379 q=-1.0 size=   17973kB time=00:02:38.85 bitrate= 926.9kbits/s
> frame= 4990 fps=380 q=-1.0 size=   19000kB time=00:02:46.51 bitrate= 934.7kbits/s
> frame= 5253 fps=383 q=-1.0 size=   20023kB time=00:02:55.71 bitrate= 933.5kbits/s
> frame= 5484 fps=386 q=-1.0 size=   21053kB time=00:03:03.37 bitrate= 940.5kbits/s
> frame= 5708 fps=386 q=-1.0 size=   22074kB time=00:03:10.51 bitrate= 949.2kbits/s
> frame= 5916 fps=386 q=-1.0 size=   23104kB time=00:03:17.68 bitrate= 957.4kbits/s
> frame= 6146 fps=384 q=-1.0 size=   24118kB time=00:03:25.35 bitrate= 962.1kbits/s
> frame= 6399 fps=386 q=-1.0 size=   25148kB time=00:03:33.53 bitrate= 964.8kbits/s
> frame= 6692 fps=388 q=-1.0 size=   26165kB time=00:03:43.74 bitrate= 958.0kbits/s
> frame= 6965 fps=390 q=-1.0 size=   27190kB time=00:03:52.41 bitrate= 958.4kbits/s
> frame= 7214 fps=398 q=-1.0 Lsize=   27981kB time=00:04:00.73 bitrate= 952.2kbits/s
> video:11482kB audio:13166kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 13.522287%
> INFO:pyTivo.video.video:[29/Jan/2016 21:49:55] Done sending "/video/Military/A Day in the Life on the USS Toledo.mp4" to TivoHD, 28652704 bytes, 11.95 Mb/s


This has me completely confused since the log indicates that the transfer was successful.

You'll note that the log also indicates that it copied the video stream rather than transcoding it.


----------



## moyekj

The log file does show pyTivo remuxed to TS container and did not transcode video to mpeg2 (it did transcode audio to ac3) and completed transfer to the TiVo:
Output #0, mpegts, to 'pipe:': ====> TS container
Stream #0:1 -> #0:0 (copy) ====> H.264 video copied
Stream #0:0 -> #0:1 (aac (native) -> ac3 (native)) ====> aac->ac3 audio conversion
INFOyTivo.video.video:[29/Jan/2016 21:49:55] Done sending "/video/Military/A Day in the Life on the USS Toledo.mp4" to TivoHD, 28652704 bytes, 11.95 Mb/s

So if you don't see the video showing up on the TiVo it means it's rejecting the video AFTER the transfer completes. You should try and play it on TiVo while blue light is on if it ever shows up in your NPL list.

The same video above with ts=on transferred to your Premiere SHOULD work.


----------



## Soapm

moyekj said:


> The log file does show pyTivo remuxed to TS container and did not transcode video to mpeg2 (it did transcode audio to ac3) and completed transfer to the TiVo:
> Output #0, mpegts, to 'pipe:': ====> TS container
> Stream #0:1 -> #0:0 (copy) ====> H.264 video copied
> Stream #0:0 -> #0:1 (aac (native) -> ac3 (native)) ====> aac->ac3 audio conversion
> INFOyTivo.video.video:[29/Jan/2016 21:49:55] Done sending "/video/Military/A Day in the Life on the USS Toledo.mp4" to TivoHD, 28652704 bytes, 11.95 Mb/s
> 
> So if you don't see the video showing up on the TiVo it means it's rejecting the video AFTER the transfer completes. You should try and play it on TiVo while blue light is on if it ever shows up in your NPL list.
> 
> The same video above with ts=on transferred to your Premiere SHOULD work.


Yes, I can see it in the NPL, I can select it and push play. The screen goes black like the show is starting, then after a brief delay I get the pop up with the option to delete the show etc... Also, the green play line at the bottom is black like when a show hasn't fully downloaded. No green like you see to indicate what has downloaded...

I know this is strange because my Premier works fine, however, I can leave ts=off since I don't know the difference anyhow ROFL...


----------



## moyekj

Looks like it means TS transfers back to the TiVo HD don't work.

Now curious if transfers FROM the TiVo HD are available in TS container.
When you connect connect to TiVo HD using a web browser (using https, not http):


Code:


https://TIVOIP

(username=tivo password=10 digit MAK and you have to allow browser to connect to insecure page)
Do you see "Download MPEG-TS" option?


----------



## Wil

moyekj said:


> Looks like it means TS transfers back to the TiVo HD don't work.


It appears from Soapm's messages at the other place that he tried to apply some 11.0m-specific patches to 11.0n and got error messages. It looks like the attempts just aborted without writing anything. But if anything was actually changed, inappropriately, is it possible that's complicating the results you're looking at here?

Not meaning to complicate, just mentioning it so you know there's that variable in the mix as you look at the data.


----------



## wmcbrine

mattack said:


> 1) Can I somehow default the list that I get on the Tivo to be in folders sorted by date? Seems like every time I start, it ends up no folders, and I forget by what sort..


Those settings are kept on the TiVo. They've gone a bit buggy since the TiVo still uses the SDUI for HMO servers like pyTivo, and it keeps the settings separately from the HDUI settings, so the code is kind of unmaintained. 



> _2) In the "list of shows" as I see on the Tivo from pytivo, it seems like I'm getting sometimes the mod date of the files on my hard drive.. but the actual file transferred has the correct date in the metadata file.._


What's happening here is, pyTivo saves time in building the list by not fully parsing the metadata for a program until more details are requested. (And when I say "saves time", I mean you really wouldn't want it not to work this way.)



> _(I know, I should just edit the local recordings but the various tools I've used have gotten worse on later versions of OS X.)_


What do you use? Lately I've just been doing it with FFmpeg, after manually noting the cut points in VLC.


----------



## moyekj

Wil said:


> It appears from Soapm's messages at the other place that he tried to apply some 11.0m-specific patches to 11.0n and got error messages. It looks like the attempts just aborted without writing anything. But if anything was actually changed, inappropriately, is it possible that's complicating the results you're looking at here?
> 
> Not meaning to complicate, just mentioning it so you know there's that variable in the mix as you look at the data.


 OK, good to know. So he may not have 11.0n properly installed so may not be a good test candidate. Guess we'll wait until someone else with a TiVo HD with new software can give this a try.


----------



## HerronScott

moyekj said:


> Now curious if transfers FROM the TiVo HD are available in TS container.
> When you connect connect to TiVo HD using a web browser (using https, not http):
> 
> 
> Code:
> 
> 
> https://TIVOIP
> 
> (username=tivo password=10 digit MAK and you have to allow browser to connect to insecure page)
> Do you see "Download MPEG-TS" option?


I'm not seeing it on the HD we have that's been upgraded to 11.0n. Couple of notes in case it makes a difference.  I don't have this HD hooked up to cable or antenna at this time and the only 2 shows that are on it were transferred to it from one of our S3 OLED (MPEG2). We also aren't in an area where we are getting any MPEG4 channels yet.










Scott


----------



## moyekj

OK thanks HerronScott. Looks to me like TiVo didn't touch the HMO side of things at all in their patch which also means unprotected H.264 recordings won't be able to be transferred off the units (since TS transfers aren't possible).


----------



## Soapm

Wil said:


> It appears from Soapm's messages at the other place that he tried to apply some 11.0m-specific patches to 11.0n and got error messages. It looks like the attempts just aborted without writing anything. But if anything was actually changed, inappropriately, is it possible that's complicating the results you're looking at here?
> 
> Not meaning to complicate, just mentioning it so you know there's that variable in the mix as you look at the data.


Actually, funny you brought this up because I came along and was taught by some of the best. You guys spoiled me and allowed me to walk in your footsteps, good footsteps I might ask from my first S2DT Tivo. So my notes read like this...



Code:


cd /tvbin
mv tivoapp tivoapp.orig
cp tivoapp.orig tivoapp
chmod 755 tivoapp
patch

Patch is built into my /.profile file to execute this command



Code:


alias patch='echo "patching tivoapp"; /var/hacks/tvapppatch.tcl'

So I reverse the process after each failure and delete the failed Tivoapp and mv tivoapp.orig back to tivoapp...

So unless I failed to do this on one of my attempts, then I should have my original tivoapp still in place...


----------



## Soapm

moyekj said:


> Looks like it means TS transfers back to the TiVo HD don't work.
> 
> Now curious if transfers FROM the TiVo HD are available in TS container.
> When you connect connect to TiVo HD using a web browser (using https, not http):
> 
> 
> Code:
> 
> 
> https://TIVOIP
> 
> (username=tivo password=10 digit MAK and you have to allow browser to connect to insecure page)
> Do you see "Download MPEG-TS" option?


Is there a port or something I need to connect to? I can't connect just using https://TIVOIP...

But if you're talking about connecting via the pyTivo port 9032, then yes I can connect that way and push any show I want to the Tivo...

EDITED to ADD:

Sorry, I was trying to connect to my video server siince that was where pyTivo is installed. Mines says, "Download MPEG-PS". Notice the P and not a T like yours.


----------



## HerronScott

Soapm said:


> Is there a port or something I need to connect to? I can't connect just using https://TIVOIP...


Are you replacing TIVOIP with your TiVo's IP address (ie https://192.168.1.109 for example)?

Scott


----------



## Soapm

HerronScott said:


> Are you replacing TIVOIP with your TiVo's IP address (ie https://192.168.1.109 for example)?
> 
> Scott


No, I was using the ip of my video server... Thanks for pulling my head out for me....


----------



## mattack

wmcbrine said:


> What's happening here is, pyTivo saves time in building the list by not fully parsing the metadata for a program until more details are requested. (And when I say "saves time", I mean you really wouldn't want it not to work this way.)
> 
> What do you use? Lately I've just been doing it with FFmpeg, after manually noting the cut points in VLC.


How much slower would it be? Since I have each show in its own folder (ooh, except I guess when it initially shows me the non-foldered list on the tivo?), I would hope it would be O for the # of files..

I used to use MPEG Streamclip.. But it has gotten flaky on later versions of OS X.. (yes I know it uses the old MPEG 2 plugin) Flaky as in many recordings don't have video but just audio -- though strangely I could often still use it to edit in this state.

Though conversely, at least if I only wanted ONE segment, I _can_ use Quicktime Player often to just Trim that segment. But sometimes I want(ed) multiple segments (e.g. 2 musical performances from SNL).

Though wait -- can't it look at the metadata for EACH file as it "presents" that to the Tivo? Paging up/down sure seems to reload info.. so it seems to me like it could "do the right thing".. But if it took MINUTES, yeah, that would be bad..

(Though I guess that would mean it'd be cool to write a little tool to set the mod date of each file to the info in its corresponding metadata file... as a workaround)


----------



## lew

They're not in my pytivo directory (or subdirectory), not in my windows log directory nor in my python27 directory. I don't see a place to indicate a location for log files in the pytivo configuration file. I read the entire DST file for instructions. I have debug set to true.


----------



## wmcbrine

The log is written to the console, unless you redirect it (i.e. ">"), or set up an output file via the somewhat convoluted Python logging options. Without knowing exactly what steps you took to set up pyTivo, no one can say where (or whether) your log is.


----------



## lpwcomp

wmcbrine said:


> The log is written to the console, unless you redirect it (i.e. ">"), or set up an output file via the somewhat convoluted Python logging options. Without knowing exactly what steps you took to set up pyTivo, no one can say where (or whether) your log is.


This is one of the reasons why I don't run pyTivo as a service.


----------



## wmcbrine

lpwcomp said:


> This is one of the reasons why I don't run pyTivo as a service.


 It's quite easy to put the log wherever you want it. Which is my point... it's wherever _you_ put it (just like, e.g., the video shares), not in a standardized location, so it's not meaningful for someone to ask "Where are my log files?", when only they themselves can answer that.

I think pyTivo could probably benefit from something like a simple "logfile:" option for pyTivo.conf, but redirection is already pretty simple.


----------



## lew

wmcbrine said:


> It's quite easy to put the log wherever you want it. Which is my point... it's wherever _you_ put it (just like, e.g., the video shares), not in a standardized location, so it's not meaningful for someone to ask "Where are my log files?", when only they themselves can answer that.
> 
> I think pyTivo could probably benefit from something like a simple "logfile:" option for pyTivo.conf, but redirection is already pretty simple.


I used the default settings. The only thing "special" is ts=on. Sounds like that means I don't have log files saved. The sample configuration dist file doesn't give log instructions.

My two cents, a person who asks for the location of the log files probably doesn't have any.


----------



## lpwcomp

wmcbrine said:


> It's quite easy to put the log wherever you want it. Which is my point... it's wherever _you_ put it (just like, e.g., the video shares), not in a standardized location, so it's not meaningful for someone to ask "Where are my log files?", when only they themselves can answer that.
> 
> I think pyTivo could probably benefit from something like a simple "logfile:" option for pyTivo.conf, but redirection is already pretty simple.


I didn't mean to imply otherwise. _*My*_ point was that it is easy to run it in a window and have immediate access to the log messages and that is one reason why _*I*_ don't run it* as service.

*I actually run three instances on the same system. And yes, I also have legitimate reasons for that.


----------



## Soapm

Not sure if this helps but a poster named Newbie posted this on the other forum in response to a poster who couldn't move newly recorded MPEG4 files from their TivoHD:



> The workaround is to transfer mpeg4 files to a Roamio (or Premier or Bolt) then transfer to your computer.
> 
> MPEG4 files have to be downloaded as transport streams (ts). The 11.n allows us to record mpeg4 programs but didn't enable ts transfers. You'll have the same problem with any tool which uses tivo to go, including kmttg, pytivo....


So it's not just moving TS TO the 11.0n Tivo's that having problems, we also can't move files FROM in TS format...

This was in case anyone was interested...


----------



## Wil

Soapm said:


> Not sure if this helps but a poster named Newbie posted this on the other forum in response to a poster who couldn't move newly recorded MPEG4 files from their TivoHD


Is discussion of this still being allowed at the other forum?


----------



## Soapm

Wil said:


> Is discussion of this still being allowed at the other forum?


I guess discussion is a relative term since not many post are made there these days...


----------



## Soapm

Soapm said:


> Not sure if this helps but a poster named Newbie posted this on the other forum in response to a poster who couldn't move newly recorded MPEG4 files from their TivoHD:
> 
> 
> 
> 
> The workaround is to transfer mpeg4 files to a Roamio (or Premier or Bolt) then transfer to your computer.
> 
> MPEG4 files have to be downloaded as transport streams (ts). The 11.n allows us to record mpeg4 programs but didn't enable ts transfers. You'll have the same problem with any tool which uses tivo to go, including kmttg, pytivo....
> 
> 
> 
> So it's not just moving TS TO the 11.0n Tivo's that having problems, we also can't move files FROM in TS format...
> 
> This was in case anyone was interested...
Click to expand...

I was posting this to ask if we can remove the TivoHD TS coding from pyTivo so I can turn TS=on back on. It appears confirmed that TivoHD's do record MPEG4 but won't transfer MPEG4 either in or out.


----------



## justen_m

Soapm said:


> I was posting this to ask if we can remove the TivoHD TS coding from pyTivo so I can turn TS=on back on. It appears confirmed that TivoHD's do record MPEG4 but won't transfer MPEG4 either in or out.


Is this true for TivoHDs that have gotten the 11.0n mpeg-4 update? My TivoHD hasn't, and is still on 11.0m, otherwise I'd test this. Perhaps this has been mentioned in a thread about the TIvoHD I haven't been following?


----------



## philhu

justen_m said:


> Is this true for TivoHDs that have gotten the 11.0n mpeg-4 update? My TivoHD hasn't, and is still on 11.0m, otherwise I'd test this. Perhaps this has been mentioned in a thread about the TIvoHD I haven't been following?


Yes, true and tested.

A TivoHD on 11.0n can watch and record mpeg4, and can xfer to a Roamio or Premier.

But will not ts out to kmttg, pytivo, or Tivo Desktop. you need to send to the Premier or Roamio, and then pull from there.

So no TS in pytivo


----------



## ClearToLand

HerronScott said:


> All,
> 
> I was setting up a "new" WHS server for my son and getting it configured with pyTivo and I noticed that my ancient pytivo.conf configuration file (probably goes back to 2009/2010) has some extra options in it.
> 
> Is this all to support writing out the normal standard console output to a log file since I'm running it as a service? Seems like a good thing although obviously I haven't had to use it much since pyTivo just works. I'm still running a version from 2012 as it just works although I installed the latest on my son's.
> 
> BTW the documentation for installing this under Windows and as a service is great compared to what we had when I first did it!
> 
> [Admin]
> type=admin
> 
> [loggers]
> keys=root
> 
> [handlers]
> keys=console,rotfile
> 
> [formatters]
> keys=basicform
> 
> [logger_root]
> level=DEBUG
> handlers=console,rotfile
> 
> [handler_console]
> class=StreamHandler
> formatter=basicform
> args=(sys.stdout,)
> 
> [handler_rotfile]
> class=handlers.RotatingFileHandler
> formatter=basicform
> *args=('C:\Documents and Settings\All Users\Documents\pyTivo\debug.log', 'a', 10485760, 5)*
> 
> [formatter_basicform]
> *format=%(asctime)s %(levelname)-5s %(name)s: %(message)s*
> 
> Scott


I found this post while SEARCHing for a method to have both Console AND Log output from PyTiVo. Thanks. :up:

I did some GOOGLE'ng but the only examples I could find using *asctime* didn't explain how to reformat it. If possible, I would like to append *asctime* to the front of my Debug log such that multiple runs of PyTivo would create a new log each time instead of overwriting the one log. I know how to do this in a Windows / DOS BAT file but not in Python.

The result I'm looking to achieve, in Windows 7, would be: *YYYYMMDD-HHMMSS_Debug.log* (Zero filling all numbers LT 10)

I've read:
*Python Date & Time*

*6.29.2 Basic example*
Thanks in advance for any pointers.


----------



## spocko

philhu said:


> Yes, true and tested.
> 
> A TivoHD on 11.0n can watch and record mpeg4, and can xfer to a Roamio or Premier.
> 
> But will not ts out to kmttg, pytivo, or Tivo Desktop. you need to send to the Premier or Roamio, and then pull from there.
> 
> So no TS in pytivo


I apologize if this has already been mentioned somewhere, but to clarify, does this mean that there is no way to transfer mpeg4 recordings from a TivoHD except to transfer them to a Premier or Roamio? Or can they be transferred as PS?


----------



## HerronScott

spocko said:


> I apologize if this has already been mentioned somewhere, but to clarify, does this mean that there is no way to transfer mpeg4 recordings from a TivoHD except to transfer them to a Premier or Roamio? Or can they be transferred as PS?


That's correct. MPEG4 has to be transferred to a PC in TS format and the HD doesn't have that capability.

Scott


----------



## joelkfla

I just recently downloaded pyTivo, along with ffmpeg and a few other things, and have been playing around with it, downloading and uploading files amongst my PC, Roamio+, and S3. Suddenly, I noticed that my Roamio went from 78% disk utilization to 63%. The Recently Deleted folder has been emptied, and just about all programs that were not "Keep Until I Delete" are gone.

Is there a bug in pyTivo that can cause the Roamio to think an upload needs more space than it actually does, or something else that would cause it to think it's out of space?

What I did was download a 3-hour movie (13GB) from the S3 with transcoding to mpeg and create metadata file checked, edited the metadata file to add some info that was missing, and then pulled it to the Roamio from the share on My Shows. It was big, but there certainly was enough room on the Roamio to upload it without deleting anything.

I also pulled up a couple of very small mpg videos. They are old files, and there were some errors on the console about no buffer size specified and something about missing dates.

I downloaded the wmbrine(?) version of pyTivo, and I'm running it from the .py file, not as a service, on Windows 10.

Any ideas? Thanks.


----------



## pmiranda

joelkfla said:


> I just recently downloaded pyTivo, along with ffmpeg and a few other things, and have been playing around with it, downloading and uploading files amongst my PC, Roamio+, and S3. Suddenly, I noticed that my Roamio went from 78% disk utilization to 63%. The Recently Deleted folder has been emptied, and just about all programs that were not "Keep Until I Delete" are gone.


My understanding is that using KUID on season passes can cause TiVo to preallocate alot of space for upcoming recordings which takes priority over existing recordings and transferring in something will delete existing recordings to make room, even well before the upcoming recordings need the space. It seems much worse with mpeg4 file transfers so I think there is some significant padding of the estimated file size on them for transcoding. I don't know a reliable way of preventing this in general. Search back a few months in this thread and you'll find this.


----------



## joelkfla

pmiranda said:


> My understanding is that using KUID on season passes can cause TiVo to preallocate alot of space for upcoming recordings which takes priority over existing recordings and transferring in something will delete existing recordings to make room, even well before the upcoming recordings need the space. It seems much worse with mpeg4 file transfers so I think there is some significant padding of the estimated file size on them for transcoding. I don't know a reliable way of preventing this in general. Search back a few months in this thread and you'll find this.


I don't know what KUID is, but it sounds like you're saying I should avoid transcoding to mpeg4 if I intend to load it back to a TiVo. I guess I could try running TiVodecode on the downloaded file later if I decide I want to play it somewhere else (although I've had no success getting TiVodecode to run so far.)


----------



## gonzotek

joelkfla said:


> I don't know what KUID is, but it sounds like you're saying I should avoid transcoding to mpeg4 if I intend to load it back to a TiVo. I guess I could try running TiVodecode on the downloaded file later if I decide I want to play it somewhere else (although I've had no success getting TiVodecode to run so far.)


KUID = Keep Until I Delete

What issues are you having with TiVoDecode? Are you using pyTivo to download, or another utility (TiVo Desktop, kmttg, etc.)?


----------



## joelkfla

gonzotek said:


> KUID = Keep Until I Delete
> 
> What issues are you having with TiVoDecode? Are you using pyTivo to download, or another utility (TiVo Desktop, kmttg, etc.)?


No, I've been trying it on files downloaded by TiVo Desktop. It just runs for a few seconds and then I get a Windows error box that just says it stopped running due to an error.

The reason I looked into pyTivo is that Desktop has not been able to upload files for the last year or so. The upload dies after a few seconds, and the TiVo deletes the program. I've resorted to playing the downloaded shows in Windows Media Player and running an hdmi cable from my laptop to my receiver. I was hoping running the files thru TiVodecode would make them uploadable.

It seems pyTivo also fails uploading those files, but is able to upload successfully files that it has downloaded, so I suspect the files are being corrupted during Desktop's download. That may be why TiVo decode is failing, or maybe I just haven't installed it correctly; I'm not sure that I have the right C libraries, or where they should be.


----------



## Soapm

Went to update pyTivo and got this...



Code:


[email protected]:/pyTivo# git pull
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 2), reused 2 (delta 1)
Unpacking objects: 100% (3/3), done.
From git://repo.or.cz/pyTivo/wmcbrine
   9f8edbe..43bf5ed  master     -> origin/master
Updating 9f8edbe..43bf5ed
error: Your local changes to the following files would be overwritten by merge:
        config.py
Please, commit your changes or stash them before you can merge.
Aborting

How do I commit changes or stash them?


----------



## gonzotek

joelkfla said:


> No, I've been trying it on files downloaded by TiVo Desktop. It just runs for a few seconds and then I get a Windows error box that just says it stopped running due to an error.
> 
> The reason I looked into pyTivo is that Desktop has not been able to upload files for the last year or so. The upload dies after a few seconds, and the TiVo deletes the program. I've resorted to playing the downloaded shows in Windows Media Player and running an hdmi cable from my laptop to my receiver. I was hoping running the files thru TiVodecode would make them uploadable.
> 
> It seems pyTivo also fails uploading those files, but is able to upload successfully files that it has downloaded, so I suspect the files are being corrupted during Desktop's download. That may be why TiVo decode is failing, or maybe I just haven't installed it correctly; I'm not sure that I have the right C libraries, or where they should be.


Unless you're building it yourself from source, TiVoDecode.exe is just a self-contained binary and doesn't require installation.

In TiVo Desktop settings, do you have 'Fast Transfers' turned on? That setting downloads the content as a Transport Stream (TS) file, versus the older transfer method, Program Stream (PS). Tivodecode doesn't work with the TS files, there are other utilities that can, but let's not get ahead of things until we determine if that's what's happening.


----------



## gonzotek

Soapm said:


> Went to update pyTivo and got this...
> 
> 
> 
> Code:
> 
> 
> [email protected]:/pyTivo# git pull
> remote: Counting objects: 3, done.
> remote: Compressing objects: 100% (2/2), done.
> remote: Total 3 (delta 2), reused 2 (delta 1)
> Unpacking objects: 100% (3/3), done.
> From git://repo.or.cz/pyTivo/wmcbrine
> 9f8edbe..43bf5ed  master     -> origin/master
> Updating 9f8edbe..43bf5ed
> error: Your local changes to the following files would be overwritten by merge:
> config.py
> Please, commit your changes or stash them before you can merge.
> Aborting
> 
> How do I commit changes or stash them?


So it thinks you've modified config.py since the last 'git pull'. Have you? If you're not sure, you could always start with a fresh install and copy your pytivo.conf file from the current one.

Or try 'git stash'
https://git-scm.com/docs/git-stash


----------



## wmcbrine

git reset --hard

if you don't actually need to preserve your changes. (What are they? git diff to see, if you're not sure.)


----------



## Soapm

wmcbrine said:


> git reset --hard
> 
> if you don't actually need to preserve your changes. (What are they? git diff to see, if you're not sure.)


That worked, I would only have changed something at your direction but I remember you asking me to look at some code but I don't recall making any changes. I'm back up and running now with ts=on so my Premier is happy also...

thanks...


----------



## 2004raptor

I ended up installing a fresh copy of windows 10 to my main pc where I had pytivo up and running. 

I'm trying once again to configure it but struggling. 

Early on it says "...edit pyTivo.conf in 3 places". I don't see that file within the pytivo-master directory. I do see a pytivo.conf.dist???

So, it says to do this i need to "start" pyTivo.py. How do you "start" it? Double clicking just brings up a box asking me what I want to start/open it with.


----------



## lpwcomp

2004raptor said:


> I ended up installing a fresh copy of windows 10 to my main pc where I had pytivo up and running.
> 
> I'm trying once again to configure it but struggling.
> 
> Early on it says "...edit pyTivo.conf in 3 places". I don't see that file within the pytivo-master directory. I do see a pytivo.conf.dist???
> 
> So, it says to do this i need to "start" pyTivo.py. How do you "start" it? Double clicking just brings up a box asking me what I want to start/open it with.


Did you re-install Python?


----------



## wkearney99

Software like this often ships a default setup file as part of the 'distribution'. It's common to put the ".dist" suffix on it. You make a copy of that one (or rename it) without that suffix. Which in this case is "pytivo.conf".

Setup is covered on the wiki:
http://pytivo.sourceforge.net/wiki/index.php/Windows_Install

I find that with Python programs on Windows it's often best to be precise about which python interpreter is going to be used. If you only have one version of python installed (and it's compatible with pytivo) then it should automatically be able to launch files with the '.py' suffix.

If you haven't already, head to the Python website and download the appropriate installer for your computer.

I start one of mine using a shortcut that has "C:\Python27\python.exe C:\pytivo\pyTivo.py" as the Target on the shortcut's properties. Seems to work fine.


----------



## 2004raptor

lpwcomp said:


> Did you re-install Python?


I thought I had done so. I've got so many browsers and windows open I somehow did not.  thanks.


wkearney99 said:


> Software like this often ships a default....


Thanks. reading through this in a second.

I'm sure I'll be back.


----------



## 2004raptor

OK. I want to say everything went according to plan....but I don't see MyMovies listed on the tivo as I use to.

Now, one issue that I can think of is that I have not rebooted the tivo. Family is in there watching tv so that will have to wait until later. 

I even installed pywin32 to run pyTivo as a service as I did forever ago and it showed it was successful. I rebooted the PC. Shouldn't I see pyTivo in the task manager? I can't find it.

Anything else I can check in the mean time before I power cycle the tivo?


----------



## lpwcomp

2004raptor said:


> OK. I want to say everything went according to plan....but I don't see MyMovies listed on the tivo as I use to.
> 
> Now, one issue that I can think of is that I have not rebooted the tivo. Family is in there watching tv so that will have to wait until later.
> 
> I even installed pywin32 to run pyTivo as a service as I did forever ago and it showed it was successful. I rebooted the PC. Shouldn't I see pyTivo in the task manager? I can't find it.
> 
> Anything else I can check in the mean time before I power cycle the tivo?


Installing pywin32 enables doesn't start the service.

You should try running it from a command prompt first anyway to make sure everything is working.


----------



## 2004raptor

lpwcomp said:


> Installing pywin32 enables doesn't start the service.
> 
> You should try running it from a command prompt first anyway to make sure everything is working.


OK, so I started it manually and I can see the two directories I have shared. One on my PC is fine. The one connected to my WD TV Live has no content????

Well, it displays no content but there's definitely content in there.


----------



## lpwcomp

2004raptor said:


> OK, so I started it manually and I can see the two directories I have shared. One on my PC is fine. The one connected to my WD TV Live has no content????
> 
> Well, it displays no content but there's definitely content in there.


And your PC can see and play the content with standard video player s/w?


----------



## 2004raptor

lpwcomp said:


> And your PC can see and play the content with standard video player s/w?


yes


----------



## lpwcomp

2004raptor said:


> yes


Try starting pyTiVo in a Command Prompt (Admin). It's possible that pyTivo is having problems accessing the network drive. How is the share path specified in the pyTivo.conf?


----------



## Hcour

I have a series of videos downloaded from Youtube that I would like to transfer to my Tivo using Pytivo (using Pull). This is simple enough but I was wondering if there was anyway to group them into a folder? Thanks.


----------



## spocko

Does push still work with the Tivo HD? I have used it successfully in the past. I tried it the other day and the transfers never started. After trying to push, then pull did not work either. The Tivo seemed to think that something was still queued up. It mysteriously deleted everything in the deleted items folder, like it was trying to free up space for the transfers, even though there was plenty of space. Rebooting the Tivo did not restore pull capability. After waiting a couple days, now pull is working fine. I haven't tried push again.


----------



## 2004raptor

OK, I got the titles to display from my WD drive onto the tivo like it was before. 

But...I went to transfer one of t hem and I got a message saying the transfer would begin after the previously scheduled transfers have completed????

Not sure why it says there are previous transfers. Normally it starts right away and a blue light comes up on the front of the tivo. And it gives me the option to begin playing the video while it transfers.


----------



## justen_m

spocko said:


> Does push still work with the Tivo HD? I have used it successfully in the past. I tried it the other day and the transfers never started. After trying to push, then pull did not work either. The Tivo seemed to think that something was still queued up. It mysteriously deleted everything in the deleted items folder, like it was trying to free up space for the transfers, even though there was plenty of space. Rebooting the Tivo did not restore pull capability. After waiting a couple days, now pull is working fine. I haven't tried push again.


With the TiVoHD, TiVo has removed some functionality from the website, like on-line scheduling. Lots of threads about it. I guess this may have broken Push functionality too, as it relies on the website. IIRC, pyTivo tells the website to tell your tivo to request the selected program from pyTivo. Push is actually an indirect Pull. I think the intermediate communication may have been broken.


----------



## Soapm

Push works for me on my TivoHD.


----------



## wmcbrine

Push has reliability problems with any TiVo, due to the dependence on tivo.com servers. Barring a lot more reports, I have no reason to think that it's broken for the TiVo HD in general.


----------



## 2004raptor

Well, I'm confused. I made a share on my Windows 10 PC and I'm able to transfer with no errors. The same file on my WD media player still gives me the message about waiting until previously scheduled files need to be transferred. 

Why would one work and not the other?


----------



## 2004raptor

2004raptor said:


> Well, I'm confused. I made a share on my Windows 10 PC and I'm able to transfer with no errors. The same file on my WD media player still gives me the message about waiting until previously scheduled files need to be transferred.
> 
> Why would one work and not the other?


Still looking for help on this.

Also, when I make a change to the http://localhost:9032/ and click on the "Restart pytivo" why can I never access the page again?? I have to reboot in order to access the settings page. 

EDIT - Ok. I'm guessing that pytivo isn't really running is the reason I can't get to the localhost:9032 page. But when I type in services.msc or whatever at the command prompt it clearly shows pytivo running?????


----------



## 2004raptor

More weirdness.

SO, I was able to see and transfer files from both shares yesterday. But today, i can't see the WD drive at all. I can see the share that is on my PC and transfer with no problems.

I went into the http://localhost:9032 and tried the "push" from my WD drive and it worked?????

Just not comprehending why it works one way and not the other.


----------



## Wolfnards

I have a large quantity (1TB) of downloaded .tivo files. The plan was to use a PC with a big disk as backup storage and move the .tivo files back to the tivo when desired. Looks like I have about a 75% failure rate on pushing back to the Tivo Bolt. 


Specifically, the errors in pyTivo's output for the "bad" .tivo files are similar to: 
(see error.txt)




Immediately afterwards, I push a file I know that works, this is the output

(see success.txt)

This is from my pyTivo.conf
(see config.txt)


I've been using kmttg to "download" the .tivo files using the same config. 
Is this possibly a tivodecode.exe bug that is causing these errors? I can watch the .tivo files that don't push via Windows Media Player, but as someone mentioned, WMP is less picky than Tivo. 

I have a Bolt. 

Thanks in advance for any advice or constructive feedback.

wolf


----------



## mattack

Dumb question, they're both on the same network with the same MAK, right? i.e. the original Tivo you downloaded from and the one you're transferring to are on the same account..

Though maybe I'm wrong and they don't have to be? (Though I always decode my downloads to avoid problems like this..)


----------



## justen_m

What speeds are you all seeing? I just transferred almost a gig of programs from my pc back to my Roamio Plus... averaged 240Mbps! Pretty damn good. I am lucky to get half that with kmttg transferring from that TiVo to my server. Why the difference? Does kmttg have some inefficient buffering or pipelining?


----------



## andrew1883

There seems to be only one thread on pyTiVo so I hope it's okay to post this here. If not, sorry and please redirect me. 

I'm transferring files from my TiVo Premier to my Win 7 notebook, and when I decrypt and play them with VLC I can see captions (not with WMP on .TiVo files). When I transfer them back to the TiVo using pyTiVo, the captions are gone. I've got ts=on in my .conf . I'm going to quote my .conf and the output from pulling (PC-TiVo) an 11min .TiVo (it should be an hour but it's one of those that just stopped partway on the TiVo-PC transfer, which is a different thing to troubleshoot).

First the c:\pytivo\pytivo.conf:



Code:


[ code ] block removed due to Tapatalk display issue.

And the output to cmd window from transferring the file (I haven't set up a log file, and I thought windows setup would do it automatically, so sorry if this is a mess):



Code:


[ code ] block removed due to Tapatalk display issue.

In the other thread, moyekj pointed out (http://www.tivocommunity.com/tivo-vb/showthread.php?t=536863&page=2 posted #47) this about another transfer that worked:



> x-tivo-mpeg-ts option being used for the GET, and also note the "-f mpegts" option at end of ffmpeg command indicating it's remuxing to TS container during the transfer:


----------



## andrew1883

It works! I posted a follow-up in the other (referenced above) and also deleted the [ code ] block in my first post in this thread.

=aw


----------



## wmcbrine

Reposted from here:

So, I never have fully resolved all the problems with transport stream mode, but it's long past time this feature moved out of the "experimental" phase, so I can stop telling everyone to add "ts=on" to their pyTivo.conf.  I've finally added it to the Settings menu, and added a new mode, "Auto", which is now the default. In this mode, existing program and transport streams should both generally be passed through as-is, while transport streams will be used for extensions that are likely to indicate h.264 video. (I don't actually test for h.264 video at the stage where this choice is made, because it's too slow.) The behavior of "on" (or "true" or "yes") and "off" (or "false" or "no") settings is unchanged -- "on" means everything is forced to transport streams (you might want to use this to preserve captions, for instance), "off" forces everything to program streams.


----------



## innocentfreak

I just pulled the latest update and for some reason PyTiVo now isn't seeing my TiVos and the announced shares aren't displaying on the TiVos.

Any ideas? Prior to the pull of the TS update everything was working here fine.

EDIT: A reboot fixed it, not sure what happened since I had just booted the PC up.


----------



## innocentfreak

And TiVos are gone when I boot up this morning. Something is definitely causing issues with my setup all the sudden. I am running Windows 10 64 bit.


----------



## eherberg

innocentfreak said:


> And TiVos are gone when I boot up this morning. Something is definitely causing issues with my setup all the sudden. I am running Windows 10 64 bit.


As reference - I am also running Win 10 64-bit and the latest pyTivo. I have had no issues and everything running as it always has. Note that I am not running it as a service.


----------



## innocentfreak

I was able to solve it by entering the IPs of the TiVo which I never had to do before so something on my network is interfering.


----------



## philco782

OMG, I've been going nuts over pyTivo push reporting badCookie responses from tivo's mind server ever since I reinstalled Windows. It was working fine on another computer, but not the new one.

Somebody somewhere mentioned Fiddler, which I had totally forgotten about. What an awesome tool that is... Analyzed the traffic on both computers, saw a time difference... DOH! Windows reinstall defaulted to Pacific time zone, and I am in Eastern. That was enough to hose pyTivo pushes!

I guess this wasn't obvious to me as I'm new to Win10, and Win10 reinstalls are not very verbose and interactive.


----------



## innocentfreak

And even with the IPs of my TiVos entered in settings, PyTiVo can't see my TiVos again. I am really growing to hate Windows 10. I have had nothing but issues since I switched.

KMTTG on the other hand never has a problem so I don't know what is blocking PyTiVo.

http://www.tivocommunity.com/tivo-vb/showthread.php?p=8904371#post8904371

This trick helped fix it for now. Of course as soon as I restart it detected the TiVos so I have duplicate listings now.


----------



## worachj

I updated to the latest release on Monday. I can no longer push shows to my S3 model 648. It gets queued but then it just sits there and nothing happens. I can successfully push the same NCIS show to my Roamio and Premiere without any problems. The NCIS show was downloaded from my Roamio using Kmttg to strip commericals using the same setting I've been using for the last three months.

I've rebooted the S3 without any luck. Not sure what the problem is.



Code:


INFO:pyTivo:Last modified: Mon Mar 21 17:52:00 2016
INFO:pyTivo:Python: 2.7.6
INFO:pyTivo:System: Windows-8-6.2.9200
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:Living Room
INFO:pyTivo.beacon:Bed Room
INFO:pyTivo.beacon:Basement
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: MyMovies
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.1.240 [06/Apr/2016 11:20:52] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.239 [06/Apr/2016 11:20:52] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.235 [06/Apr/2016 11:20:52] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.235 [06/Apr/2016 11:20:52] "GET /TiVoConnect?Command=QueryContainer&Container=MyMovies&ItemCount=0&SerialNum=7460011906CE0B7 HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.240 [06/Apr/2016 11:20:52] "GET /TiVoConnect?Command=QueryContainer&Container=MyMovies&ItemCount=0&SerialNum=8460001902BC12D HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [06/Apr/2016 11:20:56] "GET / HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [06/Apr/2016 11:20:57] "GET /TiVoConnect?Command=QueryContainer&Container=MyMovies&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo.video.video:[06/Apr/2016 11:21:03] Queued "c:\Users\John\Documents\My TiVo Recordings\NCIS - (Season 13 Episode 20) Charade_cut.mpg" for Push to Basement
INFO:pyTivo:127.0.0.1 [06/Apr/2016 11:21:03] "POST /TiVoConnect HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [06/Apr/2016 11:21:08] "GET /TiVoConnect?Command=QueryContainer&Container=MyMovies&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [06/Apr/2016 11:21:08] "GET /main.css HTTP/1.1" 200 -


----------



## lpwcomp

Can you *pull* it to the S3?


----------



## worachj

lpwcomp said:


> Can you *pull* it to the S3?


Yes. I just started a pull and it works. I started playing it without problems while it was still downloading.


----------



## lpwcomp

worachj said:


> Yes. I just started a pull and it works. I started playing it without problems while it was still downloading.


Appears as though for some reason the S3 is never seeing the push request.


----------



## worachj

lpwcomp said:


> Appears as though for some reason the S3 is never seeing the push request.


Maybe its something to do with the code checking for transport stream mode and which supported TiVo's? I know there was a new TS setting added a while back to the global server settings screen. Mine is set to Auto.


----------



## lpwcomp

worachj said:


> Maybe its something to do with the code checking for transport stream mode and which supported TiVo's? I know there was a new TS setting added a while back to the global server settings screen. Mine is set to Auto.


It shouldn't as the 648 was never even possibly going to support TS transfers. Pus, I see no evidence in the log that it even tried to start the transfer.

You could try enabling debug in pyTivo to see if that gives you more info, but I doubt it. You might also check your firewall logs.


----------



## worachj

Tried again with debug on. Still not pushing to the S3. Nothing in the firewall logs. Still can't see why its hanging. Other pushes to different TiVo's are working, just not to the S3. Pushes to the S3 stopped working when I upgrade to the latest release on Monday.



Code:


INFO:pyTivo:Last modified: Mon Mar 21 17:52:00 2016
INFO:pyTivo:Python: 2.7.6
INFO:pyTivo:System: Windows-8-6.2.9200
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:Bed Room
INFO:pyTivo.beacon:Basement
INFO:pyTivo.beacon:Living Room
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: MyMovies
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.1.240 [06/Apr/2016 13:36:28] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.235 [06/Apr/2016 13:36:28] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.239 [06/Apr/2016 13:36:28] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.1.235 [06/Apr/2016 13:36:28] "GET /TiVoConnect?Command=QueryContainer&Container=MyMovies&ItemCount=0&SerialNum=7460011906CE0B7 HTTP/1.1" 200 -
INFO:pyTivo:192.168.1.240 [06/Apr/2016 13:36:28] "GET /TiVoConnect?Command=QueryContainer&Container=MyMovies&ItemCount=0&SerialNum=8460001902BC12D HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [06/Apr/2016 13:36:32] "GET / HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [06/Apr/2016 13:36:34] "GET /TiVoConnect?Command=QueryContainer&Container=MyMovies&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo.video.video:[06/Apr/2016 13:36:40] Queued "c:\Users\John\Documents\My TiVo Recordings\NCIS - (Season 13 Episode 20) Charade_cut.mpg" for Push to Basement
INFO:pyTivo:127.0.0.1 [06/Apr/2016 13:36:40] "POST /TiVoConnect HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [06/Apr/2016 13:36:45] "GET /TiVoConnect?Command=QueryContainer&Container=MyMovies&Format=text/html HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:ffmpeg output=ffmpeg version N-79243-g54c9146 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.3.0 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
  libavutil      55. 20.100 / 55. 20.100
  libavcodec     57. 33.100 / 57. 33.100
  libavformat    57. 29.101 / 57. 29.101
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 40.102 /  6. 40.102
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
[NULL @ 0000000002294400] start time for stream 0 is not set in estimate_timings_from_pts
Input #0, mpeg, from 'c:\Users\John\Documents\My TiVo Recordings\NCIS - (Season 13 Episode 20) Charade_cut.mpg':
  Duration: 00:41:32.66, start: 0.500000, bitrate: 14790 kb/s
    Stream #0:0[0x1bf]: Data: dvd_nav_packet
    Stream #0:1[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
    Stream #0:2[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], Closed Captions, max. 20000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
At least one output file must be specified

DEBUG:pyTivo.video.transcode:aFreq=48000; aCh=6; container=mpeg; kbps=14790; mapAudio=[('0:1', '[0x80] ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s\r')]; vHeight=1080; vCodec=mpeg2video; Supported=True; aKbps=384; par=None; millisecs=2492660; vFps=29.97; par2=None; par1=None; mapVideo=0:2; vWidth=1920; dar1=16:9; rawmeta={}; aCodec=ac3
DEBUG:pyTivo.video.transcode:CACHE HIT! c:\Users\John\Documents\My TiVo Recordings\NCIS - (Season 13 Episode 20) Charade_cut.mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg2video not compatible, c:\Users\John\Documents\My TiVo Recordings\NCIS - (Season 13 Episode 20) Charade_cut.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! c:\Users\John\Documents\My TiVo Recordings\NCIS - (Season 13 Episode 20) Charade_cut.mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, vCodec mpeg2video not compatible, c:\Users\John\Documents\My TiVo Recordings\NCIS - (Season 13 Episode 20) Charade_cut.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! c:\Users\John\Documents\My TiVo Recordings\NCIS - (Season 13 Episode 20) Charade_cut.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! c:\Users\John\Documents\My TiVo Recordings\NCIS - (Season 13 Episode 20) Charade_cut.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! c:\Users\John\Documents\My TiVo Recordings\NCIS - (Season 13 Episode 20) Charade_cut.mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, c:\Users\John\Documents\My TiVo Recordings\NCIS - (Season 13 Episode 20) Charade_cut.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! c:\Users\John\Documents\My TiVo Recordings\NCIS - (Season 13 Episode 20) Charade_cut.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! c:\Users\John\Documents\My TiVo Recordings\NCIS - (Season 13 Episode 20) Charade_cut.mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, c:\Users\John\Documents\My TiVo Recordings\NCIS - (Season 13 Episode 20) Charade_cut.mpg
INFO:pyTivo:127.0.0.1 [06/Apr/2016 13:36:45] "GET /main.css HTTP/1.1" 200 -
DEBUG:pyTivo.mind:__login
{'cams_security_domain': 'tivocom', 'cams_login_config': 'http', 'cams_cb_password': 'xxxxxxxx', 'cams_original_url': '/mind/mind7?type=infoGet', 'cams_cb_username': email.net'}
DEBUG:pyTivo.mind:pcBodySearch
{}

<pcBodyList><isBottom>true</isBottom><isTop>true</isTop><pcBody><bucketNumber>-1</bucketNumber><levelOfDetail>low</levelOfDetail><name>pyTivo</name><pcBodyId>tivo:pc.1002528071</pcBodyId><type>pcBody</type></pcBody></pcBodyList>g
DEBUG:pyTivo.mind:bodyOfferModify&bodyId=tsn:64800018020390E
{'subtitle': 'Charade', 'description': "After Special Agent DiNozzo's identity is stolen, the perpetrators use his name to begin blackmailing senators.", 'pcBodyId': 'tivo:pc.1002528071', 'publishDate': '2016-04-06 18:3646', 'partnerId': 'tivo:pt.3187', 'duration': 2492, 'size': 4608495616L, 'title': 'NCIS', 'url': 'http://192.168.1.233:9032/MyMovies/NCIS%20-%20%28Season%2013%20Episode%2020%29%20Charade_cut.mpg?Format=video/mpeg', 'bodyId': 'tsn:64800018020390E', 'source': 'SH681911', 'state': 'complete', 'encodingType': 'mpeg2ProgramStream', 'tvRating': 'pg'}

<bodyOffer><bodyId>tsn:64800018020390E</bodyId><bodyOfferId>tivo:bo.15002721</bodyOfferId><createDate>2016-04-06 18:36:41</createDate><description>After Special Agent DiNozzo's identity is stolen, the perpetrators use his name to begin blackmailing senators.</description><duration>2492</duration><encodingType>mpeg2ProgramStream</encodingType><levelOfDetail>high</levelOfDetail><offerId>tivo:of.bs.15002721</offerId><partnerId>tivo:pt.3187</partnerId><pcBodyId>tivo:pc.1002528071</pcBodyId><publishDate>2016-04-09 06:46:00</publishDate><size>4608495616</size><source>SH681911</source><state>complete</state><subtitle>Charade</subtitle><title>NCIS</title><tvRating>pg</tvRating><updateDate>2016-04-06 18:36:41</updateDate><url>http://192.168.1.233:9032/MyMovies/NCIS%20-%20%28Season%2013%20Episode%2020%29%20Charade_cut.mpg?Format=video/mpeg</url></bodyOffer>g
DEBUG:pyTivo.mind:subscribe&bodyId=tsn:64800018020390E
{'uiType': 'cds', 'idSetSource': {'contentId': 'tivo:ct.bs.15002721', 'type': 'singleOfferSource', 'offerId': 'tivo:of.bs.15002721'}, 'bodyId': 'tsn:64800018020390E', 'title': 'pcBodySubscription'}

<subscribeResult><subscription><autoRecord>true</autoRecord><bodyGeneratesCandidates>false</bodyGeneratesCandidates><bodyId>tsn:64800018020390E</bodyId><hdOnly>false</hdOnly><idSetSource><contentId>tivo:ct.bs.15002721</contentId><offerId>tivo:of.bs.15002721</offerId><type>singleOfferSource</type></idSetSource><isAdult>false</isAdult><isForKids>false</isForKids><levelOfDetail>high</levelOfDetail><showStatus>rerunsAllowed</showStatus><subscriptionId>tivo:sb.15004181</subscriptionId><title>pcBodySubscription</title><type>subscription</type><uiType>cds</uiType></subscription></subscribeResult>g


----------



## wmcbrine

worachj said:


> Pushes to the S3 stopped working when I upgrade to the latest release on Monday.


I'm pretty sure that's a coincidence. None of the recent changes have been relevant to push.


----------



## worachj

When I updated to the latest Pytivo version I also updated to the latest FFmpeg build (ffmpeg version N-79243-g54c9146).

I looked again today and noticed that there was a new build made yesterday(ffmpeg version N-79253-g8005b6d). 

I downloaded it and tried it. Same results, no change. Its still hanging. Seems to be hanging in the transcoding.


----------



## lpwcomp

worachj said:


> When I updated to the latest Pytivo version I also updated to the latest FFmpeg build (ffmpeg version N-79243-g54c9146).
> 
> I looked again today and noticed that there was a new build made yesterday(ffmpeg version N-79253-g8005b6d).
> 
> I downloaded it and tried it. Same results, no change. Its still hanging. Seems to be hanging in the transcoding.


Try an older version. i had a different problem with the more recent versions where timecodes were getting screwed up.


----------



## worachj

lpwcomp said:


> Try an older version. i had a different problem with the more recent versions where timecodes were getting screwed up.


No luck trying older versions of FFmpeg. Tried the version from Kmttg, a version from 2015, 2014 and 2013. Same results, can't push to the S3. Tried different shows with the same results.

I was going to try an older version of Pytivo, but I wasn't able to find any.

At least the pull from the S3 still works. So I can still get my shows transferred. No problems with pushes to my Roamio and Premiere.

Thanks for the suggestions.


----------



## justen_m

I can't push anything to my TiVoHD, but it can pull from pyTivo. I don't think I've ever pushed anything to my HD, just pulled. I can push fine to my Roamio Plus.

My pyTivo version isn't the newest, but isn't that old. It is the one where I added the setting to pyTivo.conf ts=on, to use transport streams to send to my Roamio. I tried pushing to my TiVoHD with this setting on, and without it, and both cases failed.

This was all done from a Win 10 pc. I suppose I could try Linux, too.

Does this have anything to do with the fact online scheduling is pretty much broken with the TiVoHD, too? (I think the legacy Android app might still work, but not sure about that).

[edit] Same results on Linux. From Linux I can push to my Roamio, but not my TiVoHD. My TiVoHD can pull from my Linux box.


----------



## justen_m

wmcbrine said:


> I'm pretty sure that's a coincidence. None of the recent changes have been relevant to push.


Yeah, I can't push to my TiVoHD (still on 11.0m) from my Win 10 or Linux machines, and neither has updated pyTiVo since you added the ts=on option to enable transport streams. pyTivo reports Last modified: Fri Jan 22 17:19:37 2016, on both Win and Linux.

I'm not sure when it stopped working. My guess would be when online scheduling for the S3 was dropped. I don't use my HD much, and I rarely use Push.


----------



## worachj

wmcbrine said:


> I'm pretty sure that's a coincidence. None of the recent changes have been relevant to push.


I'm not sure of the last time I updated Pytivo, but it could have been over a year ago. Not sure how many releases I skipped over when I updated on Monday.


----------



## lpwcomp

One wonders if whatever change they made to implement the new transfer capability broke pushes to S3s and earlier.


----------



## worachj

I've been using pytivo successfully to push to my S3 for over a year, right up until I updated on Monday. That's when the S3 pushes stopped working for me.


----------



## mathwhiz

I've been using pyTiVo for years with my Series 3 and TiVo HDXL - the push transfers stopped working on Monday or Tuesday as well - and I didn't upgrade my pyTiVo. So this is something with TiVo's servers it seems that isn't getting the push requests to our TiVos. Getting annoyed with TiVo and our Series 3/TiVo HDs, first no Youtube, then no web access (have to use the app), and now this?


----------



## JohnnyRocket

Hi -
I also have two Tivo HD's - PyTivo has been working reliably for me for years - Nothing has changed.

Pushes stopped working for me on Tuesday and have not worked since - 

Can others confirm or report whether they are getting pushes to work on Tivo HDs???

Thanks!

How would we report this problem to Tivo???


----------



## lpwcomp

I scrapped my dead THD last year, but I can report that pushes no longer work on a Series 2 either. Unknown when that started.


----------



## wmcbrine

JohnnyRocket said:


> How would we report this problem to Tivo???


My first impulse is to say "try to reproduce it with TiVo Desktop first (using auto-transfer folders);" but then, they don't support TD anymore, either. I'm sorry, but I don't have much hope for a resolution on this.

Remember that you can always pull from the bottom of the My Shows list instead, which avoids relying on mind.tivo.com. (Although it does mean that H.264 video will have to be transcoded.)

(Now, I personally am running into an issue lately of pyTivo shares disappearing from "My Shows" after only a short time, but for now I'm going to assume it's an issue with my LAN, until I can rule that out.)


----------



## 2004raptor

Backon post 5419 I mentioned some weirdness regarding push/pull. Is that what is being discussed???? Well, I can push, I just can't pull...I think.


----------



## reneg

JohnnyRocket said:


> Hi -
> I also have two Tivo HD's - PyTivo has been working reliably for me for years - Nothing has changed.
> 
> Pushes stopped working for me on Tuesday and have not worked since -
> 
> Can others confirm or report whether they are getting pushes to work on Tivo HDs???
> 
> Thanks!
> 
> How would we report this problem to Tivo???


I am unable to push to my Tivo HD, but I can push to my Roamio. Using kmttg, I can see the pushed file as pending on the Tivo HD. I am also having issue getting the todo list via kmttg on the Tivo HD. Based on the todo list in kmttg, my todo list has not updated since midnight Tuesday night. Just a guess, but I think the issue is something on Tivos end with their Mind servers & Tivo HD.


----------



## dcrowell77

reneg said:


> I am unable to push to my Tivo HD, but I can push to my Roamio. Using kmttg, I can see the pushed file as pending on the Tivo HD. I am also having issue getting the todo list via kmttg on the Tivo HD. Based on the todo list in kmttg, my todo list has not updated since midnight Tuesday night. Just a guess, but I think the issue is something on Tivos end with their Mind servers & Tivo HD.


Add me to the list of TiVoHD push fails. I've changed nothing for quite awhile.

Possibly interesting, I saw this in kmttg when I pulled the TODO list from the HD. The list did show up though, so not sure what it was trying to do.

RemoteInit - (IP=middlemind.tivo.com, port=443): Received fatal alert: certificate_expired


----------



## reneg

dcrowell77 said:


> Add me to the list of TiVoHD push fails. I've changed nothing for quite awhile.
> 
> Possibly interesting, I saw this in kmttg when I pulled the TODO list from the HD. The list did show up though, so not sure what it was trying to do.
> 
> RemoteInit - (IP=middlemind.tivo.com, port=443): Received fatal alert: certificate_expired


No errors or alerts in kmttg on my system. My Todo list comes up in kmttg, but it hasn't changed in 5 days. The Todo list on the Tivo HD is current.


----------



## JohnnyRocket

dcrowell77 said:


> Add me to the list of TiVoHD push fails. I've changed nothing for quite awhile.
> 
> Possibly interesting, I saw this in kmttg when I pulled the TODO list from the HD. The list did show up though, so not sure what it was trying to do.
> 
> RemoteInit - (IP=middlemind.tivo.com, port=443): Received fatal alert: certificate_expired


Hmmmm....
Could this mean that perhaps pyTivo is sending some sort of expired certificate when talking to the mind server?

Is this something that might be fixable in pyTivo?


----------



## eherberg

Considering that it happened at the same time online transfers became inoperable for TivoHD, I don't think it has anything to do with pyTivo. Sounds more like something on TiVo's end.


----------



## missor88

Like others here, I stopped being able to send videos to my TiVoHD around Tuesday. I also appear to no longer be able to send videos to my TiVo Bolt, either.

Am I to take it from comments in this thread that this is likely a permanent situation, and there are no longer any ways to send videos to a TiVo?

The ability to push files from my computer to the TiVo was the main reason I have always used a TiVo, so losing this feature is pretty much a dealbreaker for me.


----------



## BRiT wtfdotcom

JohnnyRocket said:


> Hmmmm....
> Could this mean that perhaps pyTivo is sending some sort of expired certificate when talking to the mind server?
> 
> Is this something that might be fixable in pyTivo?


Sounds more like the certificate expired on a Tivo server that handles older models that pytivo ends up having to use. If thats the case, its only fixable on Tivo's end unless pytivo can completely ignore certificate warnings which could cause security concerns.


----------



## HerronScott

missor88 said:


> Am I to take it from comments in this thread that this is likely a permanent situation, and there are no longer any ways to send videos to a TiVo?
> 
> The ability to push files from my computer to the TiVo was the main reason I have always used a TiVo, so losing this feature is pretty much a dealbreaker for me.


Why does pulling not work for you?

Scott


----------



## missor88

HerronScott said:


> Why does pulling not work for you?
> 
> Scott


Pulling? I can't attest to if pulling is working, as that is not a feature I often need to use, and thus have not tested it; however, according to many comments here, it appears pulling is still working.

But I need to PUSH videos to my TiVo from my PC using pyTivo, and that is the feature that seems to be dead.


----------



## lpwcomp

missor88 said:


> Pulling? I can't attest to if pulling is working, as that is not a feature I often need to use, and thus have not tested it; however, according to many comments here, it appears pulling is still working.
> 
> But I need to PUSH videos to my TiVo from my PC using pyTivo, and that is the feature that seems to be dead.


I think you misunderstand the question which is why do you *need* to push them from your computer rather than pulling them from your computer?


----------



## eherberg

missor88 said:


> Pulling? I can't attest to if pulling is working, as that is not a feature I often need to use, and thus have not tested it; however, according to many comments here, it appears pulling is still working.
> 
> But I need to PUSH videos to my TiVo from my PC using pyTivo, and that is the feature that seems to be dead.


Push works for Series 4 and up - (it does for both of mine). It is just push for anything below that.

I have found that I use pull more often, though, just because of the extra flexibility in transferring between TiVo's that pull gives as opposed to push.


----------



## HerronScott

lpwcomp said:


> I think you misunderstand the question which is why do you *need* to push them from your computer rather than pulling them from your computer?


Right! Even if push is broken, you should be able to pull the video from the PC to the TiVo. That's how I've always done it with pyTiVo (and of course TiVo Desktop).

Scott


----------



## missor88

eherberg said:


> Push works for Series 4 and up - (it does for both of mine). It is just push for anything below that.
> 
> I have found that I use pull more often, though, just because of the extra flexibility in transferring between TiVo's that pull gives as opposed to push.


Push is not working for my TiVoHD or my Bolt. I have restarted all systems and reset my internet multiple times, as well as updating pyTiVo. No dice. My search for why this is happening led me here. I don't know why my Bolt seems to be affected, given the reports that Series 4 and up should work. I can only report that mine does not.

Pull is also not working for my TiVoHD (I do not know about the Bolt, as I haven't yet tried). I can pull up my PC videos folder on my TiVo, but when I select an actual video, it just brings me to a blank screen, with no options to transfer. So there is no way to get the videos from my PC to my TiVo.

As a (strong) personal preference, I prefer to use push rather than pull. I don't transfer videos between my TiVos (actually, my cable provider has many, if not most, recorded shows flagged as non-transferrable. I understand from reading online that I can contact them about this error, but it's not something I ever need to do, so I don't bother), as the viewing preferences tend to vary by room. But I do keep a large amount of media on my computer and often push it to my TiVo to watch. Pulling from the TiVo itself means scrolling through a large list, page by page by page, to select one file. Versus looking at the whole folder and selecting a batch of videos to transfer at once. Not to mention the fact that I am at my computer a lot, so sending the videos from my computer, checking if there were any failures, and re-sending immediately can all be accomplished right as I am doing other things, and does not involve going to the living room, starting up the TV, and working through all the menus in order to send a single video each and every time.

But regardless of my preference, as it stands now, I can not get videos from my PC to TV at all. The ease of having my media and recordings easily accessible from the same Now Playing list is the number one feature I have used TiVo for all these years, and without it, the service is no longer worth it. For me, at least.


----------



## lpwcomp

The inability to pull to either TiVo means in all likelihood there is something messed up on your system, _*not*_ TiVo.


----------



## missor88

lpwcomp said:


> The inability to pull to either TiVo means in all likelihood there is something messed up on your system, _*not*_ TiVo.


Which is what I initially thought. Except nothing seemed to fix it. And when I googled the issue, I discovered that people were all having the same problem, and it began for all of us at the same time - Monday/Tuesday. I don't think I suffered a sudden system failure, despite no changes to my setup, at the exact same time as everyone else just coincidentally.

I see comments here attesting that pull is still working from one TiVo to another. But are people still getting pull to work from their PC to their TiVo?


----------



## lpwcomp

missor88 said:


> Which is what I initially thought. Except nothing seemed to fix it. And when I googled the issue, I discovered that people were all having the same problem, and it began for all of us at the same time - Monday/Tuesday. I don't think I suffered a sudden system failure, despite no changes to my setup, at the exact same time as everyone else just coincidentally.
> 
> I see comments here attesting that pull is still working from one TiVo to another. But are people still getting pull to work from their PC to their TiVo?


Yes, I pull stuff with no problems. And I am still able to push to a Premiere or Roamio. I can no longer push to my S2 and my THD died a while back and has been recycled so cannot test that.

BTW, except when testing, I use push only to send recordings to a remote Premiere, which I do almost every day, usually multiple times.

While a lot of people have noticed that pushes no longer work to an S3 or earlier, few if any have reported problems with either pushing to an S4 or later or pulling to any model.


----------



## worachj

Everything is working for me, except the PC push to my S3 (Model 648). 

Push and pulls using my Roamio & Premiere & PC are working fine today. Pulls using my S3 from my PC are also working ok.


----------



## missor88

Okay. I will try posting for support on the pyTiVo boards to figure out why I have lost all functionality, when it appears the current problem should only be affecting pushing to my TiVoHD.

Thank you.


----------



## lpwcomp

missor88 said:


> Okay. I will try posting for support on the pyTiVo boards to figure out why I have lost all functionality, when it appears the current problem should only be affecting pushing to my TiVoHD.
> 
> Thank you.


You should turn on debug in pyTivo and get the log. Also post your pyTivo.conf file (after redacting sensitive data like user id, password and MAK)


----------



## missor88

Thank you, lpwcomp. I have posted what I believe is the correct information over at the pyTiVo forum. Hopefully someone will be able to point me to a solution.


----------



## ShoutingMan

Pytivo has stopped working for with my TiVo Roamio. I can't pull from my TiVo anymore. I don't know the cause, whether a Java update did it or a TiVo thing.

Tips on debugging?

In the meantime, I'm using Plex on my AppleTV to share video from my Mac. Transport control sucks, but it works nicely otherwise.


----------



## wkearney99

ShoutingMan said:


> I don't know the cause, whether a Java update did it or a TiVo thing.


Seeing as how pyTivo is written in Python, any updates to Java would have nothing do with it. Not unless the java updater or something else went mucking about with the local firewall/network settings (which seems unlikely).


----------



## 2004raptor

For some reason I can't see My Movies in my Tivo. I've restarted my PC but something isn't automatically loading as before. can anyone tell me what exact file I need to start up?


----------



## lpwcomp

2004raptor said:


> For some reason I can't see My Movies in my Tivo. I've restarted my PC but something isn't automatically loading as before. can anyone tell me what exact file I need to start up?


pyTivo.py


----------



## Soapm

Just curious if anyone has pyTivo running on a systemd OS?

I just upgraded my Debian server to Jessie and I can't figure out how to get pyTivo to start to save my life. I found this script for Fedora Systemd but no go http://pytivo.sourceforge.net/forum/systemd-startup-script-t2052.html?highlight=systemd

Has anyone gotten pyTivo to start on systemd debian?


----------



## lpwcomp

Soapm said:


> Just curious if anyone has pyTivo running on a systemd OS?
> 
> I just upgraded my Debian server to Jessie and I can't figure out how to get pyTivo to start to save my life. I found this script for Fedora Systemd but no go http://pytivo.sourceforge.net/forum/systemd-startup-script-t2052.html?highlight=systemd
> 
> Has anyone gotten pyTivo to start on systemd debian?


What version of Python is installed?


----------



## Soapm

lpwcomp said:


> What version of Python is installed?


Does it matter?



Code:


[email protected]:/pyTivo# aptitude show python
Package: python
State: installed
Automatically installed: no
Multi-Arch: allowed
Version: 2.7.9-1
Priority: standard
Section: python
Maintainer: Matthias Klose <[email protected]>
Architecture: amd64
Uncompressed Size: 696 k
Depends: python2.7 (>= 2.7.9-1~), libpython-stdlib (= 2.7.9-1)
PreDepends: python-minimal (= 2.7.9-1)
Suggests: python-doc (= 2.7.9-1), python-tk (>= 2.7.9-1~)
Conflicts: python-central (< 0.5.5)
Breaks: update-manager-core (< 0.200.5-2)
Replaces: python-dev (< 2.6.5-2)
Provides: python-ctypes, python-email, python-importlib, python-profiler, python-wsgiref, python:any
Description: interactive high-level object-oriented language (default version)
 Python, the high-level, interactive object oriented language, includes an extensive class library
 with lots of goodies for network programming, system administration, sounds and graphics.

 This package is a dependency package, which depends on Debian's default Python version (currently
 v2.7).
Homepage: http://www.python.org/

Tags: devel::interpreter, devel::lang:python, implemented-in::c, implemented-in::python,
      interface::commandline, role::metapackage, role::program, scope::utility


----------



## 2004raptor

lpwcomp said:


> pyTivo.py


thanks. Should have been pretty obvious but I wanted to make sure not to click on anything that screwed things up.


----------



## lpwcomp

Soapm said:


> Does it matter?


Yes, since pyTivo won't run under 3.x.

You're running 2.x. so that is not the problem.


----------



## Soapm

lpwcomp said:


> Yes, since pyTivo won't run under 3.x.
> 
> You're running 2.x. so that is not the problem.


This whole systemd vs systemv thing has me totally confused and most of what I read seems to think most end users wrote our own init scripts. Heck, I was doing good to copy and paste them in without inserting stray doc characters...

I was just hoping someone blazed the trail and managed to get pyTivo to start on a Debian Jessie server...


----------



## 2004raptor

lpwcomp said:


> pyTivo.py


Well, I clicked on the and it seemed to "start" but nothing shows on my TiVo like it used to????


----------



## lpwcomp

2004raptor said:


> Well, I clicked on the and it seemed to "start" but nothing shows on my TiVo like it used to????


Open up a command prompt in the pyTivo folder, type in pyTivo.py and see what happens.


----------



## 2004raptor

lpwcomp said:


> Open up a command prompt in the pyTivo folder, type in pyTivo.py and see what happens.


OK, I did it. 
At the end it says "INFOyTivoyTivo is ready."

But it still doesn't show the My Movies on my tivo.  The only thing I didn't do was reboot the tivo.

Anything else?


----------



## lpwcomp

2004raptor said:


> OK, I did it.
> At the end it says "INFOyTivoyTivo is ready."
> 
> But it still doesn't show the My Movies on my tivo.  The only thing I didn't do was reboot the tivo.
> 
> Anything else?


If you have Windows firewall enabled, try disabling it.


----------



## 2004raptor

lpwcomp said:


> If you have Windows firewall enabled, try disabling it.


I'll check when I get back home but this all worked ~3 weeks or so ago. Unless Windows fire wall somehow enabled itself during an update or simethong I'm pretty sure it's disabled.


----------



## 2004raptor

Firewall is Off. Still can't get it to work.


----------



## wmcbrine

2004raptor said:


> The only thing I didn't do was reboot the tivo.


...


----------



## Soapm

Soapm said:


> This whole systemd vs systemv thing has me totally confused and most of what I read seems to think most end users wrote our own init scripts. Heck, I was doing good to copy and paste them in without inserting stray doc characters...
> 
> I was just hoping someone blazed the trail and managed to get pyTivo to start on a Debian Jessie server...


In case anyone is interested, this is the service file that got me running on a systemd Debian server...



Code:


# Pytivo can't be started by systemd until the service section is updated.
# To activate the service, copy this file to /etc/systemd/system/  (on Fedora)
# Then run:
# # systemctl start pytivo.service
# Check /var/log/messages output.
# To automatically start pyTivo at boot, run:
# # systemctl enable pytivo.service

[Unit]
Description=pyTivo HMO Server
After=network.target

[Service]
# Enter the absolute path to the pyTivo executable.
ExecStart=/usr/bin/python /pyTivo/pyTivo.py

# Enter a username that has read/write privs on the shared directories
# User=nobody

# Enter the absolute path to your pytivo installation
WorkingDirectory=/pyTivo/

StandardOutput=syslog 

[Install]
WantedBy=multi-user.target

Once I put the file in /lib/systemd/system/

I created a symlink...

ln -s /lib/systemd/system/pyTivo.service /etc/systemd/system/pyTivo.service

Then ran...

sudo systemctl daemon-reload
sudo systemctl enable pyTivo.service

And now I'm able to control it using;

systemctl start pyTivo
systemctl stop pyTivo
systemctl restart pyTivo
systemctl status pyTivo


----------



## 2004raptor

wmcbrine said:


> ...


Didn't help.


----------



## lpwcomp

How is the TiVo connected to the network - wired or wireless?

Fixed IP or DHCP?

Post your pyTivo.conf (after redacting sensitive information).


----------



## 2004raptor

Tivo is wired and I have a static ip. Nothing network wise has changed in several months.

_[Server]
tivo_password = removed
tivodecode = C:\pyTivo\bin\tivodecode.exe
tivo_mak = removed
tivo_username = [email protected]
ffmpeg = C:\pyTivo\bin\ffmpeg.exe

[_tivo_SD]

[_tivo_HD]

[_tivo_4K]

[MyMovies]
path = \\WDTVLIVE\Elements\Movies
type = video

[W10]
type = video
path = d:Movies
_

I have two different directories listed. The W10 was a temporary one that is straight off my main PC. The other is a usb drive connected to my WD TV Live. I've used it for ~2 years to serve movies to my roamio.

I typically just copy the movie to my WD drive and they show up under My Movies. Not anymore.


----------



## lpwcomp

The "path" for W10 is missing a backslash.

If you access pyTivo via the browser, do both shares appear and can you see the files in the shares?


----------



## 2004raptor

lpwcomp said:


> The "path" for W10 is missing a backslash.
> 
> If you access pyTivo via the browser, do both shares appear and can you see the files in the shares?


Weird thing is I tried it again later last night and both shares showed up on my roamio???????? Keep in mind I have tested it after every step with no success. No idea what the issue is.


----------



## lpwcomp

2004raptor said:


> Weird thing is I tried it again later last night and both shares showed up on my roamio???????? Keep in mind I have tested it after every step with no success. No idea what the issue is.


Have you also assigned a static IP to your PC?


----------



## 2004raptor

lpwcomp said:


> Have you also assigned a static IP to your PC?


yes. been that way for years.


----------



## wmcbrine

After you restart the TiVo, you must restart pyTivo again. If there's no firewall blocking it, and pyTivo is sending to the same network subnet on which the TiVo is listening, then it should work... for a while. Over time, you can expect it to stop working. Then you restart pyTivo, and if that doesn't work, you restart the TiVo...

The announcement system is inherently not stable, and seems to have only gotten less so over time, on the TiVo end. I'm thinking of adding an option to pyTivo to make it periodically restart on its own, to help. But it won't be enough.


----------



## Soapm

wmcbrine said:


> The announcement system is inherently not stable, and seems to have only gotten less so over time, on the TiVo end. I'm thinking of adding an option to pyTivo to make it periodically restart on its own, to help. But it won't be enough.


What will happen if it restarts while transferring a show?


----------



## wmcbrine

Yeah, don't do that.


----------



## Soapm

wmcbrine said:


> Yeah, don't do that.


Glad we agree, you scared me with that restart on it's own thing though I do the good that could come of it...

In case I've never said it, thanks for all the work and support you and others have provided over the years. You guys have made tools available to us that have certainly made our lives better...

THANKS!!!


----------



## bareyb

Mine is still working well but I haven't updated in a while. The last version was the one that added the TS=on feature. I'm kind of afraid to mess with it if it's working. Is there anything really cool in the newer versions for casual users (like the TS=On thing) that I can't live without or should I go with "if it's working don't fix it".


----------



## JohnnyRocket

JohnnyRocket said:


> Hi -
> I also have two Tivo HD's - PyTivo has been working reliably for me for years - Nothing has changed.
> 
> Pushes stopped working for me on Tuesday and have not worked since -
> 
> Can others confirm or report whether they are getting pushes to work on Tivo HDs???
> 
> Thanks!
> 
> How would we report this problem to Tivo???


Finally got a reply on the Tivo Support Forum:

https://forums.tivo.com/pe/action/f...D=11282397&channelID=10&portalPageId=10432560

They are asking for those of us with this problem to pm them with our TSN, etc.

PLEASE - everyone suffering from this problem (all of us with S3 Tivo's) report this to Tivo on the support website - lets see if we can get this solved!?

Thanks!!


----------



## worachj

JohnnyRocket said:


> Finally got a reply on the Tivo Support Forum:
> 
> https://forums.tivo.com/pe/action/f...D=11282397&channelID=10&portalPageId=10432560
> 
> They are asking for those of us with this problem to pm them with our TSN, etc.
> 
> PLEASE - everyone suffering from this problem (all of us with S3 Tivo's) report this to Tivo on the support website - lets see if we can get this solved!?
> 
> Thanks!!


PM sent to tivosupport_jessica2 with my TSN and information.
https://forums.tivo.com/pe/action/p...D=11271980&channelID=10&portalPageId=10432560

In the PM I referred to the problem link
https://forums.tivo.com/pe/action/f...#e11284217&channelID=10&portalPageId=10432560


----------



## Soapm

I guess I have to register separately for the forum because it's not accepting my username. I will have to wait until I can get to a PC to send my info...


----------



## reneg

worachj said:


> PM sent to tivosupport_jessica2 with my TSN and information.
> https://forums.tivo.com/pe/action/p...D=11271980&channelID=10&portalPageId=10432560
> 
> In the PM I referred to the problem link
> https://forums.tivo.com/pe/action/f...#e11284217&channelID=10&portalPageId=10432560


I sent a PM too.


----------



## Soapm

Our CRT finally died in the family room so we invested in our first HD TV. It's a 55 incher (not 4K). Unfortunately all my shows were recorded at the lowest setting but that can change over time...

I have a movie that I can pull or push to our Tivo Premier at 1080p but when I pull it to our TivoHD it says 720. How do I pull the show to our TivoHD at 1080? Is there a setting I'm missing somewhere?


----------



## lpwcomp

Soapm said:


> Our CRT finally died in the family room so we invested in our first HD TV. It's a 55 incher (not 4K). Unfortunately all my shows were recorded at the lowest setting but that can change over time...


Are you saying they were all recorded from analog sources? The TiVo recording quality setting doesn't apply to digital sources.



Soapm said:


> I have a movie that I can pull or push to our Tivo Premier at 1080p but when I pull it to our TivoHD it says 720. How do I pull the show to our TivoHD at 1080? Is there a setting I'm missing somewhere?


When you pull an Mpeg4 recording to a THD, it will be transcoded to Mpeg2, so that may be the source of the problem.


----------



## Soapm

lpwcomp said:


> Are you saying they were all recorded from analog sources? The TiVo recording quality setting doesn't apply to digital sources.


Oh, it may be that I watch all old SD shows (Gunsmoke, MASH, etc...)



lpwcomp said:


> When you pull an Mpeg4 recording to a THD, it will be transcoded to Mpeg2, so that may be the source of the problem.


So I'm clear, Mpeg2 = 720? Is that why wmcbrine added that coding with the last OS upgrade? Hoping we could get a better format?


----------



## lpwcomp

Soapm said:


> So I'm clear, Mpeg2 = 720? Is that why wmcbrine added that coding with the last OS upgrade? Hoping we could get a better format?


No, Mpeg2 != 720, just that the conversion to Mpeg2 is one of the differences when it's pulled to a THD.


----------



## Soapm

lpwcomp said:


> No, Mpeg2 != 720, just that the conversion to Mpeg2 is one of the differences when it's pulled to a THD.


So if Mpeg2 is 1080 capable, what pyTivo settings do I need to change to have my shows come over in that resolution? Like I said, they trnasfer just fine to my Premier as 1080 but the same show goes to my TivoHD as 720.


----------



## Soapm

Soapm said:


> So if Mpeg2 is 1080 capable, what pyTivo settings do I need to change to have my shows come over in that resolution? Like I said, they trnasfer just fine to my Premier as 1080 but the same show goes to my TivoHD as 720.


For anyone interested, and I'm no expert, the problem seems to be how ffmpeg views the video.

I noticed that ffmpeg saw the ones coming over as 720 as 1920 x 800 which was confirmed by mediainfo. I found one that ffmpeg saw as 1920 x 1080 and it does transfer over as 1080 instead of 720. But boy does it transfer slowly... And I mean slow...

Is there a setting where I can override ffmpeg to make 1920 x 800 into 1080 instead of 720... Also, does this mean I can remove the 20Mi from the video_br: setting under TivoHD? It didn't seem to make a difference anyway...


----------



## lpwcomp

Soapm said:


> For anyone interested, and I'm no expert, the problem seems to be how ffmpeg views the video.
> 
> I noticed that ffmpeg saw the ones coming over as 720 as 1920 x 800 which was confirmed by mediainfo. I found one that ffmpeg saw as 1920 x 1080 and it does transfer over as 1080 instead of 720. But boy does it transfer slowly... And I mean slow...
> 
> Is there a setting where I can override ffmpeg to make 1920 x 800 into 1080 instead of 720... Also, does this mean I can remove the 20Mi from the video_br: setting under TivoHD? It didn't seem to make a difference anyway...


After removing sensitive data, post your pyTivo.conf file.


----------



## Soapm

lpwcomp said:


> After removing sensitive data, post your pyTivo.conf file.


Here you go...



Code:


[Server]
tivo_mind = 204.176.49.65:8181
tivo_password = ********
beacon = 192.168.0.255
ffmpeg_pram = -threads 2
togo_path = /video/zfromtivo
tivodecode = /usr/local/bin/tivodecode
tivo_mak = **********
tivo_username = **********
tdcat = /usr/local/bin/tdcat
ffmpeg = /usr/bin/ffmpeg
ts = On

[_tivo_SD]
height = 480
video_pct = 0
ffmpeg_pram = -threads 2
video_br = 8192K
max_video_br = 17408k
tivo_mak = ********
tivo_password = *********
width = 544
tivo_username = **********
audio_ch = 2

[_tivo_HD]
tivo_username = **********
tivo_mak = ************
tivo_password = ********
ffmpeg_pram = -threads 2
video_pct = 0

[_tivo_4K]
ffmpeg_pram = -threads 2
optres = on

[Lenny]
path = /video
type = video
force_alpha = on

[Torrent]
force_alpha = on
type = video
path = /torrent


----------



## bfagan

Hello,

If this isn't the place to discuss possible pytivo problems please let me know.

I'm having a problem playing videos on tivo. Let's say the video is 1 hour. After transferring to tivo, tivo reports a longer duration, about 1 hour and 40 minutes. If I play the video straight through it plays back fine. But, if I use the navigation functions (fast forward, fast backward, jump forward or jump backward) the resulting destination is very erratic. Has anyone ever seen this sort of problem?

I transfer files to the PC with kmttg. I transfer files to the tivo with pytivo by pulling from the PC.

If I simply transfer a .tivo file to the PC, delete the file on the tivo and follow with a transfer of the .tivo file back to the tivo then the file duration is good and tivo navigation works well.

Instead, if I run the file thru VideoReDo's QuickStream Fix and produce an .mpg or .mkv file - that file will exhibit the duration and navigation problems.

Just to eliminate VRD I took a .tivo file and ran it thru tivodecode to produce a .mpg file. This file also has the problem.

Of course, I usually cut commercials and such, but this seems to be the most basic problem scenario.

I think the problem may lie in pytivo or it's use of ffmpeg. Yesterday I upgraded both. No change.

Here's a log from pytivo startup through the end of a file transfer...



Code:


INFO:pyTivo:Last modified: Mon Mar 21 18:52:00 2016
INFO:pyTivo:Python: 2.7.10
INFO:pyTivo:System: Windows-8-6.2.9200
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:BruceLynnTivo4
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: PhotoMovies
INFO:pyTivo.beacon:Registering: Photos
INFO:pyTivo.beacon:Registering: TVShows
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.0.111 [20/May/2016 10:18:27] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.0.111 [20/May/2016 10:18:27] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.0.111 [20/May/2016 10:18:27] "GET /TiVoConnect?Command=QueryContainer&Container=TVShows&ItemCount=0&SerialNum=748000190267608 HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.111 [20/May/2016 10:18:27] "GET /TiVoConnect?Command=QueryContainer&Container=PhotoMovies&ItemCount=0&SerialNum=748000190267608 HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:31] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:31] "GET /TiVoConnect?Command=QueryContainer&Container=Photos&ItemCount=0&SerialNum=748000190267608 HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:38] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:39] "GET /TiVoConnect?Command=QueryContainer&Container=TVShows&Recurse=Yes&SortOrder=Title&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=748000190267608 HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:41] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:42] "GET /TiVoConnect?Command=QueryContainer&Container=TVShows&Recurse=Yes&SortOrder=Title&ItemCount=8&AnchorItem=%2FTiVoConnect%3FCommand%3DQueryContainer%26Container%3DTVShows%2FColony&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=748000190267608 HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:45] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:46] "GET /TiVoConnect?Command=QueryContainer&Container=TVShows%2FHawaii%20Five-0&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=748000190267608 HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:46] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:46] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:46] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:46] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:46] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:46] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:46] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:51] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:ffmpeg output=ffmpeg version N-80011-gaf3e944 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.3.0 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
  libavutil      55. 24.100 / 55. 24.100
  libavcodec     57. 42.100 / 57. 42.100
  libavformat    57. 36.100 / 57. 36.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 45.100 /  6. 45.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
[mpeg2video @ 038a0180] Invalid frame dimensions 0x0.
Input #0, mpeg, from 'E:\TVShows\Hawaii Five-0\600.mpg':
  Duration: 01:00:02.56, start: 0.603911, bitrate: 11612 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn
    Stream #0:1[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
At least one output file must be specified

DEBUG:pyTivo.video.transcode:aFreq=48000; aCh=6; container=mpeg; kbps=11612; mapAudio=[('0:1', '[0x80] ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s\r')]; vHeight=1080; vCodec=mpeg2video; Supported=True; aKbps=384; par=None; millisecs=3602560; vFps=29.97; par2=None; par1=None; mapVideo=0:0; vWidth=1920; dar1=16:9; rawmeta={}; aCodec=ac3
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, E:\TVShows\Hawaii Five-0\600.mpg
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:52] "GET /TiVoConnect?Command=QueryContainer&Container=TVShows%2FHawaii%20Five-0&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FTVShows%2FHawaii%2520Five-0%2F600.mpg&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=748000190267608 HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, E:\TVShows\Hawaii Five-0\600.mpg
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:52] "GET /TiVoConnect?Command=TVBusQuery&Container=TVShows&File=%2FHawaii%20Five-0%2F600.mpg&SerialNum=748000190267608 HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:52] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:56] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:ffmpeg output=ffmpeg version N-80011-gaf3e944 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.3.0 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
  libavutil      55. 24.100 / 55. 24.100
  libavcodec     57. 42.100 / 57. 42.100
  libavformat    57. 36.100 / 57. 36.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 45.100 /  6. 45.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
[mpegts @ 03137a80] Could not detect TS packet size, defaulting to non-FEC/DVHS
[mpegts @ 03137a80] Could not find codec parameters for stream 2 (Unknown: none ([151][0][0][0] / 0x0097)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mpegts, from 'E:\TVShows\Hawaii Five-0\600 Test7 qsf tivo cuts.tivo':
  Duration: 00:43:07.50, start: 0.482178, bitrate: 11947 kb/s
  Program 99
    Stream #0:0[0xe0]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn
    Stream #0:1[0x1001](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 384 kb/s
    Stream #0:2[0x1002]: Unknown: none ([151][0][0][0] / 0x0097)
At least one output file must be specified

DEBUG:pyTivo.video.transcode:aFreq=48000; aCh=6; container=mpegts; kbps=11947; mapAudio=[('0:1', '[0x1001](eng) ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 384 kb/s\r')]; vHeight=1080; vCodec=mpeg2video; Supported=True; aKbps=384; par=None; millisecs=2587500; vFps=29.97; par2=None; par1=None; mapVideo=0:0; vWidth=1920; dar1=16:9; rawmeta={}; aCodec=ac3
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600 Test7 qsf tivo cuts.tivo
Encryption by QUALCOMM ;)

DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600 Test7 qsf tivo cuts.tivo
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, container mpegts not compatible, E:\TVShows\Hawaii Five-0\600 Test7 qsf tivo cuts.tivo
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600 Test7 qsf tivo cuts.tivo
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600 Test7 qsf tivo cuts.tivo
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:set first detected audio stream by default: 0:1
DEBUG:pyTivo.video.transcode:selected audio stream: 0:1
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600 Test7 qsf tivo cuts.tivo
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600 Test7 qsf tivo cuts.tivo
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, container mpegts not compatible, E:\TVShows\Hawaii Five-0\600 Test7 qsf tivo cuts.tivo
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600 Test7 qsf tivo cuts.tivo
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600 Test7 qsf tivo cuts.tivo
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:56] "GET /TiVoConnect?Command=QueryContainer&Container=TVShows%2FHawaii%20Five-0&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FTVShows%2FHawaii%2520Five-0%2F600%2520Test7%2520qsf%2520tivo%2520cuts.tivo&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=748000190267608 HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600 Test7 qsf tivo cuts.tivo
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600 Test7 qsf tivo cuts.tivo
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600 Test7 qsf tivo cuts.tivo
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, container mpegts not compatible, E:\TVShows\Hawaii Five-0\600 Test7 qsf tivo cuts.tivo
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600 Test7 qsf tivo cuts.tivo
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600 Test7 qsf tivo cuts.tivo
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:set first detected audio stream by default: 0:1
DEBUG:pyTivo.video.transcode:selected audio stream: 0:1
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600 Test7 qsf tivo cuts.tivo
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600 Test7 qsf tivo cuts.tivo
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, container mpegts not compatible, E:\TVShows\Hawaii Five-0\600 Test7 qsf tivo cuts.tivo
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600 Test7 qsf tivo cuts.tivo
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600 Test7 qsf tivo cuts.tivo
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:57] "GET /TiVoConnect?Command=TVBusQuery&Container=TVShows&File=%2FHawaii%20Five-0%2F600%20Test7%20qsf%20tivo%20cuts.tivo&SerialNum=748000190267608 HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:57] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:59] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, E:\TVShows\Hawaii Five-0\600.mpg
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:59] "GET /TiVoConnect?Command=QueryContainer&Container=TVShows%2FHawaii%20Five-0&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FTVShows%2FHawaii%2520Five-0%2F600.mpg&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=748000190267608 HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, E:\TVShows\Hawaii Five-0\600.mpg
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:59] "GET /TiVoConnect?Command=TVBusQuery&Container=TVShows&File=%2FHawaii%20Five-0%2F600.mpg&SerialNum=748000190267608 HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.111 [20/May/2016 10:19:59] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, container mpeg not compatible, E:\TVShows\Hawaii Five-0\600.mpg
INFO:pyTivo:192.168.0.111 [20/May/2016 10:20:10] "GET /TVShows/Hawaii%20Five-0/600.mpg?Format=video%2Fx-tivo-mpeg-ts HTTP/1.1" 206 -
INFO:pyTivo.video.video:[20/May/2016 10:20:10] Start sending "E:\TVShows\Hawaii Five-0\600.mpg" to BruceLynnTivo4
DEBUG:pyTivo.video.video:"E:\TVShows\Hawaii Five-0\600.mpg" is not tivo compatible
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:CACHE HIT! E:\TVShows\Hawaii Five-0\600.mpg
DEBUG:pyTivo.video.transcode:audio_lang: None
DEBUG:pyTivo.video.transcode:set first detected audio stream by default: 0:1
DEBUG:pyTivo.video.transcode:selected audio stream: 0:1
DEBUG:pyTivo.video.transcode:transcoding to tivo model 748 using ffmpeg command:
DEBUG:pyTivo.video.transcode:C:\Program Files (x86)\bin\ffmpeg\bin\ffmpeg.exe -i E:\TVShows\Hawaii Five-0\600.mpg -bufsize 4096k -c:v copy -c:a copy -map 0:0 -map 0:1 -f mpegts -
ffmpeg version N-80011-gaf3e944 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.3.0 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
  libavutil      55. 24.100 / 55. 24.100
  libavcodec     57. 42.100 / 57. 42.100
  libavformat    57. 36.100 / 57. 36.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 45.100 /  6. 45.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
[mpeg2video @ 038bca80] Invalid frame dimensions 0x0.
Input #0, mpeg, from 'E:\TVShows\Hawaii Five-0\600.mpg':
  Duration: 01:00:02.56, start: 0.603911, bitrate: 11612 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn
    Stream #0:1[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
[mpegts @ 05085020] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
    Last message repeated 1 times
Output #0, mpegts, to 'pipe:':
  Metadata:
    encoder         : Lavf57.36.100
    Stream #0:0: Video: mpeg2video, yuv420p(tv), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 29.97 fps, 29.97 tbr, 90k tbn
    Stream #0:1: Audio: ac3, 48000 Hz, 5.1(side), 384 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=107953 fps=124 q=-1.0 Lsize= 5524281kB time=01:00:02.42 bitrate=12562.3kbits/s speed=4.14x
video:4930939kB audio:168845kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 8.323812%
INFO:pyTivo.video.video:[20/May/2016 10:34:39] Done sending "E:\TVShows\Hawaii Five-0\600.mpg" to BruceLynnTivo4, 5656863412 bytes, 49.61 Mb/s
INFO:pyTivo:192.168.0.111 [20/May/2016 11:31:58] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
WARNING:pyTivo:Anchor not found: E:\TVShows\Hawaii Five-0\600.mpg
INFO:pyTivo:192.168.0.111 [20/May/2016 11:31:59] "GET /TiVoConnect?Command=QueryContainer&Container=TVShows&Recurse=Yes&SortOrder=Title&ItemCount=8&AnchorItem=%2FTVShows%2FHawaii%2520Five-0%2F600.mpg&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=748000190267608 HTTP/1.1" 200 -

Here's my config file...



Code:


[Server]
tivo_password = *
beacon = 192.168.0.255
debug = on
togo_path = C:\VideoWorkspace
tivo_mak = *
tivo_username = *
ffmpeg = C:\Program Files (x86)\bin\ffmpeg\bin\ffmpeg.exe
ts = on

[_tivo_SD]

[_tivo_HD]

[_tivo_4K]

[Photos]
type = photo
path = E:\Photos

[PhotoMovies]
type = video
path = E:\Photos

[TVShows]
type = video
path = E:\TVShows

INFO: pyTivo:Last modified: Mon Mar 21 18:52:00 2016
INFO: pyTivoython: 2.7.10
TiVo series 4 Premiere s/w v 20.5.9.RC15-01-2-748
Windows 10
kmttg v2.1q
VRD v5.1.3.741

Thanks,
Bruce


----------



## lpwcomp

Soapm said:


> Here you go...


You might try taking everything out except the server section and the shares.

Also, are you quite certain that they are 1080P even on the Premiere and not just being displayed that way? What is the Video Output format set to on the Premiere/


----------



## lpwcomp

bfagan said:


> Hello,
> 
> If this isn't the place to discuss possible pytivo problems please let me know.
> 
> I'm having a problem playing videos on tivo. Let's say the video is 1 hour. After transferring to tivo, tivo reports a longer duration, about 1 hour and 40 minutes. If I play the video straight through it plays back fine. But, if I use the navigation functions (fast forward, fast backward, jump forward or jump backward) the resulting destination is very erratic. Has anyone ever seen this sort of problem?
> 
> I transfer files to the PC with kmttg. I transfer files to the tivo with pytivo by pulling from the PC.
> 
> If I simply transfer a .tivo file to the PC, delete the file on the tivo and follow with a transfer of the .tivo file back to the tivo then the file duration is good and tivo navigation works well.
> 
> Instead, if I run the file thru VideoReDo's QuickStream Fix and produce an .mpg or .mkv file - that file will exhibit the duration and navigation problems.
> 
> Just to eliminate VRD I took a .tivo file and ran it thru tivodecode to produce a .mpg file. This file also has the problem.
> 
> Of course, I usually cut commercials and such, but this seems to be the most basic problem scenario.
> 
> I think the problem may lie in pytivo or it's use of ffmpeg. Yesterday I upgraded both. No change.
> 
> Here's a log from pytivo startup through the end of a file transfer...


Try using an older version of ffmpeg and see if that helps. It's what I ended up having to do when I had this problem. I'm using one from 2014.


----------



## Soapm

lpwcomp said:


> You might try taking everything out except the server section and the shares.
> 
> Also, are you quite certain that they are 1080P even on the Premiere and not just being displayed that way? What is the Video Output format set to on the Premiere/


Both the premier and TivoHD are set to output 1080i. The cheap Vizio I got doesn't seem to do the conversions well so I'm letting the Tivo do that part.

The way I tell the resolution of the show playing is by hitting the info button on the Tivo remote and seeing what it ways after the shows description (480i/4:3) etc... The TV always says 1080i which is the output from the Tivo's...

I will try removing those settings, I think they are there from when I had the S2 Tivo and a slower server...

Thanks for the help...


----------



## eherberg

lpwcomp said:


> Try using an older version of ffmpeg and see if that helps. It's what I ended up having to do when I had this problem. I'm using one from 2014.


lpwcomp is correct -- it's ffmpeg. I noticed it when I updated ffmpeg to a newer version a while ago. Since I don't FF or REW for transferred shows (just watch them straight through) - and the incorrect time info doesn't affect the playback of the files - I've never gone back.

On another note - I've noticed that the time problem occurs on pulled videos -- but not from pushed videos. Pushed videos seem to have the correct time info.


----------



## lpwcomp

Soapm said:


> Both the premier and TivoHD are set to output 1080i. The cheap Vizio I got doesn't seem to do the conversions well so I'm letting the Tivo do that part.
> 
> The way I tell the resolution of the show playing is by hitting the info button on the Tivo remote and seeing what it ways after the shows description (480i/4:3) etc... The TV always says 1080i which is the output from the Tivo's...
> 
> I will try removing those settings, I think they are there from when I had the S2 Tivo and a slower server...
> 
> Thanks for the help...


If you're displaying everything at 1080i anyway, why does it matter?


----------



## bfagan

eherberg said:


> lpwcomp is correct -- it's ffmpeg. I noticed it when I updated ffmpeg to a newer version a while ago. Since I don't FF or REW for transferred shows (just watch them straight through) - and the incorrect time info doesn't affect the playback of the files - I've never gone back.
> 
> On another note - I've noticed that the time problem occurs on pulled videos -- but not from pushed videos. Pushed videos seem to have the correct time info.


Thanks lpwcomp and eherberg. I loaded an ffmpeg from 2014 and all is good.

I do tend to use the jump-back button when I just want to go back a few seconds to re-see what just happened. With a newer ffmpeg it jumps many minutes back followed by hit and miss navigation to get back to where I was.

I'm surprised that more people don't bring up this problem.

It would certainly be nice if pytivo could use the most current ffmpeg. I had it's config file pointing to where kmttg has it's ffmpeg. A couple of months ago I updated kmttg and all of it's dependencies (nice feature, BTW). That must have been when I started seeing these weird duration and navigation problems.

A few days ago I updated pytivo to the latest version. I also followed it's setup page which had a link to where to get ffmpeg. That should be updated to reflect the need to get an older version.

Thanks Again,
Bruce


----------



## Soapm

lpwcomp said:


> If you're displaying everything at 1080i anyway, why does it matter?


Now understand that my eyes are not there yet, but I read you can see the difference between 720 and 1080 on a 55" TV...


----------



## lpwcomp

Soapm said:


> Now understand that my eyes are not there yet, but I read you can see the difference between 720 and 1080 on a 55" TV...


The question is, since you're converting everything to 1080i on the TiVo, why do you want to convert it on the PC during transcode? It would make the transfer a lot slower.


----------



## wmcbrine

bfagan said:


> I'm surprised that more people don't bring up this problem.


Probably because they aren't experiencing it? I'm sure it depends on how the source material is encoded, too.



> _I also followed it's setup page which had a link to where to get ffmpeg. That should be updated to reflect the need to get an older version._


If this need were much better-established.

There are regressions in FFmpeg all the time, but there's progress all the time, too. I have no confidence in being able to nail down an "optimal" older version. I always go with the latest, personally, and hope (or help) that they'll fix any bugs soon.


----------



## lpwcomp

The times I saw the timecode problem manifest itself were when I was pulling an H.264 encoded recording. It seems like it may have something to do with the remux to ts process.

Even using an older version of ffmpeg, I see the problem with *some* 24fps (actually 23.976) recordings. The only way I have found to fix those is re-encode to 29.97fps.


----------



## bfagan

From what I've seen, it would seem that anyone who pulls non .tivo files would also experience the duration and navigation problems. I suspect most people don't chase it down.

Like I said before, it even happens with straight .mpg files that have been produce by running a .tivo file through tivodecode. I don't really see why though. On the tivo, under my TVShows shares, I can select a file, press the info button, and it says "transcode=no". But, it apparently transcodes anyway. This doesn't bother me because all my shows are H.264 .mp4 files which do need transcoding.

My routine flow is...

TiVo records a show => kmttg auto transfer copies to PC => VAP auto runs VRD for quick sync fix to .mpg followed by commercial detect => Later, I manually run VRD to cut commercials => VAP auto runs VRD to save the cut file => Later I run a java program I wrote which runs handbrake on all .mpg files producing .mp4 files => that same program then copies the .mp4 files and the associated metafiles to the proper subdirectories on my repository shares disc => that same program then sets the file modified dates to the original air date found in the metafiles.

Bruce


----------



## lpwcomp

bfagan said:


> From what I've seen, it would seem that anyone who pulls non .tivo files would also experience the duration and navigation problems. I suspect most people don't chase it down.
> 
> Like I said before, it even happens with straight .mpg files that have been produce by running a .tivo file through tivodecode. I don't really see why though. On the tivo, under my TVShows shares, I can select a file, press the info button, and it says "transcode=no". But, it apparently transcodes anyway. This doesn't bother me because all my shows are H.264 .mp4 files which do need transcoding.


If the destination TiVo is a S4 (Premiere) or later, H.264 does not have to be transcoded, even on a Pull.



bfagan said:


> My routine flow is...
> 
> TiVo records a show => kmttg auto transfer copies to PC => VAP auto runs VRD for quick sync fix to .mpg followed by commercial detect => Later, I manually run VRD to cut commercials => VAP auto runs VRD to save the cut file => Later I run a java program I wrote which runs handbrake on all .mpg files producing .mp4 files => that same program then copies the .mp4 files and the associated metafiles to the proper subdirectories on my repository shares disc => that same program then sets the file modified dates to the original air date found in the metafiles.
> 
> Bruce


Why handbrake rather than VRD for the transcode?


----------



## bfagan

lpwcomp said:


> If the destination TiVo is a S4 (Premiere) or later, H.264 does not have to be transcoded, even on a Pull.


I've read that but it seems that it transcodes anyway. It is an S4 Premiere. From the tivo, select my TVShows share, select a file, press info and I get transcode=yes. In the pytivo log I get something like "transcoding to tivo model 748 using ffmpeg command:..."



lpwcomp said:


> Why handbrake rather than VRD for the transcode?


It was easier for me to run handbrake command line mode from my java program than it was to figure out VRD's remote calls. Also handbrake seems a bit better with using the Intel Quick Sync Video (QSV) acceleration, which I use.

Bruce


----------



## lpwcomp

bfagan said:


> I've read that but it seems that it transcodes anyway. It is an S4 Premiere. From the tivo, select my TVShows share, select a file, press info and I get transcode=yes. In the pytivo log I get something like "transcoding to tivo model 748 using ffmpeg command:..."


If you have ts = on in your pyTivo.conf, it shouldn't transcode an H.264, merely remux into a ts container.


----------



## bfagan

lpwcomp said:


> If you have ts = on in your pyTivo.conf, it shouldn't transcode an H.264, merely remux into a ts container.


I do have ts = on.



Code:


[Server]
tivo_password = *
beacon = 192.168.0.255
debug = on
togo_path = C:\VideoWorkspace
tivo_mak = *
tivo_username = *
ffmpeg = C:\Program Files (x86)\bin\ffmpeg\bin\ffmpeg.exe
ts = on

[_tivo_SD]

[_tivo_HD]

[_tivo_4K]

[Photos]
type = photo
path = E:\Photos

[PhotoMovies]
type = video
path = E:\Photos

[TVShows]
type = video
path = E:\TVShows

Bruce


----------



## lpwcomp

bfagan said:


> I do have ts = on.
> 
> Bruce


Like you, almost all of my recordings are H.264 in either mp4 or mkv containers, and I never see a transcode message unless I have debug on but it isn't actually transcoding, so I would assume that the message is misleading.


----------



## Soapm

lpwcomp said:


> The question is, since you're converting everything to 1080i on the TiVo, why do you want to convert it on the PC during transcode? It would make the transfer a lot slower.


Sorry, it took me time to digest your statement, I guess my thinking was once content is downgraded from 1080 to say 720, even though the Tivo is sending it at 1080, it is really 720 being faked or represented as 1080???

I send a 480 encoded show to the Tivo, the TV says 1080 (output setting of Tivo) but I know the show can't be better than its source which is 480? Is my thinking wrong???


----------



## lpwcomp

Soapm said:


> Sorry, it took me time to digest your statement, I guess my thinking was once content is downgraded from 1080 to say 720, even though the Tivo is sending it at 1080, it is really 720 being faked or represented as 1080???
> 
> I send a 480 encoded show to the Tivo, the TV says 1080 (output setting of Tivo) but I know the show can't be better than its source which is 480? Is my thinking wrong???


I'm way out of my depth here but in order to display content at a resolution other than it's actual one, it has to be converted. When converting to a higher resolution, I believe the missing pixels are created via interpolation.

Because I am out of my depth, I misunderstood both the situation and your question about converting.

After doing some research, I have a (very small) bit more understanding. 1920x800 _*is*_ a 1080P resolution, but it is not 16x9. It should be displayed in letterbox. Is that how it is showing up on your TV?

As to the conversion to 720P that is happening - I'm afraid that William is going to have to step in here. I don't know if it is pyTivo or ffmpeg that is the "culprit".

I do have one remaining question - why are you displaying everything at 1080i rather than it's native resolution?


----------



## wkearney99

I'd love to know the *ideal* resolutions, codecs and other settings to best allow the Tivo to show content. Especially if you're ripping content from discs. 

Understanding that not all Tivo are capable of the handling the same content. I've managed to upgrade most of mine so a Premiere and Mini are the most limited (no more S3 units now). 

Note, I didn't say file extension type, as most are just containers holding video and audio tracks. Just because the file ends in mpg/mp4/mpeg doesn't mean anything. It might mean there's mpeg content, but it says nothing about the codecs involved. Trouble is a lot of tools out there make assumptions...

There's also the question of what does the best rendering of the content? The player (tivo), the scaler in the AVR, or the TV? Some do markedly better or worse jobs than others.

I know enough to know there's more to learn...


----------



## Soapm

lpwcomp said:


> I'm way out of my depth here but in order to display content at a resolution other than it's actual one, it has to be converted. When converting to a higher resolution, I believe the missing pixels are created via interpolation.


Oh yeah, I forgot about interpolation??? Interpolation??? Isn't that those cardboard glasses we used to wear with the red and green lenses? Nothing like a theater full of people who lowered their pride enough to wear those things...



lpwcomp said:


> After doing some research, I have a (very small) bit more understanding. 1920x800 _*is*_ a 1080P resolution, but it is not 16x9. It should be displayed in letterbox. Is that how it is showing up on your TV?


Yes...



lpwcomp said:


> As to the conversion to 720P that is happening - I'm afraid that William is going to have to step in here. I don't know if it is pyTivo or ffmpeg that is the "culprit".


Cool...



lpwcomp said:


> I do have one remaining question - why are you displaying everything at 1080i rather than it's native resolution?


Seemed like the right thing to do??? Don't kick me out of the club, I promise to do better...


----------



## wmcbrine

bfagan said:


> From what I've seen, it would seem that anyone who pulls non .tivo files would also experience the duration and navigation problems.


No. I've seen this effect myself... but only maybe two or three times, out of many many files.



> _But, it apparently transcodes anyway. This doesn't bother me because all my shows are H.264 .mp4 files which do need transcoding._


With ts=on, what you're seeing is remuxing from an MP4 container to TS, not transcoding (but that still invloves FFmpeg, and it may still be transcoding the audio as well). And AFAICT, that's the only way to see this problem -- if you were fully transcoding, it wouldn't happen.


----------



## wmcbrine

wkearney99 said:


> I'd love to know the *ideal* resolutions, codecs and other settings to best allow the Tivo to show content.


That's pyTivo's job.  Trust the defaults. (I've been eliminating most of these settings by and by, because they're stupid.) And pyTivo's default, whenever possible, is to leave things alone. Any change from the original means a reduction in quality. (Exception: Bitrate, if you're reencoding -- higher is generally better. (Amount you should worry about this: none.))



> _Especially if you're ripping content from discs._


The native format of a DVD is an MPEG-2 program stream, that's playable on (AFAIK) all TiVos from the Series 2 on, as-is. The only thing to do when ripping it is to concatenate the pieces (1 GB .vob files) into one large file. (Exception: only some soundtrack forms are playable. pyTivo is smart enough to reencode these and leave the video alone.)

The native format of a Blu-Ray is an MPEG-2 or H.264 transport stream, compatible with later models of TiVo, except sometimes the bitrate is too high. You can rip these to other container formats (MKV, MP4), if you must, and pyTivo will convert them back to TS without reencoding them.

I think the only reasons to deviate from storing rips in a format as close as possible to what they are on the original disc, are that you don't have enough disk space, or that you want to share them with things other than TiVos.


----------



## lpwcomp

Soapm said:


> Seemed like the right thing to do??? Don't kick me out of the club, I promise to do better...


Oh, I'm all for people doing what they want. Just curious as to why. Plus seemed a bit odd to be concerned about getting 1080P content on the TiVo and then displaying it 1080i.


----------



## Soapm

wmcbrine said:


> You can rip these to other container formats (MKV, MP4), if you must, and pyTivo will convert them back to TS without reencoding them.


Perhaps this is my answer, perhaps pyTivo isn't doing any reencoding when transferring the show to my Premier, just converting it to TS and sending it over. That's why it shows it as 1080i. However, it is reencoding when it sends to my TivoHD. And it somehow decides to send it as 720...

Just curious what makes pyTivo decide on 720 instead of 1080 if the source is 1080. It obviously has to do with the expected target (TivoHD), I'm just curious why and how it makes that choice and if there's anything I can do to make it decide differently..



lpwcomp said:


> Oh, I'm all for people doing what they want. Just curious as to why. Plus seemed a bit odd to be concerned about getting 1080P content on the TiVo and then displaying it 1080i.


Just call it my ignorance, I did some testing and I see what you mean, the Tivo is converting it to 1080i before sending it to the TV and I see no visual difference except the obvious (black borders being added)...

So a more educated answer to your question, I leave the Tivo set at 1080i so I don't have to play with the full/panel setting to make the show look half way right...


----------



## lpwcomp

The resolution and Aspect Correction Mode are two separate settings. Unless th recording is anamorphic (squashed or stretched) and thus has to be corrected, Aspect Correction Mode should be set to "Panel". Otherwise, the picture will be distorted. Simply converting from 1080/720P to 1080i shouldn't change the aspect. The black borders are there because it is displaying a recording whose aspect ratio doesn't "fit" properly on a 16x9 screen. For the same reason, you get side bars when watching a 4x3 recording.

BTW, the default for both of the these settings can be overridden while viewing a recording. The "Zoom" button for Aspect Correction Mode and the "Up" arrow for resolution. Also, Aspect Correction Mode is usually ignored when watching an HD recording.


----------



## wmcbrine

Soapm, why don't you just post a log that shows what you're talking about?


----------



## Soapm

wmcbrine said:


> Soapm, why don't you just post a log that shows what you're talking about?


Kind of embarrassing to say, but I don't know how since upgrading my server to Jessie. My logging used to go to /var/tmp/pyTivo.log but I have no idea where pyTivo logs under this new systemd.

This is the logging entry in file /lib/systemd/system/pyTivo.service



Code:


# Enter the absolute path to your pytivo installation
WorkingDirectory=/pyTivo/

StandardOutput=syslog

How can I change that entry to make it start logging to /var/tmp/pyTivo.log again? Or where do I find my pyTivo logs and will they be mixed in with all the other system logging?


----------



## Soapm

In case anyone is interested, the command is* journalctl -u pyTivo.service*

The show appears to be 1080p and shows that way on my Premier but it transfers to my TivoHD as 720p and takes forever to transfer. Just curious why...

Here is my pyTivo log...



Code:


May 26 20:59:48 lenny python[3879]: INFO:pyTivo:192.168.0.195 [26/May/2016 20:59:48] "GET /Lenny/Military/Vietnam/Movies/Edit.mkv?Format=video%2Fx-tivo-mpeg HTTP/1.1" 206 -
May 26 20:59:48 lenny python[3879]: INFO:pyTivo.video.video:[26/May/2016 20:59:48] Start sending "/video/Military/Vietnam/Movies/Edit.mkv" to TivoHD
May 26 20:59:48 lenny python[3879]: ffmpeg version 2.6.8 Copyright (c) 2000-2016 the FFmpeg developers
May 26 20:59:48 lenny python[3879]: built with gcc 4.9.2 (Debian 4.9.2-10)
May 26 20:59:48 lenny python[3879]: configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security ' --extra-ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir=/usr/lib/x86_64-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libpulse --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2 --enable-libvidstab --enable-libzvbi --enable-avresample --disable-htmlpages --disable-podpages --enable-libutvideo --enable-libfdk-aac --enable-libx265 --enable-libiec61883 --enable-vaapi --enable-libdc1394 --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
May 26 20:59:48 lenny python[3879]: libavutil      54. 20.100 / 54. 31.100
May 26 20:59:48 lenny python[3879]: libavcodec     56. 26.100 / 56. 60.100
May 26 20:59:48 lenny python[3879]: libavformat    56. 25.101 / 56. 40.101
May 26 20:59:48 lenny python[3879]: libavdevice    56.  4.100 / 56.  4.100
May 26 20:59:48 lenny python[3879]: libavfilter     5. 11.102 /  5. 11.102
May 26 20:59:48 lenny python[3879]: libavresample   2.  1.  0 /  2.  1.  0
May 26 20:59:48 lenny python[3879]: libswscale      3.  1.101 /  3.  1.101
May 26 20:59:48 lenny python[3879]: libswresample   1.  1.100 /  1.  2.101
May 26 20:59:48 lenny python[3879]: libpostproc    53.  3.100 / 53.  3.100
May 26 20:59:49 lenny python[3879]: [mjpeg @ 0xbbb9c0] Changeing bps to 8
May 26 20:59:49 lenny python[3879]: [mjpeg @ 0xbc2160] Changeing bps to 8
May 26 20:59:49 lenny python[3879]: [mjpeg @ 0xbc3e80] Changeing bps to 8
May 26 20:59:49 lenny python[3879]: [mjpeg @ 0xbc6980] Changeing bps to 8
May 26 20:59:49 lenny python[3879]: Input #0, matroska,webm, from '/video/Military/Vietnam/Movies/Edit.mkv':
May 26 20:59:49 lenny python[3879]: Metadata:
May 26 20:59:49 lenny python[3879]: title           : Edit
May 26 20:59:49 lenny python[3879]: encoder         : libebml v1.3.3 + libmatroska v1.4.4
May 26 20:59:49 lenny python[3879]: creation_time   : 2016-03-11 11:47:57
May 26 20:59:49 lenny python[3879]: Duration: 01:40:32.83, start: 0.000000, bitrate: 12472 kb/s
May 26 20:59:49 lenny python[3879]: Stream #0:0(eng): Video: h264 (High), yuv420p, 1920x1040 [SAR 1:1 DAR 24:13], 25 fps, 25 tbr, 1k tbn, 50 tbc (default)
May 26 20:59:49 lenny python[3879]: Metadata:
May 26 20:59:49 lenny python[3879]: title           : Edit
May 26 20:59:49 lenny python[3879]: Stream #0:1(eng): Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s (default)
May 26 20:59:49 lenny python[3879]: Metadata:
May 26 20:59:49 lenny python[3879]: title           : Edit
May 26 20:59:49 lenny python[3879]: Stream #0:2: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown), 1067x600, 90k tbr, 90k tbn, 90k tbc
May 26 20:59:49 lenny python[3879]: Metadata:
May 26 20:59:49 lenny python[3879]: filename        : cover_land.jpg
May 26 20:59:49 lenny python[3879]: mimetype        : image/jpeg
May 26 20:59:49 lenny python[3879]: Stream #0:3: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown), 120x176, 90k tbr, 90k tbn, 90k tbc
May 26 20:59:49 lenny python[3879]: Metadata:
May 26 20:59:49 lenny python[3879]: filename        : small_cover.jpg
May 26 20:59:49 lenny python[3879]: mimetype        : image/jpeg
May 26 20:59:49 lenny python[3879]: Stream #0:4: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown), 213x120, 90k tbr, 90k tbn, 90k tbc
May 26 20:59:49 lenny python[3879]: Metadata:
May 26 20:59:49 lenny python[3879]: filename        : small_cover_land.jpg
May 26 20:59:49 lenny python[3879]: mimetype        : image/jpeg
May 26 20:59:49 lenny python[3879]: Stream #0:5: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown), 600x882, 90k tbr, 90k tbn, 90k tbc
May 26 20:59:49 lenny python[3879]: Metadata:
May 26 20:59:49 lenny python[3879]: filename        : cover.jpg
May 26 20:59:49 lenny python[3879]: mimetype        : image/jpeg
May 26 20:59:49 lenny python[3879]: Output #0, vob, to 'pipe:':
May 26 20:59:49 lenny python[3879]: Metadata:
May 26 20:59:49 lenny python[3879]: title           : Edit
May 26 20:59:49 lenny python[3879]: encoder         : Lavf56.40.101
May 26 20:59:49 lenny python[3879]: Stream #0:0(eng): Video: mpeg2video, yuv420p, 1920x1040 [SAR 1:1 DAR 24:13], q=2-31, 16384 kb/s, 25 fps, 90k tbn, 25 tbc (default)
May 26 20:59:49 lenny python[3879]: Metadata:
May 26 20:59:49 lenny python[3879]: title           : Edit
May 26 20:59:49 lenny python[3879]: encoder         : Lavc56.26.100 mpeg2video
May 26 20:59:49 lenny python[3879]: Stream #0:1(eng): Audio: ac3, 48000 Hz, stereo, 192 kb/s (default)
May 26 20:59:49 lenny python[3879]: Metadata:
May 26 20:59:49 lenny python[3879]: title           : Edit
May 26 20:59:49 lenny python[3879]: Stream mapping:
May 26 20:59:49 lenny python[3879]: Stream #0:0 -> #0:0 (h264 (native) -> mpeg2video (native))
May 26 20:59:49 lenny python[3879]: Stream #0:1 -> #0:1 (copy)
May 26 20:59:49 lenny python[3879]: Press [q] to stop, [?] for help
May 26 21:00:07 lenny python[3879]: [1.9K blob data]
May 26 21:00:24 lenny python[3879]: [2.0K blob data]
May 26 21:00:40 lenny python[3879]: [1.9K blob data]
May 26 21:00:56 lenny python[3879]: [1.9K blob data]
May 26 21:01:13 lenny python[3879]: [1.9K blob data]
May 26 21:01:29 lenny python[3879]: [2.0K blob data]
May 26 21:01:46 lenny python[3879]: [2.0K blob data]
May 26 21:02:01 lenny python[3879]: [2.0K blob data]

This is how ffmpeg sees the file;



Code:


[email protected]:/# ffmpeg -i /video/Military/Vietnam/Movies/Edit.mkv
ffmpeg version 2.6.8 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
  configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security ' --extra-ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir=/usr/lib/x86_64-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libpulse --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2 --enable-libvidstab --enable-libzvbi --enable-avresample --disable-htmlpages --disable-podpages --enable-libutvideo --enable-libfdk-aac --enable-libx265 --enable-libiec61883 --enable-vaapi --enable-libdc1394 --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
  libavutil      54. 20.100 / 54. 31.100
  libavcodec     56. 26.100 / 56. 60.100
  libavformat    56. 25.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 11.102 /  5. 11.102
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
[mjpeg @ 0xa9a160] Changeing bps to 8
[mjpeg @ 0xaa0b00] Changeing bps to 8
[mjpeg @ 0xaa28c0] Changeing bps to 8
[mjpeg @ 0xaa5440] Changeing bps to 8
Input #0, matroska,webm, from '/video/Military/Vietnam/Movies/Edit.mkv':
  Metadata:
    title           : Edit
    encoder         : libebml v1.3.3 + libmatroska v1.4.4
    creation_time   : 2016-03-11 11:47:57
  Duration: 01:40:32.83, start: 0.000000, bitrate: 12472 kb/s
    Stream #0:0(eng): Video: h264 (High), yuv420p, 1920x1040 [SAR 1:1 DAR 24:13], 25 fps, 25 tbr, 1k tbn, 50 tbc (default)
    Metadata:
      title           : Edit
    Stream #0:1(eng): Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s (default)
    Metadata:
      title           : Bat.21.1988.1080p.HDTV.x264.DD2.0-FGT
    Stream #0:2: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown), 1067x600, 90k tbr, 90k tbn, 90k tbc
    Metadata:
      filename        : cover_land.jpg
      mimetype        : image/jpeg
    Stream #0:3: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown), 120x176, 90k tbr, 90k tbn, 90k tbc
    Metadata:
      filename        : small_cover.jpg
      mimetype        : image/jpeg
    Stream #0:4: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown), 213x120, 90k tbr, 90k tbn, 90k tbc
    Metadata:
      filename        : small_cover_land.jpg
      mimetype        : image/jpeg

This is from mediainfo;



Code:


General
Unique ID                                : 183588536956860861210741308843675133324 (0x8A1DDDB73B5A539599423DED8444A58C)
Complete name                            : /video/Military/Vietnam/Movies/Edit.mkv
Format                                   : Matroska
Format version                           : Version 4 / Version 2
File size                                : 8.76 GiB
Duration                                 : 1h 40mn
Overall bit rate                         : 12.5 Mbps
Movie name                               : Edit
Encoded date                             : UTC 2016-03-11 11:47:57
Writing application                      : mkvmerge v8.9.0 ('Father Daughter') 64bit
Writing library                          : libebml v1.3.3 + libmatroska v1.4.4
Attachements                             : cover_land.jpg / small_cover.jpg / small_cover_land.jpg / cover.jpg

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : [email protected]
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 4 frames
Codec ID                                 : V_MPEG4/ISO/AVC
Duration                                 : 1h 40mn
Bit rate                                 : 12.0 Mbps
Width                                    : 1 920 pixels
Height                                   : 1 040 pixels
Display aspect ratio                     : 1.85:1
Frame rate mode                          : Constant
Frame rate                               : 25.000 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.241
Stream size                              : 8.45 GiB (96%)
Title                                    : Edit
Writing library                          : x264 core 148 r2665 a01e339
Encoding settings                        : cabac=1 / ref=4 / deblock=1:-3:-3 / analyse=0x3:0x133 / me=umh / subme=8 / psy=1 / psy_rd=1.00:0.15 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-3 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=240 / keyint_min=24 / scenecut=40 / intra_refresh=0 / rc_lookahead=50 / rc=crf / mbtree=1 / crf=19.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Language                                 : English
Default                                  : Yes
Forced                                   : No

Audio
ID                                       : 2
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Mode extension                           : CM (complete main)
Format settings, Endianness              : Big
Codec ID                                 : A_AC3
Duration                                 : 1h 40mn
Bit rate mode                            : Constant
Bit rate                                 : 192 Kbps
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Sampling rate                            : 48.0 KHz
Bit depth                                : 16 bits
Compression mode                         : Lossy
Stream size                              : 138 MiB (2%)
Title                                    : Edit
Language                                 : English
Default                                  : Yes
Forced                                   : No


----------



## wmcbrine

Well, it's obviously not 720p. I'm guessing the TiVo just reports it that way because it's less than a full 1080 lines? Dunno, I'll see if I can reproduce. But AFAICT, you're actually getting the original resolution.

Re: the long time to transfer, that's just because it's an HD video being transcoded to MPEG2. A TiVo HD can't pull H.264, so this is unavoidable, except by using push instead of pull (or is that still broken on the Series 3?).


----------



## Soapm

wmcbrine said:


> Well, it's obviously not 720p. I'm guessing the TiVo just reports it that way because it's less than a full 1080 lines? Dunno, I'll see if I can reproduce. But AFAICT, you're actually getting the original resolution.
> 
> Re: the long time to transfer, that's just because it's an HD video being transcoded to MPEG2. A TiVo HD can't pull H.264, so this is unavoidable, except by using push instead of pull (or is that still broken on the Series 3?).


Thanks, and no, pull isn't fixed yet...

One last question, any way to know the actual command pyTivo is passing to ffmpeg?

I would like to manually play with the command to see if I get the same results. This will tell me if it's the Tivo reporting or ffmpeg encoding...


----------



## lpwcomp

Soapm said:


> Thanks, and no, pull isn't fixed yet...


I assume you mean _*push*_ isn't fixed.



Soapm said:


> One last question, any way to know the actual command pyTivo is passing to ffmpeg?
> 
> I would like to manually play with the command to see if I get the same results. This will tell me if it's the Tivo reporting or ffmpeg encoding...


You could always pull one of them back to the computer and check it.


----------



## wmcbrine

Soapm said:


> One last question, any way to know the actual command pyTivo is passing to ffmpeg?


In debug mode, the command line appears in the log.


----------



## Soapm

I checked the debug box on the web interface, any idea where the debug logging would be going? I tried the journalctl -u pyTivo.service command and it looks like the normal logging. 

I'm really not digging this new systemd, there is not a lot of laymen information on how to get around it and I prefer giving definite paths like /var/log/pyTivo.log. There there's no guessing where the logging is going...


----------



## lpwcomp

Soapm said:


> I checked the debug box on the web interface, any idea where the debug logging would be going? I tried the journalctl -u pyTivo.service command and it looks like the normal logging.
> 
> I'm really not digging this new systemd, there is not a lot of laymen information on how to get around it and I prefer giving definite paths like /var/log/pyTivo.log. There there's no guessing where the logging is going...


After turning debug on, you need to stop and restart pyTiVo.


----------



## Soapm

lpwcomp said:


> After turning debug on, you need to stop and restart pyTiVo.


I did that, I just can't figure out where the extra logging is going...


----------



## wmcbrine

Debug is an extra level of detail, not a separate log.


----------



## Soapm

Ok, in case anyone is interested, you have to go in /etc/systemd/journald.conf and remove the comments from;



Code:


MaxLevelStore=debug
MaxLevelSyslog=debug

then do;



Code:


systemctl daemon-reload

For journalctl to capture debug level entries.

Having done that, looks like the command being sent is...



Code:


/usr/bin/ffmpeg -i /torrent/Edit.mkv -bufsize 4096k -c:v mpeg2video -pix_fmt yuv420p -b:v 16384k -maxrate 30000k -c:a copy -copyts -map 0:0 -map 0:1 -threads 2 -f vob -

Does this look right?

Why would bufsize be 4096k?

Now I need to figure out how to manually run this command to an output file to see how it encodes...


----------



## Soapm

I ran this command in a terminal and it spit out a lot of squirrely stuff but it encoded the video 1080. This tells me the problem is somewhere in the TivlHD... If there is a problem...



Code:


ffmpeg -i /torrent/Edit.mkv -bufsize 4096k -c:v mpeg2video -pix_fmt yuv420p -b:v 16384k -maxrate 30000k -c:a copy -copyts -map 0:0 -map 0:1 -threads 2 -f vob - /torrent/Edit.mpg

Thanks for all the help...


----------



## Soapm

To anyone interested I think I have this figured out, it seems the Series3/HD DVRs are capable of supporting up to 1080i but all the movies I had were 1080p. Since 1080p is above the TivoHD capabilities, it was converting them to 720p.

I proved this by pulling a 1080i movie and sure enough it played it at 1080i.

New question??? Is it better to have the Tivo display the movie at 720p or should pyTivo sense that a 649 Tivo isn't 1080p capable and convert the show to another format, say 1080i before it sends it over?


----------



## wkearney99

Soapm said:


> ...it seems the Series3/HD DVRs are capable of supporting up to 1080i...


See? This is why I ask the question of just what full range of codecs and resolutions do the various devices actually support? I've read a lot of posts over the years and have never seen it really boiled down accurately. Not blaming anyone here, just shaking my head at how vague it's all been.

But I suppose it doesn't really matter much to me anymore. I gave up trying and just upgraded all my units, so I don't have any S3 boxes anymore. That and disk space has likewise become less of an issue.


----------



## wmcbrine

Again, the TiVo saying "Source format: 720p" in the info doesn't mean it's converting anything. It's just attempting to _describe_ it, using its limited vocabulary (that doesn't include "1080p"). You already _are_ getting 1080i, since that's what your output is set to -- and I know of no reason to think that it's undergoing some internal conversion to 720p, then to 1080i. I'd think it more likely that the TiVo would just convert each frame to a field by dropping every other line. But, I don't know, and it would be difficult to prove one way or the other, even if I had a working S3.

There's no reason to think that pre-converting will yield a better picture. You can try the experiment, of course. But regard the results skeptically -- it's easy to fool yourself on subjective PQ.


----------



## Soapm

wmcbrine said:


> Again, the TiVo saying "Source format: 720p" in the info doesn't mean it's converting anything. It's just attempting to _describe_ it, using its limited vocabulary (that doesn't include "1080p"). You already _are_ getting 1080i, since that's what your output is set to -- and I know of no reason to think that it's undergoing some internal conversion to 720p, then to 1080i. I'd think it more likely that the TiVo would just convert each frame to a field by dropping every other line. But, I don't know, and it would be difficult to prove one way or the other, even if I had a working S3.
> 
> There's no reason to think that pre-converting will yield a better picture. You can try the experiment, of course. But regard the results skeptically -- it's easy to fool yourself on subjective PQ.


Understood, and good way of putting it that the TivoHD with its limited vocabulary can't say 1080p. That makes sense.

I dropped the output format to "Native" thinking it would allow 720P through as 720p and to be honest, I couldn't tell any difference even watching the fast actions scenes on Fast Five. I can see slight pixelation and blurring up close no matter what format I choose...

I even found a version that was 1080i and see artifacts in the same scenes...

I guess I'm ready for the football season to begin!!! I've come to grips that I have a first generation HD device that really isn't bad, considering... I still prefer the TivoHD over my Premier since it seems to give a more consistent looking output across the range of video resolutions...


----------



## Soapm

wkearney99 said:


> See? This is why I ask the question of just what full range of codecs and resolutions do the various devices actually support? I've read a lot of posts over the years and have never seen it really boiled down accurately. Not blaming anyone here, just shaking my head at how vague it's all been.
> 
> But I suppose it doesn't really matter much to me anymore. I gave up trying and just upgraded all my units, so I don't have any S3 boxes anymore. That and disk space has likewise become less of an issue.


This is what I had found, perhaps it will help know the capabilities of your new devices... https://support.tivo.com/articles/I...ow-to-Set-the-Video-Output-Format-on-Your-DVR


----------



## wkearney99

Soapm said:


> This is what I had found, perhaps it will help know the capabilities of your new devices... https://support.tivo.com/articles/I...ow-to-Set-the-Video-Output-Format-on-Your-DVR


That doesn't apply to what the Tivo itself will accept as *input* from a transferred file. At least not directly.

Yes, it helps to know what it can output, if only to be able to lock the resolution to that of the target device. As in, lock all your output to match the input of the TV. This to avoid having the TV re-negotiate every time the source changes it's resolution. Like going between different channels where there's a mix of resolutions being used. Fixing the Tivo to just one output resolution means the TV won't lose the picture while it switches.

In the past there was also the issue of which device to use to perform scaling. As in, do you let the Tivo do the up/downscaling when the source format was different, or the TV? Some TVs did a markedly better job of scaling (typically upscaling) than others. But in my experience the scalers in the Tivo were 'plenty good enough' to let them do the work. That, with a fixed output, usually gave the best overall picture quality AND channel-changing-time.


----------



## Soapm

wkearney99 said:


> That doesn't apply to what the Tivo itself will accept as *input* from a transferred file. At least not directly.


Been trying to imagine what you mean by input? Are you asking about codec's like h.264, xvid, etc... or are you asking about resolutions? We know it accepts 480i, 480p, 720i, 720p and 1080i. We know that because it is able to output those resolutions.

So then I wonder why would it matter if it can accept 1080p input, when it's not able to output it at that same resolution? Whether it's making the 1080p to 1080i or not isn't the point to me, my problem is that it doesn't output 1080p which is the top resolution of my new TV.

Having said that, I can safely say mines accepts 1080p input, because mines has been accepting it and outputting it as 1080i. I guess I wished the TivoHD had a pass thru mode like the Premier. But I guess that's like wishing my Premier had a 4k pass thru like the latest boxes...


----------



## wkearney99

Soapm said:


> Been trying to imagine what you mean by input? Are you asking about codec's like h.264, xvid, etc... or are you asking about resolutions? We know it accepts 480i, 480p, 720i, 720p and 1080i. We know that because it is able to output those resolutions.
> 
> So then I wonder why would it matter if it can accept 1080p input, when it's not able to output it at that same resolution? Whether it's making the 1080p to 1080i or not isn't the point to me, my problem is that it doesn't output 1080p which is the top resolution of my new TV.
> 
> Having said that, I can safely say mines accepts 1080p input, because mines has been accepting it and outputting it as 1080i. I guess I wished the TivoHD had a pass thru mode like the Premier. But I guess that's like wishing my Premier had a 4k pass thru like the latest boxes...


Input being what are the ideal resolutions and encodings. Playing of files via the point of this thread, pytivo. Yes, file containers and what was in them.

Not the output resolutions, that's a whole other question and entirely unrelated to source material from files. I generally find it best to lock the Tivo to one output resolution to avoid any re-negotiating by any connected HDMI devices. Right now I think mine are locked at 1080i, and that's just fine.

Where it matters had (or mattered more in the past) everything to do with striking a balance across various factors like time to transcode them, expense/utility of software to do it, disk space to store them, transfer time to move them, and the costs. With the advent of new Tivo models, streambaby and big, cheap discs it's sort of a moot point. But in the old days it sure would have been convenient to have found a nice set of formats best suited for multiple devices. Tivo, iPad, phones, etc.


----------



## wkearney99

Soapm said:


> I dropped the output format to "Native" thinking it would allow 720P through as 720p and to be honest, I couldn't tell any difference even watching the fast actions scenes on Fast Five. I can see slight pixelation and blurring up close no matter what format I choose...
> 
> I even found a version that was 1080i and see artifacts in the same scenes...


I've been at this stuff for quite a while, so I'm well acquainted with what's involved.

You might also need to consider the way your TV handles the input. Some TVs do a markedly better job than others when it comes to avoiding artifacts.

Anecdotally, the in-laws old 42" LG did a considerably better job at upscaling 480 content than the new Samsung that replaced it. I remembered seeing that when I bought them the LG, a decade ago now. They're elderly and at the time didn't get the digital tier of cable. Basically just analog channels, not the modern ATSC formats. The LG just did a better job of taking that low-res signal and upscaling it to display on the 720 panel. The new one has a 1080 panel and the resident scaler doesn't do as nice a job upscaling crappy 480 content. The solution here was to take all their 480 channels out of their lineup and get them to use the HD counterparts instead. But when you're dealing with elderly folks it's no small challenge to get them to stop using channel numbers directly instead of the guide. They 'get it' now, so the complaints have lessened...

There's another angle, and that's how your source provider encodes it, and you have no control over this. You're at the mercy of however your cable company decides to adulterate the signal. Some are worse than others. This, again, has little to do with the setting on your Tivo.

But factoring all those together, how the scaler built into the TV handles turning that signal into pixels varies widely across various TV makes/models. So your detecting of artifacts may have more to do with that than anything else.


----------



## Soapm

wkearney99 said:


> Anecdotally, the in-laws old 42" LG did a considerably better job at upscaling 480 content than the new Samsung that replaced it..


Pretty much all I watch are old 480 shows. Gunsmoke, MASH, Andy Griffith (only the B&W episodes), etc... I can see that the TivoHD does a better job of upscaling then the Vizio TV we got, so I know what you mean...


----------



## Soapm

wkearney99 said:


> I generally find it best to lock the Tivo to one output resolution to avoid any re-negotiating by any connected HDMI devices. Right now I think mine are locked at 1080i, and that's just fine..


This is what I do with my TivoHD, but I allow 720p, 1080i and 1080p to pass thru on my Premier. Just curious why you chose 1080i instead of 720p. So much conflicting information regarding which is best...


----------



## wkearney99

Soapm said:


> This is what I do with my TivoHD, but I allow 720p, 1080i and 1080p to pass thru on my Premier. Just curious why you chose 1080i instead of 720p. So much conflicting information regarding which is best...


Best is relative. Allowing the source resolution to be sent to the display sometimes means there will be a delay as the TV re-adjusts itself to use that resolution. Some TVs are worse at this than others, time-wise. A second or two delay while you change channels or tuners is annoying. Thus fixing the Tivo to just one output avoids that. Using the max the TV supports with decent scaling is the usual choice.

Anyway, we're veering off-topic here, let's let the thread get back to pyTivo.


----------



## innocentfreak

I am still having this issue where I have to keep restarting PyTiVo until it finds my TiVos. Sometimes it works the first try and other times it takes me multiple tries. KMTTG never has this issue so I am not sure what it could be. 

Does anyone have any suggestions? Is there anyway to add a delay in the search, because it seems to go from searching to TiVos immediately to announcing shares? I just wonder if it isn't giving enough time for my network to respond.


----------



## Soapm

innocentfreak said:


> I am still having this issue where I have to keep restarting PyTiVo until it finds my TiVos. Sometimes it works the first try and other times it takes me multiple tries. KMTTG never has this issue so I am not sure what it could be.
> 
> Does anyone have any suggestions? Is there anyway to add a delay in the search, because it seems to go from searching to TiVos immediately to announcing shares? I just wonder if it isn't giving enough time for my network to respond.


Do you have another router to try?


----------



## wkearney99

innocentfreak said:


> I am still having this issue where I have to keep restarting PyTiVo until it finds my TiVos. Sometimes it works the first try and other times it takes me multiple tries. KMTTG never has this issue so I am not sure what it could be.
> 
> Does anyone have any suggestions? Is there anyway to add a delay in the search, because it seems to go from searching to TiVos immediately to announcing shares? I just wonder if it isn't giving enough time for my network to respond.


What kind of box are you using to run pyTivo? What OS is it running? How is it connected to the network wired or wireless? How many switches between it and the Tivo units?


----------



## innocentfreak

Only the one router supplied by Verizon/Frontier.



wkearney99 said:


> What kind of box are you using to run pyTivo? What OS is it running? How is it connected to the network wired or wireless? How many switches between it and the Tivo units?


Running on Windows 10, worked fine on Windows 7 64 bit. Everything is wired with MoCa disabled. I have 4 TiVos and it ranges from 1-3 switches depending on the TiVo. It has to be something in Windows 10 since it is the only change in my setup. I have checked firewall permissions and everything is open like it was for Windows 7.

TiVo IPs pull up fine from the same PC and this PC where I do all my scheduling via KMTTG so no issues there.

When it detects the TiVos, I have no issues with pushes.


----------



## wkearney99

Obviously it would be bad to keep it off, but how about if you disabled the firewall completely? At least just to narrow down whether that's a factor or not?


----------



## lpwcomp

innocentfreak said:


> Only the one router supplied by Verizon/Frontier.
> 
> Running on Windows 10, worked fine on Windows 7 64 bit. Everything is wired with MoCa disabled. I have 4 TiVos and it ranges from 1-3 switches depending on the TiVo. It has to be something in Windows 10 since it is the only change in my setup. I have checked firewall permissions and everything is open like it was for Windows 7.
> 
> TiVo IPs pull up fine from the same PC and this PC where I do all my scheduling via KMTTG so no issues there.
> 
> When it detects the TiVos, I have no issues with pushes.


Have you tried assigning fixed IP addresses to the TiVos and explicitly defining them in the pyTivo configuration?


----------



## wuzznuubi

Pulling to a Roamio, the mp4 (H.264/AAC) gets it audio transcoded from AAC to AC3.

Does a Roamio not support AAC stereo audio in an mp4 transport stream?

I've tried two different versions of ffmpeg from 2013 and 2016.

Tried with ts=on and ts=Auto.

pyTivo.conf file contents


Code:


[Server]
beacon = 192.168.1.4 192.168.1.5
tdcat = C:\PyTiVo\bin\tdcat.exe
debug = on
tivo_mak = ##########
togo_path = MyVideos
ffmpeg = C:\kmttg2\ffmpeg\ffmpeg.exe
tivodecode = C:\PyTiVo\bin\tivodecode.exe

[_tivo_SD]

[_tivo_HD]

[_tivo_4K]

[MyVideos]
type = video
path = C:\PyTiVo\VideoShare
force_alpha = on

[loggers]
keys = root

[logger_root]
level = DEBUG
handlers = console,rotfile

[handlers]
keys = console,rotfile

[handler_console]
args = (sys.stdout,)
class = StreamHandler
formatter = basicform

[handler_rotfile]
args = ('C:\PyTiVo\log.txt', 'a', 10485760, 5)
class = handlers.RotatingFileHandler
formatter = basicform

[formatters]
keys = basicform

[formatter_basicform]
format = %(asctime)s %(levelname)-5s %(name)s: %(message)s

MediaInfo on mp4 trying to pull


Code:


General
Complete name                            : C:\PyTiVo\VideoShare\testpull.mp4
Format                                   : MPEG-4
Format profile                           : Base Media
Codec ID                                 : isom (isom/iso2/avc1/mp41)
File size                                : 733 MiB
Duration                                 : 58mn 21s
Overall bit rate                         : 1 756 Kbps
Writing application                      : Lavf56.25.101

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : [email protected]
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 1 frame
Format settings, GOP                     : M=1, N=60
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 58mn 21s
Bit rate                                 : 1 557 Kbps
Width                                    : 1 280 pixels
Height                                   : 720 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 29.970 (30000/1001) fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.056
Stream size                              : 650 MiB (89%)

Audio
ID                                       : 2
Format                                   : AAC
Format/Info                              : Advanced Audio Codec
Format profile                           : LC
Codec ID                                 : 40
Duration                                 : 58mn 21s
Bit rate mode                            : Constant
Bit rate                                 : 192 Kbps
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Sampling rate                            : 44.1 KHz
Frame rate                               : 43.066 fps (1024 spf)
Compression mode                         : Lossy
Stream size                              : 80.1 MiB (11%)
Language                                 : English
Default                                  : Yes
Alternate group                          : 1

ffmpeg info on mp4 trying to pull


Code:


C:\PyTiVo\VideoShare>C:\PyTiVo\bin\ffmpeg -i testpull.mp4
ffmpeg version N-53758-g5711e4f Copyright (c) 2000-2013 the FFmpeg developers
  built on Jun  2 2013 02:33:52 with gcc 4.7.3 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgs
m --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-
libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 34.100 / 52. 34.100
  libavcodec     55. 13.100 / 55. 13.100
  libavformat    55.  8.102 / 55.  8.102
  libavdevice    55.  2.100 / 55.  2.100
  libavfilter     3. 74.101 /  3. 74.101
  libswscale      2.  3.100 /  2.  3.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'testpull.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf56.25.101
  Duration: 00:58:21.20, start: 0.000000, bitrate: 1756 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1556 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 192 kb/s
    Metadata:
      handler_name    : SoundHandler
At least one output file must be specified

C:\PyTiVo\VideoShare>C:\kmttg2\ffmpeg\ffmpeg -i testpull.mp4
ffmpeg version N-79000-g66edd86 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.3.0 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec
 --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedi
nger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable
-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 28.100 / 57. 28.100
  libavformat    57. 28.100 / 57. 28.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 39.102 /  6. 39.102
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'testpull.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf56.25.101
  Duration: 00:58:21.20, start: 0.000000, bitrate: 1756 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1556 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 192 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
At least one output file must be specified

Output from pyTivo when pulling


Code:


2016-06-15 14:07:51,028 INFO  pyTivo: Last modified: Mon Mar 21 15:52:00 2016
2016-06-15 14:07:51,028 INFO  pyTivo: Python: 2.7.11
2016-06-15 14:07:51,028 INFO  pyTivo: System: Windows-7-6.1.7601-SP1
2016-06-15 14:07:51,059 INFO  pyTivo.beacon: Scanning for TiVos...
2016-06-15 14:07:52,290 INFO  pyTivo.beacon: ROS5
2016-06-15 14:07:52,588 INFO  pyTivo.beacon: HDS3
2016-06-15 14:07:52,588 INFO  pyTivo.beacon: Announcing shares...
2016-06-15 14:07:52,588 INFO  pyTivo.beacon: Registering: MyVideos
2016-06-15 14:07:53,398 INFO  pyTivo: pyTivo is ready.
2016-06-15 14:07:53,460 INFO  pyTivo: 192.168.1.5 [15/Jun/2016 14:07:53] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
2016-06-15 14:07:53,460 INFO  pyTivo: 192.168.1.4 [15/Jun/2016 14:07:53] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
2016-06-15 14:07:53,476 INFO  pyTivo: 192.168.1.5 [15/Jun/2016 14:07:53] "GET /TiVoConnect?Command=QueryContainer&Container=MyVideos&ItemCount=0&SerialNum=846000######### HTTP/1.1" 200 -
2016-06-15 14:07:53,476 INFO  pyTivo: 192.168.1.5 [15/Jun/2016 14:07:53] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
2016-06-15 14:08:29,032 INFO  pyTivo: 192.168.1.5 [15/Jun/2016 14:08:29] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
2016-06-15 14:08:29,141 DEBUG pyTivo.video.transcode: ffmpeg output=ffmpeg version N-79000-g66edd86 Copyright (c) 2000-2016 the FFmpeg developers  built with gcc 5.3.0 (GCC)  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib  libavutil      55. 19.100 / 55. 19.100  libavcodec     57. 28.100 / 57. 28.100  libavformat    57. 28.100 / 57. 28.100  libavdevice    57.  0.101 / 57.  0.101  libavfilter     6. 39.102 /  6. 39.102  libswscale      4.  0.100 /  4.  0.100  libswresample   2.  0.101 /  2.  0.101  libpostproc    54.  0.100 / 54.  0.100Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\PyTiVo\VideoShare\testpull.mp4':  Metadata:    major_brand     : isom    minor_version   : 512    compatible_brands: isomiso2avc1mp41    encoder         : Lavf56.25.101  Duration: 00:58:21.20, start: 0.000000, bitrate: 1756 kb/s    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1556 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc (default)    Metadata:      handler_name    : VideoHandler    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 192 kb/s (default)    Metadata:      handler_name    : SoundHandlerAt least one output file must be specified
2016-06-15 14:08:29,157 DEBUG pyTivo.video.transcode: aFreq=44100; aCh=2; container=mov; kbps=1756; mapAudio=[('0:1', '(eng) aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 192 kb/s (default)\r')]; vHeight=720; vCodec=h264; Supported=True; aKbps=192; par=None; millisecs=3501200; vFps=29.97; par2=None; par1=None; mapVideo=0:0; vWidth=1280; dar1=16:9; rawmeta={'major_brand': [u'isom'], 'encoder': [u'Lavf56.25.101'], 'compatible_brands': [u'isomiso2avc1mp41'], 'minor_version': [u'512']}; aCodec=aac
2016-06-15 14:08:29,157 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:29,173 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:29,173 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec h264 not compatible, C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:29,173 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:29,173 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:29,173 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:29,173 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:29,173 DEBUG pyTivo.video.transcode: tsn: 846000#########
2016-06-15 14:08:29,173 DEBUG pyTivo.video.transcode: aspect169: True
2016-06-15 14:08:29,187 DEBUG pyTivo.video.transcode: optres: False
2016-06-15 14:08:29,187 DEBUG pyTivo.video.transcode: File=C:\PyTiVo\VideoShare\testpull.mp4 vCodec=h264 vWidth=1280 vHeight=720 vFps=29.97 millisecs=3501200 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
2016-06-15 14:08:29,187 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:29,187 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:29,187 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:29,187 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:29,203 DEBUG pyTivo.video.transcode: audio_lang: None
2016-06-15 14:08:29,203 DEBUG pyTivo.video.transcode: set first detected audio stream by default: 0:1
2016-06-15 14:08:29,203 DEBUG pyTivo.video.transcode: selected audio stream: 0:1
2016-06-15 14:08:29,203 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:29,203 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:29,203 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec h264 not compatible, C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:29,203 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:29,219 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:29,219 INFO  pyTivo: 192.168.1.5 [15/Jun/2016 14:08:29] "GET /TiVoConnect?Command=QueryContainer&Container=MyVideos&Recurse=Yes&SortOrder=!CaptureDate&ItemCount=8&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=846000######### HTTP/1.1" 200 -
2016-06-15 14:08:29,234 INFO  pyTivo: 192.168.1.5 [15/Jun/2016 14:08:29] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
2016-06-15 14:08:37,346 INFO  pyTivo: 192.168.1.5 [15/Jun/2016 14:08:37] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
2016-06-15 14:08:37,378 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,378 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,378 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,378 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec h264 not compatible, C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,394 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,394 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,394 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,394 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,394 DEBUG pyTivo.video.transcode: tsn: 846000#########
2016-06-15 14:08:37,394 DEBUG pyTivo.video.transcode: aspect169: True
2016-06-15 14:08:37,394 DEBUG pyTivo.video.transcode: optres: False
2016-06-15 14:08:37,394 DEBUG pyTivo.video.transcode: File=C:\PyTiVo\VideoShare\testpull.mp4 vCodec=h264 vWidth=1280 vHeight=720 vFps=29.97 millisecs=3501200 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
2016-06-15 14:08:37,394 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,394 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,408 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,408 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,408 DEBUG pyTivo.video.transcode: audio_lang: None
2016-06-15 14:08:37,408 DEBUG pyTivo.video.transcode: set first detected audio stream by default: 0:1
2016-06-15 14:08:37,408 DEBUG pyTivo.video.transcode: selected audio stream: 0:1
2016-06-15 14:08:37,408 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,408 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,408 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec h264 not compatible, C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,408 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,408 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,408 INFO  pyTivo: 192.168.1.5 [15/Jun/2016 14:08:37] "GET /TiVoConnect?Command=QueryContainer&Container=MyVideos&Recurse=Yes&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FMyVideos%2Ftestpull.mp4&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=846000######### HTTP/1.1" 200 -
2016-06-15 14:08:37,424 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,424 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,440 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,440 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec h264 not compatible, C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,440 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,440 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,440 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,440 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,440 DEBUG pyTivo.video.transcode: tsn: 846000#########
2016-06-15 14:08:37,440 DEBUG pyTivo.video.transcode: aspect169: True
2016-06-15 14:08:37,440 DEBUG pyTivo.video.transcode: optres: False
2016-06-15 14:08:37,440 DEBUG pyTivo.video.transcode: File=C:\PyTiVo\VideoShare\testpull.mp4 vCodec=h264 vWidth=1280 vHeight=720 vFps=29.97 millisecs=3501200 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
2016-06-15 14:08:37,440 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,440 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,440 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,440 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,440 DEBUG pyTivo.video.transcode: audio_lang: None
2016-06-15 14:08:37,456 DEBUG pyTivo.video.transcode: set first detected audio stream by default: 0:1
2016-06-15 14:08:37,456 DEBUG pyTivo.video.transcode: selected audio stream: 0:1
2016-06-15 14:08:37,456 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,456 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,456 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec h264 not compatible, C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,456 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,456 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:08:37,503 INFO  pyTivo: 192.168.1.5 [15/Jun/2016 14:08:37] "GET /TiVoConnect?Command=TVBusQuery&Container=MyVideos&File=%2Ftestpull.mp4&SerialNum=846000######### HTTP/1.1" 200 -
2016-06-15 14:08:37,503 INFO  pyTivo: 192.168.1.5 [15/Jun/2016 14:08:37] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
2016-06-15 14:09:15,691 INFO  pyTivo: 192.168.1.5 [15/Jun/2016 14:09:15] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
2016-06-15 14:09:15,707 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:09:15,707 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:09:15,707 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:09:15,723 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec h264 not compatible, C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:09:15,723 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:09:15,723 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:09:15,723 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:09:15,723 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:09:15,723 DEBUG pyTivo.video.transcode: tsn: 846000#########
2016-06-15 14:09:15,723 DEBUG pyTivo.video.transcode: aspect169: True
2016-06-15 14:09:15,723 DEBUG pyTivo.video.transcode: optres: False
2016-06-15 14:09:15,739 DEBUG pyTivo.video.transcode: File=C:\PyTiVo\VideoShare\testpull.mp4 vCodec=h264 vWidth=1280 vHeight=720 vFps=29.97 millisecs=3501200 TIVO_HEIGHT=1080 TIVO_WIDTH=1920
2016-06-15 14:09:15,739 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:09:15,739 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:09:15,739 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:09:15,739 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:09:15,739 DEBUG pyTivo.video.transcode: audio_lang: None
2016-06-15 14:09:15,739 DEBUG pyTivo.video.transcode: set first detected audio stream by default: 0:1
2016-06-15 14:09:15,739 DEBUG pyTivo.video.transcode: selected audio stream: 0:1
2016-06-15 14:09:15,753 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:09:15,753 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:09:15,753 DEBUG pyTivo.video.transcode: TRANSCODE=YES, vCodec h264 not compatible, C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:09:15,753 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:09:15,753 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:09:15,753 INFO  pyTivo: 192.168.1.5 [15/Jun/2016 14:09:15] "GET /TiVoConnect?Command=QueryContainer&Container=MyVideos&Recurse=Yes&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FMyVideos%2Ftestpull.mp4&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=846000######### HTTP/1.1" 200 -
2016-06-15 14:09:15,769 INFO  pyTivo: 192.168.1.5 [15/Jun/2016 14:09:15] "GET /TiVoConnect?Command=TVBusQuery&Container=MyVideos&File=%2Ftestpull.mp4&SerialNum=846000######### HTTP/1.1" 200 -
2016-06-15 14:09:15,785 INFO  pyTivo: 192.168.1.5 [15/Jun/2016 14:09:15] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -
2016-06-15 14:09:23,319 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:09:23,319 DEBUG pyTivo.video.transcode: TRANSCODE=YES, aCodec aac not compatible, C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:09:23,319 INFO  pyTivo: 192.168.1.5 [15/Jun/2016 14:09:23] "GET /MyVideos/testpull.mp4?Format=video%2Fx-tivo-mpeg-ts HTTP/1.1" 206 -
2016-06-15 14:09:23,319 INFO  pyTivo.video.video: [15/Jun/2016 14:09:23] Start sending "C:\PyTiVo\VideoShare\testpull.mp4" to ROS5
2016-06-15 14:09:23,319 DEBUG pyTivo.video.video: "C:\PyTiVo\VideoShare\testpull.mp4" is not tivo compatible
2016-06-15 14:09:23,335 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:09:23,335 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:09:23,335 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:09:23,335 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:09:23,351 DEBUG pyTivo.video.transcode: CACHE HIT! C:\PyTiVo\VideoShare\testpull.mp4
2016-06-15 14:09:23,351 DEBUG pyTivo.video.transcode: audio_lang: None
2016-06-15 14:09:23,351 DEBUG pyTivo.video.transcode: set first detected audio stream by default: 0:1
2016-06-15 14:09:23,351 DEBUG pyTivo.video.transcode: selected audio stream: 0:1
2016-06-15 14:09:23,367 DEBUG pyTivo.video.transcode: transcoding to tivo model 846 using ffmpeg command:
2016-06-15 14:09:23,367 DEBUG pyTivo.video.transcode: C:\kmttg2\ffmpeg\ffmpeg.exe -i C:\PyTiVo\VideoShare\testpull.mp4 -bufsize 4096k -c:v copy -bsf h264_mp4toannexb -c:a ac3 -copyts -b:a 448k -ar 44100 -map 0:0 -map 0:1 -f mpegts -
ffmpeg version N-79000-g66edd86 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.3.0 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec
 --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedi
nger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable
-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 28.100 / 57. 28.100
  libavformat    57. 28.100 / 57. 28.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 39.102 /  6. 39.102
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\PyTiVo\VideoShare\testpull.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf56.25.101
  Duration: 00:58:21.20, start: 0.000000, bitrate: 1756 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1556 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 192 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Output #0, mpegts, to 'pipe:':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.28.100
    Stream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 1556 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 90k tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: ac3, 44100 Hz, stereo, fltp, 448 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      encoder         : Lavc57.28.100 ac3
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (aac (native) -> ac3 (native))
Press [q] to stop, [?] for help
frame=104931 fps=719 q=-1.0 Lsize=  943904kB time=00:58:21.23 bitrate=2208.5kbits/s speed=  24x
video:665308kB audio:191474kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 10.168491%
2016-06-15 14:11:49,500 INFO  pyTivo.video.video: [15/Jun/2016 14:11:49] Done sending "C:\PyTiVo\VideoShare\testpull.mp4" to ROS5, 966557632 bytes, 50.45 Mb/s


----------



## wmcbrine

wuzznuubi said:


> Does a Roamio not support AAC stereo audio in an mp4 transport stream?


Last I checked, no.


----------



## Joe Siegler

I've got a problem with pyTiVo. Here's some background on what I'm using first.


Mac OS X El Capitan v10.11.5
Using current install of PyTiVo (unclear what version is, but I downloaded again today to be sure).
Using KMTTG v2.1s
Using Python v2.7.10
Using Java 8 Update 91 (I know PyTiVo doesn't use that, but KMTTG does)
TiVo Roamio (named MICHAEL) using v20.61 software

Anyway, I've been trying to push some TiVo recordings from my Mac to my TiVo box, but I've been unable to do that. I was going to put the first season of Supergirl back on the TiVo so we could run through it again during the summer, but when I try to tell KMTTG to "push", I see the command go through to PyTiVo, but it errors out with:



Code:


INFO:pyTivo.video.video:[04/Jul/2016 09:55:36] Queued "/Volumes/TiVo Drive 1 - 4TB/TiVo/Supergirl/Supergirl - How Does She Do It (Recorded Nov 23, 2015, KTVTDT).TiVo" for Push to MICHAEL
INFO:pyTivo:127.0.0.1 [04/Jul/2016 09:55:36] "GET /TiVoConnect?Command=Push&Container=TiVo+Drive+1&File=/Supergirl/Supergirl+-+How+Does+She+Do+It+%28Recorded+Nov+23%2C+2015%2C+KTVTDT%29.TiVo&tsn=MICHAEL HTTP/1.1" 200 -
WARNING:pyTivo.config:tdcat not found
ERROR:pyTivo.video.video:<error>[CODE]badCookie

<debug>1</debug><text>Session cannot be authenticated; try login again</text></error>[/code]

The thing is, if I pull it from the TiVo itself, it works fine. But given I spend hours at my desk (I work from home), I'd rather push from here, so I don't have to go to the living room to jack with all that.

If I try pushing from the server in my browser (at http://localhost:9032/), I get the same error. I'm not sure where to go fix this, as I'd really rather push these things vs pull them from the actual TiVo itself.

Here's my PyTiVo.conf file:



Code:


[Server]
tivo_password = redacted, confirmed to be correct
tivo_username = redacted, confirmed to be correct
tivo_mak = redacted
ffmpeg = /Users/joesiegler/Documents/PyTiVo/bin/ffmpeg

[_tivo_SD]

[_tivo_HD]

[_tivo_4K]

[iMac Dump]
path = /Users/joesiegler/Downloads/TiVo Downloads
type = video

[TiVo Drive 1]
type = video
path = /Volumes/TiVo Drive 1 - 4TB/TiVo

[TiVo Drive 2]
path = /Volumes/TiVo Drive 2 - 4TB/TiVo 2
type = video

[TiVo Drive 3]
type = video
path = /Volumes/TiVo Drive 3 - 5TB/TiVo 3

Pretty simple, so I'm not sure what's the issue there.


----------



## lpwcomp

Try adding a "tdcat=" entry to the config file similar to the "ffmpeg=" entry, specifying the location of the tdcat binary.


----------



## Joe Siegler

lpwcomp said:


> Try adding a "tdcat=" entry to the config file similar to the "ffmpeg=" entry, specifying the location of the tdcat binary.


Where do I get that for OS X? It didn't come with PyTiVo.

Additionally, from what I've read what tdcat is for, it shouldn't affect transfer errors like that, shouldn't it? I thought it was just for display of info from .TiVo files.


----------



## lpwcomp

Joe Siegler said:


> Where do I get that for OS X? It didn't come with PyTiVo.


I have no idea.



Joe Siegler said:


> Additionally, from what I've read what tdcat is for, it shouldn't affect transfer errors like that, shouldn't it? I thought it was just for display of info from .TiVo files.


I believe it's used to extract metadata from a .tivo file. If metadata is available, it is sent as part of the push request.

In any case, the actual failure seems to be caused by something else. Are you certain that you are actually *running* the latest version of pyTivo?


----------



## Joe Siegler

lpwcomp said:


> In any case, the actual failure seems to be caused by something else. Are you certain that you are actually *running* the latest version of pyTivo?


Well, before I posted the message, I went and downloaded PyTiVo today. Unpacked it on top of what was on my machine, and it still gave the same error I was getting previous to that install.

Here's what it's saying when it starts.



Code:


INFO:pyTivo:Last modified: Mon Mar 21 15:52:00 2016
INFO:pyTivo:Python: 2.7.10
INFO:pyTivo:System: Darwin-15.5.0-x86_64-i386-64bit


----------



## gonzotek

Bad cookie can also be time-based. Do both the server and TiVo have the correct time/date? It looks from the log like the server is right, at least.


----------



## Joe Siegler

gonzotek said:


> Bad cookie can also be time-based. Do both the server and TiVo have the correct time/date? It looks from the log like the server is right, at least.


They should. I'd have to double check, but I'm going to assume they do. Even if they don't, you can't really set the time on your TiVo anyway.

The strangest part of all this is the same config works fine if I pull the episodes from my actual TiVo. Just pushing them from the desktop doesn't.


----------



## lpwcomp

Joe Siegler said:


> Well, before I posted the message, I went and downloaded PyTiVo today. Unpacked it on top of what was on my machine, and it still gave the same error I was getting previous to that install.
> 
> Here's what it's saying when it starts.
> 
> 
> 
> Code:
> 
> 
> INFO:pyTivo:Last modified: Mon Mar 21 15:52:00 2016
> INFO:pyTivo:Python: 2.7.10
> INFO:pyTivo:System: Darwin-15.5.0-x86_64-i386-64bit


Maybe it works differently on Macs, but the date I see on startup is the date the folder was modified.


----------



## Joe Siegler

lpwcomp said:


> Maybe it works differently on Macs, but the date I see on startup is the date the folder was modified.


Well, I'm not sure what to say about that. I can assure you I downloaded and re-installed before I posted the message. Then re-ran. I'll try again, but I'd be surprised if it makes a difference.


----------



## wmcbrine

tdcat is not the issue; that's just a warning, anyway.

Sorry, I don't know what the issue _is_, other than to say that the TiVo "Mind" server seems to be rejecting your login credentials. I doubt there's anything you can do on the pyTivo end.


----------



## Joe Siegler

wmcbrine said:


> tdcat is not the issue; that's just a warning, anyway.
> 
> Sorry, I don't know what the issue _is_, other than to say that the TiVo "Mind" server seems to be rejecting your login credentials. I doubt there's anything you can do on the pyTivo end.


I didn't think it was tdcat, but I was reporting it anyway.

Which fork should I be using for pyTiVo? That's not an issue, is it?

As for the credentials... I took what was in the pyTiVo.conf file and cut/paste into tivo.com and it worked - so I know those are right.

I did google for this, and in some message somewhere (not this forum) I saw someone theorize that it could be an issue if there's special chracters in the password. I also have really long passwords, usually 32 characters (or longer), and they all look like this. iulIhXk^jyxiVzHC4&W*[email protected]

Don't suppose a funky password would be an issue?


----------



## Joe Siegler

OK, an update. I went to tivo.com and changed my password. When I tried that, they said the max your password could be was 16 characters.

This *WAS* my old password: 35MB*r&TzmYCF6Mo

The new password is now only alphanumeric. No special characters (which means that ampersand isn't there anymore). I ran the same setup after updating the password in KMTTG & pyTiVo, and it is not giving me that "Session cannot be authenticated" error. So that seems to have made a difference.

However, my new problem is that I try sending a file, and it says it starts sending, and then stops almost at the same exact time, resulting in a file on my TiVo of zero bytes.

This is what I'm seeing now.



Code:


INFO:pyTivo.video.video:[04/Jul/2016 18:15:00] Queued "/Volumes/TiVo Drive 1 - 4TB/TiVo/Supergirl/Supergirl - Red Faced (Recorded Nov 30, 2015, KTVTDT).TiVo" for Push to MICHAEL
INFO:pyTivo:127.0.0.1 [04/Jul/2016 18:15:00] "POST /TiVoConnect HTTP/1.1" 200 -
WARNING:pyTivo.config:tdcat not found
INFO:pyTivo:127.0.0.1 [04/Jul/2016 18:15:05] "GET /TiVoConnect?Command=QueryContainer&Container=TiVo%20Drive%201/Supergirl&Format=text/html HTTP/1.1" 200 -
WARNING:pyTivo.config:tivodecode not found
INFO:pyTivo:192.168.1.131 [04/Jul/2016 18:16:16] "GET /TiVo%20Drive%201/Supergirl/Supergirl%20-%20Red%20Faced%20(Recorded%20Nov%2030,%202015,%20KTVTDT).TiVo?Format=video%2Fmpeg HTTP/1.1" 206 -
INFO:pyTivo.video.video:[04/Jul/2016 18:16:16] Start sending "/Volumes/TiVo Drive 1 - 4TB/TiVo/Supergirl/Supergirl - Red Faced (Recorded Nov 30, 2015, KTVTDT).TiVo" to MICHAEL
INFO:pyTivo.video.video:[04/Jul/2016 18:16:16] Done sending "/Volumes/TiVo Drive 1 - 4TB/TiVo/Supergirl/Supergirl - Red Faced (Recorded Nov 30, 2015, KTVTDT).TiVo" to MICHAEL, 0 bytes, 0.00 Mb/s

Whats strange is I tried pushing the video from the built in browser config, and after the browser listing of files for Supergirl came back up, it had the description from the .TiVo file in there - never did that before.

All still works if I pull from the TiVo.


----------



## moyekj

The reason is a .TiVo file pull requires no special action by pyTivo which is why it works. In contrast a .TiVo file push needs to be decrypted by pyTivo, so you either need to configure path to tdcat & tivodecode so pyTivo can decrypt it, or decrypt the .TiVo file first and push decrypted version along with metadata file.

(You also need to provide your 10 digit MAK in pyTivo.conf as tivo_mak parameter which is needed by tivodecode).


----------



## Joe Siegler

moyekj said:


> The reason is a .TiVo file pull requires no special action by pyTivo which is why it works. In contrast a .TiVo file push needs to be decrypted by pyTivo, so you either need to configure path to tdcat & tivodecode so pyTivo can decrypt it, or decrypt the .TiVo file first and push decrypted version along with metadata file.


OK, that's all good, but WHERE do you get tdcat? I can't find that info anywhere.



> (You also need to provide your 10 digit MAK in pyTivo.conf as tivo_mak parameter which is needed by tivodecode).


I have that in there already - I posted the contents of my pytivo.conf file a few msgs up.


----------



## moyekj

Joe Siegler said:


> OK, that's all good, but WHERE do you get tdcat? I can't find that info anywhere.


 You said you have kmttg installed, so tivodecode and tdcat binaries are installed under kmttg "tivodecode" folder so you can point to those. Don't know where the "official" Mac binaries are for pyTivo purposes.


----------



## Joe Siegler

moyekj said:


> You said you have kmttg installed, so tivodecode and tdcat binaries are installed under kmttg "tivodecode" folder so you can point to those. Don't know where the "official" Mac binaries are for pyTivo purposes.


Did not know that. Will go mess with that option. Tkx for that.


----------



## lpwcomp

Joe Siegler said:


> Did not know that. Will go mess with that option. Tkx for that.


The easist way might be to do the following:

Under kmttg->File->Configure->pyTivo>Files to push:

Select "last"

On main kmttg screen, check "metadata", "decrypt" and "push"

Add the .tivo files using the "Files" tab.

Select the files.

Start jobs.


----------



## robojerk

I've recently upgraded to Ubuntu Server 16.04 LTS and since then the init script keeps throwing this error.



Code:


Job for pyTivo.service failed because the control process exited with error code. See "systemctl status pyTivo.service" and "journalctl -xe" for details.

Using this init script.

I tried swapping it out with this SystemD script, but I havent really played with those yet and am not havaing luck getting it to work.
http://pytivo.sourceforge.net/forum/systemd-startup-script-t2052.html


----------



## newsposter

i havent changed anything with pytivo or tivo account in years. today i cannot push nor pull. it starts to convert then i get session cannot be authenticated

no clue what to do


----------



## lpwcomp

newsposter said:


> i havent changed anything with pytivo or tivo account in years. today i cannot push nor pull. it starts to convert then i get session cannot be authenticated
> 
> no clue what to do


Same here. Looks like TiVo mind server is having problems.


----------



## newsposter

lpwcomp said:


> Same here. Looks like TiVo mind server is having problems.


never heard of this issue before

is there another program to move stuff from my laptop to the tivo?


----------



## lpwcomp

newsposter said:


> never heard of this issue before
> 
> is there another program to move stuff from my laptop to the tivo?


You can always pull them.


----------



## newsposter

lpwcomp said:


> You can always pull them.


i wish it was that easy. cant do that either. when i go to try to pull the same program it gives me an option to cancel so i do that then i try to pull again and doesnt work

then i try to do other ones and it says will transfer later but even killing pytivo apparently doesnt stop the 'upload' that isnt even happening. rebooting tivo and computer do nothing.


----------



## lpwcomp

newsposter said:


> i wish it was that easy. cant do that either. when i go to try to pull the same program it gives me an option to cancel so i do that then i try to pull again and doesnt work
> 
> then i try to do other ones and it says will transfer later but even killing pytivo apparently doesnt stop the 'upload' that isnt even happening. rebooting tivo and computer do nothing.


Make sure there are no transfers pending by checking the todo list and deleting any that are there, then try rebooting the TiVo and restarting pyTivo.


----------



## newsposter

lpwcomp said:


> Make sure there are no transfers pending by checking the todo list and deleting any that are there, then try rebooting the TiVo and restarting pyTivo.


i had not looked at my todo list in very long time, never knew you could delete that way.

by some miracle the suggestion worked..thanks!


----------



## newsposter

now pulls work but pushes dont. no idea why


----------



## lpwcomp

newsposter said:


> now pulls work but pushes dont. no idea why


This has happened many times in the past. Pulls are entirely local. On a Push, while the actual transfer is also local, the request has to go through the TiVo Mind Server, which goes down sometimes.


----------



## lpwcomp

looked more closely at the error message I am getting:



Code:


ERROR:pyTivo.video.video:<error>[CODE]badCookie

<debug>1</debug><text>Sess
ion cannot be authenticated; try login again</text></error>[/CODE]

Has the cookie fix they put in a few years back expired?


----------



## newsposter

ive seen the bad cookie thing too.


----------



## saberman

Tivo Series 2 DVD

I bought a copy of the 2005 Washington Correspondents Dinner from CNN. I downloaded it to my computer:
Desktop running Windows 10 Pro x64 upgraded from Windows 7 ultimate x64
It is an mp4 file.
I then transferred it to my Tivo using pyTiVo (pulled).
The audio is out of synch with the video by a few seconds.

If I play it on my computer using VLC the audio is in synch.

Any idea what is wrong?


----------



## newsposter

funny you mention out of sych..the past few days when ive watched a certain series i downloaded, tis out of synch. now i wonder if it's traced to whatever problem i've been having. if converting to mp4 before uploading would help i have no problem doing it


----------



## saberman

newsposter said:


> funny you mention out of sych..the past few days when ive watched a certain series i downloaded, tis out of synch. now i wonder if it's traced to whatever problem i've been having. if converting to mp4 before uploading would help i have no problem doing it


My problem is an mp4. It plays fine on my computer but the audio is out of synch when uploaded to my Tivo Series 2 DVD pulling from pyTivo.


----------



## 2004raptor

I know this has been discussed a few pages back but I lost contact with pytivo again. I restarted my tivo and pytivo.py. Last time it happened I did the same and it didn't show until randomly the next day or so. 

Just not sure why this has been finicky the last few months. Is there something else I can try to maybe force it to recognize the share? 

BTW, I'm on W10, have a static IP assigned to the wired tivo.


----------



## saberman

Series 2 DVD
pyTivo

I have three files that are in one folder on the PC that show up on the TiVo as transferring but they aren't. The transfers do not show up on the To Do list and I can transfer other files so they don't block transferring from the PC.

I have rebooted the TiVo and the computer many times since they showed up but cannot get rid of them. They don't interfere with anything but they are annoying.

Any way to get rid of them?


----------



## trendtimer

lpwcomp said:


> Make sure there are no transfers pending by checking the todo list and deleting any that are there, then try rebooting the TiVo and restarting pyTivo.


Does the Tivo Roamio even have a "todo" list? I seem to recall a Tivo had this that I owned many years ago, but I haven't noticed anything like this on my Roamio.


----------



## HerronScott

trendtimer said:


> Does the Tivo Roamio even have a "todo" list? I seem to recall a Tivo had this that I owned many years ago, but I haven't noticed anything like this on my Roamio.


Yes it does have one. It's right at the top of the Managing Recordings & One Pass menu (To Do List).

Scott


----------



## bareyb

trendtimer said:


> Does the Tivo Roamio even have a "todo" list? I seem to recall a Tivo had this that I owned many years ago, but I haven't noticed anything like this on my Roamio.


You can also press "Menu 2" and it will take you directly to it.


----------



## innocentfreak

Session issues again tonight here.


----------



## innocentfreak

saberman said:


> Excuse me for going over the line but you have posted nothing of interest to this thread. The signal to noise ratio for your post is 0.00.
> 
> To moderator: Were you asleep at the switch? How did this get posted?


LOL, So not being able to push content due to a session issue and letting people know it looks like they hare having server issues again with the mind server isn't relevant to PyTiVo but your post is?


----------



## saberman

Excuse me. I did not understand your post. I have deleted mine


----------



## worachj

I believe this to be a TiVo problem, but I thought I would just report it here as a FYI.

80% of the time when I queue multiple recordings to do a PC to Roamio(Basic) Premiere push the first recording fails but all the other recording are transferred successfully. I need to re-push the first recording again and it completes without problems.

*Example:* I pushed two recordings. The first one "American Dad" failed and the second one "Big Bang Theory" completed. I needed to re-push "American Dad".



Code:


INFO:pyTivo.video.video:[30/Aug/2016 08:15:18] Queued "c:\Users\John\Documents\My TiVo Recordings\American Dad - (Season 08 Episode 03) Can I Be Frank With You_cut.mpg" for Push to Bed Room
INFO:pyTivo.video.video:[30/Aug/2016 08:15:18] Queued "c:\Users\John\Documents\My TiVo Recordings\The Big Bang Theory - (Season 05 Episode 20) The Transporter Malfunction_cut.mpg" for Push to Bed Room
INFO:pyTivo:127.0.0.1 [30/Aug/2016 08:15:18] "POST /TiVoConnect HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [30/Aug/2016 08:15:23] "GET /TiVoConnect?Command=QueryContainer&Container=MyMovies&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [30/Aug/2016 08:15:23] "GET /main.css HTTP/1.1" 200 -
[COLOR="Red"]ERROR:pyTivo.video.video:<error>[CODE]badCookie

<debug>1</debug><text>Session cannot be authenticated; try login again</text></error>
[/COLOR]INFOyTivo:192.168.1.235 [30/Aug/2016 08:15:43] "GET /MyMovies/The%20Big%20Bang%20Theory%20-%20(Season%2005%20Episode%2020)%20The%20Transporter%20Malfunction_cut.mpg?Format=video%2Fmpeg HTTP/1.1" 200 -
INFOyTivo.video.video:[30/Aug/2016 08:15:43] Start sending "c:\Users\John\Documents\My TiVo Recordings\The Big Bang Theory - (Season 05 Episode 20) The Transporter Malfunction_cut.mpg" to Bed Room
INFOyTivo:127.0.0.1 [30/Aug/2016 08:15:46] "GET /TiVoConnect?Command=QueryContainer&Container=MyMovies&Format=text/html HTTP/1.1" 200 -
INFOyTivo:127.0.0.1 [30/Aug/2016 08:15:46] "GET /main.css HTTP/1.1" 200 -
INFOyTivo.video.video:[30/Aug/2016 08:20:00] Done sending "c:\Users\John\Documents\My TiVo Recordings\The Big Bang Theory - (Season 05 Episode 20) The Transporter Malfunction_cut.mpg" to Bed Room, 1063102464 bytes, 31.61 Mb/s
INFOyTivo:127.0.0.1 [30/Aug/2016 08:21:01] "GET / HTTP/1.1" 200 -
INFOyTivo:127.0.0.1 [30/Aug/2016 08:21:04] "GET /TiVoConnect?Command=NPL&Container=ToGo&TiVo=192.168.1.235 HTTP/1.1" 200 -
INFOyTivo:127.0.0.1 [30/Aug/2016 08:21:04] "GET /folder.png HTTP/1.1" 200 -
INFOyTivo:127.0.0.1 [30/Aug/2016 08:21:11] "GET / HTTP/1.1" 200 -
INFOyTivo:127.0.0.1 [30/Aug/2016 08:21:12] "GET /TiVoConnect?Command=QueryContainer&Container=MyMovies&Format=text/html HTTP/1.1" 200 -
INFOyTivo.video.video:[30/Aug/2016 08:21:16] Queued "c:\Users\John\Documents\My TiVo Recordings\American Dad - (Season 08 Episode 03) Can I Be Frank With You_cut.mpg" for Push to Bed Room
INFOyTivo:127.0.0.1 [30/Aug/2016 08:21:16] "POST /TiVoConnect HTTP/1.1" 200 -
INFOyTivo:127.0.0.1 [30/Aug/2016 08:21:21] "GET /TiVoConnect?Command=QueryContainer&Container=MyMovies&Format=text/html HTTP/1.1" 200 -
INFOyTivo:127.0.0.1 [30/Aug/2016 08:21:21] "GET /main.css HTTP/1.1" 200 -
[/CODE]


----------



## innocentfreak

Posted in the other thread, but wasn't sure if you were following it still, wmcbrine.

Getting a new error tonight.

ERROR: pyTivo.video.video:<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)>

Looking through older messages in the PyTiVo thread, it might be since this machine is running Python 2.7.12. It looks like the same error popped up with 2.7.9 which required a fix.


----------



## jcthorne

Is the pyTivo forum down for everyone else?


----------



## lpwcomp

jcthorne said:


> Is the pyTivo forum down for everyone else?


Don't know about everyone else, but it is down for me as well.


----------



## dlfl

jcthorne said:


> Is the pyTivo forum down for everyone else?





lpwcomp said:


> Don't know about everyone else, but it is down for me as well.


It's been up and down sporadically for me lately.


----------



## andrew1883

I'm running into trouble with files I've transferred from TiVo to Windows 7 (using kmttg) and back to TiVo (using pyTivo, pulling from the TiVo). I posted back in March and was able to get subtitles working in this scenario (thanks!) but then packed my TiVo when I left FL and just got it up and running recently. Here's my problem, using a specific file as an example (but it happens across several).

I have a 1-hour episode of Castle recorded in HD. I transferred it to my Win 7 machine (probably using kmttg). With WMP the .tivo plays (ends at 59:59) but doesn't show subtitles.

I used kmttg with Decrypt and Metadata options checked. This created a .mpg and a .mpg.txt file. The .mpg plays in both WMP and VLC, with a length of 1 hour, and the latter with subtitles (though not formatted as specified).

I transferred the .tivo from Windows to TiVo (pulled from Tivo, probably using TiVo Desktop) and it's still 1hr though it doesn't have subtitles. Which I understand is expected.

I transferred the .mpg from Windows to TiVo (pulled from TiVo, using pyTivo). The resulting file has subtitles. But it's both longer and truncated! The .mpg played in Windows is exactly 1 hour. Played on the TiVo, it's 1h05m -- and the very last frame (image) is something that occurs at 0h52m in the file that was transferred back as a .tivo (using TiVo Desktop). And there is definitely 8min missing off the end.

I'm using kmttg 2.1x, the Mar 21 pyTiVo distribution, TiVo Premiere, Windows 7. I think this happened back in March, but I wasn't able to document and post it before packing up the box.

I should also note that I had to set ts=on (not ts=auto) to get the subtitles. I thought I read that ts=auto should take care of it, but my first couple of tries were missing subtitles when the file got back to the TiVo. When I used ts=on, I got subtitles (somewhat garbled but that might be the original recording as it first hit the TiVo hard drive, that version I no longer have).

I also have questions related to the speed of the transfer (3:15 for a 1-hour file), and the way the files look when I'm browsing the pyTiVo share from the TiVo, but I'll save those to focus on the change in the file itself.

If this is a known issue, I apologize for not seeing it, but I did read both this and the other (transport stream) thread going back to before I posted in March.

Thanks!
=aw


----------



## lpwcomp

I documented this issue a while back. Not sure if it was here or in the pyTivo sourceforge forum (which is currently unavailable).

The only solution I found was to use an older version of ffmpeg. The one I am using has a file date of 8/22/14 and has a size of 30,624KB.

Edit" BTW, what you are seeing are closed captions rather than subtitles. They are not the same thing.


----------



## andrew1883

> older version of ffmpeg. The one I am using has a file date of 8/22/14 and has a size of 30,624KB.


Thank you, that's very helpful. I thought I had read something about someone having the problem but couldn't find it.

Is it enough to use just the ffmpeg.exe from Aug 22/14, or do I need the full package? _[EDIT: I see the .7z is almost all docs and licenses, with only 3 .exes, and pyTivo only points to ffmpeg.exe so I'm going to try just that]_ I looked in https://ffmpeg.zeranoe.com/builds/win64/static/2014/ and found

ffmpeg-20140823-git-7444cf9-win64-static.7z contains an ffmpeg.exe with size 31358976 bytes (30624 kB) and timestamped Aug 22/14

I'm running 64-bit Win 7 and the pyTivo instructions say use 32-bit or 64-bit, so I'm going to use 64-bit.

Thanks again!
=aw


----------



## lpwcomp

I'm only using an old ffmpeg.exe. Everything else is more recent.


----------



## andrew1883

Thank you. I'm having more trouble. 

I extracted the single file ffmpeg.exe from the older ffmpeg-20140823-git-7444cf9-win64-static.7z and moved it to C:\ffmpeg\2014-08-22_older-but-wiser\ffmpeg.exe

Then I pointed both pyTivo and kmttg (just in case) to that version of ffmpeg. I thought it better to keep the file in a separate folder and have to update the .conf, rather than losing it if I overwrite c:\pytivo with a new release.

Then I decrypted and metadata-ed some episodes of Castle (HD) and of Suits (SD) using kmttg 2.1x. When I transferred back to the TiVo (pulling from TiVo), it seemed like Suits transferred okay, with captions (very garbled, could theoretically be the original I suppose). But the Castle was failing with message #86.



> There was an error
> Your request could not be processed. Please try again. (Message #86).


When I got back to my computer I found a lot of errors in the pytivo command window. I tried to copy them but there were too many so I thought I'd try again tomorrow (just once) and make a note of them. They did seem related to timestamp but I don't think that's enough info to troubleshoot. If there's a known problem then I'm happy to hear of it.

Thanks again, more details tomorrow.
=aw


----------



## lpwcomp

What model TiVo?

Transport Stream or Program Stream? One of the reasons I started using TS transfers was because PS tended to garble the captions.

What are you using to decrypt?

Did you run qsfix on the recordings?


----------



## andrew1883

Thanks. TiVo Premiere. Transport Stream because I understood back in March that it was required for getting the captions at all (though I may have misunderstood). kmttg 2.1x to decrypt and get metadata. Not doing any other manipulation (no ad cut or anything). Didn't use qsfix because I don't know what it is (I'll look it up when I get back home again  ).

The captions are my secondary worry (though it's a concern). My bigger concern is why Castle won't transfer at all. I can try some other files, but it does transfer fine as a .tivo (just no captions).

..Tried today to transfer an episode of Castle (HD) by using TiVo to pull from pyTivo. Just the one so as to avoid making the log too long. Failed with the same "Message #86" quoted in my previous post, and "busy" in the corner (I think that was there last night too).

There actually aren't any errors in the log, just a warning about the time. But Castle won't transfer. I'll attach the log as a text file since it's pretty long. I can also post it as a code block if that's easier. [added: here's the one line of WARNING, all the others are INFO]



Code:


WARNING:pyTivo.video.video:Bad time format: 2016-04-12T02:01:00Z , using current time

Thanks!
=aw


----------



## lpwcomp

One of the things that QS Fix attempts to do is fix timecode errors.

kmttg uses one of four different methods to decrypt - tivodecode, tivolibre, DirectShow Dump or VideReDo. You need at least a partial install of TiVo Desktop for the latter two. I believe the default is tivodecode and that might be causing the CC corruption. 

You might give VideoReDo a try. It's not free but it's < 100 and well worth it, at least IMHO. It is available for a free evaluation period which I think is 30 days.


----------



## andrew1883

Thanks, I just converted a couple more HD .tivo files to .mpg using kmttg and will see if they transfer over okay. I'll save QSFix for another time, to avoid changing too many variables at once. 

I remember seeing VideoReDo years back and it certainly sounded like it would do some amazing tricks. Although <$100 may be cheap for what it does, I'm hoping to get good results with tools I have.

=aw


----------



## andrew1883

​Okay so I was able to transfer Arrow s01e01 (HD) and it has both good looking captions and the right length - exactly 1 hour and ends while the closing credits are running. Hoping that means the ffmpeg fix has worked. 

I thought I had only queued up the one file but the log seems to think I also queued an episode of Suits (HD). I only have the end of the log (copied from the command window, I haven't reminded myself how to log to a text file). I'll attach what was left in the window. It has a lot of references to timestamps and I haven't checked on the TiVo how it turned out (will do that tomorrow).

=aw


----------



## kbgators

Have not been able to push anything since Sunday. 
It creates for .temp file that just sits there but does not push it over 
I tried changing TiVo username and password that others suggested, but that does nothing. 

I'm getting g badcookie error when I debug. 

Anyone have an answer?


----------



## bmal1

AFAIK there is no answer yet. From what I have read this is an issue with the Tivo Mind server and it needs to be fixed by Tivo. 

That said I am now testing Plex Media Server as an alternative.


----------



## kbgators

I have Plex as well too. If I have to start using Plex because of TiVo mind server issues with the Push, then I'll just get off TiVo. This is the reason I have TiVo Roamio and 7 TiVo minis - it was in all in one plan. 

Does anyone know if TiVo is aware. Where can I submit a ticket?


----------



## kbgators

OK, so I just got off the phone with TiVo support. They are fully aware of the issue. They said this has to do with the upgrade to the Rovi software. There are two major upgrades that are taking place. The first one is around the interface software, the second is a major upgrade to the guide and channels. They said that in about a week everything should be working, including doing the Push of home video files.

They sent me the FAQ on it.


----------



## lpwcomp

kbgators said:


> I have Plex as well too. If I have to start using Plex because of TiVo mind server issues with the Push, then I'll just get off TiVo. This is the reason I have TiVo Roamio and 7 TiVo minis - it was in all in one plan.
> 
> Does anyone know if TiVo is aware. Where can I submit a ticket?


TiVo is awarem claims to be working on a fix but I have my dioubts.

Unless you're using TD+ to do the push, there's little chance of getting them to open a ticket,


----------



## kbgators

lpwcomp said:


> TiVo is awarem claims to be working on a fix but I have my dioubts.
> 
> Unless you're using TD+ to do the push, there's little chance of getting them to open a ticket,


See my previous reply above


----------



## newsposter

cannot push now..who broke it!!!!!!!


----------



## kbgators

Still not working here. Has anyone seen their pyTiVo Pushes working yet?


----------



## innocentfreak

It works off and on. It worked this weekend for me, but stopped last night and down now.


----------



## 2004raptor

I noticed my shares showed up on my tivo last saturday. I transferred a movie and watched it. It's weird because a few weeks ago I did everything I could think of to get it working and...nothing. Then suddenly it decided to work.


----------



## newsposter

pushy still brokey


----------



## brettatk

Is this why my pyTiVo Auto Push has stopped working? Not really a big deal since I use Kodi on my FireTV to watch shows now instead of TiVo. Just curious to what happened and why it stopped working after all these years. If this was the reason, can I expect it to just start working again if and when TiVo solves the issue?


----------



## kbgators

anyone having their pyTiVo Pushes working yet?


----------



## worachj

kbgators said:


> anyone having their pyTiVo Pushes working yet?


I do Pushes everyday, but most times it takes 3-4 tries to get it to work.


----------



## kbgators

worachj said:


> I do Pushes everyday, but most times it takes 3-4 tries to get it to work.


I can't get a single one to push no matter how many times I try it.


----------



## worachj

I seem to be one of few lucky ones to get it to work.

I always push early in the morning. When I push, I select 3-4 recordings to push at the same time. Once one of them goes it works for me without problems for a couple of hours. 

Windows 10 push to TiVo Premiere, and sometimes Windows 10 to TiVo Roamio.

INFO pyTivo:Last modified: Mon Mar 21 17:52:00 2016
INFO pyTivoython: 2.7.6
INFO pyTivo:System: Windows-8-6.2.9200


----------



## mathwhiz

My pushes work off and on, but however, there is a new quirk - I think it started at the same time as the new guide data. I use a text file so that it sends over the series, title, and description of the show. I can see this in the log file that it is sending the correct info, but when it arrives on the TiVo it will have the Series, Title, and Description of a past transfer. Anyone else seeing this?


----------



## armooo

Looks like a problem with the memcache holding mind session state. The POST to https://mind.tivo.com:8181/mind/mind7?type=infoGet is returning.


Code:


<?xml version="1.0" encoding="utf-8"?><error>[CODE]memcacheError

<debug>14</debug><text>Memcache error while doing login</text></error>
[/CODE]


----------



## dlfl

armooo said:


> Looks like a problem with the memcache holding mind session state. The POST to https://mind.tivo.com:8181/mind/mind7?type=infoGet is returning.
> 
> 
> Code:
> 
> 
> <?xml version="1.0" encoding="utf-8"?><error>[CODE]memcacheError
> 
> <debug>14</debug><text>Memcache error while doing login</text></error>
> [/CODE]


A post from the originator of pyTivo, who started this thread, and whose last post here was in April 2008! Welcome and thanks!


----------



## ADG

Yes thanks, but I'm afraid I don't understand if that post just identifies the problem or offers a potential solution. Is there something we can do?


----------



## armooo

ADG said:


> Yes thanks, but I'm afraid I don't understand if that post just identifies the problem or offers a potential solution. Is there something we can do?


Looks like we will need to wait for tivo to fix their servers. I did not have success trying to use the cookies from the normal web auth. The forms do take the same parameters but no luck.


----------



## JohnnyRocket

OK,

I own a couple of TivoHD's - and used to push files to them with pyTivo... 

....and all was good ... for years ... all ... was ... good. 

Then Tivo stopped pushes from working on TivoHD's....

So I bit the bullet and got a new Roamio (a T6 from Wave Broadband - my cable provider) 

And started playing with the ts = on feature to get fast pulls.

... and all was good ... for a while ...

But I have come across a very horrible, repeatable bug:

Once I had filled the Tivo to about 29% according to the graph under "My Shows" I began noticing it was dropping older shows and the the RD directory was empty!!

(I had about 15 network recorded shows - and about 170 pyTivo pulled shows at the time)

so I used kmttg - and it said that I had only used about 268GB of my 1TB drive ...
kmttg also reported the correct size for all of the pyTivo pulled shows...

....I was at a loss as to what was happening...

After several experiments - I watched it delete older files every time i transfered a new show with pytivo, etc.
I don't have any KUID's what so ever, etc etc....

I decided to try a "Clear Program Information & To Do List"....

Well guess what?

After doing the CP&TD, I checked the files with kmttg-- and all of the transferred (with ts=on) files sizes were reported as huge numbers (~14GB per hour show) even though before I did the CP&TD they were the correct size (say 600MB).

To further explain things, if I do an "info" for the file from the Tivo UI, it also gives the same large numbers for all the pulled shows...

And now the graph under "My Shows" will say the Tivo is almost full.... 

So here is the problem: The Tivo is using some other variables to determine the file sizes and the rules for emptying out the RD folder - as well as deleting actual shows even though in my case, the hard disk is only 1/4 full!!!

After deleting all the pyTivo pulls and trying this again, I can repeat with the same results..

So I guess my questions are: does anyone else seem to be having this same problem???
Is this a known problem?
Would someone like to try this same kmttg - cp&td - kmttg test and let me know what you find?
Is there a work around I can use? 
Am I just doing something wrong??
Is there something wrong with the ".ts wrapper" that is causing the Tivo to get the size wrong??
Is there a better place for me to be asking these questions??

I'm sorry this is so long - but I wanted to get across the problem as completely as possible...
Thanks for all your help!!!
John


----------



## lew

That's a known issue for shows transferred to your tivo prior to transition from Gracenote to tivo guide data. Shows were probably changed to kuid as well. Transfer back, delete show on tivo then transfer back to tivo


----------



## lpwcomp

lew said:


> That's a known issue for shows transferred to your tivo prior to transition from Gracenote to tivo guide data. Shows were probably changed to kuid as well. Transfer back, delete show on tivo then transfer back to tivo


while it is true that this problem manifested itself most notably during the transition, what JohnnyRocket is seeing (CPI & TDL creates the problem) indicates that the bug is actually in the base code.


----------



## JohnnyRocket

See my prior post #5650 above...

Ok,
So here's what I have been working on:

with video_br: "blank" (defaults to 16384K??)in "HD Tivo Setting":

When I pull a file to the Tivo, pyTivo makes an estimate and tells the Tivo it is say ~5GB.
(I do a refresh of the "Pull from Tivos:" page for the Roamio while the file is still pulling - and it tells me the file is ~5GB)

Once the file finishes pulling, The Tivo seems to correct the size to the actual transfered size - say ~600MB.

BUT, what I think is going on is that the Tivo "reserved" all 5GB for the file 
and DOES NOT give back the difference (the space is probably just sitting there "below" a "file end" marker).

(and now it is GONE until the file is deleted - but the % meter below "My Shows" uses the actual transferred size in its calculations!)

So I tried making "video_br:" a ridiculously small number - only 128K
Now When I pull a file:

pyTivo now makes a MUCH BETTER ESTIMATE for the file size - usually 1-20MB bigger than the actual transferred size.
(probably due to audio remux variations???)
And then corrects it to the actual size once the file is finished.

So now it seems the Tivo is only losing the little 1-20MB "tails" AND the % meter is much more accurate AND I can use ~all~ of my Tivo space!!!!!

It also looks like the "tails" do come back once the files are deleted...

So now some new questions:

Am I exploiting some kind of "bug" or "feature" of pyTivo?? 

Is this failure to return the giant tails of resereved data something new in the latest Tivo software? I don't seem to recall having this problem with my TivoHDs in the past?

Is what I am now doing - something that could be put into pyTivo so that this occurs automatically for ts=on type files only?

What will pyTivo do with a .avi file that actually needs transcoding if I have video_br set so low??

I guess what I really want is for pyTivo to make a good estimate with ts=on files but still use the video_br: when needed?

Is what I'm saying making any sense?

Thanks everyone for your responses!
John


----------



## Bwana

JohnnyRocket said:


> See my prior post #5650 above...
> Is this failure to return the giant tails of resereved data something new in the latest Tivo software? I don't seem to recall having this problem with my TivoHDs in the past?


First off, thanks for the tip, you're a champion!

In regards to when this happened, I'm confident that it occurred precisely when the guide data switched to Rovi. There were several reports (including mine) of people loosing big chunks of space due to the Tivo wrongly estimating the size of transferred files. Both the individual file size and the overall space used were inaccurate. Removing the affected files and transferring them back fixed the displayed file sizes and space used, but apparently, not whatever is used to determine space left.

While this is not a problem with pyTivo, it likely only affects pyTivo, kmttg and possibly Tivo Desktop users. Given the push issue that affects the same group has been ignored, it appears that they don't care to keep people using those happy.


----------



## Joe Siegler

I've recently ripped a few of my DVD's to my drive, and discovered that the rip software can pick up both the standard audio track and the commentary track. If I play this through my Apple TV, it can pick up both the audio tracks.

Would prefer it on TiVo, however. Is there a way to get pyTiVo to send files to my TiVo with more than one audio track intact? If so, how?


----------



## wmcbrine

Joe Siegler said:


> Is there a way to get pyTiVo to send files to my TiVo with more than one audio track intact?


You can send it, but IIRC, the TiVo will only let you change audio tracks on live TV, not on recordings.

However, pyTivo has options to let you choose the audio track at transfer time, so you could do a separate transfer just to listen to the commentary.


----------



## lpwcomp

wmcbrine said:


> You can send it, but IIRC, the TiVo will only let you change audio tracks on live TV, not on recordings.


They seem to have changed that because I am able to access the alternate audio track of recordings if one is available.


----------



## knarf829

Anyone getting weird time related issues with MP4 files pulled to the TiVo with pyTivo?

My hour-long network TV shows wind up at about 42 minutes with the commercials taken out. I've been turning these into MP4 files and pulling them back onto the TiVo with pyTivo for a couple of years now without issue.

After the big, bad software/guide update, these files show up as 51-55 minutes long once they're on the TiVo. When I browse them to select them for transfer they're correctly reported as 42 minutes, and while they're transferring, the bar that shows up on playback says 42 minutes. However, once the transfer is complete, everything changes to the 51-55 minute reading. KMTTG also reports this false timing, although it shows the proper bit rate and file size.

Really weird. I don't know that it's effecting anything. The file plays at the right speed and is over in 42 minutes if I watch it through. Pretty sure it's not a pyTivo issue because the thing that changed is on the TiVo side, but I didn't know where else to look for others that were having the problem. It's not right, and having something not be right bugs me inherently, so I wanted to try to figure out if anyone else was seeing this and what I should adjust to correct it if possible.

This is on both a Premiere XL4 and a Romio.


----------



## lpwcomp

knarf829 said:


> Anyone getting weird time related issues with MP4 files pulled to the TiVo with pyTivo?
> 
> My hour-long network TV shows wind up at about 42 minutes with the commercials taken out. I've been turning these into MP4 files and pulling them back onto the TiVo with pyTivo for a couple of years now without issue.
> 
> After the big, bad software/guide update, these files show up as 51-55 minutes long once they're on the TiVo. When I browse them to select them for transfer they're correctly reported as 42 minutes, and while they're transferring, the bar that shows up on playback says 42 minutes. However, once the transfer is complete, everything changes to the 51-55 minute reading. KMTTG also reports this false timing, although it shows the proper bit rate and file size.
> 
> Really weird. I don't know that it's effecting anything. The file plays at the right speed and is over in 42 minutes if I watch it through. Pretty sure it's not a pyTivo issue because the thing that changed is on the TiVo side, but I didn't know where else to look for others that were having the problem. It's not right, and having something not be right bugs me inherently, so I wanted to try to figure out if anyone else was seeing this and what I should adjust to correct it if possible.
> 
> This is on both a Premiere XL4 and a Romio.


Try using an older version of ffmpeg. I had to switch to one from August 2014 to avoid having this problem.


----------



## knarf829

lpwcomp said:


> Try using an older version of ffmpeg. I had to switch to one from August 2014 to avoid having this problem.


Thanks (again) so much.

For anyone else having the problem, using 2.2.3 (64 bit in my case) from June 2014 from here solved the problem. Bonus: It seems to remux much faster, too.

lpwcomp - do you think it's worthwhile to re-pull my shows, or was it not really affecting anything? We're talking about maybe 54 hour-long shows.


----------



## lpwcomp

knarf829 said:


> lpwcomp - do you think it's worthwhile to re-pull my shows, or was it not really affecting anything? We're talking about maybe 54 hour-long shows.


Depends on whether you plan to do any "trick" play like RW,FF, etc. as what seems to be happening is that ffmpeg is messing up the timecodes.


----------



## ADG

Just to resurrect this thread - still having push problems ("cannot authenticate") and confirming that others also still have the same issue.

Also a question - though this is probably not the right thread - when pulling from my computers, my tivo has no problem with .mkv files from one computer but can't even see them on another (.mp4 and .avi files work fine). Any idea why that might be?

Thanks


----------



## shiffrin

I've also been having the "cannot authenticate" errors when trying to push to the Tivo. I always check the log when I do a push and if I get the error, I just push it again. If, after 3 tries it doesn't start, I restart the Pytivo service on my computer and try the push again. It usually works after a few retries. If I have multiple shows to push, I just try to get the first one to transfer, then queue up the remaining ones as a group. Once one gets started, the rest have always worked.


----------



## ADG

Unfortunately not the case for me. Doesn't matter how many times I try or restart the server, I continue to get the "session cannot be authenticated" message.


----------



## xberk

ADG said:


> Unfortunately not the case for me. Doesn't matter how many times I try or restart the server, I continue to get the "session cannot be authenticated" message.


I couldn't get push to work either with multiple tries --- but tonight I did it with just 3 tries. Once it was going, I could push multiple files with no problem. However, I had problems making folders. Finally got one folder to work but still not sure what happened there. I did not restart the pyTivo.conf file, but simply tried again -- just as the pyTivo error message tells you.

To follow up on this, I was able to get folders going again as in the past. Closing it down now and I'll try to do another "push" session tomorrow. We shall see what happens.


----------



## xberk

For the record if anyone is following this thread. I tried another "push" session tonight with pyTivo. Failed on the first two tries and succeeded on the third try. Push working -- sort of ... I did not restart pyTivo but just tried again after each "session cannot be authenticated" error.

Tried again a few days later .. it took 8 tries but "push" worked. Such a strange thing.


----------



## dorpen

I'm having the same problem with the pushes, having to try multiple times for it to work.
Today when I started pytivo and it was scanning for my two tivos, it was not able to find either.
I've been trying pytivo all day but each time when it starts, it scans for the Tivos but does not find them. 
Any ideas what is causing this problem?

dorpen


----------



## dorpen

dorpen said:


> I'm having the same problem with the pushes, having to try multiple times for it to work.
> Today when I started pytivo and it was scanning for my two tivos, it was not able to find either.
> I've been trying pytivo all day but each time when it starts, it scans for the Tivos but does not find them.
> Any ideas what is causing this problem?
> 
> dorpen


I see there is is general push problem.
I found the wireless network name had been changed so when I updated it on my Tivos, the scan was able to find them.


----------



## mathwhiz

So, like everyone else, it will occasionally log in correctly to do a push to the TiVo. Over the last few days though, even after a successful push request by pyTiVo, the TiVo never reads the push request or something, since the show never ends up on the TiVo. Anyone else seeing this?

Is there anything else out there that allows you to subscribe to a RSS feed of videos and have them automatically put into your ToDo list? That is the main reason I use pyTiVo and would hate to never have it work again.


----------



## worachj

mathwhiz said:


> Over the last few days though, even after a successful push request by pyTiVo, the TiVo never reads the push request or something, since the show never ends up on the TiVo. Anyone else seeing this?


Same thing started happening to me. I push something everyday, it stopped working for me on Friday, Saturday and today. Just as you stated above. Pulls still work.


----------



## xberk

worachj said:


> Same thing started happening to me. I push something everyday, it stopped working for me on Friday, Saturday and today. Just as you stated above. Pulls still work.


Push not working for me tonight. Gave it 6 tries and quit. But I was able to get pull to work including grouping in a folder. THis was a first ( I had help from someone here). Not sure why it worked but here's the metadata I used.

title : Alaska 2015A 
seriesTitle: Alaska 2015A
episodeTitle : Vancouver
isEpisode : true
seriesId : TS0000000011


----------



## HerronScott

worachj said:


> Same thing started happening to me. I push something everyday, it stopped working for me on Friday, Saturday and today. Just as you stated above. Pulls still work.


Don't pushes rely on TiVo's servers (mind server?)? If so I'm guessing the same backend infrastructure issues that are causing the BSC are impacting this as well.

Scott


----------



## worachj

HerronScott said:


> Don't pushes rely on TiVo's servers (mind server?)? If so I'm guessing the same backend infrastructure issues that are causing the BSC are impacting this as well.
> 
> Scott


That's my thought as well. The whole push issue stated in April for me, but I was still able to get pass the "Session cannot be authenticated" error by repeatedly pushing until it worked. That part is now broken for me since last Friday. Can't get it work.

Failed again for me today.


----------



## philco782

JohnnyRocket said:


> So I tried making "video_br:" a ridiculously small number - only 128K
> Now When I pull a file:
> 
> pyTivo now makes a MUCH BETTER ESTIMATE for the file size - usually 1-20MB bigger than the actual transferred size.
> (probably due to audio remux variations???)
> And then corrects it to the actual size once the file is finished.


Dude, that is awesome! I noticed this issue too when doing pulls, which is why I always wanted to push. I added that video_br:128K and that really resolved the entire reason I didn't like doing pulls.

Thanks a bunch!


----------



## mathwhiz

Has anyone been able to do a successful push for the last 2-3 weeks? I still can't. Very frustrating - one of the reasons I stuck with TiVo is the ability to push shows from my computer to the TiVo. No word from them, nothing ever gets fixed anymore - they seem to have stopped caring for their customers at all.


----------



## ADG

2-3 weeks? Not for the past 3-4 months!!!


----------



## rfryar

So since PUSHes are broken, is there anyway to remotely request a pull? I have a tivo roamio pro in my house that is headless and is just in charge of running a bunch of minis. Using pushes via streambaby used to be my method to get shows for the mini to watch.

But since this has been broken I have been using pyTivo on a different Roamio to pull them. It would be awesome if there was a way via pyTivo, or kmttg or other app to remotely request a pull via my headless tivo.

Does anyone know a way to do this other than to actually use pyTivo on the unit that needs to do the pull or automate pulling items to a box.

Thanks


----------



## dlfl

TiVo can't even get the most basic thing we paid hundreds of dollars for, the guide data, correct, which also is causing one-passes not to work correctly. If they have to set priorities, I choose fixing that over fixing pyTiVo pushes.


----------



## rfryar

dlfl said:


> TiVo can't even get the most basic thing we paid hundreds of dollars for, the guide data, correct, which also is causing one-passes not to work correctly. If they have to set priorities, I choose fixing that over fixing pyTiVo pushes.


Tivo has nothing to do with pyTivo, but you are right that Tivo should fix the guide data for everyone. It is fine for me in my location btw. But I am asking about alternatives to push as Pulls work.

I know that moyekj has done a lot of network controlling of tivos in kmttg, perhaps there is an easy way to network control a tivo to request a pull directly.


----------



## dlfl

rfryar said:


> Tivo has nothing to do with pyTivo, but you are right that Tivo should fix the guide data for everyone. It is fine for me in my location btw. But I am asking about alternatives to push as Pulls work.
> 
> I know that moyekj has done a lot of network controlling of tivos in kmttg, perhaps there is an easy way to network control a tivo to request a pull directly.


Agree, using network remote control of TiVo to initiate pulls is an appealing idea -- hope it can be done.

I see your location is a suburb of the Minneapolis/St. Paul area. My impression is the Rovi data does better in such major metro areas, perhaps because they give such areas higher priority. Either that or you just aren't as critical of defects in the data. I'm in a smaller metro area (Dayton, OH) and the Rovi data here is noticeably inferior to the prior GraceNote data. Program descriptions are obviously much longer than the space allowed on a TiVo and are truncated in a clumsy way. One-pass recordings marked for new-only record 10 or more repeats of the same episode on some Smithsonian channel shows because the guide data doesn't properly mark them as repeats. Other one-pass recordings are missed, saying the program was not in the guide data, when it plainly IS in the guide data. This apparently is due to incorrect original air dates in the Rovi data.


----------



## mathwhiz

rfryar said:


> Tivo has nothing to do with pyTivo, ...


Actually for the push functionality, pytivo uses TiVo's mind server - the same way that TiVo Desktop does. So from this aspect, yes TiVo does have something to do with pyTiVo.


----------



## mathwhiz

New error today: Deprecated Operation: bodyOfferModify

Looks like they have gotten rid of pushes for good. No notice to their users, no compensation for removal of features from our devices. Nothing. I knew I shouldn't have invested over $1000 in a new TiVo, not for one of the main uses of it - I can't use it anymore.


----------



## shiffrin

mathwhiz said:


> New error today: Deprecated Operation: bodyOfferModify
> 
> Looks like they have gotten rid of pushes for good. No notice to their users, no compensation for removal of features from our devices. Nothing. I knew I shouldn't have invested over $1000 in a new TiVo, not for one of the main uses of it - I can't use it anymore.


I got that deprecated message for a few days and now it has gone away and I have gone back to the authentication error. I used to be able to just try it multiple times or restart the Pytivo service and it would work, but now it just continues to fail.


----------



## shiffrin

Since I couldn't push files with Pytivo, I've had to go back to using Pull. For the last few days, Pull has been giving me errors most of the time. Sometimes I can do the pull again and it works, but I've tried the latest one 5 times now and it transfers for 15-20 minutes then stops and deletes the partially pulled file. Here is the portion of my log that shows the error. Any ideas on what to try?

ERRORyTivo:Exception during request from ('192.168.1.118', 39220)
Traceback (most recent call last):
File "C:\Python27\lib\SocketServer.py", line 593, in process_request_thread
self.finish_request(request, client_address)
File "C:\Python27\lib\SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\pytivo\httpserver.py", line 89, in __init__
client_address, server)
File "C:\Python27\lib\SocketServer.py", line 651, in __init__
self.finish()
File "C:\Python27\lib\SocketServer.py", line 710, in finish
self.wfile.close()
File "C:\Python27\lib\socket.py", line 279, in close
self.flush()
File "C:\Python27\lib\socket.py", line 303, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 10054] An existing connection was forcibly closed by the remote host


----------



## herbman

Got a recent bolt in the black friday sale. I cannot see the PyTivo share I had setup for pull, that I used from my Premiere all the time. Bolt running 20.6.3. Already restarted pytivo and the tivo, to no avail.

Anyone with an idea?


----------



## lew

Log on to your account on tivo.com and enable.


----------



## herbman

lew said:


> Log on to your account on tivo.com and enable.


Oh good call! Forgot about that.

Edit: never mind. Already had it set for a week. Other ideas? It may be a bolt 20.6.3 bug as people seem to not see their S3/HD shares..


----------



## mathwhiz

I've recently been hit with the "can't find share or other TiVos" bug as well. Oddly the way I fixed it was to unplug the power to my switch the TiVos are plugged into, wait a bit, and then plug it back in, and then it finds everything. Maybe unplugging the ethernet cable would work as well.


----------



## herbman

mathwhiz said:


> I've recently been hit with the "can't find share or other TiVos" bug as well. Oddly the way I fixed it was to unplug the power to my switch the TiVos are plugged into, wait a bit, and then plug it back in, and then it finds everything. Maybe unplugging the ethernet cable would work as well.


This was using a Bolt?

I can give those a shot.


----------



## mathwhiz

herbman said:


> This was using a Bolt?
> 
> I can give those a shot.


Yes - this was with a Bolt+. I've had to reboot my TiVo a few times lately because I get a weird static sound and then the sound effects stop and I have to reboot to get them back. Then I lose my shares and have to restart my switch to get those back!


----------



## jcthorne

Got a weird error going on that I could use some help with.

Trying to pull some episodes of Bones to my Bolt. Most of season 6 pulled just fine. Episodes 08, 09, 11, and 13 will not pull if correct metadata file is present with rovi programId included.

Remove the programId line from the metadata txt file and the tivo will pull them fine but of course they do not group and sort correctly on the tivo with the others.

Just for grins, I tried pulling different files renamed and using the same metadata file (so tivo still thinks they are Bones S06E08) and the same error happens. Its definitely an error using those specific programIds. I'll ask this in the MG3 thread as well as that is where the data came from but I verified the programIds manually using search on the tivo using kmttg.

Any ideas what is going on?


----------



## moyekj

I have a 1 min recording I use to test such cases. I made the metadata file to go with 1 min recording simply this for Bones season 6, episode 8 and pulled using pyTivo to my Roamio Pro:
programId : EP0055067183-0172901968
seriesId : SH0055067183

Then updated the metadata file to this for Bones season 6, episode 9 and re-started pyTivo and pulled again:
programId : EP0055067183-0172741484
seriesId : SH0055067183

Both recordings showed full/correct metadata and artwork on the TiVo and grouped together.
(Used kmttg to determine values to use for programId/seriesId above).


----------



## jcthorne

Thanks for trying this. Based on your input I tried a few more things and think I have found yet one more Tivo bug in 2.6.3

I revised the metadata txt files to only have 2 lines for programId and seriesId as you suggested. (I was already using the same id numbers as you posted). 

The two file pull correctly to my old Roamio and group together by the series name. Show episode numbers etc.

They will not pull to the Bolt. Bolt shows an error message #86.

I went back to the Roamio and transferred S06E11 with the original metadata file that has full data in it, that also transferred fine to the Roamio but will not pull to the Bolt.

I also tried transferring the two episodes from the Roamio to the bolt, I do not get an error message but one will not transfer at all, the other comes over with a show name of: "Rec: 0 FOX (US) 8:32am" and no show info when the file is opened.

It seems pulls to Bolt are borked in this software revision. Even from a Roamio. Getting pretty fed up with the poor state of things on my Bolt. Thinking about putting the Roamio back in my home theater and demanding a refund for the subscription on the Bolt that just renewed and drop it. The ONLY thing the Bolt does well at this point compared to the Roamio is Plex.


----------



## moyekj

20.6.3 software broke many things (including legacy stuff such as HMO music and HME mp4 video and some aspects of MRV) that unfortunately may never be fixed by TiVo.


----------



## worachj

I know TiVo has broken Pushes, but I try every so often and got the following debug dump that I hadn't seen before. TiVo server problems with Java/version?

I don't have enough understanding on what's going on, so I'm just posting if it helps someone.



Code:


</debug><text>Deprecated Operation: bodyOfferModify</text></error>
INFO:pyTivo.video.video:[17/Dec/2016 09:43:05] Queued "c:\Users\John\Documents\My TiVo Recordings\The Big Bang Theory - (Season 01 Episode 16) The Peanut Reaction_cut.mpg" for Push to Bed Room
INFO:pyTivo:127.0.0.1 [17/Dec/2016 09:43:05] "POST /TiVoConnect HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [17/Dec/2016 09:43:10] "GET /TiVoConnect?Command=QueryContainer&Container=MyMovies&Format=text/html HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [17/Dec/2016 09:43:10] "GET /main.css HTTP/1.1" 200 -
ERROR:pyTivo.video.video:<error>[CODE]internalError

<debug>java.lang.InternalError: Deprecated Operation: bodyOfferModify
at com.tivo.trio.mind.cds.BodyOfferModify.doItWithInitializedDb(BodyOfferModify.java:41)
at com.tivo.trio.mind.core.ReadWriteOperation$1.call(ReadWriteOperation.java:43)
at com.tivo.trio.mind.core.Job$Action.internalRun(Job.java:314)
at com.tivo.trio.mind.core.Job.retry(Job.java:94)
at com.tivo.trio.mind.core.ReadWriteOperation.doIt(ReadWriteOperation.java:52)
at com.tivo.trio.mind.core.MindSession.internalDoIt(MindSession.java:531)
at com.tivo.trio.mind.core.MindSession.doItWithMindRequest(MindSession.java:417)
at com.tivo.trio.mind.toplevel.Mind.doItWithMindRequest(Mind.java:258)
at com.tivo.trio.tomcatmind.TomcatMind.callMind(TomcatMind.java:1132)
at com.tivo.trio.tomcatmind.TomcatMind.checkAndDoRequest(TomcatMind.java:1102)
at com.tivo.trio.tomcatmind.TomcatMind.doIt2(TomcatMind.java:843)
at com.tivo.trio.tomcatmind.TomcatMind.doIt(TomcatMind.java:714)
at com.tivo.trio.tomcatmind.TomcatMind.doPost(TomcatMind.java:682)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
</debug><text>Deprecated Operation: bodyOfferModify</text></error>

[/CODE]


----------



## wmcbrine

worachj said:


> I know TiVo has broken Pushes, but I try every so often and got the following debug dump that I hadn't seen before. TiVo server problems with Java/version?


The relevant line is "Deprecated Operation: bodyOfferModify". Meaning that they no longer support the mechanism used in pyTivo's mind.py.


----------



## deebo

wmcbrine said:


> The relevant line is "Deprecated Operation: bodyOfferModify". Meaning that they no longer support the mechanism used in pyTivo's mind.py.


Same issue here. Extremely frustrating! Pushing video up was 95% of the way that I use my Tivos. :rage:


----------



## newsposter

can anyone tell me how to start diagnosing slow pull transfers. been happening for a while. i have a fast machine with plenty of ram and in the past things were very fast converting and uploading. nowadays you can almost watch it second by second uploading through the pytivo command window.


----------



## eherberg

Just an FYI in case some weren't following. Push support has been removed from the latest version of pyTivo (wmcbrine version).

pyTivo Discussion Forum :: View topic - Goodbye Push


----------



## mazman

eherberg said:


> Just an FYI in case some weren't following. Push support has been removed from the latest version of pyTivo (wmcbrine version).
> 
> pyTivo Discussion Forum :: View topic - Goodbye Push


Damn you TiVo/Rovi for screwing up a good thing:imp:


----------



## lpwcomp

eherberg said:


> Just an FYI in case some weren't following. Push support has been removed from the latest version of pyTivo (wmcbrine version).
> 
> pyTivo Discussion Forum :: View topic - Goodbye Push





mazman said:


> Damn you TiVo/Rovi for screwing up a good thing:imp:


Officially, TiVo still claims to be working om the problem, just that it has low priority as there supposedly haven't been all that many complaints.


----------



## Lurker1

lpwcomp said:


> Officially, TiVo still claims to be working om the problem, just that it has low priority as there supposedly haven't been all that many complaints.


Where can I see this official claim?


----------



## Mikeguy

lpwcomp said:


> Officially, TiVo still claims to be working om the problem, just that it has low priority as there supposedly haven't been all that many complaints.


I had thought, from info. here, that TiVo had abandoned push and no longer supports it with the needed engineering on its own end. Is that not the case?


----------



## lpwcomp

Lurker1 said:


> Where can I see this official claim?


I'm simply assuming that this post for one is truthful.


----------



## wmcbrine

Seeing "Deprecated Operation: bodyOfferModify" as a result from the mind server is what finally convinced me that they're not bringing push back, ever. All the errors prior to that just looked like random brokenness, but that message explicitly says "Yeah, we recognize that command, we know what it's supposed to do, but we're not doing that anymore."


----------



## saberman

Upgrading pyTivo.

Windows 10 Pro x64 Upgraded From Windows 7 Ultimate x64
TiVo Series 2

I have been running 2009.03.19-RC1 since 2011. On occasion it would drop a folder or two but restarting the pyTivo server fixed it. Lately, it has been dropping all of the folders on the PC.

I assume I should upgrade it to the current version but would like a link to the current version and instructions on how to do that without losing my setup.

Edit: I have a pytivo-master.zip file dated 6/3/2013 which I think I used to update the pytivo directory. Unforunately, it does not include any release information so I don't know if it is from a release in 2013 or an earlier one.


----------



## Dan203

I have created an easier to use version of pyTiVo that is packaged as a single exe that does NOT require python to be installed and includes a tray app to easily start/stop pyTivo. The ultimate goal is to also create a better UI for adding shares, but I'm not done with that part yet. But for now I thought maybe some of you might be interested in a simpler to install version of pyTivo. (Windows only right now)

pyTivo_setup.exe


----------



## eherberg

Some questions: Since python must be in there somewhere - do you just have it installed on the side? A sub-directory? If python is already on a system, will there be conflicts? How is uninstall handled? Does it have an uninstall dialog? Or do you just delete folders if removing? lucasnz version or wmcbrine version?


----------



## HerronScott

Dan203 said:


> I have created an easier to use version of pyTiVo that is packaged as a single exe that does NOT require python to be installed and includes a tray app to easily start/stop pyTivo. The ultimate goal is to also create a better UI for adding shares, but I'm not done with that part yet. But for now I thought maybe some of you might be interested in a simpler to install version of pyTivo. (Windows only right now)
> 
> pyTivo_setup.exe


Cool, thanks Dan. Any chance of getting it to install as a service as an option?

Scott


----------



## Mikeguy

Dan203 said:


> I have created an easier to use version of pyTiVo that is packaged as a single exe that does NOT require python to be installed and includes a tray app to easily start/stop pyTivo. The ultimate goal is to also create a better UI for adding shares, but I'm not done with that part yet. But for now I thought maybe some of you might be interested in a simpler to install version of pyTivo. (Windows only right now)
> 
> pyTivo_setup.exe


Wow, that's awesome! Might I ask, does this provide the full "pyTivo experience," or is it a pared-down functionality?


----------



## Dan203

eherberg said:


> Some questions: Since python must be in there somewhere - do you just have it installed on the side? A sub-directory? If python is already on a system, will there be conflicts? How is uninstall handled? Does it have an uninstall dialog? Or do you just delete folders if removing? lucasnz version or wmcbrine version?


The python bits that it needs are bundled into the exe. When you run it it decompresses them to a temp folder and runs from there. I have python on my machine and it did not cause any conflicts.

It has an uninstall as well. It uses a full featured inno setup installer/uninstaller.

It's the wmcbrine version. I actually didn't even realize there was another version people were still using. Is there any advantages to the lucasnz one?


----------



## Dan203

HerronScott said:


> Cool, thanks Dan. Any chance of getting it to install as a service as an option?
> 
> Scott


I got the service to compile to an exe, but it wouldn't work right. It would show up on my TiVo and I could pick recordings, but when I tried to actually transfer something that required ffmpeg it would just hang.

But this version runs silently, so it doesn't leave a cmd window open like the regular one. The tray app launches an instance as a background process instead.


----------



## Dan203

Mikeguy said:


> Wow, that's awesome! Might I ask, does this provide the full "pyTivo experience," or is it a pared-down functionality?


It's the full pyTiVo code. I compiled it using an app called pyinstaller. The little tray app I wrote myself, also in python, so that it would have a little friendlier UI. But for now you still have to use the web UI to configure the pytivo.conf file and to do ttgo downloads. I plan on adding a better UI for setting up the basic stuff for the server part. Not sure about the ttgo part, since there are already better apps like Archivo and kmttg for that part.


----------



## Mikeguy

Dan203 said:


> It's the full pyTiVo code. I compiled it using an app called pyinstaller. The little tray app I wrote myself, also in python, so that it would have a little friendlier UI. But for now you still have to use the web UI to configure the pytivo.conf file and to do ttgo downloads. I plan on adding a better UI for setting up the basic stuff for the server part. Not sure about the ttgo part, since there are already better apps like Archivo and kmttg for that part.


And I say again, wow. Look forward to exploring it. 
P.S. Would be nice having this as an all-in-1 experience, says the peanut gallery, although I understand your point.


----------



## Dan203

I'm currently working on a setup wizard to make it easier to set up the share config settings. I'm not sure if I want to tackle trying to recreate the TTG download stuff. Python is not my favorite language. 

If I were going to tackle a full TiVo Desktop replacement I'd do it in C++ or C#.


----------



## eherberg

Dan203 said:


> The python bits that it needs are bundled into the exe. When you run it it decompresses them to a temp folder and runs from there. I have python on my machine and it did not cause any conflicts.
> 
> It has an uninstall as well. It uses a full featured inno setup installer/uninstaller.
> 
> It's the wmcbrine version. I actually didn't even realize there was another version people were still using. Is there any advantages to the lucasnz one?


The main difference between lucasnz and wmcbrine is subtitle support in lucasnz as well as a mobile web ui.


----------



## HerronScott

Dan203 said:


> I got the service to compile to an exe, but it wouldn't work right. It would show up on my TiVo and I could pick recordings, but when I tried to actually transfer something that required ffmpeg it would just hang.
> 
> But this version runs silently, so it doesn't leave a cmd window open like the regular one. The tray app launches an instance as a background process instead.


Not a problem, I was thinking of this as an option to my current install on a WHS server. I haven't upgraded in years since I haven't had any problems with my limited needs so thought this might be an alternate method to getting to a current version. 

Scott


----------



## Dan203

I may try working on the service some more. I thought I had it working, but for some reason it just stalls when I transfer a show that requires ffmpeg. I'm not sure why. If I run the python script directly it works fine.


----------



## mrsean

Hi. I'm bringing this over from pyTivo forums since I couldn't get a response over there:

Posted: Fri Jan 13, 2017 9:22 am Post subject: Pulls to Tivo fail   
I recently swapped out the 3TB hard drive in my Roamio Pro for a 6 TB one. I downloaded all of my shows to my PC with the hopes of restoring them after the drive swap. Of course, I didn't know about the push functionality being broken beforehand so now I am trying to upload the shows using pulls from the Tivo.

At first I was able to get a couple of half hour shows load up but the Tivo fails on majority of the 1 hour and above shows. It then erases the transferred portion of the shows. If I look under "History" for the shows and then press "Info", Tivo says "This show was not downloaded onto this Tivo box because it exceeded the expected size".

These are encrypted .tivo files. I thought they are pulled unmodified from the Tivo by pyTivo. Why all in a sudden are they too large to return?

Please help. Thanks.


----------



## dlfl

Anticipating questions of interest:
1. Are the files in TS or PS format? This choice is made somewhere in the program you used for download.
2. Are they H.264 files?

PyTivo provides the TiVo with an estimated file size so the TiVo can clear that much space. If the transferred file exceeds that size, TiVo aborts the transfer and gives the message you see. Both questions above affect file size.


----------



## Dan203

Do the music and photos features even work anymore? I'm writing a UI for editing the basic settings in pyTiVo and I'm wondering if I should even bother with anything other then video shares?


----------



## HerronScott

Dan203 said:


> Do the music and photos features even work anymore? I'm writing a UI for editing the basic settings in pyTiVo and I'm wondering if I should even bother with anything other then video shares?


Photos work and music works for everything but Roamio's at the moment (broken with 20.6.3 RC7 and not fixed yet with RC15).

Scott


----------



## newsposter

Dan203 said:


> I have created an easier to use version of pyTiVo that is packaged as a single exe that does NOT require python to be installed and includes a tray app to easily start/stop pyTivo. The ultimate goal is to also create a better UI for adding shares, but I'm not done with that part yet. But for now I thought maybe some of you might be interested in a simpler to install version of pyTivo. (Windows only right now)
> 
> pyTivo_setup.exe


is this for dummies? it's been years since i did anything to pytivo setup and it was a bear to setup on my machine. i dont wanna go through that again. but if this is just double clicking and all is good ill trust you.....................


----------



## Dan203

newsposter said:


> is this for dummies? it's been years since i did anything to pytivo setup and it was a bear to setup on my machine. i dont wanna go through that again. but if this is just double clicking and all is good ill trust you.....................


Hold off until I finish my UI then it truly will be for dummies. The version I posted above is simple to install, but you still have to use the web UI or manually edit the config file. I should have the new version ready in a couple days.


----------



## Dan203

OK I've uploaded a new version that includes a UI for managing shares....

pyTivo_setup.exe

No UI for TTG yet or the other global settings. I'll work on those when I have more time.


----------



## mrsean

dlfl said:


> Anticipating questions of interest:
> 1. Are the files in TS or PS format? This choice is made somewhere in the program you used for download.
> 2. Are they H.264 files?
> 
> PyTivo provides the TiVo with an estimated file size so the TiVo can clear that much space. If the transferred file exceeds that size, TiVo aborts the transfer and gives the message you see. Both questions above affect file size.


1. TS
2. mpeg2

Btw, this info is in the log file that I posted.


----------



## Dan203

Might want to try the version I posted above, it includes all the stuff you need to make sure it's working properly.

Or, since they're all .tivo files anyway, you could just use TiVo Desktop.


----------



## mrsean

Dan203 said:


> Might want to try the version I posted above, it includes all the stuff you need to make sure it's working properly.
> 
> Or, since they're all .tivo files anyway, you could just use TiVo Desktop.


Same problem using TD+ although the explanation under History changed to something about "slow transfer rate" which is b.s. since I am using CAT6 Ethernet and 1GB NICs on both ends. I'm not going to bother with the new pyTivo since you said there nothing new to it over the last version with the exception of the install process.


----------



## JoeKustra

mrsean said:


> Same problem using TD+ although the explanation under History changed to something about "slow transfer rate" which is b.s. since I am using CAT6 Ethernet and 1GB NICs on both ends. I'm not going to bother with the new pyTivo since you said there nothing new to it over the last version with the exception of the install process.


If you get time, try using TD+ with a small (about 3GB) program. You can watch the transfer with Windows Taskmgr (Performance).


----------



## Dan203

I updated my pyTivo exe with some bug fixes and a new settings UI....

Easier to use pyTivo


----------



## mrsean

JoeKustra said:


> If you get time, try using TD+ with a small (about 3GB) program. You can watch the transfer with Windows Taskmgr (Performance).


I tried this on a couple of 2-4GB files and each one started around 400Mbps, normalized around 127Mbps and within 5 to 9 minutes the transfer would fall into the kbps range and die. Next, I thought maybe this could be a driver issue so I updated to the latest Intel driver for my computer's NIC but there was no change in behavior.


----------



## lpwcomp

mrsean said:


> I tried this on a couple of 2-4GB files and each one started around 400Mbps, normalized around 127Mbps and within 5 to 9 minutes the transfer would fall into the kbps range and die. Next, I thought maybe this could be a driver issue so I updated to the latest Intel driver for my computer's NIC but there was no change in behavior.


Try using an older version of ffmpeg (I use one from August 2014) with pyTivo and/or decrypting the .tivo files and transferring the mpg file.

Another thing: presumably the PC and the TiVo are not direct connected so the switch could be the source of problem.


----------



## worachj

mrsean said:


> 1. TS
> 2. mpeg2
> 
> Btw, this info is in the log file that I posted.


It could be that you have a mixture of h.264 recordings and mpeg2 recordings. In my area Comcast converted all channels to h.264 except the local channels which are still mpeg2.

The error message in your log file seems to indicated that pyTivo is having problems determining what you have. "Could not detect TS packet size, defaulting to non-FEC/DVHS"

You could try changing the setting in your pyTivo.conf from 'ts = on' to 'off' or 'auto' and see if that makes a difference on your files that don't transfer.


----------



## newsposter

is there any way to tell if getting a gigabit router will make my transfers faster. i'm thinking about getting one for other reasons but if this will help pytivo, then heck its another reason.


----------



## Dan203

The only TiVos with gigabit are the Roamio Plus/Pro and the Bolt. If you have a Roamio basic or an older unit then it wont matter at all. Even with one of those units I doubt it will make that mich of a difference, if any.


----------



## newsposter

Dan203 said:


> The only TiVos with gigabit are the Roamio Plus/Pro and the Bolt. If you have a Roamio basic or an older unit then it wont matter at all. Even with one of those units I doubt it will make that mich of a difference, if any.


ok just didnt know if my bottleneck was my laptop or the router or what. been getting much slower transfers lately and still didnt pin down why.


----------



## Dan203

Is the laptop wired? If you're using wifi then that's the bottleneck.


----------



## newsposter

i really never thought to wire to the router and see what the issue is. so if i hook up directly to the router and i get faster pytivo transfers then would the wifi definitely be the issue? 

ie a gigabit would help me then?


----------



## spocko

For those who are interested in running as a service, you might try this tool which allows an EXE program or script to be run as a service.
NSSM - the Non-Sucking Service Manager

I haven't tried it with a python-based program, but it might be worth a shot.


----------



## Dan203

newsposter said:


> i really never thought to wire to the router and see what the issue is. so if i hook up directly to the router and i get faster pytivo transfers then would the wifi definitely be the issue?
> 
> ie a gigabit would help me then?


If you're not wired then wifi IS the problem, period. If you run an ethernet cable from your laptop to the router you will get significantly higher speeds.

Although if the files you're sending are needing to be transcoded then the CPU could also be a bottleneck. Nothing you can do about that unless you want to buy a faster computer.


----------



## scottb

Hello all,
I'm using a Lucasnz fork of PyTiVo from 4-16-2015 because I like having/using the Mobile Web UI interface. I do have an issue with Comcast switching to some mpeg and some h.264 channels, and some shows just won't download completely, and fail the download mid-download with slow transfer as an early indicator of failure. It's consistent with shows from specific channels. I know it's not tivodecode because it will happen regardless of tivodecode used or not in transfer. KMTTG 2.2n transfers the same shows just fine. I'd like to keep using PyTiVo (along with KMTTG) though because of the mobile web UI. I have changed the usual "ts = on" to "ts = auto", and even removed "ts = on" completely, from the PyTiVo.conf, but still the same issue on shows from specific channels. Again, all downloads fine from latest 2.2n KMTTG, so I'm thinking it must be that I need to update or reconfigure PyTiVo because of Comcast changes since the 4/2015 Lucasnz fork of PyTiVo I'm currently using.

Also, can anyone confirm the current versions of ffmpeg, tdcat, and tivodecode I should be using in the bin folder of PyTiVo? Those also may need updating since 4/2015.

Thanks,
Scott


----------



## lpwcomp

You have to transfer H.264 _*from*_ the TiVo as a TS. The "ts=" setting in the .conf file only applies to transfers *to* the TiVo. You need to select the "Transfer as mpeg-ts" option at the bottom of the transfer page.


----------



## Dan203

Tivodecode doesn't work well for ts files. You should use tivolibre or directshow dump instead to decrypt the TS files.


----------



## scottb

Thank you lpwcomp and Dan203 for your replies. Since "Push" no longer works, then the "ts = on" really doesn't apply anymore, practically, correct? And how might I go about switching out tivodecode in PyTiVo.conf for tivolibre or directshow dump? Or are you suggesting I stop using the decode in PyTiVo altogether and start doing the decode in KMTTG?

Thanks in advance,
Scottb


----------



## lpwcomp

scottb said:


> Thank you lpwcomp and Dan203 for your replies. Since "Push" no longer works, then the "ts = on" really doesn't apply anymore, practically, correct? And how might I go about switching out tivodecode in PyTiVo.conf for tivolibre or directshow dump? Or are you suggesting I stop using the decode in PyTiVo altogether and start doing the decode in KMTTG?
> 
> Thanks in advance,
> Scottb


"ts=on" applies to pulls. Not sure it ever applied to push.


----------



## newsposter

Dan203 said:


> If you're not wired then wifi IS the problem, period. If you run an ethernet cable from your laptop to the router you will get significantly higher speeds.
> 
> Although if the files you're sending are needing to be transcoded then the CPU could also be a bottleneck. Nothing you can do about that unless you want to buy a faster computer.


picked the same 30 min video

ethernet: pytivo said 21 mbs...task manager regularly shot up over 25mbs with some over 40 mbs but for the most part hung around 20 to 25

wifi..pytivo said 14 mbs. task manager hung steady around 17...no spurts over 20 at all. resource manager showed rangers in the 2 mill vs over 3 mill with ethernet

ethernet was about the same as before..pytivo said about 20 mbs and there were even a few jumps over 54 mps on the task manager

so any idea how fast id get with new router based on those numbers? i''m still gonna try your new pytivo thing to see what it does


----------



## Dan203

I doubt it would be much, if any. A regular network is 100Mbps and you're not even getting close to that. So something else is the bottle neck. If the file you're using requires transcoding then that could be it. Or that may be as fast as your TiVo or PC can go.


----------



## newsposter

would using any video converter to make all the files MP4 make things faster.


----------



## HerronScott

newsposter said:


> picked the same 30 min video
> 
> ethernet: pytivo said 21 mbs...task manager regularly shot up over 25mbs with some over 40 mbs but for the most part hung around 20 to 25
> 
> wifi..pytivo said 14 mbs. task manager hung steady around 17...no spurts over 20 at all. resource manager showed rangers in the 2 mill vs over 3 mill with ethernet
> 
> ethernet was about the same as before..pytivo said about 20 mbs and there were even a few jumps over 54 mps on the task manager
> 
> so any idea how fast id get with new router based on those numbers? i''m still gonna try your new pytivo thing to see what it does


What model TiVo do you have?

Scott


----------



## Dan203

newsposter said:


> would using any video converter to make all the files MP4 make things faster.


What are the source files? Which TiVo do you have?


----------



## newsposter

premiere

could be avi, mpg, mkv

i do remember doing a test and the tivo wont even load all kinds of mp4. i think it has to be specific to my samsung tv. i thought all mp4 were the same but the list on the tivo didnt even show the other ones i did. i think..gotta figure that out too

can you point me to a file somewhere that you know doesnt need converting so i can hook to ethernet and rule stuff in/out


----------



## Dan203

Premiere does not have gigabit, so a gigabit router will not do you any good.

AVI & MKV files are likely being transcoded on the fly so the bottleneck there is probably the CPU in your laptop. Next time you're transferring something look at the CPU tab in the task manager. Is it pegged close to 100%? If only one core is pegged then I believe there is a flag you can add to the ffmpeg section of the conf file that will allow it to use more cores.

FYI I can transfer an hour long already compliant (i.e. no recode) MKV from my desktop PC to my Bolt, wired via gigabit, in about 45 seconds. So there is potential for serious speed with the right equipment and files.


----------



## newsposter

just FYI with that 30 min file was mkv that i did the test on. it never went above 50% on CPU with task manager. also this lag in speed just changed a few months ago. when i got the machine it was so fast it was scary. i just dont know how to diagnose what is wrong.


----------



## Dan203

Go into the web ui for pyTivo and look at the help for the ffmpeg setting on the general tab. It gives an example of how to make ffmpeg use two threads. Try setting that up and see if it helps. If it's encoding then setting it to use 2+ threads could help a lot.


----------



## lpwcomp

Dan203 said:


> Premiere does not have gigabit, so a gigabit router will not do you any good.
> 
> AVI & MKV files are likely being transcoded on the fly so the bottleneck there is probably the CPU in your laptop. Next time you're transferring something look at the CPU tab in the task manager. Is it pegged close to 100%? If only one core is pegged then I believe there is a flag you can add to the ffmpeg section of the conf file that will allow it to use more cores.
> 
> FYI I can transfer an hour long already compliant (i.e. no recode) MKV from my desktop PC to my Bolt, wired via gigabit, in about 45 seconds. So there is potential for serious speed with the right equipment and files.


AVI would have to be transcoded, MKV probably not, depending on how it is encoded. H.264 in an MKV just needs to be re-muxed, but so does an MP4 on a pull.


----------



## Dan203

FYI I posted a new build that includes a new UI with full TTG support...

Easier to use pyTivo


----------



## jgrub

Hi. New to this forum. I have been using pytivo for many years to return TiVoTransfer and cTiVo recordings from my 2009 Mac Pro to my TiVo HD & TiVo HDXL. I just started using a new TiVo Bolt Plus as my main TiVo (TiVo HD retired). The Bolt+ doesn't show up on TiVoTransfer, and any cTiVo recordings made from either the Bolt+ or the HDXL will not transfer correctly to the Bolt+. They will transfer correctly (video and audio as original) to the HDXL. The Bolt+ only gets 480p regardless of the original TiVo recording.


----------



## HerronScott

jgrub said:


> Hi. New to this forum. I have been using pytivo for many years to return TiVoTransfer and cTiVo recordings from my 2009 Mac Pro to my TiVo HD & TiVo HDXL. I just started using a new TiVo Bolt Plus as my main TiVo (TiVo HD retired). The Bolt+ doesn't show up on TiVoTransfer, and any cTiVo recordings made from either the Bolt+ or the HDXL will not transfer correctly to the Bolt+. They will transfer correctly (video and audio as original) to the HDXL. The Bolt+ only gets 480p regardless of the original TiVo recording.


Sounds like you need to upgrade your version of pyTivo to one that knows about the Bolt model.

Scott


----------



## ClearToLand

HerronScott said:


> Sounds like you need to upgrade your version of pyTivo to one that knows about the Bolt model.
> 
> Scott


Has there actually been an update to pyTiVo specifically for the Bolt?

When I researched, and installed, pyTiVo (and semi-simultaneously kmttg) several months ago, there were two 'forks' to choose from - neither, IIRC, had been updated recently but the recommendation was to choose 'wmcbrine'.


----------



## Mikeguy

ClearToLand said:


> Has there actually been an update to pyTiVo specifically for the Bolt?
> 
> When I researched, and installed, pyTiVo (and semi-simultaneously kmttg) several months ago, there were two 'forks' to choose from - neither, IIRC, had been updated recently but the recommendation was to choose 'wmcbrine'.


Easier to use pyTivo


----------



## ClearToLand

Mikeguy said:


> Easier to use pyTivo


No offense to @wmcbrine, but, *YES!!! :thumbsup:*

I have another post that I'm currently composing in my mind on just that topic. Unfortunately, or fortunately - depends on *who* you are and *how* you view my posts - since my posts take me so long to type / proofread / correct / over-format , I have to limit them to the periods when I decide to take a break from my other 'Retirement-intensive' duties.
*
*


----------



## HerronScott

ClearToLand said:


> Has there actually been an update to pyTiVo specifically for the Bolt?
> 
> When I researched, and installed, pyTiVo (and semi-simultaneously kmttg) several months ago, there were two 'forks' to choose from - neither, IIRC, had been updated recently but the recommendation was to choose 'wmcbrine'.


I seem to recall posts indicating that if pyTivo doesn't recognize the model TiVo (and thus doesn't know what capabilities it supports) that it defaults to SD. The last changes appear to have been January 1st for wmcbrine's.

Scott


----------



## Dan203

Hmmm... I didn't specifically test transcoding to my Bolt. I'll give that a try tomorrow and if it's a problem I'll fix it.


----------



## ClearToLand

HerronScott said:


> I seem to recall posts indicating that if pyTivo doesn't *recognizing* the model TiVo and thus doesn't know what capabilities that it supports that it defaults to SD. *The last changes appear to have been January 1st. for wmcbrine's*.
> 
> Scott


**PLEASE* don't take offense to this*, but *THAT* is *EXACTLY* what I posted just an hour or two ago regarding "Getting Older" and the "Mind-to-Fingers" connection.  CLICK on my User Profile -> Posts

I spend a great deal of time composing / proofreading / correcting / over-formatting my posts because I just cannot fathom how, after my mind tells my fingers what to type and then I CLICK on 'Preview', SOMETHING ELSE appears on the screen! 

To make matters even worse, the words aren't misspelled (so the 'Spell-Checker' doesn't catch them) - they're just variations / different words from what my mind told my fingers to type...

*EDIT:* Back to the topic - I researched, and installed, pyTiVo *BEFORE* January 1st 2017...


----------



## wmcbrine

HerronScott said:


> I seem to recall posts indicating that if pyTivo doesn't recognize the model TiVo (and thus doesn't know what capabilities it supports) that it defaults to SD.


Actually I changed that back in 2010, so the test is more generic:



Code:


def isHDtivo(tsn):  # TSNs of High Definition TiVos
    return bool(tsn and tsn[0] >= '6' and tsn[:3] != '649')

This caught the Bolt automatically. But also, pyTivo was updated in a Bolt-specific way (in October 2015), before I even got my hands on one:



Code:


def is4Ktivo(tsn):  # TSNs of 4K TiVos
    return bool(tsn[:3] in ('849', '8F9'))

...and based on that, pyTivo could pass 4K and HEVC video to the Bolt. Only, that turned out not to work, at least not without further mods. (Based on what I've seen so far, the Bolt may only support 4K in streaming apps.)

Anyway, you'd need a very ancient version of pyTivo for it not to recognize the Bolt as HD.


----------



## jgrub

wmcbrine said:


> <<<snip>>>
> 
> Anyway, you'd need a very ancient version of pyTivo for it not to recognize the Bolt as HD.


And yet I still have my "problem". I initially assumed it was the fault of cTiVo, but several posts & answers on the cTiVo forum including a snippet of my pytivo log ended with the suggestion I come here... quoting the cTiVo suggestion, "So you're getting all kinds of very weird software crashes there. I'd suggest posting on the pytivo site and asking for help. It's at http://www.tivocommunity.com/community/index.php?threads/pytivo-transcoding-server.328459/page-288"

and while I may not have said so initially, I very much appreciate any and all help I receive concerning this... Thanks in advance.


----------



## jgrub

Here's a snippet of today's pytivo log:


----------



## wmcbrine

Well, that is in fact an ancient version of pyTivo (whatever was last bundled with the pyTivoX frontend). And yes, I see that pyTivoX shows up as the suggested download for Macs on the SourceForge Project Page; sorry about that. I'd recommend that you instead follow the instructions here:

Mac OS X Install - pyTivo - Wiki

If that doesn't work for you, you might wait for Dan to do his Mac version.

The error messages aren't related to the resolution problem. They suggest perhaps an issue with the TiVo's name (?), which might account for it not showing up in that other program you mentioned.


----------



## Dan203

Yeah I just tested with my version on a PC and it works fine. So this must be the old version of pyTivo causing the issue.

I've made progress on my Mac port. I'm able to build all the executables for Mac. I'm having trouble with the tray app being able to launch the UI though. Because the UI is a "bundle", and not just an executable, I can't just call it like an file from the command line which is what I do on Widows. So I'm going to have to write some Mac specific code into my tray app to get this to work. There is also a problem with the file dialog that is used to select files/folders for shares and settings. Macs have a very different file structure and the way I'm parsing it isn't working correctly on Mac. I'll need to fix that as well. Since this kind of stuff has to be done on the Mac itself I can't just tinker with it when I'm bored with work like I can with the PC stuff. So I'll have to dedicate some time to figuring it all out this weekend.


----------



## jgrub

wmcbrine said:


> Well, that is in fact an ancient version of pyTivo (whatever was last bundled with the pyTivoX frontend). And yes, I see that pyTivoX shows up as the suggested download for Macs on the SourceForge Project Page; sorry about that. I'd recommend that you instead follow the instructions here:
> 
> Mac OS X Install - pyTivo - Wiki
> 
> If that doesn't work for you, you might wait for Dan to do his Mac version.
> 
> The error messages aren't related to the resolution problem. They suggest perhaps an issue with the TiVo's name (?), which might account for it not showing up in that other program you mentioned.


Hi. Well, I have to admit I'm lost... I installed the latest pyTivo, FFmpeg, and Python per the Mac OS X Install Wiki you gave me. I also put a pyTivo.plist into my LaunchAgents folder. pyTivo appears to be running in Terminal... but what now? The customization lists are enormous... I can't begin to know where to start: example - adding a section. All of the examples I see are for Windows so I do not know if using an example would even work on my Mac. I'm guessing this route is for folks who actually do programming??? That (unfortunately) isn't me. I would just like to be able to transfer TiVo recordings from TiVo to my Mac Pro, and return them as original when I want to.
Again, I thank you for steering me away from the old pyTivoX... If there's no simple way to configure pyTivo, I'll have to wait for Dan's Mac version, and in the meantime, I'll copy the videos I want to save from the Bolt to the HDXL and then from there to my Mac Pro (and back again) using TiVo Transfer.


----------



## Dan203

There is a built in web UI. Open a browser and type...

localhost:9032 

into the address bar and press enter. It's not the best but it's easier to use the editing the config file by hand.


----------



## lpwcomp

Other than the actual executables for things like ffmpeg, I'm pretty sure that the only difference between the Windows and other OS configurations are the file and directory paths.


----------



## Dan203

lpwcomp said:


> Other than the actual executables for things like ffmpeg, I'm pretty sure that the only difference between the Windows and other OS configurations are the file and directory paths.


For the raw pyTivo running in a terminal window this is true. There are a few OS specific features in the code, but very few. Most have to do with file handling/naming.


----------



## jgrub

Dan203 said:


> There is a built in web UI. Open a browser and type...
> 
> localhost:9032
> 
> into the address bar and press enter. It's not the best but it's easier to use the editing the config file by hand.


Hi. That's where I had attempted to do the pyTivo this morning. I am afraid I just do not understand what I am required to put into the settings window to get pyTivo to interact with my TiVos and my Mac. Interestingly, when I first went to that web UI address after getting your post, it had all four of my video file folders listed in the settings window, and I could select videos to send back to my Bolt+, but of course that didn't work... Turns out pyTiVoX was still running, so I quit that and restarted pyTivo in Terminal... now I get what I saw this morning (copied below), no UI, just hypertext to Settings


----------



## jgrub

I'm guessing I need to create a Share for each video folder that resides on my Mac? And one for each TiVo? But there's where I get lost...


----------



## jgrub

This is what I see if pyTivo isn't running, and pyTivoX is:









If I restart pyTivo (in Terminal) I get the Settings window only, even if pyTivoX is also running


----------



## lpwcomp

jgrub said:


> I'm guessing I need to create a Share for each video folder that resides on my Mac? And one for each TiVo? But there's where I get lost...


To add a share, click "Add Section", enter the share name in the "Section Name" field, the click "Save Changes". After a few seconds, the share name will appear in the "Sections" list. Highlight it and enter the appropriate info. Save Changes. Repeat for each share.

To add a TiVo, Add Section, enter _tivo_nnnnnnnnnnnnnnn in the name field where nnnnnnnnnnnnnnn is the numeric portion of the TSN, save changes, highlight the new entry and enter the info, Save Changes and restart pyTivo.


----------



## robojerk

I upgraded (havent on a long time) I suddenly can't pull video to my Tivo anymore.


----------



## jgrub

lpwcomp said:


> To add a share, click "Add Section", enter the share name in the "Section Name" field, the click "Save Changes". After a few seconds, the share name will appear in the "Sections" list. Highlight it and enter the appropriate info. Save Changes. Repeat for each share.
> 
> To add a TiVo, Add Section, enter _tivo_nnnnnnnnnnnnnnn in the name field where nnnnnnnnnnnnnnn is the numeric portion of the TSN, save changes, highlight the new entry and enter the info, Save Changes and restart pyTivo.


Well, I did what you said (I think) and I still only get Settings on the web UI page:


----------



## lpwcomp

robojerk said:


> I upgraded (havent on a long time) I suddenly can't pull video to my Tivo anymore.


Details please.


----------



## jgrub

Here's what I entered for the Tivo:


----------



## jgrub

Here's what I entered for one of the shares:


----------



## lpwcomp

jgrub said:


> Well, I did what you said (I think) and I still only get Settings on the web UI page:
> View attachment 28762


The graphic you posted is the settings page, not the main page. I see three sections you added: My Share cTivo. My Share. and _tivo_849600019034.

The _tivo_ one is missing the last 4 digits of the TSN. It is a *hexadecimal *number so the letters A-F are actually digits.

What do you see on the settings page when you select one of the sections you added?


----------



## eherberg

lpwcomp said:


> To add a share, click "Add Section", enter the share name in the "Section Name" field, the click "Save Changes". After a few seconds, the share name will appear in the "Sections" list. Highlight it and enter the appropriate info. Save Changes. Repeat for each share.
> 
> To add a TiVo, Add Section, enter _tivo_nnnnnnnnnnnnnnn in the name field where nnnnnnnnnnnnnnn is the numeric portion of the TSN, save changes, highlight the new entry and enter the info, Save Changes and restart pyTivo.


Would he need to add the TiVo? Assuming he's running the newest pyTivo, shouldn't it just be discovered automatically? Outside of my video and music shares, I think the only other thing I've ever added to the settings file is my MAK and my ToGo path. Is it one of those wacky Mac things?


----------



## lpwcomp

eherberg said:


> Would he need to add the TiVo? Assuming he's running the newest pyTivo, shouldn't it just be discovered automatically? Outside of my video and music shares, I think the only other thing I've ever added to the settings file is my MAK and my ToGo path. Is it one of those wacky Mac things?


Yes, it should find them automatically.


----------



## lpwcomp

I made my other post before you made the follow up post, so now the questions are:

1. what do you see on the main page?

and

2. Are those valid paths? Shouldn't there at least be a leading "/"?


----------



## jgrub

lpwcomp said:


> I made my other post before you made the follow up post, so now the questions are:
> 
> 1. what do you see on the main page?
> 
> and
> 
> 2. Are those valid paths? Shouldn't there at least be a leading "/"?


Here's the main page:


----------



## jgrub

lpwcomp said:


> I made my other post before you made the follow up post, so now the questions are:
> 
> 1. what do you see on the main page?
> 
> and
> 
> 2. Are those valid paths? Shouldn't there at least be a leading "/"?


I believe they are valid paths. They are folders on my Mac Pro, on a disk array titled Crick Hollow...
Here's the Finder window:


----------



## robojerk

robojerk said:


> I upgraded (havent on a long time) I suddenly can't pull video to my Tivo anymore.





lpwcomp said:


> Details please.


When I try to pull a video, it seems to start but nothing happens. It shows up on my NPL but it's at 00:00:00 and file size remains 0. I look at the processes and its there. on Ubunutu Xenial.


----------



## Dan203

jgrub said:


> Well, I did what you said (I think) and I still only get Settings on the web UI page:
> View attachment 28762


If you want to pull shows from your TiVo to your PC then you have to go to the Global section and enter both your MAK and a folder location for the recordings to go.

One thing to keep in mind is that pushing recordings from the PC to the TiVo no longer works. TiVo disabled the feature on their end last year. You have to go to the TiVo itself and pull the recordings from your shared folders one by one.


----------



## Dan203

robojerk said:


> When I try to pull a video, it seems to start but nothing happens. It shows up on my NPL but it's at 00:00:00 and file size remains 0. I look at the processes and its there. on Ubunutu Xenial.


Did you set the path for ffmpeg? Or include ffmpeg in a bin directory in the same folder as pytivo? It needs ffmpeg to pull anything.


----------



## lpwcomp

robojerk said:


> When I try to pull a video, it seems to start but nothing happens. It shows up on my NPL but it's at 00:00:00 and file size remains 0. I look at the processes and its there. on Ubunutu Xenial.


Did you also update ffmpeg? I've had problems with versions newer than 8/8/2014.


----------



## Dan203

lpwcomp said:


> Did you also update ffmpeg? I've had problems with versions newer than 8/8/2014.


Did they change the CLI options after that date? Maybe pyTivo is hard coded to use CLI options that newer versions no longer support or have renamed?

I borrowed the exe I include with my pyTivo from kmttg. It seems to work fine. Although I'm not sure how old it is or how it was built.


----------



## eherberg

Dan203 said:


> Did they change the CLI options after that date? Maybe pyTivo is hard coded to use CLI options that newer versions no longer support or have renamed?
> 
> I borrowed the exe I include with my pyTivo from kmttg. It seems to work fine. Although I'm not sure how old it is or how it was built.


The behavior I observed with newer versions was in timestamp. Example: a 42 minute program (after commercial removal) shows on the TiVo as 55 minutes.

The file still plays fine - so for many people it may not be seen as a problem. I do recall some people stating that fast-forward wasn't reliable due to the time-info being off.


----------



## lpwcomp

jgrub said:


> I believe they are valid paths. They are folders on my Mac Pro, on a disk array titled Crick Hollow...


Try adding the leading "/". And as Dan pointed out, you need to specify the "togo_path". Also, make sure you stop and restart pyTivo. Then again, as Dan also pointed out, push no longer works and the support for it was removed from pyTivo so the shares will not show up on the main page. You need to check the TiVo to see if they show up there.

Dan's post to robojerk also applies to you.


----------



## robojerk

I'm on Ubuntu.


Code:


server:~$ whereis ffmpeg
ffmpeg: /usr/bin/ffmpeg /opt/ffmpeg/bin/ffmpeg /usr/share/man/man1/ffmpeg.1.gz

I added path on pytivo to /usr/bin/ffmpeg


Code:


ffmpeg version N-79139-gde1a0d4 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.1)
  configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --mandir=/usr/share/man --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libfreetype --enable-gnutls --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvidstab
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 30.100 / 57. 30.100
  libavformat    57. 29.101 / 57. 29.101
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 40.102 /  6. 40.102
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...


----------



## lpwcomp

eherberg said:


> The behavior I observed with newer versions was in timestamp. Example: a 42 minute program (after commercial removal) shows on the TiVo as 55 minutes.
> 
> The file still plays fine - so for many people it may not be seen as a problem. I do recall some people stating that fast-forward wasn't reliable due to the time-info being off.


That is the behavior I noticed first but I've also seen the behavior that robojerk is seeing.


----------



## robojerk

The pulled file on my Tivo is NEVER playable.

However it hangs in the transfering mode, and the server shows ffmpeg is doing something.


----------



## jgrub

All my data


lpwcomp said:


> Try adding the leading "/". And as Dan pointed out, you need to specify the "togo_path". Also, make sure you stop and restart pyTivo. Then again, as Dan also pointed out, push no longer works and the support for it was removed from pyTivo so the shares will not show up on the main page. You need to check the TiVo to see if they show up there.
> 
> Dan's post to robojerk also applies to you.


Well, adding the path in the Global did allow me to have the UI show up, and I am able to see my Bolt+'s recordings. I initiated a test pull... several minutes passed but still shows:


----------



## jgrub

lpwcomp said:


> Try adding the leading "/". And as Dan pointed out, you need to specify the "togo_path". Also, make sure you stop and restart pyTivo. Then again, as Dan also pointed out, push no longer works and the support for it was removed from pyTivo so the shares will not show up on the main page. You need to check the TiVo to see if they show up there.
> 
> Dan's post to robojerk also applies to you.


I just checked the Bolt... no shared folders show up in the Devices list (the HDXL does) so I imagine I have something not correctly done... maybe in the original pyTivo install... I did get a new ffmpeg in a bin folder in the pyTivo folder. But my pyTivo.conf has no text in it, and there's also a pyTivo.conf.dist that seems weird..


----------



## lpwcomp

jgrub said:


> I just checked the Bolt... no shared folders show up in the Devices list (the HDXL does) so I imagine I have something not correctly done... maybe in the original pyTivo install... I did get a new ffmpeg in a bin folder in the pyTivo folder. But my pyTivo.conf has no text in it, and there's also a pyTivo.conf.dist that seems weird..


pyTivo.conf.dist is the one included with the distribution and is just there as an example.

If the pyTivo.conf you're looking at is empty but your settings are there when you stop and restart pyTivo, that would mean that pyTivo is not running from that directory.


----------



## jgrub

lpwcomp said:


> pyTivo.conf.dist is the one included with the distribution and is just there as an example.
> 
> If the pyTivo.conf you're looking at is empty but your settings are there when you stop and restart pyTivo, that would mean that pyTivo is not running from that directory.


OK... but how do I find where it's running from? Maybe more importantly, why is it running from any directory other than the one in its folder???

Also, is there a way to stop pyTivo from attempting to pull those test recordings... it just resumed when I restarted it, and also after I restarted my Mac...

One more time, I apologize for being so ignorant about these things (I have to admit that the ease of use of a Mac has made me quite lazy), and really appreciate everyones help.


----------



## lpwcomp

jgrub said:


> OK... but how do I find where it's running from? Maybe more importantly, why is it running from any directory other than the one in its folder???
> 
> Also, is there a way to stop pyTivo from attempting to pull those test recordings... it just resumed when I restarted it, and also after I restarted my Mac...
> 
> One more time, I apologize for being so ignorant about these things (I have to admit that the ease of use of a Mac has made me quite lazy), and really appreciate everyones help.


There should be a "Stop Transfer" option on the entry for the recording currently being transferred and "Unqueue" for any others you selected on the transfer page.


----------



## wmcbrine

jgrub said:


> I believe they are valid paths. They are folders on my Mac Pro, on a disk array titled Crick Hollow...
> Here's the Finder window:
> View attachment 28766


pyTivo handles paths the way they'd be handled in Terminal, i.e. the Unix way. So to make paths starting with disknames work, you have to preface them with "/Volumes/", e.g. "/Volumes/Crick Hollow/whatever".

P.S. There may not be a 1:1 mapping between the name that appears in Finder, and the one you'd see in Terminal via "ls -l /Volumes", which is the one you need to use. Right now, for instance, I have a share from a server called "wendy" that appears that way in Finder, but it's mounted as /Volumes/Public.


----------



## jgrub

wmcbrine said:


> pyTivo handles paths the way they'd be handled in Terminal, i.e. the Unix way. So to make paths starting with disknames work, you have to preface them with "/Volumes/", e.g. "/Volumes/Crick Hollow/whatever".
> 
> P.S. There may not be a 1:1 mapping between the name that appears in Finder, and the one you'd see in Terminal via "ls -l /Volumes", which is the one you need to use. Right now, for instance, I have a share from a server called "wendy" that appears that way in Finder, but it's mounted as /Volumes/Public.


That did it... I see them on the tivos now. I was just attempting to transfer a recording from my Mac to the Bolt when the Bolt hiccupped, and seemed to restart (quickly, though). Now all I get when I attempt to go to "localhost:9032" is,

Unable to connect

Firefox can't establish a connection to the server at localhost:9032.

The site could be temporarily unavailable or too busy. Try again in a few moments.
If you are unable to load any pages, check your computer's network connection.
If your computer or network is protected by a firewall or proxy, make sure that Firefox is permitted to access the Web.

Very strange...


----------



## jgrub

Also, my share folders have now disappeared from the TiVos... sheesh!


----------



## lpwcomp

jgrub said:


> Also, my share folders have now disappeared from the TiVos... sheesh!


pyTivo crashed.


----------



## jgrub

lpwcomp said:


> pyTivo crashed.


It's my aura... spent 8 years in electronics with the USAF and all electronics still hate me for it...


----------



## lpwcomp

jgrub said:


> It's my aura... spent 8 years in electronics with the USAF and all electronics still hate me for it...


I was an F4-C/D/E Weapons Control Systems "mechanic". For only 3yrs, 9mo, and 1day though (but who's counting ) *mumble* "mumble* years ago.


----------



## JoeKustra

lpwcomp said:


> I was an F4-C/D/E Weapons Control Systems "mechanic". For only 3yrs, 9mo, and 1day though (but who's counting ) *mumble* "mumble* years ago.


Same here. MacDill. Tiny world, isn't it? It was called a Phantom back then.

32251Q


----------



## lpwcomp

JoeKustra said:


> Same here. MacDill. Tiny world, isn't it? It was called a Phantom back then.
> 
> 32251Q


Phantom II. 32251P & Q. Misawa Japan, Kunsan Korea, MacDill, and Udorn Thailand (6 month TDY from MacDill).


----------



## jgrub

5 years at Clark, PI... nothing as elegant as weapons control... just weather equipment repair... I did have to climb a 100ft radar tower a couple times during typhoons... weather equipment never goes south unless the weather's really bad


----------



## jgrub

pyTivo's back... trying to copy from my Bolt to my Mac


----------



## jgrub

Just attempted to transfer (again) a show from my Mac to the Bolt... started to work then the Bolt restarted (Almost there... Just a few minutes more). Couple that with the Bolt to Mac transfer still Initiating Transfer, and I do not believe I've solved my problem...


----------



## lpwcomp

jgrub said:


> Just attempted to transfer (again) a show from my Mac to the Bolt... started to work then the Bolt restarted (Almost there... Just a few minutes more). Couple that with the Bolt to Mac transfer still Initiating Transfer, and I do not believe I've solved my problem...


There's something about the recording that the Bolt doesn't like.


----------



## ClearToLand

lpwcomp said:


> I was an *F4-C/D/E Weapons Control Systems "mechanic"*. For only 3yrs, 9mo, and 1day though (but who's counting ) *mumble* "mumble* years ago.





JoeKustra said:


> *Same here.* MacDill. Tiny world, isn't it? It was called a Phantom back then.
> 
> 32251Q


Either of you:
ever get a ride in one?
.
pilots?


----------



## jgrub

And it's still just the Bolt Plus that has any problem... I just initiated a transfer of the same show from Mac to HDXL and it works fine. Cannot pull from the HDXL, though.
So, the pyTivo UI webpage doesn't have a section that is where a pull would go...


lpwcomp said:


> There's something about the recording that the Bolt doesn't like.


All this time I knew it was something simple...


----------



## lpwcomp

jgrub said:


> And it's still just the Bolt Plus that has any problem... I just initiated a transfer of the same show from Mac to HDXL and it works fine.


H.264 recordings aren't transcoded to MPGE2 when pulled to an S4 or later model but are when pulled to an S3 or earlier.



jgrub said:


> Cannot pull from the HDXL, though.
> So, the pyTivo UI webpage doesn't have a section that is where a pull would go...
> 
> All this time I knew it was something simple...


If you're talking about the destination directory, that's specified in the togo_path. Help text should appear on the right side of the page for a setting when you put the cursor on it.


----------



## lpwcomp

ClearToLand said:


> Either of you:
> 
> ever get a ride in one?
> .
> pilots?


Not me.


----------



## JoeKustra

ClearToLand said:


> Either of you:
> 
> ever get a ride in one?
> .
> pilots?


Never. Only got to sit in one with engines running a few times. I did get to see a few crash into the bay. I lived on the flight path for takeoffs. Not much left after that. I do remember seeing news of a downed jet in 'Nam. I could recognize the CW transmitter in the wreckage. Yes, many years ago. But on the other side, I've been driving for 50 years and never had a ticket or accident. There is an upside for being old.


----------



## jgrub

JoeKustra said:


> Never. Only got to sit in one with engines running a few times. I did get to see a few crash into the bay. I lived on the flight path for takeoffs. Not much left after that. I do remember seeing news of a downed jet in 'Nam. I could recognize the CW transmitter in the wreckage. Yes, many years ago. But on the other side, I've been driving for 50 years and never had a ticket or accident. There is an upside for being old.


One of my high school friends was a navigator in an F4... bombed Cambodia (on the QT, of course).


----------



## jgrub

lpwcomp said:


> H.264 recordings aren't transcoded to MPGE2 when pulled to an S4 or later model but are when pulled to an S3 or earlier.


I guess I really do not understand what that means for my situation... are you saying I will not be able to pull from my Bolt? I had assumed I was pulling a TiVo encoded file that would then be able to be returned at my leisure.



lpwcomp said:


> If you're talking about the destination directory, that's specified in the togo_path. Help text should appear on the right side of the page for a setting when you put the cursor on it.


Yes, after I posted that I noticed that my destination folder was missing the "/Volumes/" leader that wmcbrine told me about for my share folders... I "fixed" that but have not been able to test the results yet...


----------



## lpwcomp

jgrub said:


> I guess I really do not understand what that means for my situation... are you saying I will not be able to pull from my Bolt? I had assumed I was pulling a TiVo encoded file that would then be able to be returned at my leisure.


No, I'm saying there is a problem with the recording you were trying to pull *to* your Bolt.


----------



## jgrub

lpwcomp said:


> No, I'm saying there is a problem with the recording you were trying to pull *to* your Bolt.


OK. But I recorded it on the Bolt, and transferred it to my Mac w/cTiVo... so maybe I'm back to cTiVo being the problem???


----------



## Dan203

jgrub said:


> I guess I really do not understand what that means for my situation... are you saying I will not be able to pull from my Bolt? I had assumed I was pulling a TiVo encoded file that would then be able to be returned at my leisure.


Are you talking about pulling a recording from the Bolt to your PC? Or pulling a recording from the PC to the Bolt?

You should be able to download shows from your Bolt to your PC just fine, just like you can with the HD. However when you pull a show from the PC to the Bolt the pyTivo code decides whether to recode the video or not based on the TiVo it's going to and the various parameters of the video. The problem here could be that the original video contains some encoding parameter that the Bolt doesn't like but pyTivo isn't recognizing that and sending the video as-is. Whereas with the HD it always recodes H.264 source files so those are being recoded and the problem is being fixed in the process. That explains why it works on the HD and not the Bolt. If you go into the General settings and set the TS mode to off it will force this same file to be transcoded when you transfer to your Bolt and should fix the issue.


----------



## Dan203

jgrub said:


> OK. But I recorded it on the Bolt, and transferred it to my Mac w/cTiVo... so maybe I'm back to cTiVo being the problem???


Did cTivo decrypt it? If so that could have introduced some corruption.


----------



## jgrub

All of which will be moot if I ever get pyTivo to work for me... Dan gets his Mac thing going soon...


----------



## jgrub

Dan203 said:


> Did cTivo decrypt it? If so that could have introduced some corruption.


Oops. Missed that prior to my posting... yes, cTivo encrypted... but it does transfer to the HDXL...


----------



## Dan203

jgrub said:


> Oops. Missed that prior to my posting... yes, cTivo encrypted... but it does transfer to the HDXL...


If it's decrypted then the other post of mine above applies.


----------



## jgrub

Dan203 said:


> Are you talking about pulling a recording from the Bolt to your PC? Or pulling a recording from the PC to the Bolt?
> 
> You should be able to download shows from your Bolt to your PC just fine, just like you can with the HD. However when you pull a show from the PC to the Bolt the pyTivo code decides whether to recode the video or not based on the TiVo it's going to and the various parameters of the video. The problem here could be that the original video contains some encoding parameter that the Bolt doesn't like but pyTivo isn't recognizing that and sending the video as-is. Whereas with the HD it always recodes H.264 source files so those are being recoded and the problem is being fixed in the process. That explains why it works on the HD and not the Bolt. If you go into the General settings and set the TS mode to off it will force this same file to be transcoded when you transfer to your Bolt and should fix the issue.


Wow! I missed this one too...I will do that asap. Thank you.


----------



## lpwcomp

jgrub said:


> Oops. Missed that prior to my posting... yes, cTivo encrypted... but it does transfer to the HDXL...


What format is the file and what is the file extension?


----------



## jgrub

Dan203 said:


> If it's decrypted then the other post of mine above applies.


Thanks Dan!


----------



## jgrub

lpwcomp said:


> What format is the file and what is the file extension?


----------



## lpwcomp

hmm. MPEG-2. That means it is not being transcoded at all and the the problem is possibly being introduced when it gets muxed into a TS container. Yeah, you need to add a TS setting to the pyTivo global settings with a value of off. Hopefully that will fix it. Very odd.

Could there be some weirdness with cTivo's decryption? I've never used it.


----------



## Dan203

jgrub said:


> View attachment 28787


For future reference there is an open source program called MediaInfo that works much better for determining the parameters of a video file. I recommend setting the default view mode to Text view as that's the most comprehensive and easy to copy/paste when someone asks for information like this.


----------



## jgrub

Dan203 said:


> For future reference there is an open source program called MediaInfo that works much better for determining the parameters of a video file. I recommend setting the default view mode to Text view as that's the most comprehensive and easy to copy/paste when someone asks for information like this.


Thanks Dan. Installed and used on that same video file...
The good news is that I'm able to use pyTivo to move shows back and forth between my Bolt and my Mac Pro since I followed the suggestions you and the others gave me! I just changed the Global TS setting to off and am currently taking another HD show from my Bolt via cTivo, just to see what happens. Since pyTivo works though I most likely will not use cTivo again...
Here's a pic of the cTivo Video Format choice list:


----------



## jgrub

Dan203 said:


> For future reference there is an open source program called MediaInfo that works much better for determining the parameters of a video file. I recommend setting the default view mode to Text view as that's the most comprehensive and easy to copy/paste when someone asks for information like this.


Here's the file info on the newest cTivo recording from my Bolt (that cTivo said was decrypted TiVo):


----------



## jgrub

Thanks again to everyone here who helped me get pyTivo operating!


----------



## lpwcomp

jgrub said:


> Here's the file info on the newest cTivo recording from my Bolt (that cTivo said was decrypted TiVo):


Looks like cTivo created a Transport stream file but gave the file an extension of mpg. Try changing that to ts and see if it will transfer to the Bolt properly. I have no idea if this will work but it's worth a shot.


----------



## jgrub

lpwcomp said:


> Looks like cTivo created a Transport stream file but gave the file an extension of mpg. Try changing that to ts and see if it will transfer to the Bolt properly. I have no idea if this will work but it's worth a shot.


So, I change the Global TS setting back to Auto, saved & restarted pyTivo, changed the file's extension from .mpg to .ts, and it transferred correctly to the Bolt.
Thanks!


----------



## bubba1972

I was hoping someone could answer a quick question before I dive too deep into pyTivo. I upgraded to a Bolt, but can't get my Tivo Desktop Plus software to link to my account, so the Bolt does not see my PC and my PC does not know about the Bolt. Tivo Desktop can still see my XL4. I can pull individual files from the PC to the XL4, but cannot share (push) a directory of files to the XL4 anymore. Tivo Desktop complains about linking to Tivo account when trying to publish a directory. I have tried the uppercase/lowercase email derivatives when trying to link with no luck. I just get the runaround from Tivo customer service trying to get answers as to why it doesn't work. So, my question is will pyTivo match the capability I used to have with pushing and pulling files to my new Bolt? I like the ability to automatically push our home movies to the Tivo so the kids can get to them easily. I don't think they can handle messing with PLEX. Unfortunately all of the pushed videos can't be copied off of the XL4 to the Bolt because of a copy protection flag, while those that were pulled to the XL4 can be copied over. Strange.


----------



## justen_m

Push no longer works. Not with TiVoDesktop, nor with pyTivo.


----------



## Mikeguy

TiVo "turned it off."


----------



## bubba1972

Will pyTivo support pulling from my PC to a new Bolt if the Bolt can't see the PC using Tivo Desktop? Does pyTivo have a dependency on Tivo Desktop being linked to my Tivo account?


----------



## justen_m

bubba1972 said:


> Will pyTivo support pulling from my PC to a new Bolt if the Bolt can't see the PC using Tivo Desktop? Does pyTivo have a dependency on Tivo Desktop being linked to my Tivo account?


Your Bolt should be able to see your PC, if it is running pyTivo. I don't know about TiVoDesktop. Haven't used that in ages. If your Bolt can't see your PC, you're screwed and you need to fix that problem first. It should be able to see it. The linking was only required to Push things. Just run pyTivo on your PC. It will publish your shows. Then on your TiVo (Bolt, Roamio, Premiere, TiVoHD, Series3) you should be able to see your PC, and you can just pull shows/music/pictures from your PC.

[edit] TiVoDesktop only publishes Music and Photos. Your Bolt should be able to see those. Not Videos. That is a TiVoDesktopPlus feature. pyTiVo, however, can publish all three. TiVoDesktop (nonPlus) can only transfer Videos from your Bolt to your PC, but not back in any way. (I just installed TiVoDesktop (nonPlus) 2.8.3 and tested it). So go to Music&Photos and check if your TiVo can see your PC.


----------



## Dan203

bubba1972 said:


> Will pyTivo support pulling from my PC to a new Bolt if the Bolt can't see the PC using Tivo Desktop? Does pyTivo have a dependency on Tivo Desktop being linked to my Tivo account?


pyTivo uses the same protocol for announcing itself to the network (i.e. Bonjour), but in my experience it seems to work better then TiVo Desktop.

FYI I just uploaded a new build of pyTivo Desktop....

Easier to use pyTivo

It includes the TiVo DirectShow filter so now it's a complete replacement for TiVo Desktop.


----------



## bubba1972

Thanks Dan, I followed the link in your signature to download pyTivo, but the blue 'Download for Windows' button on the site appears disabled to me in both IE and Chrome. Is there another link to your current build? Thanks.


----------



## aaronwt

The download doesn't seem to be working. It's like the button to download is no longer active. I click on it and nothing happens.


----------



## Dan203

Yeah sorry guys. I disabled it temporarily so I could fix something real quick and upload another installer, but then forgot to reenable it.  

It's fixed now.


----------



## preilly44

Hi, I'm a pyTivo beginner...I have .Tivo files downloaded on my laptop from a Bolt+ that died on me and I want to get them back on the new Bolt+. I understand (I think) that I can pull them from the Tivo to transfer them back...and this is what I'm looking to do. I have Tivo Desktop Plus but I don't see the folder listed in My Shows (probably because I can't link my account). Anyway, when I open pyTivo, it doesn't find any Tivo's. 

Any advice on how to get it to see my Tivo Bolt+?


----------



## Dan203

Are you using my Desktop version? If so go into the settings and set the zeroconf option to "on". That usually fixes this issue.


----------



## wmcbrine

preilly44 said:


> Any advice on how to get it to see my Tivo Bolt+?


Well, the important thing is that your Bolt sees pyTivo, rather than the other way around.  It should appear in My Shows, the same way as TD.


----------



## preilly44

Yes, Dan203, I am using your latest version. I tried turning the zero config "on" with no luck.

I also can't see it on the Tivo My Shows list with my other devices. 

I'd appreciate any advice! Thanks for your time guys!


----------



## Mikeguy

preilly44 said:


> Yes, Dan203, I am using your latest version. I tried turning the zero config "on" with no luck.
> 
> I also can't see it on the Tivo My Shows list with my other devices.
> 
> I'd appreciate any advice! Thanks for your time guys!


I have a somewhat flakey wireless network, sometimes devices will appear on the network, sometimes not. I find that with pyTivo, it sometimes can help to restart my router; similarly, to disconnect the wireless connection on the PC and then to connect up again.


----------



## Dan203

preilly44 said:


> Yes, Dan203, I am using your latest version. I tried turning the zero config "on" with no luck.
> 
> I also can't see it on the Tivo My Shows list with my other devices.
> 
> I'd appreciate any advice! Thanks for your time guys!


Try setting it to "off" too. That will force it to use the old style TiVo beacon discovery which may work better with your network.

I also had a user who had VMWare or VirtualBox installed, which included a virtual network adapter. That was causing some sort of conflict and he could only get pyTivo to work correctly when he disabled the virtual network adapter.


----------



## preilly44

Dan203 said:


> Try setting it to "off" too. That will force it to use the old style TiVo beacon discovery which may work better with your network.
> 
> I also had a user who had VMWare or VirtualBox installed, which included a virtual network adapter. That was causing some sort of conflict and he could only get pyTivo to work correctly when he disabled the virtual network adapter.


I tried with it "off" as well. I don't have any VMWare or VB running or installed.


----------



## KLINK

preilly44 said:


> I tried with it "off" as well. I don't have any VMWare or VB running or installed.


I had the same problem. When I stopped everything related to the original Tivo Desktop in the task manager, pyTivoDesktop found my tivos in a few seconds


----------



## preilly44

I just tried that too. Is there anything basic that I need to be doing that I might not be? I feel like it shouldn't be this difficult and I must be missing something basic.


----------



## Dan203

Have you tried disabling your firewall to make sure it's not causing an issue? Are you sure your MAK is right? It will only fund TiVos that match your MAK, so if that's wrong it wont work. You also have to have an output folder set. 

You might also try exiting out of pyTivo Tray completely and then launching pyTivo.exe from the install folder. Then watch the command window. Do you get any errors?


----------



## tluxon

Does anyone know if pyTivo is any faster at downloading from a TiVoHD than kmttg? When I try to transfer shows using pyTivo, I get a notice that it's been added to the transfer queue, but I don't see any status anywhere. Is there a way to keep an eye on that?


----------



## ClearToLand

tluxon said:


> *Does anyone know if pyTivo is any faster at downloading from a TiVoHD than kmttg?* When I try to transfer shows using pyTivo, I get a notice that it's been added to the transfer queue, but I don't see any status anywhere. Is there a way to keep an eye on that?


Why do you think that it would, or would not, be?

ALL of the 'tools' that perform the *SAME* tasks with a TiVo must access the *SAME* functions on a TiVo, so unless the author of a certain 'tool' has somehow inserted 'delays' in the fetch routine, each 'tool' should perform downloads basically the same.


----------



## Mikeguy

tluxon said:


> Does anyone know if pyTivo is any faster at downloading from a TiVoHD than kmttg? When I try to transfer shows using pyTivo, I get a notice that it's been added to the transfer queue, but I don't see any status anywhere. Is there a way to keep an eye on that?


New pyTivo Desktop has a queue screen showing the remaining jobs, as well as the status (amount transferred (percentage and size) and transfer speed) of the current job. Nice--also for checking if a job has frozen.

Easier to use pyTivo


----------



## Dan203

@jgrub and any other Mac users. I've just posted my first release of pyTivo Desktop for Mac...

pyTivo Desktop

please try it out if you can and let me know if you have any trouble with it.


----------



## Spenner

tluxon said:


> Does anyone know if pyTivo is any faster at downloading from a TiVoHD than kmttg? When I try to transfer shows using pyTivo, I get a notice that it's been added to the transfer queue, but I don't see any status anywhere. Is there a way to keep an eye on that?


If you refresh the pyTivo page where you checked the shows to transfer, under the show it will show the transfer speed, amount transferred, "Transfer Complete", or "Queued". ie:
NBA Playoff: Game 3: Warriors at Trail Blazers
Transfering - 69.52 Mb/s
1.380 GB Stop Transfer​


----------



## Dan203

Spenner said:


> If you refresh the pyTivo page where you checked the shows to transfer, under the show it will show the transfer speed, amount transferred, "Transfer Complete", or "Queued". ie:
> NBA Playoff: Game 3: Warriors at Trail Blazers
> Transfering - 69.52 Mb/s
> 1.380 GB Stop Transfer​


My version uses a differt UI. When you click the download button on a recording it's added to the transfer queue which is indicated by a button with a number in the upper right of the UI. Clicking that button displays the queue which includes an auto updating progress bar along with byte count and transfer speed.

Looks like this....


----------



## wmcbrine

Dan203 said:


> It will only fund TiVos that match your MAK


Untrue -- it doesn't care what the MAK is at that stage. (It doesn't come up until you try to get a list of recordings from the TiVo, or of course, download one.) Note that you can even set MAKs on a per-TiVo basis in pyTivo.conf.


----------



## Dan203

wmcbrine said:


> Untrue -- it doesn't care what the MAK is at that stage. (It doesn't come up until you try to get a list of recordings from the TiVo, or of course, download one.) Note that you can even set MAKs on a per-TiVo basis in pyTivo.conf.


You're right. It does require some MAK or it doesn't even look for TiVos though. I assumed it needed a correct MAK, but as long as there is something it'll work. (Also requires an output directory)


----------



## cherry ghost

preilly44 said:


> Hi, I'm a pyTivo beginner...I have .Tivo files downloaded on my laptop from a Bolt+ that died on me and I want to get them back on the new Bolt+. I understand (I think) that I can pull them from the Tivo to transfer them back...and this is what I'm looking to do. I have Tivo Desktop Plus but I don't see the folder listed in My Shows (probably because I can't link my account). Anyway, when I open pyTivo, it doesn't find any Tivo's.
> 
> Any advice on how to get it to see my Tivo Bolt+?





preilly44 said:


> I just tried that too. Is there anything basic that I need to be doing that I might not be? I feel like it shouldn't be this difficult and I must be missing something basic.


Did you ever figure this out?

I got it to work on my new Bolt by setting zeroconf to "on," but it seems odd that all my non-Bolts are fine with it set to "auto" or "off."


----------



## Dan203

FYI I updated the zeroconf code in the newest release. I'm not 100% sure it'll help your issue, but it might.


----------



## cherry ghost

Dan203 said:


> FYI I updated the zeroconf code in the newest release. I'm not 100% sure it'll help your issue, but it might.


Thanks, but I'm not using that version.

It turns out that it's not working as it should. I can now see my Bolt on my browser but can't see any shares on my Bolt.


----------



## Dan203

cherry ghost said:


> Thanks, but I'm not using that version.


You should give it a try


----------



## cherry ghost

cherry ghost said:


> Did you ever figure this out?
> 
> I got it to work on my new Bolt by setting zeroconf to "on," but it seems odd that all my non-Bolts are fine with it set to "auto" or "off."





cherry ghost said:


> It turns out that it's not working as it should. I can now see my Bolt on my browser but can't see any shares on my Bolt.


Ok, finally got it working properly by changing the beacon setting


----------



## Dan203

What did you change it too? Did you set it to blank, which turns beacon off, or set it to a specif IP range?


----------



## cherry ghost

Dan203 said:


> What did you change it too? Did you set it to blank, which turns beacon off, or set it to a specif IP range?


It was blank. I put in the IP of the Bolt.


----------



## Dan203

cherry ghost said:


> It was blank. I put in the IP of the Bolt.


If it was actually in the file but blank...

beacon=

then that means beacon was off. If you simply delete the line, rather then put an IP in there, then it will turn back on and broadcast to your entire subnet.


----------



## dorpen

In the past week my Tivos (Premiere and Roamio) have stopped seeing my computer. Up to this point I started pyTivo and they would both show my computer allowing me to transfer files from my computer to each Tivo. Then both Tivos stopped showing my computer as a choice in the My Shows section, stopping me from transferring videos to the Tivos. The pyTivo on my computer can still see and transfer the files on each Tivo back to my computer. What step am I missing in having the Tivos read my computer as a choice and allow files to be transferred computer to Tivo? I have tried the latest versions 1.5.12 and 1.5.15 and still get the same result.

Below is the info data I get from pyTivo (same for all pyTivo versions):


Code:


INFO:pyTivo:Last modified: Sat Aug 27 15:02:20 2016
INFO:pyTivo:python: 2.7.12
INFO:pyTivo:System: Windows-10-10.0.14393
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:Living Room
INFO:pyTivo.beacon:Bedroom
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: Movies to Tivo
INFO:pyTivo:pyTivo is ready.

Any suggestions as to what I can do to get my Tivos again seeing my computer and offering it as a choice in Tivo's My Shows section as it has been doing for years?

Darrel


----------



## Dan203

There could be a conflict. Exit the tray app. Double check the task manager and make sure all versions of pyTivo.exe are stopped. If not kill them manually. Now restart pyTivo and give it a few minutes. If the shares still don't show up on your TiVo then check the options. Make sure zeroconf is either on/auto and that beacon is blank.


----------



## cherry ghost

Dan203 said:


> If it was actually in the file but blank...
> 
> beacon=
> 
> then that means beacon was off. If you simply delete the line, rather then put an IP in there, then it will turn back on and broadcast to your entire subnet.


It was not in the file at all


----------



## ericdkirk

Dan is there any chance of you supporting plugins?


----------



## ClearToLand

ericdkirk said:


> Dan is there any chance of you supporting plugins?


Wrong thread! 

This is pyTiVo by @wmcbrine


----------



## wmcbrine

ericdkirk said:


> Dan is there any chance of you supporting plugins?


pyTivo is actually structured into "plugins" already -- video, music, photos, togo, and settings -- but I'm guessing that's not what you mean?


----------



## ClearToLand

Hi William,

As long as you might still be available for questions tonight, if I run tivolibre with the '-p' option (on a 'glitched' .TIVO file that won't transfer back), what do I need to do to display the metadata 'transparently' (i.e. as if pyTiVo was accessing the original .TIVO file) along with the resulting 'stripped' .TS file on my TiVo? 
 Put the .TXT file in the same directory as the .TS file for pyTiVo to find?
.
Add a line with a PATH pointing to the metadata file(s) in the pyTiVo config file?
.
Something else?
Thanks!


----------



## lpwcomp

ClearToLand said:


> ... if I run tivolibre with the '-p' option (on a 'glitched' .TIVO file that won't transfer back), what do I need to do to display the metadata 'transparently' (i.e. as if pyTiVo was accessing the original .TIVO file) along with the resulting 'stripped' .TS file on my TiVo?
> 
> _*Put the .TXT file in the same directory as the .TS file for pyTiVo to find*_?
> .
> Add a line with a PATH pointing to the metadata file(s) in the pyTiVo config file?
> .
> Something else?
> Thanks!


The highlighted option. To be clear, the metadata file must be the same name as the video file, including extension, with .txt added.


----------



## ClearToLand

lpwcomp said:


> The highlighted option. To be clear, the metadata file must be the same name as the video file, *including extension*, with .txt added.



Elementary - s01e01 - Pilot.TS
- needs to see
Elementary - s01e01 - Pilot*.TS*.TXT ? 
- OR
Elementary - s01e01 - Pilot.TXT ?


----------



## lpwcomp

Elementary - s01e01 - Pilot.TS.TXT


----------



## ClearToLand

lpwcomp said:


> Elementary - s01e01 - Pilot.TS.TXT


Thanks! 

Looks strange though, with TWO extensions...


----------



## ericdkirk

ClearToLand said:


> Wrong thread!
> 
> This is pyTiVo by @wmcbrine


Actually it is a pytivo plugin, I have been using it for years. The long abandoned playon plugin, though it still works with my old version of pytivo(10/2015). I have tried it with wmcbrine's current versions and cant get it to work, so I keep rock'n the oldies.


----------



## ClearToLand

ericdkirk said:


> *Dan* is there any chance of you supporting plugins?





ericdkirk said:


> Actually it is a pytivo plugin, I have been using it for years. The long abandoned playon plugin, though it still works with my old version of pytivo(10/2015). I have tried it with wmcbrine's current versions and cant get it to work, so I keep rock'n the oldies.


So why did you SPECIFICALLY ask Dan (aka @Dan203), in the pyTiVo thread, instead of William (aka @wmcbrine)? 
i.e. Why would Dan support plugins for William's program?


----------



## ericdkirk

@ClearToLand I am sorry I offended you, I will rework my questions.
@Dan203 Do you plan on supporting the same plugin process as pytivo does, allowing you to place a folder in the plugins folder to add functionality?
@wmcbrine Is there any reason the current pytivo would not recognize a plugin? I am using the old playon plugin with 10/2015 version of pytivo but your current prance does not recognize the plugin.


----------



## dlfl

ericdkirk said:


> @ClearToLand I am sorry I offended you, I will rework my questions.
> @Dan203 Do you plan on supporting the same plugin process as pytivo does, allowing you to place a folder in the plugins folder to add functionality?
> @wmcbrine Is there any reason the current pytivo would not recognize a plugin? I am using the old playon plugin with 10/2015 version of pytivo but your current prance does not recognize the plugin.


I am/was the maintainer of the playon plugin. I hadn't used it for quite a while so didn't realize it no longer works with WmcBrine's latest pyTivo (1-1-2017 I think?). On pyTivo start up it gives an error message that the playon plugin doesn't exist, check you share type. A little debugging reveals it is failing a Python __import__() in the plugin.py module. It was working with a March 2016 WmcBrine version. It may never get fixed unless it's something simple that someone more expert in pyTivo (i.e., WmcBrine) can suggest.

AFAIK there is no general problem of the current pyTiVo not supporting plugins -- just the particular problem with the playon plugin.


----------



## Dan203

ericdkirk said:


> @Dan203 Do you plan on supporting the same plugin process as pytivo does, allowing you to place a folder in the plugins folder to add functionality?


Because of the way I bundle mine into an exe there is no plugin folder for you to drop something into. If this in important I could look imto importing plugins dynamically from the install directory.

Alternatively you could download the pyTivo fork from my repo and run it just like you do the old one, then only use the Desktop portion of my build. The Desktop app com,unicates with pyTivo using http, so as long as the correct version is running it can be either pure python or the compiled exe and it'll still work. (I use thw pure python version when doing development)


----------



## wdwms

I've been using PyTivo for years, however i can always get the bolt to see my share if I run pytivo in console mode. If i run it as a service, or just execute pytivo start it cannot be seen. I must use the console switch for it to work. What could be causing this?


----------



## Dan203

Most likely your firewall.

You also need to make sure that the service has access to the folder you're trying to share and the folder where your conf file is stored.


----------



## marcosw

I've been using pyTivo for a long time but recently I've run into a couple of problems:

1. Every program is now unable to be transferred with the message "Transferring prohibited by copyright holder." This includes home videos for which I hold the copyright and that I've previously transferred without problem. The pyTivo log messages are:


Code:


INFO:pyTivo:192.168.0.40 [05/Jul/2017 09:21:46] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.40 [05/Jul/2017 09:21:46] "GET /TiVoConnect?Command=QueryContainer&Container=MyVideos&Recurse=Yes&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FMyVideos%2Fzoe_dance_2009.m4v&AnchorOffset=-7&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F*&SerialNum=7582001902Dxxxx HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.40 [05/Jul/2017 09:21:46] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg-ts HTTP/1.1" 200 -

I haven't changed anything on my end at all, the same version of pytivo.py and no changes to pytivo.conf, so my guess is this was caused by a TiVo update.

2. The "My Videos" folder routinely disappears from my TiVo Bolt. If I restart pyTivo.py it usually fixes the problems for a period of days but sometimes I need to restart pyTivo several times before it works. Here are the log message for when it works:


Code:


INFO:pyTivo:Last modified: Sun Jan  1 17:57:07 2017
INFO:pyTivo:python: 2.7.12
INFO:pyTivo:System: Linux-4.4.0-78-generic-x86_64-with-Ubuntu-16.04-xenial
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:TiVo Bolt
INFO:pyTivo.beacon:TiVo XL4
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: MyVideos
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.0.40 [05/Jul/2017 09:16:12] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.0.37 [05/Jul/2017 09:16:12] "GET /TiVoConnect?Command=QueryContainer&Container=MyVideos&ItemCount=0&SerialNum=84900019023xxxx HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.40 [05/Jul/2017 09:16:12] "GET /TiVoConnect?Command=QueryContainer&Container=MyVideos&ItemCount=0&SerialNum=7582001902Dxxxx HTTP/1.1" 200 -
INFO:pyTivo:192.168.0.37 [05/Jul/2017 09:16:45] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -

and when it does not:

INFO:pyTivo:Last modified: Sun Jan  1 17:57:07 2017
INFO:pyTivo:python: 2.7.12
INFO:pyTivo:System: Linux-4.4.0-78-generic-x86_64-with-Ubuntu-16.04-xenial
INFO:pyTivo.beacon:Scanning for TiVos...
INFO:pyTivo.beacon:TiVo Bolt
INFO:pyTivo.beacon:TiVo XL4
INFO:pyTivo.beacon:Announcing shares...
INFO:pyTivo.beacon:Registering: MyVideos
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.0.40 [05/Jul/2017 09:14:19] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&DoGenres=1 HTTP/1.0" 200 -
INFO:pyTivo:192.168.0.40 [05/Jul/2017 09:15:39] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -

I would appreciate any suggestions for debugging these issues.

marcos


----------



## lpwcomp

It could be caused by an ffmpeg update. Also, try setting ffmpeg_wait to 300 as 0 doesn't seem to work as advertised.


----------



## marcosw

lpwcomp said:


> It could be caused by an ffmpeg update. Also, try setting ffmpeg_wait to 300 as 0 doesn't seem to work as advertised.


Thanks, that was in fact the problem. ffmpeg couldn't find a shared library.

I found and fixed the problem a couple of minutes after posting, so deleted my post before anyone spent any time on this.

marcos


----------



## marcosw

While I'm thinking about pyTivo issues:

Does anyone else have problems with the "My Videos" folder disappearing from their TiVo Bolt? Everything works for days/weeks and then the folder will be gone and I'll have to restart pyTivo.py to fix the problem. This isn't an issue on my other TiVo, an XL4. 

marcos


----------



## unitron

marcosw said:


> Thanks, that was in fact the problem. ffmpeg couldn't find a shared library.
> 
> I found and fixed the problem a couple of minutes after posting, so deleted my post before anyone spent any time on this.
> 
> marcos


And by deleting your post your deprive future searchers of information.


----------



## whitepelican

Dan203 said:


> I also had a user who had VMWare or VirtualBox installed, which included a virtual network adapter. That was causing some sort of conflict and he could only get pyTivo to work correctly when he disabled the virtual network adapter.


Thank you. This was my problem as well, and I'm glad I finally saw this comment after much frustration trying to get my new Bolt to see pyTivo shares. I have VMware installed, and I simply had to go into my network connections and disable the virtual network adapter.


----------



## newsposter

im reporting sometimes my transfers are fast now and sometimes slow. however the one thing that still befuddles me is that with 75% full i will get a message 'your show will not record because your show is recording' type message when i try to load up a 2 hour movie. is there a single movie out there that takes 25% of space?

i get when it says 2 weeks out something wont record. but it gives the name of the thing i'm uploading 'now' as not being able to be uploaded now..very weird


----------



## Dan203

Do you have a lot of One Passes set to Keep Until I Delete? When you have 1Ps set to KUID TiVo considers all episodes in the ToDo List as used space.


----------



## lpwcomp

newsposter said:


> im reporting sometimes my transfers are fast now and sometimes slow. however the one thing that still befuddles me is that with 75% full i will get a message 'your show will not record because your show is recording' type message when i try to load up a 2 hour movie. is there a single movie out there that takes 25% of space?
> 
> i get when it says 2 weeks out something wont record. but it gives the name of the thing i'm uploading 'now' as not being able to be uploaded now..very weird


It's always done this. Part of the problem is that the space requirement calculation is based on converting the recording to mpeg2.


----------



## newsposter

Dan203 said:


> Do you have a lot of One Passes set to Keep Until I Delete? When you have 1Ps set to KUID TiVo considers all episodes in the ToDo List as used space.


i have every single one of them KUID because i got tired of things being deleted even when there was 70% full only. you only lose weeks worth of shows once before you let this happen again.


----------



## Dan203

newsposter said:


> i have every single one of them KUID because i got tired of things being deleted even when there was 70% full only. you only lose weeks worth of shows once before you let this happen again.


This is your problem then. As I said anything in the To Do List marked KUID is considered used space.


----------



## Darr

Code:


INFO:pyTivo.togo:TS sync loss detected: 858938272 - 858943724
INFO:pyTivo.togo:TS sync loss detected: 858943912 - 858954816
INFO:pyTivo.togo:[14/Aug/2017 13:47:56] Done getting "D:\MyTivo\The Real Housewives of New York City (Recorded Aug 10, 2017, BRAVOHD-E).ts" from TiVo33FB, 1660820124 bytes, 52.27 Mb/s
INFO:pyTivo.togo:TS sync losses detected, retrying download (2)
INFO:pyTivo.togo:[14/Aug/2017 13:47:59] Start getting "D:\MyTivo\The Real Housewives of New York City (Recorded Aug 10, 2017, BRAVOHD-E).ts" from TiVo33FB
WARNING:pyTivo.config:tivodecode not found
WARNING:pyTivo.config:tivodecode not found
INFO:pyTivo.togo:TS sync loss detected: 286148520 - 286166756
INFO:pyTivo.togo:[14/Aug/2017 13:48:53] Transfer of "D:\MyTivo\The Real Housewives of New York City (Recorded Aug 10, 2017, BRAVOHD-E).ts" from TiVo33FB aborted
INFO:pyTivo.togo:TS sync losses detected, retrying download (3)
INFO:pyTivo.togo:[14/Aug/2017 13:48:56] Start getting "D:\MyTivo\The Real Housewives of New York City (Recorded Aug 10, 2017, BRAVOHD-E).ts" from TiVo33FB
WARNING:pyTivo.config:tivodecode not found
WARNING:pyTivo.config:tivodecode not found
INFO:pyTivo.togo:TS sync loss detected: 858938272 - 858943724
INFO:pyTivo.togo:TS sync loss detected: 858943912 - 858954816
INFO:pyTivo.togo:[14/Aug/2017 13:51:04] Transfer of "D:\MyTivo\The Real Housewives of New York City (Recorded Aug 10, 2017, BRAVOHD-E).ts" from TiVo33FB aborted
INFO:pyTivo.togo:TS sync losses detected, retrying download (4)
INFO:pyTivo.togo:[14/Aug/2017 13:51:07] Start getting "D:\MyTivo\The Real Housewives of New York City (Recorded Aug 10, 2017, BRAVOHD-E).ts" from TiVo33FB
WARNING:pyTivo.config:tivodecode not found
WARNING:pyTivo.config:tivodecode not found
INFO:pyTivo.togo:TS sync loss detected: 572500156 - 572501096
INFO:pyTivo.togo:TS sync loss detected: 1145272048 - 1145273552
INFO:pyTivo.togo:TS sync loss detected: 1145273740 - 1145290472
INFO:pyTivo.togo:[14/Aug/2017 13:54:13] Transfer of "D:\MyTivo\The Real Housewives of New York City (Recorded Aug 10, 2017, BRAVOHD-E).ts" from TiVo33FB aborted
INFO:pyTivo.togo:TS sync losses detected, retrying download (5)
INFO:pyTivo.togo:[14/Aug/2017 13:54:16] Start getting "D:\MyTivo\The Real Housewives of New York City (Recorded Aug 10, 2017, BRAVOHD-E).ts" from TiVo33FB
WARNING:pyTivo.config:tivodecode not found
WARNING:pyTivo.config:tivodecode not found
INFO:pyTivo.togo:TS sync loss detected: 572500156 - 572501096
INFO:pyTivo.togo:TS sync loss detected: 1431713548 - 1431713924
INFO:pyTivo.togo:TS sync loss detected: 1431714112 - 1431728212
INFO:pyTivo.togo:[14/Aug/2017 13:58:19] Done getting "D:\MyTivo\The Real Housewives of New York City (Recorded Aug 10, 2017, BRAVOHD-E).ts" from TiVo33FB, 1660820124 bytes, 52.56 Mb/s
INFO:pyTivo.togo:TS sync losses detected, retrying download (6)
INFO:pyTivo.togo:[14/Aug/2017 13:58:22] Start getting "D:\MyTivo\The Real Housewives of New York City (Recorded Aug 10, 2017, BRAVOHD-E).ts" from TiVo33FB
WARNING:pyTivo.config:tivodecode not found
WARNING:pyTivo.config:tivodecode not found
INFO:pyTivo.togo:TS sync loss detected: 1431713548 - 1431728212
INFO:pyTivo.togo:[14/Aug/2017 14:02:18] Done getting "D:\MyTivo\The Real Housewives of New York City (Recorded Aug 10, 2017, BRAVOHD-E).ts" from TiVo33FB, 1660820124 bytes, 54.02 Mb/s
Unhandled exception in thread started by <unbound method ToGo.process_queue>
ERROR:pyTivo:Exception in pyTivo
Traceback (most recent call last):
  File "plugins\togo\togo.py", line 897, in process_queue
  File "plugins\togo\togo.py", line 766, in get_tivo_file
WindowsError: [Error 32] The process cannot access the file because it is being used by another process: u'D:\\MyTivo\\The Real Housewives of New York City (Recorded Aug 10, 2017, BRAVOHD-E) (^82_5).ts'

Log from Desktop started by pyTivoTray. Just stops downloading without any notice... download queue window remains open; the remaining list just sits there. That was with a gigabit ethernet connection. The typical speed reported onscreen between 48 and 52 Mbps (5GHz 802.11ac connection usually tops out around 36 Mbps).

Windows 10 Pro, Version 1703 Build 15063.540
pyTivo 1.6.12
4-tuner Bolt (Series 6), 3TB drive, 20.7.1.RC2-USC-11-849, TTG a,a,a,a

pytivo.conf


Code:


[Server]
port = 9033
beacon = listen
togo_decode = true
tivolibre_upload = true
debug = true
togo_ts_format = true
togo_path = D:\MyTivo
ffmpeg_wait = 10
togo_save_txt = true
tivo_mak = [xxmaskedxx]
beta_tester = true
togo_ts_error_mode = best
togo_ts_max_retries = 10

[_tivo_SD]

[_tivo_HD]

[_tivo_4K]

[MyTivo]
path = D:\MyTivo
type = video


----------



## Dan203

The line it's failing on is the one where it's trying to delete the old "best" file because the current one is better. It says that it's failing because the file is being used by another process. Do you have anything that automatically scans your output directory for files? Like VAP? What antivirus are you using?


----------



## Darr

For AV it's Windows Defender; another related util is MalwareBytes Anti-Malware Premium with real-time protection enabled. I've now added exclusions to both for the output folder.


----------



## Dan203

Darr said:


> For AV it's Windows Defender; another related util is MalwareBytes Anti-Malware Premium with real-time protection enabled. I've now added exclusions to both for the output folder.


Do you still get the error with the exclusions?


----------



## Darr

Code:


WARNING:pyTivo.config:tivodecode not found
WARNING:pyTivo.config:tivodecode not found
INFO:pyTivo.togo:TS sync loss detected: 1145018144 - 1145021528
INFO:pyTivo.togo:TS sync loss detected: 1145021716 - 1145035816
INFO:pyTivo.togo:TS sync loss detected: 1431428812 - 1431432008
INFO:pyTivo.togo:TS sync loss detected: 1431432196 - 1431448740
INFO:pyTivo.togo:[14/Aug/2017 15:58:47] Done getting "D:\MyTivo\The Real Housewives of New York City - ''Wishful Invitation'' (Recorded Aug 09, 2017, BRAVOHD-E).ts" from TiVo33FB, 1688114988 bytes, 38.50 Mb/s
INFO:pyTivo.togo:TS sync losses detected, retrying download (1)
INFO:pyTivo.togo:[14/Aug/2017 15:58:55] Start getting "D:\MyTivo\The Real Housewives of New York City - ''Wishful Invitation'' (Recorded Aug 09, 2017, BRAVOHD-E).ts" from TiVo33FB
WARNING:pyTivo.config:tivodecode not found
WARNING:pyTivo.config:tivodecode not found
INFO:pyTivo.togo:TS sync loss detected: 285975268 - 285976584
INFO:pyTivo.togo:TS sync loss detected: 1431428812 - 1431448740
INFO:pyTivo.togo:[14/Aug/2017 16:04:33] Done getting "D:\MyTivo\The Real Housewives of New York City - ''Wishful Invitation'' (Recorded Aug 09, 2017, BRAVOHD-E).ts" from TiVo33FB, 1688114988 bytes, 38.23 Mb/s
Unhandled exception in thread started by <unbound method ToGo.process_queue>
ERROR:pyTivo:Exception in pyTivo
Traceback (most recent call last):
  File "plugins\togo\togo.py", line 897, in process_queue
  File "plugins\togo\togo.py", line 784, in get_tivo_file
WindowsError: [Error 32] The process cannot access the file because it is being used by another process
INFO:pyTivo:127.0.0.1 [14/Aug/2017 16:22:00] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 16:22:00] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 16:31:55] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 16:42:14] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 16:55:25] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 16:59:21] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 17:11:41] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 17:11:41] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 17:18:53] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 17:34:01] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 17:34:01] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 17:39:47] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 17:55:05] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 17:55:05] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 18:09:15] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 18:18:03] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 18:31:48] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 18:33:50] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 18:44:07] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 18:54:34] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 18:54:34] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 18:55:04] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 19:11:20] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 19:13:10] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 19:25:59] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 19:25:59] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 19:33:07] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 19:37:24] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 20:10:13] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 20:13:17] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 20:23:22] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 20:37:33] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [14/Aug/2017 20:44:51] Request timed out: timeout('timed out',)

There is no 'previous' *The Real Housewives of New York City - ''Wishful Invitation'' (Recorded Aug 09, 2017, BRAVOHD-E).ts* file... only the one that's complete.
According to Process Explorer, nothing has that file open.

Also, it did not make the *The Real Housewives of New York City - ''Wishful Invitation'' (Recorded Aug 09, 2017, BRAVOHD-E).ts.txt* file with the metadata from the .tivo wrapper for that show.
Any way to create/export that file manually?

Thanks!


----------



## Dan203

Try the version I just uploaded today. I put an extra try block around that section so it shouldn't completely die.


----------



## Darr

Dan203 said:


> Try the version I just uploaded today. I put an extra try block around that section so it shouldn't completely die.





Code:


INFO:pyTivo.togo:[15/Aug/2017 15:57:40] Start getting "D:\MyTivo\The Real Housewives of New York City - ''Make Out, Make Up'' (Recorded Aug 03, 2017, BRAVOHD-E).ts" from TiVo33FB
WARNING:pyTivo.config:tivodecode not found
WARNING:pyTivo.config:tivodecode not found
INFO:pyTivo.togo:[15/Aug/2017 16:05:07] Done getting "D:\MyTivo\The Real Housewives of New York City - ''Make Out, Make Up'' (Recorded Aug 03, 2017, BRAVOHD-E).ts" from TiVo33FB, 1659359720 bytes, 28.43 Mb/s
INFO:pyTivo.togo:[15/Aug/2017 16:05:09] Start getting "D:\MyTivo\The Real Housewives of New York City - ''How They Got Here'' (Recorded Aug 09, 2017, BRAVOHD-E).ts" from TiVo33FB
WARNING:pyTivo.config:tivodecode not found
WARNING:pyTivo.config:tivodecode not found
INFO:pyTivo:127.0.0.1 [15/Aug/2017 16:05:09] "GET /TiVoConnect?Command=GetQueueList&Container=ToGo&TiVo=192.168.0.100 HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [15/Aug/2017 16:05:09] "GET /TiVoConnect?Command=GetDiskUsage&Container=Settings&Path=D:\MyTivo HTTP/1.1" 200 -
INFO:pyTivo.togo:TS sync loss detected: 572702152 - 572726592
INFO:pyTivo.togo:[15/Aug/2017 16:09:01] Done getting "D:\MyTivo\The Real Housewives of New York City - ''How They Got Here'' (Recorded Aug 09, 2017, BRAVOHD-E).ts" from TiVo33FB, 831647148 bytes, 28.77 Mb/s
INFO:pyTivo.togo:TS sync losses detected, retrying download (1)
INFO:pyTivo.togo:[15/Aug/2017 16:09:02] Start getting "D:\MyTivo\The Real Housewives of New York City - ''How They Got Here'' (Recorded Aug 09, 2017, BRAVOHD-E).ts" from TiVo33FB
WARNING:pyTivo.config:tivodecode not found
WARNING:pyTivo.config:tivodecode not found
INFO:pyTivo:127.0.0.1 [15/Aug/2017 16:09:28] Request timed out: timeout('timed out',)
INFO:pyTivo.togo:[15/Aug/2017 16:12:36] Done getting "D:\MyTivo\The Real Housewives of New York City - ''How They Got Here'' (Recorded Aug 09, 2017, BRAVOHD-E).ts" from TiVo33FB, 831647148 bytes, 29.77 Mb/s
INFO:pyTivo:127.0.0.1 [15/Aug/2017 16:12:38] "GET /TiVoConnect?Command=GetQueueList&Container=ToGo&TiVo=192.168.0.100 HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [15/Aug/2017 16:12:38] "GET /TiVoConnect?Command=GetDiskUsage&Container=Settings&Path=D:\MyTivo HTTP/1.1" 200 -
INFO:pyTivo.togo:[15/Aug/2017 16:12:38] Start getting "D:\MyTivo\The Real Housewives of New York City - ''The Etiquette of Friendship'' (Recorded Aug 09, 2017, BRAVOHD-E).ts" from TiVo33FB
WARNING:pyTivo.config:tivodecode not found
WARNING:pyTivo.config:tivodecode not found
INFO:pyTivo:127.0.0.1 [15/Aug/2017 16:17:57] Request timed out: timeout('timed out',)
INFO:pyTivo.togo:[15/Aug/2017 16:19:47] Done getting "D:\MyTivo\The Real Housewives of New York City - ''The Etiquette of Friendship'' (Recorded Aug 09, 2017, BRAVOHD-E).ts" from TiVo33FB, 1604753092 bytes, 28.64 Mb/s
INFO:pyTivo.togo:[15/Aug/2017 16:19:49] Start getting "D:\MyTivo\The Real Housewives of New York City - ''The Politics of Friendship'' (Recorded Aug 09, 2017, BRAVOHD-E).ts" from TiVo33FB
WARNING:pyTivo.config:tivodecode not found
WARNING:pyTivo.config:tivodecode not found
INFO:pyTivo:127.0.0.1 [15/Aug/2017 16:19:49] "GET /TiVoConnect?Command=GetQueueList&Container=ToGo&TiVo=192.168.0.100 HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [15/Aug/2017 16:19:49] "GET /TiVoConnect?Command=GetDiskUsage&Container=Settings&Path=D:\MyTivo HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [15/Aug/2017 16:22:27] Request timed out: timeout('timed out',)
INFO:pyTivo.togo:[15/Aug/2017 16:27:13] Done getting "D:\MyTivo\The Real Housewives of New York City - ''The Politics of Friendship'' (Recorded Aug 09, 2017, BRAVOHD-E).ts" from TiVo33FB, 1605442112 bytes, 28.89 Mb/s
INFO:pyTivo:127.0.0.1 [15/Aug/2017 16:27:14] "GET /TiVoConnect?Command=GetQueueList&Container=ToGo&TiVo=192.168.0.100 HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [15/Aug/2017 16:27:14] "GET /TiVoConnect?Command=GetDiskUsage&Container=Settings&Path=D:\MyTivo HTTP/1.1" 200 -
INFO:pyTivo.togo:[15/Aug/2017 16:27:14] Start getting "D:\MyTivo\The Real Housewives of New York City - ''Wishful Invitation'' (Recorded Aug 09, 2017, BRAVOHD-E) (2).ts" from TiVo33FB
WARNING:pyTivo.config:tivodecode not found
WARNING:pyTivo.config:tivodecode not found
INFO:pyTivo:127.0.0.1 [15/Aug/2017 16:29:21] Request timed out: timeout('timed out',)
INFO:pyTivo:127.0.0.1 [15/Aug/2017 16:42:19] "GET /TiVoConnect?Command=GetStatus&Container=ToGo&Url=http%3A%2F%2F192.168.0.100%3A80%2Fdownload%2FThe%2520Real%2520Housewives%2520of%2520New%2520York%2520City.TiVo%3FContainer%3D%252FNowPlaying%26id%3D270 HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [15/Aug/2017 16:42:19] "GET /TiVoConnect?Command=GetStatus&Container=ToGo&Url=http%3A%2F%2F192.168.0.100%3A80%2Fdownload%2FThe%2520Real%2520Housewives%2520of%2520New%2520York%2520City.TiVo%3FContainer%3D%252FNowPlaying%26id%3D321 HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [15/Aug/2017 16:42:42] "GET /TiVoConnect?Command=GetStatus&Container=ToGo&Url=http%3A%2F%2F192.168.0.100%3A80%2Fdownload%2FThe%2520Real%2520Housewives%2520of%2520New%2520York%2520City.TiVo%3FContainer%3D%252FNowPlaying%26id%3D270 HTTP/1.1" 200 -
INFO:pyTivo:127.0.0.1 [15/Aug/2017 16:42:42] "GET /TiVoConnect?Command=GetStatus&Container=ToGo&Url=http%3A%2F%2F192.168.0.100%3A80%2Fdownload%2FThe%2520Real%2520Housewives%2520of%2520New%2520York%2520City.TiVo%3FContainer%3D%252FNowPlaying%26id%3D321 HTTP/1.1" 200 -

That last file stalled at 73%, with the speed down to 0.02 Mbps by the time I noticed it. I tried to delete that piece so I could start the file again, but tivolibre was holding it open. Once I closed the pyTivo Desktop then exited out of pyTivoTray, tivolibre released it and allowed me to delete the partial transfer.

Now I'll need to load them into the queue again, though, as pyTivo seems to keep no record (besides in RAM) of what's in the queue, so if it crashes or otherwise exits, the remaining queue disappears.

Still, 1.6.15 *did* make it through 7 files instead of failing after a couple/few like 1.6.12, and that was with the firewall enabled and using a wireless connection.


----------



## Dan203

Seems like maybe your TiVo stalled there. That can be an issue with a lot of queued transfers. Did you reboot the TiVo too?

I'll think about writing the queue to a file so it survives a reboot.


----------



## wmcbrine

TiVo software 20.7.2 status report: It looks like music and photos are dead. However, contrary to rumors (or fixed since I heard them), video shares are still working. (Well, at least, they're browsable. I didn't try an actual transfer yet.)


----------



## Dan203

Are music and photo shares gone? Or just not working?


----------



## jcthorne

wmcbrine said:


> TiVo software 20.7.2 status report: It looks like music and photos are dead. However, contrary to rumors (or fixed since I heard them), video shares are still working. (Well, at least, they're browsable. I didn't try an actual transfer yet.)


I can confirm your fork of pytivo transfers fine to tivo Bolt running 20.7.2. Pulls, not push.


----------



## lpwcomp

wmcbrine said:


> TiVo software 20.7.2 status report: It looks like music and photos are dead. However, contrary to rumors (or fixed since I heard them), video shares are still working. (Well, at least, they're browsable. I didn't try an actual transfer yet.)





Dan203 said:


> Are music and photo shares gone? Or just not working?


pyTivo photo share works fine for me on a Roamio with RC22.


----------



## lpwcomp

A music share also shows up in the apps and can be accessed but any attempt to play a recording gets a server error.


----------



## Dan203

I think that's how it was on the initial release of the Bolt, then they fixed it, now they apparently broke it again.


----------



## HerronScott

wmcbrine said:


> TiVo software 20.7.2 status report: It looks like music and photos are dead. However, contrary to rumors (or fixed since I heard them), video shares are still working. (Well, at least, they're browsable. I didn't try an actual transfer yet.)


We got RC22 a while back and photos were working fine on Roamio Pro and Bolt. Music would let you browse and drill down to songs on the Roamio but would fail when you tried to play it which was the same bug they had before 20.7.1 (20.6.3 I think?). Music and photos did move under Apps though.

Scott


----------



## Darr

HerronScott said:


> We got RC22 a while back and photos were working fine on Roamio Pro and Bolt. Music would let you browse and drill down to songs on the Roamio but would fail when you tried to play it which was the same bug they had before 20.7.1 (20.6.3 I think?). Music and photos did move under Apps though.
> 
> Scott


Here's what Tivo Central looked like on my Roamio prior to 20.7.2









And after applying that update









I don't currently have an iTunes server configured (I think one of my NAS boxes has one built in, so I guess I could try it... my Onkyo TX/NR plays FLACs across the network without any special server), and it appears the Tivo *Music* app might require an iTunes server; *Pictures* work fine. 
As noted, those are at the top of the new *Apps* sub menu.

*Account & System Info* is now located under Settings -> Help if anyone has trouble finding it.

The little Tivo anime/icon seems to have lost its 'face' with this update. :-|


----------



## Darr

Nope... pointing a music share at a folder served up by an iTunes server still gives the same message...
and Plex apparently won't talk to Twonky.


----------



## lpwcomp

I now have RC24 on both Roamios and the local Premiere and music does not work on either Roamio but does work on the Premiere (746320)


----------



## newsposter

anyone know why i cannot upload from laptop to tivo when torguard is on ? it took me a very long time to figure out the correlation here but now i'm certain of it. i can turn on torguard while i see 'mymovies' on the tivo and when torguard is on. the movies directory disappears. 

the thing that sucks is when i turn off torguard, mymovies doesnt always reappear and i have to reboot the machine. also once i start the upload, i can turn on torguard and it will continue to upload so that is good


----------



## mlippert

newsposter said:


> anyone know why i cannot upload from laptop to tivo when torguard is on ?


I have some guesses. I think it has to do with how pyTivo advertises its presence on your LAN. I saw similar things which I finally realized was due to having VirtualBox installed because it installs additional network adapters, and I believe VPNs do that as well.

I assume you're running wmcbrine's fork of pyTivo. You might try setting the beacon entry in the conf file to specifically your LAN broadcast IP address.

I don't know what OS you're running on. I've been playing w/ the pytivo code starting with wmcbrine's fork and converting it to Python 3 and updating some of the utilities used such as zeroconf, which may improve the situation, but I've only tested on linux so far. It's also a little more work to install my fork right now since you need to use pip to get the dependencies. If you want to try it, I'm happy to help you get it running.


----------



## newsposter

mlippert said:


> I have some guesses. I think it has to do with how pyTivo advertises its presence on your LAN. I saw similar things which I finally realized was due to having VirtualBox installed because it installs additional network adapters, and I believe VPNs do that as well.
> 
> I assume you're running wmcbrine's fork of pyTivo. You might try setting the beacon entry in the conf file to specifically your LAN broadcast IP address.
> 
> I don't know what OS you're running on. I've been playing w/ the pytivo code starting with wmcbrine's fork and converting it to Python 3 and updating some of the utilities used such as zeroconf, which may improve the situation, but I've only tested on linux so far. It's also a little more work to install my fork right now since you need to use pip to get the dependencies. If you want to try it, I'm happy to help you get it running.


yes to wmc and to be honest talks of more details are beyond my knowledge. it took me a while to get this setup the 1st time and i'm lucky it still works (win 8.1)
is the broadcast IP address this:

LAN
MAC Address:
xxxxx
IP Address:
*192.168.0.1*
Subnet Mask:
255.255.255.0

i initiallly had the beacon set to the tivo IP which was .103. should i change it to .1?

oh actually you triggered a memory. i do believe i ran dan's exe file a while go. i got tired of using my batch file to run pytivo but i still have to do that or it wont run but the tivo icon also is in my taskbar. so i have no clue what is all running


----------



## mlippert

@newsposter gotcha.

So if you've already got beacon set to your tivo's IP, I don't think using the broadcast IP would make much difference, but you can try.

For your LAN the broadcast IP is 192.168.0.255
(.1 is probably your gateway (ie router's) IP address.

If you're using Dan's pyTivo fork, he also used a later version of zeroconf (but he's not using Python 3) so that would have been my only other quick solution to try.

Sorry I can't help more, if I figure out anything else in the next few weeks I'll post back here.


----------



## newsposter

is there any chance having both things installed is causing me issues? when i installed dans i never changed anything on anything. but i guess if i dont run my batch file to start pytivo there cannot be a conflict?

i tried both .1 last night and it made no difference while torgard was on.


----------



## mlippert

@newsposter I think there is a chance of conflict with both installed but you should really ask in the Easier to use pyTivo thread. Although I've seen @Dan203 respond in this thread also.

I'm guessing you meant both .1 and .255 (and yeah that's what I thought once you said you already had the actual IP address of your TiVo in the beacon setting)


----------



## knarf829

Sorry if this has been mentioned before, but I couldn't find it. If I install PyTivo as a service (which is what I'm getting ready to do after years of running it manually from a shortcut to the .py file), can I open a console window at will to see what's going on under the hood and then close the console window without stopping or restarting the service?

The reason I ask is that, for some reason, it takes my Bolt forever to see PyTivo if I stop and restart it (never had issues with my old Premiere XL4), so, for this and other reasons (I'm an info junkie), I'd like to get PyTivo up and running as a service and leave it running, but I'd still like to check the console for info occasionally.


----------



## cwb3106

knarf829 said:


> ...it takes my Bolt forever to see PyTivo...


I have the same problem. Found in another forum that if you unplug/replug in the Ethernet cable, the Bolt will see PyTivo in less than a minute.


----------



## knarf829

cwb3106 said:


> I have the same problem. Found in another forum that if you unplug/replug in the Ethernet cable, the Bolt will see PyTivo in less than a minute.


Thanks. I'm on coax, but it's the same situation. Or it was. In the time since I made that post, the Bolt has stopped seeing pyTivo with any regularity at all. I've been up and down the line unplugging, rebooting, running pyTivo as a service, uninstalling it as a service, zeroconf, this and that beacon setting, connecting via ethernet and then back to MOCA, section for the Tivo itself in the conf, no section for this Tivo in the conf, etc. . It will, at times, pop up when I start pyTivo, but mostly not and with no rhyme or reason as to why it has and, when it does, it stops seeing pyTivo within a few hours.

The other tivos see pyTivo, and they and the bolt all see each other. kmttg sees and retrieves from the Bolt at lightning speed.

I'm going nuts trying to figure this out. With the Premiere XL, it just worked. Now it's a daily struggle.


----------



## newsposter

weird problem. normally i have 2 entries on the tivo. one is 'now playing' with name of my laptop but i dont really understand why its there, nothing is every in it. then i have 'my movies' which is where i normally see what is on my laptop and upload from

ive rebooted both machines but i cannot get my movies back. i see the now playing just fine. i can get thru the interface in my browser and list all the movies on my tivo. but i cannot get my movies on the tivo so i can pull from the laptop. i am pretty sure i never change anything recently in any settings.


----------



## lpwcomp

You have TiVo Desktop running. That's what is creating the "Now Playing" entry.


----------



## newsposter

can i kill tivo desktop with out any issues

i knew as soon as i posted, id find the solution....sorta...somehow the IP address got changed in the configuration, i have my movies back with an exclamation point but i can see the list of movies so i guess i wont worry


----------



## lpwcomp

newsposter said:


> can i kill tivo desktop with out any issues


Yes. You might need pieces of it for some things but it doesn't need to be running. In fact, you don't want it to run as it uses the same port (9032) as pyTivo unless you configure pyTivo to use a different one.


----------



## wmcbrine

lpwcomp said:


> Yes. You might need pieces of it for some things but it doesn't need to be running. In fact, you don't want it to run as it uses the same port (9032) as pyTivo unless you configure pyTivo to use a different one.


Incorrect. They do have a port in common, for the old-style beacons -- 2190 -- but that's only if "listen" is enabled in pyTivo, under "beacon:". They both use port 5353 for Zeroconf/Bonjour, but in a shared mode where there's no conflict. The main port, 9032, is specific to pyTivo -- I don't remember exactly what TiVo Desktop uses there, but it's something like 7288. They can run in parallel with no problem. Also, nothing in pyTivo depends on any piece of TiVo Desktop.


----------



## lpwcomp

wmcbrine said:


> Incorrect. They do have a port in common, for the old-style beacons -- 2190 -- but that's only if "listen" is enabled in pyTivo, under "beacon:". They both use port 5353 for Zeroconf/Bonjour, but in a shared mode where there's no conflict. The main port, 9032, is specific to pyTivo -- I don't remember exactly what TiVo Desktop uses there, but it's something like 7288.


My mistake.



wmcbrine said:


> They can run in parallel with no problem. Also, nothing in pyTivo depends on any piece of TiVo Desktop.


That I knew but other things, such as VRD, do.


----------



## Dan203

lpwcomp said:


> That I knew but other things, such as VRD, do.


My installer includes the TiVo Desktop bit that VRD uses. (i.e. the DirectShow filter)


----------



## newsposter

i know this is something with my setup probably but why would you not be able to see a movie file? its mp4 so nothing weird there but no matter what i do i cannot see it on the tivo. for instance say that movie folder 1 shows (1) meaning theres one movie in it. but even if i move the movie that i cannot see, into that movie folder 1, and the (1) turns into a (2). clearly indicating the movie is in there, i cannot see that movie through the tivo

there's also an issue where i have movies in folders and i cannot see movies that are loaded in the main folder. its like i cannot scroll down. it just jumps back up on the tivo when i hit the down button. i've tried many different movies and even when the movie files show, its hard to get it to even load. unsure how to troubleshoot. rebooted laptop.


----------



## Dan203

Does the movie have any weird Uincode characters in the name? pyTivo can't handle some unicode characters.


----------



## newsposter

i just renamed the movie a short generic name. wouldnt work either in the main directory or in a 'readable' folder with another movie

so let me ask a few silly questions
1. how do you know what port u should be on. 9032 is default but can it work with no number in there. i find changing it sometimes makes things work

2. what should beacon be? tivo itself says 192.168.1.103 so i assume that? or should be the 255.255.255.255?

3 does broadcast address on the tivo mean anything with regards to pytivo

4 if the 'my movies' directory on the tivo has an ! next to it i assume something is amiss. and this is what i need to fix

edit: i dont know what i changed but now no movies at all show up lol..i'm sunk...just folders show up. i had one with 124 kids shows and all not listed now

i notice my settings dont stick. if i ad port 9032 and hit save then restart pytivo it wont be there.


----------



## mlippert

@newsposter 
9032 is the default port and is the port that will be used if that setting is not specified in pytivo.conf. The port is used to access the web interface, and (I'm 98% sure) is the port sent to the TiVos for them to access any shares.

If the share(s) and folders are showing up on the TiVo the port is very unlikely to be the issue. Similarly the beacon value.

The beacon value is probably best left unspecified but otherwise should be a broadcast IP, so either 255.255.255.255 or maybe 192.168.1.255 (in your case).

I'd be curious about debug log messages, you can try adding *debug = on* to the [Server] section in your conf, it might give you more info.

Also did something change with your supporting utilities like ffmpeg? That could be affecting what files are recognized as able to be sent to the TiVo.


----------



## newsposter

i ran a program called pytivosetup that i downloaded in February and now i can at least see some of the movies in the folders. before it was zero. however now again under global server settings the port is empty , beacon is 192 168 1 103 and my MAK number is there. . nothing else. i forgot to tell you sometimes my tivo name/password show up there and sometime they dont. they arent showing now.

the my movies folder on tivo shows no ! anymore.

i checked the debug box just now. i see in the window it says ffmpeg not found so i entered the directory that ffmpeg is in and restarted pytivo. (confimed in config file it is correct) now i'm back to the point where i can pull some movies. however i still have not resolved the initial issue of certain movies just not showing up even after i renamed to something very simple. also still have the folder jumping issue where you press down and the screen jump and seems to stutter

edit when i change beacon to 255 255 255 255 it gives me ! next to my movies so i switch back to .103...actually forget that. now i have ! still with 103 even.

i cannot get the message ffmpeg not found to disappear. so maybe thats it but other than giving the directory what can i do


----------



## mlippert

newsposter said:


> i cannot get the message ffmpeg not found to disappear. so maybe thats it but other than giving the directory what can i do


Huh, while I think we should eventually be able to make this work for you, I think I'd suggest something else first.

I think it would be much easier for you to uninstall the pytivo you've got now (what OS btw?) and to install @Dan203 's PyTivo Desktop. I haven't used it myself, but he's made several improvements including getting it all installed with all necessary dependencies such as ffmpeg.

And the TivoCommunity thread for it is: Easier to use pyTivo 

Check out that thread and see what you think. If you'd rather keep trying to fix your current setup, I'll see if I can think of other ways to diagnose what's going on.


----------



## Dan203

newsposter said:


> i just renamed the movie a short generic name. wouldnt work either in the main directory or in a 'readable' folder with another movie


I think it also tries to read metadata from MP4 files. Does the MP4 have any weird unicode characters in the meta data?


----------



## newsposter

i have python 2 7 3 and tivo desktop in control panel so i'm uninstalling both and will start from scratch. hope its easier than 1st time 

i did have one of dans also running in taskbar from downloading earlier this year


----------



## newsposter

ok i have the new pytivo installed. rebooted machine and the laptop. still have the issue. so here's the situation

these comments have to do with the child's movie folder:

1 a folder has 2 movies. avi and mp4. the avi show up on the tivo but the mp4 does not. however., on the tivo it shows (2) so it knows theres 2 movies there

2 in her directory i have 10 folders with movies but below those folders are just file names not in separate folders. i can see the mkv files but not avi or mp4. this is about 16 movies i cannot see in her folder. 

3. on the tivo i can see a down arrow which indicates there are more files if you scroll down but when you try to scroll down it does a weird jump kind of thing and just shows the current page again

these comments have to do with the top level folder that i call 'tivo shows' and the kids folder (above) is under this folder

4. avi, mkv, mp4 WMV all show up just fine.


----------



## newsposter

new issue. nothing will upload. i tried a few things and nothing is transferring. says will transfer later. no blue light ever goes on and the show is listed in MY SHOWS on tivo with blue light but it is not transferring. i queued up a few and none transferred, i stop and deleted them all

the old batch file i ran pytivo from doesnt work so how can i monitor what s going on?

tried rebooting pytivo from within the program and got this

*Error connecting to pyTivo!*
Verify pyTivo is running and retry

which makes no sense. it IS running lol

i disabled norton firewall and auto protect and same error


----------



## mlippert

OK, 1st where did you get the new version of pytivo you now have installed? I'm just trying to understand what version you have running, whether that is Dan's Pytivo desktop or the latest code in the wmcbrine repository or what.

2nd, if I remember correctly when pytivo runs into certain kinds of errors while reading the files to send to the tivo, it aborts and sends nothing I think this would cause the behavior you're seeing where you push the down arrow to retrieve more (because the original message to the tivo indicated there should be more) but pytivo ends up sending nothing so you stay on that 1st page.

3rd, your new issue should be solvable by rebooting the TiVo. When downloads to the TiVo get interrupted (and sometimes other stuff) the TiVo gets into a "confused" state and nothing downloads from then on. The only way to fix it is to reboot the TiVo.


----------



## newsposter

1st page of the thread linked above to dans program
Download for Windows

rebooted tivo and now the laptop folder wont show up and pytivo keeps saying pytivo isnt running.

was i to have other pytivo programs or just dans?

i have win 8 and i pressed the windows key and say it says pytivodesktop and also pytivo. so i hit pytivo. a tivo guy appeared my taskbar with an X. but dans program did populate with all my shows. however when i tried to transfer one. it just shows up on tivo that its starting but it never starts. and no blue ring on the tivo showing the transfer

i was able to start a transfer using pytivo from the tv to the laptop. unsure if that means anything

when i try to restart pytivo from within the program it wont start but if i use the tray icon it will restart. also been rebooting both machines and still wont upload . when it starts to upload i hit watch now and it just shows the show stopped at 0 minutes and it wont do anything. but if i cancel that show uploading it does move on to the 2nd show but then stops on 0 there too

i guess as last resort ill install all old pytivo stuff. i have many shows to upload because of being away


----------



## newsposter

i gave up. i have a file called pytivosetup from downloading feb 26 and it says version 1.1.0.0

i think thats old dans version? 

regardless, it instantly worked so whatever the differences are, obviously i can only use the old version

didnt resolve the issue of certain files not being able to be uploaded but at least i can upload all i need to now.


----------



## mlippert

newsposter said:


> i gave up. i have a file called pytivosetup from downloading feb 26 and it says version 1.1.0.0
> 
> i think thats old dans version?
> 
> regardless, it instantly worked so whatever the differences are, obviously i can only use the old version
> 
> didnt resolve the issue of certain files not being able to be uploaded but at least i can upload all i need to now.


OK, well I'm glad you've got it mostly working for you again.

Hmm, I remember an issue I had a long time ago, and now that you mention when your pytivo was from it brought it to mind.

The issue was that the ffmpeg I had was old and didn't support h265 encoded video.
I got a new one and was then able to pull those videos to my tivo. I'm not sure that's your problem, but it's the last thing that occurs to me.


----------



## newsposter

another problem now. sigh. the my videos doesnt show up on tivo anymore. i hit windows key and pytivo desktop was there but it says wrong version of pytivo.

also my old batch file no longer starts pytivo

for the fun of it i downloaded new ffmpeg and just tried running it. windows smart screen stopped it and when i went to bypass it norton came up and i said run anyway

wonder if norton was stopping something before

edit: i went back to the 1.1.0.0 version and it works to get my shows on. i still would appreciate help on how ffmpeg should be installed and other ideas to make the other mp4 work


----------



## newsposter

where do you put ffmpeg? just in a folder under C? since i have to reinstall i decided to go with the latest pytivo but it still doesnt work except as before. starts to load but doesnt.


----------



## mlippert

newsposter said:


> where do you put ffmpeg? just in a folder under C? since i have to reinstall i decided to go with the latest pytivo but it still doesnt work except as before. starts to load but doesnt.


I don't recall a maintained version number in any of the older pytivo's so I'm not sure what code corresponds to version 1.1.0.0.

That said I have the latest wmcbrine pytivo (from the github repo) in c:\pyTivo, I put ffmpeg and tivodecode in c:\pyTivo\bin and in my pytivo.conf file in the [Server] section I set:


Code:


ffmpeg = c:\pyTivo\bin\ffmpeg.exe
tivodecode = c:\pyTivo\bin\tivodecode.exe

I'm not actually using that version of pytivo myself anymore, but that is how I had it working. I would just start pytivo via a link on my desktop to C:\pyTivo\pyTivo.py when I wanted it running. I didn't/don't leave it running all the time and I've never tried to run it as a service.

However if you are using pyTivo Desktop, the setup is very different and you should ask for help in its thread.


----------



## newsposter

how do i figure out what i'm using. i know overnight when i closed laptop lid it broke the connection. i had to reinstall and reboot to get the mymovies to appear on my tivo. 

i had gone to the directory and clicked on pytivo and it opened up a cmd window but that didnt make the mymovies appear on tivo. so for now every time i shut the lid i guess i have to reboot or reinstall.


----------



## lpwcomp

Change the power options so that closing the lid doesn't put the computer to sleep/hibernate..


----------



## newsposter

it appears to be reconnecting now. just no idea which version im' using nor how to get it to read those other files


----------



## innocentfreak

I don't remember seeing this issue before, but it may be my new router causing an issue. This weekend I keep getting ghost shares. I only open PyTiVo when I want to use it and I noticed this weekend when I close PyTiVo the shares are sticking around after the fact. The only way I can seem to get rid of them is to reboot the TiVo or pull the network cable. 

I have a new Arris router from FiOS so not sure if there is some setting I need to fix or if it is something with the recent updates to the Bolt. I wasn't sure if anyone else was seeing this though I am guessing most run PyTiVo as a service so they wouldn't.


----------



## wmcbrine

FWIW, the shares will only be removed immediately on pyTivo shutdown when zeroconf is working (and getting through to the TiVo). Otherwise, they'll eventually time out. You might need to check if the router is filtering multicast.


----------



## innocentfreak

That's what it is. I need to just dump this POS actiontec router. I had an older FiOS router which blocks it by default and the page is hidden so I have to dig up the link to stop it from filtering multicast. When I got the new FiOS router I had to reset up the Actiontec, and forgot about the setting.


----------



## mlippert

Hi,
I just wanted to let users of pytivo know that I've made changes for myself that others might find useful.

Upfront disclaimer: I've been the only one using the version w/ my changes so only my use cases have seen any testing.
In particular this means:

it's never been tried on the Mac
I have no idea if running as a service on MS Windows still works
I've mostly been downloading TS files and not decoding them (I do that later w/ VRD)

My major personal impetus for making the changes was to *get better information about the sync errors* when downloading using transport stream (TS) from my tivos and to do that I used @Dan203's changes from his fork. I was also hoping to make finding TiVos on my LAN more reliable (I'm not sure if I succeeded in that or not).

To that end my fork at GitHub - mlippert/pytivo: pyTivo is both an HMO and GoBack server. Similar to TiVo Desktop pyTivo loads many standard video compression codecs and outputs mpeg2 video to the TiVo. However, pyTivo is able to load MANY more file types than TiVo Desktop.:

Converts the existing @wmcbrine codebase from Python 2 to Python 3
removes copied python packages and uses the latest version from the environment (pip)
moves some settings in the pytivo.conf file into a new [togo] section
TS downloads always create a *.syncerr.yaml file detailing the results of the download attempts
I've added an option 'all' to the 'ignore', 'reject', 'best' options created by @Dan203
You can customize the name of downloaded files w/ 2 new conf settings episode_fn & movie_fn
I've tweaked the logging a fair bit in order to get more debug information, but have regular logging be more discerning.

Here's the changelog:


Code:


# Change Log

## [2.5.1] - 2018-02-13

### Fixed

- fix crash getting NPL of a different TiVo than the one with active downloads.

## [2.5.0] - 2018-02-01

### Changed

- add new _ts_error_mode_ value **all** that saves all togo download attempts
- refactor the pyTivo version references in the code and add the version to
  the info page
- Update dependecies
    - mutagen (1.40)


## [2.4.0] - 2018-01-26

### Changed

- config fields for customized togo file naming; _episode_fn_ &  _movie_fn_,
  see [togo/fn_fields.md](./plugins/togo/fn_fields.md) for more info
- change logging priority of httpserver requests from info to debug to reduce
  noise when sending info priority messages to the console

## [2.3.0] - 2018-01-09

Some testing on Windows 7 in addition to Linux

### Changed

- Write a yaml sync error log file for every togo download
- Default to using transport stream downloads
- Update dependecies
    - mutagen (1.39)
    - pytz (2017.3)
    - tzlocal (1.5.1)
- Add a section to the Readme about installing on MS Windows

### Added

- Add some TiVo documentation so it's available in the future if needed.
- Add some development features like a Makefile to help running pylint and
  other development tasks

## [2.2.1] - 2017-07-30

### Fixed

- fix exception putting attempt number in filename
- improve logging

## [2.2.0] - 2017-07-29

### Changed

- Improve the logging during togo downloads
- Implement new ShowInfo class to encapsulate most of the show metadata
- Refactor download thread functionality
- Update dependecies, add tzlocal
    - mutagen (1.38)
    - zeroconf (0.19.1)
    - tzlocal (1.4)

## [2.1.0] - 2017-07-18

### Changed

- Incorporate Dan203's changes for his version PyTivo up through 1.6.7 except the
  pyInstaller and pyTivoTray which were more specifically for PyTivoDesktop and
  Windows & Mac not Linux.
    - Check transport stream (ts) downloads for sync errors
    - TivoDesktop togo file naming
    - support using tivolibre to decode the downloaded .tivo file
- moved togo settings to their own section in pytivo.conf ([togo])

### Fixed

- Implement thread safety for the togo download threads
- Log not finding a binary (e.g. tivodecode) only once per run

### Added

- new dependency
    - pytz (2017.2)


## [2.0.0] - 2017-06-20 (forked to https://github.com/mlippert/pytivo)

Tested only on Linux

### Changed

- Converted from Python 2 to **Python 3**
- Remove local copies of packages, use latest versions from pip
    - zeroconf (0.19.0)
    - mutagen (1.37)
    - cheetah3 (3.0.0)
- Format README with markdown
- Various info added to the README
- Prefix the episode title w/ the episode number when shown in a folder on the TiVo

### Added

- requirements.txt file for use w/ pip to install dependencies

## [1.6.0] - prior to 2017-01-01 (from https://github.com/wmcbrine/pytivo)

### Added

- All functionality of pyTivo up until this time. (I am not aware of any distinct
  versions or releases prior to this time. -mjl)

If you try to use this fork and run into issues, let me know and I'll try to resolve them (no guarantees )


----------



## kbgators

Thank you for the work. 
I haven’t use pyTivo in a long time, since the ability auto-push to the TiVo was removed. Anyone ever get that working?


----------



## fyodor

My understanding is that it is dependent on functionality in the Tivo/Tivo servers that doesn't exist anymore


----------



## lpwcomp

kbgators said:


> Thank you for the work.
> I haven't use pyTivo in a long time, since the ability auto-push to the TiVo was removed. Anyone ever get that working?





fyodor said:


> My understanding is that it is dependent on functionality in the Tivo/Tivo servers that doesn't exist anymore


Yes, it used the TiVo servers to send the request to the TiVo. It was disabled (without notice) in August 2016.


----------



## mlippert

kbgators said:


> Thank you for the work.
> I haven't use pyTivo in a long time, since the ability auto-push to the TiVo was removed. Anyone ever get that working?


You're welcome.

As for push I was about to say exactly what @fyodor said, and @lpwcomp added even more details that I didn't know. (Thanks for that)


----------



## oregonman

mlippert said:


> Hi,
> I just wanted to let users of pytivo know that I've made changes for myself that others might find useful.
> 
> ...
> If you try to use this fork and run into issues, let me know and I'll try to resolve them (no guarantees )


I just recently lost my PC harddrive and with it my working pytivo setup, so I thought I would try your fork. Your github page says:
The netifaces dependency requires Microsoft Visual C++ 14.0. Get it with "Microsoft Visual C++ Build Tools": Download the Visual C++ Build Tools (standalone C++ compiler, libraries and tools))

That page has a download button, but it seems to have a lot of different links to a lot of different packages. Can you tell me specifically what I need to install? I'd prefer not to install a bunch of stuff I don't need. Thanks.


----------



## mlippert

oregonman said:


> I just recently lost my PC harddrive and with it my working pytivo setup, so I thought I would try your fork. Your github page says:
> The netifaces dependency requires Microsoft Visual C++ 14.0. Get it with "Microsoft Visual C++ Build Tools": Download the Visual C++ Build Tools (standalone C++ compiler, libraries and tools))
> 
> That page has a download button, but it seems to have a lot of different links to a lot of different packages. Can you tell me specifically what I need to install? I'd prefer not to install a bunch of stuff I don't need. Thanks.


Gotcha, yeah that readme can use more work (yikes I just took another look, a lot more work if I expect people to install w/o handholding!), I'm happy to take feedback (like this) to improve it. I know it's got superfluous info on it right now. You're the 1st person I know of trying my fork (other than me).

So The llnk above has a big purple box which is a link to: Downloads | IDE, Code, & Team Foundation Server | Visual Studio

And yes I see a ton of other download links on that page. I'm pretty sure the one you want is titled "Build Tools for Visual Studio 2017" and the download link next to it is: https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=15

That led to downloading vs_buildtools__246959477.1520043160.exe
That doesn't exactly match the saved download file I have which is named visualcppbuildtools_full.exe but there is a possibility that I renamed it to make it more recognizable. I think it's more likely that MS changed the download somewhat.

What I have installed is listed as "_Microsoft Visual C++ Build Tools_" version 14.0.25420.1 in Programs and Features.

OK, I ran that downloaded vs_buildtools file and it brought up a Visual Studio installer which had an option to install several things, the only one I think you care to install is "_Visual C++ build tools_". I couldn't test further as I didn't want to overwrite my previous install.

If you run into any other issues, please let me know.


----------



## 19972000muskrat

lpwcomp said:


> Try using an older version of ffmpeg (I use one from August 2014) with pyTivo and/or decrypting the .tivo files and transferring the mpg file.
> 
> Another thing: presumably the PC and the TiVo are not direct connected so the switch could be the source of problem.


 So how does one install the older version. I need to use it with pyTivo Desktop.


----------



## saberman

When installing pyTivo from on Windows Pro x64 do we need the x64 or x32 versions of Python, FFmpeg and pywin? Logically it should be the x64 versions but logic has never been part of the Microsoft Windows world.


----------



## wmcbrine

Either should work, as long as you're consistent. I'd go with the 64-bit versions.


----------



## Soapm

Hello,

I'm trying to download shows from my Tivo Premier, I'm getting the audio but no video when I use pyTivo. It just sits when I check the TS box. I understood it was the format (I have xfinity) when I had this problem with my TivoHD but I'm now having the exact same problem with my Tivo Premier.

Any suggestions how to fix this?


----------



## mattack

you say 'it just sits'. Do you mean it hangs? if so, try kmttg.

Though I have *ALSO* run into _some_ shows (CNN HD, as an example) that still end up with audio but no video EVEN in TS mode... but I successfully use kmttg to get other channels' shows in TS mode just fine..

(I download broadcast channels and SD channels -- yes I still record various things in SD for space reasons -- in regular MPEG.. especially because TS downloads can have unpredictable glitches in them, due to faults on the Tivo's end IIRC.)


----------



## Soapm

I am trying KMTTG but having problems with it also, but by just sits I mean is stays "queued" and never starts transferring.


----------



## mattack

That is very strange.. then I guess the last try is the built in web server in the Tivo directly.. but I don't know if you can get TS downloads that way... (Though I think that's 'all' kmttg does, is talk directly to the web server..)


----------



## HerronScott

mattack said:


> That is very strange.. then I guess the last try is the built in web server in the Tivo directly.. but I don't know if you can get TS downloads that way... (Though I think that's 'all' kmttg does, is talk directly to the web server..)


Yes, you can with a Premiere or newer.

Scott


----------



## Soapm

I am revisiting all my settings, what do you guys suggest for mind server? I have 204.176.49.65:8181 but wondering if there's a better setting and what symptoms would I see if the setting is wrong (not working).

Also, I have -threads 2 for ffmpeg. I have a quad core processor, do this help any?


----------



## wmcbrine

Soapm said:


> I am revisiting all my settings, what do you guys suggest for mind server? I have 204.176.49.65:8181 but wondering if there's a better setting and what symptoms would I see if the setting is wrong (not working).
> 
> Also, I have -threads 2 for ffmpeg. I have a quad core processor, do this help any?


Mind server is irrelevant now. It was used for Push, but Push is dead.

I think modern FFmpeg automatically uses an optimal number of threads if you omit that option.


----------



## Soapm

wmcbrine said:


> Mind server is irrelevant now. It was used for Push, but Push is dead.
> 
> I think modern FFmpeg automatically uses an optimal number of threads if you omit that option.


Cool, you gave me two answers in one...

1. I can remove those settings...

2. They're not my problem...

thanks.


----------



## Soapm

Soapm said:


> Cool, you gave me two answers in one...
> 
> 1. I can remove those settings...
> 
> 2. They're not my problem...
> 
> thanks.


Weirdest thing, all I remember doing is removing those two settings and now I'm able to transfer shows from my TivoHD. I guess the config file just needed refreshing or something.


----------



## Soapm

I am having trouble with the audio of files encoded with Video Redo being played on my TivoHD and Premier. The sound goes in and out and then garbles (like when you'd turn a reel to reel tape fast by hand). My pyTivo settings were changed to default in the HD Tivo section and here is the mediainfo on one of the files in question; Anyone see a reason this file shouldn't transfer and play just fine to my Tivo's.

Ps...The files play just fine on the pc using media player classic and I've verified that my debian 9.5 (stretch) video server has ffmpeg 7:3.2.12-1. I'm puzzled why they won't play on either Tivo???

ps..s ps... Other shows play fine on my Tivo's, the problem seems limited to the shows I've recently processed using Video Redo TVSuite5.



Code:


General
Complete name                            : Patton 360 - s01e01 - Blood & Guts (North Africa, November - December 1942).mp4
Format                                   : MPEG-4
Format profile                           : Base Media
Codec ID                                 : isom (isom/iso2/mp41)
File size                                : 743 MiB
Duration                                 : 42 min 35 s
Overall bit rate mode                    : Variable
Overall bit rate                         : 2 440 kb/s
Movie name                               :  E Mng 1-
Law rating                               : TV-PG (V)
Encoded date                             : UTC 1904-01-01 00:00:00
Tagged date                              : UTC 1904-01-01 00:00:00
Writing application                      : VideoReDo (Lavf56.25.101)

Video
ID                                       : 1
Format                                   : MPEG Video
Format version                           : Version 2
Format profile                           : [email protected]
Format settings, BVOP                    : Yes
Format settings, Matrix                  : Custom
Format settings, GOP                     : Variable
Codec ID                                 : 61
Duration                                 : 34 min 20 s
Bit rate mode                            : Variable
Bit rate                                 : 2 781 kb/s
Maximum bit rate                         : 15.0 Mb/s
Width                                    : 704 pixels
Height                                   : 480 pixels
Display aspect ratio                     : 4:3
Frame rate mode                          : Constant
Frame rate                               : 29.970 (30000/1001) FPS
Standard                                 : NTSC
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Compression mode                         : Lossy
Bits/(Pixel*Frame)                       : 0.275
Time code of first frame                 : 00:00:00;00
Time code source                         : Group of pictures header
GOP, Open/Closed                         : Open
GOP, Open/Closed of first frame          : Closed
Stream size                              : 683 MiB (92%)
Encoded date                             : UTC 1904-01-01 00:00:00
Tagged date                              : UTC 1904-01-01 00:00:00

Audio
ID                                       : 2
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Mode extension                           : CM (complete main)
Format settings, Endianness              : Big
Codec ID                                 : ac-3
Duration                                 : 42 min 35 s
Bit rate mode                            : Constant
Bit rate                                 : 192 kb/s
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Sampling rate                            : 48.0 kHz
Frame rate                               : 31.250 FPS (1536 spf)
Bit depth                                : 16 bits
Compression mode                         : Lossy
Stream size                              : 58.5 MiB (8%)
Language                                 : English
Default                                  : Yes
Alternate group                          : 1
Encoded date                             : UTC 1904-01-01 00:00:00
Tagged date                              : UTC 1904-01-01 00:00:00

Text #1
ID                                       : 1-CC1
Format                                   : EIA-608
Muxing mode                              : A/53 / DTVCC Transport
Muxing mode, more info                   : Muxed in Video #1
Duration                                 : 34 min 20 s
Bit rate mode                            : Constant
Stream size                              : 0.00 Byte (0%)
Encoded stream size                      : 0.00 Byte (0%)

Text #2
ID                                       : 1-CC3
Format                                   : EIA-608
Muxing mode                              : A/53 / DTVCC Transport
Muxing mode, more info                   : Muxed in Video #1
Duration                                 : 34 min 20 s
Bit rate mode                            : Constant
Stream size                              : 0.00 Byte (0%)
Encoded stream size                      : 0.00 Byte (0%)

Text #3
ID                                       : 1-CC1
Format                                   : EIA-608
Muxing mode                              : SCTE 20
Muxing mode, more info                   : Muxed in Video #1
Duration                                 : 34 min 20 s
Bit rate mode                            : Constant
Stream size                              : 0.00 Byte (0%)
Encoded stream size                      : 0.00 Byte (0%)

Text #4
ID                                       : 1-CC3
Format                                   : EIA-608
Muxing mode                              : SCTE 20
Muxing mode, more info                   : Muxed in Video #1
Duration                                 : 34 min 20 s
Bit rate mode                            : Constant
Stream size                              : 0.00 Byte (0%)
Encoded stream size                      : 0.00 Byte (0%)

Edited to add... Just noticed something, any reason the audio and video duration's would be different?

File Duration : 42 min 35 s
Video Duration : 34 min 20 s
Audio Duration : 42 min 35 s

Edited again to add: I did one of the shows again with VideoRedo v3 and it works flawlessly, it appears the problem is something to do with VideoRedo TV Suite V5 so I will look for help with that elsewhere. I need a break knowing that I took the last week off to get my Tivo cleared off (and some honey do's) and just learned that that the audio is messed up in all the shows I've done in VideoRedo v5. I'm a little frustrated right now knowing we're talking hundreds of shows, some of which I deleted from the Tivo thinking I had them edited and on my video server...


----------



## Marconi

Couple of questions/issues. (Note that I'm using Macs.)

I use pyTiVo (don't know the version - haven't updated in years) primarily for watching episodes of whole series I have archived with KMTTG. Occasionally, however, I'd like to play back a season of something I have on DVD. Let's face it, TiVo playback is superior to any optical player, so I'd like to rip the DVD episodes and serve them to my TiVo with pyTiVo. 

The problem I have with this is that I need the closed captions/subtitles. I'm currently using a ripper that works to add the subtitles to each ripped file, but when I transfer the files to TiVo using pyTiVo, the CCs are lost in the transcoding. I figure it must be a configuration problem on my end.

The subtitles are definitely there and play fine on my various Mac player apps. Tivo just says there are none. (TiVo also says the audio format is "unrecognized," though the sound plays okay.)

Can anyone help with what I need to do to get CCs to survive the transcoding process? ( I routinely transfer back recordings that were saved from TiVo and the CCs survive the trip back.)

Related: I have never been able to download (kmttg) an HD recording and get it to go back via pyTiVo. 

The pyTiVo server settings have spots for both SD and HD settings, though all are blank.


----------



## mattack

Marconi said:


> Related: I have never been able to download (kmttg) an HD recording and get it to go back via pyTiVo.


I don't really know the CC problem. totally hand-wavey guess: There will probably be a way you can "reencode" the video/CC streams without actually changing the quality (and much faster). I have RARELY seen CC missing even on a show I downloaded directly from the Tivo.. But I think basically the CC must be there in a different format... and the Tivo only needs to know how to deal with couple of formats it ever deals with in the real world.

About the HD recording part -- are you able to play those recordings on your Mac fine? If SO, this isn't the problem. If NOT... if they appear to just be audio... then you're hosed because you didn't actually download them correctly. Nowadays, most(*) HD channels are using MPEG 4, so you have to download them from the Tivo in Transport Stream format. But, since Transport Stream downloads CAN have glitches in them (AFAIK, due to bugs on Tivo's end), you want to only use it when necessary.

(*) The HD broadcast channels are "still" MPEG 2. Which means you can still download them the "old" way. This also means they're much larger (up to ~6 gigs/hour vs around a gig an hour for MPEG 4). Though tangentially, I have a few things, like CNNHD recordings, that I can't download anymore even in Transport Stream format.. They still end up as audio only recordings.


----------



## Marconi

mattack said:


> I don't really know the CC problem. ...
> 
> About the HD recording part -- are you able to play those recordings on your Mac fine?


Yes. It is in transferring them back to a TiVo where it fails.


----------



## mattack

Then I don't get it, since that part works for me fine (both TS and PS downloads).. and AFAIK, I don't have any extra stuff beyond the initial pytivo download -- except I seem to remember you do an initial download of "tools" (hopefully I'm not confusing this with kmttg).. but beyond that, I haven't added any extra..

and have used pytivo to transfer SD & HD recordings back.. and used streambaby too (so I can still watch with Tivo UI without taking up the space for the transfer)..


----------



## wmcbrine

Subtitles and closed captions are different things. CC is rendered from text by the playback device; DVD subtitles are pre-rendered graphics, stored as a separate stream. TiVos don't support DVD subtitles, unless you reencode the video with the subtitles merged in as a new, single video stream (but then you can't turn the subtitles off).

Common rip formats have their own ways to encode plain-text subtitles, but the TiVo will only handle CC (or the burned-in kind). pyTivo can't translate these other formats to CC. (Streambaby can display them, using an HME overlay.)


----------



## Marconi

wmcbrine said:


> Subtitles and closed captions are different things.... DVD subtitles are pre-rendered graphics, stored as a separate stream.


I had no idea. That explains a lot. Thanks.

I guess I can stop chasing that wild goose.

Now if I can just figure out how to burn the subtitles into the video while ripping using Mac DVD Ripper Pro (MDRP).


----------



## mattack

wmcbrine said:


> Subtitles and closed captions are different things. CC is rendered from text by the playback device; DVD subtitles are pre-rendered graphics, stored as a separate stream. TiVos don't support DVD subtitles, unless you reencode the video with the subtitles merged in as a new, single video stream (but then you can't turn the subtitles off).


argh, yes I know that.. sorry.. (I'm argh-ing at myself..)

Though I swear DVDs also often/usually did have old style CC *also* which you would see if you turned on the TV's CC and not the DVD player's subtitles.


----------



## Soapm

Hey all, since upgrading my debian video server to buster, I haven't been able to get the web version of pyTivo to connect to my TivoHD Series 3. I'm getting the below error...

It connects to my series 4 Tivo just fine, I can also pull movies from the video server using the TivoHD. I'm puzzled, did Tivo make a change to the mind server or something???

PS... The MAK hasn't been changed in the config file and it's the same as my series 4 tivo so I'm sure that's correct.



Code:


pyTivo was unable to connect to the TiVo at 192.168.0.xxx.

This is most likely caused by an incorrect Media Access Key. Please return to the Settings page and double check your tivo_mak setting.

<urlopen error [SSL: UNSUPPORTED_PROTOCOL] unsupported protocol (_ssl.c:727)>

ps... ps... KMTTG is working fine with that Tivo???


----------



## wmcbrine

Soapm said:


> I'm puzzled, did Tivo make a change to the mind server or something?


The mind server is long dead, at least for our purposes (push).



> _PS... The MAK hasn't been changed in the config file and it's the same as my series 4 tivo so I'm sure that's correct._


You can ignore that; it's just generic advice. In this case, we have an explicit error message, "SSL: UNSUPPORTED_PROTOCOL".



> _ps... ps... KMTTG is working fine with that Tivo?_


It doesn't use Python. I can only guess that the problem is due to a change in the Python version that comes with your updated distro. Presumably, the Series 3 (with its old software) is wanting an SSL variant that's no longer supported. But I dunno. I'll look into it, but, I no longer have a working Series 3 myself.


----------



## Soapm

wmcbrine said:


> The mind server is long dead, at least for our purposes (push).
> 
> You can ignore that; it's just generic advice. In this case, we have an explicit error message, "SSL: UNSUPPORTED_PROTOCOL".
> 
> It doesn't use Python. I can only guess that the problem is due to a change in the Python version that comes with your updated distro. Presumably, the Series 3 (with its old software) is wanting an SSL variant that's no longer supported. But I dunno. I'll look into it, but, I no longer have a working Series 3 myself.


Is there anything I can do to help you look into it (short of sending you my series 3 Tivo)? Can I make some test or send some logs from my server? I'm not good with Debian but I can follow instructions if you tell me what to do.

ps... During the update I recall it asking to delete obsolete files, I remember several python's being in that list even though I have a grip of them left. Is it possible to reinstall that flavor?



Code:


[email protected]:/# ls /usr/bin/python*
/usr/bin/python            /usr/bin/python2-config  /usr/bin/python3m
/usr/bin/python2           /usr/bin/python3         /usr/bin/python-config
/usr/bin/python2.7         /usr/bin/python3.7       /usr/bin/pythontex
/usr/bin/python2.7-config  /usr/bin/python3.7m      /usr/bin/pythontex3


----------



## mlippert

@Soapm I'm curious what version of python you are now using to run pytivo. If you run


Code:


python --version

 from a terminal window it will tell you.

@Soapm I wonder what version of pytivo you're running. I guess the question there is where did you get it from and when?

@wmcbrine you inspired a quick google which found this stackoverflow
python ssl ssl.SSLError: [SSL: UNSUPPORTED_PROTOCOL] unsupported protocol (_ssl.c:590)

However, I think you might have addressed this a while back. I see one commit mentioning ssl 6b352c204a2c0bda49bbd9e2edbac1f3789a30bc on 12/23/2014 with a commit message of 


> Restore pre-Python-2.7.9 behavior. Neither individual TiVos' nor
> (apparently) the mind server's SSL certificates validate. Reported by
> "dcrowell77".


So maybe something else changed or @Soapm is using a particularly old version of pytivo?


----------



## Soapm

Code:


[email protected]:/# python --version
Python 2.7.16

I use "git pull" to update my pyTivo, unfortunately I don't know how to get the version but it says;



Code:


[email protected]:/pyTivo# git pull
Already up to date.


----------



## mlippert

@Soapm that info should prove useful in trying to figure this out (I'm not actually looking into it but I think it will help @wmcbrine)

These 2 commands may also provide useful information about your setup.
"_git remote -v_" will tell where your pytivo comes from, and "_git show -s_" will tell us about the commit that is in your working directory.


----------



## Soapm

Code:


[email protected]:/pyTivo# git remote -v
origin  git://repo.or.cz/pyTivo/wmcbrine.git (fetch)
origin  git://repo.or.cz/pyTivo/wmcbrine.git (push)




Code:


[email protected]:/pyTivo# git show -s
commit 4e5f85739767287098c977276a4fdb55e1f39735 (HEAD -> master, origin/master, origin/HEAD)
Author: William McBrine <[email protected]>
Date:   Wed May 9 06:02:42 2018 -0400

 Still need to skip "_tivo_4K" sections when building list of found TiVos.


----------



## wmcbrine

mlippert said:


> So maybe something else changed or @Soapm is using a particularly old version of pytivo?


No, he's just using a particularly new version of Python, and pyTivo has _not_ been updated to address _this_ SSL problem. I don't need more info, thanks.


----------



## Hcour

Not sure if you take suggestions but, if possible, it would be great if pyTivo could show how much space is free on the Tivo hard drive.


----------



## mattack

I think I posted about this a while ago. But I have some recordings that I can't transfer BACK to the Tivo with pytivo because there's an error shown.. it's like the video has some sort of error in it. I will try to remember to copy the info the next time I see it.

But these were absolutely 'raw' recordings downloaded from Tivo (in PS format) and only decoded.. no other modification done.

I guess I'm wondering how to do a simple "verify/sanity check/convert only if absolutely necessary" kind of step in pytivo? if necessary, I could have it always reencode I guess, but that's way slower than realtime, I presume.


----------



## Dan203

Hcour said:


> Not sure if you take suggestions but, if possible, it would be great if pyTivo could show how much space is free on the Tivo hard drive.


Not possible as that information isn't accessible with the http API that pyTivo uses. kmttg uses a newer mind/rpc API that has access to all sorts of information like this, but it requires a certificate which they current hack out of the iOS app. I considered adding mind/rpc support to pyTivo at one point but I was concerned that the certificate would get revoked and it would break the product.


----------



## Dan203

mattack said:


> I think I posted about this a while ago. But I have some recordings that I can't transfer BACK to the Tivo with pytivo because there's an error shown.. it's like the video has some sort of error in it. I will try to remember to copy the info the next time I see it.
> 
> But these were absolutely 'raw' recordings downloaded from Tivo (in PS format) and only decoded.. no other modification done.
> 
> I guess I'm wondering how to do a simple "verify/sanity check/convert only if absolutely necessary" kind of step in pytivo? if necessary, I could have it always reencode I guess, but that's way slower than realtime, I presume.


Have you tried running them through VideoReDo QuickStream Fix? It might be able to repair the issue and allow you to transfer them back properly.


----------



## mattack

I'm on a Mac, I have none of that Windows voodoo. I have ffmpeg and whatever other CLI programs I had to install for pytivo and/or kmttg (though I guess the kmttg ones are in its folder so not known about by the system in general).


----------



## Dan203

mattack said:


> I'm on a Mac, I have none of that Windows voodoo. I have ffmpeg and whatever other CLI programs I had to install for pytivo and/or kmttg (though I guess the kmttg ones are in its folder so not known about by the system in general).


There is a version of tivolibre included with the pyTivo Desktop install. It has a commandline option that will strip these errors. You could try that and see if it allows the file to transfer back. It's not perfect, as it just chops them out as byte blocks, but it might allow the TiVo to process the transfer to the end


----------



## mattack

I don't run the 'desktop' version (I just run pytivo.py) but I'll look for that.. thanks.. yeah, just chopping off a bit at the beginning (I hope) is good enough, since I still have the whole file on my computer. Though it's strange they would download and play, but not transfer back.


----------



## ccrider2

Anyone getting Windows 10 Defender flagging the latest version of PyTiVo _1.6.21 with a Trojan:Win32/Casdet!rfn ?
Should I worry or ....let Defender quarantine this? i.e. quit using the app.
Hoping not; as I find PyTiVo quite handy.


----------



## wmcbrine

Highly unlikely to be accurate, especially since pyTivo isn't even distributed as a Win32 anything. Unless you meant to post this in the "pyTivo Desktop" thread...


----------



## Yuterald

I got that too but I downloaded the latest version (he uploaded like 3 versions in 3 days) and it appears to have been resolved. I'll find out when it runs it's auto-scan again though.


----------



## ccrider2

wmcbrine said:


> Highly unlikely to be accurate, especially since pyTivo isn't even distributed as a Win32 anything. Unless you meant to post this in the "pyTivo Desktop" thread...


I guess I didn't know there was a difference between the two. I installed PyTiVo mainly for the codec's it provided many years ago and use KMTTG as my go-to down-loader of choice; never tried uploading edited content though. But the desktop app will run if I choose to start it. (much better than TiVo's Desktop archaic program) 
I tried to register for the PyTiVo Forum, but kept getting failures with the 'spam filtering check-boxes' and gave up after exceeding my limit.

Thank you; for your response to my issue.


----------



## ccrider2

Yuterald said:


> I got that too but I downloaded the latest version (he uploaded like 3 versions in 3 days) and it appears to have been resolved. I'll find out when it runs it's auto-scan again though.


Thanks for the info...
I just checked and the latest version is the same as I was already running; downloaded it again and reinstalled. Defender's Quick Scan shows OK... hopefully it won't choke on an auto-scan. Time will tell; perhaps M.S. Security fixed a problem.


----------



## fotoryder

I'm trying to get wmcbrine's pyTivo to run on my Windows 7 laptop. I got it installed, and it iis seen on my Series 3 and Premier TiVos, and I can pull from one TiVo to another, and pull from laptop to Tivos, but I cant pull from a TiVo to my laptop. On the webpage it stays on "Initiating Transfer".
I'm running the current version of pyTivo, downloaded at the end of last week, and Python2.7 whatever the current version is.
I'm attaching the log files.

Is this a error with a share path?

Thanks for the insight,
Steve

edit - added Python version


----------



## Dan203

fotoryder said:


> I'm trying to get wmcbrine's pyTivo to run on my Windows 7 laptop. I got it installed, and it iis seen on my Series 3 and Premier TiVos, and I can pull from one TiVo to another, and pull from laptop to Tivos, but I cant pull from a TiVo to my laptop. On the webpage it stays on "Initiating Transfer".
> I'm running the current version of pyTivo, downloaded at the end of last week, and Python2.7 whatever the current version is.
> I'm attaching the log files.
> 
> Is this a error with a share path?
> 
> Thanks for the insight,
> Steve
> 
> edit - added Python version


Why? Why not just use pyTivo Desktop? Easy to install and has a UI that actually works for downloading.


----------



## wmcbrine

fotoryder said:


> Is this a error with a share path?


It kinda looks like the pyTivo process lacks write access to the directory you told it to write to (the ToGo path), or else, that directory doesn't exist.


----------



## wmcbrine

Dan203 said:


> Why? Why not just use pyTivo Desktop? Easy to install and has a UI that actually works for downloading.


 My fork works fine for downloading, thanks.


----------



## fotoryder

wmcbrine said:


> It kinda looks like the pyTivo process lacks write access to the directory you told it to write to (the ToGo path), or else, that directory doesn't exist.


I tried changed the output path to a different directory. The pull still fails, but not tivodecode generates the error


----------



## Dan203

wmcbrine said:


> My fork works fine for downloading, thanks.


The UI is messed up. The TiVo returns junk pagination info if you have any streaming only one passes. Or have you since fixed that? I had to use a different technique to make sure I load all the shows.


----------



## wmcbrine

fotoryder said:


> I tried changed the output path to a different directory. The pull still fails, but not tivodecode generates the error


Yeah, that's a different problem. Try another build of tivodecode[-ng?], or download the recording in program stream mode (assuming it's not h.264). Or, download without decoding, and do that step separately (e.g. with tivolibre).


----------



## Dan203

Just so you know I'm not trying to give you any flak. The vast majority of the pyTivo code in my build is still from your fork. Most of the changes I made were just to support the UI. All the heavy lifting is still mostly yours. I think my main contributions to the download part were the error checking and the ability to do VideoReDo post processing, which is self serving. I also switched to using tivolibre rather than tivodecode as I found it to be more reliable. You're free to take the tivolibre.exe from my fork and apply it to yours if you want. I wrapped it in an exe because it allowed me to bundle the JRE with the exe so I didn't have to have the user install java.


----------



## Dan203

ccrider2 said:


> Anyone getting Windows 10 Defender flagging the latest version of PyTiVo _1.6.21 with a Trojan:Win32/Casdet!rfn ?
> Should I worry or ....let Defender quarantine this? i.e. quit using the app.
> Hoping not; as I find PyTiVo quite handy.
> View attachment 45129


Yeah not sure what's causing that. It happened before I started signing the exes so it's not that. And the only changes I made were minor. The only big change I made was that I switched to a different HTTPS certificate on my website, so maybe windows is flagging it because of that?


----------



## fotoryder

wmcbrine said:


> Yeah, that's a different problem. Try another build of tivodecode[-ng?], or download the recording in program stream mode (assuming it's not h.264). Or, download without decoding, and do that step separately (e.g. with tivolibre).


I got the pull to the PC to work by turning off Transport Stream mode. Thanks for the help to get this setup.

I've read most of the messages in this thread and the pyTivo Wiki. is there something you'd recommend a new user read to better troubleshoot this process? I've been a business programmer, and I'm picking up PLC programming, so I'm not afraind of learning.

Thanks


----------



## Dan203

fotoryder said:


> I got the pull to the PC to work by turning off Transport Stream mode. Thanks for the help to get this setup.
> 
> I've read most of the messages in this thread and the pyTivo Wiki. is there something you'd recommend a new user read to better troubleshoot this process? I've been a business programmer, and I'm picking up PLC programming, so I'm not afraind of learning.
> 
> Thanks


Seriously why? If you're running Windows why not just use pyTivo Desktop? Are you just in it for the challenge?

The code under the hood is 99% the same. My github is forked from wmcbrine. I just packed it up in an easy to install package with a nice UI. It's completely free and should take a few seconds to setup.


----------



## fotoryder

Dan203 said:


> Seriously why? If you're running Windows why not just use pyTivo Desktop? Are you just in it for the challenge?
> 
> The code under the hood is 99% the same. My github is forked from wmcbrine. I just packed it up in an easy to install package with a nice UI. It's completely free and should take a few seconds to setup.


Dan,

As a software developer myself, I understand the time and effort to required to develop these packages, But why are you now working so hard to discourage others from learning your "secret incantation"?

I'm an old techie dinosaur, having started playing with computers with a VIC-20 an original IBM PC with MS-DOS, and a Sperry-Univac mainframe. I'm often content to just use tools others have developed, but this is one area I'm interested in exploring what's under the covers.


----------



## mlippert

fotoryder said:


> but this is one area I'm interested in exploring what's under the covers.


I had the same interest a while back and there were a couple of things I wanted to add to pytivo, so I built on wmcbrine's pytivo fork. I tried to have good commit messages as I was going, and I converted it to Python 3 as my 1st step.
If you want to look at it as well, you can find it at mlippert/pytivo

[edit] I use it for all TS downloads from my TiVos (running on linux) so it is still working just fine although I haven't made any updates in a while. I haven't really verified getting it working on Windows and I don't do anything at all w/ Macs.


----------



## Dan203

fotoryder said:


> Dan,
> 
> As a software developer myself, I understand the time and effort to required to develop these packages, But why are you now working so hard to discourage others from learning your "secret incantation"?
> 
> I'm an old techie dinosaur, having started playing with computers with a VIC-20 an original IBM PC with MS-DOS, and a Sperry-Univac mainframe. I'm often content to just use tools others have developed, but this is one area I'm interested in exploring what's under the covers.


I'm not working hard to "discourage others from learning my secret incantation", I'm just trying to save you time. All the code for pyTivo Desktop is on GitHub including the build scripts and installer scripts. I'm just trying to offer a simpler solution for using pyTivo, which I think is great. Before I did the whole Desktop thing I still offered a version that just had the installer and the tray app, along with a rudimentary UI for common settings, because I wanted to promote the use of pyTivo but feel it's much to difficult for most people to setup and get running. That's why the title of my thread is "Easier to use pyTivo", because it predates Desktop.

pyTivo Desktop literally takes 2 minutes to install and is free. Why bother futzing with the pure python version, which is clearly giving you trouble? If you really want to transverse the source it's on my GitHub.

The whole point of pyTivo Desktop and it's predecessor "easier to use pyTivo" was to eliminate the exact type of issues you're having.


----------



## fotoryder

mlippert said:


> I had the same interest a while back and there were a couple of things I wanted to add to pytivo, so I built on wmcbrine's pytivo fork. I tried to have good commit messages as I was going, and I converted it to Python 3 as my 1st step.
> If you want to look at it as well, you can find it at mlippert/pytivo
> 
> [edit] I use it for all TS downloads from my TiVos (running on linux) so it is still working just fine although I haven't made any updates in a while. I haven't really verified getting it working on Windows and I don't do anything at all w/ Macs.


I'll be looking at this Python 3 version. I haven't programmed with Python at all, so this will let me see the newer update of Python. I've seen the struggles of version conversions in other languages before.


----------



## mlippert

fotoryder said:


> I'll be looking at this Python 3 version


Great. Let me know if you've got questions, with any luck I can answer them. You can DM me here, or ask in this thread.


----------



## Wil

>successor

predecessor


----------



## Dan203

Wil said:


> >successor
> 
> predecessor


No idea what you're talking about. #modpowers


----------



## Soapm

As of today, my Tivo HD doesn't see my Tivo Premier and my Tivo HD doesn't see my pyTivo shares.

Was there some kind of change I didn't know about? I can see my shares from my Tivo premier but they're not appearing on my Tivo HD

Is there a test I can do to see what might be up?


----------



## Soapm

Never mind, I had updated the firmware on my router which seems to have caused the problem. I downgraded the firmware and I can see the shares again. What gives???


----------



## wmcbrine

Soapm said:


> Never mind, I had updated the firmware on my router which seems to have caused the problem. I downgraded the firmware and I can see the shares again. What gives???


Probably blocking multicast packets.


----------



## lesrhorer

I have been having this problem for a very longtime, and it is getting more frustrating by the day. I cannot download videos to my two leased TiVos. Downloads to my owned TiVos work just fine. I can see the shares, and I can see the videos listed in the shares, but every show has an X by it, and selecting a video does nothing. I am not sure how to proceed.

The leased TiVos are premiers, BTW.


----------



## Dan203

lesrhorer said:


> I have been having this problem for a very longtime, and it is getting more frustrating by the day. I cannot download videos to my two leased TiVos. Downloads to my owned TiVos work just fine. I can see the shares, and I can see the videos listed in the shares, but every show has an X by it, and selecting a video does nothing. I am not sure how to proceed.
> 
> The leased TiVos are premiers, BTW.


The cable companies have the ability to limit functionality on leased units. Your cable company probably disabled the ability to transfer PC to TiVo.


----------



## mlippert

lesrhorer said:


> I have been having this problem for a very longtime, and it is getting more frustrating by the day. I cannot download videos to my two leased TiVos. Downloads to my owned TiVos work just fine. I can see the shares, and I can see the videos listed in the shares, but every show has an X by it, and selecting a video does nothing. I am not sure how to proceed.
> 
> The leased TiVos are premiers, BTW.


There are 2 things I can think of that might cause this.
1. What UI version are the leased TiVos running? The Hydra version doesn't support downloading.
2. I'd bet that the leased TiVos have a different MAK than the ones you own. If you change the MAK on pytivo you may be able to see it, and pull videos from the leased tivos. (Actually re-reading your post, you can see the shares now, so that sounds like @Dan203 's theory is more likely)


----------



## lesrhorer

mlippert said:


> There are 2 things I can think of that might cause this.
> 1. What UI version are the leased TiVos running? The Hydra version doesn't support downloading.
> 2. I'd bet that the leased TiVos have a different MAK than the ones you own. If you change the MAK on pytivo you may be able to see it, and pull videos from the leased tivos. (Actually re-reading your post, you can see the shares now, so that sounds like @Dan203 's theory is more likely)


Yeah, a MAK is not required for transfers to the TiVo. I can transfer from them, just not to them. I am not sure where to look for the UI version. The software version is 20.7.4B.RC3-750-2-750


----------



## Dan203

lesrhorer said:


> Yeah, a MAK is not required for transfers to the TiVo. I can transfer from them, just not to them. I am not sure where to look for the UI version. The software version is 20.7.4B.RC3-750-2-750


Premiere units don't support Hydra so you're fine there. Plus you say you can see the shares just not transfer from them. That is a sure sign that your cable company has imposed a limitation.

Unfortunately apps on the Premiere units are really slow so using Plex isn't really a viable option either.

Using a secondary device like a Roku or Fire TV is probably your best bet.


----------



## lesrhorer

No, I am just going to dump the leased boxes. They suck, any way.


----------



## Dan203

lesrhorer said:


> No, I am just going to dump the leased boxes. They suck, any way.


Yeah Premier units are pretty terrible.


----------



## lesrhorer

Oh, they are bad enough by themselves, but ths company has apparently killed the ability to upload files to the TiVo via anything but Plex, and taken back ownership of the units so I can't transfer between my own TiVos and theirs. They did all this about two years ago and won't even acknowledge they did it. They keep pointing fingers at TiVo. I've had it.


----------



## lesrhorer

Leased TiVo sent back and a 6T Premiere put in its place. I still much prefer my Series III TiVos, but it gets the job done. Mostly.


----------



## Dan203

You should look for a Roamio or Bolt. They have a much better user experience than the Premiere. The Premiere is probably the worst TiVo ever made.


----------



## lesrhorer

Hard to argue that, although I would nominate the Series II. At least the Premiere has SD menus, though, and it was cheap, even with Lifetime service.


----------



## HerronScott

lesrhorer said:


> Hard to argue that, although I would nominate the Series II. At least the Premiere has SD menus, though, and it was cheap, even with Lifetime service.


A Roamio Pro with TE3 is really not all that different from an S3 other than being HD (unlike TE4 which is a big change). I was very happy moving from our 2 S3 OLED to 1 Roamio Pro.

Scott


----------



## Dan203

lesrhorer said:


> Hard to argue that, although I would nominate the Series II. At least the Premiere has SD menus, though, and it was cheap, even with Lifetime service.


There were multiple versions of the Series 2. The first two versions were fine, and the DT was actually pretty good. It was the third incarnation, the 5400 series units, that were hot garbage. But at least they had a functional UI. To this day the Premiere units still have a half finished UI, which is why I stick by my statement that it's the worst TiVo ever made.


----------



## lesrhorer

HerronScott said:


> A Roamio Pro with TE3 is really not all that different from an S3 other than being HD (unlike TE4 which is a big change). I was very happy moving from our 2 S3 OLED to 1 Roamio Pro.


I will allow I am not all that familiar with the Roamio. The Bolt really sucks, especially since they can no longer be rolled back from TE4. All the HD menus are unacceptable. There is no arguing a used Romio is more expensive. The big difference between the S3 and the Romio - and this is a deal killer for that comparison - is the Romio cannot be hacked by any means of which I know. Of course, neither can the Premiere, but then it is cheaper, and I am not asking the Premiere to do much of anything. The S3s handle that.


----------



## lesrhorer

Dan203 said:


> There were multiple versions of the Series 2. The first two versions were fine


I did not find them so. They were a pain to hack.



Dan203 said:


> and the DT was actually pretty good.


I never had one, but I was completely underwhelmed by the specs of its hardware.



Dan203 said:


> It was the third incarnation, the 5400 series units, that were hot garbage. But at least they had a functional UI.


Meh. The S3 retains its functionality, especially the power and flexibility of its search engines.



Dan203 said:


> To this day the Premiere units still have a half finished UI, which is why I stick by my statement that it's the worst TiVo ever made.


As I admitted before, its hard to argue that point. I can pull (most) videos off the Premiere, and it can pull videos off my server. I don't need it to do much more. Oddly enough, rather adding additional support to your point about the Premiere, I found two actual bugs in the Premiere's already pathetic search engines.

1. The series M*A*S*H cannot be located by the title search engine. Go figure. 'One of the most popular series of all time. The S3, of course, finds it just fine. It can't be found by a title wishlist search on the Premiere, either.
2. M*A*S*H comes on on both WGN America and on MeTV. Because of the way Season Passes work, if one wishes to record all episodes of M*A*S*H, one must have a Season Pass for both. On the S3, no problem. Simply create two season passes, one for each channel. On the Premiere, setting an additional Season Pass for the same program on a different channel deletes the previous Season Pass. Pathetic.

The S3 search engines are terrific. The search engines on the S4 (and above, I think) are a crock of $%^%.


----------



## Dan203

Just to be clear TiVoToGo worked on S2 units as well. PyTiVo Desktop works the same on an original S2, without hacking, as it does on a brand new Edge. In fact better because with analog recordings there was no way for the cable company to "protect" certain channels.


----------



## lesrhorer

Dan203 said:


> Just to be clear TiVoToGo worked on S2 units as well. PyTiVo Desktop works the same on an original S2, without hacking, as it does on a brand new Edge.


With the addition of a USB - Ethernet adapter, yes. The DT sported an Ethernet jack.


----------



## leswar

Tried to install the latest PyTivo Desktop 1.6.27 on WIndow 7 Ultimate and got this instead "A required privilege is not held by the client" with no error code numbers.
I have 1.6.23 installed presently.

What to do?


----------



## Dan203

leswar said:


> Tried to install the latest PyTivo Desktop 1.6.27 on WIndow 7 Ultimate and got this instead "A required privilege is not held by the client" with no error code numbers.
> I have 1.6.23 installed presently.
> 
> What to do?


Does that happen when installing or when running after the install?

That error is a Windows error caused by invalid disk privileges. By default the installer should automatically elevate to admin privileges. Is it doing that? Are you allowing it?


----------



## leswar

Dan203 said:


> Does that happen when installing or when running after the install?
> 
> That error is a Windows error caused by invalid disk privileges. By default the installer should automatically elevate to admin privileges. Is it doing that? Are you allowing it?


I downloaded from the website..closed PyTivoDesktop and then right clicked on the installer-1.6.27 and chose "run as administrator" and the error message appears. Never had this problem with earlier versions when installing in the past.

I checked properties on the file and choose security tab/ "Everyone, SYSTEM and Administrators" have "full control", "read and excute", "read", "write". 
All are greyed out but "checked" to allow. "Special permissions" is the only one not checked and I cannot check it (not allowed becaUSE it too is greyed-- empty box).

What am I doing wrong?


----------



## Dan203

The installer hasn’t changed, so that’s odd. Instead of right clicking what happens if you just double click?


----------



## leswar

Dan203 said:


> The installer hasn't changed, so that's odd. Instead of right clicking what happens if you just double click?


Double clicking produces the same result.

Installing previous versions are no problem. They will install if I want.

BTW, I wasn't really sure which version I had installed currently. Thought it might be .23.
But there was no "about pytivo" choice to see under "settings" menu as to which version
I had installed. That seemed strange (???).

So I tried to install .24 and it did install with no problems.
And under "settings" `about Pytivo Desktop'... (now showing) indicated .24 is the current program running.

Next I did a hard reboot. Shutdown pyTivo Desktop and tried double clicking on .27 installation file.
But no joy. Same error message. Tired right click installing as admin.; tried r.click. as SYSTEM. Tried r.c. 
on "Install as Revo Uninstall Pro" (my usual choice when installing programs). Same old same old, no joy.

PyTivo folder appears under C: drive (C:\PyTivo).
But last night (actually very early this morning) I could have sworn that it was under "C:\Program Files (x86)"
or maybe "C:\Program Files". I thought maybe that would be a problem with permissions and Windows 7. 
But it was late and I was tired. So may I was confused. It does in fact appear in "C:\PyTivo" folder.

I also re-downloading the .27 installer from the website in case of a corrupted first download. 
And was using it in the above attempts.


----------



## leswar

No advice? 
That's okay because I accidentally hit on a solution. I was downloading a different program unrelated via FireFox and trying to install it.
Got the same error message ("A required privilege is not held by the client") as when I was trying to install PyTivo Desktop 1.6.27. Huh? What gives.

But I was able to install an earlier version of the same program that resided on my hard drive. But not the newer version just downloaded via FF.
The same was true of PyTivo Desktop... an earlier version on HD installed but not the newer version d/l via FF.

I hit upon the solution using Microsoft Edge to do the downloading. When I used ME both latest programs installed --no error message.
I tested older programs on my HD. All these older versions will install while anything downloaded using FF will produce the error message and will not install.

So I surmise this is some type of FF (ver. 85.0.2-64bit) induced problem.
For now I will be forced to due my d/ling with Microsoft Edge.


----------



## Dan203

Sorry never saw your previous reply. Glad you figured it out though.


----------



## mlippert

@leswar That is really odd. I did some googling based on the error message you listed, and found this thread: 
how to fix problem (a required privilege is not held by the client ) in windows 10

The interesting reply was "ust discovered if I right click on the program and scroll down to select from a Trusted Source I can then install it"

I'm guessing now that you've got it working you are done w/ testing, but thought you might find this useful (I'm curious if it would fix your issue). My WAG is that somehow Edge is flagging the download as from a trusted source but Firefox doesn't.


----------

