Capture vidéo

La "capture" est le fait de prendre une vidéo d'une source et de la rendre numérique.
Il existe plusieurs sortes de capture. La capture analogique est le nom que l'on donne à la capture d'un flux non numérique tel qu'un magnétoscope, la sortie vidéo d'une console de jeu, un vieux camescope VHS ou BetaVideo, etc …
Il y a aussi la capture numérique, ou par "firewire", c'est en fait l'acquisition d'une vidéo enregistrée via un camescope de type DV le plus souvent. L'enregistrement sur un tel camescope est de type numérique, mais il a un très gros défaut, un ordinateur n'a pas de lecteur DV … Il faut donc utiliser le camescope comme lecteur DV pour qu'il nous livre la vidéo.

Vous pouvez lister les périphériques de capture reconnus par votre système en entrant la commande suivante dans le terminal :
v4l2-ctl --list-devices

Un périphérique de capture vidéo aussi appellé boîtier d'acquisition est une boîte 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.)

Périphérique de capture

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 comme le pinnacle dazzle. À conseiller si vous n'avez rien de mieux que l'USB sur votre PC.
Mais le mieux, si vous voulez faire l'acquisition d'une carte d'acquisition et avez un PC de type "tour", est de prendre une carte PCI à base de chipset BTTV (bt878), c'est facilement trouvable et c'est pas cher d'occasion. C'est reconnu directement sous Linux et la qualité de sortie est plutôt miraculeuse !

Vraies bonnes idées

Utiliser un enregistreur DVD ou un disque dur enregistreur pour transformer le signal analogique directement en fichier vidéo numérique.

Très rapide à utiliser il suffit de faire un DVD de votre signal analogique, puis d'enregistrer le DVD sur votre disque dur via un DVD Rippeur quelconque comme Handbrake

C'est une très bonne idée car en plus du matériel de qualité est bien plus facilement trouvable dans ce genre de matériel, de plus, vous disposez/erez d'une entrée Péritel ce qui arrange bien des branchements.

Fausses bonnes idées

Carte graphiques deux en un

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 . Rares 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 !

Pinnacle DC10+ et toute la gamme DC

Pinnacle est une marque à conseiller si vous cherchez une carte d'acquisition sous Linux, mais pas la gamme DC !

La gamme DC utilise en effet un pilote spécial pour un chipset lui aussi très spécial ; le pilote n'a jamais bien marché sous Linux, et sous Windows les pilotes pour cette carte sont aussi une plaie depuis la sortie de Windows XP … À oublier !

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ée 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.conrad.fr/cordon_adaptateur_audio_video_de_2_m_16_06_p_52756_53021_834986_409916_FAS (lien mort)

Je suppose que vous pouvez le trouver à moindre coût ailleurs, mais ce lien ne vous montre que 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 vôtre a 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 !

Si vous avez un problème de son, je vous conseille aussi d'utiliser cette méthode. C'est en effet souvent ce qui permet d'avoir le meilleur son

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

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

Avec ceci, vous pouvez commencer une capture !

Utiliser un périphérique de capture

XdTV

XdTV permet de regarder et d'enregistrer un flux vidéo. Son principal avantage est 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 à XdTV

XdTV est un fork de XawTV, permettant un meilleur support des cartes modernes et des nouvelles capacités apportées à Linux depuis l'arrêt du développement de XawTV (capture du son via ALSA, etc …).

XawTV

XawTV permet de regarder et d'enregistrer un flux vidéo. Son principal avantage est 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 reconnu : 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) 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:alsa:adevice='le périphérique audio correspondant à votre carte son ou périphérique d'acquisition hw.0,0 pour votre carte son, hw.1,0 ou hw.2,0 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:alsa:adevice=hw.1,0: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 hw.0,0

Le numéro hw.1,0 doit être changé selon votre "système", si vous voulez en connaître plus sur votre installation sonore, ouvrez un terminal et tapez :

 
 cat /proc/asound/cards
 

Pour connaître le numéro associé à la carte son que vous souhaitez utiliser.

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: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 pour 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 corriger 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 à utiliser 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ées par Mplayer lors de son lancement: Mplayer à son démarrage vous informe de toutes les normes et de toutes les entrées 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.

Périphérique de capture compatibles

  • 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 compatibles et offrent une très bonne qualité d'image.
    • Pinnacle :
      • Pinnacle Miro TV : Les miro TV sont parfaitement compatibles
      • Pinnacle DC10/DC30 : Ces cartes utilisent le chipset Zoran dont le pilote ne fonctionne 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.
      • 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

En ligne de commande

Interfaces graphiques

  • capture_video.txt
  • Dernière modification: Le 05/02/2024, 22:26
  • par krodelabestiole