Skip to content

thomas-brunel/teslacam-viewer

Repository files navigation

TeslaCam Viewer

TeslaCam Viewer Logo

A modern, cross-platform Tesla dashcam footage viewer built with Rust and Dioxus. View, organize, and analyze your Tesla's Sentry Mode and saved dashcam recordings with an intuitive interface.

As of right now, only the desktop version is working. Web will be done after, and then mobile for iOS and Android.

Quick disclaimer: This project has firstly been done to learn dioxus as well as improving my Rust skills. It is not affiliated with Tesla Inc. in any way. I plan to improve it over time but don't expect a fully polished product yet, this is done in my spare time.

License Rust Platform GitHub Stars GitHub Issues GitHub Actions Downloads

Table of Contents

Features

  • Desktop Application: Native desktop app with smooth performance
  • Clip Organization: Browse clips by type (Recent, Saved, Sentry Mode)
  • Multi-Camera View:
    • Single camera focused view
    • Mosaic view with all cameras (Front, Rear, Left and Right) synchronized
    • Camera switching with preserved playback position
    • Works with older version of clip containing only 4 views as well as with the new 6 views.
  • Event Information: View location, reason, and trigger camera for Sentry events
  • Video Controls: Full playback controls with seeking and synchronization
  • Theme Support: Light and dark theme options

Demo

Adding video demo

Next features

This is an unordered list features that will be added to desktop version. Once all of them will be implemented. The web version will be started.

  • Add more filtering options (by location, date ranges, by trigger, ...).
  • Add other mosaic options (3x3 for large screens).
  • Add the possibility to select the camera and its position in the mosaic view.
  • More video controls:
    • speed playback,
    • keyboard shortcuts,
    • backward and forward buttons of configurable time.
  • Add possibility to delete clips.
  • Add a map view.
  • Add an export of a clip or portion of it.

Quick Start

Prerequisites

  • Rust (1.88 or later) - Install Rust
  • TeslaCam Folder: Created by Tesla on your USB drive or SSD

Installation

Option 1: Download Pre-built Binary (Easiest)

Download the latest release for your platform from the Releases page:

  • macOS (Intel): teslacam-viewer-macos-x86_64.dmg - Mount and drag to Applications
  • macOS (Apple Silicon): teslacam-viewer-macos-aarch64.dmg - Mount and drag to Applications
  • Windows: teslacam-viewer-windows-x86_64.msi - Run the installer
  • Linux (Debian/Ubuntu): teslacam-viewer-linux-x86_64.deb - Install with sudo dpkg -i teslacam-viewer-linux-x86_64.deb
  • Linux (Universal): teslacam-viewer-linux-x86_64.AppImage - Make executable with chmod +x and run

Option 2: Build from Source

# Clone the repository
git clone https://github.com/thomas-brunel/teslacam-viewer.git
cd teslacam-viewer

# Run the desktop app
cargo run --package desktop --release

📖 For detailed installation instructions, troubleshooting, and tips, see the Quick Start Guide.

Building Executables

# Install Dioxus CLI
cargo install dioxus-cli

# Create bundled application
dx bundle --package desktop --release

Usage

  1. Launch the application
  2. Select your TeslaCam folder - Click "Select 'TeslaCam' folder" and navigate to your USB drive's TeslaCam directory
  3. Browse your clips - Clips are automatically organized by type (Recent, Saved, Sentry)
  4. Filter clips - Use the filter buttons to show/hide different clip types
  5. View clips - Click on any clip to open the video player
  6. Switch views - Toggle between single camera and mosaic (multi-camera) view
  7. Control playback - Use the video controls to play, pause, and seek through footage

Contributing

Contributions are welcome! Whether you're fixing bugs, adding features, or improving documentation. Thanks to anyone taking the time to improve this project.

Getting Started

  1. Fork the repository
  2. Create a feature branch on your fork
  3. Push your changes to this new branch
  4. Open a Pull Request

Development Guidelines

  • Follow Rust naming conventions and idioms
  • Add documentation for public APIs
  • Keep commits focused and descriptive
  • Test your changes on your target platform
  • Update documentation if you're changing functionality

Useful Resources

Bug Reports & Feature Requests

Found a bug or have an idea? Please check our Issues page and create a new issue if it doesn't already exist.

License

This project is licensed under the MIT License - see the LICENSE.txt file for details.

Acknowledgments

Contact

About

This is a cross-platform viewer for the sentry of a Tesla made using Dioxus

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published