TVEntrée TV
Cette section concerne l'activation de la lecture/enregistrement
à partir d'un tuner TV compatible V4L. Voir la page de man pour une
description des options TV et des contrôles clavier.
Compilation
D'abord, vous devez recompiler. ./configure autodétectera
les entêtes v4l du noyau et l'existence des entrées
/dev/video*. Si elles existent, le support TV sera activé
(voir le résultat de ./configure).
Assurez-vous que votre tuner fonctionne avec d'autres logiciels TV pour Linux.
par exemple XawTV.
Astuces d'utilisation
La liste complète des options est disponible sur la page de man. Voici juste
quelques astuces:
Utilisez l'option . Un exemple:
-tv channels=26-MTV1,23-TV2
Explication: en utilisant cette option, seuls les canaux 26 et 23 seront
utilisables, et il y a un joli texte OSD lors des changements de canaux
affichant le nom du nouveau.
Les espaces dans le nom du canal doivent être remplacés par le caractère
"_".
Choisissez des dimensions d'images sensées. Les dimensions de l'image de
destination devraient être divisible par 16.
Si vous capturez la vidéo avec une résolution verticale supérieure à la
moitié de la pleine résolution (c-a-d. 288 pour PAL ou 240 pour NTSC),
alors les trames que vous obtenez seront en réalité des paires de champs
entrelacées.
En fonction de ce que vous voulez faire avec la vidéo, vous pourriez la laisser
sous cette forme, malheureusement désentrelacé, ou séparer les paires en champs
individuels.
Autrement vous aurez un film qui a des distorsion durant les scènes à
mouvements rapides et le contrôleur de bitrate ne sera probablement
même pas capable de garder le bitrate demandé car les artefacts de
désentrelacement produisent beaucoup de détails et donc consomment
plus de bande passante.
Vous pouvez désactiver l'entrelacement avec
.
Généralement peut faire du bon travail, mais
c'est une histoire de préférence personnelle.
Voyez les autres algorithmes de désentrelacement dans le manuel et
essayez-les.
Coupez les espaces morts. Quand vous capturez la vidéo, les bords sont
généralement noirs ou contiennent du "bruit".
De nouveau cela consomme de la bande passante inutilement.
Plus précisément ce ne sont pas les zones noires elles-mêmes mais les
transitions nettes entre le noir et la vidéo plus claire qui jouent, mais
ce n'est pas très important pour le moment.
Avant que vous commenciez la capture, ajustez les arguments de l'option
pour que toutes les saletés des bords soient coupées.
De nouveau, n'oubliez pas de garder des dimensions sensées.
Regardez la charge CPU.
Elle ne devrait pas dépasser la limite des 90% la plupart du temps.
Si vous avez un gros tampon, MEncoder peut
survivre à une surcharge pendant quelques secondes mais pas plus.
Il vaut mieux désactiver l'économiseur d'écran OpenGL et les trucs
similaires.
Ne jouez pas avec l'horloge système. MEncoder
l'utilise pour la synchro A/V.
Si vous réglez l'horloge système (surtout en arrière dans le temps),
MEncoder va se sentir perdu et va perdre des
trames.
C'est un problème important lorsque vous êtes en réseau et que vous utilisez
certains logiciels de synchronisation comme NTP.
Vous devrez désactiver NTP pendant le processus de capture si vous voulez
capturer correctement.
Ne changez pas le à moins que vous sachiez ce que
vous faites ou votre si votre carte/pilote ne supporte pas la valeur par
défaut (palette YV12).
Dans les versions précédentes de MPlayer/
MEncoder il était nécessaire de spécifier le
format de sortie.
Ce problème devrait être résolu dans la version actuelle et
n'est plus requis, et la valeur par défaut convient
dans la plupart des cas.
Par exemple, si vous capturez en DivX en utilisant
libavcodec et que vous spécifiez
de façon à augmenter la qualité de l'image
capturée, l'image capturée sera reconvertie plus tard en YV12; donc la
seule chose que vous obtiendrez est un gaspillage massif de puissance CPU.
Pour spécifier la palette I420 (), vous devez
ajouter une option à cause d'un conflit de
fourcc avec un codec vidéo Intel Indeo.
Il y a plusieurs façons de capturer l'audio.
Vous pouvez attraper le son soit avec votre carte son via un câble externe
entre la carte vidéo et l'entrée ligne, soit en utilisant le DAC intégré
à la puce bt878.
Dans ce dernier cas, vous devrez charger le pilote
btaudio.
Lisez le fichier linux/Documentation/sound/btaudio
(dans l'arborescence du noyau, pas celle de MPlayer)
pour les instructions d'utilisations de ce pilote.
Si MEncoder ne peut pas ouvrir le périphérique
audio, assurez-vous qu'il soit réellement disponible.
Il peut y avoir des ennuis avec certains serveurs de son comme aRts (KDE)
ou ESD (GNOME).
Si vous avez une carte son full duplex (presque toutes les cartes décentes
le supportent aujourd'hui), et que vous utilisez KDE, essayez d'activer
l'option "full duplex" dans le menu des préférences du serveur de son.
Exemples
Sortie muette, vers AAlib :)
mplayer -tv driver=dummy:width=640:height=480 -vo aa tv://
Entrée depuis V4L standard:
mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://
Un exemple plus élaboré.
Ici MEncoder capture l'image PAL entière, coupe
les marges, et désentrelace l'image en utilisant un algorithme de mélange
linéaire.
L'audio est compressée à un débit constant de 64kbps, en utilisant le codec
LAME.
Cette combinaison est adaptée pour capturer des films.
mencoder -tv driver=v4l:width=768:height=576 \
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
-oac mp3lame -lameopts cbr:br=64 \
-vf crop=720:544:24:16,pp=lb -o sortie.avi tv://
Cela dimensionne également l'image en 384x288 et compresse la vidéo avec
un débit de 350kbps en mode haute qualité.
L'option vqmax perd le quantizer et permet au compresseur vidéo d'atteindre
un débit plus bas au détriment de la qualité.
Cela peut être utilisé pour capturer des longues séries TV, quand la qualité
n'est pas très importante.
mencoder -tv driver=v4l:width=768:height=576 \
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
-oac mp3lame -lameopts cbr:br=48 \
-vf crop=720:540:24:18,pp=lb,scale=384:288 -sws 1 -o output.avi tv://
Il est également possible de spécifier des dimensions d'images plus petites
dans l'option et d'omettre le zoom logiciel mais cette
approche utilise le maximum d'informations disponibles et, est un peu plus
résistant au bruit.
Les chipsets bt8x8 peuvent faire une moyenne de pixels uniquement dans la
direction horizontale à cause d'une limitation matérielle.