SeanPesce / Spade-Web-Viewer

Utility to convert Spade device video streams to MJPEG for live viewing in web browsers, VLC, etc.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MJPEG Mirror for Spade "Smart" Ear Cleaners

Author: Sean Pesce

Example clip from MJPEG stream

Overview

A utility for converting Axel Glade Spade "smart" earwax cleaner video streams to MJPEG for general-purpose use.

NOTE: This tool has only been tested with the Spade Mini, but it should work for any product that uses libmlcamera-2.5.so or the Spade mobile app (com.molink.john.spade - Google Play/iOS) for video streaming in its client implementation.

Usage

  • Power on the Spade device
  • Connect to the Spade WiFi
  • Start the stream mirror: python3 spade_mirror.py --no-ssl

With the stream mirror running, you can view the live video in a number of ways:

  • In a web browser; navigate to http://127.0.0.1:45100
  • In VLC (GUI); go to MediaOpen Network Stream..., set the URL to http://127.0.0.1:45100/stream, and then click Play
  • In VLC (command-line); run vlc http://127.0.0.1:45100/stream
  • With ffmpeg; run ffplay -i http://127.0.0.1:45100/stream

SSL/TLS

The video stream can also be transported over TLS for security. This document won't walk you through setting up your own PKI, but the following command will generate a key pair for encrypting traffic with TLS:

openssl req -new -newkey rsa:4096 -x509 -sha256 -days 365 -nodes -out cert.crt -keyout private.key

To start the stream mirror over HTTPS, specify the TLS key pair in the shell command:

python3 spade_mirror.py cert.crt private.key

The HTTPS stream will then be accessible at https://127.0.0.1:45100/stream.

Contact

If you find any bugs, please open a new GitHub issue.

Related Projects

Acknowledgements

License

GNU General Public License v2.0


For unrelated inquiries and/or information about me, visit my personal website.

About

Utility to convert Spade device video streams to MJPEG for live viewing in web browsers, VLC, etc.

License:GNU General Public License v2.0


Languages

Language:Python 100.0%