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.
- TeslaCam Viewer
- 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
Adding video demo
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.
- Rust (1.88 or later) - Install Rust
- TeslaCam Folder: Created by Tesla on your USB drive or SSD
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 withsudo dpkg -i teslacam-viewer-linux-x86_64.deb - Linux (Universal):
teslacam-viewer-linux-x86_64.AppImage- Make executable withchmod +xand run
# 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.
# Install Dioxus CLI
cargo install dioxus-cli
# Create bundled application
dx bundle --package desktop --release- Launch the application
- Select your TeslaCam folder - Click "Select 'TeslaCam' folder" and navigate to your USB drive's TeslaCam directory
- Browse your clips - Clips are automatically organized by type (Recent, Saved, Sentry)
- Filter clips - Use the filter buttons to show/hide different clip types
- View clips - Click on any clip to open the video player
- Switch views - Toggle between single camera and mosaic (multi-camera) view
- Control playback - Use the video controls to play, pause, and seek through footage
Contributions are welcome! Whether you're fixing bugs, adding features, or improving documentation. Thanks to anyone taking the time to improve this project.
- Fork the repository
- Create a feature branch on your fork
- Push your changes to this new branch
- Open a Pull Request
- 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
- Dioxus Documentation - Learn about the UI framework
- Rust Book - Learn Rust
Found a bug or have an idea? Please check our Issues page and create a new issue if it doesn't already exist.
This project is licensed under the MIT License - see the LICENSE.txt file for details.
- Built with Dioxus - A React-like UI framework for Rust
- Video processing powered by mp4-merge
- Thanks to all contributors
- GitHub Issues: Report a bug or request a feature
- Discussions: Ask questions and share ideas
