Explain Tesla 2026.20 clip encryption instead of a generic corrupt-file error#68
Merged
Conversation
…le error Tesla software 2026.20 (May 2026) turns on "Encrypt Dashcam Recordings" by default on Ryzen-infotainment vehicles, writing AES-encrypted containers to the USB drive instead of plain MP4s. The decryption keys are only obtainable from Tesla's servers through the owner's account, so the app cannot play the footage -- but until now it also could not say why: every chunk failed the moov probe, got auto-excluded, and the user saw "No front camera footage found." on a drive full of files. EncryptedClipDetector sniffs the first box header of each chunk's front file: a clip whose files all have content but none starts with a known ISO-BMFF box type is flagged as encrypted (a merely corrupt or truncated recording still carries its ftyp header, so it stays on the existing recovery path). The two give-up sites in VideoPlayerController now show a message that points at the in-car toggle (Controls > Safety > Encrypt Dashcam Recordings) and Tesla's own dashcam.tesla.com viewer. Verified live: a clip of encryption-shaped files (20-byte header + IV-prefixed 4 KiB chunk, no box structure) shows the explanation in the error overlay; header-carrying truncated files still report the ordinary missing-footage message.
Per Daniel's style preference: no column-driven hard wraps. The encryption message string is now one literal instead of a three-line + concatenation, and the doc comments / inline comments I added break only at sentence boundaries.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Tesla software 2026.20 (released May 30, 2026) enables Encrypt Dashcam Recordings by default on Ryzen-infotainment vehicles — which includes every current model. The USB drive then holds AES-encrypted containers instead of MP4s, and the per-file keys are only obtainable from Tesla''s servers via the owner''s account (reverse-engineering write-up). The app can''t play that footage, but until now it also couldn''t say why: every chunk failed the
moovprobe, was auto-excluded by the builder, and the owner of a drive full of files saw "No front camera footage found."What
EncryptedClipDetectorsniffs the first box header of each chunk''s front file. A clip whose files all have content but none starts with a known ISO-BMFF box type is flagged as encrypted. A merely corrupt or truncated recording still carries itsftypheader on at least some chunks, so ordinary corruption stays on the existing probe/recovery path.VideoPlayerController(primary playlist missing after the builder excluded everything, andGiveUpOnClip) now show a message pointing at the in-car toggle (Controls > Safety > Encrypt Dashcam Recordings) and Tesla''s own viewer (dashcam.tesla.com).Detection only — actually decrypting in-app would require Tesla account auth and posting file UUIDs to Tesla''s API, which is a separate product decision.
Verification