bitrazor.com ...THE source for mediocre content                                      

TiVo TrafficCam Viewer - User Guide          

     Download Page
     Current list of cities supported

Overview

Many areas of the country now have road cameras or traffic cameras covering their most problematic traffic areas.  This application is designed to let you choose and save a list of the cameras you're interested in, and quickly view them from your TiVo before you leave for work.

     Screenshots

Requirements

TrafficCam Viewer is a Java application that runs on your PC.  To use it, you must meet the following requirements:

  • You must have a home network:
    • with at least one TiVo and one PC on it.  This application might possibly work on a Mac or UNIX box, but I don't test it there.
    • broadband access or other always-on internet connection.
  • Your TiVo must:
    • be running software version 7.1 or newer.
  • Your PC must:
    • Have the Java JRE 1.5 or newer installed.  (The download page will help you with this.)

If you meet all these requirements, you may download and install the application.

Installation

See the download page for complete details on installing the application.

Running the Application

Windows users: The Windows installer, included in versions 1.50 and later, automatically installs the application as a Windows service and starts it.  So, once you've run the installer on your PC, you can go over to your TiVo, select 'Music, Photos, Products, & More' from the main TiVo menu, and look for 'TrafficCam Viewer' in the list.  (Don't see it?  See 'Software Firewall Information' below; you may have a software firewall that's blocking TiVo applications on your PC from showing up in the list.)

For Mac or UNIX users, you may run the application on your machine by running the 'runtc.sh' script included in the ZIP file.  Example:
       sh ./runtc.sh

More Service Info

If you have installed the application as a service (Windows users), there are a few things you can do to it.

  • Start - Run... - services.msc - <enter>
  • Look for "TiVo: TrafficCam Viewer" in the list:


     
  • Right-click on it, then choose Properties.  You'll see a dialog that looks like this:

          

  • You may start or stop the service from here using the Start and Stop buttons.  You may also change the Startup type from 'Automatic' to 'Manual' if you would prefer not to have the service start up automatically when Windows is restarted.

Manually Toggling the Service

From a recent TivoCommunity.com posting, dlfl writes:

"The following script, which I named "StartStopTrafficCam.cmd" will toggle the service between running and stopped each time it is run:
@echo off 
sc query "TiVo: TrafficCam Viewer" > tcstate.txt 
find "STOPPED" < tcstate.txt > tcstopped.txt 
del tcstate.txt 
setlocal 
set /p isStopped= < tcstopped.txt 
if "%isStopped%" == "" GOTO running 
sc start "TiVo: TrafficCam Viewer" > tcstopped.txt 
echo Traffic Cam Viewer service has been started. 
goto end 
:running 
sc stop "TiVo: TrafficCam Viewer" > tcstopped.txt 
echo Traffic Cam Viewer service has been stopped. 
:end 
del tcstopped.txt 
pause
Just copy and paste into a text file and give it a .cmd extension. A command window appears with a message telling you whether it started or stopped the service and it pauses until you hit a key (or close the command window). The pause is necessary so you can verify what state you put it in.

I'm sure this could have been done nicer in VBS or JavaScript but I'm rusty on those and didn't want to take the time to re-learn them for this."

 

Software Firewall Information

Windows Firewall

The service install and uninstall scripts automatically add and remove an exception to Windows Firewall for the application.  Without this exception, TiVo will not be able to see the application.  If you use a different software firewall, you must create the exception in your firewall software manually.  The default path to the executable is C:\Program Files\TrafficCam Viewer\TrafficCam_Viewer_Service.exe .

By default, the Windows Firewall exception is added as 'My Network (subnet) only':

This is the recommended setting for most installs.  You can change this setting by doing Start - Control Panel - Windows Firewall.  Click the 'Exceptions' tab, then find 'TiVo: TrafficCam Viewer' in the list.  Click 'Edit...', then 'Change Scope...'  You should see the dialog box above.

Other Firewalls

When run manually (using the runtc_manually.bat file), the process runs as "javaw.exe".  So, Windows Firewall (or other software firewalls) will need to have the full path to javaw.exe listed as an exception.  However, when running manually, most firewall packages (Windows Firewall included) will prompt you to add it the first time it's run.  This is not the case for the Windows service, which is why manually adding the service is necessary, but manually adding javaw.exe is usually not.

Troubleshooting

If you run into problems with the Windows service, I've included a little batch file to let you launch the application manually to see if you can get it started up:

  • runtc_manually - this batch file is provided if you don't want to install the application as a Windows service at all.  Perform these steps.  Leave the command window open while you're running the application.
    • Bring up a Command Window (Start - Run - cmd - <enter>)
    • cd  "\Program Files\TrafficCam Viewer"
    • runtc_manually

Uninstall

  • Simply run the uninstaller.  You may find "Uninstall.exe" in the installation directory (default: C:\Program Files\TrafficCam Viewer).  There's also a link under Start - Programs - TrafficCam Viewer - Uninstall.

Use

At the TiVo menu; you should see 'Music, Photos, Products, & More' in the list.  Select it, and you should see 'TrafficCam Viewer' in the list.  Selecting it will run the application.

The first time you run the TrafficCam Viewer, it'll default to a number of cameras in Colorado Springs, CO.  You can change this by going to the 'Setup' screen and choosing the region you want to see.

The 'View Cameras' Screen

This screen cycles through all of the cameras you have selected.  You may use the following keys on your remote:

 Holds the current camera on-screen.  A small 'Pause' icon will show up on the left-hand side of the screen.  Note that the camera image will continue to update from the web, so if the camera supports near real-time updates, you'll see this camera updated every few seconds.  Press it again to continue cycling through the other cameras.

Pressing 'Play' is another way of continuing through the cameras if you'd previously pressed 'Pause'.

 

Press 'Forward' on your remote to speed things up.  When viewing your cameras under normal circumstances, this increases the speed at which the cameras are rotated through.  Normal viewing speed is 5 seconds; pressing 'Forward' will speed it up to 3.5 seconds, 2.2 seconds, and then 1 second.  Pressing it a fourth time will return it to 5 seconds.  The current speed is shown in the lower-left corner of the screen.

Pressing 'Thumbs Down' will remove the current camera from the list.  This is useful if there's a bad camera in your list and you want a quick way to get rid of it without having to go back to the Setup screen.

Screen Shifting (Burn-In Reduction)

The View Cameras screen will shift slightly every minute or so.  This may help reduce the possibility of burn-in; however, it will not eliminate the risk.  As with any application, you should not run it so long as to risk your display.

The 'Setup' Screen

This screen allows you to change some of the settings of the application.  Currently, you can only choose the region and cameras.  (More options will be added to future versions of the application.)

Choose Region

At the 'Choose Region' screen, use your remote to move the cursor to the area you live and press SELECT.  There may be a brief pause while the list of cameras is loaded. 

Choose Cameras

The list of cameras for a particular region is divided into sub-regions.  Each sub-region name is shown, followed by all of the cameras in that sub-region. 

Cameras are usually listed north-to-south or west-to-east within a sub-region.  How the cameras are grouped within sub-regions is arbitrary, and is really up to the person that created the data file.

Saving Your List

Once you've marked the cameras you want to view, choose 'Done selecting cameras (save changes)' at the top or bottom of the list.  You may also press the LEFT arrow key on your remote to save your changes.

If you select 'Cancel changes (don't save)', any changes you made to the selected list will be discarded, and your previous saved list will be used instead.

All saved data is stored in the 'saves' directory under the application's install location.  Back up everything in this directory if you're so inclined.

Each Region is Saved Separately

Note that each region has its own save file, so you may save a set of selections from both Seattle and Portland (for example) without one set overwriting the other.

Last Saved Region is Used When Viewing

Whenever you go to the 'View Cameras' screen, the application checks to see which region had a camera list saved last, and that region is used.

What If My Region's Not Listed?

     Here's the list of supported cities/regions.

Well, this application's not very useful for you if your city's camera data is not listed.  If you're in this situation, you have a couple options:

  1. Send me e-mail (my address is at the bottom of this page), and tell me you really want your city covered.  If I have time, I'll add it.
  2. Create the data file yourself.  This turns out to be pretty easy, and this application was designed in a way that will let everyone use the data file you create, if you so choose.  The easiest way is to take an existing file and change it; Portland is a good example: http://bitrazor.com/tc/rd/100.0/97205.xml

    Once you've created it, send it to me at and I'll copy it up to my website.  Send me a copy anytime you update it.

Some cities have cameras, but for a variety of technical reasons, the images cannot be displayed, so you may be out of luck, and in that case, I'm sorry. 

Known Problems

  • Very long camera lists (e.g. Atlanta, with 250+ cameras) creates a noticeable pause before drawing the list.

How It Works

This application is really just a specialized web browser for images.  The list of regions is read from an XML file on the web, as are all of the lists of cameras for those regions.  This architecture has a number of advantages:

  • Regions may be added at any time without any changes to the application, and will be reflected immediately.
  • Camera lists for any region may be easily created by anyone and stuck on a web site, and I can point the region list to it.  This allows the TiVo community to add and maintain the data on the tens of thousands of cameras out there, a workload I couldn't possibly keep up with (remember, this app is free, and is maintained entirely in my spare time out of love for my TiVo).
  • Multiple URLs for each region may be listed, providing robustness and distributed traffic.

License

This application is provided via Common Public License - v 1.0.

This application is provided as-is, with no warranty expressed or implied.  Use this application at your own risk.  The author assumes no liability for any loss associated with the use of this application.  If you do not agree with the terms of this license, do not install this application.

Changes

2.02 (5/21/07)

  • Fixes for Mac/UNIX shell script

What's New in Version 2.01 (5/19/2007)

  • Better error handling and tolerance of network problems; added an error screen with more details when problems occur.
  • Rewrote sections known to cause problems for Macs (X11 display issue)
  • Added random shift of viewing screen every minute to reduce burn-in issues
  • Improved look and feel
  • Added status message to initial screen indicating selected region and number of cameras
  • Moved a number of items to the app-defaults file, making more settings user-editable.  For example, in previous versions, the viewing times were hardcoded to 5.0 / 3.5 / 2.2 / 1.0 seconds.  You may now edit the app-defaults.xml file and change them, if you're so inclined.  These will likely be exposed in a configuration screen in a future version.
  • Added option in app defaults to allow camera images to always be maximized to fit in the display box.
  • Lots of internal stuff:
    • Rewrote all XML handling in Xerces (was in JAXB, and I finally reached the end of my rope with it)
    • Better logging, new formatter, less junk in the log files
    • Lots of refactoring; better class structure

Version 1.60 (11/4/06)

  • Updated to Bananas 1.2
  • Updated to HME SDK 1.4
  • XML parsing updated to JAXB 2.0
  • JRE 1.5 or greater now required
  • Automated build, service wrap, and installer creation using ant

Version 1.50a (3/30/06)

  • Fixed installer bug with add/remove Windows Firewall exception

Version 1.50 (3/12/06)

  • Added installer (yay!)
  • Added Thumbs-Down to viewing screen to remove the current camera from the saved list

Version 1.40 (8/13/05)

  • Fixed exception when starting up app under certain conditions

Version 1.35

  • Changed scope of Windows Firewall exception to 'My Network (subnet) only' (was global)
  • Improved script for UNIX users

Version 1.34

  • Added creation of Windows Firewall exception for the Windows service executable

Version 1.33

  • Fixed bug where service would stop after 30 minutes (exe4j eval, woops)

Version 1.32

  • Same as 1.31, except you may now run it as a service (pulled - replaced with 1.33)

Version 1.31

  • Added page hints for lists that scroll off the screen
  • Added support for play, pause, and fast-forward on the view screen

Version 1.0

  • Initial version

Feedback

Send e-mail to:      

                                                         Last updated: May 21, 2007