Giter Club home page Giter Club logo

camcontrol's Introduction

Action Cam Control App for Android

banner

Open source vendor agnostic client application to interface with most popular sports cameras (eg: GoPro, Yi, SJCam, etc...).

Quick Links:

Downloads:

Downloads will be hosted on F-Droid and the GitHub releases page.

Google Play releases will also be uploaded.

Aims:

  • Open source and login-free
  • Virtually permissionless
  • Support most action cameras
  • Have all the features from the vendor's client
  • Run without Google Play Services

Mockup of the app UI:

Disclaimer: Not a designer.

Works with:

Planned:

  • Xiaomi Yi
  • Insta 360 One X
  • DJI Action Cameras
  • Sony Action Cameras
  • SJcam
  • Other ChinaPro to be added

Features:

The app must at least have the following features regardless of camera used:

  • Preview live stream
  • Control basic features eg: record, take picture, change modes, turn on or off
  • Get camera status messages
  • Get videos and photos off memory
  • Camera detection

Contribute!

I maintain the GoPro Wifi API and I will be doing the GoPro support, if you want to add support for your action camera:

  • See the /camera/goproAPI folder, this is what provides the app with instructions and assets on how to connect to a GoPro camera, add a new folder inside /camera/ named camera nameAPI, inside you'll need to place the following files:
    • Camera.kt:
      • Details about the camera(s) itself:
        • model_name array,
        • ip_address as a string,
        • baseURL, statusURL,
        • settingsURL,
        • commandURL as string (with :port if needed),
        • connectionMsg array as string (this is to check if the camera is connected, first item should be a URL and second item should be a string),
        • info array with information from the vendor (eg: vendor name, vendor country, vendor website)
    • Constants.kt:
      • Host your commands in this file, I tend to follow a Video/Photo/MultiShot/Setup/Command structure which is easy to understand and use. Other cameras are different but try to stick to that structure.
    • Live.kt:
      • This should have a function called getStream that returns a Uri or a Video that ExoPlayer can play.
    • Media.kt:
      • Many cameras have a media front end in their IP addresses with port 8080, you'll need the URL the vendor app uses, for GoPro for instance its a JSON. It should have a mediaURL Uri and a function called getMedia() which returns an array with the URLs of the photos and videos.
    • Status.kt:
      • Should be a list of Strings or integers with an appropriate Status name.

License & Libraries used

LICENSE

Donation:

camcontrol's People

Contributors

debpedrano avatar konradit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

camcontrol's Issues

App missing from play store.

Greetings. I bought recently a hero 5 black ,and tried the original app(the whole registration is annoying).
I couldn't find your app in the store. Is there a way to get/build the app? Have you ever thought about upload it to the fdroid repo?

Project Enhancement Logo

I'd love to contribute on your project, maybe I will make some changes on your current logo, to be specific, I will make a logo that somehow look like a Go Pro. can I propose ?

Chinese OS Action Cameras

I have two Chinese action camera (Yolansin and Apexcam), and they have the same operative system.
This one permits you to connect via wifi, but the application (LiveDV) has a lot of problems.
It would be possible to integrate the connection with this application? I am available to contribute to the project.
Thanks a lot

discussion about kotlin

just wanted to ask what made you change to kotlin. To be honest i've not heard about this language,goes without saying it does look more straightforward than java. just interested in your opinion.

There are old version gradlew

./gradlew build

FAILURE: Build failed with an exception.

* Where:
Build file '/mnt/d/github/CamControl/build.gradle' line: 10

* What went wrong:
A problem occurred evaluating root project 'CamControl'.
> Could not find method google() for arguments [] on repository container.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

failed to build

This issue comes up probably because this is the first project i tried to build from source and i problaly missing something. Are you planing to make a release which would marked for example as debug or alpha version. I would very much like to see one that would do even the basic functions. thank you for your answer i advance. At the moment i give commands through termux with the python api which workes flawwlessly. Only had problem with the ffmpeg stream,but that is probably caused by the way the ffmpeg version was built. thank you for your hard work on these repositories :D

App doesn't seem to work at all

Is the project still in development phase?
I see some UI but it doesn't seem to be connected to the data layer.
I tried both branches

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.