Simple DVR Tips

I own six six Simple DVRs. Along the way, I have learned some things worth sharing. Enjoy!

Those Flashing Lights

Here’s a quick breakdown of the lights on the box and what they indicate:

Bottom light (blue):
Power on (should always be on if there’s power going to the box)

Front light:
Off: normal idle state
Steady red: recording
Alternating red and blue: waiting for the box to be registered (part of the setup process)

During the power-up sequence, there are a number of different patterns (which, at this stage, are designed to help us troubleshoot issues, since each pattern corresponds to a different part of the boot sequence):

Power-up sequence:
Two Red then Off, Two Red then Off: check your network cable
Blue, red, blinking violet: loading the kernel
Steady, then blinking, then heartbeat blue: starting the software and syncing the program data from the server
Off: everything’s loaded and ready to go

There are a few others, but these are the main ones you’re likely to see.

Disks that Work

I have found the Simple DVRs — especially the STV-1000 — to be very finicky about the disks you attach.  In my experience the best results come from using powered USB disks two terabyte or smaller made by Western Digital.  Here are the disks I have used with my Simple DVRs…

  • Iomega 1t (ldhd-up): formatted and performed perfectly. No issues to date.
  • Seagate 1t (9zc2ag-501): formatted and performed perfectly. No issues to date.
  • Western Digital 500g (WD5000H1U-00): formatted and performed perfectly. No issues to date.
  • Western Digital 2t (WDBFJK0020HBK-04): formatted and performed perfectly. No issues to date.

The Simple DVR (v1 at least) disk initialization script have really poor error checking and reporting.  For instance, the script may warn that no device was detected while telling you the make/model and free space of the undetected device.

If you are having problems initializing a disk, attach the disk to a PC and delete any partitions.  Do not partition the disk — let the script initialize the disk.  If you still cannot format the disk, initialize the DVR.

Here is a list of disks known to work with the Simple DVR v2…

  • Western Digital 4t (wdbfjk0040hbk-nesn): formatted and performed perfectly. No issues to date. (thanks JOH)

AdBlock Plus Workaround

Per Watcher on the Simple Community Forums

I found the issue that was making the WebUI wrongly believe my STV was remote. The “EasyPrivacy” filter set for AdBlockPlus was blocking the “/ping.gif” element on the STV web interface. Adding an exception rule to the AdBlockPlus filters resolves the problem. I’m not sure if this is a newly added rule to EasyPrivacy, or if the STV WebUI changed.

Here’s the exception rule I’ve used. This will disable AdBlockPlus on all simple.tv webpages. Hopefully this will be helpful for other users.
@@||simple.tv^$document

Technical Summary:
Every few seconds, the WebGUI fetches the file “ping.gig” from the IP address of your locally connected STV. If the transfer succeeds, you see the Home Icon. If it fails, you get the round remote ICON.

To the original posted rowbert: If an STV box on both your local and remote networks have the same IP address, it’s possible that this could confuse the WebUI into wrongly believing a remote STV is local. Let’s say that both have an IP address of 192.168.1.101, the UI will try to fetch “http://192.168.1.101…tic/ping.gif?_=(Number Goes here)”. This would normally fail, but if both networks have a box at that IP address answering the response it may wrongly believe it to be on the local network.

We’re looking for your Simple.TV Developer Console Fix

Per AndyCouch on the Simple Community Forums

I just got a Simple.TV and I was stuck on the “We’re looking for your Simple.TV” like everyone else. I tried everything I found on the forum, but nothing worked. One thing I did notice in the web console was that it was trying to access http://192.168.1.26/static/ping.gif on the STV, but getting a 404. I suspected that the fact that it couldn’t find that file was keeping it from proceeding.

I’m a web developer by trade, so I started digging. Sure enough, it was choking on not being able to load that one image. So I looked through the code and found the step right after that check and gave it a little nudge to keep going. This is how to do that:

I looked at the Network tab and noticed a request to simple.tv’s servers that returned a JSON object that contained all the info about my device. So I knew it was getting that far. The request you’re looking for is https://us-my.simple…ountGUID=xxxxxx where “xxxxxx” is your account ID. So you’ll have to look for that request to get that ID. Once you see that request, just open that request URL in a browser window. You’ll see something like this:

{“MediaServersToRegister”:[{“AccountGUID”:”00000000-0000-0000-0000-000000000000″,”Name”:”Simple.TV”,”MediaServerID”:”00000000-0000-0000-0000-000000000000″,”LocalBaseUrl”:null,”LocalPingUrl”:”http://192.168.1.26/static/ping.gif”,”Status”:”Unregistered”,”Model”:”STV1″,”NeedsUpgrade”:false,”MediaServerGeneration”:”Gen1″}]}

Now, copy everything between the [] brackets to your clipboard. From the page that says “We’re looking for your Simple.TV”, open your developer console and type the following:

addToSelectMediaServersToRegister(

Then paste the part you copied, which should now look something like this:

{“AccountGUID”:”00000000-0000-0000-0000-000000000000″,”Name”:”Simple.TV”,”MediaServerID”:”00000000-0000-0000-0000-000000000000″,”LocalBaseUrl”:null,”LocalPingUrl”:”http://192.168.1.26/static/ping.gif”,”Status”:”Unregistered”,”Model”:”STV1″,”NeedsUpgrade”:false,”MediaServerGeneration”:”Gen1″}

Then type:

);

When you’re all done, the command should look like this:

addToSelectMediaServersToRegister({“AccountGUID”:”00000000-0000-0000-0000-000000000000″,”Name”:”Simple.TV”,”MediaServerID”:”00000000-0000-0000-0000-000000000000″,”LocalBaseUrl”:null,”LocalPingUrl”:”http://192.168.1.26/static/ping.gif”,”Status”:”Unregistered”,”Model”:”STV1″,”NeedsUpgrade”:false,”MediaServerGeneration”:”Gen1″});

When it looks right, hit the enter key.

If it worked, it should have found your Simple.TV and allowed you to continue.

Downloading Media

Simple-TV-api Method

Simple TV DVR owner tdickman has crafted a python script that copies files from the Simple TV DVR’s USB disk to a personal computer.  The files are saved a MP4 files that can be streamed via Plex or played directly on a PC.  This is a work in progress, but work has progressed to the point that I encourage you to take a look.  The project repository is…

https://github.com/tdickman/simple-tv-api

The script is being discussed on the simple.tv community…

http://community.simple.tv/index.php?/topic/605-api-transferring-recordings-to-local-computer/

The setup process is very simple.

Ubuntu (I don’t speak Ubuntu)

  1. Dependencies: sudo apt-get install python python-beautifulsoup python-requests git
  2. Run the following command:
  3. cd simple-tv-api
  4. python download.py

Windows

  1. Install python: Download here, version 2.7.6 (not 3.3.3) should work, choose the msi installer, x86-64 if you have 64 bit.
  2. Download this and extract the .zip file. Open the resulting folder.
  3. Download this and place the contents (Beautifulsoup.py and /requests) in the directory with .py files in step 2.
  4. Double click on download.py

When you double click download.py, you will be prompted for your email address associated and password used to logon to your Simple account.  Then the script will logon to the Simple DVR and list the shows on the disk.  Choose a show by entering the associated number.  The script will list all the episodes of the show.  Choose an episode by entering the associated number.  The episode will download into the folder you ran the download script from.  Once the download is complete, the script will close.  To download another episode, repeat this process.

If you are the only person with access to the computer you are running the script on, you may want to hard code your username and password.  Just right click download.py and select edit with IDLE, then edit the lines that prompt for username and password as follows (add the red text, changing the email address and password)…

import getpass
import api
import sys
import urllib
username = "youremail@yourprovider.com" #raw_input("Enter email: ")
password = "yourpassword" #getpass.getpass("Enter password: ")

Thank you tdickman!

STVDownload Method

Here’s another great utility for pulling media off your Simple TV DVR (V1).  Download the zip file, extract to a directory on your PC, and run \stvdownload-master\dist\windows\simpletv.exe.  Then…

  1. Enter your Simple Account’s User Name (email address) and Password
  2. Select Show, Episode, and Quality
  3. Click the Download button

Your files will be downloaded to \users\your_windows_username.

Project link…

https://github.com/brendonanderson/stvdownload/releases

Bookmarklet Method

Here’s another slick trick to download files from your STVs — including the STV1.  Open Ben Alman’s  Bookmarklet Generator in the browser you use for Simple.  Paste this code…

downloadURL=videoPlayer._url;
regex=/tv.main.hls-(\1\d).m3u8/;
newURLsubstr=”tv.4500000.10\$1″;
downloadURL=downloadURL.replace(regex, newURLsubstr);
var newWin = open(downloadURL,’windowName’,’height=300,width=300′);
download_html=”<a download=\”video.mp4\” href=\”” + downloadURL + “\”>Download Video File”;
newWin.document.write(download_html);

into the box at the bottom of the page and click the generate button.  Left click down on the RunjQueryCode button and drag it to your bookmarks bar.

Open a Simple.tv in a browser tab.  Navigate to My Shows and start a show.  Click the RunjQueryCode bookmark.  A window will pop up with a ‘Download Video File’ link.  Right click this link and select ‘Save Link As’ from the popup menu.  Navigate to your downloads directory and save your file with any name you choose as long as it has the extension .MP4.

That’s it!

from http://community.simple.tv/index.php?/topic/953-download-video-files-with-this-new-bookmarklet

Fixing Downloaded Files

Here is a tip for people who want to play Simple DVR recordings with a Roku or Chromecast without aid of a server program.  Install ffmpeg and run this script in the folder with your Simple DVR downloads…

REM Convert from mpeg stream to mp4, move the moov atom, and change the audio for chromecast
for %%i in (*.mp4) do (
move “%%i” tempfile.m4v
ffmpeg -i tempfile.m4v -vcodec copy -bsf:a aac_adtstoasc -acodec copy -movflags faststart “%%i”)
del tempfile.m4v

To run the script, create a text file in the folder with your Simple DVR downloads, paste the above text into the file, save the file, rename the file to fixmpegs.bat, and double click the file.  It will fix the files that can be fixed and delete the rest.

The original script and other helpful information can be found here.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s