Camera Proxy application to unify and secure your IP camera live-viewing

Discussion in 'IP Cameras' started by bp2008, Mar 17, 2014.

Share This Page

  1. bp2008

    bp2008 Staff Member

    Joined:
    Mar 10, 2014
    Messages:
    4,972
    Likes Received:
    1,896
    This is a software project of mine that I want to share with you all.

    Basically, it provides a single point of access to live view all of your IP cameras, easily and securely. All camera images are sent and received through the service, so you don't need port forwarding rules for each camera; just one port forwarding rule for the service itself. It is kind of like a very stripped-down version of Blue Iris, with only the live viewing and web interface components included.
    [​IMG]

    The program runs as a background service on a Windows PC (also partially compatible with Linux and MAC OS X, using Mono).

    Full details, source code, and download links are on the codeplex page:

    https://cameraproxy.codeplex.com

    I hope someone finds this useful. Feel free to reply to this thread with any questions or requests for help.

    Screenshots

    Login Page:
    [​IMG]

    User List:
    [​IMG]

    Camera List:
    [​IMG]

    Included all.html page:
    [​IMG]
     
    Last edited: Mar 17, 2014
    xips, sspeed, nzipcamera and 4 others like this.
  2. Mike

    Mike Staff Member

    Joined:
    Mar 9, 2014
    Messages:
    1,454
    Likes Received:
    554
    Location:
    New York
    Looks great, definitely interested in trying this out. Thanks for sharing it with us.
     
  3. msantic

    msantic n3wb

    Joined:
    Apr 11, 2014
    Messages:
    20
    Likes Received:
    6
    Location:
    Croatia
    Thanks for sharing it with us.
     
  4. fenderman

    fenderman Staff Member

    Joined:
    Mar 9, 2014
    Messages:
    19,303
    Likes Received:
    3,958
  5. riceandbeans

    riceandbeans Getting the hang of it

    Joined:
    Nov 1, 2015
    Messages:
    78
    Likes Received:
    40
    Location:
    Austin, TX
    In C#! I've done something similar in the mono framework on a raspberry pi, I bet it'd be a perfect platform for this if you wanted to run (fairly) headless jpeg/mpeg. This is awesome, thanks for open sourcing and sharing!
     
  6. bp2008

    bp2008 Staff Member

    Joined:
    Mar 10, 2014
    Messages:
    4,972
    Likes Received:
    1,896
    You're welcome. This project is mostly dead now as I just don't have the time and interest to continue developing it. But what is out there still works, and should work on raspberry pi as well, although some of the more useful aspects like image resizing are not advisable to use on a pi due to their increased CPU cost!
     
  7. mikeduncan

    mikeduncan n3wb

    Joined:
    May 18, 2016
    Messages:
    18
    Likes Received:
    14
    Hello, just discovered this app and it works perfect, is there a way to pass the user/pass in the url when accessing a cam with permission set to 100?

    I know this is old, but very useful! Thank you :)
     
  8. Dodutils

    Dodutils Getting the hang of it

    Joined:
    Dec 10, 2016
    Messages:
    362
    Likes Received:
    99
    So basically it's a Reverse Proxy dedicated to IPCam stuff isn't it ?
     
  9. bp2008

    bp2008 Staff Member

    Joined:
    Mar 10, 2014
    Messages:
    4,972
    Likes Received:
    1,896
    Hello. Yes, you can include user/pass in the URL, by following this format:

    Code:
    http://127.0.0.1/image/camera.jpg?rawauth=user:pass
    Yes, that more-or-less describes it.
     
  10. Dodutils

    Dodutils Getting the hang of it

    Joined:
    Dec 10, 2016
    Messages:
    362
    Likes Received:
    99
    OK I already made some reverse proxy software but never made one for reverse video streaming, good idea ,will try it and look at the source code.
     
  11. bp2008

    bp2008 Staff Member

    Joined:
    Mar 10, 2014
    Messages:
    4,972
    Likes Received:
    1,896
    Yeah, most of the functionality is undocumented or poorly documented, so being able to read source code will really help anyone trying to figure out what things are. I never intended this project for more than a poor-man's way to put IP cameras on a website without exposing the cameras directly to outside attack.
     
  12. Dodutils

    Dodutils Getting the hang of it

    Joined:
    Dec 10, 2016
    Messages:
    362
    Likes Received:
    99
    OK but if it was for this purpose you could some NVR or IPCam software that already provide such feature so you connect to it with dedicated Client software or Web browser to see this re-streamed video but anyway making its own solution is always more interesting ;-)
     
  13. bp2008

    bp2008 Staff Member

    Joined:
    Mar 10, 2014
    Messages:
    4,972
    Likes Received:
    1,896
    Yes, Blue Iris in fact will do nearly everything that CameraProxy will do, and a whole lot more. But Blue Iris is a bit more expensive, given that Blue Iris itself costs money and you need to run it in Windows. Camera Proxy is free and isn't necessarily married to Windows.

    Part of the reason I built camera proxy was so I could implement my own method of PTZ control, using a panoramic image that you can click on to point the camera at the spot you clicked. Of course setting that up is way too complicated for the average user, which is why you don't see it in any other software, and I ended up having to write it myself.
     
  14. Dodutils

    Dodutils Getting the hang of it

    Joined:
    Dec 10, 2016
    Messages:
    362
    Likes Received:
    99
    $$$ is a VERY good reason and for your special PTZ control too I do the same when I find no tool doing what I want and I really need my own features ;-)
     
  15. bp2008

    bp2008 Staff Member

    Joined:
    Mar 10, 2014
    Messages:
    4,972
    Likes Received:
    1,896
    I actually embedded the panoramic PTZ control in my dad's Blue Iris interface, and it is hard-coded to connect to his Camera Proxy instance for the actual control API.

    [​IMG]

    It is way, way, way over most people's head to implement this so I never made it an "official" feature :)
     
    ilrider78 likes this.
  16. mikeduncan

    mikeduncan n3wb

    Joined:
    May 18, 2016
    Messages:
    18
    Likes Received:
    14
    Thanks a bunch bp2008, what I am using it for is to feed an mjpeg stream at 1 frame per second to my android wear watch. Couldn't find a way to throttle framerate in BI. This did the trick :)
     
  17. bp2008

    bp2008 Staff Member

    Joined:
    Mar 10, 2014
    Messages:
    4,972
    Likes Received:
    1,896
    Yes, this should do that pretty well with mjpeg as long as the source camera is object is limited to 1 FPS. It won't transmit duplicates of the same frame. Also important will be downscaling the image resolution to better match your display, since that will reduce bandwidth and make things more efficient.

    This page describes the different arguments you can use to recompress the video frames:Camera Proxy - Home
     
    mikeduncan likes this.
  18. einarhh

    einarhh n3wb

    Joined:
    Apr 20, 2017
    Messages:
    1
    Likes Received:
    0
    Is it possible to use a domain certificate in stead of self signed certificate for localhost? (When using HTTPS)
     
  19. bp2008

    bp2008 Staff Member

    Joined:
    Mar 10, 2014
    Messages:
    4,972
    Likes Received:
    1,896
    Should be possible. Stop the service and replace the file "SimpleHttpServer-SslCert.pfx" with your new one. Assuming of course you can get your certificate in .pfx format (it is possible to convert from other formats, probably using openssl or other tools). Once the certificate file is replaced, start the service again.