v1.15.3 - Safari: WebM zuerst statt MP4 (Encoder-Bug umgangen)
Fix für Safari: leerer Video-Download
Aus der Browser-Konsole eines betroffenen Safari-Nutzers wurde das Problem klar identifiziert:
recording mime selected: video/mp4;codecs=avc1.42E01E
recording finalised: { totalBytes: 0, ... }
recording produced no data; nothing to download
WebKit/Safari meldet zwar isTypeSupported = true für MP4/H.264, der Encoder schreibt aber leere Container, wenn der Input ein canvas.captureStream() ohne Audio-Track ist. Bestätigt unter Safari 17 und 18. Der Fix aus v1.15.2 (Audio-Codec aus dem Mime weglassen) hat das in Chromium repariert, in Safari steckt der Bug aber tiefer im Encoder selbst.
Lösung
User-Agent-Erkennung für Safari, dort die Codec-Reihenfolge umgedreht:
| Browser | Reihenfolge | Erwartetes Format |
|---|---|---|
| Safari (Desktop und iOS) | WebM zuerst, MP4 als Fallback | .webm |
| Chrome / Edge / Brave | MP4 zuerst, WebM Fallback | .mp4 |
| Firefox | MP4 (geht nicht, übersprungen), WebM | .webm |
| Andere | MP4, dann WebM | je nach Browser |
Safari unterstützt WebM-Recording stabil ab macOS 14.4 / iOS 14.5. Bei aktueller Safari-Version (was Du auf einem M1+/M2+/M3-Mac hast) funktioniert WebM zuverlässig und produziert reale Daten.
Diagnose-Log erweitert
[Bosch eBike 3D] recording mime selected: video/webm;codecs=vp9 (safari = true)
Dann ist klar: Safari-Branch wurde getroffen, WebM gewählt.
Was Du als Safari-Nutzer jetzt bekommst
.webm-Datei mit VP9-Codec- Spielt direkt in Safari, Chrome, Edge, Firefox, VLC
- macOS-QuickTime ab macOS 14: nativ
- Ältere macOS: VLC oder ffmpeg-Konvertierung
- iPhone Photos / Android Galerie: VLC for iOS / Android oder direkter Browser-Player
MP4 für Chrome/Edge bleibt
Auf Chromium-Browsern wird weiter MP4 bevorzugt, das funktioniert dort sauber.
Nach dem Update
HACS-Update auf 1.15.3, HA-Neustart, Browser-Hard-Reload. Aufnahme nochmal testen. Im Konsolen-Log sollte jetzt safari = true und video/webm;... stehen, und nach Tour-Ende erscheint der grüne Download-Chip mit einer realen Dateigröße (z. B. "Video herunterladen (28,4 MB)").
Klick darauf → Download startet zuverlässig.