Coder Social home page Coder Social logo

actioncam's Introduction

actioncam / libipcamera

Go Library and command line tool for working with cheap action cameras.

Compatible Cameras

Vendor Model Firmware Version Compatibility Remarks
Campark ACT76 (Xtreme 2) v1.0 rc5 Full (tested)
TecTecTec XPro2 - Full (untested)

Usage Examples

Preview Streaming

Supplying no additional command will start streaming a preview video stream to your local system. To view the video use the camera.sdp file and open it in a compatible player like VLC. The stream is a RTP stream sent to Port 5220 on localhost containing H.264 data in preview resolution as AVP Type 99. Additionally it is possible to start a crude RTSP-Server that is able to serve a single client.

# Start preview streaming via RTP
actioncam <Camera IP>

# Start RTSP server and stream preview to connecting
actioncam rtsp <Camera IP>

# Use mplayer to stream a low-latency preview (ffmpeg and VLC introduce significant delay)
mplayer -nocache rtsp://127.0.0.1:8554

Shooting a still picture

To shoot a still picture and save it to SD-Card run the subcommand still.

actioncam still <Camera IP>

Recording Video

To record full resolution video to SD-Card use the subcommands record and stop.

# Start recording Video
actioncam record <Camera IP>

# Stop recording Video
actioncam stop <Camera IP>

Fetch the list of files on the SD-Card and download the latest file

The camera can provide a list of files stored on the SD-Card, the ipcamera tool currently allows the download of the latest file in the list.

# List files
actioncam ls <Camera IP>

# Download latest file
actioncam fetch <Camera IP>

Send a RAW packet to the Camera

It's possible to send RAW commands to the camera to test new commands and help reverse engineer the protocol.

actioncam cmd <RAW Command and Payload in HEX> <Camera IP>

# Example (Take a still image)
actioncam cmd A038 192.168.1.1

Limitations

On all tested cameras, there can only be one client connected to the camera at any given time. This means that to take a picture you have to stop a client that is currently running a preview stream. To help with that issue the command line client will open a socket in the future that can accept commands to control the camera while previewing the video. (if this feature is really needed this could be implemented but the utility should be simple and without many side-effects).

actioncam's People

Contributors

jonas-koeritz avatar fildaw 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.