TiVo Community
TiVo Community
TiVo Community
Go Back   TiVo Community > Main TiVo Forums > TiVo Home Media Features & TiVoToGo
TiVo Community
Reply
Forum Jump
 
Thread Tools
Old 12-08-2007, 07:20 PM   #1291
wgw
Registered User
 
Join Date: May 2007
Posts: 217
Quote:
Originally Posted by dlfl View Post
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/
wgw is offline   Reply With Quote
Old 12-08-2007, 10:35 PM   #1292
PaulS
Registered User
 
Join Date: Sep 2002
Location: Southern NH
Posts: 582
Quote:
Originally Posted by wgw View Post
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...
PaulS is offline   Reply With Quote
Old 12-09-2007, 12:30 AM   #1293
MasterCephus
Registered User
 
MasterCephus's Avatar
 
Join Date: Jan 2005
Location: Hueytown, Alabama
Posts: 309
Quote:
Originally Posted by PaulS View Post
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 is offline   Reply With Quote
Old 12-09-2007, 12:36 AM   #1294
MasterCephus
Registered User
 
MasterCephus's Avatar
 
Join Date: Jan 2005
Location: Hueytown, Alabama
Posts: 309
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...
MasterCephus is offline   Reply With Quote
Old 12-09-2007, 07:14 AM   #1295
PaulS
Registered User
 
Join Date: Sep 2002
Location: Southern NH
Posts: 582
Quote:
Originally Posted by MasterCephus View Post
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 : SH859795
Zap2it URL : http : //tvlistings.zap2it.com/tvlistings/ZCSC.do?t=Dexter&pgmId=EP008597950025

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 ?

Last edited by PaulS : 12-09-2007 at 07:26 AM.
PaulS is offline   Reply With Quote
Old 12-09-2007, 09:23 AM   #1296
ghasty
Registered User
 
Join Date: Dec 2004
Posts: 7
Quote:
Originally Posted by grahamkent View Post
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

Quote:
Just one idea. You have a dash instead of an underscore in your path to ffmpeg

ghasty is offline   Reply With Quote
Old 12-09-2007, 12:52 PM   #1297
dlfl
Cranky old novice
 
dlfl's Avatar
 
Join Date: Jul 2006
Location: Near Dayton, Ohio
Posts: 5,840
"no-info" bug on windows ..... new results

Quote:
Originally Posted by PaulS View Post
.........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!
__________________

"It must be swell to be so perfect and odor-free" -- Del Griffith


VideoReDo users: Try
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

pyTivo users: Try
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
and
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

Last edited by dlfl : 12-09-2007 at 01:12 PM.
dlfl is offline   Reply With Quote
Old 12-09-2007, 01:12 PM   #1298
armooo
pyTivo Developer
 
Join Date: Feb 2003
Posts: 79
Quote:
Originally Posted by dlfl View Post
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.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

A python real time video transcoding server for TiVo.

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
armooo is offline   Reply With Quote
Old 12-09-2007, 01:17 PM   #1299
dlfl
Cranky old novice
 
dlfl's Avatar
 
Join Date: Jul 2006
Location: Near Dayton, Ohio
Posts: 5,840
Quote:
Originally Posted by armooo View Post
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).
__________________

"It must be swell to be so perfect and odor-free" -- Del Griffith


VideoReDo users: Try
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

pyTivo users: Try
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
and
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
dlfl is offline   Reply With Quote
Old 12-09-2007, 01:33 PM   #1300
dlfl
Cranky old novice
 
dlfl's Avatar
 
Join Date: Jul 2006
Location: Near Dayton, Ohio
Posts: 5,840
Quote:
Originally Posted by armooo View Post
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.
__________________

"It must be swell to be so perfect and odor-free" -- Del Griffith


VideoReDo users: Try
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

pyTivo users: Try
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
and
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
dlfl is offline   Reply With Quote
Old 12-09-2007, 01:50 PM   #1301
dlfl
Cranky old novice
 
dlfl's Avatar
 
Join Date: Jul 2006
Location: Near Dayton, Ohio
Posts: 5,840
Quote:
Originally Posted by armooo View Post
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?
__________________

"It must be swell to be so perfect and odor-free" -- Del Griffith


VideoReDo users: Try
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

pyTivo users: Try
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
and
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
dlfl is offline   Reply With Quote
Old 12-09-2007, 04:27 PM   #1302
dlfl
Cranky old novice
 
dlfl's Avatar
 
Join Date: Jul 2006
Location: Near Dayton, Ohio
Posts: 5,840
windows no-info -- a fix (???!!!!)

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
                file_url = file_url.replace('\\', '/')
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...)
__________________

"It must be swell to be so perfect and odor-free" -- Del Griffith


VideoReDo users: Try
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

pyTivo users: Try
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
and
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

Last edited by dlfl : 12-09-2007 at 04:36 PM.
dlfl is offline   Reply With Quote
Old 12-09-2007, 05:41 PM   #1303
PaulS
Registered User
 
Join Date: Sep 2002
Location: Southern NH
Posts: 582
Quote:
Originally Posted by dlfl View Post
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
                file_url = file_url.replace('\\', '/')
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.
PaulS is offline   Reply With Quote
Old 12-09-2007, 07:22 PM   #1304
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 8,918
Fixes the videos... something further (probably more of the same) is needed for the music.
wmcbrine is offline   Reply With Quote
Old 12-09-2007, 08:54 PM   #1305
PaulS
Registered User
 
Join Date: Sep 2002
Location: Southern NH
Posts: 582
Quote:
Originally Posted by wmcbrine View Post
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!
PaulS is offline   Reply With Quote
Old 12-09-2007, 09:45 PM   #1306
dlfl
Cranky old novice
 
dlfl's Avatar
 
Join Date: Jul 2006
Location: Near Dayton, Ohio
Posts: 5,840
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.
__________________

"It must be swell to be so perfect and odor-free" -- Del Griffith


VideoReDo users: Try
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

pyTivo users: Try
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
and
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
dlfl is offline   Reply With Quote
Old 12-09-2007, 10:18 PM   #1307
wgw
Registered User
 
Join Date: May 2007
Posts: 217
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')
----------------------------------------

wgw is offline   Reply With Quote
Old 12-09-2007, 10:45 PM   #1308
dlfl
Cranky old novice
 
dlfl's Avatar
 
Join Date: Jul 2006
Location: Near Dayton, Ohio
Posts: 5,840
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?
__________________

"It must be swell to be so perfect and odor-free" -- Del Griffith


VideoReDo users: Try
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

pyTivo users: Try
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
and
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
dlfl is offline   Reply With Quote
Old 12-09-2007, 11:13 PM   #1309
wgw
Registered User
 
Join Date: May 2007
Posts: 217
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:
    if (inFile[-3:]).lower() == '.ts':
        debug_write(['tivo_compatible: ', inFile, ' not program stream ends with .ts\n'])
        return False

    if not type == 'mpeg2video':

wgw is offline   Reply With Quote
Old 12-09-2007, 11:27 PM   #1310
dlfl
Cranky old novice
 
dlfl's Avatar
 
Join Date: Jul 2006
Location: Near Dayton, Ohio
Posts: 5,840
Quote:
Originally Posted by wgw View Post
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:
    if (inFile[-3:]).lower() == '.ts':
        debug_write(['tivo_compatible: ', inFile, ' not program stream ends with .ts\n'])
        return False

    if not type == 'mpeg2video':
I think you're right -- your fix should be merged into the next revision. I think this was a chink because TS can be mpeg2 and be declared so by ffmpeg -- but are not tivo compatible.
__________________

"It must be swell to be so perfect and odor-free" -- Del Griffith


VideoReDo users: Try
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

pyTivo users: Try
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
and
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
dlfl is offline   Reply With Quote
Old 12-09-2007, 11:52 PM   #1311
wgw
Registered User
 
Join Date: May 2007
Posts: 217
Quote:
Originally Posted by dlfl View Post
I think you're right -- your fix should be merged into the next revision. I think this was a chink 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.
wgw is offline   Reply With Quote
Old 12-10-2007, 01:26 AM   #1312
ruttmeister
Registered User
 
Join Date: Dec 2007
Location: West Des Moines, Iowa
Posts: 18
Metadata Update

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 filename><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.
Attached Files
File Type: txt Metadata Notes.txt (6.0 KB, 14 views)
ruttmeister is offline   Reply With Quote
Old 12-10-2007, 01:52 AM   #1313
ruttmeister
Registered User
 
Join Date: Dec 2007
Location: West Des Moines, Iowa
Posts: 18
Updated metadata notes file

Sorry, the last file wasn't my most up to date. Not many changes, just a bit easier to read.
Attached Files
File Type: doc Metadata notes.doc (27.0 KB, 21 views)
ruttmeister is offline   Reply With Quote
Old 12-10-2007, 08:56 AM   #1314
PaulS
Registered User
 
Join Date: Sep 2002
Location: Southern NH
Posts: 582
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.
PaulS is offline   Reply With Quote
Old 12-10-2007, 09:08 AM   #1315
dlfl
Cranky old novice
 
dlfl's Avatar
 
Join Date: Jul 2006
Location: Near Dayton, Ohio
Posts: 5,840
Quote:
Originally Posted by PaulS View Post
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.)
__________________

"It must be swell to be so perfect and odor-free" -- Del Griffith


VideoReDo users: Try
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

pyTivo users: Try
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
and
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
dlfl is offline   Reply With Quote
Old 12-10-2007, 09:26 AM   #1316
PaulS
Registered User
 
Join Date: Sep 2002
Location: Southern NH
Posts: 582
Quote:
Originally Posted by dlfl View Post
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!
PaulS is offline   Reply With Quote
Old 12-10-2007, 08:52 PM   #1317
ruttmeister
Registered User
 
Join Date: Dec 2007
Location: West Des Moines, Iowa
Posts: 18
subfolders works

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...
__________________
XP SP2
Model 649 Series 2 DT 80hr
Model 240 Series 2 80hr
Model 240 Series 2 40hr
Linksys wired ethernet
Currently running
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
- d421

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

ruttmeister is offline   Reply With Quote
Old 12-10-2007, 10:04 PM   #1318
dlfl
Cranky old novice
 
dlfl's Avatar
 
Join Date: Jul 2006
Location: Near Dayton, Ohio
Posts: 5,840
Video titles on NPL

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.
__________________

"It must be swell to be so perfect and odor-free" -- Del Griffith


VideoReDo users: Try
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

pyTivo users: Try
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
and
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
dlfl is offline   Reply With Quote
Old 12-10-2007, 10:52 PM   #1319
ruttmeister
Registered User
 
Join Date: Dec 2007
Location: West Des Moines, Iowa
Posts: 18
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?
__________________
XP SP2
Model 649 Series 2 DT 80hr
Model 240 Series 2 80hr
Model 240 Series 2 40hr
Linksys wired ethernet
Currently running
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
- d421

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

ruttmeister is offline   Reply With Quote
Old 12-11-2007, 01:44 AM   #1320
grahamkent
Registered User
 
Join Date: Feb 2003
Location: Seattle, WA
Posts: 16
Quote:
Originally Posted by dlfl View Post
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!
grahamkent is offline   Reply With Quote
Reply
Forum Jump




Thread Tools


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Advertisements

TiVo Community
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
vBulletin Skins by: Relivo Media

(C) 2013 Magenium Solutions - All Rights Reserved. No information may be posted elsewhere without written permission.
TiVoŽ is a registered trademark of TiVo Inc. This site is not owned or operated by TiVo Inc.
All times are GMT -5. The time now is 04:48 PM.
OUR NETWORK: MyOpenRouter | TechLore | SansaCommunity | RoboCommunity | MediaSmart Home | Explore3DTV | Dijit Community | DVR Playground |