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 >

vendredi 23 mars 2007

Nouveaux exemples sur le site de gazb pour Flash8

Gazb a aujourd'hui ajouté de nouveaux exemples sur son tutoriel sur MinG. C'est surtout la beauté de ces petits nouveautés que j'aime bien. L'URL est comme toujours http://www16.brinkster.com/gazb/ming/

Un cours interactif sur les bases de données

C'est en fouillant dans un forum que je suis tombé la-dessus: http://asi.insa-rouen.fr/SIG/CoursBD/. Vraiment bien fait avec divers intervenants. Un cours magistral gratuit ! A mettre dans ses favoris comme on dit . Celà reste du cours magistral théorique mais je le mets quand même dans ma catégorie PostgreSQL et PostGIS

jeudi 22 mars 2007

Pour un lendemain de printemps: du vent que du vent ces temps-ci sur castelnau!

Purée depuis le début de la semaine, il souffle il souffle comme pas possible sur ma petite commune de Castelnau! En +, le soir il fait très froid! Pour fumer ces temps-ci, je suis obligé d'ouvrir uniquement quand je fume sinon bonjour le vent - surtout quand on est au 4ème étage -. En plus zordu fait pas beau du tout !

Pourtant c'est le début du printemps! Ben fait pas beau du tout! .... Mais bon je ne désespère pas qu'il fera meilleur temps plus tard .

mercredi 21 mars 2007

Serveur de streaming vidéo (MPEG4IP): récupérer le flux de la télévision de la Freebox V4, réceptionné sur un ordinateur par une carte Pinnacle PCTV USB2 50e (V4L2/em28xx)

est un projet qui couplé avec Darwin Server de chez ces pédés de Mac OS X permet d'obtenir un serveur de streaming vidéo. Mon but ici est de récupérer le flux de la télévision de ma Freebox V4 sur un ordinateur à l'aide de ma carte PCTV USB 50e. Il existe bien le projet avec VLC/Multiposte de chez Free pour avoir certaines chaines mais pas tous - par exemple TF1 qui n'est plus disponilble -.Je ferais de cet ordinateur un serveur de streaming vidéo de manière à pouvoir ensuite regarder la télé sur mon portable en WIFI grâce à VLC.

En gros voici ce que je souhaite mettre en place,


Principe du streaming pour le flux de la télévision de ma Freebox V4.
La carte Pinnacle PCTV USB2 50e là voici

Carte Pinnacle PCTV USB2 50e

MATERIEL ET BRANCHEMENTS

Je résume rapidement ici ce qu'il faut! On peut trouver tout le schéma complet et détaillé à http://www.eleves.ens.fr/home/meles/informatique/guides/tv/que j'ai adapté à mon matos ici


Le commutateur. Il faut veiller à être sur la postion OUT surtout.
Au niveau des câbles, il nous faut

Câble composite pour la vidéo.

Câble composite pour l'audio.
Au niveau des branchements, il suffira de faire

Connexion pour la freebox et la carte TV.
La carte est ensuite connectée à l'ordi par le port USB. L'entrée audio-composite se branche soit sur le microphone ou le line-in. Passons maintenant à la

RECONNAISSANCE/INSTALLATION DE LA CARTE

J'ai ici pris une version de la Dapper qui n'a pas été mise à jour depuis longtemps! Un petit uname -r me renvoit

root@jenna:~# uname -r
2.6.15-23-386

Hic! Celà ne sera pas suffisant pour reconnaitre ma carte PCTV USB2 automatiquement. Mais que celà ne tienne!

Voici comment faire ! A un moment où j'ai voulu suivre les indications de http://www.marcushellberg.com/pages/projects/digital-tv-in-linux.php mais celà me donnait des numéros de cartes non conformes à la mienne et apparement ce mercurial a récemment été mis à jour . Or sur une de mes bécanes, j'avais encore mon ancien répertoire v4l-dvb qui m'avait permis de l'installer pour ma carte. Donc du coup, pour tout retester, je l'ai mis sur mon site en libre téléchargement à l'adresse http://www.davidgis.fr/download/v4l-dvb-pctvusb250e-20070322.tar.gz

modprobe -r em28xx
apt-get install linux-headers-$(uname -r) mercurial gcc build-essential
cd /usr/src
wget http://www.davidgis.fr/download/v4l-dvb-pctvusb250e-20070322.tar.gz
tar xvzf 4l-dvb-pctvusb250e-20070322.tar.gz
cd v4l-dvb/
make
make install

Si on fait

modprobe em28xx

pour charger notre carte celle-ci ne sera pas encore prise en considération immédiatemment. En effet:

rdavid@jenna:~$ dmesg |grep -i Pinnacle
[4294688.006000] em28xx #0:     card=3 -> Pinnacle PCTV USB 2
[4294688.006000] em28xx #0:     card=9 -> Pinnacle Dazzle DVC 90
[4294688.006000] em28xx #0:     card=18 -> Pinnacle PCTV DVB-T
[4294688.006000] em28xx #0:     card=21 -> Pinnacle Hybrid Pro

Il nous faut ajouter la ligne suivante à notre fichier /etc/modprobe.d/options

echo options em28xx card=3 >> /etc/modprobe.d/options

Et on redémarre la machine!

REGARDER LA TELEVISION

Personnellement, j'ai essayé avec VLC mais je n'ai rien obtenu ! Mais j'ai réussi avec TVTIME et GMPLAYER . Je détaille dans la suite comment procéder.

TVTIME

Avec tvtime, c'est de loin le plus intéressant

sudo apt-get install tvtime
Il faut ensuite configurer tvtime. La suite va dépendre de l'entrée vidéo: S-Vidéo ou Composite. Pour info, l'entrée Composite est celle qui est la plus proche de la diode bleu ;) Ensuite, on lance tvtime depuis un terminal
tvtime
Si l'image est brouillée au début celà n'est pas bien grave. Il faut faire un clic-droit! Dans le menu qui apparaît, il faut choisir "Input Configuration"
Dans le nouveau menu, choisis "Change video source" entre S-Video ou Composite 1
Pour avoir le tuner en PAL, SECAM, il suffit de choisir l'option Television Standard et de redémarrer tvtime comme proposé!
GMPLAYER

Il suffira de taper depuis un terminal

gmplayer tv:// -tv driver=v4l2:device=/dev/video0:outfmt=i420:width=640:height=480:adevice=/dev/dsp1:norm=pal:input=1

Dans le terminal actif , on notera surtout les informations suivantes

Playing tv://.
Selected driver: v4l2
 name: Video 4 Linux 2 input
 author: Martin Olschewski 
 comment: first try, more to come ;-)
Selected device: Pinnacle PCTV USB 2
 Tuner cap:
 Tuner rxs:
 Capabilites:  video capture  tuner  audio  read/write  streaming
 supported norms: 0 = PAL; 1 = PAL-DK; 2 = PAL-I; 3 = NTSC; 4 = SECAM; 5 = PAL-M;
 inputs: 0 = Television; 1 = Composite1; 2 = S-Video;
 Current input: 1
 Current format: YUYV
v4l2: current audio mode is : MONO
v4l2: ioctl query control failed: Argument invalide
==========================================================================
Opening video decoder: [raw] RAW Uncompressed Video
VDec: vo config request - 640 x 480 (preferred colorspace: Packed YUY2)
VDec: using Packed YUY2 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
VO: [xv] 640x480 => 640x480 Packed YUY2
Selected video codec: [rawyuy2] vfm: raw (RAW YUY2)
==========================================================================
Audio: no sound
Starting playback...
v4l2: 1384 frames successfully processed, 9 frames dropped.

MPEG4IP

On va commencer par quelques paquets.

apt-get install libtool libsdl1.2-dev

On téléchargera la version 1.5.0.1 de mpeg4ip directement sur le site http://mpeg4ip.sourceforge.net.

 tar xvzf mpeg4ip-1.5.0.1.tar.gz
cd mpeg4ip-1.5.0.1
./bootstrap

Si on a l'erreur

Error - we have detected a version of faac that has libmp4v2 support
and no copy of mpeg4ip-config.  This means faac was built with
faad2 and the libraries will be incompatible.
Please reinstall faac without mp4v2 support

Pas de panique!

apt-get source libfaac-dev
cd ..
cd faac-1.24clean/
apt-get install automake autoconf
./boostrap
./configure

qui a un moment nous renverra surtout cette ligne

checking for MP4MetadataDelete in -lmp4v2... no

Ok! On continue

make
make install
ldconfig
maintenant on revient à mpeg4ip
cd ../mpeg4ip-1.5.0.1

On va ajouter quelques paquets supplémentaires. Celà je le fais en fonction de ce qui est demandé sur http://mpeg4ip.sourceforge.net/documentation/index.php#pre

apt-get update
apt-get install liblivemedia-dev liblame-dev libxvidcore4-dev liba52-0.7.4-dev libid3-3.8.3-dev libid3tag0-dev  libmpeg2-4-dev libx264-dev

Pour installer MPEG4IP, il suffira de faire

./bootstrap
make
make install
ldconfig

Darwin Server

Pour avoir le rtsp, il nous faut un serveur pour celà: Darwin Server de chez ces grosses tapettes de Mac OS X. Pour l'obtenir, il suffit de s'inscrire sur le site d'Apple à http://myinfo.apple.com/. On le télécharge ensuite à http://www.opensource.apple.com/projects/streaming/release/DarwinStreamingSrvr5.5.4-Linux.tar.gz. Son installation est des plus rudimentaires

tar xvfz DarwinStreamingSrvr5.5.4-Linux.tar.gz
cd DarwinStreamingSrvr5.5.4-Linux
chmod 777 -R .
./Install

Lors de l'installation, on demandera de fournir un nom d'administrateur et un mot de passe. Faudra pas les perdre! L'installation terminée, on ouvre un navigateur comme FireFox, on se rend à l'adress http://127.0.0.1:1220/. Quelques petites configuration de base seront demandées que je ne détaille pas ici.

N.B: Pour une utilisation ultérieure de Darwin Server, pour redémarrer le service , il suffira de saisir dans un terminal streamingadminserver.pl. Il faut veiller à ce qu'il n'y est pas déjà un serveur apache qui tourne sur le port 80.

TESTS

mp4live + Darwin Server - côté serveur

On s'assure que le serveur de Darwin est bien lancé. On lance maintenant mp4live...Celà aura pour effet de créer les fichiers et répertoires suivants:

root@jenna:~# find .mp4live_*
.mp4live_d
.mp4live_d/Video
.mp4live_d/Video/default
.mp4live_d/Audio
.mp4live_d/Audio/default
.mp4live_d/Text
.mp4live_d/Text/default
.mp4live_d/Streams
.mp4live_d/Streams/default
.mp4live_rc

Dans l'interface de configuration de mp4live, sur la figure suivante, j'ai mis ce qui est important de changer:

  • le répertoire pour le fichier .sdp est /usr/local/movies/. C'est bien sûr le répertoire par défaut de Darwin Server où l'on dépose les fichiers que l'on souhaite streamer;
  • les paramètres Composite1 pour la vidéo et pour le son sont accessibles et adaptable en accédant au menu déroulant "Change Source".
N.B: Pour de plus amples renseignements, on peut se référer à http://mpeg4ip.sourceforge.net/documentation/index.php#dss

Modificiations nécessaires à apporter à mp4live pour le coupler à Darwin Server.
VLC pour regarder la télé - côté client

Pour regarder la télé depuis VLC selon le protocole RTSP, il me suffira de saisir:

vlc rtsp://192.168.0.5/default.sdp