The place where random ideas get written down and lost in time.

2018-10-07 - Wyze App

Category DEV

Desktop app to access Wyze cams.

The TinyCam code seems easily reversible, and could be done as a desktop app instead of android.

To play an h264 stream, have a look at JavaCV https://github.com/bytedeco/javacv (Java wrappers around OpenCV ... can be useful for a lot of other applications).

In that specific case, a C# app might be better than Java as main target is Windows (potentially cross-platform with MonoDevelop, not sure if it’s even worth bothering here).

It’s a throw-away prototype, so failure is an option. The simplified goals would be:

  • Start by simulating whatever tinycam came up with, because it’s an easy start.
  • TinyCam only takes care of discovering and connecting to local live feeds.
  • Need to realize this is not my end goal. What I want is really:
    • View remote notifications.
    • View remote live feeds.
    • View remote playback feeds.
  • Doing this would probably looking at the wyze apk with an ssl proxy to capture the json payloads.

Doing it in C# would be also a good exercise to do an UWP.

https://docs.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide

UWP:

  • Requires/useful if using the Windows App Store
  • Can be sideloaded in Win 10 if device is set in dev mode.
  • APIs access to Win 10 features: Tiles, badges, Cortana, bunch of other crap.
  • Various languages/UI combos supported: JS HTML, C# XAML, C++ DirectX.

So maybe UWP is overkill in this case. Just stick to a regular C# desktop with the old style C# gui builder. Use VS Community, and expect it to be ages behind in terms of code completion.

Why not a web app instead of a desktop app?

  • Live viewing should work using any web page that can play an h264 feed. “In theory”?
  • In the mobile app, notifications are seen using a download + local player. A web app could use local storage and/or just stream the video feed.

So it’s worth investigating, even if it turns out to not work well.

Results (done in JS):


 Generated on 2024-11-20 by Rig4j 0.1-Exp-f2c0035