Le Forum du Vélorizontal, vélo couché et autres véhicules à propulsion humaine

Le forum francophone de tous les amateurs de cette pratique cycliste
 
AccueilPortailRechercherDernières imagesS'enregistrerConnexion
Le deal à ne pas rater :
Manette DualSense PS5 édition limitée 30ème Anniversaire : où ...
Voir le deal

 

 GoPro & Linux

Aller en bas 
+7
Velosteph
JeanMarc38
Pulsar33
orion
Lud'O
claymore
progweb
11 participants
Aller à la page : Précédent  1, 2, 3, 4 ... 9 ... 16  Suivant
AuteurMessage
Pulsar33
Accro du forum
Pulsar33


Messages : 2716
Âge : 69
Localisation : Gironde
VPH : VM : CAB BIKE HAWK (+BBS01, +Nuvinci 360) ___ TRIKE : Specbike Technics Comfort (+BAFANG M400 +Alfine 11)
Date d'inscription : 17/11/2015

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptyLun 24 Jan 2022, 12:42

Je viens de régénérer le même trajet depuis OpenRunner. L'entête est alors celle-ci (le reste est identique mais avec moins de décimales) au lieu de ce que j'ai listé dans le message précédent en bas de page.

Code:
<?xml version="1.0" encoding="UTF-8" ?>
<gpx version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.topografix.com/GPX/1/1"
    xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd"
    creator="Openrunner - https://www.openrunner.com" > <trk>
 <name>XXXXXXX</name>
 <trkseg>

J’essaierai dès que possible (l'heure a changé, faut que je remodifie la vidéo)
Pulsar33
Revenir en haut Aller en bas
progweb
Posteur d'or



Messages : 527
Localisation : France
VPH : ICE VTX Black
Date d'inscription : 25/04/2020

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptyLun 24 Jan 2022, 12:57

Dans le format précédent, tu as :

2016-09-24T16:54:49Z

Je suspecte que gpx2video s'attend à :

2016-09-24T16:54:49.000Z

Je modifierai le parseur pour accepter ton format de date.
Revenir en haut Aller en bas
Pulsar33
Accro du forum
Pulsar33


Messages : 2716
Âge : 69
Localisation : Gironde
VPH : VM : CAB BIKE HAWK (+BBS01, +Nuvinci 360) ___ TRIKE : Specbike Technics Comfort (+BAFANG M400 +Alfine 11)
Date d'inscription : 17/11/2015

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptyLun 24 Jan 2022, 15:01

GoPro & Linux - Page 3 Cool
Tiens-moi au courant
Merci
Pulsar33
Revenir en haut Aller en bas
progweb
Posteur d'or



Messages : 527
Localisation : France
VPH : ICE VTX Black
Date d'inscription : 25/04/2020

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptyLun 24 Jan 2022, 18:46

C'est fait... je pense que ça devrait mieux passer.
Revenir en haut Aller en bas
Pulsar33
Accro du forum
Pulsar33


Messages : 2716
Âge : 69
Localisation : Gironde
VPH : VM : CAB BIKE HAWK (+BBS01, +Nuvinci 360) ___ TRIKE : Specbike Technics Comfort (+BAFANG M400 +Alfine 11)
Date d'inscription : 17/11/2015

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptyLun 24 Jan 2022, 19:49

Merci pour ton action rapide.
Juste un problème : je suis complètement HS malgré un test négatif ce matin
Mal partout, laryngite, bronches en feu, mal de gorge, toux agressive et fontaine nasale ...
Je fais au mieux et je te dis ...
Pulsar33
Revenir en haut Aller en bas
progweb
Posteur d'or



Messages : 527
Localisation : France
VPH : ICE VTX Black
Date d'inscription : 25/04/2020

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptyLun 24 Jan 2022, 20:25

Prends soin de toi, il n'y a pas d'urgence.
Revenir en haut Aller en bas
Pulsar33
Accro du forum
Pulsar33


Messages : 2716
Âge : 69
Localisation : Gironde
VPH : VM : CAB BIKE HAWK (+BBS01, +Nuvinci 360) ___ TRIKE : Specbike Technics Comfort (+BAFANG M400 +Alfine 11)
Date d'inscription : 17/11/2015

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptyMar 25 Jan 2022, 07:51

Bonjour,

Désolé, ce n'est toujours pas bon. Cette fois j'ai ramené la trace :

Code:
./gpx2video -m DATA/ARVM02.TC.mp4 -g DATA/ARVM02.gpx -l layout2.xml -o output.mp4 --map-source=1 --map-zoom=11 --map-factor 2.0
gpx2video v0.0.0
creation_time = 2016-09-24T16:22:57.000000Z
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'DATA/ARVM02.TC.mp4':
  Metadata:
    major_brand    : isom
    minor_version  : 512
    compatible_brands: isomiso2mp41
    creation_time  : 2016-09-24T16:22:57.000000Z
    encoder        : Lavf57.83.100
  Duration: 01:13:27.92, start: 0.000000, bitrate: 2487 kb/s
    Stream #0:0(und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 720x576 [SAR 64:45 DAR 16:9], 2354 kb/s, 25 fps, 25 tbr, 12800 tbn, 25 tbc (default)
    Metadata:
      creation_time  : 2016-09-24T16:22:57.000000Z
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      creation_time  : 2016-09-24T16:22:57.000000Z
      handler_name    : SoundHandler
[libx264 @ 0x55fe3ef78d80] using SAR=64/45
[libx264 @ 0x55fe3ef78d80] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0x55fe3ef78d80] profile High, level 4.1
[libx264 @ 0x55fe3ef78d80] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=cbr mbtree=1 bitrate=32000 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=32000 vbv_bufsize=2000 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'output.mp4':
    Stream #0:0: Video: h264, yuv420p, 720x576 [SAR 64:45 DAR 16:9], q=2-31, 32000 kb/s, 25 tbn
    Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 128 kb/s
Parsing 'layout2.xml' layout file
Load widget 'grade'
Initialize grade widget
Load widget 'speed'
Initialize speed widget
Load widget 'elevation'
Initialize elevation widget
Load widget 'time'
Initialize time widget
Load widget 'date'
Initialize date widget
Load map widget
Initialize map widget
Cache initialiization...
Time synchronization...
ERROR: No GPS data stream found
Download map from OpenStreetMap I...
  Download tile 4 / 4 [##################################################] DONE     
Build map...
iptc xml add_attrib unknown type stRef:instanceID unknown
iptc xml add_attrib unknown type stRef:documentID unknown
/build/openimageio-l3oG0b/openimageio-2.1.12.0~dfsg0/src/include/OpenImageIO/imagebuf.h:1324: pos_xincr: Assertion 'm_exists && m_valid' failed.
Abandon (core dumped)

J'obtiens la même erreur, que ce soit avec ce format
Code:
<trkpt lat="44.93138333333333" lon="-0.8241816666666666">
<ele>32.1</ele>
<time>2016-09-24T16:54:49Z</time></trkpt>
ou avec celui-ci (en ayant ajusté le creation_time de la vidéo puisque OpenRunner me l'a mise à la date de l'export)
Code:
               <trkpt lat="44.933980" lon="-0.828620">
                  <ele>51</ele>
                  <time>2022-01-24T12:01:57Z</time>
               </trkpt>

En fait si je comprends bien, ton GPX est généré préalablement par ton appli :
Code:
./gpx2video -m GOPR1860.MP4 -o output.gpx -f 2 extract
Quel est le format de ton GPX ? Y a-t-il des champs supplémentaires ?

Bonne journée
Pulsar33
Revenir en haut Aller en bas
progweb
Posteur d'or



Messages : 527
Localisation : France
VPH : ICE VTX Black
Date d'inscription : 25/04/2020

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptyMar 25 Jan 2022, 08:01

Pour le GPX:

Code:
<?xml version="1.0" encoding="utf-8"?>
<gpx version="1.0"
 creator="ExifTool 12.31"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns="http://www.topografix.com/GPX/1/0"
 xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<trk>
<number>1</number>
<trkseg>
        <trkpt lat="47.1284" lon="1.6857">
          <time>2021:05:30 08:20:00.945</time>
        </trkpt>
        <trkpt lat="48.7191532027721405029296875" lon="1.63156847991049289703369140625">
          <ele>61.799999237060546875</ele>
          <time>2021-10-10T06:14:52.000Z</time>
          <extensions>
            <ns3:TrackPointExtension>
              <ns3:atemp>15.0</ns3:atemp>
              <ns3:hr>109</ns3:hr>
              <ns3:cad>65</ns3:cad>
            </ns3:TrackPointExtension>
          </extensions>
        </trkpt>
</trkseg>
</trk>
</gpx>
Revenir en haut Aller en bas
progweb
Posteur d'or



Messages : 527
Localisation : France
VPH : ICE VTX Black
Date d'inscription : 25/04/2020

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptyMar 25 Jan 2022, 08:06

Un autre point que je vois :

Code:

Output #0, mp4, to 'output.mp4':
    Stream #0:0: Video: h264, yuv420p, 720x576 [SAR 64:45 DAR 16:9], q=2-31, 32000 kb/s, 25 tbn
    Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 128 kb/s

Ta vidéo n'est pas très grande. Du coup, je pense que les widgets sont affichés en dehors de la vidéo... manque encore quelques contrôle et ajustement.

Garde dans "layout.xml", uniquement :

Code:

<?xml version="1.0" encoding="UTF-8"?>
<layout>
 <widget x="250" y="450" width="60" height="60" align="left">
 <type>grade</type>
 <name>PENTE</name>
 <margin>5</margin>
 </widget>
</layout>

Comme align="left", x et y sont ignorés

Ensuite, tu pourras ajouter d'autres widgets, en modifiant width x height ET margin.

Enfin tu peux placer la carte en ajoutant :

Code:

 <map align="none">
 <source>1</source>
 <zoom>12</zoom>
 <factor>2.0</factor>
 </map>

avec ce code, elle se place automatiquement en bas à gauche avec une taille proportionnelle à ta video (en attendant de faire mieux)
Revenir en haut Aller en bas
Pulsar33
Accro du forum
Pulsar33


Messages : 2716
Âge : 69
Localisation : Gironde
VPH : VM : CAB BIKE HAWK (+BBS01, +Nuvinci 360) ___ TRIKE : Specbike Technics Comfort (+BAFANG M400 +Alfine 11)
Date d'inscription : 17/11/2015

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptyMar 25 Jan 2022, 09:22

Hum, je ne comprends pas tout. Pourquoi y a-t-il 2 trkpt de coordonnées différentes et avec un format différent dans ton GPX (résolution et date heure) :
Code:
<trkseg>
        <trkpt lat="47.1284" lon="1.6857">
          <time>2021:05:30 08:20:00.945</time>
        </trkpt>
        <trkpt lat="48.7191532027721405029296875" lon="1.63156847991049289703369140625">
          <ele>61.799999237060546875</ele>
          <time>2021-10-10T06:14:52.000Z</time>

Et par ailleurs, la trace d'erreur semble assez claire, il n'associe pas de coordonnées GPS à l'heure vidéo
Code:
Time synchronization...
ERROR: No GPS data stream found

Qu'en penses-tu ?
Pulsar33
Revenir en haut Aller en bas
progweb
Posteur d'or



Messages : 527
Localisation : France
VPH : ICE VTX Black
Date d'inscription : 25/04/2020

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptyMar 25 Jan 2022, 09:32

Le GPX, c'est les formats qui sont actuellement acceptés. Les 2 points sont issus de 2 GPX différents.

ERROR: No GPS data stream found

Veut simplement dire qu'il ne trouve pas le stream GPS dans ton MP4 et qu'il ne peut donc synchroniser automatiquement les données.

Download map from OpenStreetMap I...
Download tile 4 / 4 [##################################################] DONE
Build map...
iptc xml add_attrib unknown type stRef:instanceID unknown
iptc xml add_attrib unknown type stRef:documentID unknown
/build/openimageio-l3oG0b/openimageio-2.1.12.0~dfsg0/src/include/OpenImageIO/imagebuf.h:1324: pos_xincr: Assertion 'm_exists && m_valid' failed.
Abandon (core dumped)

Ici je peux lire qu'il telecharge avec succès les tuiles de la carte. Ce qui veut dire qu'il a réussi à lire ton gpx.

Et l'erreur qui se produit dans le rendu.

D'ailleurs au lieu d'utiliser la commande "vidéo", utilises la commande "map" avec - o "my-map.png" en paramètre. Ensuite, tu pourras tester avec la commande "track".
Revenir en haut Aller en bas
Pulsar33
Accro du forum
Pulsar33


Messages : 2716
Âge : 69
Localisation : Gironde
VPH : VM : CAB BIKE HAWK (+BBS01, +Nuvinci 360) ___ TRIKE : Specbike Technics Comfort (+BAFANG M400 +Alfine 11)
Date d'inscription : 17/11/2015

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptyJeu 27 Jan 2022, 21:13

Bonsoir,

J'ai pu faire quelques essais mais sans trop réfléchir ... Voici les résultats :

- l'erreur "core dump" est bien due à la taille de la vidéo, il manque une vérification de cohérence au lancement (ou j'aurais dû vérifier les coordonnées des widgets au lieu de lancer bêtement)
=> j'ai régénéré ma vidéo en 1920x1080 et je l'ai datée à nouveau. J'ai relancé la même commande avec le même layout et cette fois ça travaille ... lennnntemmmmment !
Il faut environ 1 seconde par frame et c'est bavard (j'ai tenté ensuite le -q mais ça n'enlève pas tout). Je n'ai pourtant pas une brouette.
Estimant qu'il faudrait environ 18h pour générer une vidéo de 1h30, j'ai fait un control-c et j'ai été content de voir qu'il terminait proprement la vidéo, Bravo.

J'ai alors pu contempler une chouette carte avec le début de la trajectoire en bleu et une icone représentant le vélo au point de départ
Le programme a donc bien exploité mon GPX, chargé les tuiles utiles et dessiné ce qu'il faut, super.
La date et l'heure sont affichées dynamiquement, mais :
- l'altitude ne varie pas
- la vitesse reste à 0
- la pente reste à 0
- la position de l'icone vélo n'évolue pas

J'en conclue que s'il lit bien le GPX et s'en sert correctement pour afficher la carte, il reste bloqué sur la position de départ pour les autres calculs
J'en suis là ...

Je n'ai pas compris ce que tu veux dire avec "D'ailleurs au lieu d'utiliser la commande "vidéo", utilises la commande "map" avec - o "my-map.png" en paramètre. Ensuite, tu pourras tester avec la commande "track"."
J'utilise la commande du .md de github en mettant les noms qui vont bien :
./gpx2video -m GH020340.MP4 -g ACTIVITY.gpx -l layout.xml -o output.mp4 --map-source=1 --map-zoom=11 --map-factor 2.0

Je ne comprends pas la partie basse listée par ./gpx2video -h

Bonne soirée
Pulsar33

Revenir en haut Aller en bas
progweb
Posteur d'or



Messages : 527
Localisation : France
VPH : ICE VTX Black
Date d'inscription : 25/04/2020

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptyJeu 27 Jan 2022, 22:22

Intéressant, alors plusieurs choses.

Pour la liste des commandes possibles, voici ce que tu peux faire :

- Génération de la carte à partir du GPX :
Code:

./gpx2video -g ACTIVITY.gpx -o my-map.png --map-source=1 --map-zoom=11 --map-factor 2.0 map

- Génération de la carte et de la trace à partir du GPX :
Code:

./gpx2video -g ACTIVITY.gpx -o my-track.png --map-source=1 --map-zoom=11 --map-factor 2.0 track
source : c'est l'ID pour le choix de la carte (faire "./gpx2video --map-list")
zoom : c'est le niveau de zoom des cartes téléchargées
factor : c'est le zoom au moment du rendu (donc ici on zoom x2 sur la carte téléchargée)

- Pour tester la synchro :
Code:

./gpx2video -m GH020340.MP4 -g ACTIVITY.gpx sync
qui ne devrait rien donner chez toi, puisque pas de "piste" GPS dans le fichier MP4.

- Pour générer la vidéo (commande par défaut) :
Code:

./gpx2video -m GH020340.MP4 -g ACTIVITY.gpx -l layout.xml -o output.mp4 video
"video" est optionnel, c'est la commande par défaut.
Les options --map-source, --map-zoom, --map-factor, sont pour les commandes map et track.
Dans le cas du rendu de la vidéo, je mets tous les paramètres dans le fichier layout.xml


Ensuite, en ce qui concerne :

- La date et l'heure sont affichées dynamiquement
=> Oui, on connait le début de la vidéo (date & heure) à partir du champ "creation_time", du coup on calcule l'heure à partir de cette date et de la position dans la vidéo

- l'altitude ne varie pas
- la vitesse reste à 0
- la pente reste à 0
- la position de l'icone vélo n'évolue pas
=> Puisqu'il a pu faire la carte avec la trace, il arrive à lire les données longitude & latitude.
Donc, l'erreur est sur la date. Il n'arrive pas à se positionner dans le fichier GPX.

Il faut que le champ "creation_time" (avec le format : "2021-05-30T10:20:50.000000Z") soit en heure locale (heure de ton système).
(La commande linux "date", doit t'afficher l'heure locale de ton système.)
Et que cette heure soit dans la plage de ton fichier GPX (attention, dans le GPX les heures sont en heure UTC)
Exemple heure UTC dans le GPX qui correspondrait au 1er point : 2021:05:30 08:20:50.000
(ici c'est un monde parfait où on est à la même heure à la milliseconde près, dans les faits, j'ai quelques secondes d'écart).

La commande : "date" renvoie l'heure locale
La commande : "date -u" renvoie l'heure UTC
(ça te permet de voir l'écart entre les 2 - attention, l'écart dépend si on est en heure d'été ou d'hiver)



Enfin pour les perfs... oui le "Ctrl-C" permet de stopper proprement afin de pouvoir lire la vidéo et de tester le rendu.
(il y a l'option -d également qui permet de générer un rendu sur une durée max)

Et oui, ça manque encore d'optimisations... c'est pour plus tard Smile
Je travaillerai avant sur les options de "trim" (couper la vidéo au début et à la fin) lors du rendu.
Ainsi que sur le résolution de sortie.
Revenir en haut Aller en bas
Pulsar33
Accro du forum
Pulsar33


Messages : 2716
Âge : 69
Localisation : Gironde
VPH : VM : CAB BIKE HAWK (+BBS01, +Nuvinci 360) ___ TRIKE : Specbike Technics Comfort (+BAFANG M400 +Alfine 11)
Date d'inscription : 17/11/2015

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptyVen 28 Jan 2022, 00:02

Bonsoir,

Merci pour tes réponses, en particulier sur le détail des commandes.

Je testerai demain si possible ces histoires de dates, mais il y a un truc qui me chiffonne : le champ creation_time se termine par 000Z
Or l'heure Z (Zulu) est l'heure UTC, pas l'heure locale

Code:
pulsar33@Minerve:~$ date
jeudi 27 janvier 2022, 23:52:13 (UTC+0100)
pulsar33@Minerve:~$ date -u
jeudi 27 janvier 2022, 22:52:29 (UTC+0000)

Bonne nuit
Pulsar33
Revenir en haut Aller en bas
progweb
Posteur d'or



Messages : 527
Localisation : France
VPH : ICE VTX Black
Date d'inscription : 25/04/2020

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptyVen 28 Jan 2022, 08:48

Oui, tu as raison, la date est écrite au format "UTC" mais avec une valeur locale Sad

Mais c'est comme cela sur la GoPro.

D'ailleurs avec ta caméra, tu pourrais tester de créer une vidéo et de noter l'heure à laquelle tu la crées, puis de lire la valeur de ce champ.

En fait sur la GoPro, il n'y a aucun endroit où tu peux régler le fuseau horaire.

gpx2video suppose d'ailleurs que la GoPro et l'ordinateur sur lequel il s'exécute sont dans le même fuseau horaire.
Revenir en haut Aller en bas
Pulsar33
Accro du forum
Pulsar33


Messages : 2716
Âge : 69
Localisation : Gironde
VPH : VM : CAB BIKE HAWK (+BBS01, +Nuvinci 360) ___ TRIKE : Specbike Technics Comfort (+BAFANG M400 +Alfine 11)
Date d'inscription : 17/11/2015

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptyVen 28 Jan 2022, 09:23

Bonjour,

Comme indiqué précédemment, aucune de mes caméras n'a d'heure intégrée. Il faut donc que je l'ajoute avec le script ci-dessous et je peux mettre ce que je veux pour m'adapter au GPX :
Code:
ffmpeg -i $1 -metadata creation_time=$2 -c copy TC.$1
Pour l'instant je mettais simplement la même heure que celle du GPX. Je ferai donc des essais avec différents formats et décalages dès que possible.

Bonne journée
Pulsar33
Revenir en haut Aller en bas
Pulsar33
Accro du forum
Pulsar33


Messages : 2716
Âge : 69
Localisation : Gironde
VPH : VM : CAB BIKE HAWK (+BBS01, +Nuvinci 360) ___ TRIKE : Specbike Technics Comfort (+BAFANG M400 +Alfine 11)
Date d'inscription : 17/11/2015

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptyVen 28 Jan 2022, 19:45

Bonsoir,

Réponse rapide en attendant plus de détails :
J'ai pu générer une vidéo avec les variables qui bougent en mettant +1h dans le creation_time mais ...
- les widgets et la position ne correspondent pas à l'image alors que la position de départ est bonne. La vitesse n'est jamais nulle et la position varie trop vite.
- les deux temps affichés dans la console se désynchronisent au fur et à mesure, l'un variant par frame, l'autre par saut et pas avec un rythme cohérent

J'ai tenté de régénérer ma vidéo en 60 FPS et en 30 FPS, ça change des choses mais ce n'est pas mieux
Ma vidéo "d'origine" (qui avait déjà été post traitée) est en 576p 25Hz

Bonne soirée et @+ si je peux
Pulsar33
Revenir en haut Aller en bas
progweb
Posteur d'or



Messages : 527
Localisation : France
VPH : ICE VTX Black
Date d'inscription : 25/04/2020

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptyVen 28 Jan 2022, 20:34

Si j'ai bien compris... tout est au bon sur les toutes premières images et ensuite, tout se désynchronise !

Effectivement je n'ai testé qu'avec des vidéos en 50 FPS.

Je testerai avec d'autres valeurs de FPS et tenterai de corriger cela ! Mais si tu peux convertir en 50fps, ça ira plus vite Smile

Revenir en haut Aller en bas
Pulsar33
Accro du forum
Pulsar33


Messages : 2716
Âge : 69
Localisation : Gironde
VPH : VM : CAB BIKE HAWK (+BBS01, +Nuvinci 360) ___ TRIKE : Specbike Technics Comfort (+BAFANG M400 +Alfine 11)
Date d'inscription : 17/11/2015

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptyVen 28 Jan 2022, 20:58

En passant :
La position 3D initiale semble bonne, ce qui est calculé par différence est sans doute faux, en particulier la vitesse à 20km/h alors que je suis à l'arrêt.

Je viens de regarder la description de ta vidéo sur Github
Code:
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709), 2704x1520 [SAR 1:1 DAR 169:95], 100078 kb/s, 50 fps, 50 tbr, 90k tbn, 100 tbc (default)

Bref, j'ai déjà régénéré en 60FPS et en 30FPS, le faire en 50FPS ne me posera pas plus de problème. Tant qu'on ne tombe pas sur des américanismes du style 29.97FPS
Quant au débit affiché, il laisse rêveur ...

Bonne soirée
Pulsar33

PS : pour info, le début et la fin de la trace sur 1 minute
Code:
[libx264 @ 0x565189eb4180] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=cbr mbtree=1 bitrate=32000 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=32000 vbv_bufsize=2000 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'output1.mp4':
    Stream #0:0: Video: h264, yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 32000 kb/s, 25 tbn
    Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 128 kb/s
Parsing 'layout4.xml' layout file
Load widget 'grade'
Initialize grade widget
Load widget 'speed'
Initialize speed widget
Load widget 'elevation'
Initialize elevation widget
Load widget 'time'
Initialize time widget
Load map widget
Initialize map widget
Cache initialiization...
Time synchronization...
ERROR: No GPS data stream found
Download map from OpenStreetMap I...
  Download tile 4 / 4 [##################################################] DONE     
Build map...
iptc xml add_attrib unknown type stRef:instanceID unknown
iptc xml add_attrib unknown type stRef:documentID unknown
iptc xml add_attrib unknown type GIMP:API unknown
iptc xml add_attrib unknown type GIMP:Platform unknown
iptc xml add_attrib unknown type GIMP:TimeStamp unknown
iptc xml add_attrib unknown type GIMP:Version unknown
iptc xml add_attrib unknown type stEvt:action unknown
iptc xml add_attrib unknown type stEvt:changed unknown
iptc xml add_attrib unknown type stEvt:instanceID unknown
iptc xml add_attrib unknown type stEvt:softwareAgent unknown
iptc xml add_attrib unknown type stEvt:when unknown
FRAME: 0 - PTS: 0 - TIMESTAMP: 0 ms - TIME: 2022-01-24 12:32:10
  Time: 2022-01-24 12:32:10. Distance: 0.000 km in 0.000 seconds, current speed is 0.000 (valid: true)
iptc xml add_attrib unknown type stRef:instanceID unknown
iptc xml add_attrib unknown type stRef:documentID unknown
iptc xml add_attrib unknown type GIMP:API unknown
iptc xml add_attrib unknown type GIMP:Platform unknown
iptc xml add_attrib unknown type GIMP:TimeStamp unknown
iptc xml add_attrib unknown type GIMP:Version unknown
iptc xml add_attrib unknown type stEvt:action unknown
iptc xml add_attrib unknown type stEvt:changed unknown
iptc xml add_attrib unknown type stEvt:instanceID unknown
iptc xml add_attrib unknown type stEvt:softwareAgent unknown
iptc xml add_attrib unknown type stEvt:when unknown

[...]

FRAME: 1458 - PTS: 746496 - TIMESTAMP: 58320 ms - TIME: 2022-01-24 12:33:08
  Time: 2022-01-24 12:33:13. Distance: 0.393 km in 63.000 seconds, current speed is 20.176 (valid: true)
iptc xml add_attrib unknown type stRef:instanceID unknown
iptc xml add_attrib unknown type stRef:documentID unknown
iptc xml add_attrib unknown type GIMP:API unknown
iptc xml add_attrib unknown type GIMP:Platform unknown
iptc xml add_attrib unknown type GIMP:TimeStamp unknown
iptc xml add_attrib unknown type GIMP:Version unknown
iptc xml add_attrib unknown type stEvt:action unknown
iptc xml add_attrib unknown type stEvt:changed unknown
iptc xml add_attrib unknown type stEvt:instanceID unknown
iptc xml add_attrib unknown type stEvt:softwareAgent unknown
iptc xml add_attrib unknown type stEvt:when unknown



Régen point 1
<time>2022-01-24T11:32:10Z</time>

    creation_time  : 2022-01-24T12:32:10.000000Z

Revenir en haut Aller en bas
progweb
Posteur d'or



Messages : 527
Localisation : France
VPH : ICE VTX Black
Date d'inscription : 25/04/2020

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptyVen 28 Jan 2022, 21:56

Concernant le calcul de la vitesse et la distance parcourue... ça ne dépend pas de la vidéo.

Je lis le GPX point par point. Entre chaque point, on calcule distance. Et comme on a l'heure de chaque point, on a facilement la vitesse.
(il manque un algo pour filtrer/lisser les valeurs).

Pour la gestion du temps dans la vidéo... je pars de la valeur PTS que je convertis en TIMESTAMP (qui doit correspondre au temps écoulé dans la vidéo).
En ajoutant, l'heure de début de la vidéo... on a l'heure à un instant donné dans le flux vidéo. Reste à chercher le point WPT dans le GPX correspondant.

Si je calcule mal cette position dans la vidéo... je ne prendrai par conséquent pas le bon point dans le GPX.

Pour l'instant ça avance en escalier... puisqu'on a un point dans le GPX toutes X millisecondes (voir plusieurs secondes en fonction des GPS).

En résumé, je ne pense pas qu'il y ait d'erreur dans les calculs de vitesse / vitesse moyenne (si ce n'est les valeurs incohérentes à cause de l’échantillonnage), mais qu'il ne lit pas les bonnes données dans le GPS.




La synchronisation est en effet le point délicat !

Dans la vidéo :



Il y a un problème dans la synchronisation... Les flux sont bien lus à la bonne vitesse. Mais j'ai environ 10 secondes de retard sur le flux GPS.
Si tu regardes à "2min52" dans la vidéo... j'arrive à un STOP et je ne suis pas encore à 0km/h !

Ici le problème, que je ne comprends d'ailleurs toujours pas, est lié au mode "Quick Capture" de la GoPro. Ce mode permet de lancer la capture et enregistrement alors que la GoPro est éteinte. Par contre, si j'allume la GoPro ; puis que je lance l'enregistrement tout se passe bien.




Quant aux traces :

Code:

iptc xml add_attrib unknown type stRef:instanceID unknown
iptc xml add_attrib unknown type stRef:documentID unknown
iptc xml add_attrib unknown type GIMP:API unknown
iptc xml add_attrib unknown type GIMP:Platform unknown

il y a des choses dans ton GPX qui ne sont pas comprises... Le GPX a le format :

Code:

<gpx version="1.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://www.topografix.com/GPX/1/0"
  xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
  <trk>
    <number>1</number>
    <trkseg>
      <trkpt lat="46.441463" lon="2.123456754">
        <ele>59.948</ele>
        <time>2022-01-21T15:34:00.000Z</time>
      </trkpt>
      <trkpt lat="46.441474" lon="1.13207983">
        <ele>58.326</ele>
        <time>2022-01-21T15:34:01.000Z</time>
      </trkpt>
    </trkseg>
  </trk>
</gpx>

Tes traces ne gênent absolument pas la génération, par contre ça ralentit le rendu...
Revenir en haut Aller en bas
progweb
Posteur d'or



Messages : 527
Localisation : France
VPH : ICE VTX Black
Date d'inscription : 25/04/2020

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptyVen 28 Jan 2022, 22:32

Je viens de tester sur une vidéo 50fps que j'ai ré-encodé en 30fps :

Code:

ffmpeg -i GH010017.MP4 -filter:v fps=fps=30 GH010017_30fps.MP4
ffmpeg -i GH010017_30fps.MP4 -metadata creation_time="2021-05-30T10:20:00.000000Z" -c copy TC.GH010017_30fps.MP4

Les traces permettent de comparer dans les 2 cas :

Code:

# Video 50 fps:
  FRAME: 0 - PTS: 0 - TIMESTAMP: 0 ms - TIME: 2021-05-30 10:20:00
    Time: 2021-05-30 10:20:00. Distance: 0.000 km in 0.000 seconds, current speed is 0.000 (valid: true)

# Video 30 fps:
  FRAME: 0 - PTS: 0 - TIMESTAMP: 0 ms - TIME: 2021-05-30 10:20:00
    Time: 2021-05-30 10:20:00. Distance: 0.000 km in 0.000 seconds, current speed is 0.000 (valid: true)

Donc on part bien du même endroit...
FRAME : n° de l'image. (50 fps pour une vidéo de 10 secondes => 500 images)
TIMESTAMP : heure de l'image (depuis le début de la vidéo)
TIME : heure de l'image depuis la date de prise de vue (heure locale)
sur la 2ème ligne, ce qui sera affiché sur les widgets

Au bout de 10 secondes de vidéo :

Code:

# Video 50 fps:
  FRAME: 500 - PTS: 900000 - TIMESTAMP: 10000 ms - TIME: 2021-05-30 10:20:10
    Time: 2021-05-30 10:20:10. Distance: 3.949 km in 10.000 seconds, current speed is 46.183 (valid: true)

# Video 30 fps:
  FRAME: 300 - PTS: 153600 - TIMESTAMP: 10000 ms - TIME: 2021-05-30 10:20:10
    Time: 2021-05-30 10:20:10. Distance: 3.949 km in 10.000 seconds, current speed is 46.183 (valid: true)

Donc pour moi tout est correct.
Revenir en haut Aller en bas
Pulsar33
Accro du forum
Pulsar33


Messages : 2716
Âge : 69
Localisation : Gironde
VPH : VM : CAB BIKE HAWK (+BBS01, +Nuvinci 360) ___ TRIKE : Specbike Technics Comfort (+BAFANG M400 +Alfine 11)
Date d'inscription : 17/11/2015

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptySam 29 Jan 2022, 00:50

Bonsoir,

J'aime autant que ce ne soit pas un problème de FPS !
Bon, je vais donc essayer de transcoder mon GPX dans ton format, c'est à dire celui-ci si j'ai bien compris:
Code:
<gpx version="1.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://www.topografix.com/GPX/1/0"
  xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
  <trk>
    <number>1</number>
    <trkseg>
      <trkpt lat="46.441463" lon="2.123456754">
        <ele>59.948</ele>
        <time>2022-01-21T15:34:00.000Z</time>
      </trkpt>
      <trkpt lat="46.441474" lon="1.13207983">
        <ele>58.326</ele>
        <time>2022-01-21T15:34:01.000Z</time>
      </trkpt>
    </trkseg>
  </trk>
</gpx>
Dans le mien, le champ number n'existe pas. A la place j'ai un champ name
Ensuite, mes lat/lon ont le même nombre de décimale, mon altitude est en mètres entiers, mon temps est à la seconde sans décimales avant le Z
Je ne vois pas d'autre différence, hormis les différentes valeurs incluses entre gpx et /gpx

Question : le retour ligne a-t-il une importance ? Est-ce compatible de LF seul et de CR LF , ou bien seulement l'un ou seulement l'autre ?

Je regarde ça demain
Pulsar33
Revenir en haut Aller en bas
progweb
Posteur d'or



Messages : 527
Localisation : France
VPH : ICE VTX Black
Date d'inscription : 25/04/2020

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptySam 29 Jan 2022, 08:38

Sinon, est-ce que c'est possible que tu m'envoies (partages) ta vidéo avec le GPX ? en la mettant sur un cloud (google drive ou autre) ?

Pour la vidéo, tu peux mettre une petite résolution, ça ne change pas le rendu ; mais ça sera moins lourd.

Pour le GPX, le format que j'ai mis est celui qui est actuellement lu avec les variantes sur le champ date.

Le nombre de décimal sur lat / lon / ele n'a pas d'influence. Et les autres champs ne sont pas utilisés (pour le moment).
Revenir en haut Aller en bas
Pulsar33
Accro du forum
Pulsar33


Messages : 2716
Âge : 69
Localisation : Gironde
VPH : VM : CAB BIKE HAWK (+BBS01, +Nuvinci 360) ___ TRIKE : Specbike Technics Comfort (+BAFANG M400 +Alfine 11)
Date d'inscription : 17/11/2015

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptySam 29 Jan 2022, 09:35

Bonjour,

Avant d'en arriver à cette extrémité, je crois que j'ai trouvé une piste sérieuse. Après les premiers essais infructueux, j'ai privilégié un version nouvellement exportée par OpenRunner de mon trajet parce que son format était plus proche du tien. Voulant extraire une partie de la vidéo et du GPX pour t'envoyer quelque chose de plus maniable, je viens de voir que le GPX en question n'est qu'une version filtrée (efficacement d'ailleurs) de la trajectoire. Le GPX ne contient que 1200 lignes au lieu de plus de 34000. Ceci explique donc les sauts que je constatais dans la console et sans doute aussi que ça ne matche pas.

Si ceci se confirme, tu pourrais mettre une évolution dans ta TODO list : en cas d'absence de point correspondant à la frame dans le GPX, interpoler linéairement en fonction du temps entre les deux points existants et encadrant le temps cherché.

Maintenant que je sais qu'il faut veiller aux tailles / positions des widgets par rapport à la vidéo et offseter l'heure, je vais refaire un essai que j'espère concluant avec mon GPX initial. Je te tiens qu courant.

Bonne journée
Pulsar33
Revenir en haut Aller en bas
progweb
Posteur d'or



Messages : 527
Localisation : France
VPH : ICE VTX Black
Date d'inscription : 25/04/2020

GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 EmptySam 29 Jan 2022, 09:48

Tout à fait, comme dit dans un post précédent.

A partir de l'heure "calculée" dans la vidéo (heure que tu peux lire sur la ligne FRAME) je cherche le point "le plus proche" dans le GPX.

Si les points sont trop espacés, c'est moche et ça saute.

Une trace Garmin est "intelligente" : beaucoup de points quand ça va vite et des points espacés dans le temps à vitesse lente ou à l'arrêt.

La GoPro quant à elle crée un point chaque seconde.

Comme indiqué dans ma doc, dans les améliorations prévues, je vais calculer les points intermédiaires par interpolation. Mais ce n'est pas encore fait.
Revenir en haut Aller en bas
Contenu sponsorisé





GoPro & Linux - Page 3 Empty
MessageSujet: Re: GoPro & Linux   GoPro & Linux - Page 3 Empty

Revenir en haut Aller en bas
 
GoPro & Linux
Revenir en haut 
Page 3 sur 16Aller à la page : Précédent  1, 2, 3, 4 ... 9 ... 16  Suivant
 Sujets similaires
-
» GNU/Linux!!
» CAO sous Linux
» GPS compatible linux Ubuntu
» Mac ou Pc ?
» navigateur links sous Linux

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Forum du Vélorizontal, vélo couché et autres véhicules à propulsion humaine :: Ravito :: Le Bar-
Sauter vers: