Guide on how to set up RTSP on PC and email with snapshots

Hi all,

I’m an owner of 2x WyzeCam V2s and a WyzeCam Pan. Have been using them for a while and have made a couple of feature requests over the past 1~2 years. The WyzeCams are great value for money, but app features are lacking. I got tired of waiting for them to release basic features, such as emailing snapshots taken during motion events (as it’s annoying checking notifications on your phone constantly), as well as RTSP viewing on PC.

As someone who works in IT, I sit at my desk all day and monitor my PC/laptop constantly. It’s much easier for me to just check for emails, instead of switching to my phone and breaking my workflow.

So, I present to you my workaround for getting these 2 features working. Please note that I will not provide any additional support on your issues. The following guide is written as is.

First, you’ll need the following:

  • tinyCam Pro (download from Google Play). It costs a few $ but it’s worth it. Alternatively you can find a “free” copy of the app online if you know what I mean. I don’t think there’s one for iOS, but just get a free Google account and pay the damn app on Google Play. You don’t need an Android device to get this working.

  • Google Drive account (optional). We will be using Google App Script to perform some extra magic and Google App Script works with Google Drive, since they are both Google products.

  • Google Backup & Sync (again, optional as above).

  • Bluestacks (Android emulator). I find this performs the best out of all of them. You can use whatever Android emulator you want. This is free to download online.

OK, onto the instructions:

  1. Install Bluestacks on a PC. Don’t know about MACs, but you’ll have to find an Android emualtor for MAC or use Wine or something to emulate Windows on your MAC, then install your Android emulator in your Windows VM running on your MAC.

  2. Install tinyCam

  3. Make sure you set the following settings:

Go into Settings -> UI & behaviour:

Video settings:

Watchdog:

Under Email account:

  • Email address = “To address”
  • Send emails via - you can leave this as the default and it will just use tinyCam’s email server to send out the emails with the snapshots. TinyCam will send an email to whatever you specified in the “Email address” field and get you to verify that you authorize them to send you emails. No further configurations are required. HOWEVER, I do not recommend this. They only send up to 500 emails per month if I recall correctly. Just use your Gmail account, as the sending limit is like 300~500 per day.

To use your Gmail account, set this option to “SMTP server”. Then just supply your SMTP username and SMTP password. That’s all you need, do not change any other settings. Note that you may need to configure an app password in your Google account:

accounts.google.com

Or that you may need to allow “less secure apps” access:
https://support.google.com/a/answer/6260879?hl=en

Under Developer settings:

  • Disable submit statistics
  • Disable Tasker support
  • Take note of the “Legacy in-app motion detection” option at the bottom. You may or may not want to use this. I choose to leave this disabled.

Disable “Enable tinyCam cloud”:

Now, go to Manage cameras:
image

Add IP camera:
image

Now this bit here is important, you want to get this right. First, select the Camera brand as Wyze Labs and select the camera model you’ve using. Then set a Camera name (this bit doesn’t matter). Note that if you set the Camera name first and then choose a camera brand/model later, the name gets wiped.

image

Next, set your Login settings to be the same login as the one you use to access your Wyze account or app. I don’t have any 2FA configured on my Wyze account (apparently this is a feature that was released recently). I don’t know if 2FA will affect the configurations in tinyCam.

Also, take note of the “Protocol” setting. By default, it uses “Cloud” and that’s fine with me. But you could try other options (I never tried them). Now, after you’ve added your account, go to the top and select Camera status. You should see something like this:

If you configured it correctly, it should show you all your Wyzecam devices, as well as a live view of it. The important thing to note is the numbers against the cameras. The numbers define the “channel”. So for example, I want to use channel 3 - Camera Main House.

Now, go to the bottom and select Advanced settings and set the channel to whatever camera you want (in my case, channel 3):

image

If you have multiple Wyzecam devices, you’ll need to create a new IP camera and go through the above steps and select the channel you want.

Now, go into Recording and disable any “Local storage recording”. I do not want to use any recording here, because WyzeCam does a pretty good job with the native recording. Enabling recording also affects performance, and we don’t want that.

Next, go to Motion detection and configure the In-app motion sensitivity. I set mine to 65, but you may want to play around with this setting. Also, set the motion detection zones you want.

Next, make sure System notification on motion and Email on motion is set:

Now, go into Background Mode:

Select your camera and hit the start button on the bottom right:

Make sure that the person icon is not disabled. It should look like what I have in the image above. Essentially, this tells the app to detect motion and keep the app running in the background constantly.

Finally, in the live view, click on the hamburger lines icon:

image

Then select bitrate to 30KB/S.

image

So now, you should be a Bluestacks notification of TinyCam running:

image

And you should also be getting a live view (which is technically RTSP) to your camera. Remember, you can always change the “Protocol” setting mentioned above from Cloud to RTSP or something else. I keep it as Cloud. And finally, you can get email notifications with snapshots.

Important to note:

  • Since Bluestacks is an Android emulator, you want to make sure that you give it enough CPU and RAM to run it. Alternatively, you can replace Bluestacks with an actual Android device, maybe like a cheap/spare Android phone.

  • You need to make sure that tinyCam is running correctly and is getting a live view. Otherwise, the in-app motion detection will not work and no emails are sent. TinyCam does not rely on the Wyze motion detection. Under the live view, you can click on the “i” icon twice to get information about the FPS on the bottom left hand side.

image

======================================================================================

Now, this bit is optional but I recommend setting it up. One annoying thing with this setup is that the tinyCam emails get sent with the same subject. So imagine you get 100 emails in one day. In your Gmail, if you have “Conversation view” setting enabled, then you’ll get a single email thread but with 100 emails inside it. This can be hard to scroll through. If you have “Conversation view” off, then you’ll see 100 individual tinyCam emails, which can be annoying to go through.

Also, I got tired of checking for emails, much the same way I got tired of checking for motion alert notifications on the Wyze app. So, why not extract the snapshots in the email and place it in a folder on your PC? Then just monitor the folder and use an image viewer to quickly go through the images in one go. To achieve this, we need to use Google Drive and Google App Script for scripting.

First, go to your Gmail and create 2 labels:

image

Labels to create are (use the exact names as below):
Gmail2Drive-WyzeCam
to-gdrive/processed

Then, create a filter:
“[tinyCam] Motion detected” AND in:inbox


From now on, any tinyCam emails should have the “Gmail2Drive-WyzeCam” label applied automatically by the Gmail filter. This is important.

Now, go to your Google Drive and create a folder named “WyzeCam”.

Next, create a Google App Script here:
https://script.google.com/

Create a new script and name it whatever. Edit the script (double click on the file). Create a Code.gs and Config.gs file:

image

Next, copy everything here into the Code.gs:
https://pastebin.com/449mD37f

And copy everything here to Config.gs:
https://pastebin.com/jUCh27ut

Save both scripts.

Next, go here:

image

Enable this:

image

We also need to enable the Gmail API on the Google Cloud Platform:
https://console.cloud.google.com/home

Search Gmail API and enable it:

Now, let’s run a manual test. Make sure in your Gmail, there are tinyCam emails in your inbox and have the the label “Gmail2Drive-WyzeCam” applied.

To run, just select “Gmail2Drive”:
image

Now, go to your Gmail. You should find that the tinyCam emails will have the “to-gdrive/processed” label applied by Google App Script and they should be archived. The images are then extracted and stored in the “WyzeCam” folder in your Google Drive.

If everything up to this point is correct, then you’ve set this up correctly. All that is left to do is to make the script run automatically on a schedule. To do this, click the timer icon:

image

Then create new trigger and select “Gmail2Drive” and make it run every minute:

All done!

You then need to setup the Google Backup & Sync app on your PC and make sure you select the WyzeCam folder to sync. Now, you should be able to monitor that WyzeCam Google Drive folder and view any snapshots saved into it directly on your machine.

BONUS:
Instead of using Bluestacks, you may want to try BlissOS to get even better performance (in terms of running an Android emulator of course). I personally find using BlissOS better than BlueStacks. I would recommend taking an old PC and repurpose it just to run BlissOS. On your old PC, make sure to use Legacy BIOS/MBR and not UEFI. Then, download BlissOS (https://sourceforge.net/projects/blissos-x86/files/latest/download). Burn the ISO using RUFUS and again use MBR/BIOS and not UEFI.

Go through the installation and once you’ve booted up into BlissOS, go into the Android settings to enable the WiFi and click on VirtWifi to connect to the network. From there, install tinyCam and repeat steps above.

12 Likes

Very impressive tutorial. Thank you.