Skip to content
📹 Web browser client for the Garmin VIRB Elite Wireless API.
JavaScript HTML CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist
docs
src
styles
.gitignore
.jshintrc
Gruntfile.js
HOWTO.md
LICENSE
README.md
TODO.md
package.json
virb-control.html

README.md

virb-control

Web browser client for the Garmin VIRB Elite Wireless API.

Introduction

This project is a web browser client for the VIRB Elite Wireless API. The Garmin VIRB Elite action camera emits a WiFi network and exposes a JSON based API. The outline of how the API works can be found on the Garmin forum.

The client opened in a web browser on a computer or other device connected to the WiFi emitted by the camera will listen for the available services at the URL http://192.168.0.1/virb and will allow the user to control the camera settings, trigger video recording, trigger making a photo, stream the video from the camera, and preview the details of the device.

Enabling the cross origin resource sharing (CORS)

The client opened in a web browser with default configuration will not be able to communicate with the local IP address 192.168.0.1 because of the same-origin policy. The workaround is to exceptionally run the web browser in mode with the policy disabled.

Firefox

Enforce the CORS by overwriting the Access-Control-* HTTP headers. There are many ways to achieve it, the suggested workaround is the CORS Everywhere add-on for Firefox.

Using the client in Firefox

  1. Install the CORS Everywhere add-on in the Firefox, restart the browser and ensure the add-on is activated.
  2. Connect the computer to the WiFi network emitted by the camera.
  3. Open this client in Firefox.
  4. Switch on the CORS Everywhere add-on.
  5. Once the client is able to connect to the device, an interface allowing to configure available services will be displayed.

Chrome/Chromium

Run the web browser with the --disable-web-security flag enabled. To ensure the web browser instance is launched with the flag enabled, it's necessary to kill all Chrome/Chromium processes beforehand.

chromium --disable-web-security virb-control.html

Using the client in Chrome/Chromium

  1. Ensure no instances of web browser are running.
  2. Launch the web browser from command line with the flag --disable-web-security.
  3. Connect the computer to the WiFi network emitted by the camera.
  4. Open this client in the web browser.
  5. Once the client is able to connect to the device, an interface allowing to configure available services will be displayed.

Enabling the ECMAScript 6 modules

This application is using native ECMAScript 6 modules.

Firefox

To enable the support for EC6 modules in older versions of Firefox, go to the browser settings (about:config) and set the settings item dom.moduleScripts.enabled to true.

You can’t perform that action at this time.