1. Dashboard
  2. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Forum
  • Seiten
  • FAQ
  • Erweiterte Suche
  1. DashCamForum.de
  2. Frank

Beiträge von Frank

  • Video verpixeln - Eine hoffentlich nicht zu grüne Banane.

    • Frank
    • 27. Juli 2014 um 23:06

    Eigentlich sollte alles einigermaßen schlüssig sein. Das kann ich natürlich sagen. Geht alles nach "meiner Logik". Deshalb ein paar Hinweise.

    1 - "Neues Script"

    In das Editorfenster wird das Gerüst des AviScriptes geschrieben. Sollte bereits eines darin enthalten sein, kann dieses noch gespeichert werden.

    Code
    ###=== Das zu verpixelnde Video. ======================
    MyVideo = AviSource("Über den Button links oben laden.">
    
    
    ###=== Einfügen der Maske. ============================
    ### Die Variablen:
    ### - clip                      Das Video auf das die Funktion angewandt werden soll.
    ### - start_frame, end_frame    Das erste und das letzte Bild. Sie dürfen nicht identisch sein.
    ### - start_x, start_y          Die obere linke Ecke der Maske im ersten Bild.
    ### - end_x, end_y              Die obere linke Ecke der Maske im letzten Bild.
    ### - start_h, start_w          Die Höhe und Breite der Maske im ersten Bild.
    ### - start_h, start_w          Die Höhe und Breite der Maske im letzten Bild.
    function MyAnimate(clip "clip", int "start_frame", int "end_frame", int "start_x", int "start_y", int "end_x", int "end_y", int "start_h", int "start_w", int "end_h", int "end_w")
    {
      masc = BlankClip(height = start_h, width = start_w, color=$000000)
      return ApplyRange(Clip, start_frame, end_frame, "Animate", start_frame, end_frame, "Overlay", masc, start_x, start_y, masc, end_x, end_y)
    }
    
    
    ###=== Platz für Einzelbefehle. =======================
    ### Beispiel:
    ### a = MyAnimate(MyVideo, 0, 13, 50, 350, 0, 380, 40, 120, 40, 120)  # Funktion wird auf MyVideo von Bild 0 bis 13 angewandt. Maske wandert von 50, 350 nach 0, 380.
    ### b = MyAnimate(a, 12, 31, 265, 330, 100, 400, 40, 120, 40, 120)    # Funktion wird auf a angewandt. Die Maskengröße beträgt unverändert 40 * 120.
    ### MyAnimate(b, 240, 276, 1055, 427, 1060, 450, 40, 120, 40, 120)    # Funktion wird auf b angewandt. Es gibt keine linke Seite, so dass das Ergebnis angezeigt wird.
    
    
    ###=== Fake ===========================================
    MyAnimate(MyVideo, 0, 50, 100, 100, 400, 200, 40, 120, 400, 600)
    Alles anzeigen

    Schlägt man die anderen Tabs auf, gibt es noch Fehlerhinweise.

    2 - "Script öffnen"

    Damit läßt sich ein bestehendes Script laden. Es wird das Video gesucht und geladen.

    3 - "Script speichern"

    Das Script speichern. Hat das Script bereits einen Namen erfolgt dies ohne Dialog.

    4 - "Script speichern unter"

    Das Script wird mit einem "Speichern unter"-Dialog gespeichert. Dabei sollte im Moment die Dateiendung ".AVS" mit angegeben werden.

    5 - "Video laden"

    Es wird die Zeile

    Code
    MyVideo = AviSource("Über den Button links oben laden.">


    gesucht und dort die mit dem Dialog ausgewählte Datei eingetragen.

    Im Moment werden nur AVIs geladen und die Größe 720 * 1280 verwendet weil dies das Material von meinner Kamera ist. Hat es keine Fehlermeldung gegeben, sollte das Originalvideo im Tab "Editor" und das Ergebnis mit dem Fakeeintrag im Tab "Zensor" zu sehen sein.

    Bilder

    • 1.png
      • 18,61 kB
      • 467 × 224
  • Video verpixeln - Eine hoffentlich nicht zu grüne Banane.

    • Frank
    • 27. Juli 2014 um 20:46

    Anhang entfernt. Neue Version 0.2

    In Videos verpixeln hatte ich angekündigt, dass ich eine GUI zum Verpixeln schreiben wollte. Falls es jemand gebrauchen kann, hier der erste Entwurf.

    Die Idee

    Aus datenschutzrechtlichen Gründen sollen Kennzeichen und/oder Gesichter in Videos vor einer Veröffentlichung unkenntlich gemacht werden. Dazu werden mit Avisynth verschiedene Masken auf das Bild gelegt und die entsprechenden Bildteile verdeckt.

    Hintergrund

    Avisynth ist ein scriptbasierter Frameserver. Ein Frameserver lädt Dateien, welche Video-, Audio- und/oder Bilddaten enthalten und gibt sie an andere Programme zur Weiterverarbeitung weiter. Das Script ist ein einfacher Text, welcher in einer ebenso einfachen Textdatei mit der Dateiendung .avs gespeichert ist. Mit Hilfe dieses Scriptes ist es möglich, Bild- und Tondaten mit Hilfe von Filtern in vielfältiger Art und Weise zu bearbeiten. In der Regel wird Avisynth zur Verbesserung von Video- und Bildmaterial verwendet.

    Vorbereitung

    Um Zensor verwenden zu können, muss Avisynth installiert sein. Zensor selbst ist eine portable Anwendung. Das bedeutet, es muss nicht installiert sondern nur entpackt werden, wobei das Programm Schreibrechte für sein Verzeichnis benötigt. In dieses wird eine INI-Datei und das temporäre Avisynth-Script gespeichert.

    Was kann Zensor?

    Zensor stellt im Tab "Avisynth-Script" ein Grundgerüst für das Avisynth-Script zur Verfügung. In dieses fügt es ein vom Anwender ausgewähltes AVI-Video ein. Auf dem Tab "Editor" wird das Originalvideo mit Hilfe von Avisynth angezeigt und der Anwender kann eine größenveränderliche Maske auf dem Bild positionieren. Das heißt, der Anwender sucht das erste und letzte Bild für die Maskierung aus. Dabei kann die Maske nur linear bewegt und noch nicht in der Größe geändert werden. Die Daten werden zunächst in eine Maske und später in das Script eingetragen. Das Script muss derzeit noch nachbearbeitet werden. Im Tab "Zensor" lässt sich die Wirkung des Scriptes kontrolliert werden.

    Nachbearbeitung

    Das Grundgerüst des Avisynth-Scriptes sieht so aus:

    Code
    ###=== Das zu verpixelnde Video. ======================
    MyVideo = AviSource("Über den Button links oben laden.")
    
    
    ###=== Einfügen der Maske. ============================
    ### Die Variablen:
    ### - clip                      Das Video auf das die Funktion angewandt werden soll.
    ### - start_frame, end_frame    Das erste und das letzte Bild. Sie dürfen nicht identisch sein.
    ### - start_x, start_y          Die obere linke Ecke der Maske im ersten Bild.
    ### - end_x, end_y              Die obere linke Ecke der Maske im letzten Bild.
    ### - start_h, start_w          Die Höhe und Breite der Maske im ersten Bild.
    ### - start_h, start_w          Die Höhe und Breite der Maske im letzten Bild.
    function MyAnimate(clip "clip", int "start_frame", int "end_frame", int "start_x", int "start_y", int "end_x", int "end_y", int "start_h", int "start_w", int "end_h", int "end_w")
    {
      masc = BlankClip(height = start_h, width = start_w, color=$000000)
      return ApplyRange(Clip, start_frame, end_frame, "Animate", start_frame, end_frame, "Overlay", masc, start_x, start_y, masc, end_x, end_y)
    }
    
    
    ###=== Platz für Einzelbefehle. =======================
    ### Beispiel:
    ### a = MyAnimate(MyVideo, 0, 13, 50, 350, 0, 380, 40, 120, 40, 120)  # Funktion wird auf MyVideo von Bild 0 bis 13 angewandt. Maske wandert von 50, 350 nach 0, 380.
    ### b = MyAnimate(a, 12, 31, 265, 330, 100, 400, 40, 120, 40, 120)    # Funktion wird auf a angewandt. Die Maskengröße beträgt unverändert 40 * 120.
    ### MyAnimate(b, 240, 276, 1055, 427, 1060, 450, 40, 120, 40, 120)    # Funktion wird auf b angewandt. Es gibt keine linke Seite, so dass das Ergebnis angezeigt wird.
    
    
    ###=== Fake ===========================================
    MyAnimate(MyVideo, 0, 50, 100, 100, 400, 200, 40, 120, 400, 600)
    
    
    MyAnimate(<Letzter Clip>, 0, 1073, 407, 110, 896, 386, 57, 120, 57, 120)
    Alles anzeigen

    Das Script enthält viele Kommentaren und ein paar Anweisungen. Alle Kommentare beginnen mit dem Zeichen '#'. Es besteht aus drei Teilen:

    Code
    ###=== Das zu verpixelnde Video. ======================
    MyVideo = AviSource("Über den Button links oben laden.")


    Hier wird der Variablen MyVideo das Video zugewiesen. Wie dem Text zu entnehmen ist, soll dazu der Button links über dem Script verwendet werden. Das ausgewählte AVI wird in das Script eingetragen.

    Es wäre auch die Einbindung von Quicktime (.mov) und MPEG (.mpg) möglich.

    Code
    ###=== Einfügen der Maske. ============================
    ### Die Variablen:
    ### - clip                      Das Video auf das die Funktion angewandt werden soll.
    ### - start_frame, end_frame    Das erste und das letzte Bild. Sie dürfen nicht identisch sein.
    ### - start_x, start_y          Die obere linke Ecke der Maske im ersten Bild.
    ### - end_x, end_y              Die obere linke Ecke der Maske im letzten Bild.
    ### - start_h, start_w          Die Höhe und Breite der Maske im ersten Bild.
    ### - start_h, start_w          Die Höhe und Breite der Maske im letzten Bild.
    function MyAnimate(clip "clip", int "start_frame", int "end_frame", int "start_x", int "start_y", int "end_x", int "end_y", int "start_h", int "start_w", int "end_h", int "end_w")
    {
      masc = BlankClip(height = start_h, width = start_w, color=$000000)
      return ApplyRange(Clip, start_frame, end_frame, "Animate", start_frame, end_frame, "Overlay", masc, start_x, start_y, masc, end_x, end_y)
    }
    Alles anzeigen

    Dies ist die Funktion, mit welchem ein schwarzer rechteckiger Fleck an einer bestimmten Stelle im Video gezeichnet wird. Darin muss nichts verändert werden. Die Kommentare erläutern, welche Variablen der Funktion übergeben werden müssen.

    Code
    ###=== Platz für Einzelbefehle. =======================
    ### Beispiel:
    ### a = MyAnimate(MyVideo, 0, 13, 50, 350, 0, 380, 40, 120, 40, 120)  # Funktion wird auf MyVideo von Bild 0 bis 13 angewandt. Maske wandert von 50, 350 nach 0, 380.
    ### b = MyAnimate(a, 12, 31, 265, 330, 100, 400, 40, 120, 40, 120)    # Funktion wird auf a angewandt. Die Maskengröße beträgt unverändert 40 * 120.
    ### MyAnimate(b, 240, 276, 1055, 427, 1060, 450, 40, 120, 40, 120)    # Funktion wird auf b angewandt. Es gibt keine linke Seite, so dass das Ergebnis angezeigt wird.
    
    
    ###=== Fake ===========================================
    MyAnimate(MyVideo, 0, 50, 100, 100, 400, 200, 40, 120, 400, 600)

    Der Teil enthält als Kommentar ein Beispiel dafür, wie die Liste der Funktionsaufrufe, welcher der Nutzer mit Hilfe des Editors erstellt, aussehen sollte. Ausserdem gibt es einen Fakeeintrag, mit welchem man sofort im Tab "Zensor" gucken kann, wie sich so ein Aufruf auswirkt.

    Mit dem Editor wird zum Beispiel eine derartige Liste erstellt:

    Code
    MyAnimate(<Letzter Clip>, 0,  13, 150, 350, -40, 380, 40, 120, 40, 120)
    MyAnimate(<Letzter Clip>, 6, 11, 265, 330, 240, 330, 40, 120, 40, 120)
    MyAnimate(<Letzter Clip>, 12, 36, 240, 330, -50, 385, 40, 120, 40, 120)
    MyAnimate(<Letzter Clip>, 46, 56, 80, 360, -80, 390, 40, 120, 40, 120)
    MyAnimate(<Letzter Clip>, 56, 76, 155, 350, -80, 410, 40, 120, 40, 120)
    MyAnimate(<Letzter Clip>, 44, 60, 340, 300, 300, 325, 40, 120, 40, 120)
    MyAnimate(<Letzter Clip>, 61, 80, 300, 325, 200, 340, 40, 120, 40, 120)
    MyAnimate(<Letzter Clip>, 81, 102, 200, 340, -60, 400, 40, 120, 40, 120)
    MyAnimate(<Letzter Clip>, 123, 135, 130, 370, -80, 430, 40, 120, 40, 120)
    MyAnimate(<Letzter Clip>, 130, 151, 190, 360, -30, 405, 40, 120, 40, 120)
    MyAnimate(<Letzter Clip>, 151, 161, 300, 340, 220, 350, 40, 120, 40, 120)
    MyAnimate(<Letzter Clip>, 162, 179, 220, 350, -40, 435, 40, 120, 40, 120)
    MyAnimate(<Letzter Clip>, 215, 217, 580, 480, 710, 440, 40, 120, 40, 120)
    MyAnimate(<Letzter Clip>, 218, 221, 820, 420, 1150, 430, 40, 120, 40, 120)
    MyAnimate(<Letzter Clip>, 221, 230, 1000, 400, 1055, 448, 40, 120, 40, 120)
    MyAnimate(<Letzter Clip>, 231, 240, 1055, 448, 1055, 427, 40, 120, 40, 120)
    MyAnimate(<Letzter Clip>, 240, 276, 1055, 427, 1060, 450, 40, 120, 40, 120)
    Alles anzeigen


    Jede einzelne Zeile würde in diesem Zustand eine Fehlermeldung ergeben. Deshalb ist noch Nacharbeit notwendig. Diese soll Version 0.2 entfallen.

    Die Nacharbeit besteht darin, jeweils einen letzten Clip und einen neuen Clip einzutragen. Beim ersten Eintrag soll das Originalvideo bearbeitet werden. Deshalb wird "MyVideo" eingetragen. Für den resultierenden neuen Clip wird eine linke Seite "a = " eingefügt.

    Code
    a = MyAnimate(MyVideo, 0,  13, 150, 350, -40, 380, 40, 120, 40, 120)

    Beim nächsen Eintrag soll dem Clip eine weitere Maske hinzugefügt werden:

    Code
    b = MyAnimate(a, 6, 11, 265, 330, 240, 330, 40, 120, 40, 120)

    Dies zieht sich bis zum vorletzten Eintrag. Nur beim letzten Eintrag wird keine linke Seite benötigt.

    Code
    MyAnimate(p>, 240, 276, 1055, 427, 1060, 450, 40, 120, 40, 120)
  • Dashcamnutzer gesucht für Interview | Panorama | NDR | 24.07.2014

    • Frank
    • 27. Juli 2014 um 19:51

    Da frage ich mich warum man sich so über die "sozialistische" Berichterstattung echauffiert? Der Westen ist doch keinen Deut besser.

    Es ist nichts von objektiver Berichterstattung, wozu die öffentlich-rehtlichen Sender verpflichtet sind, zu merken. Und dafür müssen wir auch noch Gebühren zahlen.

  • Datenschützer schlagen Alarm.........

    • Frank
    • 26. Juli 2014 um 00:45

    Passt mindestens in beide. Ich hatte aber gar nicht daran gedacht. Auf jeden Fall hat dieser Kayhan einen gehörigen Bock geschossen.

  • Dashcamnutzer gesucht für Interview | Panorama | NDR | 24.07.2014

    • Frank
    • 26. Juli 2014 um 00:43

    Kam genau das, was wir nicht gebrauchen können. Ob er irdengwann verstehen wird, was er für einen Bock geschossen hat?

  • Datenschützer schlagen Alarm.........

    • Frank
    • 25. Juli 2014 um 22:35

    nicmare hat schon drauf hingewiesen -> Ist der Bericht zu Dashcamnutzer gesucht für Interview.

  • Datenschützer schlagen Alarm.........

    • Frank
    • 25. Juli 2014 um 20:50

    Eben bei Panorama auf Tagesschau24.

    * Ein Autofahrer, der das Verkehrsgeschehen filmt und die Fehler der anderen im Internet anprangert. Unverpixelt und damit eindeutig datenschutzrechtswidrig.

    * Der Datenschutzbeauftragte des Landes Bayern, welcher einem Autofahrer die Verwendung einer Dashcam untersagt hat, weil dieser zahlreiche Anzeigen eingereicht hat. Die Untersagung wird derzeit gerichtlich geprüft. Ich denke, dass die Untersagung rechtens ist und hoffe, dass es eine vernünftige Begründung gibt.
    Er meint auch, dass bereits die Aufnahme illegal sei, weil die Enwilligung der Aufgenommenen fehle.

    http://daserste.ndr.de/panorama/archi…ashcams100.html

  • Hallo aus Oberbayern

    • Frank
    • 22. Juli 2014 um 23:20

    Am Wochenende habe ich wieder Zeit. Mal sehen wie es gedeiht.

  • Raspberry Pi Dashcam

    • Frank
    • 22. Juli 2014 um 09:27

    Danke. Also doch nicht so einfach wie ich es mir gedacht habe. Dann sollte man auf den Raspberry setzen. Vielleicht gibt es dann doch mal ein Update mit höherer Leistung.

  • Gibt es eine Dashcam mit Verkehrszeichenerkennung?

    • Frank
    • 22. Juli 2014 um 09:24
    Zitat von hoko

    Versuch Dein Glück mal bei den portablen Navis, da wirste vermutlich eher fündig... allerdings sind dort die Tempolimits in der Regel bereits gespeichert und werden nicht in Echtzeit abgelesen, oder mittlerweile doch?


    Die Tempolimits sind im Kartenmaterial enthalten. Da sollte man darauf achten, dass man Kartenupdates bekommt. Allerdings sind die enthaltenen Daten nicht immer aktuell. Beispielsweise gibt es bei uns eine Strecke mit mehreren 70er Abschnitten, welche beim Navi eine Strecke ist. Die Endezeichen fehlen. Ebenso auf BABs. Da sind auf der Karte Baustellen enthalten, welche nicht mehr existieren. Für die Warnungen kann man Toleranzgrenzen einstellen. Sprich man kann einstellen, dass erst gewarnt wird, wenn man meinetwegen 10 km/h zu schnell ist. Die Geschwindigkeit wird per GPS ermittelt.

  • Dashcam Nutzung in Belgien

    • Frank
    • 22. Juli 2014 um 08:54

    Aber Du hattest gerade Recht. :thumbs_up:

  • Hallo aus Oberbayern

    • Frank
    • 22. Juli 2014 um 08:53
    Zitat von Isartaler

    Das war noch mit der NavGear. Da lief sie noch fehlerfrei :face_with_rolling_eyes:


    Danke. Ich frage, weil ich vermutlich eine ähnliche Kamera im Einsatz habe (NavGear MDV-2280.GPS).

    Zitat von Isartaler

    Da ich nicht der Video-Verpixlungsexperte bin, kann ich das Video nicht so freigeben.


    Damit erinnerst Du ich an mein jüngstes Programmierprojekt. Ab dem Beitrag habe ich geschrieben wie ich mein Video unkenntlich gemacht habe. Dazu will ich eine GUI schreiben, die das erleichtert. Bzw ich habe schon begonnen.

  • Datenschützer schlagen Alarm.........

    • Frank
    • 22. Juli 2014 um 08:50

    Ich bin auch gegen Verkehrsüberwachung wenn es um das Sammeln von Daten geht. Während bei UDS vor zwei Jahren darüber diskutiert wurde, es zur Pflicht zu machen konnte ich in Bezug auf Dashcams keine Bestrebungen sehen, wie man sie datenrechtskonform gestatten und vielleicht auch in das UDS integrieren könnte. Eher im Gegenteil, es gibt meist nur Argumente gegen sie.

  • Raspberry Pi Dashcam

    • Frank
    • 22. Juli 2014 um 08:25

    Ich dachte Raspberry Pi und Banana Pi laufen beide unter Linuxc und sollten bis auf die Treiber kompatible sein. Auf Vorschlag eines Kollegen meiner Frau wollte ich mit einem RPI und dem Monitor eines defekten Laptops einen digitalen Bilderrahmen bauen. Aber dazu bin ich noch nicht gekommen.

  • Hallo aus Oberbayern

    • Frank
    • 20. Juli 2014 um 17:55

    Willkommen im Forum.

    Zitat von Isartaler

    Der zweite Unfall war unangenehm, da der Verursacher gleich 2 Zeugen brachte und ich die Schuld in die Schuhe geschoben bekommen sollte. :angry_face: Mussten Klage einreichen ... Zum Glück und auch Dank der Dash-Cam-Aufnahme ist der Schuss vor Gericht nach hinten losgegangen. Das Gericht hat diesen Monat das Video als Beweismittel anerkannt :thumbs_up: und die Schuld konnte dem Verursacher zweifelsfrei angelastet werden. Auch der Gutachter "freute sich" über das Video ...


    Welche der beiden Kameras hattest Du bei dem Unfall im Einsatz?

    Und wenn die Sache rechtskräftig ist würde mich das Video interessieren.

  • Raspberry Pi Dashcam

    • Frank
    • 20. Juli 2014 um 17:37
    Zitat von mycom

    ... Die Zeit zum Programmieren fehlt mir aber leider. ...


    Das geht mir im Moment auch so. Ich habe mehrere Projekte. Aber durch die Montage ist die Zeit nicht gerade üppig und wenn die Projekte nicht den gewünschten Fortschritt nehmen sinkt auch die Motivation.

    Der BananaPi ist ja etwas leistungsfähiger als der RaspberryPi.

    Es gibt anscheinend verschiedene Kameramodule für den RPI: Heise und gbaman. Nach dem Video wäre die Kamera nicht gerade flexibel nutzbar.

  • Dashcam Nutzung in Belgien

    • Frank
    • 15. Juli 2014 um 17:42
    Zitat von GT-FK10

    Aber auch der ADAC hat nicht immer recht, zumal der ADAC ja sowieso gegen die DC ist.


    Warum sollte der ADAC Recht haben? Es ist schon vielsagend wenn die ADAC Autoversicherung nicht im Ombudsmannsverein ist und einem die ADAC Rechtsberatung rät, sich gegen die ADAC Autoersicherung einen Anwalt zu nehmen.

  • Raspberry Pi Dashcam

    • Frank
    • 15. Juli 2014 um 17:17
    Zitat von hoko

    http://pidashcam.blogspot.de/

    Zitat von hoko

    http://pidashcam.blogspot.co.uk/


    Leider haben beide Adressen den selben Inhalt.

    Der RaspberryPI reizt. Interessant wäre ja, ihn als DashCam, Routenplaner/Navigationsgerät und für ODBII zu verwenden. Eventuell kann man sich auch den BananaPi ansehen bzw was es sonst als EinplatinenPC so gibt.

    Ein Smartphone-Projekt gibt es wohl auch schon.

    Selbst wenn man die Hardware dafür zusammenbekommt, könnte die Software, welche alles unter einen Hut bringen soll, das Problem sein.

  • Hamburger Jung - Vorstellung + Videos

    • Frank
    • 12. Juli 2014 um 20:55

    Hallo und willkommen.

    Schöne Alltagsaufnahmen hast Du da. Zeigt nicht nur Fehler von anderen Verkehrsteilnehmern sondern auch von unseren Verkehrsplanern.

    PS: Kennzeichen zeigen sollte man nach Möglichkeit vermeiden.

  • Dashcam 360°Panoramic View - 2 Linsen Front & 1 Rückkamera

    • Frank
    • 12. Juli 2014 um 20:45

    bonns

    Als ich vor 31 Jahren meinen Lkw-Führerschein gemacht habe konnte ich ringsum sehen, wo Ende vom W50 ist. Auch beim Wartburg. Bei meinem Astra j habe ich da schon Schwierigkeiten. Nach vorn muss ich gut schätzen. Nach hinten hilft das piepen. Mit dem Legacy meiner Frau, der einen Meter länger, geht das besser.

Aktivste Themen

  • Befestigung Eurer Dashcams?

    314 Antworten
  • Forumupdate auf 6.0

    241 Antworten
  • [Downgrade] Keine Loopaufzeichnung mehr möglich

    201 Antworten
  • Polarisationsfilter

    132 Antworten
  • Was nutzt Ihr fuer ein Handy / Smartphone

    129 Antworten
  1. Datenschutzerklärung
  2. Impressum
  3. Nutzungsbedingungen
  4. Telegram
  5. X
Community-Software: WoltLab Suite™
DashCamForum.de in der WSC-Connect App bei Google Play
DashCamForum.de in der WSC-Connect App im App Store
Download