Coder Social home page Coder Social logo

beaujburroughs / cameraproxy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bp2008/cameraproxy

1.0 1.0 0.0 63.29 MB

A Windows Service which acts as a "smart" proxy for IP network cameras. Uses the .NET framework and parts of the VLC media player libraries.

License: GNU General Public License v3.0

C# 74.98% HTML 15.10% C++ 1.40% JavaScript 7.13% CSS 1.40%

cameraproxy's Introduction

Camera Proxy

Camera Proxy is a Windows Service which acts as a "smart" proxy for IP network cameras. Uses the .NET framework and parts of the VLC media player libraries.

The service runs a simple embedded HTTP(S) server and is compatible with practically any browser.

Camera Proxy

Who is it for?

The service is for programmers and very computer literate people who want:

  • a single point of access to view all their network cameras either locally or via the internet
  • to provide live webcam views to others on the internet without giving them direct access to any cameras. Many IP network cameras have serious security flaws and should not be publicly accessible.
  • to reduce the network and CPU load of a camera that has multiple simultaneous viewers (the proxy service only creates one user's worth of load on the camera)

A readme file is included in the source and binary distributions to aid in initial setup, but most setup is done through the web interface.

What cameras does it support?

  • Most cameras that can provide jpeg still images or an mjpeg stream via HTTP are supported natively and very efficiently. Http authentication is supported.
  • Using the vlc_transcode camera type, you can add virtually any camera to the system as long as it is viewable in VLC media player. This option uses much more CPU and memory, however. It is best to use jpeg or mjpeg based inputs whenever possible.
  • Experimental support for proxying full rtsp / h264 streams using live555 and the VLC web plugin. Results may vary.

What PTZ cameras can it control?

  • Nearly any PTZ camera can be controlled by using Custom PTZ Profiles.
  • A small handful of PTZ cameras have PTZ support already built in.

Can I password protect the service?

Yes. A simple (and optional) authentication scheme is in place. Cameras have a permission level from 0 to 100 and so do user accounts. If the user's permission level is less than the camera's permission level, the user cannot view the camera.

What else can it do?

  • The base functionality (not including h264 / rtsp options) now works under Linux with the Mono framework.

  • The service can re-encode imagery on-the-fly to JPG, PNG, and even WebP formats at any size and quality you specify in the URL. Note that re-encoding images requires quite a lot of CPU time. Here is a Guide to Image URLs.

Why?

Most software NVRs can do everything this does and a lot more. The difference is this is free and open source. It is also very efficient with CPU and memory if your cameras support jpg or mjpg transmission via HTTP, as almost no image processing will be required.

How to Use

Download from here: https://github.com/bp2008/cameraproxy/releases

Then, please see the Setup Guide

How to Build

If you want to build from source, use Visual Studio 2017. You'll also need my BPUtil library on your PC.

cameraproxy's People

Contributors

bp2008 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.