How to View Two TP-Link Tapo Cameras in One Window on Linux Using FFmpeg

Are you using TP-Link Tapo CCTV cameras like the Tapo C200, C310, or C500? Want to monitor multiple cameras on your Linux Mint Debian Edition (LMDE) system without heavy software like Shinobi or MotionEye?

This guide will walk you through a **lightweight, beginner-friendly method** using the powerful open-source tool: FFmpeg. You’ll be able to view two Tapo camera streams together in a single window, side-by-side!


🎯 What You’ll Achieve by the End

  • Enable RTSP stream access on your Tapo cameras
  • Find the IP address and RTSP URL for each camera
  • Install FFmpeg on LMDE
  • Create a simple script to show both camera feeds in one window
  • Add a clickable desktop icon for easy access

🔧 Step 1: Enable RTSP on Tapo Cameras

First, you need to turn on RTSP streaming — the protocol that lets your camera stream to apps like VLC or FFmpeg.

📱 Do This from the Tapo App:

  1. Open the Tapo app on your smartphone
  2. Select your camera (e.g., C500 or C310)
  3. Tap Settings → Advanced Settings
  4. Enable the toggle for:
    • RTSP Stream
    • ONVIF ✅ (optional, for advanced tools like NVRs)
  5. Tap Camera Account and set:
    • Username: cctvfront
    • Password: your_secure_password

This account is used to access the stream, so keep the username and password safe!


🌐 Step 2: Find Your Camera’s IP Address

Your Linux PC needs the local IP address of each Tapo camera to access its stream.

🔎 Option 1: From Tapo App

Go to Device Settings → Device Info. You’ll see something like:

  • Camera IP: 192.168.0.64

🔍 Option 2: From Router

Log into your router admin panel (usually at 192.168.0.1), check the list of connected devices. Look for entries like “Tapo_C500” or “TP-LINK_Camera.”

Example:

  • Front Camera IP: 192.168.0.64
  • Back Camera IP: 192.168.0.65

✅ Note these IPs. They will be used in the FFmpeg script.


💻 Step 3: Install FFmpeg on Linux Mint Debian Edition (LMDE)

FFmpeg is a command-line tool that handles video streams, recording, and manipulation. It includes a viewer tool called ffplay that we’ll use.

Install it with one command:

sudo apt update && sudo apt install ffmpeg -y

📜 Step 4: Create a Script to View Two Cameras Together

1️⃣ Create the script file

nano ~/view-cams.sh

2️⃣ Paste the following code:

#!/bin/bash

# Define RTSP stream URLs
CAM1="rtsp://cctvfront:your_password@192.168.0.64:554/stream1"
CAM2="rtsp://cctvback:your_password@192.168.0.65:554/stream1"

# Combine both camera views side-by-side
ffmpeg -rtsp_transport tcp -i "$CAM1" -rtsp_transport tcp -i "$CAM2" \
-filter_complex "\
[0:v]scale=-1:720[front]; \
[1:v]scale=-1:720[back]; \
[front][back]hstack=inputs=2[v]" \
-map "[v]" -f matroska - | ffplay -

3️⃣ Save and make it executable:

chmod +x ~/view-cams.sh

4️⃣ Test the script:

~/view-cams.sh

🎉 You should see both Tapo camera feeds in a single window!


🖱️ Step 5: Create a Desktop Icon to Launch the Viewer

So you don’t need to run the script from terminal every time, let’s make a simple desktop launcher.

1️⃣ Create the file:

nano ~/.local/share/applications/view-tapo.desktop

2️⃣ Paste this content:

[Desktop Entry]
Name=View Tapo Cameras
Exec=/home/saurab/view-cams.sh
Icon=camera-web
Terminal=false
Type=Application

3️⃣ Make it visible on the Desktop:

cp ~/.local/share/applications/view-tapo.desktop ~/Desktop/
chmod +x ~/Desktop/view-tapo.desktop

👉 Right-click the desktop icon → Allow Launching


✨ Bonus Tips for Power Users

  • Want top-bottom view? Replace hstack with vstack
  • Want to record? Use -f matroska output.mkv instead of | ffplay -
  • Need remote access? Use Cloudflare Tunnel with RTSP or Shinobi stream output
  • Combine with a motion detection script for Telegram alerts!

🔚 Conclusion

With just one script and FFmpeg, you can turn your Linux PC into a lightweight, live CCTV dashboard for your Tapo smart cameras. It’s fast, clean, and doesn’t require heavy software or cloud dependency.

Got questions or want an advanced version with recording or alerts? Let us know!

Tags: Tapo C500, Tapo C310, Tapo C200, Linux CCTV, FFmpeg, RTSP, LMDE, Smart Home, Self-Hosted, TP-Link Camera Setup


FAQ

Can I view TP-Link Tapo cameras on Linux without the Tapo app?

Yes! By enabling RTSP streaming in the Tapo app and using tools like FFmpeg or VLC, you can view your Tapo CCTV cameras directly from Linux systems such as Linux Mint Debian Edition (LMDE).

How do I find the RTSP URL for my Tapo camera?

After enabling RTSP in the Tapo app and setting a camera username and password, your RTSP stream URL will be: rtsp://USERNAME:PASSWORD@CAMERA-IP:554/stream1.

Can I view two Tapo camera feeds in one window?

Yes, using FFmpeg and a simple script you can view two Tapo RTSP streams in a side-by-side (or top-bottom) layout using hstack or vstack filters.

Is it safe to expose my Tapo RTSP stream over the internet?

Direct exposure is risky. Use secure tools like Cloudflare Tunnel or VPN to access your stream remotely without opening RTSP ports to the internet.

What is the RTSP port number for Tapo cameras?

The RTSP port for Tapo cameras is usually 554. This is included in the stream URL: rtsp://user:pass@ip:554/stream1.

Can I record the RTSP stream using FFmpeg?

Yes! Replace | ffplay - with output.mkv in your script. Example: ffmpeg -i "RTSP_URL" -t 00:10:00 -c copy output.mkv records a 10-minute clip.

Why does FFmpeg say connection refused?

Make sure RTSP is enabled, the camera IP is correct, and the user/pass is valid. Also, check if your PC and camera are on the same network.

Can I use this method to view 3 or 4 Tapo cameras?

Yes, but you’ll need to modify the FFmpeg -filter_complex to use xstack for multi-tile layouts. Performance may vary based on your system.

About the author

Saurab Thakur
Student, Photographer by Hobby, Blogger / Content Writer

Post a Comment