pyTivoX

This is a problem for me too and has been for a couple of weeks. I have a Leopard Server hacked to run on an elderly G4 PowerMac. Up until recently, pTivoX has run on this machine just fine. Now it runs but the Preferences panel refuses to come up (it's just grayed out in the application). So I'm not sure exactly what it's doing. It does seem to still be sharing...I get the shared folders I previously setup in the Now Playing Lists for my two S3 Tivos. I can transfer previously transferred programs (.tivo files). But I can't change anything. Any ideas? Restarting the server does not seem to help.

Click to expand...

Well, since there *is* no preferences panel, the bug isn't that it's greyed out. The bug is that there's a menu option for it. Removing it for next release. The main window is all there is. Sometimes it is hidden behind other windows (try minimizing/hiding other applications). Also, top right menulet may let you hide/show the main window.

As to why it's not working for you in general for pyTivo. I don't really know. Since there's nothing interesting in the logs, and nothing more than 'it used to work for me but now it doesn't', it's really hard to debug.

Well, since there *is* no preferences panel, the bug isn't that it's greyed out. The bug is that there's a menu option for it. Removing it for next release. The main window is all there is. Sometimes it is hidden behind other windows (try minimizing/hiding other applications). Also, top right menulet may let you hide/show the main window.

As to why it's not working for you in general for pyTivo. I don't really know. Since there's nothing interesting in the logs, and nothing more than 'it used to work for me but now it doesn't', it's really hard to debug.

Tivo S3? HD? S2?. Can you stream under Photos,Music,Showcases?
Does iTiVo see your tivo? Is everything on the same network? wireless?

Click to expand...

Tivo S2, I am able to stream content through the Tivo (showcases, photostream, etc.) iTivo see the tivo and transfer to mac is fine. Tivo is hardwired to same route as mac.

Was previously using the tivo software and visual hub plugin to place content back on the tivo with no issues. I really was drawn to this for the ability to organize my media collection. Nothing else has changed network wise.

Shared media is on mounted external drive and a local folder on the mac.

No- I can access the standard web content through the tivo- not the streambaby content. (honestly not even sure what that is).

In iTivo, from left to right- my IP address, a drop menu with "My Tivos" and "HomeTivo" (where hometivo is our tivo)

Click to expand...

Hm... so your tivo and your mac are definitely talking. and nothing seems to be filtering broadcast packets.... I guess there's a few more things to try, none of them too easy though .

First, lets try using a different port, just in case something else is already using that (although I *think* we would see something in the log if that were the case). Open up pyTiVoX (use the beta), Make sure you have 'pyTivo's checkbox selected (classic). Add at least one video share at the bottom. Hit Apply, and then hit the big red 'exit' button.
Now open up the Finder, and go to <user>/Library/Application Support/pyTivoX/. Option-click (or right click) pyTivo.conf, and choose "Open With...", "other...". From the menu choices pick "TextEdit".

Where you see a Port=9032, change that to somehting like 9123. And where you see a beacon=xxx.xxx.xxx.255, change that to the IP address of your tivo. Save, and exit.

Now start up pyTivoX again. DO NOT HIT APPLY!!!

Go to your tivo, check the bottom of the 'now playing...' list. Is your computer listed there now?

* A collection of .mkv files (the only ones tried), all give the Error 0xffff in red text on screen.

Click to expand...

it would be useful if you could look at /tmp/pyTivoX-SB.log and see if there's anything useful there. I know for a fact that my mkv files, which I encoded using x.264/ac-3 using handbrake, work fine.

* A number of mpeg4 videos (.mov, & .mp4) ripped from DVD with an older version of Handbrake don't display any video when played. Audio works fine, and thumbnails are shown when skipping. This can be fixed by selecting a lower quality rate (so transcoding the file makes it playable), but isn't ideal. DVDs ripped to .m4v using a newer version of Handbrake's Universal preset play fine.

Click to expand...

Sounds like the mpeg-4 video is using a h.264 encoding that is more advanced than the tivo likes, but which ffmpeg is happy to read (which is why transcoding to mpeg-2 is working fine, as are thumbnails, but when transmitted as-is, it breaks). Unfortunately, your only solution (other than hoping that tivo suddenly supports more advanced encodings) is to re-encode it -- either on the fly, or by loading it into handbrake again. Selecting 'high' for the transcode *should* be of a high-enough quality that you wouldn't notice the re-encode's quality degradation. Is your complaint that it looks bad or that it eats CPU cycles on your computer?

...Sounds like the mpeg-4 video is using a h.264 encoding that is more advanced than the tivo likes...

Click to expand...

The SVN version of streambaby should recognize these MP4 files as not being TiVo compatible and transcode appropriately. V0.24 would just try to pass them to the TiVo and you would get the blackscreen with audio. This will be included in the next release.

Where you see a Port=9032, change that to somehting like 9123. And where you see a beacon=xxx.xxx.xxx.255, change that to the IP address of your tivo. Save, and exit.

Now start up pyTivoX again. DO NOT HIT APPLY!!!

Go to your tivo, check the bottom of the 'now playing...' list. Is your computer listed there now?

Click to expand...

Okay- multi thread response here... Not being one to wait around, I pulled out my laptop and installed iTivo and pyTivoX. Fired it up and my share was found. Hooray. Sadly this confirmed that something with the desktop was wrong.. I'm a believe now- the software is that simple and works! Amazed.

Back to the home machine.... I opened the conf file and changed the port and beacon. Everything now works from the home machine. So i must have a conflict on the machine with ports.

I am going to assume that any updates or accidental clicks of "apply" will require me to reset the port (unless I can figure out what other app is sitting on it) and beacon?

Everything is working fine with the beta version. I want to find out if it's possible to add movie description before viewing the movie. Just like Tivo where it gives the show description. Right now, it just shows the filename on Tivo.

Everything is working fine with the beta version. I want to find out if it's possible to add movie description before viewing the movie. Just like Tivo where it gives the show description. Right now, it just shows the filename on Tivo.

Click to expand...

Yes. This is called metadata. To set up metadata that works with both pyTivo and streambaby, you will need to create a .txt file with the appropriate metadata. So for a movie named myfile.mp4, you need to create a text file named myfile.mp4.txt , and put appropriate values in it. The values are documented here: http://pytivo.armooo.net/wiki/MetaData. If you get your shows off the tivo using 'iTiVo', you can have iTiVo create an appropriate metadata file for you with all the correct values.

If you only care about streambaby, and only use mp4 files, you can go a slightly easier route and just use metadata within the mp4 file. A tool like MetaX will do the hard work for you.

If you have further questions about this, I'd recommend posting them under the pyTivo or streambaby thread (not pyTiVoX, which is just a mac front-end). As there will be more people who can help you out.

Selecting 'high' for the transcode *should* be of a high-enough quality that you wouldn't notice the re-encode's quality degradation. Is your complaint that it looks bad or that it eats CPU cycles on your computer?

Click to expand...

Not a complaint, just an observation I didn't think of trying 'high' quality until I was writing my post, but I was away from the TiVo. I guess I'm more concerned about a seamless user experience, though the transcoding does kick the Macbook's fans into overdrive, so much so that I can hear it from the next room!

PyTivoX and streambaby are excellent projects - I was so excited about the prospect of not having to drag the laptop into the lounge to connect to the TV anymore that I couldn't sleep last night. Thank you!

pTivoX (and Streambaby) have been getting better by leaps and bounds ever since Streambaby + ffmpeg came into the mix. It's nice that streaming video that wouldn't play before now can get transcoded before streaming to the Tivo.

But I'm also starting to face the limits of my technology, which for those who know my setup, should be painfully obvious. I'm running a Leopard Server on a PowerMac G4 Gigabit Dual 450 Mhz. Yes, its hacked to run Leopard on non-standard hardware although I run a newer video card, FW800 card and a FW400+USB2.0 card for devices like my Drobo 800 and Firewire 400 arrays for Time Machine backup storagefor other Macs on my network. But a dual processor elderly PPC machine can only do so much when it comes to the high demand world or digital transcoding.

It doesn't take a lot of horsepower to run a file server. One thing my setup does pretty well is just pumping either MPEG2 files from ripped DVDs to the Tivo via pTivoX/Streambaby or Mp4 files that don't need further transcoding. And pushing .tivo files back to the Tivo that were copied either from iTivo or Toast is pretty effortless. But ask the setup to do transcoding in real time and the whole thing grinds to a halt since it can't keep up in realtime. One thing that seems not to be going on the use of both processors by ffmpeg. I'm not sure if its designed for multiprocessor use, but it is noticeable from my server logs that one processor is usually loafing during streaming.

Another problem I see are with the "gravy" features of the product...pictures and music. Since nearly all of our pictures are in an iPhoto library, it doesn't really pay to have pTivoX handle them (Tivo Desktop talks to iPhoto directly). But for the loose photo folders I do have, the Tivo S3 would eventually error out in showing photos after about 3-5 photos shown. This never happens with Tivo Desktop.

And for music, I just pointed pTivoX to my iTunes Music Folder. Again, this works but it doesn't take advantage of any playlists I may have done (another Tivo Desktop feature). 99&#37; of my library are either AAC or Apple Lossless files. pTivoX transcodes this to MP3 for Tivo use, but for some reason it can't do it without music skips. Tivo Desktop + Lame 3.97 has never had this performance problem on my server.

Again, I'm not trying to knock a product I really really like and am beginning to use more frequently. But I'm thinking that some of these performance issues could be addressed while others (like video transcoding) are probably left to my next Mac server (maybe the next intel-based Mini).

Well, I'm happy you're finding the program useful. I'll try and respond to the points:

streambaby is asking ffmpeg to use both processors (I changed the config to test for the number of cores and add a -threads {X} to the commandline). You can check that it indeed has the correct number by looking at <user>/Library/Application Support/pyTivoX/streambaby.ini for the ffmpegexe.transcode line. If it's not there, you may need to update to the latest pytivo and hit 'apply'. If it's *still* not there, then my code is probably failing to ID the number of cores/CPUs on your computer. We can fix that.

pyTivo is *not* doing that, mostly because I was a little uncomfortable modifying the ffmpeg_prams value (pyTivo seemed to be doing a good job with ID'ing tivo types and doing the right thing, and I was worried that overriding it would cause issues). If you feel 'brave' edit pytivo.conf, and add

in the Server section. (change the number of threads to the number of cores/cpus you have. Keep in mind 'apply' overwrites this file.

If that still isn't enough, you may want to consider pre-transcoding your files to a format the tivo likes, and then pytivo/streambaby will do no transcoding... Or, biting the bullet and buying a new computer. Keep in mind pyTivo and streambaby will happily run on linux, so you can probably buy/build a very nice fileserver for almost no cost. (although I'm partial to the mac, if saving cash is a priority, you can get VERY cheap monitor-less computers).

As for music/pictures (in pytivo). it *would* be nice if someone wrote a media plugin for pytivo that could choose itunes playlists. I personally don't use pytivo for pictures/music though, and I suspect most of the developers are currently focussing on the new 'mp4' stuff. However, it probably wouldn't hurt to suggest such a thing on the pytivo thread or forum (pyTivoX really is just a front-end..).

I'm not certain why you are getting skips in the music though. It's possible that I have a configuration problem (or that there is a dependency on something I failed to include?). I just tried playing some music from my computer and didn't notice any skipping though (yeah a single data point doesn't mean much). Maybe someone else can chime in with an explanation or a fix? -- although again, most pyTivo users are probably not even reading this thread, since this is just about the mac port...

oops, and I just re-read the message. Sounds like 'photos' is also breaking. Oddly enough, it's working for me (grrr). Can you see if there's anything interesting in /tmp/pyTivoX.log ? Are your pictures all jpegs, or do you use a different graphic format? There was an issue with photos that was fixed several betas ago, so can you please check that you are running the latest beta?

Anyways, that's pretty much all I can offer in terms of advice. I would like to fix the music issue if that can be done.

Well, I'm happy you're finding the program useful. I'll try and respond to the points:

streambaby is asking ffmpeg to use both processors (I changed the config to test for the number of cores and add a -threads {X} to the commandline). You can check that it indeed has the correct number by looking at <user>/Library/Application Support/pyTivoX/streambaby.ini for the ffmpegexe.transcode line. If it's not there, you may need to update to the latest pytivo and hit 'apply'. If it's *still* not there, then my code is probably failing to ID the number of cores/CPUs on your computer. We can fix that.

pyTivo is *not* doing that, mostly because I was a little uncomfortable modifying the ffmpeg_prams value (pyTivo seemed to be doing a good job with ID'ing tivo types and doing the right thing, and I was worried that overriding it would cause issues). If you feel 'brave' edit pytivo.conf, and add

in the Server section. (change the number of threads to the number of cores/cpus you have. Keep in mind 'apply' overwrites this file.

Click to expand...

Well I checked again and apparently I was wrong. Not only is pyTivoX accurately checking the number of processors in the machine (2) but it also seems to be using them. I streamed a Bugs Bunny cartoon I use for testing purposes and the load average on both CPUs spiked. Not sure what was going on with my previous observation. But it's not fast enough to handle it in real time.

If that still isn't enough, you may want to consider pre-transcoding your files to a format the tivo likes, and then pytivo/streambaby will do no transcoding... Or, biting the bullet and buying a new computer. Keep in mind pyTivo and streambaby will happily run on linux, so you can probably buy/build a very nice fileserver for almost no cost. (although I'm partial to the mac, if saving cash is a priority, you can get VERY cheap monitor-less computers).

Click to expand...

What pre-transcoding method is the best these days? I usually like Handbrake although I remember that the old videostream didn't care for handbrake rendered files much. If there a pre-set that can save me the trouble and is it possible to sent AC3 instead of AAC (for the sake of my home theater)? As for a new computer, I'm pre-disposed to Macs as well (I'm a former Apple employee from 20 years ago). I'm hoping Apple introduces a 4-core Mac Mini sometime this year which can replace my current Leopard server. My servers are in my basement and don't need nice monitors. Old screens will do for occasional maintenance.

As for music/pictures (in pytivo). it *would* be nice if someone wrote a media plugin for pytivo that could choose itunes playlists. I personally don't use pytivo for pictures/music though, and I suspect most of the developers are currently focussing on the new 'mp4' stuff. However, it probably wouldn't hurt to suggest such a thing on the pytivo thread or forum (pyTivoX really is just a front-end..).

I'm not certain why you are getting skips in the music though. It's possible that I have a configuration problem (or that there is a dependency on something I failed to include?). I just tried playing some music from my computer and didn't notice any skipping though (yeah a single data point doesn't mean much). Maybe someone else can chime in with an explanation or a fix? -- although again, most pyTivo users are probably not even reading this thread, since this is just about the mac port...

oops, and I just re-read the message. Sounds like 'photos' is also breaking. Oddly enough, it's working for me (grrr). Can you see if there's anything interesting in /tmp/pyTivoX.log ? Are your pictures all jpegs, or do you use a different graphic format? There was an issue with photos that was fixed several betas ago, so can you please check that you are running the latest beta?

Anyways, that's pretty much all I can offer in terms of advice. I would like to fix the music issue if that can be done.

Click to expand...

For photos, I asked pyTivoX to do a slideshow of a group of jpegs I have...about 24 pics in all. It would not fail on the same pic. Sometimes you would get the a broken picture icon as an error. But when things really got bad, you'd get:

An unexpected error occured while accessing the server. (Error#5-6)

On the backend, I tracked the /tmp.pyTivoX.log file with a tail -f command. When the aforementioned error appeared on screen, the log file was getting this written into it:

(the only thing I changed is the audio bitrate to match post 275). If so, then grumble . Does 192k also work? The only main difference I can tell between your files and mine in the audio is that you're using 24k instead of 40 or 48. I'm *hoping* there won't be a need to do a lot of audio parsing and configuring depending on the input...