Video · Clip abrufen
Clip auf Abruf. In Ihre Cloud liefern.
Sieben Service-Operationen decken den Lebenszyklus gespeicherter Medien ab. Stream-Copy-Clip-Extraktion — kein Decode, kein Re-Encode, ~1–2 s GOP-Slop pro Rand. SFTP-Upload mit Host-Key-Pinning, Pfad-Traversal-Schutz und mp4-reduce.
Wie es funktioniert
Sieben Service-Operationen. Ein Upload-Pfad.
GetSegments fragt den Segment-Index nach Objektiv und Zeitraum ab; ExtractClip führt Stream-Copy-Mux-only-Extraktion mit ~1–2 s GOP-Slop durch; Upload sendet per SFTP mit Host-Key-Pinning; mp4-reduce entfernt free/skip-Atome und patcht stco-Offsets. Snapshot (Keyframe zu JPEG ~50 ms) und Protect/Unprotect sind als gestrichelte Seitenpfade dargestellt.
flowchart LR G[GetSegments<br/>nach Objektiv + Zeitraum] --> X[ExtractClip<br/>nur Mux · ~1–2 s GOP-Slop] X --> U[Upload<br/>SFTP · Host-Key-gepinnt] U --> M[mp4-reduce<br/>free/skip entfernen · stco patchen] S[Snapshot<br/>Keyframe → JPEG ~50 ms] -.-> X P[Protect / Unprotect] -.-> G
| Operation | Eingabe | Ausgabe |
|---|---|---|
| GetSegments | Objektiv, start_ts, end_ts | Liste von SegmentRow |
| ExtractClip | segment_id, start_offset, end_offset | Clip-Pfad auf Datenträger |
| Snapshot | segment_id, keyframe_offset | JPEG-Pfad |
| Protect | segment_id | — (idempotent) |
| Unprotect | segment_id | — (idempotent) |
| Remove | segment_id | — (löscht Datei + Zeile) |
| Upload | Pfade, destination_uri, Optionen | Upload-Status-Stream |
Architecture
Was Sie nicht schreiben — die von MOS4 gelieferte Infrastruktur.
mos-dashcam Segment-Index (SQLite, In-Memory mit Snapshots), Retention-Enforcer und alle sieben Service-Operationen — GetSegments, ExtractClip, Snapshot, Protect, Unprotect, Remove, Upload. Gamma-Tier: produktionsreif auf internen Aufzeichnungspfaden.
splitmuxsrc ! qtmux ! filesink
GStreamer-Mux-only-Pipeline für ExtractClip — splitmuxsrc liest das Quellsegment;
qtmux re-muxt den Stream; filesink schreibt den Ausgabe-Clip. Kein
Decode, kein Re-Encode, kein Pixel-Rundtrip.
russh-sftp ring backend
SFTP-Upload-Transport — russh-sftp mit Ring-Backend, Host-Key-Pinning, Pfad-Traversal-Schutz
und Kontext-Token-URL-Substitution. Integration liefert eine URI; der micro service übernimmt
den SSH-Handshake und den Stream-Transfer.
mp4-reduce
Entfernt free- und skip-Atome aus dem MP4-Container, dann werden
stco / co64 Chunk-Offset-Tabellen gepatcht, um die Datei gültig zu
halten. Reduziert Upload-Nutzlast ohne einen einzigen Frame neu zu kodieren.
dashcam-controller BETA
Whitelabel-Dashcam-Integration über Wi-Fi HTTP und TCP-Benachrichtigung. Warteschlange mit
TTL überbrückt Verbindungslücken. Unterscheidet sich von
mos-dashcam — dieser micro service steuert ein externes Hardware-Gerät, nicht die
interne Aufzeichnungspipeline auf der MOS4-Box.
mos-dashcam vs. dashcam-controller
mos-dashcam (Gamma) ist der interne Rekorder: er läuft auf der MOS4-Box, besitzt das Segment-FIFO und stellt die sieben oben dokumentierten Service-Operationen bereit. dashcam-controller (BETA) steuert eine externe Whitelabel-Dashcam-Einheit über Wi-Fi HTTP und TCP-Benachrichtigung — separate Hardware, separater Lebenszyklus, dasselbe Fahrzeug. Beide können gleichzeitig laufen; sie teilen keinen Zustand.
FAQ
Häufig gestellte Fragen
-
Kann ich einen Clip aus einem bestimmten Zeitfenster anfordern?
Ja — GetSegments(Objektiv, start_ts, end_ts) liefert die passenden Segmente; ExtractClip(segment_id, start_offset, end_offset) schreibt ein stream-kopiertes MP4 mit ~1–2 s GOP-Slop pro Rand.
-
Wie schnell ist ein Vorschaubild?
~50 ms Keyframe→JPEG auf QCS6490 über qtic2vdec und jpegenc — kein vollständiger Decode-Durchlauf, kein Re-Encode.
-
Wie überlebt der Upload Mobilfunk-Ausfälle?
Der micro service stellt den Upload-Status über einen Service-Aufruf bereit; Retry-Logik in der Integrationsschicht behandelt Mobilfunk-Ausfälle. mp4-reduce verkleinert die Nutzlast vor dem Upload — kein Re-Encode, nur das Entfernen von free/skip-Atomen und stco-Offset-Patching.
-
Was ist der Unterschied zwischen mos-dashcam und dashcam-controller?
mos-dashcam (Gamma) ist der interne Rekorder, der auf der MOS4-Box läuft — er besitzt den Segment-Index, den Retention-Enforcer und alle sieben Service-Operationen. dashcam-controller (BETA) steuert externe Whitelabel-Dashcam-Hardware über Wi-Fi HTTP und TCP-Benachrichtigung. Beide können auf demselben Fahrzeug gleichzeitig laufen.
-
Was, wenn ich interne Aufzeichnung UND eine verbundene externe Dashcam benötige?
Sie lassen sich kombinieren. Interne Aufzeichnung verwendet mos-dashcam; die externe Dashcam wird von dashcam-controller (BETA) gesteuert — eine Warteschlange mit TTL überbrückt Verbindungslücken zwischen den beiden.
Bringen Sie Ihre Kameras und Ihre Aufgabe.
MIPI / GMSL / RTSP / WebRTC / SRT, interne Aufzeichnung, externe Whitelabel-Dashcam-Integration, Aufwecken bei Ereignis — wählen Sie Ihre Funktion und wir skizzieren die Pipeline.
Weiter
Andere Video-Funktionen
Multi-Kamera
Fünf Transporte · zwei SoC-Familien · eine Service-API.
Aufzeichnung mit Ereignis-Markierung
Rotatives FIFO + ereignismarkierte Clips + DSGVO-Live-Anonymisierung.
Live-Streaming
WebRTC · RTSP · SRT.
Ereignisgesteuertes Aufwecken
Sieben Quellen · < 5 s Bereitschaft.
Cloud-KI auf Clips
Lifecycle-Merge · DSGVO-konform.