This post will help you set up Streambaby so it works on your Mac running Lion. You’ll see how to share your Mac’s Movies folder so you can easily view your videos on your big screen TV. To access Streambaby on your TiVo you will need a Tivo Premiere, TiVo Series 3, or TiVo HD. The installation and configuration process takes roughly 10 minutes.
First… What is Streambaby? Basically, Streambaby is a free application that works with your current model TiVo to stream video from your computer to your TiVo DVR. It automatically shows up in your TiVo’s menus when Streambaby is running on your Mac.
In other words, having Streambaby is like hosting your own Netflix service, but with all of your own personal videos. 🙂
Note the purpose of Streambaby is to stream rather than transfer your videos. Streambaby does not transfer video from your computer to your TiVo. (If you want to transfer videos from your computer to your TiVo then you’re looking for a different program called pyTivo.)
One of the things that makes Streambaby great is that you can store many terabytes of video on your Mac. With Streambaby your terabytes of video don’t consume valuable disk space on your TiVo itself, yet you can easily view the video anytime on any TiVo in your home. The video can be in any format supported by Streambaby and its dependent library, FFmpeg.
This post assumes you have basic familiarity with the command line, etc. This is a pretty safe procedure, but the standard disclaimers apply about messing up your computer etc. 🙂
Unlike previous versions of Mac OS X, Lion does not come with Java installed by default. If you have not installed Java on your Mac, then follow the steps below to install Java.
1. In Finder, go to Applications > Utilities > Java Preferences to launch the Java Preferences application.
2. If Java is not installed you’ll see an alert panel with the following text:
"To open 'Java Preferences', you need to install a Java runtime. Would you like to install one now?"
If you don’t see the alert panel then Java is already installed and you can skip step 3.
3. Click the Install button on the alert panel and accept the license agreement. The Java runtime will be downloaded and installed.
Now that Java is installed let’s install Streambaby itself.
1. Download the latest zipped copy of Streambaby from the Streambaby download page:
2. Extract the zipped file you just downloaded and rename the folder to “streambaby” (lower case). Move the streambaby folder into your /Applications folder.
The ffmpeg library is used by Streambaby to transform your various video files into something that your TiVo can understand.
1. Download the latest 0.8.X release of ffmpeg from here.
The one I downloaded was called “ffmpeg_mac-0.8.10-x64.zip“.
2. Extract the zipped file and copy it into the /Applications/streambaby folder.
The next step is creating a configuration file that Streambaby will use each time it runs.
1. There is already a file called “streambaby.ini” in the /Applications/streambaby folder. This contains the default Streambaby configuration. Open it in a text editor, such as TextEdit.app.
2. Replace the entire contents of the file with the text below. Edit it to contain the path to your Movies folder and the shared folder name. In this example the movies are stored in /Users/justin/Movies and the corresponding name that will appear in the TiVo menus is Justin's Movies.
dir.1=/Users/justin/Movies dir.1.name=Justin's Movies com.unwiredappeal.tivo.vm.ffjava.FFmpegJavaVideoModule=false ffmpeg.path=/Applications/streambaby/ffmpeg
Don’t change the last two lines above. Save the configuration file and close it.
There are two ways to launch Streambaby, manually via the command line or automatically at login. For your first test I recommend running Streambaby from the command line. Once you’ve verified it’s working then switch to the automatic startup method.
Manually Launching Streambaby
The advantage of manually launching is that you’ll see the Streambaby app log in the terminal window.
1. You can manually start Streambaby by typing the following command in a Terminal window:
You should see several lines of text as Streambaby starts up, similar to this example:
[justin@arwen:~]$ /Applications/streambaby/streambaby Initializing StreamBaby v20111203-2132... 01/28/12 20:57:34 Listener: added factory 01/28/12 20:57:34 Main: streambaby ready & listening.
2. You can now test access to your streaming folder from your TiVo (see “Using Streambaby” below). After you’ve verified it works, you can stop Streambaby with Control-C.
Automatically Launching Streambaby At Login
You can have Mac OS X automatically launch Streambaby when you log into your Mac. Naturally, if you have auto-login turned on then Streambaby will start whenever you start your Mac. Streambaby will be automatically shut down when you log out.
1. Create a plain-text file in TextEdit with the following contents:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>streambaby</string> <key>WorkingDirectory</key> <string>/Applications/streambaby/</string> <key>ProgramArguments</key> <array> <string>/Applications/streambaby/streambaby</string> </array> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/> </dict> </plist>
2. Save your file as “streambaby.plist” in your personal LaunchAgents folder, for example within /Users/justin/Library/LaunchAgents.
3. Log out and log in again. You can now test access to your streaming folder from your TiVo (see “Using Streambaby” below).
Optional: Hiding The Streambaby Icon In The Dock
Streambaby is a Java application, and like most applications it will show an icon in the Dock when it runs. If you perform this optional step, then it will hide the Streambaby app icon when Streambaby runs. Other than hiding the app icon, there is no functional difference if you skip this step.
1. There is a file called “streambaby” in the /Applications/streambaby folder. This file is what is invoked when you run Streambaby. Open it in a text editor, such as TextEdit.app.
2. Add the following text (in brown text) to the “streambaby” file:
java -Djava.net.preferIPv4Stack=true -Dapple.awt.UIElement=true -Xmx256m -jar “$DIRNAME/jbin/streambaby.jar” $@
Save the file and close it.
On a Tivo Premiere running with HD menus enabled, the Streambaby menu shows up under Showcases & Apps > Stream, Baby, Stream. Navigate to that menu item to see the videos that Streambaby is sharing with your TiVo. Note that the folder structure is hierarchical, so you can place subfolders within subfolders in your Mac’s video folder, and Streambaby will let you drill down into them on your TiVo. When you’re ready, simply select a video and click Play to start the stream. Voila!
BTW, when Streambaby is running it’s normal to see a generic Java app icon appear in your Mac’s Dock. Don’t shut down or otherwise mess with this Java app or else Streambaby will stop and you’ll have to restart it.
Advanced users may want to set up more than one shared video folder. For example, in addition to my Movies folder I share my iTunes U videos from within my iTunes folder on my Mac. See the Streambaby site for more details about how configure Streambaby.