cam2ip

Turn any webcam into an IP camera.

Example (in web browser):

http://localhost:56000/mjpeg

or

http://localhost:56000/html

Requirements

On Linux/RPi native Go V4L implementation is used to capture images. On Windows Video for Windows (VfW) framework is used over win32 API.

Installation

go get -u github.com/gen2brain/cam2ip

Build tags

  • cv2 - build with OpenCV 2.x (go-opencv)
  • cv3 - build with OpenCV 3.x (gocv)
  • jpeg - build with native Go image/jpeg instead of libjpeg-turbo

Download

Binaries are compiled with static OpenCV/libjpeg-turbo libraries, they should just work:

Installation

go get -v github.com/gen2brain/cam2ip

This will install app in $GOPATH/bin/cam2ip.

Usage

Usage of ./cam2ip:
  -bind-addr string
        Bind address (default ":56000")
  -delay int
        Delay between frames, in milliseconds (default 10)
  -height float
        Frame height (default 480)
  -width float
        Frame width (default 640)
  -htpasswd-file string
        Path to htpasswd file, if empty auth is disabled
  -index int
        Camera index
  -nowebgl
        Disable WebGL drawing of images (html handler)
  -rotate int
    	Rotate image, valid values are 90, 180, 270
  -video-file string
    	Use video file instead of camera

Handlers

  • /html: HTML handler, frames are pushed to canvas over websocket
  • /jpeg: Static JPEG handler
  • /mjpeg: Motion JPEG, supported natively in major web browsers
Description
Turn any webcam into an IP camera
Readme 339 KiB
Languages
Go 91.6%
Shell 7.8%
Dockerfile 0.6%