David Madore's WebLog: Où je reparle de moto et de vidéo et je me pose des questions copyistes

[Index of all entries / Index de toutes les entréesLatest entries / Dernières entréesXML (RSS 1.0) • Recent comments / Commentaires récents]

↓Entry #2622 [older| permalink|newer] / ↓Entrée #2622 [précédente| permalien|suivante] ↓

(mardi)

Où je reparle de moto et de vidéo et je me pose des questions copyistes

Le lecteur sait probablement deux choses sur moi.

✱ La première, que je racontais dans la dernière entrée, c'est que je me suis acheté une moto. Je vais éviter d'écrire encore 1729 entrées sur le sujet parce que tout le monde a compris et tout le monde s'en fout, donc tâchons de faire bref (le mot bref étant, pour moi, très relatif).

J'ai pris quelques jours de congés pour profiter de ce qu'il restait d'été et de beau temps et pour commencer à roder la machine. Et je découvre ainsi que j'aime ça encore plus que ce que je pensais. C'est sans doute la découverte grisante de la liberté de me balader où je veux (voire de partir sans savoir au juste où je vais, sans avoir la possibilité d'ouvrir Google Maps et devant donc me fier à mon seul sens de la géographie, ce qui veut dire que je me perds mais ça peut être un plaisir de se perdre), combinée à l'exhilaration de conduire la moto (au sujet de laquelle je renvoie à la note #7b de l'entrée sur le permis, à laquelle j'ai fait plusieurs additions successives et qui aurait peut-être mérité d'être une entrée de blog à elle seule) et la fascination d'un nouveau joujou ; toujours est-il que je suis, au moins pour le moment, complètement addict, et qu'en démontant je n'ai qu'une envie c'est de repartir.

Je suis donc allé un peu au pif, juste pour rouler, dans toutes sortes de directions (enfin, surtout vers le sud et vers l'ouest, parce que c'est quand même plus agréable ; mais je regrette un peu de ne pas vivre en géométrie hyperbolique et de n'avoir qu'un nombre limité de possibilités en la matière, même en faisant une certaine distance). J'ai parcouru 500km pour l'instant (en environ 14h), ce qui n'est pas énorme, mais juste 12 jours après avoir réceptionné le joujou, c'est plus que ce que j'imaginais. Et, à vrai dire, ça m'inquiète un peu, parce qu'en même temps je tiens à me rappeler et à me répéter que c'est quand même dangereux, que tout mon équipement ne vaut pas une carrosserie minable, que même si je roule prudemment je ne suis pas à l'abri des erreurs et encore moins de celles des autres, et que l'impression trompeuse de facilité ne doit pas me faire oublier que je suis débutant. Ce qui est sûr, au moins, c'est que je ne suis pas tenté de rouler vite : ce qui est agréable, c'est entre 30km/h (vitesse à laquelle l'effet gyroscopique se fait sentir) et 90km/h (vitesse à laquelle c'est l'absence de carénage de ma moto qui se fait sentir) ; ni de doubler rageusement les voitures, ce sont plutôt elles qui me doublent rageusement, en fait (et ce n'est pas forcément tellement moins dangereux, malheureusement). Par ailleurs, je connais bien le caractère très cyclique / fluctuant / épisodique de mes intérêts, donc il est fort possible que dans deux mois (et je peux quand même raisonnablement espérer ne pas avoir d'accident pendant ce temps) mon enthousiasme sera retombé : souhaitons quand même qu'il ne soit pas retombé au point que j'aurais acheté une moto pour m'en servir seulement deux mois, mais bon, nous verrons.

Il y a aussi toutes sortes de considérations pratiques qui restent à régler. Ces derniers jours j'ai en gros fait des balades juste en moto, c'est-à-dire en boucle de chez moi à chez moi, avec juste un petit arrêt, peut-être pour déjeuner (par exemple au niveau du centre commercial Parly 2 ; à propos, je recommande le café Marlette de Parly 2, que mon poussinet et moi connaissons de nos visites à Chèvreloup). À part pour une petite virée à Meaux où le poussinet était venu en voiture et moi en moto et où j'avais mis des choses dans le coffre de la voiture — mais ce n'est pas une idée à long terme parce que c'est quand même franchement abusé de prendre deux véhicules capables de transporter 5+2 personnes pour en déplacer 2. J'ai le problème, donc, si je veux m'arrêter pour faire une balade à pied et pas juste pour manger, de savoir quoi faire de mon équipement moto (que je décris à la fin de cette entrée). Je veux bien transporter mon casque à la main, mettre les gants dedans comme si c'était un panier, et garder le blouson sur le dos ; et même les bottes sont finalement beaucoup moins inconfortables pour marcher que ce que j'imaginais ; mais le pantalon, lui, est passablement gênant, et en plus le pantalon dans les bottes fait couic-couic à chaque pas, ça rend fou le poussinet. Je n'ai pas de top-case sur la moto, je n'ai pas vraiment envie d'en faire ajouter un, j'ai peur que le pantalon ne tienne même pas facilement dans un top-case et j'ai aussi peur que ce qu'il y a dans un top-case se fasse très vite voler. Mais je n'ai pas non plus envie de me passer d'un pantalon très sérieux. Quelques problèmes pratiques à résoudre donc, comme aussi le fait qu'entre le moment où je sors de chez moi et le moment où la moto sort du parking il s'écoule pour l'instant largement 20 min parce que j'oublie toujours quelque chose ou en tout cas je mets un temps invraisemblable à penser à tout (et la GoPro n'aide pas, je vais y revenir).

Puisque le but est de ne pas continuer longtemps l'absurdité de la configuration où le poussinet prend la voiture et je le suis en moto, j'ai commencé à essayer de le prendre pour passager. (En revenant de Meaux, nous nous sommes garés dans un bled au milieu de nulle part et nous avons fait un petit tour en moto à vitesse bien modérée pour voir l'effet que ça faisait.) Apparemment c'est moins inconfortable pour lui que ce que je craignais sur une selle minuscule et sans poignée passager pour se tenir (j'ai déjà été passager sur les CB-500F de mon auto-école avec le moniteur comme conducteur, mais ils avaient au moins fait poser des barres pouvant servir de poignées, et même comme ça je trouvais ça très inconfortable, probablement parce que j'essayais de me tenir trop avec les mains et pas assez avec les jambes). Reste que je n'étais moi-même pas terriblement rassuré dès qu'il s'agissait d'accélérer ou de ralentir, ou même de prendre un virage, et je me rendais compte que le moindre changement de vitesse, qui quand je suis tout seul me semble passer comme du beurre, implique une décélération et une accélération que je sens au mouvement du poussinet derrière moi. Mais surtout, je me sentais doublement nerveux d'avoir la responsabilité de mon poussinet en plus de la mienne. Bref, il y a encore du travail à faire. Et il y a aussi la question de l'équipement qui devient encore plus problématique à deux (pour ce petit essai, le poussinet s'est acheté un casque et des gants, a utilisé ses chaussures normales qui sont des chaussures de montagnes protégeant bien la cheville, et pour ce qui est du pantalon et du blouson il a pris ceux, en mesh, que je m'étais achetés pour temps chaud ; heureusement nous avons des tailles suffisamment proches pour pouvoir partager tout sauf peut-être les chaussures).

Ajout : Bilan après quelques semaines de moto dans une entrée ultérieure.

(Sinon, rien à voir, mais puisque j'en suis à faire une sorte de brain dump je ne fais pas de transition : je découvre qu'il existe un service de location de motos à Paris. Peut-être que je devrais essayer au moins une fois, histoire de ne pas conduire que une CB-500F.)

Voilà qui fut « bref »(?). Je passe au deuxième point.

✱ La deuxième chose qu'on sait certainement sur moi, c'est mon obsession pour la préservation de l'information (ou copyisme : j'en parlais par exemple dans cette vieille entrée ; j'en ai reparlé ensuite quantité d'autres fois, mais jamais vraiment remis à plat mes idées — tant pis) ; et que j'aime bien m'amuser à disséquer et analyser l'information que je préserve.

Le problème avec la préservation de l'information, c'est que parfois on a trop d'information pour pouvoir tout stocker, il faut arriver à faire le tri en choisissant intelligemment ce qu'on garde et ce qu'on ne garde pas. Je ne suis pas au niveau du LHC qui produit des données au rythme de ~1Go/s après tri, et plusieurs centaines de fois plus avant tri. Mais voilà, je disais dans l'entrée précédente qu'en même temps que la moto je me suis acheté une GoPro pour filmer quand je conduis, et cela soulève des problèmes graves pour le copyiste que je suis : la GoPro produit des données au rythme fort soutenu de 4Mo/s pour la résolution et le framerate que j'utilise (1920×1080 à 25fps), pourtant modestes par rapport aux capacités du gadget, ce qui fait que j'ai déjà accumulé 192Go en quelques jours, je ne peux pas conserver ce flux d'information tel quel, et honnêtement, on s'en fout de garder une qualité aussi excellente. Mais j'ai quand même envie d'en conserver un « résumé », peut-être autour de quelques pour cent du volume, et la question se pose de savoir quoi et comment (dégrader monstrueusement la qualité ? réduire la résolution au format vignette ? accélérer la vidéo ou diminuer le framerate ? garder une image par seconde voire par minute ? une combinaison de tout ça ? ou au contraire plusieurs résumés distincts par vidéos, par exemple l'un au format vignette et l'autre à résolution maximale mais seulement d'une image sur N ?).

La GoPro, outre l'enregistrement de l'image et du son, stocke aussi dans la vidéo des informations GPS et aussi des mesures d'accéléromètres et de gyroscopes (voir ici pour les détails du format et de ce qui est stocké) : à raison de 200 enregistrements par seconde pour les accéléromètres et gyroscopes, et 18 par seconde pour le GPS, je disais que ce sont de véritables caramels mous pour geek, mais même ces informations-là finissent par peser un peu lourd (bon, c'est ~0.1% de l'ensemble de la vidéo donc ce n'est pas là que je vais vouloir gratter de la place), et surtout, il n'est pas complètement évident de les extraire de la vidéo sans perdre de l'information (les flux vidéo, audio et télémétrie sont synchronisés par le conteneur MP4 et l'horloge principale est celle donnée par le conteneur, ce n'est pas facile de décider comment stocker la télémétrie seule). J'arrive à extraire une trace GPS (au format gpx), mais il y a certainement quelque chose de rigolo à faire avec ces « caramels mous pour geek » que sont les relevés des accéléromètres et gyroscopes, peut-être analyser une trajectoire de virage de façon extrêmement détaillée ou voir quel est l'impact mesuré par les accéléromètres d'un changement de vitesse (ce qui suppose de comparer avec la vidéo pour savoir exactement quand je touche à l'embrayage).

Ajout () : La « simple » opération de modifier ou recomprimer la vidéo sans affecter les autres informations stockées dans le flux par la GoPro n'est pas évidente : voir ce fil Twitter (lire au-dessus et en-dessous) ainsi que cette page qui donne des instructions détaillées mais dont je signale dans le fil Twitter qu'elles ne semblent marcher que pour certaines versions de ffmpeg (la 4.0.2 mais pas la 4.2.1 — il n'est pas clair si c'est un bug, un accident ou une feature).

Je me pose d'ailleurs la question suivante, qui n'est théoriquement pas très difficile, mais comme d'habitude le diable est dans les détails : j'ai une fonction — la position de la GoPro — qui est mesurée 18 fois par seconde par GPS, mais avec une précision variable et parfois très mauvaise, et dont la dérivée seconde est mesurée 200 fois par seconde par les accéléromètres (et gyroscopes puisqu'il faut bien retrouver les directions), avec une précision sans doute plus constante : quelle serait la bonne approche numérique, avec ces diverses données, pour interpoler la position quand elle n'a pas été mesurée ou qu'elle l'a mal été ? et pour approcher la vitesse ? (bizarrement, la GoPro enregistre la grandeur de la vitesse relevée par le GPS, mais pas sa direction : on doit pouvoir y arriver en mettant ensemble des positions successives, la grandeur connue, et l'accélération, mais tout ça n'est pas forcément évident). Bon, pour faire des expériences un peu scientifiques, il faudrait sans doute plutôt accrocher la GoPro à la moto elle-même qu'à son conducteur qui doit avoir tendance à gigoter inutilement.

[Deux vues différentes au même moment]Il y a plein de choses qui sont théoriquement très simples et qui en pratique dont parsemées de petites crotte de ragondin, en fait. À l'occasion d'une de ces balades d'essai où le poussinet prend son joujou et moi le mien, la même suite d'événements a été filmée par deux caméras indépendantes : la dashcam de la voiture, vers l'avant et vers l'arrière mais prenons la vue arrière puisque c'est elle qui voit la moto, et la GoPro que je porte sur un harnais. Je me suis dit que ce serait amusant de faire une vidéo combinée montrant les deux vues en même temps. Synchronisées, donc. En principe ça ne devrait pas être difficile de synchroniser les deux flux vidéos, d'autant que les deux caméras captent l'heure par GPS (la GoPro l'insère comme un flux binaire dans le fichier vidéo, tandis que la dashcam de la voiture l'ajoute sur les images). Mais il y a un million de petites complications qui viennent rendre ce beau projet beaucoup plus compliqué que sur le papier : par exemple, la dashcam coupe sa vidéo en fichiers de 181s, avec 1s de recollement entre deux fichiers consécutifs tandis que la GoPro les coupe en fichiers d'environ 4Go et sans recollement ; les deux, d'ailleurs, n'ont pas le même framerate parce que ce serait trop facile sinon ; la dashcam enregistre certes l'heure renvoyée par une unité GPS, mais elle la reçoit, en fait, une fois par seconde et pas forcément à l'instant exact de la seconde GPS, si bien que cette heure est seulement précise à quelque chose comme 1.5s ou 2s près ; la dashcam, par ailleurs, a été éteinte pendant un certain temps parce que le poussinet a coupé le contact pour mettre de l'essence (ce qui fait qu'un segment vidéo a été raccourci). Au final, pour trouver des bons points de synchronisation, je n'ai pas utilisé le GPS mais des feux qui passaient au vert (vus par la GoPro et la caméra avant de la voiture, que j'espère correctement synchronisée avec la caméra arrière) : j'ai réussi à produire une vidéo correctement synchronisée (à une fraction de seconde près), mais ça n'a pas été sans y passer beaucoup de temps et m'arracher beaucoup de cheveux (surtout avant d'avoir compris cette histoire d'heure reçue seulement une fois par seconde par le GPS de la dashcam de la voiture). Je ne publie pas la vidéo résultante, parce que je doute qu'elle intéresse qui que ce soit à par le poussinet et moi (hum, juste moi en fait), et que YouTube massacre tellement la qualité des vidéos que je lui envoie que ça n'aurait plus aucun intérêt ; mais voici ci-contre un exemple de capture (ça se passe à cet endroit) où normalement les parties haute et basse ont été prises à quelques centièmes de seconde d'intervalle.

Là aussi, le copyiste que je suis se demande s'il conserve la vidéo complète résultant de cette synchronisation, ou seulement quelques images aléatoires, ou juste les informations de synchronisation.

Tout ça m'aura au moins permis d'en apprendre un peu plus sur le fonctionnement du programme ffmpeg et de ne plus avoir peur de faire des successions un peu compliquées de filtres.

(En fait, je vais tâcher de remplacer la GoPro par une dashcam pour moto puisqu'on m'a signalé que ça existait et que ça correspond sans doute mieux à l'usage que je cherche — hors caramels mous, Surtout que le temps pris pour enfiler le harnais portant la GoPro, ou parfois pour me rendre compte que j'ai laissé la carte µSD dans l'ordinateur et que je dois revenir la chercher, jouent beaucoup dans le temps qui s'écoule entre le moment où je décide de partir et le moment où la moto démarre vraiment. Bref, je prendrai une dashcam — la VSYSTO a l'air intéressante — quand j'aurai fait poser une prise 12V sur laquelle la brancher, et en espérant que la fixation et le câblage ne dépassent pas mes capacités très limitées pour le bricolage. Mais je ne vais certainement pas jeter ma GoPro qui pourrait servir à enregistrer toutes sortes d'autres choses, ne serait-ce que des balades à pied. ⁂ Mise à jour : Voir ce bout d'une entrée ultérieure pour la dashcam que j'ai finalement achetée.)

↑Entry #2622 [older| permalink|newer] / ↑Entrée #2622 [précédente| permalien|suivante] ↑

[Index of all entries / Index de toutes les entréesLatest entries / Dernières entréesXML (RSS 1.0) • Recent comments / Commentaires récents]