Ceci est une ancienne révision du document !



Capture vidéo

Un périphérique de capture vidéo aussi appellé boitier d'acquisition est une boite en usb, ou une carte pci permettant de sauvegarder ou de voir une source vidéo provenant d'une prise péritel, ou composite (RCA), S-video… Cette page traite des périphériques de capture vidéo (TV, camescope, etc).

Si vous cherchez des informations concernant la capture vidéo d'écran (screencast), consultez le portail Capture. La méthode ci-dessous peut quand même vous intéresser car elle permet si votre carte graphique dispose d'une sortie S-video et d'une carte tv ou autre périphérique de capture, de capturer une vidéo de votre écran en temps réel sans utiliser de manière intense votre processeur. (il suffit de faire une liaison S-video Mâle→Mâle.

@contributeurs wiki: il manque des infos a cette page, par exemple : firewire, logiciels de captures de vidéos type caméscopes avec des outils tels que Dvgrab, gstreamer, DvgrabGui . On peut aussi peut-être citer dans cette catégorie les logiciels de screencasting genre Shutter. Voir cette discussion.

Cette page ne concerne donc en l'état que la capture analogique.

Certaines cartes-tv disposent d'une entrée vidéo permettant le visionnement d'une source autre que hertzienne ou DVB-T (TNT), ce sont majoritairement les versions pci de ces cartes.

Il existe aussi du matériel spécialisé dans la capture, recommandé si vous n'êtes pas intéressé par les autres fonctions d'une carte tv (en effet la qualité est bien souvent supérieure sur un périphérique dédié), le plus connu étant, sans faire de pub, le pinnacle dazzle qui reste une référence au niveau qualité/prix/fonctionnement correct sous linux !

Certaines cartes graphiques disposent aussi d'une entrée vidéo comme les Ati all in wonder et les Nvidia ViVo, mais c'est pas très concluant au niveau fonctionnement sous linux … Aucune des deux ne fonctionne de manière viable…

Certaines Ati all in wonder marchent via un pilote libre http://gatos.sourceforge.net . Rare sont les cartes supportées correctement…

Certaines Nvidia avec entrée vidéo marchent grâce au pilote RivaTV Cela concerne les cartes graphiques plutôt anciennes de la Riva 128 aux GeForce FX. Les Geforce 6xxx et plus récentes ne sont en aucun cas supportées !

Les périphériques fonctionnant le mieux sont bien souvent les vieilles cartes tv à base de chipset bttv plus ou moins facilement trouvables d'occasion et simple d'emploi !

Comment ça marche ?

L'entrée vidéo est disponible sous forme d'un port jaune, et rarement sur les cartes tv, deux autres ports, blanc et rouge ; oui, ça doit déjà vous rappeler quelque chose !

Si vous ne disposez pas des ports blanc et rouge, il faut faire passer le son par l'entrée line-in de votre carte son, l'équipement nécessaire est décrit plus bas.

Parfois aussi une entré S-vidéo qui permet une qualité d'image bien plus élevée ! Si vous l'avez, utilisez celle ci de préférence !

Équipement supplémentaire

Si votre source ne dispose que d'une sortie péritel

Les magnétoscopes par exemple, sont connectés par une connectique, appelée péritel sur péritel, pour capturer le signal venant d'un tel périphérique, il existe des câbles péritel vers Composite (RCA) ou S-video qui permettent la connexion sur un périphérique de capture.

Voici comment ça se présente : http://www.cdiscount.com/informatique/cables-connectiques/cordon-peritel-vers-2x3-rca-m/f-107201006-SCART42.html

Je suppose que vous pouvez le trouver à moindre coût ailleurs, mais c'est ce lien vous montre bien l'apparence de la chose.

Certains périphériques ne marchent pas instantanément, regardez la liste en bas de cette page pour chercher si le votre à besoin de l'installation d'un quelconque pilote.

Si votre Carte TV ou carte graphique ne dispose que de l'entrée vidéo

Si votre carte d'acquisition ne comporte pas d'entrée son, là aussi un adaptateur existe, il faudra simplement le brancher sur la prise line-in ou microphone de votre carte son !

Voilà à quoi il ressemble : http://www.audiogear.com/cgi-bin/shopper.cgi?key=adpt-2rcfMmm&preadd=action

C'est un RCA femelle vers jack mâle… Il est trouvable presque partout. Je vous conseil une version stereo de ce périphérique et de l'utiliser sur la prise bleu de votre carte son (et non la rose qui est mono et non stereo sur la plupart des ordinateurs)

Avec ceci, vous pouvez commencer une capture !

XawTV

XawTV permet de regarder et d'enregistrer un flux vidéo. Son principal avantage et de permettre la vision du media sans ralentissement ni décalage dans le temps de la vidéo lors de la capture.

Voir la page consacrée à XawTV

PS: incompatible avec le Dazzle malheureusement.

Mplayer / Mencoder

Mplayer / Mencoder dispose d'un support des cartes d'acquisition vidéo analogiques expérimental mais extrêmement compatible, c'est la solution à privilégier si vous utilisez des périphériques comme le Dazzle.

Lecture

Pour utiliser un périphérique de capture, plusieurs possibilités :

  • Votre matériel est bien accepté : Dans ce cas vous pouvez visionner le flux avec un logiciel pour carte tv voir cette page : carte_tv
  • Sinon (pas de son ou autre) et utilisez mplayer comme ci-dessous :

Il faut utiliser mplayer en ligne de commande, installez-le, puis tapez dans un terminal :

mplayer tv:// -tv driver=v4l2:norm='la norme video voulue (PAL ou NTSC pour les plus connus)':audiorate=44100:immediatemode=0:forceaudio:adevice='le périphérique audio correspondant à votre carte son ou périphérique d'acquisition /dev/dsp pour votre carte son, /dev/dsp1 ou 2 pour votre système d'acquisition):device=/dev/video0:input=1 -vf pp=lb

Ce qui donne :

mplayer tv:// -tv driver=v4l2:norm=PAL:audiorate=44100:immediatemode=0:forceaudio:adevice=/dev/dsp1:device=/dev/video0:input=1 -vf pp=lb

Pour un enregistrement d'un signal Pal en utilisant l'entrée son du système d'acquisition !

Si votre carte tv est branchée en interne sur votre carte son via souvent un petit câble gris, considérez qu'elle est sur votre carte son donc utilisez /dev/dsp

Enregistrement

Pour l'enregistrement c'est pareil, ou vous avez de la chance et vous pourrez utiliser kdenlive ou cinelerra, ou vous n'en avez pas, et vous utilisez mencoder pour la capture :

Il faut utiliser mencoder en ligne de commande, installez-le, puis tapez dans un terminal :

mencoder tv:// -tv \
driver=v4l2:norm=PAL:audiorate=44100:immediatemode=0:forceaudio:adevice=/dev/dsp1:device=/dev/video0:input=1 \
-o resultat.avi -ovc lavc -lavcopts vcodec=mjpeg:aspect=4/3 -aspect 4:3 \
-noautoexpand -oac pcm -vf pp=lb
Depuis la version 10.10 /dev/dsp a été retirer.

Une solution consiste à le remplacer par alsa:adevice=hw.1,0.

Le numéro hw.1,0 doit être changer selon votre "système" pour cela faites :

 
 cat /proc/asound/cards
 

Au final on obtient cela :

mencoder tv:// -tv \
driver=v4l2:norm=PAL:audiorate=44100:immediatemode=0:forceaudio:alsa:adevice=hw.1,0:device=/dev/video0:input=1 \
-o resultat.avi -ovc lavc -lavcopts vcodec=mjpeg:aspect=4/3 -aspect 4:3 \
-noautoexpand -oac pcm -vf pp=lb

Bien sûr comme dans la lecture, vous devrez modifier les arguments correspondant à votre système d'acquisition.

En ce qui concerne les options d'encodage, vous en apprendrez plus sur la page concernant mencoder

Pour aller plus loin

  1. Si vous avez plusieurs périphériques d'acquisition (comme une webcam et le dazzle par exemple) vous pouvez choisir quel périphérique mplayer utilisera en modifiant le paramètre: :device=/dev/video0 par :device=/dev/video1 etc …
  2. Vous pouvez changer l'aspect de la vidéo dans mencoder en modifiant les 4/3 et 4:3 par respectivement 16/9 et 16:9 cela vous évitera de corrige ensuite l'aspect dans un autre logiciel.
  3. Vous pouvez changer la norm d'enregistrement par celle qu'utilise votre périphérique, en changeant norm=PAL par la valeur que vous voulez. Exemple une console de jeu sera en PAL, NTSC ou PAL-60. Un magnétoscope utilisera lui la norme SECAM
  4. Vous devrez choisir l'entrée à utilisez pour la capture, pour cela il vous faut changer le paramètre :input=1 par la valeur désirée ! Cette valeur étant égale à 0 pour la télévision, 1 pour l'entrée composite et 2 pour l'entrée S-video. Ceci suppose que votre carte dispose d'une entrée antenne, si ce n'est pas le cas, 0 sera le composite et 1 sera le S-video.
  5. Savoir lire les infos donnés par Mplayer lors de son lancement: Mplayer à son démarrage vous informe de toutes les normes et de toutes les entrés disponibles sur votre carte associés à des numéros qui seront utilisables avec les instructions :inputs= et :norm=. N'hésitez donc pas à utiliser la molette de votre souris pour lire les informations présentes dans le terminal lors du lancement de Mplayer.
  • Carte TV/Acquisition PCI:
    • Leadtek:
      • Winfast TV 2000 XP (FM ou Deluxe)
      • Winfast TV 2000 XP Expert - carte que je déconseille pour la capture, à utiliser seulement pour la télévision. - Image granuleuse sous titrage flou pour les films en ayant
    • BTTV - Toutes les cartes utilisant les chipsets de marque BrookTree (comme le BT848 ou 878) sont parfaitement compatible et offrent une très bonne qualité d'image.
    • Pinnacle:
      • Pinnacle Miro TV: Les miro TV sont parfaitement compatible
      • Pinnacle DC10/DC30: Ces cartes utilisent le chipset Zoran dont le pilote ne marche plus depuis Ubuntu 9.10 …
  • Périphériques de capture USB
    • Pinnacle Dazzle 100/101 - très bonne qualité vidéo mais inutilisable avec xawtv De plus qualité son horrible sous linux en utilisant la carte interne. Je conseil l'achat de l'adaptateur précité.
      • EasyCAP DC60 -la capture son laisse à désirer, si possible utilisez un adaptateur pour utiliser l'entrée son line-in de votre carte son
à compléter

La capture par firewire est à préférer pour les caméscope et autre périphérique disposant d'un tel port. L'image numérique sera directement exploitée du périphérique vers l'ordinateur. Tandis que si vous utilisez un port analogique pour ce type d'appareils, l'image numérique sera transformée en image analogique puis renumérisée … Vous perdrez fatalement en qualité.

Il faut bien sûr au préalable avoir un port firewire. Certaine carte mère en intègre un, mais la plupart du temps il vous faudra vous équiper d'une carte PCI.

Vous pourrez être amenés à devoir charger le noyau les modules suivants Dans un terminal:

sudo modprobe raw1394
sudo modprobe dv1394
sudo modprobe ohci1394
sudo modprobe ieee1394

Pour vérifier que les modules sont correctement chargés

lsmod | grep 1394
dv1394                 18764  0
ohci1394               30644  1 dv1394
raw1394                26348  0
ieee1394               90936  3 dv1394,ohci1394,raw1394[/code]

Puis modifiez les droits en entrant

sudo chmod 777 /dev/raw1394
Il semble nécessaire de refaire cette dernière commande à chaque redémarrage… en attendant que quelqu'un apporte une solution…

Plus d'informations sur la page de lprod

Il existe plusieurs logiciels pour effectuer la capture, en ligne de commande ou par une interface graphique.

En ligne de commande

Interfaces graphiques


Contributeurs: Fabien26 ,Orion79

  • capture_video.1288519876.txt.gz
  • Dernière modification: Le 18/04/2011, 14:55
  • (modification externe)