From 165296fbf29d8d397c74d02930fe3fbaca162511 Mon Sep 17 00:00:00 2001 From: Alex Date: Thu, 17 Sep 2026 10:23:50 +0200 Subject: [PATCH] ajout exemple --- README.md | 6 ++++-- docs/exemple.png | Bin 0 -> 41025 bytes 2 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 docs/exemple.png diff --git a/README.md b/README.md index bc3032e..d917b2e 100644 --- a/README.md +++ b/README.md @@ -8,14 +8,15 @@ Script Python qui transforme une trace GPX en vidéo MP4 carrée 1024×1024, pr - [Installation](#installation) - [Utilisation](#utilisation) - [Structure du projet](#structure-du-projet) -- [Développement](#développement) ## Fonctionnalités +![Image extraite de la vidéo d'exemple (trajet Brest - Plabennec)](docs/exemple.png) + - Lecture GPX 1.0 / 1.1 (points `trkpt` horodatés). - Vitesse issue de l'extension `gpxtpx:speed` (m/s, ex. GeoRide) si présente, sinon calculée à partir des distances et des temps ; lissage léger. - Vidéo accélérée à durée fixe (60 s par défaut) : le trajet complet est parcouru du début à la fin. -- Compteur analogique 0-200 km/h (paramétrable), aiguille et vitesse numérique, placé automatiquement dans le coin le moins encombré par la trace. +- Compteur analogique 0-200 km/h (paramétrable), aiguille et vitesse numérique, placé automatiquement dans le coin le moins encombré par la trace ; l'aiguille part de 0 et y revient sur la première et la dernière seconde. - Villes traversées obtenues par géocodage inverse [Nominatim](https://nominatim.org/) (OpenStreetMap), affichées sur la carte dès le début, avec placement des étiquettes qui évite chevauchements et trace. - Cache des villes dans `.villes.json` : les exécutions suivantes n'accèdent plus au réseau. - Rendu anticrénelé (suréchantillonnage ×2), encodage H.264 `yuv420p` via ffmpeg, sans fichiers intermédiaires. @@ -57,6 +58,7 @@ Notes : ``` gpx_video.py script principal (lecture GPX, villes, rendu, encodage) requirements.txt dépendances Python (numpy, Pillow) +docs/exemple.png image extraite de la vidéo d'exemple (README) Trajet_16-09-2026_15h38.gpx trace d'exemple (GeoRide) Trajet_16-09-2026_15h38.villes.json cache des villes de l'exemple Trajet_16-09-2026_15h38.mp4 vidéo générée pour l'exemple diff --git a/docs/exemple.png b/docs/exemple.png new file mode 100644 index 0000000000000000000000000000000000000000..bc5fe1fe7014f760a62b5c06ee559bb838c6f28a GIT binary patch literal 41025 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