New to pyTivo and StreamBaby

Discussion in 'TiVo Home Media Features & TiVoToGo' started by freality, Aug 13, 2011.

  1. freality

    freality New Member

    9
    0
    Apr 16, 2006
    Hello, TivoCommunity!

    I set my parents up with both a TivoHD and Series3 a few years back, and I would like to surprise them with a media server that will hold their collection of movies (both standard-def and high-def). I've been reading up on both pyTiVo and StreamBaby, but am confused about a few things. Any help would be really appreciated.

    Here's what I ultimately want to do:

    -Stream and/or push movies to the TivoHD and Series3 (not as interested in pulling shows off the TiVo to save on the PC)

    -Movie formats I want to use:
    --standard-def = DivX (~1.5GB, with AC3)
    --high-def = 720p mkv (~4.5GB, with AC3)

    Questions:

    1. System Requirements: I can't really find what is required for real-time encoding of the 720p mkvs for either pyTivo or StreamBaby. I've put together a budget system at Newegg...will this be good enough? Is Windows 7 ok to use?
    -Athlon II X2 3GHz (dual-core)
    -MicroATX mobo w/ Nvidia Geforce 7025 IGP
    -4GB DDR3 RAM
    -RAID5 w/ 3x 1.5TB 7200rpm drives (system will double as a file server)
    -Windows 7 (is this OS ok to use?)

    2. Streaming vs. Push: If my standard-def DivX movies are ~1.5GB and my high-def 720p mkv movies are ~4.5GB, will I want to push instead of stream to avoid buffer interruptions (due to TiVo's 1.1GB stream buffer limit)? Are both StreamBaby and pyTivo capable of this?

    3. pyTivo vs. StreamBaby vs. Both: Can I run both pyTivo and StreamBaby at the same time (just to have the choice)?

    4. 720p mkv actual resolution: Do I need to make sure all of my 720p mkvs are actually 1280x720 (including 2.35:1 movies, with the black bars included in the encode) in order for TiVo to display them correctly, either for streaming or pushing?

    5. Network: The Series3 is 100Mbps wired, the TivoHD is Wireless G (can do Wireless N if need be). Waiting a few minutes to push, if need be, is fine. Are these speeds good enough? Would a Wireless N adapter for the TivoHD be necessary?

    Thanks very much for your time!
     
  2. lrhorer

    lrhorer Active Member

    6,933
    10
    Aug 31, 2003
    San...
    I heartily suggest vidmgr and HME for Python. I think your parents will really appreciate the superior interface. Vidmgr offers HD, cover art, easier to read and more extensive show descriptions, more comprehensive and faster extended information, faster and easier navigation, and up to 14 video titles on the screen at a time, as opposed to 8. You can also customize the backgrounds for all the menus to something they like better than the TiVo NPL.

    I think you need to clarify a bit (both for yourself and for us) exactly how you envision this working. Do you intend to convert the programs beforehand, or on the fly? Do you want them to pull, stream, or push? All three, perhaps?

    I'm not sure you really need a media server. Are you going to serve these files to anything other than TiVos?

    That's going to really require some horsepower. Even a 6 or 8 core system is going to have trouble recoding 720p in real time. I think you need to consider recoding beforehand. I'm doing that with a very large number of my videos using VideoRedo version 4, although I am recoding from .mpeg to h.264 in an MPEG4 container. Some of the videos are taking over 12 hours on a 3.2GHz AMD Athlon 64 x 2 for a 2 hour video.

    A really important benefit of this is the HD videos will transfer at far better than real time. For SD video, I would consider .mpg, rather than DivX. If not, then convert them all into .mp4.

    Never. I recommend Linux, especially if you are going to attempt to administer this system remotely, which I suspect you might. In addition, unless at least one of your parents is computer savvy, you aren't going to want this system to misbehave or lock up at all.

    That's more than plenty to serve videos that are only transcoded or not even transcoded at all. That means .mpg files for pulling and .mpg or .mp4 files for pushing using pyTiVo. It's not even close for real-time recoding.

    That isn't much. The number and size of videos can grow beyond 3T in a big hurry. I would use at least 2T array members, and I definitely recommend a hot spare. Don't forget some sort of backup strategy, as well. If you grow beyond 6 drives in the array, I also recommend going to RAID6 or RAID10. 7200RPM drives are not necessary.

    'Not if you ask me. I recommend Debian "Squeeze" Linux. Ubuntu server is good for this as well. Ubuntu is stable enough for this application. Debian is mountain solid. You can set up OpenVPN for a secure remote link to the server, and ssh for management. If you really must, you could even set up one of the flavors of VNC or even Xming to work with a GUI environment, rather than CLI. If your broadband connection is good, this could be practical. Dial-up is fine for SSH.

    No. PyTivo transfers (either pull or push). Streambaby streams. Personally, I think your parents would like vidmgr, which employs pyTivo as its push engine.

    Yes. You can probably even stream one program with Streambaby while pulling or pushing one with pyTiVo all to a single TiVo. I don't recommend it. Using one and then the other or one to one Tivo and the other to a second TiVo is no problem, as long as you aren't recoding.

    That, I can't say. I've never tried to transfer anything other than that.

    I don't recommend wireless in any case, but you may be able to get away with Wireless-G, especially for SD and .mpg4 HD. Going with Wireless N instead of Wireless-G can't hurt.
     
  3. ThAbtO

    ThAbtO TiVoholic by the bay TCF Club

    11,706
    926
    Apr 6, 2000
    SF Bay Area
    Push vs. Pull:

    Pull: The Tivo will encode a mp4, .mkv video file and inflate its filesize.
    Push: The filesize stay approximately the same and it seems its the same quality as the original.
     
  4. lrhorer

    lrhorer Active Member

    6,933
    10
    Aug 31, 2003
    San...
    Yep. The .mp4 push will also proceed at nearly 3X real-time for HD content. The push and the pull will be the same speed for .mpg, and 720p or very high bandwidth 1080i material may not quite transfer at real-time on an S3. Definitely not on a THD. Both should do better than real-time on a Premier.

    He mentions .mkv files, though. If his files start out as .mkv, then he may have to do some searching and fiddling to find a good conversion routine to go to .mpg or .mp4. Unless I am mistaken, the TiVo can't handle .mkv files (I've never tried).
     
  5. reneg

    reneg Well-Known Member

    1,119
    221
    Jun 19, 2002
    I don't know how tech savvy your parents are, but if it were me, I'd start simple and only use pyTivo. I think pyTivo is the simplest to use for non-technical folks because the share(s) show up on the Now Playing List. I'd also, run a wired connection to the other Tivo. If you want more capability for push, I also recommend vidmgr with HME for Python.

    Windows 7 will handle pyTivo just fine and is rock solid in my experience. I'd recommend that you stick to an OS that you are comfortable with because you will wind up being technical support. If you are comfortable with Windows 7, I suggest you take a look at Windows Home Server. While the 2011 version lost the drive extender technology, it still has a couple features that may be valuable; remote access (for you for tech support) & client backup.
     
  6. lrhorer

    lrhorer Active Member

    6,933
    10
    Aug 31, 2003
    San...
    True, but the transfers will be much, much slower, especially for 720p. People tend to be impatient, and I suspect his parents will find the pauses and delays to be much more annoying and problematical than merely having to go to the showcases menu before going to the NPL, as opposed to going directly to the NPL. I also don't know of anyone who has not been impressed by the vidmgr list as opposed to the TiVo NPL.

    Agreed, on both counts, but I don't think he will really want to set everything up and then go back and recode all the videos again.

    It is as rock solid as hot butter in my experience. One of the technicians who works for me, a pretty savvy guy, was given a Win7 laptop when his XP laptop failed about four weeks ago. Since then he has had to open 27 tickets, only 1 of which was a hardware problem. (A bad USB / Serial converter.) My sister-in-law recently bought a new PC with Win7 on it. She's had nothing but trouble with it. It's gotten so she doesn't even use it, instead opting to user her old XP and Win2000 computers, despite the fact they have smaller screens and are much, much slower.

    More importantly, using Windows for *ANY* server is a poor idea, especially a version designed for a workstation. If anything, I would say go with Windows Home Server, but even that is not the greatest idea. Any server running a GUI is not a best practice. This is triply the case if the server is to be administered remotely.

    I consider that a foolish outlook. Going with a new system has benefits to the user far beyond any that may accrue for the job at hand. Intimate knowledge of more than one computer system not only looks good on a resume, it also brings greater value in extended skills to the employee which can aid him at his job. In short, learning the additional system is the best idea even if it weren't the better solution for his project at hand. The fact he might spend easily $1000 - $2000 less for a superior solution doesn't hurt, either.

    Having been forced to support Windows systems remotely for the last 20+ years, and at the same time enjoying supporting *nix systems during that same time frame, my best advice is, "Don't do it!" when it comes to remotely administering a Windows system.

    If the OP is truly incapable of configuring and administering a Linux server - which is vastly easier than configuring and administering a Windows workstation - then I'm not sure he should be really considering this project. OTOH, it sounds to me like the OP is up to it. He doesn't sound like a duffer.
     
  7. reneg

    reneg Well-Known Member

    1,119
    221
    Jun 19, 2002
    I'll pass on the OS bashing/debate.
     
  8. ThAbtO

    ThAbtO TiVoholic by the bay TCF Club

    11,706
    926
    Apr 6, 2000
    SF Bay Area
    I have done .mkv push straight to my THD without any conversion.
     
  9. jcthorne

    jcthorne Well-Known Member

    3,116
    196
    Jan 28, 2002
    Houston
    Hmmmm, No, you have not. It may look that way to you, but pyTivo converted the file either to .mp4 (very recent transcode capablilty) or to mpg2 before the transfer.

    Either way, tivo cannot play .mkv files and its only a subset of mkv that can transcode on the fly. Tivo accepts mpeg2 or mp4 containers only. mp4 can contain h264 and ac3 audio if properly formatted.

    For the OP, since this is a system to be used by your parents, simple is better for thier end. pytivo with vidmgr and all the video stored as correctly encoded mp4 files will result in a very smooth operating system with nearly zero hickups on the user end.

    One other aspect of this proposal you need to consider is power consumption. Your proposed desktop PC based 'server' is a power hungry waste and will likely consume more $$ in power than its initial cost in the first couple years. Dedicated, low power file servers are much more efficient and reliable. I am partial to the Synology line but there are other well supported ones as well. If you want to handle only video and photos, pytivo, vidmgr etc can all run on the linux based server. I had trouble with music but if that is not in your game plan on the tivo, you are good to go with a known well working solution.
     
  10. freality

    freality New Member

    9
    0
    Apr 16, 2006
    I was under the impression that either pyTivo or StreamBaby would do on-the-fly transcoding of either DivX or 720p mkvs so that I wouldn't have to worry about encoding to mp4. Is that not the case?

    Also, this system I'm planning on setting up would double as a PC to be used for normal web surfing, etc. My parents are not tech savvy at all, which is why I wanted to go with Windows 7 (since that's what they're already used to).

    I suppose I could run an Ubuntu virtual machine on the box, but would rather just use the Windows installers/services, if possible.

    Any sort of PC management would have to be me remoting in via RDP or Teamviewer or something. Basically, I want my parents to just be able to select movies strictly from the TivoHD and Series3.

    EDIT: In an effort to start using the correct terminology, I want my parents to be able to PULL standard-def DivX and high-def 720p mkv content from the TiVo interface.

    EDIT2: Okay, now I see that the aforementioned vidmgr app will allow a PUSH request, but still using the TiVo.
     
  11. lrhorer

    lrhorer Active Member

    6,933
    10
    Aug 31, 2003
    San...
    Absolutely, although it may (or may not) be less trouble for him initially to leave the SD content as .mpg, presuming it is .mpg in the first place. If not, then I definitely agree h.264 with ac3 audio in an MPEG4 container is the way to go, even for SD. It is definitely the way to go for HD video. VideoRedo TVSuite version 4 supports this profile right out of the box, although I don't think it can read .mkv files.

    Unless he persists in wanting to recode on the fly, and provided he does not require an extremely expandable solution (more than 5 drive spindles) you are absolutely correct.

    Did you try Galleon? It's my preferred server for music.
     
  12. lrhorer

    lrhorer Active Member

    6,933
    10
    Aug 31, 2003
    San...
    OK, then think about this: If none of us had ever tried a new system, we would still all be using Commodore 64s or DOS 1. Not wanting to learn a new system is the poorest possible excuse for choosing an inferior platform for a solution. One should always WANT to learn new things, and if a new solution requires something different, then getting to learn a new system is one of the best reasons to choose a new platform. Choosing a path that will ultimately provide more headaches just because it is more familiar is a fool's errand.

    All that is aside from the fact working with a new system is a lot more fun than dealing with the same, tired old problems again and again.
     
  13. lrhorer

    lrhorer Active Member

    6,933
    10
    Aug 31, 2003
    San...
    It's been a long while since I looked at Streambaby, so I'm not sure. PyTivo certainly does, but performance suffers if the system has to transcode or worse fully recode. Ffmpeg, the codec underlying pyTivo is certainly capable of it (as long as the build you are using has both the necessary coder and decoder compiled in), but it will inevitably slow down the transfer. The slow down will likely be fairly minor if only a small transcode is required. It will be massive if a full recode is required. On the other side of the coin, a truly puny processor by modern standards is all that is required for a simple transfer or perhaps a minor transcode. A super-racehorse of a processor is required if one wants to recode in a reasonable amount of time.

    I do not recommend this, at all. It's asking for trouble, especially under Windows. Any workstation running Windows is almost invariably going to wind up with a corrupt registry. The registry was a HORRIBLE idea at the outset, and the way it has been used in practice by developers is hideous. Even more basically, the workstation is going to be prone to problems as simple as the user shutting down the system. Best practice is for any server to be headless: no mouse, keyboard, or monitor attached for routine operations. It should sit in the corner untouched by users. AS far as your parents are concerned, it should be a black box.

    Note this advice I am giving you is based upon many years of supporting remote applications, including TiVos and their 3rd party apps as a professional engineer. You are not required to take it, but it is I believe the avenue that will result in the least aggravation and best performance as the years pass for you and your parents. It may require more learning and more puzzlement for you at the outset. It's hard to say what the experience will be for your parents, because to some extent that may depend on how fast you become proficient at administering the system.

    One additional note: if you do decide to go the Windows route, then you had better be really, really good at hand editing the registry. Regedit is the Windows app I use more than any other when administering the Windows workstations.

    Definitely not the best idea. Running, and more importantly administering a service under Linux is easy and robust. Nothing particularly special is required for an app to run as a service. Under Windows it can be a major pain, unless the app has a good service wrapper. Under Windows Server, it can be somewhat easier *IF* the application is written to be a service. Just look at all the threads on this website saying, "I am having trouble with xxx running under WHS". Given this is a TiVo website, it's not surprising that "xxx" is usually TiVoDeskTop, but the issue applies more generally.

    I suggest SSH. It is by far the easiest, fastest, and most robust method of administration, and it will work with miniscule bandwidth. If you insist on GUI management, then I suggest TightVNC and OpenVPN. Both have Windows clients and servers. An additional advantage of Linux here is if you run OpenVPN, the Linux machine can also serve as a VPN server for all the devices on your parent's LAN, including the TiVos, and whatever workstations they have. using TightVNC, you can log in over the top of their session and watch what they are doing as you assist them with whatever problem they are having. This is halfway to being impossible on an XP server, and I suspect it is even worse on a Windows 7 server. It may be easier on a Windows Home Server machine. I'm not familiar enough with it to know.

    It can be done, but definitely requires a transcode or recode. I think the latter in both cases, but I am not certain.

    Correct. The HME interface allows more interaction between the server and the TiVo, providing the ability for the server to paint screens on the TiVo and run various applications on the server in response to button presses on the remote control. The HMO interface is much more limited, only allowing the server to provide a folder structure on the NPL and to transfer a video upon request from the TiVo.

    In the case of vidmgr, this means the app can provide a replacement for the NPL. The major limitation (and it's really not that bad) is that HME does not allow for starting to play the video after the transfer is initiated. Instead, the user must exit vidmgr (left arrow a few times, or hit the <TiVO> button), go to the NPL, and select the video to play. There also may be a delay of quite a few seconds (but less than a minute) before the video shows up in the NPL. There is actually a similar delay for selecting a pull, but the "Please wait" screen tends to yield an impression that less time is passing.
     
  14. reneg

    reneg Well-Known Member

    1,119
    221
    Jun 19, 2002
    Keep it simple for both you and your parents. Windows 7 is the best choice for what you've described.
     
  15. jcthorne

    jcthorne Well-Known Member

    3,116
    196
    Jan 28, 2002
    Houston
    Just FYI, my Synology 1511 NAS is expandable to 15 spindles (approx 42TB RAID with current approved drives and available OS).

    When I fubared the NAS trying to get java running for Harmonium, I stopped development on the server and moved everything back to a low power old laptop. It has a side benefit in that the Synology NAS goes to sleep much of the day where when downloading and running the server apps, it kept the array spinning 24/7. The combo of the old laptop (a dell 610) and the NAS uses less power overall and is easier for me to maintain.
     

Share This Page