Astro Ubuntu : transformer votre ubuntu en observatoire
Par kate, jeudi 24 juillet 2008 à 09:39 - Ubuntu - cheese, gstreamer, philips SPC900 NC, stellarium, ubuntu, utilisateur, video, webcam - Lien permanent #37
Regarder la lune, les planètes et les étoiles c'est passionnant... mais il faut regarder à tour de rôle dans l'oeilleton et le petit dernier doit monter sur une chaise pour espérer voir quelques choses... pas si simple. On va voir comment adapter une webcam (mais là je n'apprendrais rien aux astronomes amateurs qui connaissent bien ces choses là, moi je débute...) et utiliser ce petit matériel sous linux, et plus particulièrement Hardy Heron, afin que tout le monde profite en même temps des belles images livrées par le télescope.
Stellarium ou Qu'y a t'il au télescope ce soir
Dixit le site Stellarium est un logiciel de planétarium open source et gratuit pour votre ordinateur. Il affiche un ciel réaliste en 3D, comme si vous le regardiez à l'oeil nu, aux jumelles ou avec un télescope. Il est utilisé avec des projecteurs de planétarium. Rentrez vos coordonnées et c'est parti !
Ce logiciel permet de savoir ce qu'il est possible de regarder lorsque vous sortez votre télescope.
Ce logiciel fait partie des paquets Ubuntu, et l'installation est donc un jeu d'enfant :
[bash] sudo aptitude install stellarium
Lancement et configuration
Voici à quoi ressemble stellarium

La manuel de l'utilisateur peut être trouvé ICI
Il faut configurer un minimum le logiciel (position de votre lieu d'observation) afin qu'il y ait correspondance entre ce que l'écran vous affiche et ce que vous pouvez voir dans le ciel.



La molette de la souris vous permet de zoomer sur l'endroit désiré


Il est possible de rechercher des astres très facilement et ensuite de les suivre. On peut par ailleurs accélérer le temps pour voir comment se déplace un astre ou encore savoir s'il sera visible à une date précise.
Maintenant que nous savons ce que nous pouvons voir, intéressons nous à la manière de regarder la nuit étoilée. Comme je suis un pur amateur, j'ai commencé par l'achat d'un télescope SkyWatcher 150/750mm EQ3-2. Maintenant nous allons l'équiper d'une webcam pour pouvoir afficher sur une écran l'image du télescope.
Webcam Philips SPC900NC et accessoires
Le choix de la Webcam Philips SPC900NC n'est pas anodin. Elle est très prisée pour ce genre d'usage chez les amateurs d'astronomie. Elle permet à moindre coût d'obtenir une image de bonne qualité de fait de son capteur CCD.
On peut la trouver sous la forme de pack chez Astroshop au tarif de 159€, ou encore à la maison de l'astronomie. Il comprend, la webcam, l'adaptateur 1"25 et un filtre infra rouge. Il est bien sur possible d'acheter les pièces séparément chez des vendeurs différents afin de gagner de l'argent :
- Webcam chez Cdiscount : 39€99
- Adaptateur sur ebay ou M42optic pour 20~25€
- Filtre infrarouge chez Astroshop, ebay ou encore OptCorp pour ~30€
En gros on ne gagne que sur la promo de la webcam.
Voici l'objet :

L'intérêt de cette webcam réside dans ses caractéristiques techniques :
- Sensor VGA CCD
- Video resolution VGA (640 x 480)
- Snapshot resolution 1.3 MP (1240 x 1024)
- Max. frame rate 90 fps @
- Lens F2.2, D55°
- White balance 2600 – 7600
- Min. illumination < 1 lux
- Color depth 24 bits
Mais comment faire pour installer l'adaptateur Webcam - 31.75mm!

Pas de documentation. Il ne s'adapte pas directement sur la webcam. Il va donc falloir démonter un partie de celle-ci afin de pouvoir le monter. Nous allons être obligé de démonter la partie Optique/réglage Optique. Pour cela 3 écoles :
- la manière brute qui consiste à dévisser à fond la molette de réglage de netteté et ensuite tirer fortement sur cette dernière afin de faire sortir les deux pièces (optique + molette). Pour ma part, j'ai cassé une patte de fixation de la molette de réglage lors de ce démontage.
- la manière Astroshop : Utiliser une fine lame (couteau) pour séparer la molette de réglage du corps de la webcam. La molette est clipsée sur le web cam (cf photo). Il faut donc insérer le couteau dans l'espace entre la molette et le corps de la webcam, faire levier et déposer la molette. Ensuite on enlève l'objectif, et on visse l'adaptateur sur le socle fileté.
- la manière douce pour laquelle il faut démonter entièrement la webcam. Voir la page suivante qui décrit en fait un patch pour modifier le temps de pause du capteur CCD. La même page en français.
Voila si tout se passe bien vous obtenez cela (pour moi une version cassée des 2 pièces
) :


On peut voir le capteur CCD au fond ainsi que l'emplacement pour visser l'adaptateur :

Ensuite il reste à positionner et visser l'adaptateur :

Il ne reste plus qu'à positionner le tout sur le télescope :

Cheese : Prendre des photos et des films
Le second gros avantage est qu'elle est reconnue sous Ubuntu Hardy Heron :
[bash] $ lsusb ... Bus 006 Device 004: ID 0471:0329 Philips ...
Test via gqcam
On peut tester son fonctionnement à l'aide gqcam, mais il faut spécifier le périphérique de capture, car par défaut l'application recherche /dev/video :
[bash] $ gqcam -v /dev/video0

L'image n'est pas très jolie, car la webcam n'est pas montée sur le télescope et aucune mise au point n'est faite. Ce test a juste pour objectif le test de bon fonctionnement de la webcam.
Essais de capture vidéo infructueux
Xdtv
Suite à l'article précédent sur Xdtv, j'ai essayé de réaliser la capture vidéo de la webcam par celui-ci. Mais Xdtv ne réussit pas à initialiser le périphérique même en forçant certaines options.
[bash] $ xdtv ... VIDIOC_S_FREQUENCY: Argument invalide asked for 368x576, and I have 368x480 try to run with -capt_width 368 -capt_height 480 or -force_capt_width 368 -force_capt_height 480 or -only_capt_width 368 -only_capt_height 480 ...
Avec les options suivantes le programme ne se crashe pas, mais je n'ai pas d'image :
[bash] $ xdtv -only_capt_width 640 -only_capt_height 480
vlc
Avec vlc, je suis bien arrivé à visualiser l'image de la webcam, je suis aussi arrivé à capturer des vidéos, mais impossible de réaliser les deux en même temps (mais j'ai peut-être mal cherché et pas assez longtemps). De plus, ce n'est pas très pratique, car on ne dispose pas d'un bouton qui permette la capture d'une séquence de la vidéo que l'on regarde. J'ai donc laissé de coté cette solution, même si vlc est vraiment très puissant et très configurable.
Avec Cheese c'est du gâteau (la lorraine me comprendra
)
Après quelques recherche je suis tombé sur ce projet : Cheese. Cheese est une application gnome qui permet de prendre des photos et des vidéos à partir d'une webcam. On peut aussi utiliser des effets graphiques grâce à l'utilisation de Gstreamer.
Tout est automatique avec Cheese; cela peut sembler pratique, mais on verra dans la suite que l'absence de réglage est un manque important de l'application.
Lors de ces recherche, je suis aussi tombé sur Cupid, mais qui semble vraiment trop jeune.
Voici l'interface de Cheese, on ne peut pas faire beaucoup plus simple :

Mais tout n'est pas rose dans ce petit logiciel. En témoigne ce post ainsi que les messages d'erreurs dans la console lors de l'acquisition d'une vidéo :
[bash] $ cheese (cheese:7945): GLib-GObject-WARNING **: IA__g_object_notify: object class `GstV4l2Src' has no property named `norm' (gnome-video-thumbnailer:7963): GStreamer-CRITICAL **: gst_event_new_new_segment_full: assertion `start != -1' failed (gnome-video-thumbnailer:7963): GStreamer-CRITICAL **: gst_event_new_new_segment_full: assertion `start != -1' failed gnome-video-thumbnailer couldn't process file: 'file:///home/user/.gnome2/cheese/media/0009.ogg' Reason: Took too much time to process. ** (cheese:7945): WARNING **: could not load /home/user/.gnome2/cheese/media/0009.ogg (application/ogg) ** (cheese:7945): WARNING **: Changing the `location' property on filesink when a file is open not supported. (cheese:7945): GStreamer-WARNING **: Element photo_save_bin is not in bin pipeline (cheese:7945): GStreamer-WARNING **: Name video_save_bin is not unique in bin pipeline, not adding
Ces messages d'erreurs empêchent l'affichage des miniatures des vidéos réalisées juste après l'acquisition. Si on quitte l'application et la relance, les miniatures apparaissent bien! Dans mon cas, la première acquisition semble bloquer l'application sur son arrêt. En fait c'est juste un peu long. Ensuite lors des acquisitions suivantes il faut quitter et relancer à chaque acquisition, car l'image de la webcam se fige à la fin de chacune d'elles.
Vidéo en 320x240
Lors de mes essais, il me fut impossible de réaliser une vidéo de taille supérieure à 320x240. Même en essayant de configurer via gstreamer-properties.
En configurant la sortie vidéo en mode personnalisé et en mettant la configuration suivante dans le pipeline, j'obtiens bien une fenêtre en 640x480 via le bouton de test, mais rien n'y fait dans Cheese.
[text] video/x-raw-yuv,format=(fourcc)YV12,width=640,height=480! xvimagesink

Par contre il est tout a fait possible de réaliser une vidéo en 640x480 par gstreamer à l'aide de la commande suivante trouvée sur http://noraisin.net/~jan/diary/?p=40 :
[bash] gst-launch v4l2src ! video/x-raw-yuv,width=640,height=480 ! ffmpegcolorspace ! theoraenc ! oggmux ! filesink location=test.ogg
Mais dans ce cas on perd aussi la visualisation. Peut être est il possible de réaliser un pipeline qui permette la visualisation puis l'encodage et l'envoie dans un fichier. Mais on perd encore la fonctionnalité du bouton enregistrement de Cheese.
Ces petits tests me font dire que la limitation provient de Cheese. Mais là encore je ne suis pas un pro de Gstreamer.
Résultats
Voici en guise de fin d'article, une photo et une vidéo prises avec le télescope (en plein jour désolé, promis, dès que la lune se montre je fais des essais). Ces petites feuilles se trouvent environ à 150m de chez moi. Je n'ai utilisé aucune lentille, juste la webcam dans l'oculaire.

De vrais images...
Ce soir Jupiter était visible, mais sur la ligne d'horizon, de ce fait on choppe un maximum de pollution atmosphérique, en plus de la pollution lumineuse du fait d'une grande agglomération à moins de 5km. Les conditions d'observations ne sont donc pas optimales . Avec une lentille 5mm, l'image était plutôt bien, mais impossible de monter la webcam. J'ai du me contenté du grossissement par défaut ou avec ma Barlow x2 de mauvaise qualité.
Voici 2 types d'images et de vidéo. La première série sans réglages de la webcam (enfin le réglage automatique). En fait on ne voit rien!!! Ou plutôt si, on voit Jupiter (le rond blanc) et 2 de ses satellites (points blancs). Alors qu'à l'oeil + lentille 5mm, on voit distinctement les lignes de couleurs de la surface de la planète.

En ayant réglé les paramètres de la webcam (et là ce n'est possible que sous windows!!!) on obtient de meilleurs résultats.

Lune au matin
Ce matin assez tôt, la lune était visible dans le ciel. Il fait jour mais elle est bien visible, voici les les essais.
Voici la lune à l'oeil nu :

et la matériel en position :

Captures sous Linux

Capture avec le logiciel Philips qui permet moultes réglages




Commentaires
C'est tout bonnement génial. Je dis BRAVO.
J'attends avec impatience les photos de la grande Ourse
Merci à vous 2, cela fait bien plaisir. J'ai ajouté photos et acquisitions. La morale de l'histoire c'est qu'il faut un pilote et une console de réglage pour la webcam, afin d'éviter que le capteur se fasse piéger. Et pour l'instant ce n'est pas dispo sous linux
Capture de la lune ce matin aux aurores... effectivement les essais sont plus concluant, mais il manque toujours une application de réglage de la webcam sous linux.
Bonjour, suite à ce billet et mes essais avec une autre webcam, j'ai ouvert un rapport de bug à propos de la limitation de qualité dans cheese. On verra si ça donne quelque chose.
http://bugzilla.gnome.org/show_bug.cgi?id=546953
Merci pour ce rapport de bug... mais j'ai maintenant d'autres pistes... pour le réglage de cette webcam et son utilisation astro... dans un prochain article
La version cvs/svn de cheese ne compile pas sur ma hardy. Je ne suis donc pas allé plus loin. Mais j'en ai conclu un bug/limitation de cheese, car un enregistrement à partir de gstreamer fonctionne en 640x480.
en fait, c'est effectivement un bug réglé dans la version svn de cheese que j'ai pu compiler dans hardy (faut hacker un peu configure.ac pour remplacer 0.40.0 par 0.37.0), cependant un nouveau bug prend sa place: http://bugzilla.gnome.org/show_bug.cgi?id=547422
supposément, ce bug serait causé par gstreamer trop ancien dans hardy. Sauf que, j'ai pas de machine plus récente que hardy pour tester, et compiler tout gstreamer est un peu au-delà de mes capacités.
Bonsoir,
comme tu peux le voir dans le dernier article, j'ai trouvé des applicatifs bien mieux adaptés à l'utilisation Astro de cette webcam... Je laisse donc de coté Cheese et vais attendre sa maturité.
Le fait de hacker le configure.ac peut provoquer d'autres erreurs. Et puis les recompiles de libs non packagées... ben j'ai un peu abandonné... surtout sur une hardy... c'est pas une debian stable tout de même ;-), les libs ne sont pas si vieille... Pour cela, rien ne vaut une bonne gentoo avec l'"ACCEPT_KEYWORDS" qui va bien