• Stars
    star
    109
  • Rank 319,077 (Top 7 %)
  • Language
    Kotlin
  • License
    MIT License
  • Created almost 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Open source app to connect with popular action cameras, replacing your vendor's closed source app system.

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:

More Repositories

1

goprowifihack

Unofficial GoPro WiFi API Documentation - HTTP GET requests for commands, status, livestreaming and media query.
2,122
star
2

gopro-py-api

Unofficial GoPro API Library for Python - connect to GoPro via WiFi.
Python
1,344
star
3

autoexechack

Autoexec hack is a copilation of hacks for GoPro Cameras, like a GHDK (GoPro Hack Developer Kit).
AGS Script
460
star
4

GoProStream

Tools for handling/displaying GoPro HTTP/UDP stream (Python/Ruby)
Python
352
star
5

gopro-linux

Bash script which helps with post production for GoPro cameras in Linux, can be used as a replacement for GoPro Studio
Shell
330
star
6

gopro-firmware

GoPro Firmware research
90
star
7

gopro-ble-py

Python Bluetooth controller for GoPro cameras with BLE connection
Python
86
star
8

parler-py-api

UNOFFICIAL Python API to interface with Parler.com
Python
55
star
9

mmt

Media Management Tool - make importing videos/photos from GoPro and other action cameras/drones a little bit more bearable.
Go
54
star
10

goprohero

A better GoPro app for Android, with Android Wear support, material design, H2/H3/H3+/H4 compatible and lots of features!
Java
49
star
11

gopro-control

GoPro Wifi controller inside the gopro
Shell
41
star
12

hero4hack

Override.sh/cal.txt hack examples and documentation (GoPro HERO4 auto executable)
Shell
39
star
13

GoProDashboard

A Flask webapp to interface with GoPro cameras over wifi.
HTML
34
star
14

MagicLanternGoPro

Magic Lantern for GoPro HERO3 Black / HERO3+ Black / HERO3+ Silver cameras
30
star
15

gopro_fw_dl

Firmware downloader for GoPro cameras (no registration needed)
Python
22
star
16

dotfiles

my dotfiles and other config
Shell
22
star
17

oculus_jailbreak

Research on Jailbreaking Oculus Quest 2
GLSL
22
star
18

gopro-firmware-archive

GoPro Firmware Archive
Python
19
star
19

GoProWirelessPassword

Research into potential vulnerabilities and risks of auto-generated pseudorandom passwords + Bluetooth Exploit.
Python
19
star
20

pebble

do not go gentle into that good night
19
star
21

SmartTheme

Tasker tasks that change apps night/day theme (aka: blackout theme)
19
star
22

gpauto

./gpauto for HERO4/HERO5 (spirtitual successor to autoexec.ash/override.sh/cal.txt) on stock Firmware
18
star
23

HEROPebble

Unofficial GoPro App for Pebble smartwatches
JavaScript
14
star
24

fimi_a3

Reverse engineering the A3 drone drone firmware + camera fw + remote fw
Shell
14
star
25

gopro32

GoPro Anti Lose Guardian device and BLE controller using an ESP32.
13
star
26

gopro-rc

ESP8266 based real Remote Control (RC mode, not APP mode) for GoPro HERO4+ cameras
C++
12
star
27

gopro-herobus-sdk

An SDK to hack the back HERO bus of GoPro cameras.
12
star
28

gopro-upload

Codes to auto upload gopro timelapse to a local folder, to github and other cloud services
Shell
11
star
29

insight-api

NASA InSight Raw Image Python API
Python
11
star
30

gopro-plus-api

experimental.
Python
11
star
31

gopro-modder

The best patcher for GoPro Android app in the galaxy
Shell
10
star
32

wm231

DJI Mavic Air 2 stuff
9
star
33

gopro-rb-api

Unofficial Ruby GoPro API wrapper
Ruby
9
star
34

gopro-udp-stream-android

Java
6
star
35

bereal-timelapse

Generates a timelapse from your BeReal memories
Go
6
star
36

dji-nfz-tracker

Tracking DJI No Fly Zones
Python
6
star
37

pkpass

General purpose pkpass library
Python
5
star
38

TheaterTime

Automation for Theater Mode in Android Wear devices, tested on LG G Watch (W100).
Java
5
star
39

pebble-taskwarrior

A Pebble client for Taskwarrior TODO Manager (syncs with Inthe.AM service!)
JavaScript
4
star
40

insta360

4
star
41

gowifi

Command line shell gopro wifi controller
Shell
4
star
42

konradit.github.io

source code for my website
HTML
4
star
43

hilltrades

Python API wrapper for capitoltrades.com
Python
3
star
44

djiutils

Scripts and utilities for processing media from DJI aircraft.
Shell
3
star
45

slopebuddy

Pebble watchapp for skiing and snowboarding, check snow information from your ski resort.
JavaScript
2
star
46

xiaomi_yi4k

The real deal
AGS Script
1
star
47

gopro-osc

Open Spherical Camera API (OSC - Google) driver for GoPro 1-unit Spherical cameras (eg: Fusion, MAX)
Python
1
star
48

archdots

Script to pair with my Redmi Airdots
Python
1
star
49

bssbctl

Python
1
star