Skip to content

SteveNguyen/gopro_qr_to_param

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoPro Labs QR Code Decoder

A Python tool to scan and decode GoPro Labs control QR codes, displaying the configured camera parameters in a human-readable format.

About GoPro Labs

GoPro Labs is an experimental firmware program that extends GoPro camera functionality through QR code commands. This tool helps you understand what settings are encoded in those QR codes.

For more information about GoPro Labs:

Features

  • Scan QR codes from image files (PNG, JPG, etc.)
  • Live scanning from webcam
  • Direct command string decoding
  • Comprehensive parameter parsing for common GoPro settings:
    • Video modes and resolutions
    • Frame rates and field of view
    • Color profiles and white balance
    • ISO, shutter speed, exposure compensation
    • Audio, GPS, and other camera options

Installation

Requirements

  • Python 3.12 or higher
  • pip or uv package manager

Install Dependencies

This project uses uv for package management. Install dependencies with:

uv sync

Alternatively, using pip:

pip install opencv-python pyzbar pillow

System Dependencies

For QR code scanning, you may need to install zbar:

Linux (Ubuntu/Debian):

sudo apt-get install libzbar0

macOS:

brew install zbar

Windows: Download and install from: https://sourceforge.net/projects/zbar/files/

Usage

Scan QR Code from Image File

uv run main.py path/to/qr_code.png

Scan QR Code from Webcam

uv run main.py --webcam

Press 'q' to quit the webcam view.

Decode Command String Directly

If you already have the command string:

uv run main.py --string "mVr4p60x-.5cFw55"

Example Output

============================================================
GoPro Labs QR Code Decoder
============================================================

Raw Command String: mVr4p60x-.5cFw55

Decoded Parameters:
------------------------------------------------------------
1. Mode: Video
   └─ Command: 'm', Value: 'V'
2. Resolution: 4 K/MP
   └─ Command: 'r', Value: '4'
3. Frame Rate: 60 fps
   └─ Command: 'p', Value: '60'
4. Exposure Compensation: -0.5 EV
   └─ Command: 'x', Value: '-0.5'
5. Color Profile: Flat
   └─ Command: 'c', Value: 'F'
6. White Balance: 55 K
   └─ Command: 'w', Value: '55'
============================================================

Command Reference

The decoder recognizes the following GoPro Labs commands:

Mode Settings

  • m - Camera mode (V=Video, P=Photo, T=Timelapse, etc.)
  • r - Resolution
  • p - Frame rate
  • f - Field of view

Image Settings

  • w - White balance
  • c - Color profile (G=GoPro, F=Flat, N=Natural, V=Vibrant)
  • x - Exposure compensation
  • i/I - ISO min/max
  • s - Sharpness

Video Settings

  • v - Video stabilization
  • b - Bit rate
  • S - Shutter speed

Other Settings

  • t - Timelapse interval
  • z - Digital zoom
  • a - Audio settings
  • l - LED settings
  • g - GPS on/off
  • q - QuikCapture

And many more! See the source code for the complete list.

Troubleshooting

"No module named 'cv2'" or similar errors

Make sure you've installed all dependencies:

pip install opencv-python pyzbar pillow

"No QR code found in the image"

  • Ensure the image is clear and the QR code is visible
  • Try increasing the image size or improving lighting
  • The QR code should not be distorted or damaged

Webcam not opening

  • Check that your webcam is connected and not in use by another application
  • On Linux, you may need to add your user to the video group
  • Try specifying a different camera device in the code if you have multiple cameras

Contributing

Contributions are welcome! Feel free to submit issues or pull requests.

License

APACHE 2.0

Disclaimer

This is an unofficial tool and is not affiliated with GoPro Inc. GoPro Labs is an experimental firmware program by GoPro Inc.

About

Small tool to decode GoPro labs QR codes into human readable parameters

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages