Kubi Server App
Control your Kubi on your local network with a iOS gateway.
This repository contains the source code for Kubi Server iOS app.
This app consists in:
- Exposing a Kubi control API on local iOS device network.
- Exposing a video live streaming endpoint.
Installation Requirements
Important note: Kubi framework has not been compiled for the iOS simulator so you will not be able to install KubiServer app on it.
Installation
- Clone or download project.
- From root project directory in Terminal (the one where Podfile file is), run
pod repo update
to update source repos and then run pod install
. It will install HaishinKit and GCDWebServer pods.
- Run
open KubiServer.xcworkspace
to open the project workspace in Xcode.
- Download last Kubi framework: from this page, download KubiDeviceSDK-iOS-X.X.zip file and unzip it. Only KubiDeviceSDK version 1.5 has been tested but next versions should work.
- From the unzipped folder, drag and drop KubiDeviceSDK.framework file to Xcode under Frameworks folder. Make sure to check Copy items if needed, so that the files actually copy into the new project instead of just adding a reference. Frameworks need their own code, not references, to be independent.
- Add the framework to the "Embedded binaries" section in the "General" tab of KubiServer app target.
- Make sure your device is connected to your computer and Build & Run by using ⌘+R from Xcode.
User Steps after installation
- Open the app (control API will automatically be deployed)
- Connect using Bluetooth to the Kubi using the 'Scan' button. You can check Kubi connectivity using control buttons
- Tap 'Stream camera' button to deploy streaming API
- Use control & streaming URLs added
The control server should be running even if the app is in background but the video stream server will pause. See why here.
Play live
Use your favorite HLS player.
With Quicktime:
- Open Quicktime.
- Go to the menu File > Open location...
- In the window that pops up, enter in the playlist URL given in visible app log. It should be something like that:
http://IOS_IP_ADDRESS/kubi/playlist.m3u8
Control live
The API is accessible from http://IOS_IP_ADDRESS:8080
Absolute and incremental position API are accessed through /absolute
and /incremental
paths.
Absolute position example:
http://IOS_IP_ADDRESS:8080/absolute?pan=0&panSpeed=40&tilt=-10&tiltSpeed=50
Incremental position example:
http://IOS_IP_ADDRESS:8080/incremental?pan=0&panSpeed=40&tilt=-10&tiltSpeed=50
Contributing
Everything works around one branch (master
) to follow the Github Flow.
Feel free to submit pull requests.
Test your (not yet tested) code if possible before pull requests.
Needed pods
Authors
- Victor Nouvellet - victor (dot) nouvellet (at) gmail (dot) com
License
- KubiServer is released under a New BSD License. See LICENSE file for details.
See also