<?xml version="1.0" encoding="UTF-8"?>
<chapter id="cmdline"><title id="tcmdline">
Utilisation avancée du flux de sortie en ligne de commande</title>



<sect1><title>Structure du flux de sortie</title>

<para>

Flux de sortie est le nom d'une fonctionnalité de VLC qui permet de
diffuser sur le réseau, ou d'enregistrer, n'importe quel flux lu par VLC
au lieu de l'afficher. Différents types de traitements peuvent être
appliqués au flux durant ce procédé (transcodage, redimensionnement,
filtres, re-multiplexage...)

Le flux de sortie peut inclure plusieurs modules, chacun d'eux possédant
différentes fonctionnalités. Vous pouvez <emphasis>enchaîner</emphasis>
les modules afin d'augmanter les possibilités. </para>

<para>
Voici la liste des modules actuellement disponibles :
</para>

<itemizedlist>

<listitem><para><emphasis>standard</emphasis>
permet d'<emphasis>envoyer</emphasis> le flux via un <emphasis> module
de sortie</emphasis> : par exemple, UDP, fichier, HTTP... Vous voudrez
probablement utiliser ce module à la fin de vos chaînes.

</para></listitem>

<listitem><para><emphasis>trascode</emphasis> est utilisé pour transcoder (décoder et
ré-encoder le flux en utilisant un codec et/ou un débit différent)
l'audio et la vidéo du flux d'entrée. Si les modules d'entrée ou de
sortie ne permettent pas le contrôle du débit (réseau, périphériques
d'acquisition), ceci est fait "à la volée", en temps réel. Ceci peut
nécessiter un charge importante en CPU, en fonction des paramètres
choisis. Les autres flux, tels que fichiers et disques, sont transcodés
aussi rapidement que le permet le système.
</para></listitem>

<listitem><para><emphasis>duplicate</emphasis>
vous permet de créer une seconde chaîne, dans laquelle le flux sera
traité d'une manière indépendante.
</para></listitem>

<listitem><para><emphasis>display</emphasis> 
vous permet d'afficher le flux d'entrée, tel que VLC le ferait en temps
normal. Utilisé de paire avec le modules <emphasis>duplicate</emphasis>,
ceci vous permet de visualiser le flux durant le traitement.
</para></listitem>

<listitem><para><emphasis>rtp</emphasis> diffuse sur RTP (un port UDP par flux
élémentaire). Ce modules supporte aussi le RTSP.
</para></listitem>

<listitem><para><emphasis>es</emphasis> vous permet de séparer les flux élémentaires
(ES) d'un flux d'entrée. Ceci peut être utilisé afin d'enregistrer les
flux audio et vidéo dans des fichiers séparés, par exemple.
</para></listitem>

</itemizedlist>

<para>
Chacun de ces modules peut accepter des options. Voici la syntaxe que vous
devez employer :
</para>

<screen>
<prompt>% </prompt><userinput>vlc input_stream --sout "#module1{option1=parameter1{parameter-option1},option2=parameter2}:module2{option1=...,option2=...}:..."</userinput>
</screen>

<note><para>Certaines des options des modules sont requises (option1 dans cet exemple),
les autres sont optionnelles. Les paramètres des options
(option-du-paramètre1 dans cet exemple) sont toujours optionnelles. Ces
paramètres d'options sont souvent des réglages très avancés. Si vous ne
comprenez pas leur description, vous n'en avez sûrement pas besoin.</para></note>

<para>
Vous pouvez aussi utiliser la syntaxe suivante :
</para>

<screen>
<prompt>% </prompt><userinput>vlc flux_d'entrée --sout-module1-option1=... --sout-module1-option2=... --sout-module2-option1=... --sout-module2-option2=... ...</userinput>
</screen>

<para>
Par exemple, pour transcoder un flux et le diffuser, utilisez :
</para>

<screen>
<prompt>% </prompt><userinput>vlc flux_d'entrée --sout '#transcode{options}:standard{options}'</userinput>
</screen>

</sect1>

<sect1><title>Description des modules</title>

<sect2><title>standard (alias std)</title>

<para>
Ce module enregistre le flux dans un fichier ou le diffuse sur le réseau,
après l'avoir multiplexé.
</para>

<para>Les options disponibles sont :</para>

<sect3><title>access=</title>

<para>Ces options permmettent de sélectionner le medium utilisé pour enregistrer ou diffuser le flux. Cette option est obligatoirement requise. Les choix possibles sont :</para>

<itemizedlist>
<listitem><para>file : enregistre le flux dans un fichier.</para>
<para>Utilisez l'option <emphasis>append</emphasis> pour ajouter le flux à un fichier existant au lieu de le remplacer.</para></listitem>

<listitem><para>udp : diffuse vers une adresse UPD unicast ou multicast.</para>
<para>Les options sont : <emphasis>caching=&lt;durée en ms&gt;</emphasis> pour
définir le temps pendant lequel VLC devrait garder les données en tampon
avant de les envoyer, <emphasis>ttl=&lt;ttl&gt;</emphasis> pour définir
le ttl des paquets UDP envoyés, <emphasis>group=&lt;nombre de
paquets&gt;</emphasis> pour envoyer les paquets par rafales plutôt que
un par un, <emphasis>late=&lt;durée en ms&gt;</emphasis> pour éliminer
les paquets qui arrivent trop en retard à cette étape de la chaîne,
<emphasis>raw</emphasis> si vous ne voulez pas attendre que le MTU soit
rempli avant d'envoyer les paquets.</para> </listitem>

<listitem><para>http : diffuse par HTTP.</para> <para>Elément
les options sont : <emphasis>user=&lt;nom d'utilisateur&gt;</emphasis>
pour activer l'authentification basique par HTTP et définir l'utilisateur,
<emphasis>^wd=&lt;mot de passe&gt;</emphasis> pour définir le mot de passe
<emphasis>mime=&lt;type mime&gt;</emphasis> pour définir le type MIME
retourné par le serveru.</para></listitem>

<listitem><para>https : diffuse par HTTP, en utilisant une connexion sécurisée
SSL</para>

<para>Les options sont les même que pour http, plus :
<emphasis>cert=&lt;chemin ver le certificat&gt;</emphasis> pour définir le
certificat à utiliser,
<emphasis>key=&lt;chemin vers la clef&gt;</emphasis> pour définir la clef à
utiliser
<emphasis>ca=&lt;chemin vers le certificat&gt;</emphasis> pour définir le
certificat CA à utiliser dans le SSL,
<emphasis>crl=&lt;chemin vers le certificat&gt;</emphasis> pour définir le
certificat de révocation à utiliser dans la connection SSL.</para></listitem>

<listitem><para>mmsh : diffuse en utilisant le protocol Microsoft MMS. Ce protocole est
utilisé comme méthode de transport par la plupart des logiciels Microsoft.
Notez que seule une petite partie du protocole MMS est supportée (MMS
encapsulé dans du HTTP).</para>
<para>Les options sont les même que pour le module HTTP.</para></listitem>

<listitem><para>rtp : diffuse par RTP. Notez que c'est un module assez vieux.
Il ne permet pas le RTSP et peux uniquement être utilisé pour diffuser
des flux TS. Veuillez regarder le module de sortie <emphasis>rtp</emphasis>
pour un support complet du RTP.</para>
<para>Les options sont les mêmes que pour pour l'<emphasis>udp</emphasis>.</para></listitem>

</itemizedlist>
</sect3>
<sect3><title>mux=</title>
<para> Cette option vous permet de choisir la méthode d'encapsulation utilisée dans le flux. Cette option est obligatoire.</para>

<para>Les options disponibles sont : </para>

<itemizedlist>
<listitem><para><emphasis>ts :</emphasis> le muxer MPEG2/TS. C'est le muxer standard utilisé
pour diffuser du MPEG 2. Ce muxer peut être utilisé avec n'importe quelle
méthode d'<emphasis>accès</emphasis>. Les codecs supportés sont MPEG 1/2/4,
MJPEG, H263, H264, I263, WMV 1/2 et theora pour la vidéo, l'audio MPEG, AAC
et a52 pour le flux audio.</para>

<para>Les options sont : <emphasis>pid-video=&lt;pid&gt;</emphasis>
pour choisir le PID de la piste vidéo,
<emphasis>pid-audio=&lt;pid&gt;</emphasis> pour choisir le PID de la piste
audio, <emphasis>pid-spu=&lt;pid&gt;</emphasis> pour choisir le PID de la
piste de sous-titres, <emphasis>pid-pmt=&lt;pid&gt;</emphasis> pour choisir
le PID de la PMT (Program Map Table), <emphasis>tsid=&lt;id&gt;</emphasis>
pour choisir l'ID du flux TS, <emphasis>shaping=&lt;delai de formation en ms
&gt;</emphasis> pour choisir l'intervalle minimum durant lequel le ébit du
flux doit rester constant, pour les flux à débit variable, <emphasis>
use-key-frames</emphasis> utiliser les images I comme limites de délai de
formation, <emphasis>pcr=&lt;intervalle PCR en ms&gt;</emphasis> permet de
choisir à quel intervalle le PCR (Program Clock References) doit êtreenvoyé, <emphasis>dts-delay=&lt;delai en ms&gt;</emphasis> permet de
retarder le PTS (Presentation Time Stamps) du DTS (Decoding Time Stamp) du
delai indiqué, <emphasis>crypt-audio</emphasis> permet d'activer le
chiffrement de la piste audio en utilisant l'algorithme CSA, <emphasis>
csa-ck=&lt;clef sous forme d'un mot de 16 caractères&gt;</emphasis> permet
de choisir la clef à utiliser pour le chiffrement CSA.</para></listitem>

<listitem><para><emphasis>ps :</emphasis> le muxer MPEG2/PS. C'est le muxer standard pour
fichiers MPEG 2 (.mpg). Il peut être utilisé pour les méthodes de sortie
file et http. Les codecs supportés sont MPEG 1/2 et MJPEG pour la vidéo,
l'audio MPEG et a52 pour les flux audio.</para>

<para>La seule option disponible est <emphasis>dst-delay=&lt;delai en ms&gt;
</emphasis>. Elle permet de contrôler le délai entre le PTS (Presentation
Time Stamps) et le DTS (Decoding Time Stamp).</para></listitem>

<listitem><para><emphasis>mpeg1 :</emphasis> le muxer MPEG1. Ce muxer devrait être utilisé
à la place du ps pour les flux vidéos MPEG 1, pour les méthodes de sortie
file ou http. Les codecs supportés sont le MPEG 1 et l'audio MPEG.</para>
<para>Les options sont les même que pour le muxer PS.</para></listitem>

<listitem><para><emphasis>ogg :</emphasis> le muxer ogg. C'est le muxer du projet Xiph. Il
peut être utilisé avec les méthodes de sortie file et http. Les codecs
supportés sont MEPG 1/2/4, MJPEG, WMV 1/2 et Theora pour la vidéo et vorbix,
flac, speex, a52 et l'audio MPEG pour l'audio.</para>
<para>Il n'y a pas d'option pour ce muxer.</para></listitem>

<listitem><para><emphasis>asf :</emphasis> le muxer ASF de Microsoft. C'est le muxer
standard utilisé pour la diffusion par les logiciels Microsoft. Il est aussi
utilisé comme conteneur pour les fichiers WMA audio. Ce muxer peut être
utilisé par les méthodes de sortie file et http. Les codecs supportés sont
MPEG 4, MJPEG, WMV 1/2 pour la vidéo, l'audio MPEG et a52 pour les flux audio.</para>

<para>Le options disponibles sont : 
<emphasis>title=&lt;titre&gt;</emphasis>,
<emphasis>autor=&lt;auteur&gt;</emphasis>,
<emphasis>copyright=&lt;message de copyright&gt;</emphasis>,
<emphasis>comment=&lt;commentaires&gt;</emphasis>,
<emphasis>rating=&lt;rating&gt;</emphasis> allow you to set what will be displayed in the according field of the stream comments.</para></listitem>

<listitem><para><emphasis>asfh :</emphasis> c'est une version spécial du muxer ASF, qui peut
être utilisée pour la diffusion MMSH. MMSH est la seule méthode de sortie
supportée. Les codecs supportés sont les même que pour ASF.</para>
<para>Les options sont les mêmes que pour ASF.</para></listitem>

<listitem><para><emphasis>avi :</emphasis> le muxer AVI de Microsoft. C'est un format
d'encapsulation très répendu pour les fichiers MPEG 4. La seule méthode de
sortie est file. Les codecs supportés sont MPEG 1/2/4, H263, H264 et I263
pour la vidéo, l'audio MPEG et a52 pour les flux audio.</para>
<para>Il n'y a pas d'option pour ce muxer.</para></listitem>

<listitem><para><emphasis>mpjpeg :</emphasis> le muxer MJPEG.
Ce format d'encapsulation est largement utilisé dans les caméras de télé-
surveillance avec un serveur web. Ces flux sont généralement incrustés dans
des pages web et visualisée par les navigateurs Internet standrad, puisqu'
ils ne sont autre qu'un succession d'images JPEG. La seule méthode de sortie
supportée est http. Le seul codec est MJPEG. On ne peut pas y mettre de
piste audio.</para> <para>Aucune option n'est disponible pour ce muxer.</para></listitem>

</itemizedlist>
</sect3>

<sect3><title>dst=</title>

<para>Cette option permet de donner les informations sur l'emplacement où le flux
doit être enregistré ou envoyé.</para>

<para>Here is the meaning of the <emphasis>dst</emphasis> option
depending on the parameter used for the <emphasis>access</emphasis>
option.</para>

<itemizedlist>
<listitem><para>If the <emphasis>file</emphasis> output method is used, dst is
the complete path where the file should be saved.</para></listitem>

<listitem><para>If the <emphasis>udp</emphasis> or <emphasis>rtp</emphasis>
output method is used, dst is the unicast or multicast
destination address and, optionally, UDP port, in the form
<emphasis>address:port</emphasis>.</para></listitem>

<listitem><para>If the <emphasis>http</emphasis>,
<emphasis>https</emphasis> or <emphasis>mmsh</emphasis> output method is
chosen, dst is the address, port and path of the local network interface
on which the server should listen for requests. If no address is given,
VLC will listen on all the network interfaces. These information
have to be supplied using the <emphasis>address:port/path</emphasis>
syntax.</para></listitem>

</itemizedlist>

</sect3>

<sect3><title>sap</title>

<para>Utilisez cette option si vous souhaitez que VLC envoie des annonces SAP
(Session Announcement Protocol). SAP est un protocole de découverte de
services, qui utilise une adresse multicast spécifique pour envoyer une
liste des flux disponibles sur un serveur.</para>

<note><para>Cette option peut être activé dans la méthode de sortie <emphasis>udp
</emphasis>.</para></note>

</sect3>

<sect3><title>group=</title>

<para>Cette option permet de renseigner le nom d'un éventuel <emphasis> groupe</emphasis> de flux. Un client sous VLC pourra utiliser de cham pour classer les flux.</para>

<note><para>Cette option utilise une extension privée du protocole SAP.
VLC sera le seul client capable de lire ce champ.</para>

<para>Cette option peut uniquement être utilisée lorsque l'option <emphasis>sap
</emphasis> est activée.</para></note>

</sect3>

<sect3><title>sap-ipv6</title>

<para>Utilisez cette option si vous voulez que les annonces SAP soient envoyées
en utilisant le protocole <emphasis>IPv6</emphasis> au lieu de <emphasis>
IPv4</emphasis>.</para>

<note><para>Cette option peut uniquement être utilisée lorsque l'option <emphasis>sap
</emphasis> est activée.</para></note>

</sect3>

<sect3><title>slp</title>

<para>SLP signifie <emphasis>Service Location Protocol</emphasis>. C'est
une alternative au SAP pour annoncer des sessions. Utilisez cette option si
vous souhaitez utiliser le SLP.</para>

</sect3>

<sect3><title>name=</title>

<para>Utilisez cette option pour préciser le nom du flux à envoyer dans les
annonces SAP et SLP.</para>

<note><para>Cette option peut uniquement être utilisée lorsque les options <emphasis>sap
</emphasis> ou <emphasis>slp</emphasis> sont activées.</para></note>

</sect3>

</sect2>

<sect2><title>display</title>

<para> Ce module est utilisé pour afficher le flux. C'est particulièrement utile
dans une chaine <emphasis>duplicate</emphasis>, pour surveiller le flux
en train d'être enregistré ou diffusé. </para>

<para>les options disponibles sont :</para>

<sect3><title>novideo</title>

<para>Vous pouvez utiliser cette option pour désactiver la vidéo dans le
flux à l'affichage.</para>

</sect3>

<sect3><title>noaudio</title>

<para>Vous pouvez utiliser cette option pour désactiver le son dans le flux
à l'affichage.</para>

</sect3>

<sect3><title>delay=</title>

<para>Vous pouvez utiliser cette option pour introduire un delai dans
l'affichage du flux. Le délai est en ms.</para>

</sect3>

</sect2>

<sect2><title>rtp</title>

<para>Ce module peut être utilisé pour envoyer un flux en utilisant le protocole
<emphasis>RTP</emphasis> (Real Time Protocol) (voir RFC 3550).</para>

<note><para>Même s'il est possible d'utiliser le <emphasis>RTSP</emphasis> dans ce
module, vous ne pourrez pas faire de la Vidéo à la Demande. Veuillez vous
reporter à la description du module VLC pour cela.</para></note>

<para>Les différentes options disponibes sont :</para>

<sect3><title>dst=</title>

<para>Cette option vous permet de donner l'adresse UDP de destination. Cela peut
être l'adresse d'un hote ou d'un group multicast. Cette option doit être
renseignée, à moins que l'option <emphasis>sdp=rtsp://</emphasis> le soit
(voir plus bas). Dans le dernier cas, le flux sera envoyé à l'hôte faisant
la requête <emphasis>RTSP</emphasis>.</para>

</sect3>

<sect3><title>port=</title>

<para>Cette option permet de régler le port UDP utilisé pour envoyer le
premier <emphasis>flux élémentaire</emphasis>. Ce port doit être fourni. Les
autres flux seront en utilisant les ports impairs juste au dessus.</para>

</sect3>

<sect3><title>port-video=</title>

<para>Cette option vous permet de définir le port UDP utilisé pour envoyer le
premier <emphasis>flux élémentaire</emphasis> vidéo. Ce port doit être
impair.</para>

</sect3>

<sect3><title>port-audio=</title>

<para>Cette option vous permet de définir le port UDP utilisé pour envoyer le
premier <emphasis>flux élémentaire</emphasis> audio. Ce port doit être
impair.</para>

</sect3>

<sect3><title>sdp=</title>

<para>Cette option vous permet de choisir la manière dont le fichier SDP
(Session Description Protocol) correspondant au flux doit être disponible.</para>

<para>Le options sont :</para>

<itemizedlist>

<listitem><para><emphasis>file://&lt;chemin vers le fichier&gt;</emphasis>, pour exporter
le contenu SDP en tant que fichier local.</para></listitem>

<listitem><para><emphasis>http://&lt;interface locale
IP:port/chemin&gt;</emphasis>, pour rendre le fichier disponible en
utilisant le serveur HTTP intégré au VLC.</para>

<note><para>L'argument <emphasis>interface locale IP</emphasis> est facultatif. S'il
n'est pas fourni, VLC écoutera sur toutes les interfaces disponibles.</para></note></listitem>

<listitem><para><emphasis>rtsp://&lt;interface locale
IP:port/chemin&gt;</emphasis>, pour rendre le fichier SDP disponible en
utilisant le protocole <emphasis>RTSP</emphasis> (voir RFC 2326).</para>

<note><para>L'argument <emphasis>interface locale IP</emphasis> est facultatif. S'il
n'est pas fourni, VLC écoutera sur toutes les interfaces disponibles.</para></note></listitem>

<listitem><para><emphasis>sap</emphasis>, pour exporter le contenu SDP en utilisant le SAP
(Session Announcement Protocol, voir RFC 2974).</para></listitem>

</itemizedlist>

</sect3>

<sect3><title>ttl=</title>

<para>Cette option peut être utilisée pour fixer le <emphasis>TTL</emphasis> (Time
to Live) des paquets UDP envoyés.</para>

</sect3>

<sect3><title>mux=</title>

<para>Cette option vous permet de définir la méthode d'encapsulation pour envoyer
le flux. Voir les options de <emphasis>mux=</emphasis> du module <emphasis>
standard</emphasis> pour une description des méthodes disponibles. Seuls
<emphasis>ts</emphasis> et <emphasis>raw</emphasis> (pas d'encapsulation)
sont des valeurs possibles pour les flux <emphasis>RTP</emphasis>. La
valeur par défaut est RAW.</para>

</sect3>

<sect3><title>name=</title>

<para>Cette option peut être utilisée pour donner un nom qui sera affiché au
client affichant le flux.</para>

</sect3>

<sect3><title>description=</title>

<para>Cette option peut être utilisée pour donner une description supplémentaire
du flux.</para>

</sect3>

<sect3><title>url=</title>

<para>Cette option permet de donner l'adresse d'un site web contenant des
informations supplémentaires sur le flux.</para>

</sect3>

<sect3><title>email=</title>

<para>Cette option permet de donner une adresse e-mail de contact</para>

</sect3>

</sect2>

<sect2><title>es</title>

<para>Le module <emphasis>es</emphasis> peut être utilisé pour séparer les
différents <emphasis>flux élémentaires</emphasis> du flux principal, et
enregistrer chacun d'eux dans un fichier différent ou les envoyer vers
d'autres destinations.</para>

<para>Les paramètres disponibles sont :</para>

<sect3><title>access-video=</title>

<para>Utilisez cette option pour donner le média utilisé pour enregistrer ou
envoyer les <emphasis>flux élémentaires</emphasis> vidéo. Les valeurs
possibles sont les même que celles de l'option <emphasis>access</emphasis>
du module <emphasis>standard</emphasis> (voir après).</para>

</sect3>

<sect3><title>access-audio=</title>

<para>Utiliser cette option pour régler le media choisi pour enregistrer ou envoyer le <emphasis>flux élémentaire</emphasis> audio. Les valeurs possibles et les options sont les mêmes que celles de l'option <emphasis>access</emphasis> du module <emphasis>standard</emphasis> (voir précédemment).</para>

</sect3>

<sect3><title>access=</title>

<para>Cette option peut être utilisée à  la place des 2 options  <emphasis>access-video</emphasis> et <emphasis>access-audio</emphasis>, quand elles partagent le même réglage.</para>

</sect3>

<sect3><title>mux-video=</title>

<para>Utiliser cette option pour régler la méthode d'encapsulation choisie pour le <emphasis>flux élémentaire</emphasis> video. Les valeurs possibles et les options sont les mêmes que celles de l'option <emphasis>mux</emphasis> du module <emphasis>standard</emphasis> (voir précédemment).</para>

</sect3>

<sect3><title>mux-audio=</title>

<para>Utiliser cette option pour régler la méthode d'encapsulation choisie pour le <emphasis>flux élémentaire</emphasis> audio. Les valeurs possibles et les options sont les mêmes que celles de l'option <emphasis>mux</emphasis> du module <emphasis>standard</emphasis> (voir précédemment).</para>

</sect3>

<sect3><title>mux=</title>

<para>Cette option peut être utilisée à la place des 2 options  <emphasis>mux-video</emphasis> et <emphasis>mux-audio</emphasis>, quand elles partagent le même réglage.</para>

</sect3>

<sect3><title>dst-video=</title>

<para>Utiliser cette option pour régler le lieu dans lequel sera sauvé, envoyé ou rendu accessible le <emphasis>flux élémentaire</emphasis> vidéo. La signification exacte de cette option dépend de la valeur de l'option <emphasis>access-video</emphasis> et est la même que l'option <emphasis>url</emphasis> du module <emphasis>standard</emphasis> (voir précédemment).</para>

<note><para>Si vous utilisez la chaine de caractère <emphasis>%d</emphasis> dans le champ d'adresse (url), VLC la remplacera par le numéro de la piste audio ou vidéo en question. La chaine <emphasis>%c</emphasis> sera remplacée par le nom (FOURCC) du codec de la piste.</para></note>

</sect3>

<sect3><title>dst-audio=</title>

<para>Utiliser cette option pour régler le lieu dans lequel sera sauvé, envoyé ou rendu accessible le <emphasis>flux élémentaire</emphasis> audio. La signification exacte de cette option dépend de la valeur de l'option <emphasis>access-audio</emphasis> et est la même que l'option <emphasis>url</emphasis> du module <emphasis>standard</emphasis> (voir précédemment).</para>

<note><para>Si vous utilisez la chaine de caractère <emphasis>%d</emphasis> dans le champ d'adresse (url), VLC la remplacera par le numéro de la piste audio ou vidéo en question. La chaine <emphasis>%c</emphasis> sera remplacée par le nom (FOURCC) du codec de la piste.</para></note>


</sect3>

<sect3><title>dst=</title>

<para>Cette option peut être utilisée àla place d'àla fois <emphasis>dst-video</emphasis> et <emphasis>dst-audio</emphasis>, quand elles partagent les mêmes réglages.</para>

</sect3>

</sect2>

<sect2><title>transcoder</title>

<para>Vous pouvez utiliser ce module pour transcoder un flux, c'est-à-dire changer ses codecs ou ses débits d'encodage. Quelques ajustements supplémentaires peuvent être réalisés pendant cette phase, comme changer la taille, désentrelacer, rééchantillonner, etc.</para>

<note><para>Selon le débit original du flux et les options choisies, transcoder peut être une tache très intensive pour le processeur. En conséquence, la diffusion du flux transcodé en temps réel peut mener àdes pertes de frame ou une mauvaise image dans certains cas, quand il manque des ressources.</para></note>

<para>Les options disponibles sont :</para>

<sect3><title>vcodec=</title>

<para>Cette option permet de choisir le codec des pistes vidéos dans lequel le flux d'entrée doit être transcodé.</para>

<para>Une liste de codecs disponibles peut être trouvée sur la page des <ulink url="/streaming/features.html">fonctionnalités de diffusion</ulink></para>

</sect3>

<sect3><title>vb=</title>

<para>Cette option permet de régler le débit flux video transcodé en kbit/s</para>

</sect3>

<sect3><title>venc=</title>

<para>Ceci permet de régler l'encodeur àutiliser pour encoder les vidéos. Les options disponibles sont :</para>
<itemizedlist>

<listitem><para><emphasis>ffmpeg</emphasis> : c'est le module d'encodage libavcodec. Il contient un grand nombre de codecs différents (la liste peut être trouvée sur la page des <ulink url="/streaming/features.html">fonctionnalités de diffusion</ulink>.</para>

<para>Les options sont : <emphasis>keyint=&gt;nombre de frames&lt;</emphasis> permet de régler le nombre maximal de frames entre 2 frames clé, <emphasis>hurry-up</emphasis> permet à l'encodeur de diminuer la qualité du flux si le processeur ne peut soutenir le taux d'encodage, <emphasis>interlace</emphasis> permet d'améliorer la qualité de l'encodage d'une vidéo entrelacée, <emphasis>noise-reduction=&lt;facteur de réduction du bruit&gt;</emphasis> active un algorithme de réduction du bruit (réduira le débit demandé au coût des détails dans l'image), <emphasis>vt=&lt;tolérance du débit en kbit/s&gt;</emphasis> permet de régler la tolérance du débit de la vidéo de sortie, <emphasis>bframes=&lt;nombre de frames&gt;</emphasis> règle le nombre de B frames entre 2 frames clé, <emphasis>qmin=&lt;quantizer&gt;</emphasis> permet de régler l'échelle minimale des quantizers, <emphasis>qmax=&lt;quantizer&gt;</emphasis> permet de régler l'échelle maximale des quantizers,<emphasis>qscale=&lt;quantizer&gt;</emphasis> permet de régler une échelle fixe de quantizers pour des encodages VBR, <emphasis>i-quant-factor=&lt;facteur de quantization&gt;</emphasis> permet de régler le facteur de quantization des I frames par rapport aux P frames, <emphasis>hq=&lt;quality&gt;</emphasis> permet de régler le niveau de qualité pour l'encodage des vecteurs de mouvement (les arguments sont simple, rd ou bits, par défaut simple), <emphasis>strict=&lt;niveau de conformité&gt;</emphasis> permet de forcer un niveau strict de conformité (les valeurs possibles sont -1, 0, 1, par défaut 0), <emphasis>strict-rc</emphasis> active un algorithme de contrôle à taux strict, <emphasis>rc-buffer-size=&lt;taille du buffer en bits&gt;</emphasis> permet de choisir la taille du buffer utilisé pour le contrôle du taux (une valeur élevée correspond à un contrôle plus efficace), <emphasis>rc-buffer-aggressivity=&lt;nombre représentant l'aggressivité&gt;</emphasis> permet de régler l'aggressivité du taux de contrôle du buffer, <emphasis>pre-me</emphasis> permet d'activer l'estimation pre motion, <emphasis>mpeg4-matrix</emphasis> active l'utilisation de la matrice de quantification MPEG4 avec les flux MPEG2, améliorant la qualité tout en gardant la compatibilité avec les décodeurs MPEG2, <emphasis>trellis</emphasis> active la quantization trellis (meilleure qualité, mais traitement plus lent).</para></listitem>

<listitem><para><emphasis>theora</emphasis> : l'encodeur theora Xiph.org. Ce module est utilisé pour produire des flux theora. Theora est un codec vidéo sans brevet et sans royalties.</para>

<para>La seule option disponible est <emphasis>quality=&lt;niveau de qualité&gt;</emphasis>. Cette option permet de créer un flux VBR, remplaçant le réglage <emphasis>vb</emphasis>, le nieau de qualité doit être un entier entre 1 et 10. Le meilleur étant le plus élevé.</para></listitem>

<listitem><para><emphasis>x264</emphasis>. x264 est un encodeur h264 libre et open-source. h264 (ou MPEG4-AVC) est un codec viddéo relativement récent de haute qualité.</para>

<para>Les options sont : <emphasis>keyint=&lt;nombre deframes&gt;</emphasis> permet de régler le nombre maximal de framesentre 2 frames clé, <emphasis>idrint=&lt;nombre de frames&gt;</emphasis>permet de fixer le nombre maximal de frames entre 2 framesIDR, <emphasis>bframes=&lt;nombre de frames&gt;</emphasis> permetde régler le nombre de B frames entre une frame I et uneframe P, <emphasis>qp=&lt;paramètre des quantizers&gt;</emphasis>permet de fixer une valeur fixe des quantizers (entre 1 et 51),<emphasis>qp-max=&lt;paramètre des quantizers&gt;</emphasis> permet dedonner la valeur maximale des quantizers, <emphasis>qp-min=&lt;paramètredes quantizers&gt;</emphasis> permet de régler la valeur minimaledes quantizers, <emphasis>cabac</emphasis> active l'algorithmeCABAC (Context-Adaptative Binary Arithmetic Coding) (plus lentmais améliore la qualité), <emphasis>loopfilter</emphasis>active le filtre loop, <emphasis>analyse</emphasis> active le modeanalyze, <emphasis>frameref=&lt;nombre de frames&gt;</emphasis> permetde régler le nombre de frames utilisées comme prédicateurs,<emphasis>scenecut=&lt;sensibilité&gt;</emphasis> permet de contrôler avecquelle aggressivité l'encodeur doit insérer des I-frame externes auchanegement de scène.</para></listitem>

</itemizedlist>

</sect3>

<sect3><title>fps=</title>

<para>Cette option permet de régler le framerate d'une vidéo transcodée, en images par seconde, réduire le framerate d'une vidéo peut aider àdiminuer son débit.</para>

</sect3>

<sect3><title>deinterlace</title>

<para>Cette option permet d'activer le désentrelacement de vidéos entrelacées avant d'encoder.</para>

</sect3>

<sect3><title>croptop=</title>

<para>Cette option permet de découper la partie supérieure de la vidéo pendant le transcodage. L'argument est le nombre de dont la vidéo doit être coupée.</para>

</sect3>

<sect3><title>cropbottom=</title>

<para>Cette option permet de couper la partie basse de la source vidéo. L'argument est la coordonnée Y de la première ligne coupée.</para>

</sect3>

<sect3><title>cropleft=</title>

<para>Cette option permet de couper la partie gauche de la source vidéo. L'argument est le nombre de colonnes dont la vidéo doit être coupée.</para>

</sect3>

<sect3><title>cropright=</title>

<para>Cette option permet de couper la partie droite de la source vidéo. L'argument est la coordonnée X de la première colonne coupée.</para>

</sect3>

<sect3><title>scale=</title>

<para>Cette option permet de donner le ratio dans lequel doit être redimensionnée la vidéo pendant le transcodage. Cette option peut être particulièrement utile pour aider à réduire le débit d'un flux.</para>

</sect3>

<sect3><title>width=</title>

<para>Cette option permet de donner la largeur de la vidéo transcodée en pixels.</para>

</sect3>

<sect3><title>height</title>

<para>Cette option permet de donner la hauteur de la vidéo transcodée en pixels.</para>

</sect3>

<sect3><title>acodec=</title>

<para>Cette option permet de spécifier le codec dans lequel la piste audio doit être transcodée.</para>

<para>La liste des codecs disponibles peut être trouvée sur la <ulink url="/streaming/features.html">page des options de diffusion</ulink>.</para>

</sect3>

<sect3><title>ab=</title>

<para>Cette option permet de fixer le débit du flux audio transcodé en kbit/s.</para>

</sect3>

<sect3><title>aenc=</title>

<para>Ceci permet de choisir l'encodeur à utiliser pour encoder le flux audio.
Les options disponibles sont :</para>

<itemizedlist>

<listitem><para><emphasis>ffmpeg</emphasis> : c'est le module d'encodage libavcodec. Il contient un grand nombre de codecs différents (la liste peut être trouvée sur la page des <ulink url="/streaming/features.html">fonctionnalités de diffusion</ulink>.</para></listitem>

<listitem><para><emphasis>vorbis</emphasis>. Ce module utilise l'encodeur vorbis du projet Xiph.org. Vorbis est un codec audio libre, open, sans-licence.</para>

<para>Les options sont : <emphasis>qualité=&lt;niveau de qualité&gt;</emphasis> permet d'utiliser VBR (débit variable) pour encoder à la place de CBR (débit constant) par défaut, et de fixer le niveau de qualité (entre 1 et 10, le plus haut est le meilleur), <emphasis>max-bitrate=&lt;débit en kbit/s&gt;</emphasis> permet de fixer le débit maximum, pour un encodage vbr, <emphasis>min-bitrate=&lt;débit en kbit/s&gt;</emphasis> permet de fixer le débit minimum, pour un encodage vbr, <emphasis>cbr</emphasis> permet de forcer un encodage cbr.</para></listitem>

<listitem><para><emphasis>speex</emphasis>. Ce module utilise l'encodeur speex du projet Xiph.org. Speex est un codec audio, performant pour de très faibles débits (autour de 10kbit/s) et particulièrement pour la vidéo conférence.</para></listitem>

</itemizedlist>

</sect3>

<sect3><title>samplerate=</title>

<para>Cette option permet de fixer le taux d'échantillonnage du flux audio transcodé en Hz. Diminuer le taux d'échantillonnage est une manière de réduire le débit du flux audio.</para>

</sect3>

<sect3><title>channels=</title>

<para>Cette option permet de fixer le nombre de canaux du flux audio résultant. Cette option est utile pour les codecs qui ne supportent pas plus de 2 canaux, ou pour réduire le débit d'un flux audio.</para>

</sect3>

<sect3><title>scodec=</title>

<para>Cette option permet de définir le format dans lequel les pistes de sous-titres du flux d'entrée devraient être converties.</para>

<para>La liste des codecs disponibles peut être trouvée sur la <ulink url="/streaming/features.html">page des options de diffusion</ulink>.</para>

</sect3>

<sect3><title>senc=</title>

<para>Cela permet de choisir l'encodeur à utiliser pour encoder les sous-titres.</para>

<para>Le seul encodeur de sous-titres disponible à l'heure actuelle est <emphasis>dvbsub</emphasis>.</para>

</sect3>

<sect3><title>soverlay</title>

<para>Cette option permet d'incruster les sous-titres directement sur la vidéo pendant le transcodage. Ne pas confondre cette option avec senc/scodec qui transcode les sous-titres et en fait un flux.</para>

</sect3>

<sect3><title>sfilter=</title>

<para>Cette option permet d'afficher des images générées par un <emphasis>subpicture filter</emphasis> (ie un logo, une phrase, ...) au dessus de la vidéo.</para>

<para>La liste des <emphasis>subpicture filters</emphasis> disponibles peut être trouvée sur la <ulink url="http://www.videolan.org/streaming/features.html">page des options de diffusion</ulink>. Les options de ces modules peuvent être trouvées en utilisant la ligne de commande suivante :</para>

<screen>
<prompt>% </prompt><userinput>vlc -p --advanced &lt;nom_du_module&gt;</userinput>
</screen>

</sect3>

<sect3><title>threads=</title>

<para>Cette option permet de fixer le nombre de threads qui doivent être utilisés pour encoder les flux. Augmenter ce nombre jusqu'au nombre de processeurs sur l'ordinateur , (ou au double sur les processeurs Intel P4 HT) devrait améliorer les performances de transcodage.</para>

</sect3>

<sect3><title>audio-sync</title>

<para>Quand cette option est activée, VLC abandonnera/dupliquera certaines frames vidéo pour synchroniser la piste vidéo avec la piste audio.</para>

</sect3>

</sect2>

<sect2><title>duplicate</title>

<para>Ce module peut être utilisé pour dupliquer le flux, et ainsi procéder à travers différentes chaines.</para>

<para>Les options disponibles sont :</para>


<sect3><title>dst=</title>

<para>Cette option permet de fixer la chaine à travers laquelle le flux dupliqué doit être traité.</para>

<note><para>Plusieurs options <emphasis>dst=</emphasis> doivent être utilisées dans le bloc duplicate pour vraiment dupliquer le flux.</para>
<para>N'importe lequel des modules de sortie décrits précédemment peut être utilisé comme paramètre de cette option.</para></note>

</sect3>

<sect3><title>select=</title>

<para>Cette option peut être utilisée pour dupliquer seulement un<emphasis>flux élémentaire</emphasis> d'un flux complet.</para>

<para>Plusieurs critères peuvent être donnés en les séparant par une virgule.</para>

<para>Pour les critères qui nécessitent un paramètre, tel que <emphasis>es</emphasis> et <emphasis>program</emphasis>, vous pouvez aussi spécifier une bande, en utilisant la syntaxe <emphasis>critère=num_début-num_fin</emphasis>.</para>

<para>Les paramètres disponibles sont :</para>

<itemizedlist>

<listitem><para><emphasis>program=</emphasis> : duplique seulement les <emphasis>flux élémentaires</emphasis> appartenant au programme sélectionné (ou SID). Cette option fonctionne seulement avec les flux MPEG2/TS.</para></listitem>

<listitem><para><emphasis>program=</emphasis> : ne duplique pas les <emphasis>flux élémentaires</emphasis> appartenant au programme sélectionné (ou SID). Cette option fonctionne seulement avec les flux MPEG2/TS.</para></listitem>

<listitem><para><emphasis>program=</emphasis> : duplique seulement les <emphasis>flux élémentaires</emphasis> avec l'id sélectionnée.</para></listitem>

<listitem><para><emphasis>program=</emphasis> : ne duplique pas les <emphasis>flux élémentaires</emphasis> avec l'id sélectionnée.</para></listitem>

<listitem><para><emphasis>program=</emphasis> : duplique seulement la vidéo des <emphasis>flux élémentaires</emphasis>.</para></listitem>

<listitem><para><emphasis>program=</emphasis> : ne duplique pas la vidéo des <emphasis>flux élémentaires</emphasis>.</para></listitem>

<listitem><para><emphasis>program=</emphasis> : duplique seulement l'audio des <emphasis>flux élémentaires</emphasis>.</para></listitem>

<listitem><para><emphasis>noaudio</emphasis> : ne pas dupliquer les <emphasis>flux élémentaires</emphasis> audio.</para></listitem>

<listitem><para><emphasis>spu</emphasis> : dupliquer uniquement les <emphasis>flux élémentaires</emphasis> de sous titres.</para></listitem>

<listitem><para><emphasis>nospu</emphasis> : ne pas dupliquer les <emphasis>flux élémentaires</emphasis> de sous titres.</para></listitem>

</itemizedlist>

<para>Exemple :</para>
<screen>#duplicate{dst=std{...},select="program=100-200,novideo"}</screen>

<para>Cette chaine de type <emphasis>duplicate</emphasis> ne renvera que les <emphasis>flux élémetaires</emphasis> non vidéo appartenant aux programmes dont le PID est compris entre 100 et 200.</para>

</sect3>

</sect2>

<sect2><title>
Divers
</title>

<para>
Voici quelques options globales supplémentaires :
</para>

<sect3><title>--sout-all, --no-sout-all</title>

<para>Activer la diffusion de tous les ES (désactivé par défaut). Par défaut, VLC ne diffusera qu'un ES audio et un ES vidéo (les premiers). Si vous activez sout-all, tous les ES (audio, vidéo et sous titres) seront diffusés.</para>

</sect3>

<sect3><title>--sout-keep, --no-sout-keep</title>

<para>Garder le sout ouver (désactivé par défaut) : utilise la même instance du sout à travers les divers éléments de playlist (si possible).</para>

</sect3>

<sect3><title>--no-sout-audio</title>
<para>Cette option permet de désactiver l'audio dans les flux émis.
</para>

</sect3>

<sect3><title>--no-sout-video</title>
<para>Cette option permet de désactiver la vidéo dans les flux émis.
</para>

</sect3>

</sect2>

<sect2><title>Syntaxe simplifiée</title>

<para>
Le module de flux de sortie permet aussi d'utiliser une syntaxe simplifiée qui ne peut utilisée que lorsque que l'on utilise les options principales du module <emphasis>standard</emphasis> :
</para>

<screen>
<prompt>% </prompt><userinput>vlc input_stream --sout access/mux:url</userinput>
</screen>

<para>
 où <emphasis>access</emphasis>, <emphasis>mux</emphasis> et <emphasis>url</emphasis> sont utilisés comme les options du module <emphasis>standard</emphasis>.
</para>

</sect2>

</sect1>

<sect1><title>
Exemples
</title>

<para>
Pour bien comprendre la syntaxe complex du flux de sortie de VLC vous devriez regarder les exemples de la section suivante.
</para>

</sect1>

</chapter>

