1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Using Your TiVo DVR as a Video Jukebox

Discussion in 'TiVo Home Media Features & TiVoToGo' started by flatcurve, Nov 14, 2008.

  1. flatcurve

    flatcurve New Member

    1,153
    0
    Sep 27, 2007
    Chicago
    Using Your TiVo DVR as a Video Jukebox


    I've been backing up my DVDs and merging them with other digital video I already have on my computer into one archive that can be accessed via my home network and played back on my TV. I considered purchasing a stand-alone device to fill this need, but after going through the process with the TiVo, I decided that it fit the bill perfectly. While the TiVoToComeBack feature has been around for a while, not that much information exists on the process of how to integrate it with your current media collection. The purpose of this article is to serve as a step-by-step how-to guide for putting files on your DVR, making sure they're fully compatible and easily accessible. I've culled information from several sources, and documented my own procedures. If you've got something to add to the process or even have some better methods of your own, by all means feel free to add to this thread. This is intended to be a growing work in progress.

    To send videos to your DVR using the methods in this guide, you will need a networked PC running at least Windows XP, a copy of either TiVo Desktop Plus or pyTiVo, and a series 2 or series 3 stand-alone TiVo DVR that is connected to your home network (either directly or with a USB Wirless G adapter.) I will briefly go over the basics of digital video on computers and how to set up either a TiVo Desktop or pytivo server. From there, you should be able to get your feet wet with video files you may already have on your computer before jumping headfirst into the final installment on how to TTG with TTCB.


    Contents:

    1 - Introduction to Digital Video

    2 - Server Software
    2.1 - TiVo Desktop

    2.2 - pyTiVo​

    3 - Using TiVoToGo with TiVoToComeBack (will be added soon)
    3.1 - TiVo Desktop

    3.2 - pyTiVo​

    Appendices
    Appendix A - Backing up DVDs to use with your TiVo
    Appendix B - Transcoding to MPEG4​
     
  2. flatcurve

    flatcurve New Member

    1,153
    0
    Sep 27, 2007
    Chicago

    Introduction to Digital Video


    For those of you just using the free version of TiVo Desktop, you are limited to only downloading files from your TiVo to your PC, but if you pony up $24.95 for the upgrade to TiVo Desktop Plus, you'll have the ability to send any files with the following formats back for storage on the TiVo:
    • Windows Media Video (.wmv)
    • QuickTime Movie (.mov)
    • MPEG-4/H.264 (.mp4, .m4v, .mp4v)
    • MPEG-2 (.mpg, .mpeg, .mpe, .mp2, .mp2v, .mpv2)
    • DivX and Xvid (.avi, .divx)
    Before we delve into creating these files and unleashing them on our TiVos, let's talk about the digital video formats. The first thing you need to know is that there are a lot of them. The second thing you need to know is that the differences between most of these are minor, and have more to do with the container format and not the codec. What's a container and a codec, you ask?

    In the simplest terms possible, a container is literally the whole file itself. It holds the codec information along with the video and audio data streams. Different containers interleave this information in different ways, and also add support for other features. A codec is an acronym for Compressor/Decompressor. It is the software component that both encodes and decodes the data stream using special compression algorithms. In the list above, the names on the left are the codecs, and the names on the right in the parentheses are the containers. You will notice that a lot of containers use the same codecs. The difference lies in how they interleave the video and audio data, and how they utilize the codecs themselves.

    The TiVo DVR uses standard MPEG-2 compression schemes for all of it's video*. This includes the video that we send to it. Even though TiVo Desktop supports a wide variety of formats, what it does is transcode them all into MPEG-2 with Quicktime before sending it to the DVR. pyTivo can support even more formats than TiVo Desktop, because it uses ffmpeg to transcode the files. It is significantly harder to use, however. But what this means is that just about any video file you have on your computer can probably be sent to your DVR, as long as there are no problems with the file itself.

    *I know, the Series 3 and TiVo HD can support MPEG4, but for our purposes the video it records and plays back are all MPEG-2
     
  3. flatcurve

    flatcurve New Member

    1,153
    0
    Sep 27, 2007
    Chicago
    Our second installment in this series discusses how to set up a server to push video files to your DVR. There are two different servers available: TiVo Desktop Plus and pyTivo. The difference between the two is that the former is user friendly and easy to operate, where as the latter is oriented towards power users. The trade-off is that it is free, open source, and highly customizable. I will break down the installation and operation of both, and let you decide for yourself.

    TiVo Desktop Plus

    TiVo Desktop Plus is certainly easy to use and set up, and by paying $25 you not only get the ability to send stuff to the TiVo, but you can also convert the stuff you pull off of it to play back on iPods or PSPs. It's a great program and offers a lot of connectivity and flexibility to the already outstanding TiVo DVR feature set. But for some reason, it's not that easy to find on their website. So to download a copy of Tivo Desktop for yourself, go to this link. You will also need the latest version of Apple QuickTime loaded onto your PC. If you don't have it, you will be prompted to get it during the installation process (or you can install it beforehand.) The following information documents the procedures for installation, setup and transferring files to the TiVo DVR. For more information about the other features in TiVo Desktop Plus, check out this great FAQ.

    1. Run the installer. You will be given three initial installation options. I opted to not publish the "My Music" and "My Pictures" folders now, because that's not where I keep those items. If you do, then by selecting this option you will be able to browse your photos and listen to your music from the DVR. Bear in mind, you can always set this up later. As for the other two options, adding a shortcut is up to you, but be sure to start TiVo Desktop after the installation, because we'll have some settings to adjust.

    [​IMG]

    2. TiVo Desktop needs permission from your computer to use certain ports to communicate with the DVR on your network. If you have Windows Firewall running, you will get a warning that the installer is trying to change the settings to allow this communication. It's important that you click yes. Otherwise, the only way you'll be able to get the server to work is by disabling the firewall.

    [​IMG]

    3. After the server is installed, you will see the window below. If you don't already have Apple Quicktime installed, click on the blue link to go to the Apple website and download it. You will also be asked if you want to upgrade to TiVo Desktop Plus. Since this is a requirement to be able to send the videos to the DVR, you will want to "Upgrade Now" if you haven't purchased a key yet.

    [​IMG]

    4. When you have your "Plus key", select "TiVo Desktop Plus Upgrade" from the file menu and enter the activation key.

    5. You will need to set the Media Access Key for the TiVo you wish to use before you can send or receive videos. To find your Media Access Key push the TiVo button on your remote, select Messages & Settings, then Account and System Information, and then Media Access Key. Back on the computer, select "Set Media Access Key" from the file menu and enter the information there.

    6. Select "Share Music, Photos, & Videos" from the left side of the window, and click the video tab. Click the "Add Video" button. Find the folder that contains your video files, highlight it, and click "Add". You can add as many folders as you want, but keep in mind that ALL of the videos will be displayed on one list, unlike pyTiVo which displays recursive folders. You will be given a warning about needing to link your PC to your TiVo account to enable auto-transfer. What that means is basically any new file added to that folder will automatically get sent to the DVR. I opted not to do this, because I'd rather leave the drive space on the DVR free for recordings and transfer movies when I want to watch them.

    [​IMG]

    7. Select "Preferences" from the "File" menu. Click on the "File Locations" tab and change the location for "My TiVo Recordings" to either the same folder as your video files, or another folder that is published. This way, when you pull something off of the DVR, you have an easy way to get it back at a later date.

    [​IMG]

    Even though it runs great from a default installation, there are a few features about TiVo Desktop that you can, and might want to tune. For instance, if you open the TiVo Server properties from the "Server" menu, you can tweak the performance. Since I've only used the Server when I'm not using the computer, I have the cache and activity level set as high as they both will go. But if you're planning on using your computer and leaving the server running, it might be best to keep them at lower settings to avoid bogging down your computer's performance. Keep in mind that if you need to intensively use your computer, you can always pause the server from the "Server" menu, and it will stop hogging your CPU and network.

    [​IMG]
     
  4. flatcurve

    flatcurve New Member

    1,153
    0
    Sep 27, 2007
    Chicago
    pyTivo

    pyTivo has essentially the same functionality as Tivo Desktup Plus, except that it is open source and free. The trade off is that it is significantly more complicated to set up and use. However, I don't think that it is too complicated to be out of the reach of most people who are comfortable around computers. Additionally, that level of complexity does allow it to do some pretty cool things that can't be done with TiVo Desktop.

    Before installing pyTivo, you will want to install the latest version of Python (download Python here) These components are required, but not included with the pyTivo installer. After you've installed python, download a copy of pyTivo here.

    1. Run the pytivo installer. You will be asked which components you want to install. Leave "pyTivo Server" checked. Leave "Install as Service" checked if you would like the pyTivo server to always be running in the background. I chose not to do this, because I prefer to have an easy way to shut the server down and quit the application if I need to.

    [​IMG]

    Note: If you are using the Windows Firewall, be sure to enable port 9032. You may be warned by Windows the first time you run the server. Be sure to "UNBLOCK" the port if you get that warning.

    2. The installer will automatically make a generic configuration file for you. After installation, you will need to use your web browser to finish configuring the server. If you chose not to install pyTivo as a service, load the console application (if it isn't already running.) Go to the following URL: http://localhost:9032

    [​IMG]

    3. Select "pyTivo Web Configuration"

    Note: There is excellent built-in help that is displayed along the way on the right side of the page. If you've got any questions beyond what I've covered, you can usually find the answer here. For instance, if you'd like to know what a certain value does, click on the field next to it and the help section should display a brief explanation. Be warned, most of this stuff is for very advanced users. The instructions I give should be enough to get you going for the purposes outlined in this article, and you probably won't need to ever change any of these settings.

    4. You will need to add a share and a TiVo. A "share" is the location where you will keep the videos you want to send to the DVR. You can choose to have just one, or you can even have several (Action, Sci Fi, TV Shows, Kids Movies, etc...) Before you go on a share creating binge though, you should know that pyTivo can display subfolders on the TiVo, and therefore a separate share for each genre might not be necessary. To create a new share, click the "Add Section" button. Give your share a name and click "Save Changes". You will see a message displayed that says you will need to soft reset the server before the changes take affect. We will do that later. For now, just click the link to go back to the admin page.

    [​IMG]
    (click to enlarge)

    5. You will now see your new section listed in the box to the right. You need to highlight it, and click the "Edit Section" button. Change the type to "video" and edit the path to reflect the location of your videos. Click "Save Changes" when you're done.

    [​IMG]
    (click to enlarge)

    6. Now you've got to let the server know which TiVo it needs to serve the video to. Click the "Add Section" button again. This time, when naming the section, put "_tivo_" followed by the service number of the unit. For example: _tivo_648000000000000

    Click "Save Changes" when you're done.

    7. Now we can click the "Soft Reset pyTivo" button.

    Once the administration page comes back up, you should be good to go as long as both your TiVo DVR and PC are on the same network, and port 9032 isn't blocked. You can go back to your TiVo now and check in the Now Playing List. Each share will show up as it's own entry at the bottom of the Now Playing list.

    One of the great things about pyTivo also happens to be what makes it so complicated to use. You can quite literally tweak just about every setting imaginable. In default mode, the application works just fine and hasn't required any adjustments from me. But if you're interested in maybe further optimizing it, or learning more about what all of those settings do, I strongly recommend that you explore the pyTivo wiki for more information.

    Comparison of the two servers

    By now you're probably trying to decide whether it's worthwhile to spend $25 for the official (and user-friendly) TiVo software, or just use the free open-source server instead. There are several things to consider with each one. pyTivo allows you a great deal of control over the server properties and the video file handling. If you're knowledgeable about that stuff, it's probably the best bet. It also has, in my opinion, better on screen navigation with it's recursive sub folders than the TiVo Desktop Software. Best of all, it's absolutely free. There is something to be said for the TiVo software however. It is much easier to use, and it also converts video for portable devices pretty well. If those two things are important for you, then this would be the way to go. In my opinion though, the pyTivo server is a much better package overall and the price can't be beat.

    And now on with the show!

    Now it's time to sit down and actually watch something! The good news here is that this is where we step away from the computers and park ourselves back on the couch. It's all done from the TiVo at this point.

    Simply go to your Now Playing list, select a video that you want to watch, and the TiVo will start transferring it. Depending on the speed of your network, and the quality of the video, you might be able to start watching it as it transfers. In my experience with a Series3 (TCD648), as long as nothing else is transferring, most videos can be viewed right away. Be advised that these videos are being transfered to the internal drive on the DVR, so you will need to delete them when you're done.
     
  5. flatcurve

    flatcurve New Member

    1,153
    0
    Sep 27, 2007
    Chicago
    Section 3.1

    /* -- This section reserved for future use -- */
     
  6. flatcurve

    flatcurve New Member

    1,153
    0
    Sep 27, 2007
    Chicago
    Section 3.2

    /* -- This section reserved for future use -- */
     
  7. flatcurve

    flatcurve New Member

    1,153
    0
    Sep 27, 2007
    Chicago
    /* -- This section reserved for future use -- */
     
  8. flatcurve

    flatcurve New Member

    1,153
    0
    Sep 27, 2007
    Chicago
    /* -- This section reserved for future use -- */
     
  9. flatcurve

    flatcurve New Member

    1,153
    0
    Sep 27, 2007
    Chicago
    Appendix A: MPEG-2 from DVD

    The TiVo DVR supports the MPEG-2 Transport Stream and Program Stream container format, which multiplexes MPEG-2 video with audio. Knowing this, we can take a few different approaches at preparing our video data for the DVR. In the appendix sections, I will outline two different methods with two different applications. The first method involves simply taking a VOB file from a DVD, changing the suffix to .MPG, and sending it on it's way. It is the easiest and fastest method, and will result in the best picture and sound overall. But because MPEG-2 compression is not very efficient, it does result in very large files. The second method in the next appendix involves transcoding that VOB file into MPEG-4. The result is much smaller files, with very little compromise in the way of quality. The drawbacks here are that you can only get stereo sound, and the video quality, while great, is not as good as MPEG-2. Plus, all that transcoding is very processor intensive, and can take some time to do.

    Because TiVo Desktop and pyTivo can handle such a wide variety of container formats, it's assumed that the majority of the content that you'll need to mess around with before sending it to the TiVo will be coming from DVDs. If you do happen to have video files that are already in one of the compatible formats listed in the first part of this article, then you're already good to go. Otherwise, we're going to need to find a way to get that video off of the DVD.

    DVD ripping and it's legality is well beyond the scope of this article. Since there are perfectly legal scenarios in which you can rip and transcode a DVD that you own, this information does have merit. Be advised that we do not condone any illegal activities, and discourage anyone from using the following advice to break any laws.

    MPEG-2

    The method with which we will be extracting the video from a DVD uses a free program called DVD Decrypter. This is arguably the best tool for extracting video from DVD that is available. It is no longer under development, but that doesn't matter. DVD technology hasn't changed since they've stopped working on it, and it works great as it is. You will need to do a Google search for "DVD Decrypter" to find a current download link, as it doesn't tend to stay in the same place for very long. Some newer DVDs (particularly from Sony) might run into problems with DVD Decrypter. If having that content is still important to you, the only options available are commercial programs like Slyfox's AnyDVD.

    Step by step:

    1. Load a DVD into the drive, and open the program. Select the DVD drive from the "Source" menu. By default, it is D:

    2. Select "IFO" from the "Mode" menu.

    [​IMG]

    3. Select "Settings..." from the "Tools" menu.

    [​IMG]

    4. Click on the tab that says "IFO Mode". Change the "File Splitting" setting to none. This will produce a single large file, as opposed to a bunch of smaller files. This is important because it will allow you to watch the movie in one piece, uninterrupted. Click "OK" when you are done.

    [​IMG]

    5. On the main program screen, there will be two tabs on the right side, labeled "Input" and "Stream Processing". Click the "Input" tab if it is not already highlighted. You will see some things in that window labeled VTS (Video Tile Set), and PGC (Program Chain). Don't worry about what those mean, it's not that important. In the example below, there are two VTS sections, with a PGC in each one. That number in square brackets next to each PGC is the length of the movie or show. DVD Decrypter will by default select the longest PGC. If you're encoding a movie, this will typically be fine and you won't have to do anything. If the disc you're encoding from has two long PGCs, the longer one may be a directors cut or alternate version. You may have to play the version you want to record, and skip to the end to see how long it is to determine which one to select. If you're trying to encode a disc with TV shows, the PGCs will typically be in the 20 minute to 50 minute range. I recommend encoding TV shows separately, so that you don't have to watch them all at once. Uncheck everything that you don't want to rip.


    [​IMG]

    6. Click on the "Stream Processing" tab, and select "Enable Stream Processing". Then be sure to deselect everything except the video stream, and the audio stream(s) that you want included in the final file. It should be noted that I was unable to get AC3 to work at all in any of my attempts. DTS worked just fine, and even in surround. You may want to experiment to see if you have better luck before diving in and encoding your whole collection.


    [​IMG]

    7. Now is a good time to check and set the destination for the final file. Because the resulting file will be quite large (potentially up to 9GB) this destination should be the final resting place for the file so that you won't have to waste time moving or copying it.

    8. Click the DVD > Hard Drive icon in the lower left of the window to begin. The process will take about 10-20 minutes, or potentially even longer, depending on the speed of your DVD drive and computer.

    9. Once DVD Decrypter has finished processing the file, open up the destination folder. You will see that it has created three files for each VTS: an IFO, a VOB, and a text file. All we are concerned about is the VOB file. The others can be deleted. The next step is really simple: change the extension on the VOB file to MPG. Now you're all set! You can transfer this file to your TiVo DVR using either TiVo Desktop, or pyTivo as described in the previous section.

    [​IMG]

    [​IMG]

    Also, a good (but optional) step is to run the MPEG through a "QuickStream Fix" in VideoReDo Plus. This will usually fix any issues you might have with audio sync and skipping playback.
     
  10. flatcurve

    flatcurve New Member

    1,153
    0
    Sep 27, 2007
    Chicago
    Appendix B: Transcoding to MPEG-4

    If you're worried about each of these movies taking up to 9GB of space on your computer's hard drive, there are other steps you could take to squeeze more video on to it.

    This is really an additional step to those mentioned above done in order to reduce file size. You will still have to use DVD Decrypter to pull the VOB file from the DVD. It took a lot of trial and error on my part to find a method that gave me the best possible playback. Regardless of what I did, I couldn't find a solution that took the DVD Decrypter step out of the equation. There is an application, called Handbrake, that can read a VIDEO_TS folder directly and transcode it into another format. Unfortunately, every video I produced using Handbrake had jumpy and jittery video in it, regardless of what settings I was using. The funny thing is that I didn't have this problem using the Mac version of Handbrake. It could have been a problem specific to my PC, so trying it out for yourself is probably not a horrible idea. Be advised that the PC version of Handbrake will not read data directly from a DVD without some help. You will need to install a program like AnyDVD before using Handbrake to encode anything directly off a DVD. The Mac version however, does not have this limitation.

    Additionally what I found was that no matter what I did, I couldn't get surround sound to pass through to the TiVo when using anything but MPEG-2. This is because any and all videos in other formats sent using TiVo Desktop get transcoded into MPEG-2, and the surround sound audio is downsampled to stereo. I also discovered that while pyTivo would attempt to keep the surround sound intact, it wouldn't play back properly on the TiVo.

    So, after trying several various programs, I have come to the conclusion that WinFF is simply the easiest to use. It is basically a GUI front end for the very versatile and battle tested ffmpeg program. Follow the procedures above to create a single MPEG-2 file using DVD Decrypter. Download and install a free copy of WinFF from here.

    [​IMG]

    1. In the pull down menus next to "Convert To ...", change the settings to "MP4" and "H.264 in MP4(4:3)" (or if your source video is widescreen, change it to 16:9)

    2. Change the "Output Folder" to your desired destination by clicking the "..." button. If you are keeping all of your videos in one shared location that is being published by TiVo Desktop or pytivo, this would be the location to use. That way, when the video is done, you won't have to move it.

    3. Click the Add button, and locate the MPEG-2 file we made earlier. Or, if you've already got the window open, you can drag and drop it into the window and it will be added to the queue. One thing to note is that you can put multiple files in the queue. So if you spend several hours ripping a bunch of DVDs, you can queue them all up and transcode them overnight.

    4. Click the Convert button.

    5. That's it! All you need to do now is wait. The amount of time it will take depends on the length of the video you're converting, and the power of your PC. But be warned, even very fast PCs will take a considerable amount of time. This is a process best started right before you go to bed or leave for work, as it will tie up your computer during that time.

    You don't need to worry about any additional options on this program at all. The only thing you will need to be sure to select properly is the aspect ratio of either 4:3 or 16:9. If the movie says "Widescreen" on the case, or is letterboxed when you watch it, you probably want to use 16:9. Fullscreen (in standard definition) will always be 4:3. You will know if you've made the right choice if the video looks fine when you watch it after it's been converted. If it's stretched or compressed at all when played back, unfortunately that means you'll have to process it again.

    As far as using other formats in WinFF like WMV, AVI, XViD or DiVX, that is a matter of personal preference. It's my personal opinion that the H.264 MP4 movies have the best quality with the smallest file size. The quality will never be as good as the original MPEG-2 video (particularly after it's transcoded back to MPEG-2 when being transferred), but it will be sufficient for casual viewing. Again, if you're really serious about video quality and surround sound, it is best to just leave the file in MPEG-2 format because it will look and feel the same as the original DVD.
     
  11. flatcurve

    flatcurve New Member

    1,153
    0
    Sep 27, 2007
    Chicago
    /* -- This section reserved for future use. -- */
     
  12. gonzotek

    gonzotek tivo_xml developer

    2,402
    3
    Sep 24, 2004
    Outside...
    Great write-up! One suggestion: The version of the pyTivo installer shown in your images is dated 2008.05.02. This is considered to be a deprecated version of pyTivo by the currently active developers. The developer who produced that build has been inactive for some time now, and a lot of improved/new code has been placed in the other developers' forks. Beta installers with more current builds are available in the pyTivo discussion forum, specifically here:
    http://pytivo.krkeegan.com/updated-windows-installer-betas-t512.html
     
  13. flatcurve

    flatcurve New Member

    1,153
    0
    Sep 27, 2007
    Chicago
    excellent, thanks! I'll update that now... I guess I'll need to fix those images too.
     
  14. WebSight1

    WebSight1 New Member

    2
    0
    Dec 14, 2008
    I had not heard that the TIVO would be used in this manner. Is there any limit to what you can do with that cool little box?
     
  15. tivoupgrade

    tivoupgrade Sponsor

    2,494
    0
    Sep 27, 2000
    Chicago, IL...
    This comment was originally made by Enrique (it mysteriously vanished):

    I've pointed out your comment to Scott and we are looking into incorporating that into the document, as well. Thx for the tip!

    Lou
     
  16. Enrique

    Enrique Active Member

    5,066
    4
    May 15, 2006
    :D I accidentally deleted the post(When I was editing it), but I had to run and I didn't have time to repost it. Thanks for catching it, I can't wait for that part, I love MetaGenerator.
     
  17. playsccr

    playsccr New Member

    4
    0
    Feb 21, 2008
    how would you apply this method using AnyDvd instead of dvd decrypter??
     
  18. Southcross

    Southcross New Member

    238
    0
    Nov 28, 2008
    Use AnyDVD and DVDShrink (still available floating around on the interwebs), does the same thing just a little differently and a few less features
     
  19. Southcross

    Southcross New Member

    238
    0
    Nov 28, 2008
    I've been experimenting with settings and haven't quite decided what is working best...

    two options I question:
    "2-pass encoding"
    "deinterlace"

    both are designed to "improve" the quality, in a way. But is the final result appropriate for re-play on a TiVo?

    I'm starting to think "no" on the de-interlaceing, I got some weird "rapid movement" distortions... that could also be bitrate issue (1200-1500b/s seems low). Interlaced videos look rough on the computer.

    Also, is the quality increase that significant with 2-pass encoding? On a PC "viewed" file, it is, but again I question is it worth while on a TiVo.

    Thoughts?
     
  20. flatcurve

    flatcurve New Member

    1,153
    0
    Sep 27, 2007
    Chicago
    I've used DVD Shrink for this in the past, but have had better luck with newer titles using DVD Decrypter. It's a personal choice really.
     

Share This Page