View Full Version : pyTivoX
I assume that even though you are running a "b" version (ie: 1.1b10) that pyTivo still doesn't check for Beta builds. There's not a setting that I see to do that like in iTivo.
As of (I think b12) if you download a beta it will check for future beta builds.
Yoav,
Any chance on giving us (in the beta) a place to enter our own additions/changes to the StreamBaby .ini file?
Nope. (ok that was the short versoion).
The long version is: This gui tool is intended to be a simple front-end. If you know enough
to edit files, then you should be able to manually edit the streambaby.ini, and stop relying on the
gui tool's generation of that file.
I do not intend to add support for partial control of the streambaby.ini file in the gui, as that will open the
door to conflicts with settings, and problems that I just don't want to have to deal with. Right now
I just say "hit apply" and I know what should be in the file. If you choose to change that, you KNOW
what you're doing. you KNOW it's unsupported, and if things break, you know you're gonna have to
figure out what's wrong (or hit 'apply' and lose your changes). It also means you are now responsible
for figuring out if you need to make changes to the file with new releases of streambaby.
Feature Request:
Can we select which folders to use with pyTivo and which for Streambaby? Right now it's all or nothing...
Feature Request:
Can we select which folders to use with pyTivo and which for Streambaby? Right now it's all or nothing...
(already there)..
Instead of using "video" as the "Type", use "video:stream" or "video:pytivo"
(already there)..
Instead of using "video" as the "Type", use "video:stream" or "video:pytivo"
Cool! Thanks
jannlinder
02-11-2009, 02:51 PM
Nope. (ok that was the short versoion).
The long version is: This gui tool is intended to be a simple front-end. If you know enough
to edit files, then you should be able to manually edit the streambaby.ini, and stop relying on the
gui tool's generation of that file.
I do not intend to add support for partial control of the streambaby.ini file in the gui, as that will open the
door to conflicts with settings, and problems that I just don't want to have to deal with. Right now
I just say "hit apply" and I know what should be in the file. If you choose to change that, you KNOW
what you're doing. you KNOW it's unsupported, and if things break, you know you're gonna have to
figure out what's wrong (or hit 'apply' and lose your changes). It also means you are now responsible
for figuring out if you need to make changes to the file with new releases of streambaby.
The only issue is that I cannot get streambaby to run on OS X without using pyTivoX
It complains about other things about no native FFMPEG.
I would love if PyTivoX simply did not change the ini file between runs. :) Then I could just alter the file in /Application Support/ and be done.
gilbreen
02-11-2009, 03:02 PM
Yoav,
Thanks again for a great program. A minor request and if not able to do, no big deal but it would be great to be able to rearrange the list in the Shared Directories by dragging and dropping the names to its new place. Not sure if I am describing it right, but just looking for a way or suggestion to rearrange the order without having to delete and re-add the names. Again, not a huge deal if not easy to implement since inputting the directories isn't terribly laborious.
matelot
02-11-2009, 04:56 PM
Installed on my machine but I don't see Pytivo or Streambaby checkbox on the main screen. Do I have the right version?
Got it working flawlessly first time and now it stopped working. I can see the file name on Tivo but when I click on it, nothing happens. Any pointer?
Great program. That's the reason I got Tivo so I can stream my movies on my computer.
Thanks for all your hard work,
Mat
I would love if PyTivoX simply did not change the ini file between runs. :) Then I could just alter the file in /Application Support/ and be done.
Your wish is my command! poof! done! :)
pyTivoX never changes the ini file between invocations. The only time it ever changes the ini files is when you hit the 'apply' button.
So just don't hit the 'apply' button. Upgrading will not change the .ini file, nor will 'exit' or 'start'.
Installed on my machine but I don't see Pytivo or Streambaby checkbox on the main screen. Do I have the right version?
Got it working flawlessly first time and now it stopped working. I can see the file name on Tivo but when I click on it, nothing happens. Any pointer?
Great program. That's the reason I got Tivo so I can stream my movies on my computer.
Thanks for all your hard work,
Mat
The streambaby/pytivo checkboxes are only in the beta right now. I haven't released the beta as the main program since streambaby is still being actively developed, and I want it to reach a 'stable' point before I unleash it... If you're happy to help test though, download and install the beta instead.
As for it stopping working, I don't have enough context to figure out what happened. Does exitting and re-starting help? We can look at the logs, but I'd suggest you install the beta first...
bedelman
02-11-2009, 06:21 PM
Installed on my machine but I don't see Pytivo or Streambaby checkbox on the main screen. Do I have the right version?
Got it working flawlessly first time and now it stopped working. I can see the file name on Tivo but when I click on it, nothing happens. Any pointer?
Great program. That's the reason I got Tivo so I can stream my movies on my computer.
Thanks for all your hard work,
Mat
You need to use the beta release to see those -- http://code.google.com/p/pytivox/downloads/list
Yoav,
Thanks again for a great program. A minor request and if not able to do, no big deal but it would be great to be able to rearrange the list in the Shared Directories by dragging and dropping the names to its new place. Not sure if I am describing it right, but just looking for a way or suggestion to rearrange the order without having to delete and re-add the names. Again, not a huge deal if not easy to implement since inputting the directories isn't terribly laborious.
It's doable, but would take a bit of work... althoug I'm curious: why does the ordering matter?
(technical babble: Basically the table is provided using apple's NSTable data structure. Unfortunately, NSTables do not support 'drag re-arranging'. And apple doesn't provide any class that supports it. So I could either write code than handles dragging within the table (pain in the butt) or look for someone who implemented a table class with drag re-arrange support...)
matelot
02-11-2009, 07:36 PM
Let me try downloading the beta version and I will let you know if I have any problem with the app.
gilbreen
02-12-2009, 12:13 PM
It's doable, but would take a bit of work... althoug I'm curious: why does the ordering matter?
(technical babble: Basically the table is provided using apple's NSTable data structure. Unfortunately, NSTables do not support 'drag re-arranging'. And apple doesn't provide any class that supports it. So I could either write code than handles dragging within the table (pain in the butt) or look for someone who implemented a table class with drag re-arrange support...)
The ordering doesn't really matter - probably my OCD manifesting itself. Was more curious if there was a way to rearrange but like I said, it really isn't a big deal to rearrange if needed by just deleting and re-adding the items.
Not that you will, but don't lose any sleep over it. I am really happy to have the program as is.
Thanks as always for your rapid responses!
atlas723
02-12-2009, 08:11 PM
Yoav, first off, thank you so much for all your hard work, patience and diligence in responding to everyone's questions. You've developed an incredible program.
Now enough with the praise. I've been using pyTivoX for about a month now, moving from 1.0.1 through the betas and have had intermittent luck getting anything to show up in my "Now Playing..." screen. It took quite a few clicks of the "Apply" button, but it finally worked. Then I moved from hard wired network connection to wireless and lost the ability to see the files in "Now Playing....". Thinking that it was due to wireless signal strength, I messed around moving my router, but to no avail. Then I saw your recent betas, and ever since I've been able to get streambaby to show up in the "Music, Photos, Showcases" and play without any issues. That means I'm able to communicate with my Tivo just fine, stream movies and I should count my blessings. But I still can't get the Classic pyTivo to work. Now to troubleshoot, I've restarted my Tivo and computer numerous times, uninstalled and reinstalled pyTivoX 5 times, hit "Apply" more times than I care to admit, but nothing has worked. I'd be happy to post/dump any log you'd care to review.
Thanks in advance for any help.
I'd be happy to post/dump any log you'd care to review.
So, can you open a Terminal.app and run ifconfig -a; route get default and include the output? Also, is there anything interesting in /tmp/pyTivoX.log ?
Sounds like your tivo is not having much success finding pyTivo... Lets see if we can figure out why...
Sevenfeet
02-14-2009, 03:10 PM
Beta 19 is up. What's new?
Beta 19 is up. What's new?
it's back to being 10.5 only, and got the svn latest of streambaby/ffmpeg/x264/lame (you'd need to find out from the ffmpeg folks what changed.. they seem to check in changes daily :)
jannlinder
02-15-2009, 02:25 AM
it's back to being 10.5 only, and got the svn latest of streambaby/ffmpeg/x264/lame (you'd need to find out from the ffmpeg folks what changed.. they seem to check in changes daily :)
Just wondering (and it does *not* affect me cos i do have 10.5) but what made you go to 10.5 only?
Was it the interface GUI or was it a spec in the ffmpeg/x264/lame compilations?
J
Just wondering (and it does *not* affect me cos i do have 10.5) but what made you go to 10.5 only?
Was it the interface GUI or was it a spec in the ffmpeg/x264/lame compilations?
J
10.5 comes with python 2.5, which pyTivo depends on. I don't really want to have to guide people through installing python, so it's 10.5-only. Additionally, the auto-launch code is a 10.5 method (10.4 did it differently).
wmcbrine
02-15-2009, 03:38 PM
10.5 comes with python 2.5, which pyTivo depends on.It'll also work with 2.4 (and 2.6). But not the 2.3 that comes with 10.4, true.
nriahi
02-17-2009, 01:11 AM
I hope I am asking this question in the right forum. I just installed pyTiVoX 1.0.1 and I can share music from my iMac (10.5.6) but the photos that I share all show a broken image on the Tivo HD Series2.
I appreciate any help as I did search the forums and found no help there.
Thanks
Nashmarkt
I hope I am asking this question in the right forum. I just installed pyTiVoX 1.0.1 and I can share music from my iMac (10.5.6) but the photos that I share all show a broken image on the Tivo HD Series2.
I appreciate any help as I did search the forums and found no help there.
Thanks
Nashmarkt
Download the beta. The official release has a bug with pictures that was fixed in the betas.
scrytch
02-17-2009, 08:18 AM
Hi,
Great program! Works with Australian TiVo with latest firmware, but videos don't show up in Now Playing section, only accessible via streambaby. Music & photos work fine.
Now onto my question:
I've got my kids dvd's ripped to xvid format (handbrake - mp3 audio), and when I choose to play these files streambaby comes back with an error 0x2e006a
I've tried changing "same" to all other options and no luck.
Any way to fix this?
Error log below:
Wed 2009/02/18 00:17:08.516| |Acceptor|HostContext|compKey=663000180223515-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
Wed 2009/02/18 00:17:08.518| |Acceptor|HostContext|compKey=663000180223515-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
Wed 2009/02/18 00:17:08.519| |Acceptor|ViewScreen|Desc: Cars
Wed 2009/02/18 00:17:08.638| |Acceptor|PreviewWindow|pWidth: 640
Wed 2009/02/18 00:17:08.638| |Acceptor|PreviewWindow|preview parent=BView[#2916,bounds=0,0,640x480]
Wed 2009/02/18 00:17:08.638| |Acceptor|HostContext|key=mpos:file:/Volumes/media/Videos/Movies/Cars.avi applicationId=com.unwiredappeal.tivo.streambaby.StreamBabySt ream applicationGlobal=false
Wed 2009/02/18 00:17:08.638| |Acceptor|HostContext|applicationIdStr=com.unwiredappeal.tiv o.streambaby.StreamBabyStream applicationGlobal=false
Wed 2009/02/18 00:17:08.638| |Acceptor|HostContext|applicationIdStr=com.unwiredappeal.tiv o.streambaby.StreamBabyStream
Wed 2009/02/18 00:17:08.639| |Acceptor|HostContext|compKey=663000180223515-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
Wed 2009/02/18 00:17:08.639| |Acceptor|ViewScreen|goto position: 0, vidlen: 2967720
Wed 2009/02/18 00:17:08.639| |Acceptor|ViewScreen|Position not in buffer, starting new stream
Wed 2009/02/18 00:17:08.889| |master|ViewScreen|Openening stream at position: 0(0 secs)
Wed 2009/02/18 00:17:08.889| |master|VideoModuleHelper|Bitrate for quality: 2221
Wed 2009/02/18 00:17:08.890| |master|VideoModuleHelper|quality setting is above quality of video, streaming normally
Wed 2009/02/18 00:17:08.891| |master|FFmpegExeVideoModule|Using ffmpeg transcode args: -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 2 -bufsize 4096k -b 2008k -maxrate 8000k -ab 224k -s 624x352
Wed 2009/02/18 00:17:08.893| |master|FFmpegExeVideoModule|FFmpegCmd: /Applications/pyTivoX.app/Contents/Resources/ffmpeg.bin -ss 0.0 -i /Volumes/media/Videos/Movies/Cars.avi -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 2 -bufsize 4096k -b 2008k -maxrate 8000k -ab 224k -s 624x352 tcp://127.0.0.1:8503
Wed 2009/02/18 00:17:09.050| |master|NamedStream|Registering named stream: fa9ed501-b7de-477c-aa43-0b9295981949.stream
Wed 2009/02/18 00:17:09.196| |Acceptor|ViewScreen|error=ERROR: 0x2e006a
Cars.avi
Wed 2009/02/18 00:17:09.196| |Acceptor|ViewScreen|error=ERROR: 0x2e006a
Cars.avi
Wed 2009/02/18 00:17:09.196| |Acceptor|ViewScreen|error=ERROR: 0x2e006a
Cars.avi
Wed 2009/02/18 00:17:09.196| |Acceptor|ViewScreen|error=ERROR: 0x2e006a
Cars.avi
Wed 2009/02/18 00:17:09.196| |Acceptor|ViewScreen|error=ERROR: 0x2e006a
Cars.avi
Wed 2009/02/18 00:17:09.197| |Acceptor|ViewScreen|error=ERROR: 0x2e006a
Cars.avi
Wed 2009/02/18 00:17:10.667| |Acceptor|ViewScreen|code=3 rawcode=16777475
Cars.avi
Thanks,
Shane.
Now onto my question:
That looks like a streambaby issue. First thing to try is check that ffmpeg is managing to read/write those files. Open up Terminal.app, and type:
/Applications/pyTivoX.app/Contents/Resources/ffmpeg -i /Volumes/media/Videos/Movies/Cars.avi
That should print out some info about the movie and exit. Tell us what it says.
If that works, the next thing is to see how the transcode is doing:
/Applications/pyTivoX.app/Contents/Resources/ffmpeg -ss 0.0 -i /Volumes/media/Videos/Movies/Cars.avi -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 2 -bufsize 4096k -b 2008k -maxrate 8000k -ab 224k -s 624x352 /tmp/out.mpg
You can kill the encode by hitting 'ctrl-c' while it's running. The above should run for a long time. If it exits with an error, we have the culprit, please repeat the error here. I may ask you to re-post this question in the streambaby thread if we can't figure out anything though :(
kearygriffin
02-17-2009, 12:08 PM
That looks like a streambaby issue.
From some of the conversations going on over in the streambaby thread, I don't think anyone has gotten streambaby working down under. The only exception may be someone who is beta-testing new TiVo software for Australia.
So I'm not 100% sure, but I have a feeling people will have to wait for the next Australian TiVo software update to get streambaby to work.
scrytch
02-18-2009, 03:00 AM
That should print out some info about the movie and exit. Tell us what it says.
FFmpeg version SVN-r17231, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --arch=i386 --cpu=i686 --disable-vhook --disable-static --enable-shared --enable-pthreads --enable-gpl --enable-libmp3lame --enable-libfaac --enable-libfaad --enable-libx264 --enable-swscale --extra-cflags=-I/Users/yoav/src/lame/include -I/Users/yoav/src/faad2/include -I/Users/yoav/src/faac/include -I/Users/yoav/src/x264 --extra-ldflags=-L/Users/yoav/src/lame/libmp3lame/.libs -L/Users/yoav/src/faad2/libfaad/.libs -L/Users/yoav/src/faac/libfaac/.libs -L/Users/yoav/src/x264/
libavutil 49.14. 0 / 49.14. 0
libavcodec 52.15. 0 / 52.15. 0
libavformat 52.28. 0 / 52.28. 0
libavdevice 52. 1. 0 / 52. 1. 0
libswscale 0. 6. 2 / 0. 6. 2
built on Feb 14 2009 08:39:56, gcc: 4.0.1 (Apple Inc. build 5484)
Seems stream 0 codec frame rate differs from container frame rate: 23.98 (65535/2733) -> 23.98 (2997003/125000)
Input #0, avi, from '/Volumes/media/Videos/Movies/Cars.avi':
Duration: 00:49:27.72, start: 0.000000, bitrate: 1553 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
At least one output file must be specified
If that works, the next thing is to see how the transcode is doing
No error - it encoded fine.
I'm gathering it may be due to the bastardised TiVo Australia software, so will try it when the next firmware is released.
Regards,
Shane.
Greetings- I'm very interested in this program but am struggling to get it to work. I have downloaded both stable and beta versions of the app but reach the same result. Nothing showing up in the Now Playing.
I am running a iMac G5 10.5.6, python version 2.51. A previous poster has similar issues and reported that restarting the DVR helped. This did not work for me. I have 2 shared folders set up (sharing preferences set), added them to PyTivoX and applied (several times).
I'm not getting anywhere. Any help would be appreciated.
Tad
Greetings- I'm very interested in this program but am struggling to get it to work.
Tivo S3? HD? S2?. Can you stream under Photos,Music,Showcases?
Does iTiVo see your tivo? Is everything on the same network? wireless?
Sevenfeet
02-18-2009, 05:14 PM
Greetings- I'm very interested in this program but am struggling to get it to work. I have downloaded both stable and beta versions of the app but reach the same result. Nothing showing up in the Now Playing.
I am running a iMac G5 10.5.6, python version 2.51. A previous poster has similar issues and reported that restarting the DVR helped. This did not work for me. I have 2 shared folders set up (sharing preferences set), added them to PyTivoX and applied (several times).
I'm not getting anywhere. Any help would be appreciated.
Tad
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.
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.
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.
Sevenfeet
02-18-2009, 06:02 PM
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.
It was the top right menulet. I feel completely embarrassed now. :)
Hey, b20 is up !
Tivo S3? HD? S2?. Can you stream under Photos,Music,Showcases?
Does iTiVo see your tivo? Is everything on the same network? wireless?
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.
Tad
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.
I'm assuming you don't mean 'stream content through the Tivo' with streambaby? That doesn't work on S2.
When you use iTiVo, does it tell you the tivo's name at the top menu? or does it say "My Tivos" and you type in an IP address?
I'm assuming you don't mean 'stream content through the Tivo' with streambaby? That doesn't work on S2.
When you use iTiVo, does it tell you the tivo's name at the top menu? or does it say "My Tivos" and you type in an IP address?
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)
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)
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.
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.
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?
kearygriffin
02-18-2009, 09:24 PM
...Sounds like the mpeg-4 video is using a h.264 encoding that is more advanced than the tivo likes...
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?
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?
Tad
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?
Updates will not touch the file.
Clicking 'apply' will. So avoid hitting 'apply'. Unfortunately, with some releases, you may want to hit apply to enable new features :(.
Before you spend a lot of time trying to track down the culprit. Maybe a reboot will help? Maybe there's some rogue old version of pyTivo left over that's holding the port open?
matelot
02-18-2009, 11:05 PM
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.
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 (http://www.kerstetter.net/page53/page54/page54.html) 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.
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.
I made a slight mistake, the actual error shown in red on the TV was 'Stream failed to open'. Here's the log:
Thu 2009/02/19 20:25:56.184| |Acceptor|VideoModuleHelper|Guessing bitrate for file:/Volumes/Store/Video/TV/The%20Wire/Season%201/Wire_S01E01.mkv to: 565
Thu 2009/02/19 20:25:56.264| |Acceptor|ViewScreen|Desc: Wire_S01E01
Thu 2009/02/19 20:25:57.913| |Acceptor|PreviewWindow|pWidth: 640
Thu 2009/02/19 20:25:57.913| |Acceptor|PreviewWindow|preview parent=BView[#2559,bounds=0,0,640x480]
Thu 2009/02/19 20:25:57.916| |Acceptor|HostContext|key=mpos:file:/Volumes/Store/Video/TV/The%20Wire/Season%201/Wire_S01E01.mkv applicationId=com.unwiredappeal.tivo.streambaby.StreamBabySt ream applicationGlobal=false
Thu 2009/02/19 20:25:57.916| |Acceptor|HostContext|applicationIdStr=com.unwiredappeal.tiv o.streambaby.StreamBabyStream applicationGlobal=false
Thu 2009/02/19 20:25:57.917| |Acceptor|HostContext|applicationIdStr=com.unwiredappeal.tiv o.streambaby.StreamBabyStream
Thu 2009/02/19 20:25:57.917| |Acceptor|HostContext|compKey=6630001801F21FD-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
Thu 2009/02/19 20:25:57.942| |Acceptor|ViewScreen|goto position: 0, vidlen: 3728426
Thu 2009/02/19 20:25:57.942| |Acceptor|ViewScreen|Position not in buffer, starting new stream
Thu 2009/02/19 20:25:58.193| |master|ViewScreen|Openening stream at position: 0(0 secs)
Thu 2009/02/19 20:25:58.193| |master|VideoModuleHelper|quality setting is above quality of video, streaming normally
Thu 2009/02/19 20:25:58.197| |master|FFmpegExeVideoModule|Using ffmpeg transcode args: -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 2 -sameq -ab 384k
Thu 2009/02/19 20:25:58.201| |master|FFmpegExeVideoModule|FFmpegCmd: /Applications/pyTivoX.app/Contents/Resources/ffmpeg.bin -ss 0.0 -i /Volumes/Store/Video/TV/The Wire/Season 1/Wire_S01E01.mkv -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 2 -sameq -ab 384k tcp://127.0.0.1:8500
Thu 2009/02/19 20:25:58.247| |Acceptor|Application|Already initialized, not re-initing.
Thu 2009/02/19 20:25:58.249| |Acceptor|Application|Already initialized, not re-initing.
Thu 2009/02/19 20:25:58.362| |master|FFmpegExeVideoModule|FFmpeg failed to continue running... Assuming error
Thu 2009/02/19 20:25:58.363| |master|SocketProcessInputStream|Destroying running process...
Thu 2009/02/19 20:25:58.364| |master|ViewScreen|error=Failed to open stream
Thu 2009/02/19 20:26:05.480| |Acceptor|ViewScreen|code=4 rawcode=16777732
Thu 2009/02/19 20:26:05.481| |Acceptor|HostContext|key=mpos:file:/Volumes/Store/Video/TV/The%20Wire/Season%201/Wire_S01E01.mkv value=0
Thu 2009/02/19 20:26:05.484| |Acceptor|HostContext|key=mpos:file:/Volumes/Store/Video/TV/The%20Wire/Season%201/Wire_S01E01.mkv value=0applicationId=com.unwiredappeal.tivo.streambaby.Strea mBabyStream applicationGlobal=false
Thu 2009/02/19 20:26:05.484| |Acceptor|HostContext|applicationIdStr=com.unwiredappeal.tiv o.streambaby.StreamBabyStream applicationGlobal=false
Thu 2009/02/19 20:26:05.485| |Acceptor|HostContext|applicationIdStr=com.unwiredappeal.tiv o.streambaby.StreamBabyStream
Thu 2009/02/19 20:26:05.485| |Acceptor|HostContext|compKey=6630001801F21FD-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
Thu 2009/02/19 20:26:05.485| |Acceptor|HostContext|compKey=6630001801F21FD-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
Thu 2009/02/19 20:26:05.485| |Acceptor|HostContext|compKey=6630001801F21FD-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
Thu 2009/02/19 20:26:05.706| |master|SelectionScreen|focusOn entry=Wire_S01E01
And the output from ffmpeg -i:
Input #0, matroska, from '/Volumes/Store/Video/TV/The Wire/Season 1/Wire_S01E01.mkv':
Duration: 01:02:08.42, start: 0.000000, bitrate: N/A
Stream #0.0(eng): Audio: aac, 24000 Hz, stereo, s16
Stream #0.1(eng): Audio: aac, 24000 Hz, mono, s16
Stream #0.2(eng): Video: mpeg4, yuv420p, 448x336 [PAR 1:1 DAR 4:3], 23.98 tb(r)
Finally, output from mkvinfo:
mkvinfo /Volumes/Store/Video/TV/The\ Wire/Season\ 1/Wire_S01E01.mkv
+ EBML head
|+ Doc type: matroska
|+ Doc type version: 1
|+ Doc type read version: 1
+ Segment, size 263647235
|+ Seek head (subentries will be skipped)
|+ EbmlVoid (size: 4027)
|+ Segment information
| + Muxing application: libebml v0.7.0 + libmatroska v0.7.0
| + Writing application: mkvmerge v0.9.1 built on Jun 15 2004 23:29:28
| + Duration: 3728.426s (01:02:08.426)
| + Date: Mon Nov 1 04:17:07 2004 UTC
| + Title: The Wire - 101 - The Target (with optional commentary)
| + Segment UID: 0xd5 0x5f 0x0e 0x23 0xee 0x9f 0x35 0x55 0x3a 0x7d 0x2f 0x39 0x85 0x7d 0x1d 0xce
|+ Segment tracks
| + A track
| + Track number: 1
| + Track UID: 809150688
| + Track type: audio
| + MinCache: 0
| + Timecode scale: 1
| + Codec ID: A_AAC/MPEG4/LC/SBR
| + Default duration: 42.667ms (23.438 fps for a video track)
| + Default flag: 1
| + Language: eng
| + Audio track
| + Sampling frequency: 24000
| + Channels: 2
| + Output sampling frequency: 48000
| + A track
| + Track number: 2
| + Track UID: 3465606272
| + Track type: audio
| + MinCache: 0
| + Timecode scale: 1
| + Codec ID: A_AAC/MPEG4/LC/SBR
| + Default duration: 42.667ms (23.438 fps for a video track)
| + Default flag: 0
| + Language: eng
| + Name: Director's Commentary
| + Audio track
| + Sampling frequency: 24000
| + Channels: 1
| + Output sampling frequency: 48000
| + A track
| + Track number: 3
| + Track UID: 3553208210
| + Track type: video
| + MinCache: 1
| + Timecode scale: 1
| + Codec ID: V_MS/VFW/FOURCC
| + CodecPrivate, length 40 (FourCC: XVID, 0x44495658)
| + Default duration: 41.708ms (23.976 fps for a video track)
| + Default flag: 1
| + Language: eng
| + Video track
| + Pixel width: 448
| + Pixel height: 336
| + Display width: 448
| + Display height: 336
| + Lacing flag: 0
|+ EbmlVoid (size: 1024)
|+ Cluster
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?
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!
Techtravler
02-19-2009, 09:32 AM
Ok, just uploaded 0.5
Main changes:
Code now runs as a 'daemon' (user launched agent).
Can be configured to run at startup.
Now has a menulet for controlling it.
--> it is 10.5 *ONLY*.
(python on 10.4 is too old, and also pytivoX now relies on some 10.5 api calls).
Update and test away... Thanks!!
Too bad....for the 10.5 only this looked good.
I made a slight mistake, the actual error shown in red on the TV was 'Stream failed to open'. Here's the log:
It *looks* as if ffmpeg is dying while trying to deal with the file. Can you run:
/Applications/pyTivoX.app/Contents/Resources/ffmpeg -ss 0.0 -i "/Volumes/Store/Video/TV/The Wire/Season 1/Wire_S01E01.mkv" -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 2 -sameq -ab 384k /tmp/output.mpg
rm /tmp/output.mpg
Is it working fine or does it exit/crash with some interesting error?
Sevenfeet
02-19-2009, 01:46 PM
Just some observations...
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% 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).
Just some observations...
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
ffmpeg_prams = -vcodec mpeg2video -threads 2 -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 - 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.
Is it working fine or does it exit/crash with some interesting error?
It exits with an error:
/Applications/pyTivoX.app/Contents/Resources/ffmpeg -ss 0.0 -i "/Volumes/Store/Video/TV/The Wire/Season 1/Wire_S01E01.mkv" -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 2 -sameq -ab 384k /tmp/output.mpg
FFmpeg version SVN-r17434, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --arch=i386 --cpu=i686 --disable-vhook --disable-static --enable-shared --enable-pthreads --enable-gpl --enable-libmp3lame --enable-libfaac --enable-libfaad --enable-libx264 --enable-swscale --extra-cflags=-I/Users/yoav/src/lame/include -I/Users/yoav/src/faad2/include -I/Users/yoav/src/faac/include -I/Users/yoav/src/x264 --extra-ldflags=-L/Users/yoav/src/lame/libmp3lame/.libs -L/Users/yoav/src/faad2/libfaad/.libs -L/Users/yoav/src/faac/libfaac/.libs -L/Users/yoav/src/x264/
libavutil 49.14. 0 / 49.14. 0
libavcodec 52.15. 0 / 52.15. 0
libavformat 52.29. 0 / 52.29. 0
libavdevice 52. 1. 0 / 52. 1. 0
libswscale 0. 7. 0 / 0. 7. 0
built on Feb 18 2009 10:14:45, gcc: 4.0.1 (Apple Inc. build 5484)
Input #0, matroska, from '/Volumes/Store/Video/TV/The Wire/Season 1/Wire_S01E01.mkv':
Duration: 01:02:08.42, start: 0.000000, bitrate: N/A
Stream #0.0(eng): Audio: aac, 24000 Hz, stereo, s16
Stream #0.1(eng): Audio: aac, 24000 Hz, mono, s16
Stream #0.2(eng): Video: mpeg4, yuv420p, 448x336 [PAR 1:1 DAR 4:3], 23.98 tb(r)
Stream mapping:
Stream #0.2 -> #0.0
Stream #0.0 -> #0.1
Error while opening codec for output stream #0.1 - maybe incorrect parameters such as bit_rate, rate, width or height
The transcode parameters you gave to Shane in post 275 (http://www.tivocommunity.com/tivo-vb/showthread.php?p=7075692#post7075692) work fine.
Sevenfeet
02-19-2009, 04:40 PM
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
ffmpeg_prams = -vcodec mpeg2video -threads 2 -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 - in the Server section. (change the number of threads to the number of cores/cpus you have. Keep in mind 'apply' overwrites this file.
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).
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.
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:
192.168.0.8 - - [19/Feb/2009 15:26:30] "GET /TiVoConnect?Command=QueryContainer&Container=Drobo%20Photos%2FNew%20Pics&Recurse=Yes&Filter=image%2F*&SortOrder=Type,CaptureDate&AnchorItem=%2FDrobo%2520Photos%2FNew%2520Pics%2FIMG_0294.JPG&ItemCount=1&Details=Optimal&Format=text%2Fxml HTTP/1.0" 200 -
This line was getting repeated every few seconds as if pyTivoX was working just fine but it had lost contact with the Tivo itself. Weird.
Music still skips when playing anything else but an MP3.
It exits with an error:
Ok, I'm wondering if that's because we're asking for an invalid audio bitrate. Does this work?
/Applications/pyTivoX.app/Contents/Resources/ffmpeg -ss 0.0 -i "/Volumes/Store/Video/TV/The Wire/Season 1/Wire_S01E01.mkv" -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 2 -sameq -ab 224k /tmp/output.mpg
(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...
wmcbrine
02-19-2009, 05:42 PM
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.I do use pyTivo for pictures and music, but I don't use iTunes. (Well, not seriously -- I do have 700 megs of MP3's on my Mac, but no playlists.) And really I'm the only one who works on the music plugin. So, yeah.
I'm not certain why you are getting skips in the music though.I'd think that the computer was too slow, but it's only MP3's... I have an idea, though; let me get back to you on it.
oops, and I just re-read the message. Sounds like 'photos' is also breaking. Oddly enough, it's working for me (grrr).Not odd; that one's definitely connected to the speed of the machine. Not in a completely straightforward way, though. I've written about this extensively elsewhere, but the bottom line is that I haven't been able to fix it, except by using a faster machine.
The same #5-6 errors afflict the music plugin, although this is a separate issue from the skipping.
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)?
I don't believe handbrake is able to output mpeg-2 files, so that's out. VLC can if you prefer a gui...
I suspect the easiest thing to do is simply use
/Applications/pyTivoX.app/Contents/Resources/ffmpeg -i <input> -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 29.97 -v 0 -threads 2 -sameq -ab 384k <output>
This is just stolen from streambaby's defaults for 'same quality'. You may want to drop the -r 29.97 unless you have a REALLY weird framerate in your source. That will output an mpeg-2 with ac-3 audio. I'm sure there are probably tons of 'better' solutions too...
Sevenfeet
02-19-2009, 07:16 PM
I do use pyTivo for pictures and music, but I don't use iTunes. (Well, not seriously -- I do have 700 megs of MP3's on my Mac, but no playlists.) And really I'm the only one who works on the music plugin. So, yeah.
I'd think that the computer was too slow, but it's only MP3's... I have an idea, though; let me get back to you on it.
Not odd; that one's definitely connected to the speed of the machine. Not in a completely straightforward way, though. I've written about this extensively elsewhere, but the bottom line is that I haven't been able to fix it, except by using a faster machine.
The same #5-6 errors afflict the music plugin, although this is a separate issue from the skipping.
One thing a faster machine would solve is the inherit nature of how this application is designed. If its relying on python, it's going to be slower than a completely compiled application. There's just no way around that.
One other thing I get in the pyTivoX.log file is a complaint about not finding the C version of Namemapper. Not sure if this is a standard warning or something you guys should know about.
Sevenfeet
02-19-2009, 07:18 PM
I don't believe handbrake is able to output mpeg-2 files, so that's out. VLC can if you prefer a gui...
I suspect the easiest thing to do is simply use
/Applications/pyTivoX.app/Contents/Resources/ffmpeg -i <input> -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 29.97 -v 0 -threads 2 -sameq -ab 384k <output>
This is just stolen from streambaby's defaults for 'same quality'. You may want to drop the -r 29.97 unless you have a REALLY weird framerate in your source. That will output an mpeg-2 with ac-3 audio. I'm sure there are probably tons of 'better' solutions too...
What I meant was what Mp4 method is best to transcode my MPEG2 based DVDs to something the Tivo will like without further processing? An MP4 + AC3 solution would be ideal.
One other thing I get in the pyTivoX.log file is a complaint about not finding the C version of Namemapper. Not sure if this is a standard warning or something you guys should know about.
That is normal. (I get the warning too... I assume cheetah is not required, so I didn't bother getting and compiling it on every installation... I'm happy to be told otherwise and I'll install it with pyTivoX).
What I meant was what Mp4 method is best to transcode my MPEG2 based DVDs to something the Tivo will like without further processing? An MP4 + AC3 solution would be ideal.
Ahh.
As of right now, pyTivo will transcode all mp4s to mpeg-2s (there is some talk of new support for mp4 downloads, but this is all very prelim).
streambaby *will* stream mp4's, although there are some limitations. I unfortunately don't know the 'full list' of limitations (I think people are still figuring them out in fact), I would ask that in the streambaby thread. Personally I'd stick to 'safe' settings (no b-frames, no cabac, h.264 level 4 or lower, etc). It's definitely worth trying it with a file or two and see what happens.
That said, I'm curious why you'd rather convert them to mp4s? high-bitrate mpeg-2 will look just as good as high bitrate mpeg-4, and will be a LOT faster to encode (I'd guess an HD movie on your computer will take several days to encode as an mpeg-4 -- unless you reduce the resolution). The advantages of mpeg-4 show up at lower bitrates, which I assume you're not planning on using if this is for movie viewing on a good TV.
kearygriffin
02-19-2009, 07:50 PM
...
That said, I'm curious why you'd rather convert them to mp4s? high-bitrate mpeg-2 will look just as good as high bitrate mpeg-4, and will be a LOT faster to encode (I'd guess an HD movie on your computer will take several days to encode as an mpeg-4 -- unless you reduce the resolution). The advantages of mpeg-4 show up at lower bitrates, which I assume you're not planning on using if this is for movie viewing on a good TV.
I think the big advantage of MP4's is transfer speed and bitrate. Mp4's get (something like) twice the quality at half the bitrate. So a 4000kbs mp4 has the same quality as an 8000kbs mpeg2. (I'm not sure it's really twice, but it is very significant)
Combine that with the fact that the TiVo is able to receive MP4's much quicker than mpeg2 (mpeg2 bandwidth is restricted by TiVo processing) you end up being able to stream in realtime much higher quality videos via MP4 than you can with mpeg.
(So TiVo can probably handle streaming hi-def MP4 files pretty well, but won't be able to handle streaming hi-def mpeg2 files)
I think the big advantage of MP4's is transfer speed and bitrate. Mp4's get (something like) twice the quality at half the bitrate. So a 4000kbs mp4 has the same quality as an 8000kbs mpeg2. (I'm not sure it's really twice, but it is very significant)
Combine that with the fact that the TiVo is able to receive MP4's much quicker than mpeg2 (mpeg2 bandwidth is restricted by TiVo processing) you end up being able to stream in realtime much higher quality videos via MP4 than you can with mpeg.
(So TiVo can probably handle streaming hi-def MP4 files pretty well, but won't be able to handle streaming hi-def mpeg2 files)
fwiw, mpeg-2 outperforms mp4 (avc) at high bitrates. i.e. 20 mbps mpeg-2 video looks better than 20mbps mpeg-4. It's at low bitrates that mpeg-4 looks significantly better than mpeg-2. From what little I understand of avc, at anything over 10mbps, the quality returns diminish, whereas for mpeg-2, that only happens at around 40mbps. I suspect that at around the 5mbps mark both formats look about the same to most viewers, and then when you go lower (like 2mbps, which is what I tend to use for my movies) mpeg-4 clearly wins.
However, if mp4 files can be streamed to the tivo at a faster rate, then it's a definite win. I was mostly concerned for the fact that encoding mp4 is extremely CPU-intensive, and the OP was complaining about slow performance on his computer....
Just a quick update- all seems to be working well following the port and beacon change. The restart did help as well. I want to thank you for your attention and dedication to the project. I look forward to exploring it and wanted to thank you for you attention to my issue and all those others who wrote looking for help. Your passion is clear and you've made my experience thus far amazing. I thank you.:up:
Tad
Port Richey, FL
Sevenfeet
02-20-2009, 01:04 AM
Ahh.
As of right now, pyTivo will transcode all mp4s to mpeg-2s (there is some talk of new support for mp4 downloads, but this is all very prelim).
streambaby *will* stream mp4's, although there are some limitations. I unfortunately don't know the 'full list' of limitations (I think people are still figuring them out in fact), I would ask that in the streambaby thread. Personally I'd stick to 'safe' settings (no b-frames, no cabac, h.264 level 4 or lower, etc). It's definitely worth trying it with a file or two and see what happens.
That said, I'm curious why you'd rather convert them to mp4s? high-bitrate mpeg-2 will look just as good as high bitrate mpeg-4, and will be a LOT faster to encode (I'd guess an HD movie on your computer will take several days to encode as an mpeg-4 -- unless you reduce the resolution). The advantages of mpeg-4 show up at lower bitrates, which I assume you're not planning on using if this is for movie viewing on a good TV.
I keep forgetting that I need to refer to pyTivoX and Streambaby seperately for the sake of clarity. First, I keep forgetting that pyTivoX will convert MP4s on the fly to MPEG2s if you're just doing a transfer. That by itself is pretty neat but I don't really use that feature much, Streaming on the other hand (i.e. Streambaby) is better to hand it pre-encoded MP4s that the Tivo can swallow whole (and you get to make HD versions if you like versus MPEG2s). My dream is to be able to convert most of my DVDs that are in rotation for my kids to MP4s that any of us (or babysitters) could fire up without getting a physical disc out (i.e. Handbrake). The Tivo has access to my ripped DVDs as well which play just fine...one vob file at a time. Not exactly user friendly!
BTW, I don't use my elderly server for Handbrake encoding. (that would be torture) I use either an Intel iMac that I have or my wife's MacBook Pro. The problem is that up until now, I haven't found an encoding scheme I've liked enough to dedicate enough encoding time to do a large number of movies. I'll have to revisit the Streambaby thread.
wmcbrine
02-20-2009, 01:06 AM
I'd think that the computer was too slow, but it's only MP3's... I have an idea, though; let me get back to you on it.I remembered reports from Mac users that the Python process (and not just ffmpeg) was taking up an inordinate amount of CPU when transcoding video, and that this had been fixed by adding a buffer to the subprocess setup. (Only the Mac was affected, oddly.) But this hadn't been done for the music plugin. So I did, and it makes a big difference. I can't guarantee it will eliminate the skips (I didn't have any to begin with on my G4 Mini), but it does cut the CPU usage significantly. The change is in my repo now.
Ok, just uploaded beta 21. This has the new wmcbrine pyTivo. Try it out and see if it helps out with your music?
(also, I don't really know what the difference is between wgw's and wmcbrine's, so if anything new breaks, tell me and we can try and fix it).
Ok, I'm wondering if that's because we're asking for an invalid audio bitrate. Does this work?
/Applications/pyTivoX.app/Contents/Resources/ffmpeg -ss 0.0 -i "/Volumes/Store/Video/TV/The Wire/Season 1/Wire_S01E01.mkv" -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 2 -sameq -ab 224k /tmp/output.mpg
Yes, that transcode works successfully. The .mpg file produced plays fine in VLC on the Mac, but when it's streamed to the Tivo via pyTivoX the audio sounds too high-pitched (chipmunk effect) - the video is fine. I'm not sure if it's getting transcoded again.
matelot
02-20-2009, 01:43 PM
Thanks for the response. I'll look into it.
Yes, that transcode works successfully. The .mpg file produced plays fine in VLC on the Mac, but when it's streamed to the Tivo via pyTivoX the audio sounds too high-pitched (chipmunk effect) - the video is fine. I'm not sure if it's getting transcoded again.
Download the latest beta, and hit 'apply' to take the new changes.
Really the problem seems to stem from the fact that your source audio is very low-frequency-ranged, and I guess ffmpeg is refusing to convert it to a high-bitrate ac-3. The new code will default to a combined 192kbps across all channels, and hopefully that will work for you.
As for vlc, vlc can play a LOT more formats than the tivo can, and ffmpeg is doing its best to convert it to one that tivo likes, but *crap* does happen.
kearygriffin
02-20-2009, 03:33 PM
Download the latest beta, and hit 'apply' to take the new changes.
Really the problem seems to stem from the fact that your source audio is very low-frequency-ranged, and I guess ffmpeg is refusing to convert it to a high-bitrate ac-3. The new code will default to a combined 192kbps across all channels, and hopefully that will work for you.
As for vlc, vlc can play a LOT more formats than the tivo can, and ffmpeg is doing its best to convert it to one that tivo likes, but *crap* does happen.
I've also noticed that the more recent the version of ffmpeg, the more problems it seems to have with audio transcoding. Sometimes it refuses to convert, other times the effect I get most often is a high pitched "warbling effect". I just switched back to using an older ffmpeg (the default one that comes with my Linux distro). I get the impression that the audio transcoding is under heavy development recently. (but that is just an impression)
I wish I could be more help with which versions of ffmpeg do what/support what, but it's really just trial and error for me.
Download the latest beta, and hit 'apply' to take the new changes.
Really the problem seems to stem from the fact that your source audio is very low-frequency-ranged, and I guess ffmpeg is refusing to convert it to a high-bitrate ac-3. The new code will default to a combined 192kbps across all channels, and hopefully that will work for you.
Closer. The TiVo plays the file, but the audio is still messed up - stuttering *and* the wrong frequency. Perhaps we should do as Keary said and wait for ffmpeg to get fixed :-)
No big deal, there are worse things in life. Thanks for the help, I appreciate your efforts. I wish I could help with this stuff (I'm a programmer) but I have a screaming baby to look after. :p Speaking of which...
wmcbrine
02-21-2009, 01:04 AM
The new code will default to a combined 192kbps across all channels, and hopefully that will work for you.From what I'm reading, it sounds like the sample rate is the issue, not the bitrate.
From what I'm reading, it sounds like the sample rate is the issue, not the bitrate.
my *complete and utter guess* is that the sample rate is half, and the number of channels is 1 or 2, and so the original requested target bitrate of 384 was higher than it was willing to go (it was happy but distorted at 278 or whatnot, but it errored out with invalid bitrate at 384).
Either way, I'm taking it back to 384 on the next release, since lowering it didn't fix anything -- and I suspect people with 5.1 audio want to still have it sound 'good'.
From what I'm reading, it sounds like the sample rate is the issue, not the bitrate.
You're right. I added -ar 48000 to the ffmpegexe.transcode in streambaby.ini and the audio plays fine on Tivo now. Would we want that setting for all transcodes, or should it be used only when the input audio is at an odd rate like 24000 like in this case?
Now the audio isn't distracting me, I can see that the frame rate is probably half what it should be. I'll investigate.
You're right. I added -ar 48000 to the ffmpegexe.transcode in streambaby.ini and the audio plays fine on Tivo now. Would we want that setting for all transcodes, or should it be used only when the input audio is at an odd rate like 24000 like in this case?
Now the audio isn't distracting me, I can see that the frame rate is probably half what it should be. I'll investigate.
I'm honestly not sure :(. I'd be a little wary of forcing everything/everyone to a fixed sample rate. I'm inclined to hoping that ffmpeg figures out a 'better way to convert' so we don't have to worry about it.
SuperSpiker
02-21-2009, 02:57 AM
I'm running PytivoX 1.1b21 on OSX 10.5.6. I have a Tivo HD.
When I access the folders I've shared with PytivoX via "Now Playing" on the Tivo everything works as expected.
But when I try to access those same shared folders via "Music, Photos, and Showcases" and click on "pyTivoX - Streambaby" I get this error: "An error occured while running the application. HTTP failure (Http connection error: 0x50005)"
Everything was working fine when I was using 1.1b16 but when I updated to 1.1b19 is when the above error started. I thought that 1.1b21 would fix this error but it's still happening.
I would include the error log in this post but I'm not sure how to find it.
Any help to resolve this error would be appreciated. PyTivoX and and Streambaby are an AWESOME combination for streaming video files to my Tivo. THANKS to the developers of both!
Joe.
I'm running PytivoX 1.1b21 on OSX 10.5.6. I have a Tivo HD.
When I access the folders I've shared with PytivoX via "Now Playing" on the Tivo everything works as expected.
But when I try to access those same shared folders via "Music, Photos, and Showcases" and click on "pyTivoX - Streambaby" I get this error: "An error occured while running the application. HTTP failure (Http connection error: 0x50005)"
Everything was working fine when I was using 1.1b16 but when I updated to 1.1b19 is when the above error started. I thought that 1.1b21 would fix this error but it's still happening.
I would include the error log in this post but I'm not sure how to find it.
Any help to resolve this error would be appreciated. PyTivoX and and Streambaby are an AWESOME combination for streaming video files to my Tivo. THANKS to the developers of both!
Joe.
You can look at the log by opening Finder, and then choosing from the menu: "Go", "Go to Folder..." and typing in "/tmp/", the logs will be named pyTivoX-SB.log and pyTivoX.log
That said, I'm hazarding a guess that this is related to the fact that streambaby is trying to stream it now where it was transcoding before (which would explain why pytivo is still working with it). You can force streambaby to transcode by selecting any quality OTHER than 'same'.
SuperSpiker
02-21-2009, 04:07 AM
You can look at the log by opening Finder, and then choosing from the menu: "Go", "Go to Folder..." and typing in "/tmp/", the logs will be named pyTivoX-SB.log and pyTivoX.log
Here is the pyTivoX.log:
INFO:pyTivo:pyTivo is ready.
/Applications/pyTivoX.app/Contents/Resources/pyTivo-wmcbrine/Cheetah/Compiler.py:1532: 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.7 - - [21/Feb/2009 00:16:25] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
192.168.1.7 - - [21/Feb/2009 00:21:52] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
Here is the pyTivoX-SB.log:
Sat 2009/02/21 00:15:06.629| |main|StreamBabyConfig|WorkingDir: /private/tmp
Sat 2009/02/21 00:15:06.631| |main|StreamBabyConfig|StreamBabyDir: /Applications/pyTivoX.app/Contents/Resources/streambaby
Sat 2009/02/21 00:15:06.631| |main|StreamBabyConfig|CurDir: /private/tmp
Sat 2009/02/21 00:15:10.356| |main|FFmpegJavaConfig$1|Loading avutil, default: /Applications/pyTivoX.app/Contents/Resources/libavutil.dylib
Sat 2009/02/21 00:15:10.548| |main|FFmpegJavaConfig$1|Loaded: /Applications/pyTivoX.app/Contents/Resources/libavutil.dylib
Sat 2009/02/21 00:15:10.549| |main|FFmpegJavaConfig$1|Loading avcodec, default: /Applications/pyTivoX.app/Contents/Resources/libavcodec.dylib
Sat 2009/02/21 00:15:13.362| |main|FFmpegJavaConfig$1|Loaded: /Applications/pyTivoX.app/Contents/Resources/libavcodec.dylib
Sat 2009/02/21 00:15:13.588| |main|FFmpegJavaConfig$1|Loaded avCodec version: 52 (3412480)
Sat 2009/02/21 00:15:13.588| |main|FFmpegJavaConfig$1|Loading avformat, default: /Applications/pyTivoX.app/Contents/Resources/libavformat.dylib
Sat 2009/02/21 00:15:14.876| |main|FFmpegJavaConfig$1|Loaded: /Applications/pyTivoX.app/Contents/Resources/libavformat.dylib
Sat 2009/02/21 00:15:15.011| |main|FFmpegJavaConfig$1|Loaded avFormat version: 52 (3415298)
Sat 2009/02/21 00:15:15.011| |main|FFmpegJavaConfig$1|Loading swscale, default: /Applications/pyTivoX.app/Contents/Resources/libswscale.dylib
Sat 2009/02/21 00:15:15.517| |main|FFmpegJavaConfig$1|Loaded: /Applications/pyTivoX.app/Contents/Resources/libswscale.dylib
Sat 2009/02/21 00:15:15.526| |main|FFmpegJavaConfig$1|Marking libswscale as available.
Sat 2009/02/21 00:15:17.761| |main|FFmpegJavaVideoModule|FFmpeg-java Module: loaded
Sat 2009/02/21 00:15:17.766| |main|FFmpegExeVideoModule|FFmpegPath: /Applications/pyTivoX.app/Contents/Resources/ffmpeg.bin
Sat 2009/02/21 00:15:17.766| |main|FFmpegExeVideoModule|FFmpegExeModule: Loaded
Sat 2009/02/21 00:15:19.560| |main|RootDirEntry$dirEntryHandler|dirEntry: file:/Volumes/JoeDrive/Video/TV/
Sat 2009/02/21 00:15:19.563| |main|RootDirEntry$dirEntryHandler|dirEntry: file:/Volumes/JoeDrive/Video/Movies/
Sat 2009/02/21 00:15:19.563| |main|RootDirEntry$dirEntryHandler|dirEntry: file:/Users/joe/Downloads/
Sat 2009/02/21 00:15:19.564| |main|RootDirEntry$dirEntryHandler|dirEntry: file:/Volumes/JoeDrive/Video/
Sat 2009/02/21 00:15:21.145| |main|PreviewCacheUtils|Cache Clean complete
Sat 2009/02/21 00:15:21.146| |main|StreamBabyMain|STARTING StreamBaby v20090220-0057...
Sat 2009/02/21 00:15:21.147| |main|Main|args= start=true
Sat 2009/02/21 00:15:21.147| |main|Main|args= loader=sun.misc.Launcher$AppClassLoader@33056f
Sat 2009/02/21 00:15:21.186| |main|Listener|config=com.tivo.hme.host.util.Config@f549de logger=com.unwiredappeal.tivo.utils.Log$ILoggerImpl@c4a2d3
Sat 2009/02/21 00:15:21.256| |main|Listener|factoryList=[StreamBabyStreamFactory[/streambaby/,pyTivoX - StreamBaby]]
Sat 2009/02/21 00:15:21.256| |main|Listener|factory=StreamBabyStreamFactory[/streambaby/,pyTivoX - StreamBaby]
Sat 2009/02/21 00:15:21.256| |main|Listener|name=/streambaby/
Sat 2009/02/21 00:15:21.256| |main|Listener|
Sat 2009/02/21 00:15:21.256| |main|Listener|added factory
Sat 2009/02/21 00:15:21.257| |main|Main|factory=StreamBabyStreamFactory[/streambaby/,pyTivoX - StreamBaby]
Sat 2009/02/21 00:15:21.257| |main|Main|MDNS: http://192.168.1.5:7288/streambaby/
Sat 2009/02/21 00:15:21.257| |main|Main|streambaby ready & listening.
Sat 2009/02/21 00:15:21.257| |main|Main|mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,pyTivoX - StreamBaby] port=7288
Sat 2009/02/21 00:18:36.710| |Acceptor|Listener|http=HttpRequest /streambaby/icon.png
Sat 2009/02/21 00:18:36.710| |Acceptor|Listener|path=/streambaby/icon.png uri=/streambaby/
Sat 2009/02/21 00:18:36.711| |Acceptor|Listener|
Sat 2009/02/21 00:18:36.711| |Acceptor|Listener|192.168.1.7 icon.png HTTP GET - to factory /streambaby/
Sat 2009/02/21 00:18:36.711| |Acceptor|StreamBabyStream$StreamBabyStreamFactory|uri=icon. png
Sat 2009/02/21 00:45:21.206| |Timer-0|InfoCache$PruneTask|Pruning cache...
Sat 2009/02/21 00:45:21.207| |Timer-0|InfoCache$PruneTask|Pruning complete.
That said, I'm hazarding a guess that this is related to the fact that streambaby is trying to stream it now where it was transcoding before (which would explain why pytivo is still working with it). You can force streambaby to transcode by selecting any quality OTHER than 'same'.
Unfortunately I don't get to the screen that would allow me to change the quality value. As soon as I click on "pyTivoX - Streambaby" from the "Photos, Music, and Showcases" menu I get the error mentioned in my previous post.
Hopefully you now have more information from the logs I've posted.
Thanks for looking in to it. LMK.
wmcbrine
02-21-2009, 04:39 AM
Yoav, sample rate and bitrate are not related. And yes, you probably want to force the sample rate, since AFAICT, 44100 and 48000 are the only ones the TiVo can handle. (Well, I can't say that for sure, but I haven't found another good one.)
Yoav, sample rate and bitrate are not related. And yes, you probably want to force the sample rate, since AFAICT, 44100 and 48000 are the only ones the TiVo can handle. (Well, I can't say that for sure, but I haven't found another good one.)
I was under the impression that things sampled at a lower rate compressed better (i.e. a 20Khz sampling rate yielded frequencies up to about 10khz, and so compressed more). So algorithms with bitrate caps would care about number of channels and sampling rate for the cap value. But anyways, I know nothing here, other than 'it's breaking'.
The choice to force all movies to a fixed sample rate isn't up to me.. that's a streambaby defaults issue. Does pytivo force all audio to a fixed sample rate?
Here is the pyTivoX.log:
Hmm. the pytivo log has nothing interesting in it (to be expected since you're not using pytivo).
the pytivo-sb log seems to indicate that it's loading fine, and clearly your tivo sees it (or else you wouldn't be able to select streambaby). I do notice you're still using port 7288 which means you haven't updated to the latest beta in a while (or if you did, you still haven't clicked 'apply').
Other than that I'm not seeing anything that would explain the error. It might be worth rebooting the tivo and computer just in case (definitely upgrade pyTivoX and hit 'apply' before you do though).
wmcbrine
02-21-2009, 06:16 AM
Does pytivo force all audio to a fixed sample rate?As always, pyTivo is complicated. But the default behavior (if you don't reconfigure it) is to recognize only 44100 and 48000 as valid, and otherwise force it to 48000.
Sevenfeet
02-21-2009, 08:25 AM
Upgraded to pyTivoX b22. Music actually seems worse now. I still get the same behavior...MP3s play ok and anything else needing to be transcoded (AAC, Lossless) can't play more than three seconds without drops and skips. But I'm also getting a lot of Error#3-5-6 just mousing around and trying to select any music. Weird.
wmcbrine
02-21-2009, 11:03 AM
At the risk of repeating myself, a quote from the pyTivo forum:
My current hypothesis is that you'll see it more often the slower your system is (so, in your [NAS] case, a lot). But I can't really explain it. It seems to be a low-level network problem, something that the TiVo doesn't like about how Python works. The Photo plugin is also affected. I spent a lot of time on the issue, but it was pretty fruitless.
3-5-6 errors in the music plugin are the same as 5-6 errors in photos. If you weren't seeing them before, it was sheer luck. But it's an intermittent problem, so there's no predicting when it will show up.
Again, it's not that the system is too slow per se (although that may be the issue with the skips), but that, on slower systems, there's some strange timing problem in the networking that's obscured by a faster system. Since Python's networking seems to work fine with everything else, I tend to blame the TiVo end. But I don't know exactly what's going on there.
Just to illustrate the strangeness of the problem: Even though error 5-6 only appeared on my slowest system, it actually went away when I made pyTivo respond even more slowly, by adding some debug output. (Oh, it's fun trying to deal with a problem that goes away when you debug it!)
Since that system died, I no longer have any machines slow enough to evoke error 5-6.
kearygriffin
02-21-2009, 12:18 PM
...And yes, you probably want to force the sample rate, since AFAICT, 44100 and 48000 are the only ones the TiVo can handle. (Well, I can't say that for sure, but I haven't found another good one.)
Thanks, I didn't realize this-- I'll have to make changes to streambaby transcode non-compliant videos, and add the parameter to ffmpeg to force 48Khz.
Sevenfeet
02-21-2009, 08:22 PM
At the risk of repeating myself, a quote from the pyTivo forum:
3-5-6 errors in the music plugin are the same as 5-6 errors in photos. If you weren't seeing them before, it was sheer luck. But it's an intermittent problem, so there's no predicting when it will show up.
Again, it's not that the system is too slow per se (although that may be the issue with the skips), but that, on slower systems, there's some strange timing problem in the networking that's obscured by a faster system. Since Python's networking seems to work fine with everything else, I tend to blame the TiVo end. But I don't know exactly what's going on there.
Just to illustrate the strangeness of the problem: Even though error 5-6 only appeared on my slowest system, it actually went away when I made pyTivo respond even more slowly, by adding some debug output. (Oh, it's fun trying to deal with a problem that goes away when you debug it!)
Since that system died, I no longer have any machines slow enough to evoke error 5-6.
Well, what am I supposed to do with a 9-year old unsupported hardware Leopard Server anyway? You guys should be doing better to support clowns like me! :D
gosox13
02-22-2009, 02:30 AM
I just downloaded pyTivox and added some photos from my pictures on my iMac running Leopard. The data (name, date, etc) with respect to the photos transferred fine to my TiVo, but I can't see any of the photos.When I choose a photo and select "View photo" it shows an icon of a photo negative with a crack running down the center. I then experimented with a music file from iTunes and it worked fine. Any help? Thanks.
I just downloaded pyTivox and added some photos from my pictures on my iMac running Leopard. The data (name, date, etc) with respect to the photos transferred fine to my TiVo, but I can't see any of the photos.When I choose a photo and select "View photo" it shows an icon of a photo negative with a crack running down the center. I then experimented with a music file from iTunes and it worked fine. Any help? Thanks.
Yes, this is a known bug that is fixed in the beta release. Either download that from the 'downloads' section, or wait, (I suspect the beta will become the main release in the near future)...
seattlewendell
02-22-2009, 07:26 AM
I'm using the Beta now. It is unreal how well this works. Thanks Yoav!
gosox13
02-22-2009, 04:32 PM
Yes, the Beta worked--thanks!
One more question. When I went to add photos from iPhoto, I could get to Users/MyName/Pictures, but then the iPhoto library was grayed out and nonselectable, so I had to select the entire Pictures folder, which included iPhoto as well as other folders and files. Does this mean I can only select whole folders, not individual photos, etc? I am a recent convert to Mac from Windows, so please excuse if I am not using correct terminology for the Mac operating system.
Yes, the Beta worked--thanks!
One more question. When I went to add photos from iPhoto, I could get to Users/MyName/Pictures, but then the iPhoto library was grayed out and nonselectable, so I had to select the entire Pictures folder, which included iPhoto as well as other folders and files. Does this mean I can only select whole folders, not individual photos, etc? I am a recent convert to Mac from Windows, so please excuse if I am not using correct terminology for the Mac operating system.
You can't share only a single photo or file from the gui. It needs to be a folder with pictures. even if you could share a photo, an iPhoto library file is not a photo, it's just a description of other pictures, which pyTivo doesn't know what to do with (for the same reason, you can't share your iTunes library, but you can share the folder that contains your music).
gosox13
02-22-2009, 05:19 PM
That's what I guessed. Thanks again for confirming.
Clusty
02-25-2009, 10:33 PM
Yoav, how about adding the native-mp4 streaming that people are talking about here to pyTiVoX? Or is that only possible on Windows?
Yoav, how about adding the native-mp4 streaming that people are talking about here to pyTiVoX? Or is that only possible on Windows?
It's 'push', not 'pull', so it won't work the way you expect it to... I'm hoping that 'pull' mp4 support can be figured out and then things will 'just work', but for now, no support. (Remember that pyTivoX is intended to be a nice simple clean front-end that 'just works' -- It doesn't offer MANY of the advanced options of pyTivo without hacking the config files by hand).
Advanced: The code *IS* in the latest beta. So if you download and install it, you can certainly edit ~/Library/Application Support/pyTivoX/pyTivo.conf and insert all the necessary values required for push support, and it will gladly push mp4s... OR access the web interface (after starting pyTivoX, connect to http://localhost:9032/), and do the same thing. But I don't promise it works, I don't promise to prioritize fixing bugs, and I may not even be helpful in figuring out how to fix things.
Keep in mind that changes to the config files will get overwritten if you hit the 'Apply' button.
On the other hand, wmcbrine (the guy who wrote the pyTivo you're using) generally checks this thread, and may be helpful. Not gonna promise anything...
wmcbrine
02-26-2009, 03:35 AM
On the other hand, wmcbrine (the guy who wrote the pyTivo you're using)Well, I did write the MP4 push (based on work by Keary Griffin and Kevin Moye), but don't give me that much credit. :) See the README for authors.
Yoav,
I think you need to add -ar ${asamplerate} to the ffmpegexe.transcode.sameqargs line that pyTivoX writes in the default streambaby.ini. Without that, users won't get streambaby 0.25's fix that makes sure audio is always 44100 or 48000 (the problem I had earlier in the thread with an episode of The Wire).
Thanks!
Yoav,
I think you need to add -ar ${asamplerate} to the ffmpegexe.transcode.sameqargs line that pyTivoX writes in the default streambaby.ini. Without that, users won't get streambaby 0.25's fix that makes sure audio is always 44100 or 48000 (the problem I had earlier in the thread with an episode of The Wire).
Thanks!
Woops Thanks!
nice catch. Fixing in next release.
Sevenfeet
02-27-2009, 11:51 PM
BTW, is there any way for us to know what version of Streambaby that pytivoX is synced with?
BTW, is there any way for us to know what version of Streambaby that pytivoX is synced with?
ermm yes but it's not very pretty.
Open up Terminal.app, and type
cat /Applications/pyTivoX.app/Contents/Resources/streambaby/VERSION.txt
(that's the svn release number used in the build). The path above might need to be fixed if you installed pytivox in a non-standard location.)
jimbocil
02-28-2009, 08:48 PM
Has anyone been experiencing low audio?
Has anyone been experiencing low audio?
I personally haven't, but the latest beta did change some audio processing options that force sample rates to certain values, and that might be causing what you are seeing. Is this a new bug for you in the latest beta?
If it's always been that way, It might just be an issue with ffmpeg and how it's handling your audio. I know some people have complained that when you convert AC-3 audio to aac, sometimes there's a large volume drop (aac and ac-3 normalize to different values). ffmpeg is supposed to have workarounds built-in to handle this, but it's not clear how good those are.
It would help if we knew if it was for ALL types of audio, or just things encoded 5.1, or ac-3 audio, or whatnot. What is the source of your program, and are you using streambaby or pyTivo mode?
jimbocil
02-28-2009, 11:44 PM
This is the first version I have tried, but it looks like this may have been a one time occurrence. I tried some other videos encoded in the same manner and they seem fine. Also, once the video was fully downloaded to the TiVo the audio got louder, so it may have just been due to the fact that I was watching while downloading. I will post again if it happens with another video. Thanks for the quick response and a very helpful piece of software!
kas25
03-01-2009, 12:10 PM
I really love this app. Looks great now and streaming works really well. I can't stream any movies purchased on itunes. Any workaround to this? Thanks.
I really love this app. Looks great now and streaming works really well. I can't stream any movies purchased on itunes. Any workaround to this? Thanks.
Movies purchased on itunes are protected with DRM. You are not legally allowed to do anything with them that isn't through itunes (so you can put it on your iphone, or watch it on appleTV or iTunes, but that's it).
Recently apple decided to allow for DRM-free music purchases. Hopefully in the future, they may do the same with their movies. Until then, you may try some 'illegal' options to strip the DRM, but until that happens, pyTivo and streambaby are unable to read your movie files from itunes.
SuperSpiker
03-04-2009, 07:04 PM
Things were working great but now on my S2 Tivo but now I'm getting the following error in my log:
Seems stream 1 codec frame rate differs from container frame rate: 47.95 (48000/1001) -> 23.98 (24000/1001)
Input #0, matroska, from '/Volumes/JoeDrive/Video/TV/24/24.S07E02.720p.HDTV.X264-DIMENSION.mkv':
Duration: 00:40:53.21, start: 0.000000, bitrate: N/A
Stream #0.0: Audio: ac3, 48000 Hz, 5.1, s16
Stream #0.1(eng): Video: h264, yuv420p, 1280x720, PAR 1:1 DAR 16:9, 23.98 tbr, 1k tbn, 47.95 tbc
Output #0, vob, to 'pipe:':
Stream #0.0(eng): Video: mpeg2video, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], q=2-31, 1000 kb/s, 90k tbn, 29.97 tbc
Stream #0.1: Audio: ac3, 48000 Hz, 5.1, s16
Stream mapping:
Stream #0.1 -> #0.0
Stream #0.0 -> #0.1
Press [q] to stop encoding
frame= 32 fps= 0 q=2.0 Lsize= 134kB time=1.02 bitrate=1072.0kbits/s
Please advise.
Thanks!
Things were working great but now on my S2 Tivo but now I'm getting the following error in my log:
I see a 'warning' at the top, and no errors:
Seems stream 1 codec frame rate differs from container frame rate: 47.95 (48000/1001) -> 23.98 (24000/1001)
Everything else indicates normal operation. Looks like you downloaded a *cough cough* less-than-legal copy of 24 and whomever made the copy created a slightly 'incorrect' file. But I believe that file should play anyways. You may want to bring this up in the pyTivo thread and see if anyone has any ideas...
If the log is stopping there, then it's possible ffmpeg is crashing on your file (ffmpeg is the thing that converts your file to something that the tivo can use).
I'm assuming it's not playing right on the tivo?
SuperSpiker
03-04-2009, 09:26 PM
It's not just that file. No file will play... I am able to browse to a file and click on it, then I am able to click to start transferring the file to the Tivo, then I'm able to click to start playing the file while it's transferring BUT the problem is the transfer never starts. The Tivo screen claims that the transfer is happening but it never starts to transfer. I get the same result no matter what file I attempt to transfer/play. It's strange that it just doesn't transfer anything.
I've tried many different video files encoded in different formats and I get the same problem. Strange cause it used to work just fine :(
Here is the whole log file:
INFO:pyTivo:pyTivo is ready.
192.168.1.15 - - [04/Mar/2009 18:22:27] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
192.168.1.2 - - [04/Mar/2009 18:22:27] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
192.168.1.15 - - [04/Mar/2009 18:22:30] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
192.168.1.15 - - [04/Mar/2009 18:22:30] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
192.168.1.15 - - [04/Mar/2009 18:22:40] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
192.168.1.15 - - [04/Mar/2009 18:22:40] "GET /TiVoConnect?Command=QueryContainer&Container=TV%20(on%20JoeDrive)&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.15 - - [04/Mar/2009 18:22:41] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
192.168.1.15 - - [04/Mar/2009 18:22:42] "GET /TiVoConnect?Command=QueryContainer&Container=TV%20(on%20JoeDrive)%2F24&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.15 - - [04/Mar/2009 18:22:45] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
192.168.1.15 - - [04/Mar/2009 18:22:45] "GET /TiVoConnect?Command=QueryContainer&Container=TV%20(on%20JoeDrive)%2F24&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FTV%2520%2528on%2520JoeDrive%2529%2F24%2F24.S07 E02.720p.HDTV.X264-DIMENSION.mkv&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
192.168.1.15 - - [04/Mar/2009 18:22:46] "GET /TiVoConnect?Command=TVBusQuery&Container=TV%20(on%20JoeDrive)&File=%2F24%2F24.S07E02.720p.HDTV.X264-DIMENSION.mkv HTTP/1.1" 200 -
192.168.1.15 - - [04/Mar/2009 18:22:50] "GET /TV%20(on%20JoeDrive)/24/24.S07E02.720p.HDTV.X264-DIMENSION.mkv HTTP/1.1" 200 -
FFmpeg version SVN-r17702, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --arch=i386 --cpu=i686 --disable-vhook --disable-static --enable-shared --enable-pthreads --enable-gpl --enable-libmp3lame --enable-libfaac --enable-libfaad --enable-libx264 --enable-swscale --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 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
libswscale 0. 7. 1 / 0. 7. 1
built on Mar 1 2009 18:20:16, gcc: 4.0.1 (Apple Inc. build 5484)
Seems stream 1 codec frame rate differs from container frame rate: 47.95 (48000/1001) -> 23.98 (24000/1001)
Input #0, matroska, from '/Volumes/JoeDrive/Video/TV/24/24.S07E02.720p.HDTV.X264-DIMENSION.mkv':
Duration: 00:40:53.21, start: 0.000000, bitrate: N/A
Stream #0.0: Audio: ac3, 48000 Hz, 5.1, s16
Stream #0.1(eng): Video: h264, yuv420p, 1280x720, PAR 1:1 DAR 16:9, 23.98 tbr, 1k tbn, 47.95 tbc
Output #0, vob, to 'pipe:':
Stream #0.0(eng): Video: mpeg2video, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], q=2-31, 1000 kb/s, 90k tbn, 29.97 tbc
Stream #0.1: Audio: ac3, 48000 Hz, 5.1, s16
Stream mapping:
Stream #0.1 -> #0.0
Stream #0.0 -> #0.1
Press [q] to stop encoding
frame= 32 fps= 0 q=2.0 Lsize= 134kB time=1.02 bitrate=1072.0kbits/s
video:72kB audio:58kB global headers:0kB muxing overhead 3.472563%
FFmpeg version SVN-r17702, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --arch=i386 --cpu=i686 --disable-vhook --disable-static --enable-shared --enable-pthreads --enable-gpl --enable-libmp3lame --enable-libfaac --enable-libfaad --enable-libx264 --enable-swscale --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 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
libswscale 0. 7. 1 / 0. 7. 1
built on Mar 1 2009 18:20:16, gcc: 4.0.1 (Apple Inc. build 5484)
Seems stream 1 codec frame rate differs from container frame rate: 47.95 (48000/1001) -> 23.98 (24000/1001)
Input #0, matroska, from '/Volumes/JoeDrive/Video/TV/24/24.S07E02.720p.HDTV.X264-DIMENSION.mkv':
Duration: 00:40:53.21, start: 0.000000, bitrate: N/A
Stream #0.0: Audio: ac3, 48000 Hz, 5.1, s16
Stream #0.1(eng): Video: h264, yuv420p, 1280x720, PAR 1:1 DAR 16:9, 23.98 tbr, 1k tbn, 47.95 tbc
/Applications/pyTivoX.app/Contents/Resources/ffmpeg.bin: unrecognized option '-comment'
192.168.1.15 - - [04/Mar/2009 18:23:21] "GET /TV%20(on%20JoeDrive)/24/24.S07E02.720p.HDTV.X264-DIMENSION.mkv HTTP/1.1" 200 -
FFmpeg version SVN-r17702, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --arch=i386 --cpu=i686 --disable-vhook --disable-static --enable-shared --enable-pthreads --enable-gpl --enable-libmp3lame --enable-libfaac --enable-libfaad --enable-libx264 --enable-swscale --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 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
libswscale 0. 7. 1 / 0. 7. 1
built on Mar 1 2009 18:20:16, gcc: 4.0.1 (Apple Inc. build 5484)
Seems stream 1 codec frame rate differs from container frame rate: 47.95 (48000/1001) -> 23.98 (24000/1001)
Input #0, matroska, from '/Volumes/JoeDrive/Video/TV/24/24.S07E02.720p.HDTV.X264-DIMENSION.mkv':
Duration: 00:40:53.21, start: 0.000000, bitrate: N/A
Stream #0.0: Audio: ac3, 48000 Hz, 5.1, s16
Stream #0.1(eng): Video: h264, yuv420p, 1280x720, PAR 1:1 DAR 16:9, 23.98 tbr, 1k tbn, 47.95 tbc
Output #0, vob, to 'pipe:':
Stream #0.0(eng): Video: mpeg2video, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], q=2-31, 1000 kb/s, 90k tbn, 29.97 tbc
Stream #0.1: Audio: ac3, 48000 Hz, 5.1, s16
Stream mapping:
Stream #0.1 -> #0.0
Stream #0.0 -> #0.1
Press [q] to stop encoding
frame= 30 fps= 0 q=2.0 size= 78kB time=0.97 bitrate= 660.3kbits/s
frame= 32 fps= 0 q=2.0 Lsize= 134kB time=1.02 bitrate=1072.0kbits/s
video:72kB audio:58kB global headers:0kB muxing overhead 3.472563%
FFmpeg version SVN-r17702, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --arch=i386 --cpu=i686 --disable-vhook --disable-static --enable-shared --enable-pthreads --enable-gpl --enable-libmp3lame --enable-libfaac --enable-libfaad --enable-libx264 --enable-swscale --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 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
libswscale 0. 7. 1 / 0. 7. 1
built on Mar 1 2009 18:20:16, gcc: 4.0.1 (Apple Inc. build 5484)
Seems stream 1 codec frame rate differs from container frame rate: 47.95 (48000/1001) -> 23.98 (24000/1001)
Input #0, matroska, from '/Volumes/JoeDrive/Video/TV/24/24.S07E02.720p.HDTV.X264-DIMENSION.mkv':
Duration: 00:40:53.21, start: 0.000000, bitrate: N/A
Stream #0.0: Audio: ac3, 48000 Hz, 5.1, s16
Stream #0.1(eng): Video: h264, yuv420p, 1280x720, PAR 1:1 DAR 16:9, 23.98 tbr, 1k tbn, 47.95 tbc
/Applications/pyTivoX.app/Contents/Resources/ffmpeg.bin: unrecognized option '-comment'
Any help is appreciated.
Thanks.
wmcbrine
03-04-2009, 10:01 PM
/Applications/pyTivoX.app/Contents/Resources/ffmpeg.bin: unrecognized option '-comment'Your problem. This is an option that was apparently dropped in recent versions of ffmpeg, in favor of a new syntax. We just got a bug report about that on the pyTivo forum, and I just updated my fork to get rid of it.
BTW, your first post did not show this error, nor any other ("... differs from container frame rate" is just a warning).
Your problem. This is an option that was apparently dropped in recent versions of ffmpeg, in favor of a new syntax. We just got a bug report about that on the pyTivo forum, and I just updated my fork to get rid of it.
BTW, your first post did not show this error, nor any other ("... differs from container frame rate" is just a warning).
I will update the beta tonight to use the fixes in wmcbrine's pyTivo. So if you update the beta tonight (or tomorrow) things should hopefully work again..
SuperSpiker
03-05-2009, 01:00 AM
Looking forward to the new beta.
Thanks guys, I'll let you know how it goes.
SuperSpiker
03-05-2009, 04:08 AM
I just installed beta 31 and everything is working great!
Thanks again... how can I donate?
I just installed beta 31 and everything is working great!
Thanks again... how can I donate?
pyTivoX is entirely free ( no donations ).
If you enjoy the pyTivo side, donate to wmcbrine (http://tivocommunity.com/tivo-vb/showpost.php?p=5946655).
If you enjoy the streambaby side, donate to kearygriffin
Ok I pushed out 1.1 with all the new stuff.
dig_duggler
03-06-2009, 10:06 AM
Just wanted to say thanks. pyTivoX is really really awesome, and the streambaby support makes it even more awesome. Great job!
jannlinder
03-07-2009, 05:00 PM
Ok I pushed out 1.1 with all the new stuff.
Okay, what is in 1.2b?
:) sorry...couldn't resist!
Okay, what is in 1.2b?
:) sorry...couldn't resist!
Nothing new.
as the comments say, I've been regularly taking the latest svn of streambaby and pytivo, ffmpeg, x264, and lame. Since 1.1 is now released, the beta number just got bumped to 1.2b1. It's just a regular build with the latest code.
edit: oh I lied a little. The latest 1.2b code incorporates some new code that should now 'do the right thing' when you upgrade versions AND have 'launch at login' set.
jannlinder
03-07-2009, 09:37 PM
Nothing new.
as the comments say, I've been regularly taking the latest svn of streambaby and pytivo, ffmpeg, x264, and lame. Since 1.1 is now released, the beta number just got bumped to 1.2b1. It's just a regular build with the latest code.
I assumed... I was just being silly.
J
oybobby
03-09-2009, 07:30 AM
Nothing new.
[...] edit: oh I lied a little. The latest 1.2b code incorporates some new code that should now 'do the right thing' when you upgrade versions AND have 'launch at login' set.
Hello,
I had been running 1.1 and found the (something like) "install and restart" message after it had downloaded this build. All sorts of "wrong things" happened: it kept crashing on (pyTivoX) restart, and after manually downloading 1.2b1 and installing it, streaming wouldn't work, I couldn't empty the trash because of all the .jar files still active, etc.
So... I guess this 1.2b1 code will fix that, but thought I'd mention it Just In Case.
Regards,
Maurice
oybobby
03-09-2009, 10:08 AM
Yoav,
I forgot to mention how grateful I am for this delightful, elegant hack. I'm a late adopter of TiVo, just got here last summer, and just found this forum last week. We don't watch that much TV, but making that which we do watch more convenient, nearly fun, is very much appreciated.
So... thanks very much!
Regards,
Maurice
Hello,
I had been running 1.1 and found the (something like) "install and restart" message after it had downloaded this build. All sorts of "wrong things" happened: it kept crashing on (pyTivoX) restart, and after manually downloading 1.2b1 and installing it, streaming wouldn't work, I couldn't empty the trash because of all the .jar files still active, etc.
So... I guess this 1.2b1 code will fix that, but thought I'd mention it Just In Case.
Regards,
Maurice
Ermm, actually, 1.2b1 shouldn't really fix any of that. It sounds like streambaby is still running instead of being reaped during the upgrade. The easiest thing to do is probably reboot, which will clean up everything, including errant processes. I haven't seen this happen before, and you're the first to report it, so I'm hoping 'something interesting' went on that caused it and this is hopefully a unique thing.. But if it's still going on, I'm gonna ask for your help debugging it :)
Mythica
03-13-2009, 08:17 PM
This may have been mentioned before, but I can't find the answer. Is there anyway using pyTivoX to transfer files and keep the sub-folders they are in? I want to transfer my home movies to my Tivo, but I want them all to show up in a "Home Movies" folder. When I use the Tivo to transfer the files, they all show up in the Now Playing list. I know that using the Tivo Desktop the only way to do it is to setup Auto-Transfers. Any way to do it with pyTivoX?
pkscout
03-13-2009, 10:06 PM
This may have been mentioned before, but I can't find the answer. Is there anyway using pyTivoX to transfer files and keep the sub-folders they are in? I want to transfer my home movies to my Tivo, but I want them all to show up in a "Home Movies" folder. When I use the Tivo to transfer the files, they all show up in the Now Playing list. I know that using the Tivo Desktop the only way to do it is to setup Auto-Transfers. Any way to do it with pyTivoX?
That's a function of pyTiVo generally, not pyTiVoX specifically. You need to create a metadata file that includes a valid seriesID to get things in folders. There is information here (http://pytivo.armooo.net/wiki/MetaData) about the metadata file. Here's a thread (http://pytivo.krkeegan.com/folders-or-groups-after-transfer-possible-t82.html?highlight=movie) with some discussion about that issue from the pyTiVo forum.
PacoII
03-15-2009, 09:41 PM
In the update window, what does "Automatically download and install updates in the future" mean? I ask, since I have yet to see it actually do this, so figure I must be misunderstanding :)
In the update window, what does "Automatically download and install updates in the future" mean? I ask, since I have yet to see it actually do this, so figure I must be misunderstanding :)
Well, this is sparkle, so it does whatever sparkle claims it does :)
It generally only checks for new versions about once a day. I believe setting it to auto-download and install will make it just download it when a new version is available instead of prompting you -- but I havent tried it).
scrytch
03-18-2009, 04:14 AM
Hi,
Just got MAK ability enabled on my Australian TiVo (don't ask about the price - we have no subscription but high upfront cost).
pyTiVoX seems to be working fine at first, but after a few minutes of transfer/playing (ie pytivo mode) or streaming (streambaby mode) my TiVo just restarts itself - all the way to the starting up graphic (then the "it'll only be a few more minutes").
Any thoughts?
Regards,
Shane.
Hi,
Just got MAK ability enabled on my Australian TiVo (don't ask about the price - we have no subscription but high upfront cost).
pyTiVoX seems to be working fine at first, but after a few minutes of transfer/playing (ie pytivo mode) or streaming (streambaby mode) my TiVo just restarts itself - all the way to the starting up graphic (then the "it'll only be a few more minutes").
Any thoughts?
Regards,
Shane.
Not really :(
Sounds like an issue with the tivo software. Are you guys running the same release as we are in the US?
wmcbrine
03-18-2009, 01:52 PM
No, they aren't. I've had a few Australians show up on my Reversi game, and they're running "11.1" rather than 11.0b. Which should not be read as them being ahead -- I think their version is crippled, and not (yet?) allowing TTCB. Although I'm surprised to hear that it does work for a few minutes. I dunno, they have some strange policies.
scrytch
03-18-2009, 05:37 PM
Is TTCB what TiVo Desktop uses to re-encode shows to send to TiVo for playback? If this is the case then yes this just got enabled in our Home Networking Pack (enables TTG, Music, Photos etc).
As for policies how it is sold here is different:
Upfront one-off cost - no TiVo subscription, but this is for approved apps (weather, games etc), EPG & broadband movie service.
MAK was turned off (so no external apps, multi room etc). This has been enabled now for a fee for your account (ie one off payment to enable, does so for all TiVo's on your TiVo account).
Whilst it's strange, the good thing is there are no ongoing subscription costs.
Regards,
Shane.
moyekj
03-18-2009, 07:32 PM
TTCB is short for Tivo To Come Back which just means transferring shows from computer back to Tivo.
i.e. The opposite of TTG = Tivo To Go which means transferring shows from Tivo to computer.
Until fairly recently one could only transfer mpeg2 program streams back to Tivo so any other kind of video needed to be transcoded to mpeg2 (which can be done on the fly) before being transferred. Series 3 Tivos (at least the ones sold in USA) now do have ability to natively store videos in a limited number of other formats as well. This Wiki page summarizes what Series 3 Tivos can natively decode:
http://code.google.com/p/streambaby/wiki/video_compatibility
(The most useful other native format other than mpeg2 is mpeg4 container with H.264 video and AAC or AC3 audio)
wmcbrine
03-18-2009, 07:35 PM
So, scrytch, do you get the same results with TiVo Desktop?
fatespawn
03-20-2009, 10:26 AM
Until fairly recently one could only transfer mpeg2 program streams back to Tivo so any other kind of video needed to be transcoded to mpeg2 (which can be done on the fly) before being transferred. Series 3 Tivos (at least the ones sold in USA) now do have ability to natively store videos in a limited number of other formats as well. This Wiki page summarizes what Series 3 Tivos can natively decode:
http://code.google.com/p/streambaby/wiki/video_compatibility
(The most useful other native format other than mpeg2 is mpeg4 container with H.264 video and AAC or AC3 audio)
Moyekj,
I just started using pytivox (thanks yoav for the gui and the developers for the underlying code) and was wondering about the ability to "natively store" other-format videos on my TivoHD.
Does that mean I can just upload a mp4 file encoded in h264 with AC3 audio? I haven't found a way to do that... Are we still talking streaming? Just a little confused.
-fate
moyekj
03-20-2009, 11:20 AM
Does that mean I can just upload a mp4 file encoded in h264 with AC3 audio? I haven't found a way to do that... Are we still talking streaming? Just a little confused. It's probably not well documented or widely known at this point but it was discovered that via Tivo Desktop Plus auto pushes to series 3 Tivos of some mp4 files were not being transcoded to mpeg2 and that eventually led to confirmation and integration of that capability into pyTivo. See this thread for the whole sequence of events:
http://www.tivocommunity.com/tivo-vb/showthread.php?t=419427
Summary of how to setup for mp4 pushes to your Tivo(s):
* Install wmcbrine's pyTivo fork (http://repo.or.cz/w/pyTivo/wmcbrine.git) (Just grab the latest zip file and unpack it somewhere)
* Fire it up (double-click on pyTivo.py) and then with a browser connect to http://localhost:9032
* In Web Configuration section under Global Server Settings set tivo_username and tivo_password to what you use for logging into Tivo web page
* Add a new videos section where your mp4 videos (H.264 + AAC or AC3 audio) reside and save changes
* Stop pyTivo and start it again (may not be necessary but just to be sure)
* Connect again to http://localhost:9032 and click on your video shares name
* Now select an mp4 video and Tivo to push to and click on the appropriate Send To Tivo button
* Leave pyTivo running and wait a few seconds (maybe minutes) and you will notice some pyTivo console activity and a blue light on the Tivo you are sending to light up and the transfer begins. You will also note no transcoding happens if you pick a compatible mp4 video.
(The details may not be 100% precise and I may have forgotten something but I think that should be enough to get you going). It would probably be good to have a detailed and accurate step by step reference page for this saved somewhere for easy reference.
Moyekj,
I just started using pytivox (thanks yoav for the gui and the developers for the underlying code) and was wondering about the ability to "natively store" other-format videos on my TivoHD.
Does that mean I can just upload a mp4 file encoded in h264 with AC3 audio? I haven't found a way to do that... Are we still talking streaming? Just a little confused.
-fate
moyekj answered this, but in the interest of saving you some work:
pyTivoX ships with wmcbrine's pyTivo. You just need to provide extra information to the config to enable push. The web interface is enabled.
However, if you ever hit the 'apply' button on the gui, it will lose all the configurations you made via the web gui. So, you should probably do something like 'run pyTivoX, set up all your shares, decide if you want 'launch at login', and hit 'apply'. Then do the web configuration to enable push. From that point on you should never need to hit the apply button.
fatespawn
03-20-2009, 01:20 PM
Thanks Yoav. I thought I remembered you used a different version of pytivo, but in all my "catchup" reading I guess you switched... Good. GUI's and I are better speaking terms.
So, setup the shares, streambaby checkbox etc... hit apply THEN do the web config....
You probably addressed it elsewhere, but any possibility of adding .mp4 functionality to the pytivox interface? KISS - I know, and the mp4 support seems like a very recent addition for Tivo, but it sure would be nice to archive HD content in H264 via iTivo and handbrake (using a relatively HIGH quality with ac3 support AND comskip) and have the ability to stream that back to the Tivo (or transfer) at a much quicker speed than the native mpeg-2.
-fate
PacoII
03-20-2009, 01:27 PM
I have pyTivoX running on a mac mini that is on 24/7. pyTivoX has never auto-downloaded/installed a new version when one has come out.
Has this auto install/update feature worked for anyone?
Well, this is sparkle, so it does whatever sparkle claims it does :)
It generally only checks for new versions about once a day. I believe setting it to auto-download and install will make it just download it when a new version is available instead of prompting you -- but I havent tried it).
fatespawn
03-20-2009, 02:29 PM
* In Web Configuration section under Global Server Settings set tivo_username and tivo_password to what you use for logging into Tivo web page
* Add a new videos section where your mp4 videos (H.264 + AAC or AC3 audio) reside and save changes
...hmmm, well I got this far, but under Global Server Settings when I click "add setting" to add the "tivo_username" it ~acts~ like it did something - it prompts me that I will need to do a soft reset for changes to take effect... But when I go back to the Global Server Settings, the User Defined Settings is blank and I am unable to push video from the computer to the tivo.
Any suggestions?
Also, can i just leave the share alone? I have already set the share point where my videos are (both mpeg-2 and mp4). Do I need a dedicated share point for the mp4's? I would assume not...
-fate
...hmmm, well I got this far, but under Global Server Settings when I click "add setting" to add the "tivo_username" it ~acts~ like it did something - it prompts me that I will need to do a soft reset for changes to take effect... But when I go back to the Global Server Settings, the User Defined Settings is blank and I am unable to push video from the computer to the tivo.
Any suggestions?
Also, can i just leave the share alone? I have already set the share point where my videos are (both mpeg-2 and mp4). Do I need a dedicated share point for the mp4's? I would assume not...
-fate
As far as I know, you don't need a 'dedicated share'. Any video share allows pushing ONCE you have the correct tivo set up with the correct MAK.
You can do a 'complete restart' of pytivo by clicking the 'exit' button in the gui, and then running pyTivoX again (this will not overwrite the config file, but it will restart pyTivo). The only button to avoid is the 'apply' button.
Don't forget that instead of using the gui you also have the option of manually editing the file in ~/Library/Application Support/pyTivoX/pyTivo.conf . Although that may be even messier. I did check and the web config gui is correctly writing new values to this file.
And no, I do not currently plan on adding support for push in the 'simple gui'. You can always go advanced and use the official web interface, while still using the pre-compiled ffmpeg and auto-launching stuff. I'm hoping that at some point tivo will support 'pull' for mp4s and all will be good. I think push is a fairly advanced/confusing concept (it's not even really push.. It's a notification to the tivo to please pull the file when it can).
gonzotek
03-20-2009, 07:47 PM
As far as I know, you don't need a 'dedicated share'. Any video share allows pushing ONCE you have the correct tivo set up with the correct MAK.
You can do a 'complete restart' of pytivo by clicking the 'exit' button in the gui, and then running pyTivoX again (this will not overwrite the config file, but it will restart pyTivo). The only button to avoid is the 'apply' button.
Don't forget that instead of using the gui you also have the option of manually editing the file in ~/Library/Application Support/pyTivoX/pyTivo.conf . Although that may be even messier. I did check and the web config gui is correctly writing new values to this file.
And no, I do not currently plan on adding support for push in the 'simple gui'. You can always go advanced and use the official web interface, while still using the pre-compiled ffmpeg and auto-launching stuff. I'm hoping that at some point tivo will support 'pull' for mp4s and all will be good. I think push is a fairly advanced/confusing concept (it's not even really push.. It's a notification to the tivo to please pull the file when it can). Having said that, however, if you *happen* to have iTiVo installed, and *happen* to have pyTivoX-beta installed, the config file *may* have the username and MAK set correctly in there when you hit 'apply'. Not supported!!! SEKRIT!!!!
Correction: Push requires your tivo.com username and password (the combination you use for "Manage My Account" and Online Scheduling). pyTiVo connects to TiVo's servers using these credentials to initiate the push process.
The MAK is required for access the local tivo webserver and/or for decryption/playback of .tivo files.
Correction: Push requires your tivo.com username and password (the combination you use for "Manage My Account" and Online Scheduling). pyTiVo connects to TiVo's servers using these credentials to initiate the push process.
The MAK is required for access the local tivo webserver and/or for decryption/playback of .tivo files.
ahh woops.. Good to know..
ok, so taking that tidbit of code out.
fatespawn
03-21-2009, 12:05 AM
Correction: Push requires your tivo.com username and password (the combination you use for "Manage My Account" and Online Scheduling). pyTiVo connects to TiVo's servers using these credentials to initiate the push process.
The MAK is required for access the local tivo webserver and/or for decryption/playback of .tivo files.
Well shoot! You mean I need my username/password I use at tivo.com? That's funky. Not my media access number I use for iTivo or browser access? Perhaps that's where I've been stumbling.
-fate
fatespawn
03-21-2009, 09:34 AM
Ok, I manually changed the .conf file The "user settings" then showed up correctly in the web interface.
I was running v1.1 and when I tried to initiate the push, nothing happened. No errors, just a pause and reload of the web interface. I figured I had an incompatible .mp4 file but this page....
http://code.google.com/p/streambaby/wiki/video_compatibility
...only served to confuse me with the notes about requirements of .mp4 with ac3 audio..."Video must be VC-1 Advanced Profile (wvc1). L3 and L2 profiles are known to work. " Uh huh... crystal clear. I realize this may be for advanced users - of which I am obviously NOT... but a nice handbrake preset would be nice :)
Anyway, back OT, I upgraded to version 1.2b.. something - the current update available and when I tried the push again I got this error:
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
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
I didn't get that error with 1.1. With 1.1 it was a simple "nothing happened." Is this an error?
-fate
Anyway, back OT, I upgraded to version 1.2b.. something - the current update available and when I tried the push again I got this error:
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
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
I didn't get that error with 1.1. With 1.1 it was a simple "nothing happened." Is this an error?
-fate
yeah I got a similar error. Hopefully wmcbrine will chime in with an opinion... It looks like it's supposed to build up a list of what PCs are connected and for some reason that list is empty (although I'm not going to pretend I actually understood the code).
fatespawn
03-21-2009, 02:14 PM
Forgive this barrage of questions the last few days, but I'm really digging pytivoX and have some interesting results.
This may be a more "pytivo/streambaby" specific question but it relates to both pytivox and iTivo. I recently downloaded some hi-def material to my mac. In iTivo, I have "handbrake iphone" selected and because this is a bunch of kids stuff I want to have on my phone as well as available for "restreaming" to the tivo. Obviously quality will suffer, but I've never heard a 4 year old complain about video quality.
Anyway, when I transfer the show back to the now playing list, the aspect ratio is just fine. It fills the screen just like the original hi-def picture did. but when I STREAM it back it ends up getting pillarboxed. It's most certainly squished. SD video streamed back is just fine. I've seen this mentioned elsewhere in the threads, but I was wondering if there's been a solution in the most recent versions...
Forgive this barrage of questions the last few days, but I'm really digging pytivoX and have some interesting results.
This may be a more "pytivo/streambaby" specific question but it relates to both pytivox and iTivo. I recently downloaded some hi-def material to my mac. In iTivo, I have "handbrake iphone" selected and because this is a bunch of kids stuff I want to have on my phone as well as available for "restreaming" to the tivo. Obviously quality will suffer, but I've never heard a 4 year old complain about video quality.
Anyway, when I transfer the show back to the now playing list, the aspect ratio is just fine. It fills the screen just like the original hi-def picture did. but when I STREAM it back it ends up getting pillarboxed. It's most certainly squished. SD video streamed back is just fine. I've seen this mentioned elsewhere in the threads, but I was wondering if there's been a solution in the most recent versions...
I think I read some post somewhere complaining about Handbrake setting the incorrect PAR in files. Unfortunately I'm not really sure where that thread was. I'd ask why you're using 'handbrake iphone' instead of just 'iphone' though. Do both have the same issue? (It's definitely not a pytivox issue.. the question is whether the issue is with itivo/handbrake making a bad file, streambaby incorrectly converting the file, or the tivo incorrectly playing the file).
Anyways, try the regular iphone setting first :)
philby85
03-21-2009, 07:56 PM
Hi Yoav,
New Australian user here, loving pytivox! Thank you so much.
I am streaming from my NAS ( QNAP TS109II ) via my imac. It streams very well. However, I noticed with any file that I have metadata attached a problem occurs. I select the movie and the screen with the artwork pops up if I have a synopsis for the movie that shows. But when I exit back to the menu the movie title changes to the first line of the synopsis?
kind regards
Phil
Hi Yoav,
New Australian user here, loving pytivox! Thank you so much.
I am streaming from my NAS ( QNAP TS109II ) via my imac. It streams very well. However, I noticed with any file that I have metadata attached a problem occurs. I select the movie and the screen with the artwork pops up if I have a synopsis for the movie that shows. But when I exit back to the menu the movie title changes to the first line of the synopsis?
kind regards
Phil
Hi Phil, sounds like a metadata parsing/caching bug with streambaby. Looking through streambaby's checkin comments it looks like there was a fix related to metadata caching checked in a while back. This should be in the pyTivoX beta. Are you running the beta or the regular release (and if you're running the regular, can you install the beta and tell me if it fixes the bug?).
philby85
03-22-2009, 05:35 AM
Hi Phil, sounds like a metadata parsing/caching bug with streambaby. Looking through streambaby's checkin comments it looks like there was a fix related to metadata caching checked in a while back. This should be in the pyTivoX beta. Are you running the beta or the regular release (and if you're running the regular, can you install the beta and tell me if it fixes the bug?).
Hi Yoav,
Still get the same with the beta.
cheers
Phil
Hi Yoav,
Still get the same with the beta.
cheers
Phil
Ok, Keary should hopefully have an answer to this soon. If he doesn't reply here soon, you may want to report it under the Streambaby thread..
kearygriffin
03-22-2009, 12:17 PM
Hi Phil, sounds like a metadata parsing/caching bug with streambaby. Looking through streambaby's checkin comments it looks like there was a fix related to metadata caching checked in a while back. This should be in the pyTivoX beta. Are you running the beta or the regular release (and if you're running the regular, can you install the beta and tell me if it fixes the bug?).
Once you select a file to play, streambaby caches the title, and uses it in the selection screen from that point on. You can also press the "enter' button in the selection screen to automatically convert the filenames to the "title' found in the metadata for all the files. You can disable this functionality and stick with just using the filenames in the selection screen by adding the following INI setting:
use.title=false
But I am not sure exactly what the issue is. Is is that the filename/title is changing in selection screen (which is normal behavior) or that it is generating an incorrect title from the metadata?
If it is an incorrect title, what kind of metadata is it and how was it generated.
fatespawn
03-22-2009, 03:19 PM
I think I read some post somewhere complaining about Handbrake setting the incorrect PAR in files. Unfortunately I'm not really sure where that thread was. I'd ask why you're using 'handbrake iphone' instead of just 'iphone' though. Do both have the same issue? (It's definitely not a pytivox issue.. the question is whether the issue is with itivo/handbrake making a bad file, streambaby incorrectly converting the file, or the tivo incorrectly playing the file).
Anyways, try the regular iphone setting first :)
Ok, Problem solved by using your iphone preset :o
I have another general question. I have some High Def 5.1 live concerts I'd like to archive on my computer. Video quality is a secondary concern to maintaining the 5.1 audio. Can I use a preset (like mpeg2 HD for example) and replace the audio argument with "-acodec copy" to prevent any resampling of the audio stream?
I was able to use the actual Handbrake program (with the Apple TV preset) to convert my mpeg2 Tivo programs to H264 with AC3 passthrough enabled. PytivoX streamed the AC3 back flawlessly.
Am I just looking for audio sync issues because of comskip, or do you think there is a solution with an iTivo preset?
Ok, Problem solved by using your iphone preset :o
I have another general question. I have some High Def 5.1 live concerts I'd like to archive on my computer. Video quality is a secondary concern to maintaining the 5.1 audio. Can I use a preset (like mpeg2 HD for example) and replace the audio argument with "-acodec copy" to prevent any resampling of the audio stream?
I was able to use the actual Handbrake program (with the Apple TV preset) to convert my mpeg2 Tivo programs to H264 with AC3 passthrough enabled. PytivoX streamed the AC3 back flawlessly.
Am I just looking for audio sync issues because of comskip, or do you think there is a solution with an iTivo preset?
Best way to be sure is to try it :). If -oac copy doesn't cause blips AND plays right on your device.. you're golden.
By maintain 5.1 audio do you mean 'keep it at 5.1' or do you mean 'do not re-encode'? The mp4 setting re-encodes to AAC (until recently, MP4 didn't support AC-3 audio, and many players still don't like it), but doesn't force '-channels 2' or '-channels 6', so it should keep it at the same number of channels. You may want to up the bitrate though (it's at 128 kbps right now).
fatespawn
03-22-2009, 06:43 PM
By maintain 5.1 audio do you mean 'keep it at 5.1' or do you mean 'do not re-encode'? The mp4 setting re-encodes to AAC (until recently, MP4 didn't support AC-3 audio, and many players still don't like it), but doesn't force '-channels 2' or '-channels 6', so it should keep it at the same number of channels. You may want to up the bitrate though (it's at 128 kbps right now).
I meant "passthrough" - I guess that's NOT re-encode. I just want the original sound. Gotta figure that's the best possible signal. I was successful with converting an HD mpeg (decrypt only) from the tivo into an mp4 using handbrake and AC3 passthrough with the AppleTv preset. It streamed right back to the tivo through pytivox without a hiccup. But that's using 2 applications. Of course, I want it all. Subscribe to my favorite audio programming and archive that for future streaming. Ah bliss.
In any case, comskip puked on my trial. I've seen "the application comskip shutdown...." a few too many times. It does that a little too often for me to be happy using that feature too much. Oh well.
i guess I'll try without comskip and see what mencoder can do.
-fate
I meant "passthrough" - I guess that's NOT re-encode. I just want the original sound. Gotta figure that's the best possible signal. I was successful with converting an HD mpeg (decrypt only) from the tivo into an mp4 using handbrake and AC3 passthrough with the AppleTv preset. It streamed right back to the tivo through pytivox without a hiccup. But that's using 2 applications. Of course, I want it all. Subscribe to my favorite audio programming and archive that for future streaming. Ah bliss.
In any case, comskip puked on my trial. I've seen "the application comskip shutdown...." a few too many times. It does that a little too often for me to be happy using that feature too much. Oh well.
i guess I'll try without comskip and see what mencoder can do.
-fate
Well, you're well into the 'try it and see' territory. The advanced options are there so people (like you) who want to try 'spiffy things' can do so. But unfortunately you're pretty much on your own to figure out how. You may have some luck in the mplayer forums and whatnot. I'm sorry comskip is hating your files so much though. I guess I've been luckier with it.
However, if you had 'decrypt format' and 'run under handbrake' work, then you can fully do that within iTiVo. The handbrake formats (if you do not pick comskip/subtitles) will do exactly that. And if there were any particular settings you made in the handbrake gui, you can achieve them in the CLI (documented in the FAQ).
space2001
03-23-2009, 04:45 PM
Hi - I am looking to have the pyTiVox display on my SD TiVo show sort alphabetically - it currently only sorts by most recent date first. I checked the FAQ and can't find any way to change the sort order.
On the TiVo menu, I do see an option to hit enter on remote and choose another sort order, but this has no effect for pvTiVoX shares.
Any help would be appreciated.
thanks!
Hal
Hi - I am looking to have the pyTiVox display on my SD TiVo show sort alphabetically - it currently only sorts by most recent date first. I checked the FAQ and can't find any way to change the sort order.
On the TiVo menu, I do see an option to hit enter on remote and choose another sort order, but this has no effect for pvTiVoX shares.
Any help would be appreciated.
thanks!
Hal
I am not aware of any setting to control the sort order, even though there is some sort of SortOrder setting in plugin.py. If you don't get an answer here within a day, I'd repost the question in the pytivo thread (pyTivoX is just a mac front-end to pytivo, but inside it's the same program).
wmcbrine
03-23-2009, 07:47 PM
On the TiVo menu, I do see an option to hit enter on remote and choose another sort order, but this has no effect for pvTiVoX shares.It does, but only on the top level, due to a TiVo-side problem (which may or may not be a bug). I'm reluctantly considering a "force alpha sort" per-share option to deal with it.
philby85
03-24-2009, 08:24 PM
Once you select a file to play, streambaby caches the title, and uses it in the selection screen from that point on. You can also press the "enter' button in the selection screen to automatically convert the filenames to the "title' found in the metadata for all the files. You can disable this functionality and stick with just using the filenames in the selection screen by adding the following INI setting:
use.title=false
But I am not sure exactly what the issue is. Is is that the filename/title is changing in selection screen (which is normal behavior) or that it is generating an incorrect title from the metadata?
If it is an incorrect title, what kind of metadata is it and how was it generated.
Hi Keary,
thanks for the response. I have my movies on a nas drive on my network.
When I open pytivox it takes me to the movies folder on my NAS. They are in separate olders for catergories. I then select a folder and it shows a list of movies by title. I select a movie and I get the synopsis and covert screen. If I then select left to go back the folder showing the movies they are all showing titles except the one I just viewed. It will now have the first line of the synopsis instead of the title.
I add the metadata to the file using metax on the mac.
cheers
Philby
I also went to a catergory folder it showed me the titles of the movies I hit enter and all the movies changed to the first line of the synopsis. Select enter again does not change them back.
space2001
03-25-2009, 12:54 PM
It does, but only on the top level, due to a TiVo-side problem (which may or may not be a bug). I'm reluctantly considering a "force alpha sort" per-share option to deal with it.
The alpha sort option would be a great addition! As it stands now, with more than a few screens of items to go thru, it quickly becomes difficult to find stuff.
As well, keeping the current position when backing out of the selection on Tivo screen would be helpful. IE, scroll to item 20 in a list, select it to display more info, then chose not to play it/go back. Now we're back to item 1 in the list.
thanks again!
- Hal -
Hi Yoav-
LOVE PyTivoX! Currently running 1.1b24- yes I know I've skipped a few versions... ;)
Anyhow today upgraded to 1.2b6 and streaming stopped working on my TivoHD. Downloads worked fine- but no streaming. I get the "Please Wait" indefinitely on the TV screen when I try to stream. I reverted to 1.1b24 and all is good again.
I'm running OS 10.5.6 on an Intel iMac.
Thanks!
Kupe
Hi Yoav-
LOVE PyTivoX! Currently running 1.1b24- yes I know I've skipped a few versions... ;)
Anyhow today upgraded to 1.2b6 and streaming stopped working on my TivoHD. Downloads worked fine- but no streaming. I get the "Please Wait" indefinitely on the TV screen when I try to stream. I reverted to 1.1b24 and all is good again.
I'm running OS 10.5.6 on an Intel iMac.
Thanks!
Kupe
If you don't mind, can you reinstall the beta (make sure to hit 'Apply' to activate all the changes) and try to stream, when it fails can you open up Terminal.app and run
tail -100 /tmp/pyTivoX-SB.log
(hopefully there will be something interesting in there to help debug).
If you don't mind, can you reinstall the beta (make sure to hit 'Apply' to activate all the changes) and try to stream, when it fails can you open up Terminal.app and run
tail -100 /tmp/pyTivoX-SB.log
(hopefully there will be something interesting in there to help debug).
My pleasure! I reinstalled 1.2b6, clicked Apply, and tried again to Stream. Got the "Please Wait" indefinitely. Here's what I got in Terminal:
Last login: Wed Mar 25 21:01:41 on console
[Macintosh:~] dave% tail -100 /tmp/pyTivoX-SB.log
Wed 2009/03/25 21:03:48.338| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.StsdAtom (size:81)
Wed 2009/03/25 21:03:48.338| |master|MP4StreamFactory$2|Reading atom at offset: 28465097
Wed 2009/03/25 21:03:48.338| |master|MP4StreamFactory$2|UnknownAtom(116,101,120,116): mp4.util.atom.TextAtom (size:65)
Wed 2009/03/25 21:03:48.338| |master|MP4StreamFactory$2|Reading atom at offset: 28465162
Wed 2009/03/25 21:03:48.339| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.SttsAtom (size:216)
Wed 2009/03/25 21:03:48.339| |master|MP4StreamFactory$2|Reading atom at offset: 28465378
Wed 2009/03/25 21:03:48.339| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.StscAtom (size:28)
Wed 2009/03/25 21:03:48.339| |master|MP4StreamFactory$2|Reading atom at offset: 28465406
Wed 2009/03/25 21:03:48.339| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.StszAtom (size:120)
Wed 2009/03/25 21:03:48.339| |master|MP4StreamFactory$2|Reading atom at offset: 28465526
Wed 2009/03/25 21:03:48.339| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.StcoAtom (size:116)
Wed 2009/03/25 21:03:48.339| |master|MP4StreamFactory$2|Reading atom at offset: 28465642
Wed 2009/03/25 21:03:48.339| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.UdtaAtom (size:376)
Wed 2009/03/25 21:03:48.340| |master|MP4StreamFactory$2|Reading atom at offset: 28466018
Wed 2009/03/25 21:03:48.340| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.MetaAtom (size:368)
Wed 2009/03/25 21:03:48.340| |master|MP4StreamFactory$2|Reading atom at offset: 28466386
Wed 2009/03/25 21:03:48.340| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.HdlrAtom (size:34)
Wed 2009/03/25 21:03:48.340| |master|MP4StreamFactory$2|Reading atom at offset: 28466420
Wed 2009/03/25 21:03:48.340| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.IlstAtom (size:322)
Wed 2009/03/25 21:03:48.340| |master|MP4StreamFactory$2|Reading atom at offset: 28466742
Wed 2009/03/25 21:03:48.340| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.CprtnamAtom (size:41)
Wed 2009/03/25 21:03:48.340| |master|MP4StreamFactory$2|Reading atom at offset: 28466783
Wed 2009/03/25 21:03:48.340| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.DataAtom (size:33)
Wed 2009/03/25 21:03:48.341| |master|MP4StreamFactory$2|Reading atom at offset: 28466816
Wed 2009/03/25 21:03:48.341| |master|MP4StreamFactory$2|UnknownAtom(169,65,82,84): mp4.util.atom.CprtARTAtom (size:41)
Wed 2009/03/25 21:03:48.341| |master|MP4StreamFactory$2|Reading atom at offset: 28466857
Wed 2009/03/25 21:03:48.341| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.CprtalbAtom (size:31)
Wed 2009/03/25 21:03:48.341| |master|MP4StreamFactory$2|Reading atom at offset: 28466888
Wed 2009/03/25 21:03:48.341| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.DataAtom (size:23)
Wed 2009/03/25 21:03:48.341| |master|MP4StreamFactory$2|Reading atom at offset: 28466911
Wed 2009/03/25 21:03:48.341| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.CprtcmtAtom (size:31)
Wed 2009/03/25 21:03:48.341| |master|MP4StreamFactory$2|Reading atom at offset: 28466942
Wed 2009/03/25 21:03:48.342| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.DataAtom (size:23)
Wed 2009/03/25 21:03:48.342| |master|MP4StreamFactory$2|Reading atom at offset: 28466965
Wed 2009/03/25 21:03:48.342| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.StikAtom (size:25)
Wed 2009/03/25 21:03:48.342| |master|MP4StreamFactory$2|Reading atom at offset: 28466990
Wed 2009/03/25 21:03:48.342| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.DataAtom (size:17)
Wed 2009/03/25 21:03:48.342| |master|MP4StreamFactory$2|Reading atom at offset: 28467007
Wed 2009/03/25 21:03:48.342| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.TvshAtom (size:41)
Wed 2009/03/25 21:03:48.342| |master|MP4StreamFactory$2|Reading atom at offset: 28467048
Wed 2009/03/25 21:03:48.342| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.DataAtom (size:33)
Wed 2009/03/25 21:03:48.342| |master|MP4StreamFactory$2|Reading atom at offset: 28467081
Wed 2009/03/25 21:03:48.343| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.TvenAtom (size:41)
Wed 2009/03/25 21:03:48.343| |master|MP4StreamFactory$2|Reading atom at offset: 28467122
Wed 2009/03/25 21:03:48.343| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.DataAtom (size:33)
Wed 2009/03/25 21:03:48.343| |master|MP4StreamFactory$2|Reading atom at offset: 28467155
Wed 2009/03/25 21:03:48.343| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.DescAtom (size:31)
Wed 2009/03/25 21:03:48.343| |master|MP4StreamFactory$2|Reading atom at offset: 28467186
Wed 2009/03/25 21:03:48.343| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.DataAtom (size:23)
Wed 2009/03/25 21:03:48.343| |master|MP4StreamFactory$2|Reading atom at offset: 28467209
Wed 2009/03/25 21:03:48.343| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.CprtgenAtom (size:32)
Wed 2009/03/25 21:03:48.344| |master|MP4StreamFactory$2|Reading atom at offset: 28467241
Wed 2009/03/25 21:03:48.344| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.DataAtom (size:24)
Wed 2009/03/25 21:03:48.344| |master|MP4StreamFactory$2|Reading atom at offset: 28467265
Wed 2009/03/25 21:03:48.344| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.FreeAtom (size:4236548)
Wed 2009/03/25 21:03:48.385| |master|MP4StreamFactory$2|Reading atom at offset: 32703813
Wed 2009/03/25 21:03:48.387| |master|MP4StreamFactory$2|AtomClass: class mp4.util.atom.MdatAtom (size:8)
Wed 2009/03/25 21:03:48.387| |master|MP4StreamFactory$2|DBG: moov size 4744948
Wed 2009/03/25 21:03:48.387| |master|MP4StreamFactory$2|DBG: mdat size 0
Wed 2009/03/25 21:03:48.387| |master|MP4StreamFactory$2|DBG: sampleNum 1
Wed 2009/03/25 21:03:48.387| |master|MP4StreamFactory$2|DBG: new key frame 1
Wed 2009/03/25 21:03:48.387| |master|MP4StreamFactory$2|DBG: track 1 spec time 0 adj time 0 spec time sec 0 adj time sec 0
Wed 2009/03/25 21:03:48.387| |master|MP4StreamFactory$2|DBG: track 2 spec time 0 adj time 0 spec time sec 0 adj time sec 0
Wed 2009/03/25 21:03:48.387| |master|MP4StreamFactory$2|DBG: Movie time 7304 sec, cut at 0.0sec
Wed 2009/03/25 21:03:48.387| |master|MP4StreamFactory$2| DBG: ts 600 cut at 0.0
Wed 2009/03/25 21:03:48.388| |master|MP4StreamFactory$2|DBG: media time 0
Wed 2009/03/25 21:03:48.388| |master|MP4StreamFactory$2| DBG: sampleNum 1 sync frame 1
Wed 2009/03/25 21:03:48.388| |master|MP4StreamFactory$2| DBG: chunk 1
Wed 2009/03/25 21:03:48.476| |master|MP4StreamFactory$2|DBG: cutDuration 4382402
Wed 2009/03/25 21:03:48.476| |master|MP4StreamFactory$2|DBG: new time 0.0
Wed 2009/03/25 21:03:48.476| |master|MP4StreamFactory$2|DBG: media time 0
Wed 2009/03/25 21:03:48.476| |master|MP4StreamFactory$2| DBG: sampleNum 1 sync frame 1
Wed 2009/03/25 21:03:48.476| |master|MP4StreamFactory$2| DBG: chunk 1
Wed 2009/03/25 21:03:48.494| |master|MP4StreamFactory$2|DBG: cutDuration 4382438
Wed 2009/03/25 21:03:48.494| |master|MP4StreamFactory$2|DBG: new time 0.0
Wed 2009/03/25 21:03:48.494| |master|MP4StreamFactory$2|DBG: moov chunk 8981552
Wed 2009/03/25 21:03:48.494| |master|MP4StreamFactory$2|DBG: cut moov chunk 8981552
Wed 2009/03/25 21:03:48.494| |master|MP4StreamFactory$2|DBG: updateAmount 4456436
Wed 2009/03/25 21:03:48.497| |master|MP4StreamFactory$2|DBG: movie skip 0
Wed 2009/03/25 21:03:48.497| |master|MP4StreamFactory$2|DBG: Cut Movie time 7304 sec
Wed 2009/03/25 21:03:48.498| |master|MP4StreamFactory$2|DBG: sampleNum 1
Wed 2009/03/25 21:03:48.498| |master|MP4StreamFactory$2|DBG: new key frame 1
Wed 2009/03/25 21:03:48.498| |master|MP4StreamFactory$2|DBG: track 1 spec time 0 adj time 0 spec time sec 0 adj time sec 0
Wed 2009/03/25 21:03:48.498| |master|MP4StreamFactory$2|DBG: track 2 spec time 0 adj time 0 spec time sec 0 adj time sec 0
Wed 2009/03/25 21:03:48.498| |master|MP4StreamFactory$2|DBG: Movie time 7304 sec, cut at 0.0sec
Wed 2009/03/25 21:03:48.498| |master|MP4StreamFactory$2| DBG: ts 600 cut at 0.0
Wed 2009/03/25 21:03:48.498| |master|MP4StreamFactory$2|DBG: media time 0
Wed 2009/03/25 21:03:48.498| |master|MP4StreamFactory$2| DBG: sampleNum 1 sync frame 1
Wed 2009/03/25 21:03:48.499| |master|MP4StreamFactory$2| DBG: chunk 1
Wed 2009/03/25 21:03:48.523| |master|MP4StreamFactory$2|DBG: cutDuration 4382402
Wed 2009/03/25 21:03:48.523| |master|MP4StreamFactory$2|DBG: new time 0.0
Wed 2009/03/25 21:03:48.523| |master|MP4StreamFactory$2|DBG: media time 0
Wed 2009/03/25 21:03:48.523| |master|MP4StreamFactory$2| DBG: sampleNum 1 sync frame 1
Wed 2009/03/25 21:03:48.523| |master|MP4StreamFactory$2| DBG: chunk 1
Wed 2009/03/25 21:03:48.591| |master|MP4StreamFactory$2|DBG: cutDuration 4382438
Wed 2009/03/25 21:03:48.591| |master|MP4StreamFactory$2|DBG: new time 0.0
Wed 2009/03/25 21:05:04.295| |Acceptor|Listener|
Wed 2009/03/25 21:05:04.295| |Acceptor|Listener|connection to receiver closed
Wed 2009/03/25 21:05:04.305| |Acceptor|Listener|
Wed 2009/03/25 21:05:04.305| |Acceptor|Factory|HME receiver disconnected
Yoav-
Another curious thing about 1.2b6 is that it always shows as active in the Dock, even after repeatedly rebooting my Mac. (I have it set to Automatically launch at Login.) I haven't had this problem with earlier versions.
Thanks again!
Kupe
kearygriffin
03-25-2009, 09:41 PM
My pleasure! I reinstalled 1.2b6, clicked Apply, and tried again to Stream. Got the "Please Wait" indefinitely. Here's what I got in Terminal:
...
...
A quick glance and I don't notice anything out of place in the log-- Does this happen with video formats other than mov/mp4. If you have an mpeg2 stream that you could try I'd be interested in the results. (And if not, does this happen with more than a couple of your MP4s?)
If it is MP4 related I'll try to upload a new version of streambaby this weekend. I'd been working on quite a few MP4 related things, and it's possible that I've already fixed it. I'd upload it now, but I can't remember what state everything is in, so need to test and figure it out. (I'm deep into a real-work project at the moment, and my brain has pushed out everything else)
Edit: and for some reason I do remember I was having a problem with one of my Mp4's that had a similar symptom, and thinking it was surprising more people hadn't had the problem. Of course for life of me can't remember what it was, and looking through the code and SCM logs didn't help.
Yoav-
Another curious thing about 1.2b6 is that it always shows as active in the Dock, even after repeatedly rebooting my Mac. (I have it set to Automatically launch at Login.) I haven't had this problem with earlier versions.
Thanks again!
Kupe
You need to de-select and reselect 'launch at login'. This won't be a problem with future versions, but up-to 1.2 you're gonna need to do that with every install..
A quick glance and I don't notice anything out of place in the log-- Does this happen with video formats other than mov/mp4. If you have an mpeg2 stream that you could try I'd be interested in the results. (And if not, does this happen with more than a couple of your MP4s?)
FWIW, the file is actually a .m4v file rendered from a VIDEO_TS folder using Toast Titanium 9.0.4. I don't have any MPEG2 files, but I will try this weekend to render a different VIDEO_TS folder to try.
Meanwhile, this same .m4v file that stalls with 1.2b6 works just fine with 1.1b24.
Kupe
You need to de-select and reselect 'launch at login'. This won't be a problem with future versions, but up-to 1.2 you're gonna need to do that with every install..
Thanks Yoav!
Kupe
Gyroscope352
04-02-2009, 04:34 PM
Alright, this software looks awesome - just what I'm looking for. However, it is not working at all for me.
I am running OS 10.5 on a Macbook and using a TiVo HD. I am sharing a video folder from my Mac's desktop and nothing is showing up in the "Now Playing" folder. Tried restarting, didn't work. Tried changing the beacon, didn't work. Tried changing the port, didn't work. What's next?
Ok I just checked in a new beta. You can now specify a username/password for push, but KEEP IN MIND that this is stored COMPLETELY insecurely on your computer, so don't use a password that you share anywhere else.
Alright, this software looks awesome - just what I'm looking for. However, it is not working at all for me.
I am running OS 10.5 on a Macbook and using a TiVo HD. I am sharing a video folder from my Mac's desktop and nothing is showing up in the "Now Playing" folder. Tried restarting, didn't work. Tried changing the beacon, didn't work. Tried changing the port, didn't work. What's next?
Unchange all those values :)
is your mac on the same subnet as the tivo? is there any sort of firewalling in your network? Is your tivo up to date with the latest software release? Anything interesting in /tmp/pyTivoX.log or /tmp/pyTivoX-SB.log?
Did you enable streambaby? And if so does anything show up under Photos/Music/Showcases for it?
philby85
04-05-2009, 02:24 AM
Hi Yoav,
Just in relation to my issue with the metadata. I downloaded latest beta. Still the same issue. With the streambaby.ini located within pytivox is that editable? I put in use.title=false and save but no change to the issue. I noticed that where the ini refers to my drives, they are the default not what I have set in the pytivox gui
So I gather the ini has not effect?
cheers
Phil
Gyroscope352
04-05-2009, 01:16 PM
Uh, it's not letting me post my post. It says I can't post links. How can I make it post my log (I think it's the log that's the problem)?
bedelman
04-05-2009, 01:36 PM
Uh, it's not letting me post my post. It says I can't post links. How can I make it post my log (I think it's the log that's the problem)?
You need to have (I think) five posts before you can post links
Gyroscope352
04-05-2009, 01:45 PM
You need to have (I think) five posts before you can post links
Right, except I am not intentionally posting any links. I think it's seeing my log output as having links in it or something.
Hi Yoav,
Just in relation to my issue with the metadata. I downloaded latest beta. Still the same issue. With the streambaby.ini located within pytivox is that editable? I put in use.title=false and save but no change to the issue. I noticed that where the ini refers to my drives, they are the default not what I have set in the pytivox gui
So I gather the ini has not effect?
cheers
Phil
The streambaby.ini you would want to edit is in <user>/Library/Application Support/pyTivoX/streambaby.ini
If you make changes to it, never use the 'apply' button or it will overwrite those.
Uh, it's not letting me post my post. It says I can't post links. How can I make it post my log (I think it's the log that's the problem)?
Post the file as an attachment (you will probably need to zip it up first) using the "manage Attachments" link at the bottom of the reply editor
Gyroscope352
04-05-2009, 02:46 PM
Unchange all those values :)
is your mac on the same subnet as the tivo? is there any sort of firewalling in your network? Is your tivo up to date with the latest software release? Anything interesting in /tmp/pyTivoX.log or /tmp/pyTivoX-SB.log?
Did you enable streambaby? And if so does anything show up under Photos/Music/Showcases for it?
I believe it is on the same subnet (you may need to be more specific on what that means). I am pretty sure there is a bit of firewalling, but I do not know if that is affecting this or not - I can download stuff with iTivo (evidence that it doesn't affect it), but it takes about 2 hours to download a 1 hour episode (possible evidence that the firewall is slowing it down (?)). Oddly enough, though I don't know what "subnet" means, I'm pretty experienced with port forwarding and the like, so if that will help perhaps I can do that. If the firewall is the issue.
My TiVo software is version 11.0b-01-2-652. Is that the most recent version?
log merely says "INFO:pyTivo:pyTivo is ready."
I can't post my SB.log because it won't let me post links.
This is with two tries, one with the default settings and one with a different port/with my TiVo's ip plugged into the config.
Streambaby is enabled, and it does show up in showcases but it never loads (I just get a grey screen that says "please wait..." and it never changes).
Hope this helps.
I believe it is on the same subnet (you may need to be more specific on what that means). I am pretty sure there is a bit of firewalling, but I do not know if that is affecting this or not - I can download stuff with iTivo (evidence that it doesn't affect it), but it takes about 2 hours to download a 1 hour episode (possible evidence that the firewall is slowing it down (?)). Oddly enough, though I don't know what "subnet" means, I'm pretty experienced with port forwarding and the like, so if that will help perhaps I can do that. If the firewall is the issue.
My TiVo software is version 11.0b-01-2-652. Is that the most recent version?
log merely says "INFO:pyTivo:pyTivo is ready."
I can't post my SB.log because it won't let me post links.
This is with two tries, one with the default settings and one with a different port/with my TiVo's ip plugged into the config.
Streambaby is enabled, and it does show up in showcases but it never loads (I just get a grey screen that says "please wait..." and it never changes).
Hope this helps.
Software seems fine. downloads from tivo are always slow, so no worries there. you shouldn't need to port forward unless your tivo is behind a router that the computer is on the other side of (that's what not being on the same subnet implies). in iTiVo, does the tivo name appear on the list of tivos to select? or do you have to manually type in the IP address?
Did you add a media share (like a videos directory with some videos in it?) Did you hit 'apply' after doing that?
Does the pyTivoX-SB.log file have anything like an 'error' of any sorts in there?
lynncosbm
04-05-2009, 03:17 PM
I've been using pyTivoX for a couple months now and I love it. In the latest update, I noticed there is a tab called pyTivo which gives an option for Push Support. Can someone please explain what this means and how it works? Thanks very much.
Gyroscope352
04-05-2009, 04:43 PM
Software seems fine. downloads from tivo are always slow, so no worries there. you shouldn't need to port forward unless your tivo is behind a router that the computer is on the other side of (that's what not being on the same subnet implies). in iTiVo, does the tivo name appear on the list of tivos to select? or do you have to manually type in the IP address?
Did you add a media share (like a videos directory with some videos in it?) Did you hit 'apply' after doing that?
Does the pyTivoX-SB.log file have anything like an 'error' of any sorts in there?
There do not appear to be any errors of any sort (though I think I'm at 5 now, so I'll post the log for you). My media share folder has been applied. When I first installed iTiVo, I had to manually type in the IP address, but after that the IP stays there and my TiVo's name shows up.
Gyroscope352
04-05-2009, 04:43 PM
Here's my SB.log
Initializing...
Sun 2009/04/05 13:02:03.885| |main|StreamBabyConfig|WorkingDir: /private/tmp
Sun 2009/04/05 13:02:03.886| |main|StreamBabyConfig|StreamBabyDir: /Applications/pyTivoX.app/Contents/Resources/streambaby
Sun 2009/04/05 13:02:03.886| |main|StreamBabyConfig|CurDir: /private/tmp
Sun 2009/04/05 13:02:04.050| |main|FFmpegJavaConfig$1|Loading avutil, default: /Applications/pyTivoX.app/Contents/Resources/libavutil.dylib
Sun 2009/04/05 13:02:04.052| |main|FFmpegJavaConfig$1|Loaded: /Applications/pyTivoX.app/Contents/Resources/libavutil.dylib
Sun 2009/04/05 13:02:04.052| |main|FFmpegJavaConfig$1|Loading avcodec, default: /Applications/pyTivoX.app/Contents/Resources/libavcodec.dylib
Sun 2009/04/05 13:02:04.055| |main|FFmpegJavaConfig$1|Loaded: /Applications/pyTivoX.app/Contents/Resources/libavcodec.dylib
Sun 2009/04/05 13:02:04.062| |main|FFmpegJavaConfig$1|Loaded avCodec version: 52 (3413760)
Sun 2009/04/05 13:02:04.062| |main|FFmpegJavaConfig$1|Loading avformat, default: /Applications/pyTivoX.app/Contents/Resources/libavformat.dylib
Sun 2009/04/05 13:02:04.063| |main|FFmpegJavaConfig$1|Loaded: /Applications/pyTivoX.app/Contents/Resources/libavformat.dylib
Sun 2009/04/05 13:02:04.064| |main|FFmpegJavaConfig$1|Loaded avFormat version: 52 (3416064)
Sun 2009/04/05 13:02:04.064| |main|FFmpegJavaConfig$1|Loading swscale, default: /Applications/pyTivoX.app/Contents/Resources/libswscale.dylib
Sun 2009/04/05 13:02:04.065| |main|FFmpegJavaConfig$1|Loaded: /Applications/pyTivoX.app/Contents/Resources/libswscale.dylib
Sun 2009/04/05 13:02:04.071| |main|FFmpegJavaConfig$1|Marking libswscale as available.
Sun 2009/04/05 13:02:04.316| |main|FFmpegJavaVideoModule|FFmpeg-java Module: loaded
Sun 2009/04/05 13:02:04.323| |main|FFmpegExeVideoModule|FFmpegPath: /Applications/pyTivoX.app/Contents/Resources/ffmpeg.bin
Sun 2009/04/05 13:02:04.323| |main|FFmpegExeVideoModule|FFmpegExeModule: Loaded
Sun 2009/04/05 13:02:04.358| |main|RootDirEntry$dirEntryHandler|dirEntry: file:/Users/whitsongordon/Documents/Share%20Folder/
Sun 2009/04/05 13:02:04.403| |main|PreviewCacheUtils|Cache Clean complete
Sun 2009/04/05 13:02:04.403| |main|StreamBabyMain|STARTING StreamBaby v20090404-0248...
Sun 2009/04/05 13:02:04.404| |main|Main|args= start=true
Sun 2009/04/05 13:02:04.404| |main|Main|args= loader=sun.misc.Launcher$AppClassLoader@33056f
Sun 2009/04/05 13:02:04.447| |main|Listener|config=com.tivo.hme.host.util.Config@1e7cc6 logger=com.unwiredappeal.tivo.utils.Log$ILoggerImpl@91e321
Sun 2009/04/05 13:02:04.499| |main|Listener|factoryList=[StreamBabyStreamFactory[/streambaby/,pyTivoX - whitson-gordons-macbook.local]]
Sun 2009/04/05 13:02:04.500| |main|Listener|factory=StreamBabyStreamFactory[/streambaby/,pyTivoX - whitson-gordons-macbook.local]
Sun 2009/04/05 13:02:04.500| |main|Listener|name=/streambaby/
Sun 2009/04/05 13:02:04.500| |main|Listener|
Sun 2009/04/05 13:02:04.500| |main|Listener|added factory
Sun 2009/04/05 13:02:04.500| |main|Main|factory=StreamBabyStreamFactory[/streambaby/,pyTivoX - whitson-gordons-macbook.local]
Sun 2009/04/05 13:02:04.500| |main|Main|MDNS: http://10.0.1.9:7290/streambaby/
Sun 2009/04/05 13:02:04.500| |main|Main|streambaby ready & listening.
Sun 2009/04/05 13:02:04.501| |main|Main|mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,pyTivoX - whitson-gordons-macbook.local] port=7290
EDIT: dang, THERE'S the link! I did not know that was there...lol.
I've been using pyTivoX for a couple months now and I love it. In the latest update, I noticed there is a tab called pyTivo which gives an option for Push Support. Can someone please explain what this means and how it works? Thanks very much.
Normally, the way you use pyTivo is by running it on your computer, then going to your tivo, and browsing your computer's media through the "Now Playing" list. When you find something you like, you "pull" it to your tivo.
An alternative approach is the obtuse 'push' method. Instead of telling your tivo to pull the file, you can tell your computer to 'push' the file to the tivo (through a messy sequence). In order for this to work, you need to provide pytivo with the username (usually an email) and password that you use to log into tivo.com. Once you provide that, you can go to http://localhost:9032/ from a web browser on the pytivo computer. There you will see a 'video shares' link where you can browse your media, and initiate the push.
If you happen to have both streambaby AND pytivo enabled, AND you have provided the account information to pytivo, you can also use the streambaby gui to initiate a push of the file instead of streaming it.
There are a few advantages to push over pull (the biggest is that you can push certain mp4 files without transcoding). But I also think it's more confusing than it's worth. I've been avoiding adding support for it but enough people were asking for it so I did.
Here's my SB.log
Initializing...
Bleah, the bad/good news is that the entire log is completely normal. I'm of the opinion that your home network allows your computer to talk freely to the tivo, but is somehow preventing the tivo from initiating a conversation with your computer. Is there a router between the two? Is your tivo's IP address something like '10.0.1.xyz' ?
philby85
04-05-2009, 09:00 PM
The streambaby.ini you would want to edit is in <user>/Library/Application Support/pyTivoX/streambaby.ini
If you make changes to it, never use the 'apply' button or it will overwrite those.
Thanks Yoav, I appreciate the reply. All working fine now.
cheers
Phil
Sevenfeet
04-05-2009, 09:11 PM
Just posted this PM to wmcbrine but thought the rest of the community should read it...
Re: #3-5-6 error on slow machines (like mine!)
Thanks for the PM on this subject. I haven't hit it very hard yet but I upgraded it yesterday based on your message. Before, it was pretty easy to get a #3-5-6 error. Now I don't see it. I'll let you know if it holds up. What I still have problems with is music streaming. The audio still breaks up, something that Tivo Desktop for Mac doesn't do. Tivo Desktop uses Lame (user installed) if your music isn't in MP3 format. I'm curious to know what pyTivoX is using since I think Lame is part of the package. On a PPC machine, there's a special distro of Lame to deal with the PPC's reversed method of dealing with data (as opposed to Intel architecture). Not sure what's going on here...
lynncosbm
04-05-2009, 11:58 PM
Normally, the way you use pyTivo is by running it on your computer, then going to your tivo, and browsing your computer's media through the "Now Playing" list. When you find something you like, you "pull" it to your tivo.
An alternative approach is the obtuse 'push' method. Instead of telling your tivo to pull the file, you can tell your computer to 'push' the file to the tivo (through a messy sequence). In order for this to work, you need to provide pytivo with the username (usually an email) and password that you use to log into tivo.com. Once you provide that, you can go to http://localhost:9032/ from a web browser on the pytivo computer. There you will see a 'video shares' link where you can browse your media, and initiate the push.
If you happen to have both streambaby AND pytivo enabled, AND you have provided the account information to pytivo, you can also use the streambaby gui to initiate a push of the file instead of streaming it.
There are a few advantages to push over pull (the biggest is that you can push certain mp4 files without transcoding). But I also think it's more confusing than it's worth. I've been avoiding adding support for it but enough people were asking for it so I did.
Thanks for the reply Yoav, I'll have to give it a try!
Just posted this PM to wmcbrine but thought the rest of the community should read it...
Re: #3-5-6 error on slow machines (like mine!)
Thanks for the PM on this subject. I haven't hit it very hard yet but I upgraded it yesterday based on your message. Before, it was pretty easy to get a #3-5-6 error. Now I don't see it. I'll let you know if it holds up. What I still have problems with is music streaming. The audio still breaks up, something that Tivo Desktop for Mac doesn't do. Tivo Desktop uses Lame (user installed) if your music isn't in MP3 format. I'm curious to know what pyTivoX is using since I think Lame is part of the package. On a PPC machine, there's a special distro of Lame to deal with the PPC's reversed method of dealing with data (as opposed to Intel architecture). Not sure what's going on here...
I honestly don't know what pytivo uses for music. I do compile ffmpeg with the mp3lame libraries, but I didn't think pytivo uses ffmpeg to stream audio (?). If there's some other tool or library I need to supply I'll be glad to include it though...
edit Note to self: check source code before opening mouth :). It does look like transcodes are down with ffmpeg after all :). Anyways, the ffmpeg as shipped includes the lame libraries, but there might be other audio formats that are not supported... Then again, if you have 'choppy' audio that doesn't sound like a missing codec...
As for the PPC reveresed method.. I build the lame libraries seperately for powerpc and i386, with different autoconf settings to match the processor. However, it is the same source code... so if there is a bug in it with ppc processors, the bug will appear... Do you have a pointer to the lame you're mentioning?
Scot Kight
04-06-2009, 08:53 AM
anyone know how to make pytivox do subtitles?
Let me define this a bit better. For MKV files with subtitle streams, how do I make them available using streambaby?
Stream #0.0(eng): Video: h264, yuv420p, 1280x720, PAR 1:1 DAR 16:9, 23.98 tbr, 1k tbn, 47.95 tbc
Stream #0.1(eng): Audio: vorbis, 32000 Hz, stereo, s16
Stream #0.2: Subtitle: 0x0000
Stream #0.3: Subtitle: 0x0000
anyone know how to make pytivox do subtitles?
Let me define this a bit better. For MKV files with subtitle streams, how do I make them available using streambaby?
Stream #0.0(eng): Video: h264, yuv420p, 1280x720, PAR 1:1 DAR 16:9, 23.98 tbr, 1k tbn, 47.95 tbc
Stream #0.1(eng): Audio: vorbis, 32000 Hz, stereo, s16
Stream #0.2: Subtitle: 0x0000
Stream #0.3: Subtitle: 0x0000
Right now the only subtitles pyTivoX supports and ONLY through streambaby is subtitles in an .srt file. If the mkv contains srt subtitles (there are multiple types of possible subtitles) you can extract it with mkvextract (http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvextract.html) . Instead of extracting them from the mkv, you can also do a google search for the srt file for your movie (there are websites out there that just contain srt files in every language for almost every DVD out there) and download it.
IF you have a movie like 'movie.mkv' and a file named 'movie.srt' in the same directory, then you can use the 'aspect' button to turn on and off the subtitles.
Scot Kight
04-06-2009, 01:39 PM
Hmm.. Extracted and put into the same directory. File is same name, and capitalization. when i hit aspect i get a small yellow "thought bubble" with a red error circle in it.
Extracting track 3 with the CodecID 'S_TEXT/ASS' to the file 'movie.srt'. Container format: SSA/ASS text subtitles
progress: 100%
Mon 2009/04/06 13:38:54.698| |Acceptor|ViewScreen|code=22 rawcode=16790806
Hmm.. Extracted and put into the same directory. File is same name, and capitalization. when i hit aspect i get a small yellow "thought bubble" with a red error circle in it.
Extracting track 3 with the CodecID 'S_TEXT/ASS' to the file 'movie.srt'. Container format: SSA/ASS text subtitles
progress: 100%
Mon 2009/04/06 13:38:54.698| |Acceptor|ViewScreen|code=22 rawcode=16790806
SSA/ASS is not SRT :). As the previous post said, it HAS to be srt format.
You should probably just go look for a pre-made srt file for your movie. There might be some tools that convert SSA to SRT, but I'm not sure.
edit google search gave me this: http://www.akira.ru/osc/ssa2srt.php
Does it work?
It's probably not that hard to add a basic SSA support to streambaby though (I mean, it would ignore the graphics, colors, and location info, and just present the subtitles as if they were srt subs)... hmmm..
Scot Kight
04-06-2009, 03:15 PM
Bingo! Thanks for that, it works fine now.
One thing interesting is that on the ffmpeg page they are talking about supporting SSA/ASS. My only problem is I am not sure what they mean to this situation, if anything. I've tried a bunch of -scodec options but nothing seems to be able to put the subtitles into the final stream, though maybe I am missing something simple as the command formats are a bit odd to me.
December 3, 2008
A bunch of new formats have recently been added to FFmpeg, namely a QCELP/PureVoice speech decoder, a floating point PCM decoder and encoder, a Nellymoser ASAO encoder, an Electronic Arts TGQ decoder, Speex decoding via libspeex, an MXF muxer, an ASS/SSA subtitle demuxer and muxer and our AC-3 decoder has been extended with E-AC-3 support. Last but not least we now have a decoder for RealVideo 4.0.
Bingo! Thanks for that, it works fine now.
One thing interesting is that on the ffmpeg page they are talking about supporting SSA/ASS. My only problem is I am not sure what they mean to this situation, if anything. I've tried a bunch of -scodec options but nothing seems to be able to put the subtitles into the final stream, though maybe I am missing something simple as the command formats are a bit odd to me.
December 3, 2008
A bunch of new formats have recently been added to FFmpeg, namely a QCELP/PureVoice speech decoder, a floating point PCM decoder and encoder, a Nellymoser ASAO encoder, an Electronic Arts TGQ decoder, Speex decoding via libspeex, an MXF muxer, an ASS/SSA subtitle demuxer and muxer and our AC-3 decoder has been extended with E-AC-3 support. Last but not least we now have a decoder for RealVideo 4.0.
I'm no expert, but I would guess they are talking about allowing you to take something like an SSA stream from one container to another. Not 'burn the text into the video stream'. Having said that, if your ultimate goal is a movie with the subtitles burned-in, I believe VLC can do that for you. If you do that though, you can never turn off the subtitles.
kearygriffin
04-06-2009, 04:37 PM
It's probably not that hard to add a basic SSA support to streambaby though (I mean, it would ignore the graphics, colors, and location info, and just present the subtitles as if they were srt subs)... hmmm..
I probably won't ever get to it, but after moyekj added the initial subtitle support, I did look into trying to integrate pieces of this project:
http://www.jubler.org/download/index.php
(By look into I mean browsed through the SVN repo to get a handle on what it would take)
It seems to abstract a bunch of different subtitle formats into a standard API that streambaby could deal with.
tombonneau
04-08-2009, 10:27 PM
Just downloaded the latest version of this software after hearing the rave reviews.
I've gotten three folders to show up on my TiVo Now Playing:
iTunes Music/Movies
iTunes Music/TV Shows
And a non-iTunes Video Folder (The Smurfs)
The Smurfs folders are some episodes I, erm, procured via the Internet. These are .avi files.
The Smurfs episodes I'm able to view no problem; however, neither of the iTunes folders are working.
The files show up, but when I click to play them, they say they are transferring and they show up at the top of Now Playing, but nothing ever seems to happen. When click play for them, I get the gray screen, and the progress bar at the bottom shows no progress.
Thoughts? Will this program not work with iTunes video files? Is it a DRM issue? Or am I doing something wrong?
FWIW, I have the folder type set to "video" which was the default ...
Just downloaded the latest version of this software after hearing the rave reviews.
I've gotten three folders to show up on my TiVo Now Playing:
iTunes Music/Movies
iTunes Music/TV Shows
And a non-iTunes Video Folder (The Smurfs)
The Smurfs folders are some episodes I, erm, procured via the Internet. These are .avi files.
The Smurfs episodes I'm able to view no problem; however, neither of the iTunes folders are working.
The files show up, but when I click to play them, they say they are transferring and they show up at the top of Now Playing, but nothing ever seems to happen. When click play for them, I get the gray screen, and the progress bar at the bottom shows no progress.
Thoughts? Will this program not work with iTunes video files? Is it a DRM issue? Or am I doing something wrong?
FWIW, I have the folder type set to "video" which was the default ...
if the files in your iTunes Movies folder are movies you legally procured from apple's itunes store, then sadly, NOTHING other than apple software will play it for you (it's laden with DRM to 'protect you from pirates' or somesuch).
If they are regular movie files though, we probably have a bug to look into.. so first lets get the answer to which is it?
tombonneau
04-08-2009, 10:35 PM
if the files in your iTunes Movies folder are movies you legally procured from apple's itunes store, then sadly, NOTHING other than apple software will play it for you (it's laden with DRM to 'protect you from pirates' or somesuch).
If they are regular movie files though, we probably have a bug to look into.. so first lets get the answer to which is it?
Wow thanks for the AMAZINGLY FAST response! :)
Now for the :( part ...
Yes, these are files I downloaded from iTunes. Looks like DRM issue and I'm SOL. Oh well ... do you know if Apple lifted DRM on video recently same as they did with music files? (The videos I'm trying to play are old ...)
Thanks again for the great program and fast response!
Wow thanks for the AMAZINGLY FAST response! :)
Now for the :( part ...
Yes, these are files I downloaded from iTunes. Looks like DRM issue and I'm SOL. Oh well ... do you know if Apple lifted DRM on video recently same as they did with music files? (The videos I'm trying to play are old ...)
Thanks again for the great program and fast response!
I haven't heard of apple removing DRM from video (or any plans to do so in the near future). I also don't know of any tools to strip the DRM. Unfortunately I think your only option is to obtain another copy of the film you paid for without DRM (hey what's this bittorrent doing here?)
tombonneau
04-08-2009, 10:44 PM
I haven't heard of apple removing DRM from video (or any plans to do so in the near future). I also don't know of any tools to strip the DRM. Unfortunately I think your only option is to obtain another copy of the film you paid for without DRM (hey what's this bittorrent doing here?)
Ha! Exactly. All Apple is doing is giving me motivation to purchase/obtain videos from alternate avenues.
Something tells me your little program is going to be causing me to click a bit more often (no pun intended) on that little blue frog in my dock ... ;)
Sevenfeet
04-09-2009, 03:02 PM
DRM for purchased video is still very much with us. In fact, I don't see a transition like what happened with the music business anytime in the new future. If anything, the motion picture content providers seem to be increasingly wanting to keep the copy protection game going as long as possible.
tiny-e
04-15-2009, 07:21 AM
For some reason pyTivo won't show up in my Now Playing list on my S2 DirecTivo.
Running pyTivo verison 1.2b10 on 10.5.6, python version 2.5.1.
When I click "apply" I can see my Now Playing List refresh, but I don't see any entries for pyTivo in there. Does this show up as a DVR? or do just the folder names show up as folders?
I'm looking at the bottom of the list as that is where DVR's normally show up, and have scanned the NPL (it's long from lots of tivoserver transfers), but don't see anything.
Console doesn't show any errors for pyTivo.
Any ideas?
:::EDIT::: should note that my video folder has nested folders inside of it (if that makes a difference). Example:
/Volumes/Storage/Video ----is my video folder
/Volumes/Storage/Video/Movies ----- is my movies folder
/Volumes/Storage/Video/TvShows/Ed/Season01 --- would be a typical TV show arrangement.
tiny-e
04-15-2009, 11:13 AM
Here's another item: tivoserver sees an additional tivo on my network named plex.ecknet.net (which is the name of the machine that pyTivo is running on).
Still won't show up in the NPL on my DirecTivo though....
It should show up as another 'DVR' named whatever your share is named. (at the bottom of the now playing list).
Nested folders should not matter.
I'm not entirely clear if having tivoserver running causes problems, but I don't think it should.
is pytivo enabled in the preferences? is streambaby?
Can you look for anything interesting in the logs in
/tmp/pyTivoX.log
/tmp/pyTivoX-SB.log
Also, does anything show up under Photos,Music,Showcases? (that would be streambaby-related stuff).
wmcbrine
04-15-2009, 02:39 PM
For some reason pyTivo won't show up in my Now Playing list on my S2 DirecTivo.No, and it never will. You can use it for photos and music, but the video portion is only compatible with standalone TiVos.
No, and it never will. You can use it for photos and music, but the video portion is only compatible with standalone TiVos.
woops good catch :)
Thanks...
-- yoav
Recently I have noticed a marked drop in transfer on our programs. I often "bank" a few minutes before I start to play the show and was able to watch the entire show without any pauses due to transfer. Now I get it frequently.
Odd- anyone have any thoughts on this??
Latest release, 10.5.6 G5, iTivo content
Tad
Recently I have noticed a marked drop in transfer on our programs. I often "bank" a few minutes before I start to play the show and was able to watch the entire show without any pauses due to transfer. Now I get it frequently.
Odd- anyone have any thoughts on this??
Latest release, 10.5.6 G5, iTivo content
Tad
is this with streaming (Photos, music, showcases) or pytivo (now playing...)?
Is your network wired or wireless?
Any other computers on the network that might be doing stuff on the network? (downloading a torrent for example?)
Is your desktop computer busy doing other things? Especially since it's a G5, you probably want to keep the computer unbusy if you're transcoding.
(leading to :) Is the source streamed as-is or is transcoding necessary (i.e. what format did you use when downloading with iTiVo?)
It's hard to guess with so little information, but my instinct is that you're either transferring more data per minute of show (higher bandwidth/quality recording) or your network is 'congested' -- made more likely if it's wireless and the router got moved, or the transmitter is closer to the wall...
But with more info we can probably narrow it down and possibly fix it...
To answer your question, I have not noticed any such problems on my home network.
tiny-e
04-19-2009, 11:39 AM
No, and it never will. You can use it for photos and music, but the video portion is only compatible with standalone TiVos.
Rats. Well, that sucks. Tivoserver is hit & miss at best (plus no working native Intel or Universal binary)... Man I wish someone would build it (i've tried with no success).
thanks for helping me straighten this out.
is this with streaming (Photos, music, showcases) or pytivo (now playing...)?
Is your network wired or wireless? Wired
Any other computers on the network that might be doing stuff on the network? (downloading a torrent for example?) THe network is pretty light. I obviously do not attempt to pull a show from the TiVo while downloading another to the Now Playing
Is your desktop computer busy doing other things? Especially since it's a G5, you probably want to keep the computer unbusy if you're transcoding. ..again- keeping it light while transcoding
(leading to :) Is the source streamed as-is or is transcoding necessary (i.e. what format did you use when downloading with iTiVo?)I guess this is the interesting part to some degree, although some further tinkering is required. If I have a DVD that I ripped, and encoded using Visual Hub (using the TiVo preset), things seem to transfer fine. I think the issue has been more with the content I've pulled from the TiVo using itivo. My original setup was using "decrypt." I've started to venture out to try some of the other settings but the encoding times are a joke....
It's hard to guess with so little information, but my instinct is that you're either transferring more data per minute of show (higher bandwidth/quality recording) or your network is 'congested' -- made more likely if it's wireless and the router got moved, or the transmitter is closer to the wall...I guess it is likely the attempt to push too much data at the Tivo that makes the most sense to me as I think this has been since I started using itivo. I suppose I could go back and re-encoding things again through VH, but isn't that why I'm using pyTivoX? Argh.
If anyone has a favorite itivo setting to suggest, I'd give it a whirl- as always, I appreciate everyone's comments and help.
But with more info we can probably narrow it down and possibly fix it...
To answer your question, I have not noticed any such problems on my home network.
Tad
Tad
For some reason the first question wasn't answred (pytivo or streambaby). I'm going to assume pytivo for this answer, but either program would have the same issues:
If you notice it with iTivo in 'decrypt' and not with encoding you made with visualhub, then I would guess that the decrypt (i.e. the native format from the tivo) is failing the 'can it be streamed' test in pytivo/streambaby, and therefore it is actually re-encoding the file as it sends the file. This would cause a slowdown as the computer has to work to convert instead of just send files as-is (and on a G5 that would definitely tax the computer).
You can check if that's happening by looking at the logs for either pytivo (/tmp/pyTivoX.log) or streambaby (/tmp/pyTivoX-SB.log). There would be invocation of ffmpeg in there for transcoding.
If that's the case, I'm guessing that's a bug since I'm pretty sure you can stream original tivo data without converting it. We can work to fix it (but lets see if that's indeed the case).
wmcbrine
04-21-2009, 05:53 AM
Tad, your reply is nearly illegible. Please multi-quote instead of just putting your answers in red in the quote box. You're making extra work for your readers, who are trying to help you.
mohanman
04-22-2009, 07:01 PM
HI, thanks for the great program, I have been using it frequently. I have an iMac which has the software on it, and a tivo series 3. Pytivo works just fine (transferring the show), but I can't get streambaby to work, if I click on it using my tivo, nothing happens, just a please wait ..
which lasts for several minutes
What am I doing wrong??
Thanks for everything
Mo
I can't get streambaby to work, if I click on it using my tivo, nothing happens, just a please wait ..
which lasts for several minutes
I'm a little unclear on the meaning of 'click on it'..
Do you go to My Photos, Music, Showcases?
Does the pyTivoX streambaby thing show up? Do you click on that? is that when the 'please wait..' happens? Or do you select a show and *then* the please wait happens?
Also, are you using the beta of pyTivoX, or release 1.1?
mohanman
04-22-2009, 08:00 PM
I'm a little unclear on the meaning of 'click on it'..
Do you go to My Photos, Music, Showcases?
Does the pyTivoX streambaby thing show up? Do you click on that? is that when the 'please wait..' happens? Or do you select a show and *then* the please wait happens?
Also, are you using the beta of pyTivoX, or release 1.1?
Yeah I go through Photos/Music/Showcases, see the imac.local and select that with my remote on the tivo. Then it says please wait, and nothing ever happens. I am using version 1.2b10, should I go back a version or two?
Thanks
Mo
...You can check if that's happening by looking at the logs for either pytivo (/tmp/pyTivoX.log) or streambaby (/tmp/pyTivoX-SB.log). There would be invocation of ffmpeg in there for transcoding.
I apologize for not clarifying that the issue was pytivo related and not SB. I pulled the log file for an episode of "Lost" that I attempted to load. You'd know better than I if it is envoking FFmpeg in there... I believe that it is? Here is the beginning of the log.
Wednesday, April 22, 2009 8:51:54 PM US/Eastern
INFO:pyTivo:192.168.2.3 [22/Apr/2009 20:52:07] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.2.3 [22/Apr/2009 20:52:09] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.2.3 [22/Apr/2009 20:52:10] "GET /TiVoConnect?Command=QueryContainer&Container=Our%20Video%20Library&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.2.3 [22/Apr/2009 20:52:13] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.2.3 [22/Apr/2009 20:52:13] "GET /TiVoConnect?Command=QueryContainer&Container=Our%20Video%20Library%2FTelevision%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.2.3 [22/Apr/2009 20:52:16] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.2.3 [22/Apr/2009 20:52:16] "GET /TiVoConnect?Command=QueryContainer&Container=Our%20Video%20Library%2FTelevision%20Shows%2FLost&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.2.3 [22/Apr/2009 20:52:19] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.2.3 [22/Apr/2009 20:52:19] "GET /TiVoConnect?Command=QueryContainer&Container=Our%20Video%20Library%2FTelevision%20Shows%2FLost&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FOur%2520Video%2520Library%2FTelevision%2520Sho ws%2FLost%2FLost%2520-%2520This%2520Place%2520Is%2520Death.mpg&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.2.3 [22/Apr/2009 20:52:23] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.2.3 [22/Apr/2009 20:52:23] "GET /TiVoConnect?Command=QueryContainer&Container=Our%20Video%20Library%2FTelevision%20Shows%2FLost&SortOrder=!CaptureDate&ItemCount=8&AnchorItem=%2FOur%2520Video%2520Library%2FTelevision%2520Sho ws%2FLost%2FLost%2520-%2520He%2527s%2520Our%2520You.mpg&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.2.3 [22/Apr/2009 20:52:25] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.2.3 [22/Apr/2009 20:52:25] "GET /TiVoConnect?Command=QueryContainer&Container=Our%20Video%20Library%2FTelevision%20Shows%2FLost&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FOur%2520Video%2520Library%2FTelevision%2520Sho ws%2FLost%2FLost%2520-%2520Dead%2520Is%2520Dead.mpg&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.2.3 [22/Apr/2009 20:52:26] "GET /TiVoConnect?Command=TVBusQuery&Container=Our%20Video%20Library&File=%2FTelevision%20Shows%2FLost%2FLost%20-%20Dead%20Is%20Dead.mpg HTTP/1.1" 200 -
INFO:pyTivo:192.168.2.3 [22/Apr/2009 20:52:34] "GET /Our%20Video%20Library/Television%20Shows/Lost/Lost%20-%20Dead%20Is%20Dead.mpg HTTP/1.1" 200 -
FFmpeg version SVN-r18519, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --shlibdir=@executable_path --arch=ppc --cpu=G4 --enable-shared --disable-static --enable-pthreads --disable-mmx --enable-gpl --enable-libmp3lame --enable-libfaac --enable-libfaad --enable-libx264 --extra-cflags='-DHAVE_LLRINT -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.25. 0 / 52.25. 0
libavformat 52.32. 0 / 52.32. 0
libavdevice 52. 2. 0 / 52. 2. 0
libswscale 0. 7. 1 / 0. 7. 1
built on Apr 14 2009 21:59:01, gcc: 4.0.1 (Apple Inc. build 5484)
Seems stream 1 codec frame rate differs from container frame rate: 59.94 (60000/1001) -> 29.97 (60000/2002)
Input #0, mpeg, from '/Volumes/TiVoShows/Television Shows/Lost/Lost - Dead Is Dead.mpg':
Duration: 01:02:01.53, start: 0.833922, bitrate: 6015 kb/s
Stream #0.0[0x1c0]: Audio: mp2, 48000 Hz, stereo, s16, 192 kb/s
Stream #0.1[0x1e0]: Video: mpeg2video, yuv420p, 480x480 [PAR 4:3 DAR 4:3], 9000 kb/s, 29.97 tbr, 90k tbn, 59.94 tbc
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, stereo, s16, 192 kb/s
Stream mapping:
Stream #0.1 -> #0.0
Stream #0.0 -> #0.1
Press [q] to stop encoding
frame= 8 fps= 0 q=3.3 size= 0kB time=0.23 bitrate= 0.0kbits/s
frame= 15 fps= 8 q=4.9 size= 400kB time=0.47 bitrate=7014.7kbits/s
frame= 23 fps= 9 q=4.0 size= 512kB time=0.73 bitrate=5713.8kbits/s
frame= 33 fps= 11 q=3.8 size= 676kB time=1.07 bitrate=5186.5kbits/s
frame= 42 fps= 12 q=3.5 size= 830kB time=1.37 bitrate=4970.2kbits/s
yadda, yadda, yadda....
wmcbrine
04-22-2009, 10:42 PM
It is transcoding, though I'm not sure why. Turn on debug to see the reason.
Yeah I go through Photos/Music/Showcases, see the imac.local and select that with my remote on the tivo. Then it says please wait, and nothing ever happens. I am using version 1.2b10, should I go back a version or two?
Thanks
Mo
Nah, if you're sticking with the beta (1.2 is the beta branch right now) then you may as well use the latest.
Ok so for some reason it is failing to generate the list of what movies are available. I'm assuming something goes wrong, and hopefully it prints out some useful info in the log... Can you open up Terminal.app and run
tail -50 /tmp/pyTivoX-SB.log
or if you're using the LATEST beta (as of today), run
tail -50 ~/Library/Logs/pyTivoX/streambaby.log
Anything interesting in there?
It is transcoding, though I'm not sure why. Turn on debug to see the reason.
(to turn on debug, you'll need to edit the file
<user>/Library/Application Support/pyTivoX/pyTivo.conf
and in a new line right after Port=9032, add
debug=True
Then exit pyTivoX, and start it again.
Have modified conf file to include debug statement and restarted. I am assuming that I would need to draw a movie over and review the log file to see this debug information?
Have modified conf file to include debug statement and restarted. I am assuming that I would need to draw a movie over and review the log file to see this debug information?
Presumably.. Debug lines in the log will start with the word "DEBUG", you're probably looking for some invocation of 'ffmpeg' and information around it as to why it's choosing to transcode.
I am attaching log file- was unable to post here due to forum limitation (image references??) See attached txt file.
Tad
I am attaching log file- was unable to post here due to forum limitation (image references??) See attached txt file.
Tad
I believe the following lines from your logs explain why it's transcoding:
DEBUG:pyTivo.video.transcode:TRANSCODE=YES, 59.94 vFps, should be 29.97, /Volumes/TiVoShows/Television Shows/Lost/Lost - Dead Is Dead.mpg
DEBUG:pyTivo.video.transcode:/Volumes/TiVoShows/Television Shows/Lost/Lost - Dead Is Dead.mpg is not tivo compatible
....
DEBUG:root:transcoding to tivo model 649 using ffmpeg command:
Looks like the original video is set to 60fps, your tivo series 649 (a S2 directivo) is unable to play that.
So, either pytivo is misprobing your tivo and assuming it can't play it, or it's probing correctly, in which case the transcoding makes sense.... ?
Since it's Lost, which comes off
Yoav,
The Tivo is a Serie 2 Standalone unit - no Direct TV.
I follow you that the the frame rate is off and thereby causing it to kickstart the transcoding. I am just not sure why or if this is resolvable.
I'm using iTivo in decrypt to pull the content off the tivo and pytivox to feed it back- so I'm not clear on why the frame rates are so out of whack....
Since it's Lost, which comes off
is part of your post missing here??
is part of your post missing here??
oops yeah
I was gonna say that ABC broadcasts in 720p, which is supposedly 60fps. But if you pull it off the tivo and it's a series 2, then it's not an HD recording and therefore that's not the reason.
Ok, so fwiw, I just tried pulling an SD show off my Series 3, and it is also exhibiting this 'issue'. Notably, the container frame rate is 60 fps, while the actual frame rate of the video is 30 fps. I'm wondering if that's a bad 'ffmpeg', a bad 'tivodecode', or if tivos just do that... and if so, should pyTivo ignore the container and trust the video stream?
From your log:
Seems stream 1 codec frame rate differs from container frame rate: 59.94 (60000/1001) -> 29.97 (60000/2002)
Input #0, mpeg, from '/Volumes/TiVoShows/Television Shows/Lost/Lost - Dead Is Dead.mpg':
Duration: 01:02:01.53, start: 0.833922, bitrate: 6015 kb/s
Stream #0.0[0x1c0]: Audio: mp2, 48000 Hz, stereo, s16, 192 kb/s
Stream #0.1[0x1e0]: Video: mpeg2video, yuv420p, 480x480 [PAR 4:3 DAR 4:3], 9000 kb/s, 29.97 tbr, 90k tbn, 59.94 tbc
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, stereo, s16, 192 kb/s
Stream mapping:
Stream #0.1 -> #0.0
Stream #0.0 -> #0.1
Note the source is actually at 30 fps (29.97 tbr,..., 59.94 tbc).. I'm not a codec weenie though, so the question is how pytivo determines if it's 60 or 30 fps.
wmcbrine?
Ok from sitting and looking at the code, I see what's going on:
transcode.py has the following regexp to figure out the framerate:
rezre = re.compile(r'.*Video: .+, (.+) (?:fps|tb).*')
applied to
Stream #0.1[0x1e0]: Video: mpeg2video, yuv420p, 480x480 [PAR 4:3 DAR 4:3], 9000 kb/s, 29.97 tbr, 90k tbn, 59.94 tbc
since there's both a tbr (correct) and tbc (incorrect) value on that line, the regexp swallows as
much as it can into the first .+, and then pulls the tbc value into x.group(1). After this
there is some code to correct for some versions of ffmpeg and a videoredo issue, but nothing
that would fix this.
So some code needs to be added to pytivo to address this behavior of the new ffmpeg....
I'm not sure why it's fps:tb.. but presumably if there's a tbc and tbr value, it should use
the tbr value... Or there may be a more 'correct fix'. Either way Tad you're gonna
have to deal with the transcoding for a little while longer :(
Yoav,
I'm glad to have stumbled on to this- knowing the power of pytivox- I would hate for someone new to it to try it and think that the transfer rate is slow. I am constantly amazed at the brain-trust here and am sure that a fix will present itself.
Tad
wmcbrine
04-24-2009, 06:59 PM
I missed this because I was mostly testing with an S3, which accepts the 59.94 rate without transcoding.
I have a tentative workaround... only, I like to know what the frak I'm doing, and I can't find actual documentation of "tbr" etc. anywhere. What does it even stand for? Maybe I'll have to consult the ffmpeg source code to figure it out.
I missed this because I was mostly testing with an S3, which accepts the 59.94 rate without transcoding.
I have a tentative workaround... only, I like to know what the frak I'm doing, and I can't find actual documentation of "tbr" etc. anywhere. What does it even stand for? Maybe I'll have to consult the ffmpeg source code to figure it out.
Well, I'm not much help here either, but from the ffmpeg source, this seems like the relevant code (libavformat/utils.c):
if(st->codec->codec_type == CODEC_TYPE_VIDEO){
if(st->r_frame_rate.den && st->r_frame_rate.num)
print_fps(av_q2d(st->r_frame_rate), "tbr");
if(st->time_base.den && st->time_base.num)
print_fps(1/av_q2d(st->time_base), "tbn");
if(st->codec->time_base.den && st->codec->time_base.num)
print_fps(1/av_q2d(st->codec->time_base), "tbc");
Seems like tbr, tbc and tbn are all computed for video streams, each with a different meaning. Running back through the code it seems that the tbr is 'corrected' based on values later printed out as tbn and tbc (whereas tbn and tbc are associated with the length of a frame according to the codec). So I'm guessing tbr is the 'normal' meaning of frame rate, and the other two are codec/container related values... Just for kicks I looked at what ffmpeg prints out for an mp4 rip I made with handbrake... :
ffmpeg -i /Volumes/External\ Disk/movies/Action/X-Men\ \(2000\).m4v
Seems stream 0 codec frame rate differs from container frame rate: 47.95 (48000/1001) -> 59.94 (60000/1001)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Volumes/External Disk/movies/Action/X-Men (2000).m4v':
Duration: 01:44:18.72, start: 0.-100188, bitrate: 2451 kb/s
Stream #0.0(eng): Video: h264, yuv420p, 720x304, 59.94 tbr, 48k tbn, 47.95 tbc
When I asked mplayer for its opinion of the framerate of that movie, I got:
mplayer -identify /Volumes/External\ Disk/movies/Action/X-Men\ \(2000\).m4v
...
ID_VIDEO_FPS=59.940
...
So it definitely seems like tbr is the right value to go with (at least in both these cases).
edit : I also came across this patch for handbrake that seems to point at a new behavior in ffmpeg related to framerates, which may explain why it's happening with the new ffmpeg and wasn't seen before: http://forum.handbrake.fr/viewtopic.php?f=4&t=10108
wmcbrine
04-24-2009, 08:20 PM
Yeah... sort of. I grepped the ffmpeg source myself and found a little more info, but it's still vague.
Anyway, I've committed my workaround to the repo. It fixes several of my test videos. However, I still have one video (that came from a Series 2 TiVo!) which comes up as 29.97 with an older version of ffmpeg, and 59.94 with 0.5 -- and it doesn't show 29.97 anywhere. I'm wondering now if I should just pass through 59.94 as valid for the Series 2. It's a kludge, but I don't see it going wrong too often -- the only real use of 59.94 is in 720p video, AFAIK, and that would still be flagged to reencode due to the resolution.
Edit: I went ahead and did that, too. Fingers crossed. :)
It's a kludge, but I don't see it going wrong too often -- the only real use of 59.94 is in 720p video, AFAIK, and that would still be flagged to reencode due to the resolution.
Updating pyTivoX beta to include your new code changes.. I suppose at worst if 'the kludge' doesn't work, we'll hear about it... :)
Tad is it working now?
Below is the log dump for your review. I brought over LOST again to see if there was a noticeable difference.Video is loading quicker now- certainly faster than before...
INFO:pyTivo:pyTivo is ready.
INFO:pyTivo:192.168.2.3 [24/Apr/2009 22:13:30] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.2.3 [24/Apr/2009 22:13:58] "GET /TiVoConnect?Command=QueryContainer&Container=%2F HTTP/1.0" 200 -
INFO:pyTivo:192.168.2.3 [24/Apr/2009 22:14:00] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.2.3 [24/Apr/2009 22:14:00] "GET /TiVoConnect?Command=QueryContainer&Container=Our%20Video%20Library&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.2.3 [24/Apr/2009 22:14:03] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.2.3 [24/Apr/2009 22:14:03] "GET /TiVoConnect?Command=QueryContainer&Container=Our%20Video%20Library%2FTelevision%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.2.3 [24/Apr/2009 22:14:05] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
INFO:pyTivo:192.168.2.3 [24/Apr/2009 22:14:06] "GET /TiVoConnect?Command=QueryContainer&Container=Our%20Video%20Library%2FTelevision%20Shows%2FLost&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.2.3 [24/Apr/2009 22:14:08] "GET /TiVoConnect?Command=QueryFormats&SourceFormat=video%2Fx-tivo-mpeg HTTP/1.1" 200 -
DEBUG:root:starting ffmpeg, will wait 10 seconds for it to complete
DEBUG:root:ffmpeg output=FFmpeg version SVN-r18664, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --shlibdir=@executable_path --arch=ppc --cpu=G4 --enable-shared --disable-static --enable-pthreads --disable-mmx --enable-gpl --enable-libmp3lame --enable-libfaac --enable-libfaad --enable-libx264 --extra-cflags='-DHAVE_LLRINT -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.27. 0 / 52.27. 0
libavformat 52.32. 0 / 52.32. 0
libavdevice 52. 2. 0 / 52. 2. 0
libswscale 0. 7. 1 / 0. 7. 1
built on Apr 22 2009 23:15:53, gcc: 4.0.1 (Apple Inc. build 5484)
Seems stream 1 codec frame rate differs from container frame rate: 59.94 (60000/1001) -> 29.97 (60000/2002)
Input #0, mpeg, from '/Volumes/TiVoShows/Television Shows/Lost/Lost - Dead Is Dead.mpg':
Duration: 01:02:01.53, start: 0.833922, bitrate: 6015 kb/s
Stream #0.0[0x1c0]: Audio: mp2, 48000 Hz, stereo, s16, 192 kb/s
Stream #0.1[0x1e0]: Video: mpeg2video, yuv420p, 480x480 [PAR 4:3 DAR 4:3], 9000 kb/s, 29.97 tbr, 90k tbn, 59.94 tbc
At least one output file must be specified
DEBUG:pyTivo.video.transcode:aFreq=48000; vFps=29.97; container=mpeg; kbps=6015; mapAudio=[('0.0', '[0x1c0]')]; vHeight=480; vCodec=mpeg2video; Supported=True; millisecs=3721530; par=None; aKbps=192; par2=1.33333333333; par1=4:3; mapVideo=0.1; vWidth=480; dar1=4:3; aCodec=mp2
DEBUG:root:CACHE HIT! /Volumes/TiVoShows/Television Shows/Lost/Lost - Dead Is Dead.mpg
DEBUG:root:CACHE HIT! /Volumes/TiVoShows/Television Shows/Lost/Lost - Dead Is Dead.mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, /Volumes/TiVoShows/Television Shows/Lost/Lost - Dead Is Dead.mpg
DEBUG:root:CACHE HIT! /Volumes/TiVoShows/Television Shows/Lost/Lost - Dead Is Dead.mpg
DEBUG:root:CACHE HIT! /Volumes/TiVoShows/Television Shows/Lost/Lost - Dead Is Dead.mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, /Volumes/TiVoShows/Television Shows/Lost/Lost - Dead Is Dead.mpg
INFO:pyTivo:192.168.2.3 [24/Apr/2009 22:14:08] "GET /TiVoConnect?Command=QueryContainer&Container=Our%20Video%20Library%2FTelevision%20Shows%2FLost&SortOrder=!CaptureDate&ItemCount=1&AnchorItem=%2FOur%2520Video%2520Library%2FTelevision%2520Sho ws%2FLost%2FLost%2520-%2520Dead%2520Is%2520Dead.mpg&AnchorOffset=-1&Filter=x-tivo-container%2Ftivo-videos,x-tivo-container%2Ffolder,video%2Fx-tivo-mpeg,video%2F* HTTP/1.1" 200 -
DEBUG:root:CACHE HIT! /Volumes/TiVoShows/Television Shows/Lost/Lost - Dead Is Dead.mpg
DEBUG:root:CACHE HIT! /Volumes/TiVoShows/Television Shows/Lost/Lost - Dead Is Dead.mpg
DEBUG:root:CACHE HIT! /Volumes/TiVoShows/Television Shows/Lost/Lost - Dead Is Dead.mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, /Volumes/TiVoShows/Television Shows/Lost/Lost - Dead Is Dead.mpg
DEBUG:root:CACHE HIT! /Volumes/TiVoShows/Television Shows/Lost/Lost - Dead Is Dead.mpg
DEBUG:root:CACHE HIT! /Volumes/TiVoShows/Television Shows/Lost/Lost - Dead Is Dead.mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, /Volumes/TiVoShows/Television Shows/Lost/Lost - Dead Is Dead.mpg
INFO:pyTivo:192.168.2.3 [24/Apr/2009 22:14:09] "GET /TiVoConnect?Command=TVBusQuery&Container=Our%20Video%20Library&File=%2FTelevision%20Shows%2FLost%2FLost%20-%20Dead%20Is%20Dead.mpg HTTP/1.1" 200 -
INFO:pyTivo:192.168.2.3 [24/Apr/2009 22:14:31] "GET /Our%20Video%20Library/Television%20Shows/Lost/Lost%20-%20Dead%20Is%20Dead.mpg HTTP/1.1" 200 -
DEBUG:root:CACHE HIT! /Volumes/TiVoShows/Television Shows/Lost/Lost - Dead Is Dead.mpg
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, /Volumes/TiVoShows/Television Shows/Lost/Lost - Dead Is Dead.mpg
DEBUG:pyTivo.video.transcode:/Volumes/TiVoShows/Television Shows/Lost/Lost - Dead Is Dead.mpg is tivo compatible
I am constantly amazed by you guys....
I am constantly amazed by you guys....
DEBUG:pyTivo.video.transcode:TRANSCODE=NO, all compatible, /Volumes/TiVoShows/Television Shows/Lost/Lost - Dead Is Dead.mpg
So at least for this video, it looks like it's now doing the right thing... :)
Cool, and you can thank wmcbrine for fixing it this quickly...
-- yoav
wmcbrine
04-25-2009, 05:47 AM
I suppose at worst if 'the kludge' doesn't work, we'll hear about it... :)Oh, I knew it worked. My concern was (and is) that it might work "too well", passing through something it shouldn't.
I'll keep an eye out for anything funny and report back. Thanks again guys for the amazing support.
Tad
farble1670
04-26-2009, 11:06 AM
pyTivoX is an Apple Mac OSX application that lets you view movies that are stored on your computer via your Tivo.
thanks for the awesome software.
catbastet
04-26-2009, 01:44 PM
Since at least 1.2b12 lots of videos on my pytivo server do not show up in the list anymore. The last time I checked it, and transferred stuff was probably late last week so I don't know for sure with which release it started.
The videos that do and do not show up seem random to me (but I'm sure its not). If I go look at the same lists with Streambaby or the 1.1 version of pytivox, they all show up.
For example it lists:
folder (15)
but when I go into that folder nothing is there. Sometimes there will be a few of them, maybe 2 or 3 of the 15 that should be.
Since at least 1.2b12 lots of videos on my pytivo server do not show up in the list anymore. The last time I checked it, and transferred stuff was probably late last week so I don't know for sure with which release it started.
The videos that do and do not show up seem random to me (but I'm sure its not). If I go look at the same lists with Streambaby or the 1.1 version of pytivox, they all show up.
For example it lists:
folder (15)
but when I go into that folder nothing is there. Sometimes there will be a few of them, maybe 2 or 3 of the 15 that should be.
Is it always the same videos that are not listed, or is it a different set each time?
Have you tried hitting 'apply' and does that fix anything up?
Can I get you to try getting the list again from pyTivo, and then attach the contents of
<user>/Library/Logs/pyTivoX/pytivo.log
So we can see if anything interesting is going on?
Thanks again.
catbastet
04-26-2009, 02:22 PM
Yes its always the same videos that are and are not displayed. Hitting apply doesn't help and I even tried rebooting the computer (just in case).
There are 18 folders in the first level. In some of the folders all the videos show up fine, some of them a few of the videos show, and in some none of them show up.
The files are mostly all either .avi or .mkv (and it shows and doesn't show different combinations of these)
wmcbrine
04-26-2009, 03:35 PM
I don't see anything there. (As I post this, BTW, it says 0 views, but I did actually download it.) Maybe something would show up with debug on?
Show us a directory listing and indicate which ones don't appear.
catbastet
04-26-2009, 04:30 PM
I'm not sure how you might want me to show a directory listing, I don't know if a screenshot would really work. Here is a new logfile though with debug turned on (I hope).
Also I checked with an older copy I had and it definitely still worked the way it is supposed to work with 1.2beta10. I don't have beta11 anywhere so I'm not sure about that one.
I'm not sure how you might want me to show a directory listing, I don't know if a screenshot would really work. Here is a new logfile though with debug turned on (I hope).
Also I checked with an older copy I had and it definitely still worked the way it is supposed to work with 1.2beta10. I don't have beta11 anywhere so I'm not sure about that one.
Nope that log doesn't seem to have debug turned on.
I built a version of pytivox that will turn on debug for you (you'll need to run it and hit 'apply'). Download it from http://yoav.org/files/pyTivoX-beta.dmg and drag the pyTivoX inside to your Applications folder (over the old pyTivox presumably). Make sure to hit the 'Apply' button, then go to your tivo, try and see the folders on the tivo, and then re-send us the logs...
To get a directory listing you can just copy here, open up Terminal.app, and run
ls -lR "Location" > ~/Desktop/full_list.txt
Location is where pyTivoX claims your movies are. (The first thing in Shared Directories). This will generate a complete recursive list of your movies into a file named "full_list.txt" on your desktop which you can then attach here..
For example, for my setup I would type
ls -lR "/Volumes/External Disk/movies" > ~/Desktop/full_list.txt
catbastet
04-26-2009, 06:30 PM
Alright, here is the new log and a directory listing. I also installed that special debug version, but the log looks the same to me.
in the 30rock folder, only videos 17, 18, and 19 show in the list on my TiVo.
in the greek folder (and the sub directory 720) none of the videos show up.
in the my boys folder everything is listed exactly as it should be
I also installed that special debug version, but the log looks the same to me.
Did you hit 'apply' after installing it? (that is required to activate the debug logging).
Did you get the log out of <user>/Library/Logs/pyTivoX/pytivo.log ?
Looking at the list, I notice that the 'greek' folder has extended information about it. You probably
need to open up the folder using the option-click , 'get info', and see what the permissions on that
folder are...
can you run
mdls /Volumes/dot/TV/active/test/greek
and show us the output. *something* in there is preventing pytivo from seeing those files.
wmcbrine
04-26-2009, 07:11 PM
The listing shows ampersands, single quotes, commas and umlauts -- one or more of these could be a problem. I'll see if I can duplicate your issue.
catbastet
04-26-2009, 07:45 PM
The listing shows ampersands, single quotes, commas and umlauts -- one or more of these could be a problem. I'll see if I can duplicate your issue.
I was wondering about that, and I can certainly change it, but I did check and most of the folders, even all the ones that show up fine have files with those characters as well.
Also, it just started happening with this version, so it used to not be a problem. If it had been a problem from the start I probably would have just left those characters out, I don't really need them they just look nicer to me. I realize they can sometimes cause problems
Did you hit 'apply' after installing it? (that is required to activate the debug logging).
Did you get the log out of <user>/Library/Logs/pyTivoX/pytivo.log ?
yes and yes
Looking at the list, I notice that the 'greek' folder has extended information about it. You probably
need to open up the folder using the option-click , 'get info', and see what the permissions on that
folder are...
can you run
mdls /Volumes/dot/TV/active/test/greek
and show us the output. *something* in there is preventing pytivo from seeing those files.
kMDItemContentCreationDate = 2008-09-02 20:34:10 -0500
kMDItemContentModificationDate = 2009-03-31 13:54:35 -0500
kMDItemContentType = "public.folder"
kMDItemContentTypeTree = (
"public.folder",
"public.directory",
"public.item"
)
kMDItemDisplayName = "greek"
kMDItemFSContentChangeDate = 2009-03-31 13:54:35 -0500
kMDItemFSCreationDate = 2008-09-02 20:34:10 -0500
kMDItemFSCreatorCode = ""
kMDItemFSFinderFlags = 0
kMDItemFSHasCustomIcon = 0
kMDItemFSInvisible = 0
kMDItemFSIsExtensionHidden = 0
kMDItemFSIsStationery = 0
kMDItemFSLabel = 0
kMDItemFSName = "greek"
kMDItemFSNodeCount = 2
kMDItemFSOwnerGroupID = 20
kMDItemFSOwnerUserID = 501
kMDItemFSSize = (null)
kMDItemFSTypeCode = ""
kMDItemKind = "Folder"
kMDItemLastUsedDate = 2009-03-31 13:54:35 -0500
kMDItemUsedDates = (
2009-03-21 00:00:00 -0500,
2009-03-31 00:00:00 -0500
)
Hmm.
Looking at the metadata nothing jumps at me as to why it would deny pytivo the right to read those files.
However, I'm 99% sure that if debug is enabled, a bunch of "DEBUG:" lines would show up in the pytivo.log, and I'm not seeing any. Can you look at <user>/Library/Application Support/pytivo.conf and tell me if you see a line with "debug=True" in there?
fishtank22
04-26-2009, 08:05 PM
Hey gang.. LOVE PYTIVO!!!!!
Just wondering if it would be possible to allow pytivoX to be able to read smart folders that are set up on my system. So if I created a "recent videos" smart folder than only showed videos from the past month that were a movie type.
This would be helpful for viewing videos show with my Panasonic Lumix cam that are sitting in my iphoto library.
Just a thought.
Thanks
Fish
catbastet
04-26-2009, 08:15 PM
Hmm.
Looking at the metadata nothing jumps at me as to why it would deny pytivo the right to read those files.
However, I'm 99% sure that if debug is enabled, a bunch of "DEBUG:" lines would show up in the pytivo.log, and I'm not seeing any. Can you look at <user>/Library/Application Support/pytivo.conf and tell me if you see a line with "debug=True" in there?
Its very strange, I know. This is what the pytivo.conf that I got from
<user>/Library/Application Support/pytivox/pytivo.conf
says:
# Created by pyTivoX, edits here WILL BE OVERWRITTEN
[Admin]
type=admin
[Server]
debug=True
ffmpeg=/Applications/pyTivoX.app/Contents/Resources/ffmpeg.bin
beacon=10.0.1.255
[kori Movies]
type=video
path=/Volumes/dot/Movies
[kori TV]
type=video
path=/Volumes/dot/TV/active
[test]
type=video
path=/Volumes/dot/TV/active/test
Hey gang.. LOVE PYTIVO!!!!!
Just wondering if it would be possible to allow pytivoX to be able to read smart folders that are set up on my system. So if I created a "recent videos" smart folder than only showed videos from the past month that were a movie type.
This would be helpful for viewing videos show with my Panasonic Lumix cam that are sitting in my iphoto library.
Just a thought.
Thanks
Fish
That would be an extremely cool thing, but I don't think that's going to happen :(.
Basically, a smart folder isn't really a folder. It's a description of a 'spotlight search', which tools that use the MacOS API can use and it appears to be a folder to them. However, if you look 'inside' this folder using standard unix calls, it just looks like a simple file with a lot of XML search options.
since streambaby and pytivo were both written using portable unix API calls, they can't look inside a smart folder.
There may be some hacks using folder actions that you can use to copy the newest files from a smart folder to a real folder, but I'm an expert in neither one ...
wmcbrine
04-26-2009, 08:27 PM
Also, it just started happening with this version, so it used to not be a problem.There have been some recent changes (http://repo.or.cz/w/pyTivo/wmcbrine.git?a=commitdiff;h=eedaf20c8942dc664ef90f29332fd6be b1f95f93) that may be relevant.
Its very strange, I know. This is what the pytivo.conf that I got from
...
Ok, I'm stumped, the config file is correct...
On the upside, wmcbrine has a hint about what may be going on (related to some code that was checked in recently). Hopefully he will chime in soon with a fix and all will be good...
It's remotely possible that there's some old pytivo still running which is why the config file is never being re-read. Fully quitting pyTivoX and starting it again is supposed to kill it... but *hmm*.
For now lets wait for wmcbrine to chime in. Maybe no 'debug-level' log-lines were being written out and everything is as it should-be. I'll build a new pyTivoX when he does and hopefully it will fix the problem.
catbastet
04-26-2009, 08:45 PM
Ok, I'm stumped, the config file is correct...
On the upside, wmcbrine has a hint about what may be going on (related to some code that was checked in recently). Hopefully he will chime in soon with a fix and all will be good...
It's remotely possible that there's some old pytivo still running which is why the config file is never being re-read. Fully quitting pyTivoX and starting it again is supposed to kill it... but *hmm*.
That was the main reason why I tried restarting the computer, but even that probably isn't a 100% foolproof way of making sure an old copy of something isn't running.
There have been some recent changes (http://repo.or.cz/w/pyTivo/wmcbrine.git?a=commitdiff;h=eedaf20c8942dc664ef90f29332fd6be b1f95f93) that may be relevant.
Just to test it then, I removed all of the ampersands, single quotes, commas and umlauts from the file names, still the same results.
fishtank22
04-26-2009, 08:47 PM
That would be an extremely cool thing, but I don't think that's going to happen :(.
Basically, a smart folder isn't really a folder. It's a description of a 'spotlight search', which tools that use the MacOS API can use and it appears to be a folder to them. However, if you look 'inside' this folder using standard unix calls, it just looks like a simple file with a lot of XML search options.
since streambaby and pytivo were both written using portable unix API calls, they can't look inside a smart folder.
There may be some hacks using folder actions that you can use to copy the newest files from a smart folder to a real folder, but I'm an expert in neither one ...
I see... That's a bummer. Maybe a folder action that runs a unix script that creates a symbolic link in a different folder. But thats a bit beyond me.... I may do some research on that.
Thx for the reply
vBulletin® v3.6.8, Copyright ©2000-2012, Jelsoft Enterprises Ltd.