Faire un VCD avec un divx (part 1)

Introduction

Premier boulot avant d’attaquer le design du blog: se faire un petit VCD pour mater ce soir vu qu’il n’y a rien à la télé…

Je sais que pleins de platines DVD lisent le divx en natif. Pas la mienne ! Et il est hors de question que j’en rachète une pour le moment vu le nombre de fois où elle sert. On va donc exploiter ses fonctions de lectures de base: le Vidéo-CD (VCD) et également le SVCD. Si on essaie de progresser par ordre, il faut que je trouve un CD-RW (pas fou non plus !), que je l’efface et que je grave le VCD…

Mettre un CD-RW à blanc

Première mission: se choper un CD-RW (c’est juste pour visualiser le film ou la vidéo une fois, le reste, on s’en fout) et le mettre à blanc avant de commencer l’encodage. Cela paraît assez anodain mais mon noyau (2.6.12) n’a pas été lancé pour les options ide-scsi au boot. Il faut que je passe par l’interface ATAPI pour commander le graveur. Avec des versions ultérieurs (2.4 par exemple), c’était pas vraiment stable. Le noyau Linux 2.6 gère mieux cette interface. Pour faire simple, on va utiliser cdrecord.

Primo: savoir où est le graveur: cdrecord -scanbus dev=ATAPI Chez moi, ça donne ça:

scsibus0:
0,0,0 0) 'JLMS ' 'XJ-HD165H ' 'CH11' Removable CD-ROM
0,1,0 1) 'MITSUMI ' 'CR-48X5TE ' '1.8A' Removable CD-ROM

Je sais donc que mon graveur est référencé par ATAPI:0,1,0 ! Allons-y gaiement pour un blank rapide: cdrecord -blank=fast dev=ATAPI:0,1,0 A noter que cette commande ne fonctionne qu’en étant root malgré le fait que je sois dans le groupe cdrom ! Va comprendre Sarge…

Faire un VCD: le principe

Faire un VCD, c’est faire une image de CD qui contient un film MPEG1 ayant une résolution définie (pour du PAL:352×288; pour du NTSC:352×240) ainsi qu’une piste son à fréquence et bitrate définie (44100 Hz et 224 kbps). On a donc plusieurs étapes: - encoder le film et le son au bon format - utiliser un multiplexeur pour mixer les deux sources - utiliser vcdimager pour créer une image de cd à graver - graver le CD

Etape 1: Encoder le film et le son au bon format

Pour ma part, je vais utiliser mencoder (mplayer/mencoder) qui, s’il n’est pas officiellement dans la Debian Sarge est dispo facilement (même sur les autres distribs qui puent). J’ai essayé d’utiliser avidemux et son interface graphique mais le résultat est un VCD inregardable: la compression est vraiment merdique.

Tout se passe en une seule ligne: mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:vbitrate=1152:acodec=mp2:abitrate=224 -ofps 25 -o fichier_de_sortie.mpg fichier_d_entrée

A noter que contrairement à la doc de référence de mencoder, j’ai volontairement omis d’ajouter l’option vrc_maxrate=1152. Explication simple: avec ce paramètre, le VCD est complètement inregardable: toutes les secondes, une image de trop mauvaise qualité est générée et la lecture a l’air saccadée.

Etape 2: le multiplexage

Mencoder a déjà tout fait, on passe…

Etape 3: Créer l’image VCD

On va utiliser vcdimager:vcdimager -t vcd2 vcdimager créé une image .bin et un fichier .cue (par défaut videocd.cue et videocd.bin).

Etape 4: Graver la vidéo

On va utiliser non pas cdrecord (qui est bien pour les isos) mais cdrdao qui s’accomode très bien des images binaires générées par vcdimager. cdrdao write --device ATA:1,1,0 ./videocd.cue

Conclusion

Je ne sais pas vous, mais le VCD produit avec cette technique est regardable… de très loin: en effet, si on s’approche un peu (genre, distance normale pour regarder le petit écran), on se rend compte qu’il y a un léger problème: toutes les secondes, j’ai une sorte de saccade due à une image de très mauvaise qualité. Il va falloir une part 2 à ce petit article…

Références

October 1st, 2005 at 19:41

Posted sam. 01 oct. 2005 17:41:00 Tags:

Installation de PostGIS sur Debian Sarge

Introduction:

PostGIS est un cartouche spatial pour PostgreSQL, le meilleur SGBDR du monde (je n’ai pas de parti pris, c’est juste de l’expérience…) ! Son installation n’est pas des plus simples sous Debian Sarge: il n’existe pas de paquet officiel Debian de postGIS. Il faut donc recourir à un effort manuel: la compilation et l’installation de PostGIS.

Méthode:

Pour pouvoir le faire, il faut disposer des sources de pgsql.

On va faire court:

  • récupérer les archives de PostGIS (v1.0.4)
  • installer PROJ: apt-get install proj
  • installer libgeos: apt-get install libgeos2 libgeos-dev
  • installer la libreadline5: apt-get install libreadline5 libreadline5-dev
  • installer postgresql: apt-get install postgresql
  • se mettre dans un répertoire de construction
  • apt-get source postgresql
  • cd postgresql-7.4.7
  • tar -xjf ./postgresql-7.4.7.tar.bz2
  • cd postgresql-7.4.7/contrib
  • tar -xzf postgis-1.0.4.tar.gz
  • cd ..
  • LDFLAGS=-lstdc++ ./configure –enable-multibyte –with-CXX -prefix=/usr –sysconfdir=/etc –docdir=/usr/share/doc/postgresql
  • make clean && make
  • cd ./contrib/postgis-1.0.4
  • changer le Makefile.config: mettre les valeurs de use_proj à 1 et /usr idem pour geos
  • make clean && make
  • en root: make install

Créer une DB: createdb -O [propri étaire] [dbname] Y insérer le langage plpgsql: createlang plpgsql Y fourguer les procédures stockées postGIS+squelette de tables par postgis2.sql: - Commencer par convertir les variables du script: sed s/’\$libdir’/'\/usr\/lib\/postgresql’/ postgis.sql > postgis2.sql Y fourguer les définitions spatiales

Une fois que la DB est créée, on peut s’amuser à la remplir comme il faut.

Conversion Mapinfo vers postGIS:

ogr2ogr -f PostgreSQL -a_srs EPSG:27582 PG:’host=xxxxx user=xxxx password=xxxxx dbname=GIS’ ./test.tab

Conversion de PostGIS vers MapInfo:

ogr2ogr -f “Mapinfo File” test.tab PG:’host=xxxxx user=xxxxxx password=xxxxx dbname=GIS’ [nom_du_layer]

Conclusion:

A chaque changement de PostGIS, on peut recommencer la manipulation… A partir de la version 1.0, on dispose d’environ 300 fonctions spatiales dont certaines qui permettent de générer du SVG à la volée. Avec le temps, je remarque que PostGIS se positionne de plus en plus comme un paquet central en intégrant un maximum de fonctions nouvelles.

A vous les accès concurrentiels aux données spatiales… October 29th, 2005 at 10:43

Posted sam. 29 oct. 2005 08:43:00 Tags: