,

Insteon 75790 video recording & CGI API

Insteon 75790 IP camera

Greetings and salutations! Today we’re going to be talking about the Insteon 75790 WiFi (wireless IP) camera. These are fairly cheap cameras that you can find at Walmart or on (one of my favorite sites) https://www.smarthome.com/ .  They have some OK features like PTZ (Pan-Tilt-Zoom), SMTP (outbound email), FTP, and the obvious features like WiFi (802.11 b/g, no 5GHz support) and a web interface.  The max video resolution is 640×480 @ 15fps. The resolution is weak IMHO but the price point ($79.99 USD) will certainly offset that problem for most. I’m sure you can research the tech specs on your own so I won’t bore you with it. Chances are, if you got here through a search engine, you’ve already purchased one and have ripped most of your hair out already. Correct?  Well, let me (hopefully) ease some of your point.   THIS DEVICE DOES NOT PLAY WELL WITH OTHER HOME AUTOMATION PRODUCTS (INCLUDING INSTEON)!  There… I’ve said it. Phew. It seems Insteon did a good job masking this fact and really instilled a lot of distrust in their brand by selling something that, unlike all of their other products, does not interact with other products or “automate” in really any fashion. Luckily, there are some ways to interact with the camera (it just isn’t really publicized anywhere).  These cameras are actually rebranded Foscam IP cameras and, as such, sport a CGI API (HTTP API).  This means that we can send simple HTTP requests to the camera to get various results (and possibly use something like an ISY 994i with the network module to control it!). Now to answer some common questions I see floating around online. [box type=”download”] UPDATE! I wrote a Node.js application to automate this process. It will tell the camera to set alarms for sound/motion and start recording automatically. Check it out at https://github.com/01000101/insteon-75790-recorder [/box]

How Do I Record Video From My Insteon 75790?

Easy…ish! First off, go and download FFMPEG. Once you have that installed, make sure you can actually call the application from your command line / shell.  The hard part is over. 🙂 Now simply form a web request to the camera as the FFMPEG input source.  Below is the command I use to stream video and record it to file.  Replace the obvious areas with your camera’s IP address, username, and password to your Insteon WiFi camera below. Warning: your username/password will be sent in PLAIN-TEXT (not encrypted) so I recommend using a random generated password.
ffmpeg.exe -stats -y -loglevel info -i “http://ipaddress/videostream.asf?user=username&pwd=password&resolution=32&rate=0″ -shortest -f segment -segment_time 1800 -map 0 -strftime 1 “cam_%Y-%m-%d-%H-%M-%S.mpeg”
Basically this will give you record from the stream (URL), output some basic stats and info (such as FPS, format, resolution, etc…), and dump the stream to file.  You can also see I included a few extra parameters in the URL; resolution=32 (which sets the stream resolution to VGA 640×480) and rate=0 (which does not cap the frame rate). I haven’t played around with specifying formats or anything like that so maybe there’s an even better way of doing this, but this works great for my needs. I also included the bits to record in segments. The script above will record in 30 minute (1800 seconds) chunks and will log the timestamp in the file name. A whole day of recording at the above quality should run you around 3.80GB so make sure you have enough space if you plan on recording long-term. I’d suggest having a cleanup service running that deletes files with timestamps older than X days/weeks.  

Where Can I Find The Insteon 75790 CGI API?

You can find the Insteon API documentation on the Foscam site… obviously. 🙂 http://www.foscam.es/descarga/ipcam_cgi_sdk.pdf  

Comments

6 responses to “Insteon 75790 video recording & CGI API”

  1. Bruce Mallicote Avatar
    Bruce Mallicote

    I have a few questions, but let me start with, how do you specify what file stream is recorded to?

    Basically this will give you record from the stream (URL), output some basic stats and info (such as FPS, format, resolution, etc…), and dump the stream to file.

    1. Hey, I just added this functionality to the app. Please check out the latest version! Thanks for asking.

  2. Jason Giardina Avatar
    Jason Giardina

    Hi. Just getting started. Windows 10/Insteon 75790 camera. I installed FFMPEG & was able to use the string above. But I get error: “At least one output file must be specified.” Not sure how to resolve.

    1. Hey, thanks for checking out this article. Could you please provide the exact command you’re trying out (scrubbing any passwords, of course)? Also, see the following article for help on this error as it looks like the command you’re trying has an invalid parameter – http://stackoverflow.com/questions/14731501/ffmpeg-error-at-least-one-output-file-must-be-specified

      1. Jason Giardina Avatar
        Jason Giardina

        C:UsersJason>ffmpeg.exe -stats -y -loglevel info -i “http://128.168.1.98/videostream.asf?user=admin&pwd=SCRUBBED&resolution=32&rate=0″ -shortest -f segment -segment_time 1800 -map 0 -strftime 1 “cam_%Y-%m-%d-%H-%M-%S.mpeg”

        output:
        ffmpeg version N-78598-g98a0053 Copyright (c) 2000-2016 the FFmpeg developers
        built with gcc 5.3.0 (GCC)
        configuration: –enable-gpl –enable-version3 –disable-w32threads –enable-avisynth –enable-bzlib –enable-fontconfig –enable-frei0r –enable-gnutls –enable-iconv –enable-libass –enable-libbluray –enable-libbs2b –enable-libcaca –enable-libdcadec –enable-libfreetype –enable-libgme –enable-libgsm –enable-libilbc –enable-libmodplug –enable-libmp3lame –enable-libopencore-amrnb –enable-libopencore-amrwb –enable-libopenjpeg –enable-libopus –enable-librtmp –enable-libschroedinger –enable-libsoxr –enable-libspeex –enable-libtheora –enable-libtwolame –enable-libvidstab –enable-libvo-amrwbenc –enable-libvorbis –enable-libvpx –enable-libwavpack –enable-libwebp –enable-libx264 –enable-libx265 –enable-libxavs –enable-libxvid –enable-libzimg –enable-lzma –enable-decklink –enable-zlib
        libavutil 55. 18.100 / 55. 18.100
        libavcodec 57. 24.103 / 57. 24.103
        libavformat 57. 25.101 / 57. 25.101
        libavdevice 57. 0.101 / 57. 0.101
        libavfilter 6. 34.100 / 6. 34.100
        libswscale 4. 0.100 / 4. 0.100
        libswresample 2. 0.101 / 2. 0.101
        libpostproc 54. 0.100 / 54. 0.100
        http://128.168.1.98/videostream.asf?user=admin&pwd=jared42&resolution=32&rate=0″ -shortest -f segment -segment_time 1800 -map 0 -strftime 1 cam_%Y-%m-%d-%H-%M-%S.mpeg: Unknown error

  3. homedawg007 Avatar
    homedawg007

    Hi, Thanks for your helpful article but it appears that I have some difficulties in trying to get this to work. When I tried to do the commands you said into command line after getting FFMPEG to work when calling it anywhere in the windows commandline, I get the following error:

    http://puu.sh/nPol0/fbe2bcb032.png
    (Whited out the sensitive information of course 😉 )

    Thanks for your help!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Pin It on Pinterest

Share This