Le blog de Jean David TECHER, un Réunionnais à Saint-Priest/Lyon

Aller au contenu | Aller au menu | Aller à la recherche


< 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 >

dimanche 22 février 2009

[PostGIS] GUI en GTK pour shp2pgsql dans le SVN de PostGIS

Paul RAMSEY sur son blog en janvier publiait un billet concernant un GUI pour shp2pgsql en GTK. Or en février celui-ci avoir été committé dans le SVN de PostGIS


Shp2pgsql GUI pour GTK maintenant intégré dans le SVN de PostGIS.

En effet les options de compilation ont laissé apparaître une nouvelle option --enable-gui .

En pré-requis, il faut avoir installer au moins GTK 2.8.0. qui nécessite pango.

Voici comment faire pour tout compiler

Pour éviter tout conflit de dépendances avec mes propres lib' et binaires, j'ai décidé de tout compiler séparemment dans un répertoire /opt/gistools à part.

Les outils habituels: PostgreSQL, Geos et Proj

Comme toujours, on commence par construire un répertoire où poser nos sources

mkdir pgregress
cd pgregress/
  1. PostgreSQL 8.3.6:
    wget http://wwwmaster.postgresql.org/redir/357/h/source/v8.3.6/postgresql-8.3.6.tar.bz2 -O -|tar xjf -
    cd postgresql-8.3.6/
    ./configure --with-pam --with-ldap --with-readline --with-pgport=5433 --prefix=/opt/gistools
    make
    make install
    Pour être en conformité avec le reste de l'installation, on effectue déjà les mises à jours de variables adéquates
    export LD_LIBRARY_PATH=/opt/gistools/lib/:$LD_LIBRARY_PATH
    export PATH=/opt/gistools/bin/:$PATH
  2. Geos 3.0.3
    cd ..
    wget http://download.osgeo.org/geos/geos-3.0.3.tar.bz2 -O - | tar xjf -;
    cd geos-3.0.3 && ./configure --prefix=/opt/gistools/ && make && make install
  3. Proj 4.6.1
    cd ..
    wget http://download.osgeo.org/proj/proj-4.6.1.tar.gz -O - | tar xzf -;
    cd proj-4.6.1 && ./configure --prefix=/opt/gistools/ && make && make install

Il faut maintenant installer pango et GTK

Pango et GTK+ 2.8

On procède ainsi

  1. Pango
     wget ftp://ftp.gtk.org/pub/gtk/v2.8/pango-1.10.4.tar.bz2 -O - | tar xjf -
     cd pango-1.10.4/ && ./configure --prefix=/opt/gistools/&& make && make install
    
  2. GTK2.8. J'ai choisi la toute dernière version. Normalement pkg-config devrait faire son travail proprement si on omet de préciser le répertorie --prefix mais on va ruser un peu. Le configure de GTK débouchera sur un échec afin de trouver la bonne version de pango si on en a une de déjà installée mais vieille. J'ai été confronté à ce problème, j'ai donc préciser mon CFLAGS et mon LDFLAGS comme il faut.
     wget ftp://ftp.gtk.org/pub/gtk/v2.8/gtk+-2.8.9.tar.bz2 -O - | tar xjf -
    cd gtk+-2.8.9/
    CFLAGS=-I/opt/gistools/include/pango-1.0/ LDFLAGS="-L/opt/gistools/lib/ -lpango-1.0" ./configure --prefix=/opt/gistools/
    make
    make install

Il ne reste plus qu'à compiler PostGIS

PostGIS

On récupère le repository trunk de PostGIS

svn checkout http://svn.refractions.net/postgis/trunk postgis-svn

Comme pour GTK, il faut lui préciser la même ligne pour configure en ajoutant l'option --with-gui

cd postgis-svn
CFLAGS=-I/opt/gistools/include/pango-1.0/ LDFLAGS="-L/opt/gistools/lib/ -lpango-1.0" ./configure --prefix=/opt/gistools/ --with-gui
make
make install

Le binaire GUI est postgis-svn/loader/shp2pgsql-gui. Il suffit alors de le copier dans /opt/gistools/bin.

Pour le lancer, on effectuera

LD_LIBRARY_PATH=/opt/gistools/lib/:$LD_LIBRARY_PATH /chemin/vers/shp2pgsql-gui

lundi 16 février 2009

Jana Defi - Nouvelles photos sur le blog français

Décidemment l'ami Jdub - que je salue au passage - me fait plaize sur son blog consacré à Jana Defi avec les nouvelles photos de notre Jana du Web. Samedi entre deux lignes de compilation de VLC, j'en ai profité donc pour changer mon fond d'écran.

Un beau fon d'écran en attendant le printemps!!!

[FFMPEG/VLC] Streaming en Flash pour le multiposte de Free ou une vidéo vers internet

Il est possible de combiner VLC et ffmpeg pour faire du streaming en Flash si on dispose d'une FreeBox. Pour l'exemple fourni ici la vidéo sera de qualité très moyenne afin de ne pas trop pénaliser mon petit serveur. J'ai donc ici l'occasion de tester mes deux outils préférés pour le multimédia . C'est bien pratique car ma Freebox V4 - qui date un peu- est à Montpellier et moi à Antibes .

1. Illustration


Fig 0 - Configuration pour le streaming


Fig 1 - côté serveur à Montpellier: VLC en cours sur la playlist.


Fig 2 - côté client à Antibes: Réception du flux au format FLV


Fig 3 - côté client à Antibes: La sortie du script php en FLV s'intègre parfaitement à un lecteur Flash

2. Intégration depuis le Web à un lecteur Flash

Le couple VLC/Ffmpeg est donc utilisé ici. Dans les lignes de commandes suivantes, [PORT] désigne le port de sortie.

  1. vlc

    VLC est utilisé en premier. Suite à des crashs remontés par les users de VLC version 0.9.8a sur le forum pour le h264, je teste moi-aussi cet encodage afin de vérifier combien de temps, on peut le faire tourner. J'ai choisi l'option dummy au lieu de ncurses afin de mieux tracer les divers messages. J'ai pris une chaîne au hasard du bouquet du multiposte pour faire mes tests.

    /opt/vlc-0.9.8a/bin/vlc 'rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=372&flavour=sd' \
    --sout '#transcode{vcodec=h264,vb=192,acodec=mpga,ab=32,channels=1,samplerate=48000,width=320,height=240,deinterlace}:standard{mux=ts,dst=0.0.0.0:[PORT]/stream.ts,access=http}' -vvv -I dummy --interact

    Ceux qui sont sous VLC 0.8.6 préfèront plutôt directement d'utiliser ncurses qui s'intègre parfaitment en optant par exemple pour

    vlc 'playlist.m3u' \
    --sout '#transcode{vcodec=mp2v,vb=384,acodec=mpga,ab=32,channels=1,samplerate=48000,width=320,height=240,deinterlace}:\
    standard{mux=ts,dst=0.0.0.0:[PORT]/stream.ts,access=http}'  -I ncurses 2> /dev/null
  2. php script avec ffmpeg

    L'option "-" redirige le flux en direct comme la redirection vers un fichier pour le stdout du shell. L'idée ici consiste à utiliser Php afin de faire appel à ffmpeg à partir de la fonction system(). Ffmpeg se charge donc de vers la conversion du flux de la chaine. Le script php est donc à déposer sur votre serveur Web.

    <?php
    header("Cache-Control: no-cache, must-revalidate");
    header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
    system("ffmpeg -i http://votre.host:[PORT]/stream.ts -acodec libmp3lame -b 300k -s 320x240 -ab 36k -ar 11025 -y  -f flv -");
    ?>:
  3. le lecteur Flash

    Le lecteur Flv-Player disponible à http://flv-player.net/ fera parfaitement l'affaire...C'est la variable suivante qu'il faut préciser par rapport à votre script php

        <param name='FlashVars' value='flv=http://votre.host/votre_script.php&width=...&height=....&...

    L"intégralité du code à insérer dans une page Web serait donc

    <object type='application/x-shockwave-flash' data='http://mon.site.perso/player_flv_maxi.swf' width='368' height='288'>
        <param name='movie' value='http://mon.site.perso/player_flv_maxi.swf' />
        <param name='allowFullScreen' value='true' />
        <param name='FlashVars' value='flv=http://mon.site.perso/mon_script.php&width=320&height=240&autoplay=0&showstop=1&showvolume=1&showtime=1&showloading=always&showfullscreen=1&shows
    witchsubtitles=1&showiconplay=1&iconplaybgalpha=100' />
    </object>

    Ce lecteur est très sympathique car il propose un générateur pour le reste. Il suffit pour celà de se balader sur le site de flv-player pour accéder au générateur.

Source: http://forum.videolan.org/viewtopic.php?f=4&t=55069

dimanche 15 février 2009

Petit week-end ensoleillé sur Antibes et nouvelles de la Réunion...

Enfin un week-end entient en compagnie du soleil :) aussi bien samedi que dimanche.

Samedi au levé, ça a été repasage et repassage puis petite sieste de deux bonnes heures avant d'aller faire les courses!

Ca a été un vrai plaisir que de rouler simplement même en allant faire les courses samedi que de croiser du soleil!...en fin d'après-midi, j'ai donc fais les courses. Au menu samedi soir, quelques manchons de poulet façon réunionnaise comme toujours, du riz et des lentilles. Un vrai régal devant le journal de 20h00 ....

Comme il n'y avait rien d'intéressant à la télévision - comme d'habitude ces temps-ci -, j'ai donc passé toute ma soirée à tester diverses versions de VLC...

Vendredi au suivi de la branch 0.9.X de VLC, j'essayais de comprendre

  1. Pourquoi on ne pouvait plus utiliser VLC en tant qu'utilisateur root? J'ai finalement compris que c'était l'option --enable_as_root qui me manquait. Je n'ai pas suivi le développement de la branche 0.9 depuis le début. Cette option est donc nouvelle pour cette branche.
  2. Quelle était l'option qui me manquait pour avoir ncurses pour gérer VLC? Bien sûr, il s'agissait là-aussi de l'option --enable-ncurses
  3. Quelles sont les erreurs qui font coredumper h264/aac quand on fait du streaming ou bien lorsqu'on change de piste sur une playlist...?

J'ai donc passé toute ma soirée de samedi -comme lors du bon vieux temps en 2003/2005 à compiler VLC...

Dimanche, il faisait aussi bien beau. Ma mama m'a appelé samedi pour me faire donner des nouvelles de la famille et le point sur la Réunion actuellement..On a beau en parlé à la télévision de la contagion qui s'étend dans tous les DOM mais sincèrement je trouve que les infos sont vraiment maquillés comme il faut :(

De toute façon lo band' politik cé rien qu'in band' voler comme di progression dans son sanson "Ker maléré.".. Arrêt' un pé zoué som' nou lé gars...Ecoute un pé zot band' paroles avant fer zot ' band' conn'ri

Poukwé???
Néna domoun' y comprend pas

Poukwé?
Ti dépense tout' ton l'arzen?

Poukwé?
Ti donne a moin bompé souci?

Poukwé?
Néna domoun' lo ker maléré

La pa bezoin fé sa!!!
Néna domoun' y comprend pas
Zot lé né sous la coupe lo diab'
Et tous les dimanses i ca va la messe

La pa bezoin fé sa!!!
Néna domoun' y comprend pas
Zot lé né sous la coupe lo diab'
Et lé septième zour li lé croyant'
Sérieux té arrêt déconné dont :)

N'ayant plus de cigarettes vers 17h00, j'ai pris la voiture et direction le tabac à côté du Casinon de Juan-Les-Pins. Il a fallut me garer un peu loin car comme il faisait beau, il y avait du monde. Ainsi pas de place à proximité pour se garer...

Au crystal, j'ai croisé une connaissance. Juste le temps de parler un peu et je suis rentré à la maison. Ce soir je termine mes investigations sur VLC en attendant de réattaquer la semaine lundi.