CHAPTER 1. DIFFUSIONS, MUXEURS ET CODECS Introduction



Documents pareils
Description générale de l'interface

Dans la série Les tutoriels libres présentés par le site FRAMASOFT. <Handbrake> <Utilisation d'handbrake pour les débutants> Par <OLIVIER LECLERCQ>

Outils et applications multicast

VoD ( Video on Demand ) avec VLC

Signage Manager Express Manuel utilisateur du logiciel

Votre réseau multimédia

Note technique. Formats de compression vidéo utilisés par CamTrace V11 avantages et inconvénients.

Assistance à distance sous Windows

VRM Monitor. Aide en ligne

Boîte à outils OfficeScan

HP Data Protector Express Software - Tutoriel 3. Réalisation de votre première sauvegarde et restauration de disque

STATISTICA Version 12 : Instructions d'installation

ETI/Domo. Français. ETI-Domo Config FR

WinReporter Guide de démarrage rapide. Version 4

Pour les caméras IP de modèles : QSTC201 QSTC211. Surveillance à distance via Internet Guide de démarrage

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Guide de l'utilisateur de l'application mobile

Réalisation d un diaporama en haute définition avec. Adobe Premiere Elements 3.0 ou Adobe Premiere Pro 2.0. Encodage pour Internet

Enregistrer 27. ENREGISTREMENT ouvre une boîte de dialogue similaire à celle qui est décrite ici. «Enregistrement» sous l'écran vidéo

Virtualisation de Windows dans Ubuntu Linux

PCTV Systems TVCenter

Manuel de Nero MediaHome

Configurer ma Livebox Pro pour utiliser un serveur VPN

Configurez votre Neufbox Evolution


Comment utiliser mon compte alumni?

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

FreeNAS Shere. Par THOREZ Nicolas

Guide d'utilisation du Lecteur d'enregistrement du réseau WebEx

Cyberclasse L'interface web pas à pas

[Serveur de déploiement FOG]

Sage CRM. 7.2 Guide de Portail Client

PX8048 Convertisseur audio/vidéo VHS vers USB

Installer VMware vsphere

Stellar Phoenix Outlook PST Repair - Technical 5.0 Guide d'installation

Manuel d'installation de DVD MAKER USB2.0

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

Sage 50 Version 2014 Guide d installation. Sage Suisse SA

Printer Administration Utility 4.2

DOCUMENTATION VISUALISATION UNIT

Formations au tournage et au montage vidéo. Monter un film avec. Imovie 11

Didacticiel de mise à jour Web

Guide de l'utilisateur de l'utilitaire d'installation de caméra Avigilon

GUIDE DE DÉMARRAGE RAPIDE

Vous y trouverez notamment les dernières versions Windows, MAC OS X et Linux de Thunderbird.

GUIDE D INSTALLATION RAPIDE DEXH264

Manuel d utilisation Caméra IP via Internet Explorer

DE LA CAMÉRA SOMMAIRE

UltraBackup NetStation 4. Guide de démarrage rapide

Exportation d'une VM sur un périphérique de stockage de masse USB

Adobe Premiere Pro Exportation

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement)

Maintenir un service de traitement de son ou d image d ordinateur

Symantec Backup Exec 12.5 for Windows Servers. Guide d'installation rapide

Cloud public d Ikoula Documentation de prise en main 2.0

Acronis Backup & Recovery 10 Advanced Server Virtual Edition. Guide de démarrage rapide

Multimedia. Systèmes, Communications et Applications. Ahmed MEHAOUA

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia

NAS 208 WebDAV Une alternative au protocole FTP pour le partage sécurisé des fichiers

Qlik Sense Desktop. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

Version Wraptor Laboratories. Installation de SpamWars 4.0 Édition Entreprise

FileMaker Server 13. Guide de démarrage

PARAGON SYSTEM BACKUP 2010

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

LOGICIEL KIPICAM : Manuel d installation et d utilisation

2010 Ing. Punzenberger COPA-DATA GmbH. Tous droits réservés.

Manuel d'installation du logiciel

TP Wireshark. Première approche de Wireshark. 1 ) Lancer Wireshark (double clic sur l icône sur le bureau). La fenêtre

Hébergement WeboCube. Un système performant et sécurisé. Hébergement géré par une équipe de techniciens

Système Principal (hôte) 2008 Enterprise x64

CAMERA DOME AMELIORÉE DE SURVEILLANCE EN RÉSEAU GUIDE D INSTALLATION

Comment utiliser le lecteur MP3?

Capture Pro Software. Démarrage. A-61640_fr

Capture, Filtrage et Analyse de trames ETHERNET avec le logiciel Wireshark. Etape 1 : Lancement des machines virtuelles VMWARE et de Wireshark

Configuration de routeur D-Link Par G225

Guide d installation

TeamViewer 9 Manuel Management Console

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License,

Manuel. Nero MediaHome. Nero AG

Extension WebEx pour la téléphonie IP Cisco Unified

Windows Live Movie Maker

Guide de déploiement

Module SMS pour Microsoft Outlook MD et Outlook MD Express. Guide d'aide. Guide d'aide du module SMS de Rogers Page 1 sur 40 Tous droits réservés

Récupérer au format AVI un extrait d'un DVD à l'aide du logiciel FlaskMpeg

SOMMAIRE. ENREGISTREMENT...24 Programmer un enregistrement...24 Enregistrement manuel...25 Timeshift...25 Regarder un programme enregistré...

Monitor Wall 4.0. Manuel d'installation et d'utilisation

NetBak Replicator 4.0 Manuel de l utilisateur Version 1.0

GUIDE D'INSTALLATION DU LOGICIEL

CA ARCserve Backup Patch Manager pour Windows

Guide de l'utilisateur

Installation 4D. Configuration requise Installation et activation

Tekla Structures Guide de l'administrateur sur l'acquisition de licences. Version du produit 21.1 septembre Tekla Corporation

Système d information géographique SavGIS 3.Démarrer avec SavGIS Installer et démarrer SavGIS

KeePass - Mise en œuvre et utilisation

Installation de Windows 2003 Serveur

Microsoft Windows NT Server

Manuel d'utilisation d'apimail V3

ETHEREAL. Introduction. 1. Qu'est-ce qu'ethereal Historique Le statut d'ethereal

Transcription:

VideoLAN Streaming CHAPTER 1. DIFFUSIONS, MUXEURS ET CODECS Introduction Aperçu VideoLAN est une solution complète pour la lecture et la diffusion de vidéo par réseau, développée par des étudiants de l'ecole Centrale Paris et des développeurs du monde entier, sous licence GNU General Public License (GPL). VideoLAN est concu pour diffuser des vidéos MPEG sur des réseaux haut débit. La solution de diffusion VideoLAN comprend : VLS (VideoLAN Server), qui peut diffuser des fichiers MPEG-1, MPEG-2 et MPEG-4, des DVDs, des chaines numériques satellite, des chaines de télévision numérique terrestre et des flux vidéos réseau en unicast ou multicast. VLC (à l'origine dénommé VideoLAN Client), qui peut être utilisé comme un serveur pour diffuser des fichiers MPEG-1, MPEG-é et MPEG-4, des DVDs et des flux vidéo réseau en unicast ou multicast ; ou comme un client pour recevoir, décoder et afficher des flux MPEG sous de nombreux systèmes d'exploitation. Voici une illustration de la solution de diffusion VideoLAN :

Logiciels VideoLAN VLC media player VLC tourne sur de nombreux systèmes d'exploitation : Linux, Windows, Mac OS X, BeOS, *BSD, Solaris, Familiar Linux, Yopy/Linupy et QNX. Il peut lire : des fichiers MPEG-1, MPEG-2 et MPEG-4 / DivX depuis un disque dur, un lecteur de CD-ROM,... des DVDs et VCDs depuis des cartes d'acquisition satellite (DVB-S) des flux MPEG-1, MPEG-2 et MPEG-4 reçu par le réseau et diffusés par des VLC ou le stream output de VLC VLC peut aussi être utilisé en temps que serveur pour diffuser : vers : des fichiers MPEG-1, MPEG-2 et MPEG-4 / DivX des DVDs depuis une carte d'encodage MPEG une machine (c'est a dire une adresse IP) : ceci est appelé unicast un groupe dynamique de machines que les clients peuvent joindre ou quitter (par exemple une adresse IP multicast) : ceci est appelé multicast en IPv4 ou IPv6 VLC ne fonctionne pas sous Mac OS 9. Muxers et codecs Qu'est-ce qu'un codec? Pour bien comprendre la solution VideoLAN, vous devez comprendre la différence entre un codec et un conteneur Un codec est un algorithme de compression utilisé pour réduire la taille d'un flux. Il y a des codecs audio et des codecs video. MPEG-1, MPEG-2, MPEG-4, Vorbis, DivX, etc. sont des codecs. Qu'est-ce qu'un conteneur? (ou muxeur) Pour commencer, considérez un conteneur comme l'emballage d'un colis. Vous recevez un colis par la poste et vous pensez "Chouette! qu'est-ce qu'il y a à l'interieur?" Vous ne vous souciez pas vraiment de la boite elle même, vous vous interessez plutot à son contenu. Le problème? Vous ne pouvez pas voir à l'interieur de la boite. Que faites vous donc? Vous prenez une paire de ciseaux et vous l'ouvrez.

Un conteneur se base sur cette idée. Il contient une ou plusieurs flux déjà encodés à l'aide de codecs. Généralement, il y a un flux vidéo et un flux audio. AVI, Ogg, MOV, ASF, MP4 etc sont des conteneurs. Les flux contenus peuvent être encodés à l'aide de codecs différents. Dans un monde parfait, vous pourriez mettre n'importe quel codec dans n'importe quel conteneur. Malheureusement il y a quelques incompatibilités. Encoder une vidéo C'est la première étape lorsque vous créez votre colis. Vous devez tout d'abbord encoder votre fichier. Ceci veut dire qu'un fichier, que ce soit de l'audio ou de la vidéo, est compressé sous un autre format qui prend moins de place que le format précédent. Mes codecs généralement utilisés pour la vidéo sont DivX, MPEG-1, MPEG-2 et MPEG-4. Pour l'audio, il s'aggit de MP3 ou Vorbis. Vous devez ensuite mutilplexer. En gros, il s'aggit de prendre les flux séparés et de les grouper dans un seul fichier. Lire une vidéo Maintenant que vous avez un colis, vous allez devoir l'ouvrir avant de pouvoir accéder à son contenu. C'est exactement ce que VLC va faire. Pour décoder un flux, VLC va tout d'abbord le démuxer. Il lit donc le conteneur et sépare l'audio, la vidéo et les sous-titres, s'ils existent. Démuxer des fichiers ne baisse pas la qualité de la vidéo ou de l'audio. Ca ne change pas du tout ces flux de données. Ca ne fait que les sauvegarder dans des fichiersdifférents, chacun contenant un élément du fichier original. Ensuite, chacun de ces flux sont passés à des décodeurs qui font les calculs mathématiques permettant de décompresser le flux. Il y a une particulatrité concernant MPEG : MPEG est un codec. Il y a plusieurs versions de ce codec appelées MPEG-1, MPEG-2, MPEG-4... MPEG est aussi un conteneur, parfois appelé MPEG System. Il y a plusieurs types de conteneurs MPEG : ES, PS et TS. Par exemple, quand vous lisez une vidéo MPEG sur un DVD, les flux MPEG sont en fait composés de plusieurs flux (appelés flux élémentaires, ES) : il y a un flux pour la vidéo, un pour l'audio, un autre pour les soustitres et ainsi de suite. Ces différents flux sont mélangés dans un seul Program Stream (PS). Ainsi, les fichiers.vob que vous pouvez trouver sur un DVD sont en fait des fichiers MPEG-PS. Cependant, ce format PS n'est pas adapté à la diffusion de vidéo sur un réseau ou par satellite. Un autre format, appelé Transport Stream (TS) a donc été conçu pour diffuser du MPEG sur de tels dispositifs.

CHAPTER 2. DIFFUSION FACILE Intro Le plus facile pour commencer à diffuser avec VLC consiste à utiliser l'une des interfaces graphiques utilisateur : wxwindows pour Windows et GNU/Linux, l'interface skinnable Windows et GNU/Linux ou l'interface native MacOS X. Diffuser en utilisant l'assistant L'Assistant de Diffusion/Tanscodage vous guide pas par pas pour diffuser votre média sur un réseau ou le sauvegarder sur votre disque dur. Cet Assistant fournit des menus simples à utiliser, mais les choix d'options sont restreints. L'assistant est seulement disponible depuis l'interface wxwindows. Démarrer l'assistant Pour démarrer l'assistant de diffusion/transcodage, ouvrez le menu "Fichier", et sélectionnez Assistant dans le menu. Champs à remplir dans l'assistant Pour commencer, sélectionnez le type de tâche : Diffuser vers un réseau : Choisissez cette option si vous voulez diffuser un média sur un réseau. Transcoder/Sauvegarder : Choisissez cette option si vous souhaitez changer le codec d'un fichier audio et/ou vidéo, son échantillonnage et/ou sa méthode d'encapsulation.

Sélection de l'entrée Choisissez un flux (tel qu'un fichier, un flux réseau, un disque, un périphérique de capture,...) avec le bouton Choisir, ou un élément existant de votre liste de lecture, en avec l'option Elément de la liste. Extraction partielle : Pour lire uniquement une partie du flux, cochez "Activer" et choisissez un début et une fin (en secondes). Cette option ne doit être utilisée que dans le cas de flux que vous pouvez contrôler, comme des fichiers, des disques, mais pas des flux réseaux ou des périphériques de capture. Méthodes de diffusion Si vous avez choisi l'option Diffuser vers un réseau, vous pouvez maintenant spécifier la méthode de diffusion. Les méthodes de diffusion sont : UDP Unicast : Diffuser vers un unique ordinateur. Entrez l'adresse IP du client (dans la plage 0.0.0.0-223.255.255.255). UDP Multicast : Diffuser un flux vers plusieurs utilisateurs en utilisant le multicast. Entrez l'adresse IP du groupe multicast (dans la plage 224.0.0.0-239.255.255.255). HTTP : Diffuser en utilisant le protocole HTTP. Si vous laissez le champ Destination vide, VLC va attendre les connexions sur toutes les interfaces réseaux du serveur sur le port 8080. Spécifiez une adresse, un port et un chemin pour les connexions en utilisant la syntaxe suivante [ip][:port][/path]. Par ex., 192.168.0.1:80 /stream va faire écouter VLC sur l'interface portant l'adresse IP 192.168.0.1, sur le port TCP 80, dans le fichier virtuel /stream. Options de transcodage Si vous avez choisi l'option Transcoder/Sauvegarder, vous pouvez spécifier les nouveaux codecs audio et vidéo, et l'échantillonnage vers lesquels vous souhaitez convertir votre entrée.

Méthode d'encapsulation Choisissez le format de méthode. La diffusion UDP requière une encapsulation MPEG TS. La diffusion par HTTP peut-être utilisée avec les encapsulations MPEG PS, MPEG TS, MPEG 1, OGG, RAW ou ASF. Sauvegarder un fichier peut être fait en utilisant n'importe quel format d'encapsulation compatible avec les codecs choisis. Options de diffusion Si vous avez choisi de Diffuser vers un réseau, vous pouvez maintenant spécifier plusieurs options. Time To Live (TTL) Ceci définit le nombre de routeurs que votre flux peut traverser avant d'être supprimé, pour l'unicast UDP et les méthodes d'accès unicast. Si vous ne savez pas ce que cela signifie, vous devriez laisser la valeur par défaut. Pour le multicast UDP, la valeur par défaut du TTL est 1, ce qui signifie que votre flux n'ira pas audelà du premier routeur. Vous voudrez certainement augmenter ce nombre si vous souhaitez que votre flux multicast soit routé. Annonce SAP Pour annoncer votre flux sur le réseau quand vous utilisez une méthode de diffusion UDP, en utilisant le protocole SAP, entrez le nom du flux dans le champ de texte et cochez la case correspondante. Ceci N'EST PAS disponible pour la méthode de diffusion HTTP. destination du fichier d'enregistrement si vous avez choisi Tanscoder/Sauvegarder vous pouvez a présent spécifier le fichier dans lequel vous voulez sauvegarder le flux. Vous pouvez a présent cliquer sur Terminer pour commencer à diffuser/transcoder la source

Diffusion en mode graphique Introduction Une deuxième facon de parametrer une instance de diffusion avec VLC est d'utiliser le menuflux de sortie dans la boite de dialogue Ouvrir... de l'interface wxwindows (Windows / GNU Linux), skins (Windows / GNU Linux) et MacOS X. Les options et méthodes les plus courantes de diffusion sont accessibles dans ce menu pour diffuser le media ouvert, cochez "flux de sortie" dans la boite de dialogue "ouvrir un fichier/disque/flux reseau/périphérique de capture"et cliquez sur le bouton "paramètres" la boite dialogue Flux de sortie MRL Flux de sortie Dans l'interface wxwindows, un boite de dialogue affiche le MRL de flux de sortie (Media Ressource Locator). Elle est mise a jour quand vous modifiez des options dans le menu Flux de sortie. Méthodes de diffusion Jouer en local: affiche la diffusion à l'écran. Cela permet d'afficher le flux que vous êtes en train de diffuser. Les effets de transcodage, etc... peuvent être surveillés en local avec cette fonction. Fichier: Sauvegarder la diffusion dans un fichier. L'option Dumper le flux brut permet d'enregistrer le flux d'entrée en même temps qu'il est lu par VLC, sans aucun traitement. HTTP: Pour utiliser la méthode de diffusion HTTP. Spécifiez l'adresse IP ainsi que le numéro de port TCP à écouter MMSH: Cette méthode d'accès permet de diffuser vers Microsoft Windows Media Player. Spécifiez l'adresse IP ainsi que le numéro de port TCP à écouter. Cela fonctionnera seulement avec la méthode d'encapsulation ASF UDP: Diffusez en unicast en donnant une adresse dans la gamme 0.0.0.0-223.255.255.255 ou en multicast en donnant une adresse dans la gamme 224.0.0.0-239.255.255.255. Il est aussi possible de diffuser vers des adresses IPv6. Cela fonctionnera seulement avec la methode d'encapsulation TS RTP: pour utiliser le "Real-Time Transfer Protocol". Comme avec l'udp, cela fonctionne avec des adresses unicast et multicast.

Les méthodes UDP, HTTP, MMSH et RTP necessitent de choisir l'option diffuser sur l'interface MacOS X. Méthode d'encapsulation choisissez une méthode d'encapsulation qui corresponde aux methodes d'encodage et d'acces de votre diffusion, parmi MPEG TS, MPEG PS, MPEG 1, OGG, Raw, ASF,AVI, MP4 et MOV. Options de transcodage activez le transcodage video en cochant la case "Codec video". choisisses un codec dans la liste. Vous pouvez egalement spécifier un debit et une echelle. activez le transcodage audio en cochant la case "Codec audio". choisisses un codec dans la liste. Vous pouvez egalement spécifier un debit et le nombre de canaux audio a encoder. Option diverses Choisissez la methode d'annonce de diffusion. Vous pouvez utiliser SAP (Service Announce Protocol) ou SLP (Service Location Protocol). Vous devez alors spécifier un nom de chaine. L'interface MacOS X permet egalement d'exporter le fichier de description (SDP) d'une session RTP en utilisant le serveur HTTP ou RTSP de VLC, ou bien un fichier. Cela peut être fait en cochant les cases appropriées. La boite SDP URL permet de spécifier l'url ou la destination ou le fichier SDP sera disponible.

CHAPTER 3. UTILISATION AVANCÉE DU FLUX DE SORTIE EN LIGNE DE COMMANDE Structure du flux de sortie 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 enchaîner les modules afin d'augmanter les possibilités. Voici la liste des modules actuellement disponibles : standard permet d'envoyer le flux via un module de sortie : par exemple, UDP, fichier, HTTP... Vous voudrez probablement utiliser ce module à la fin de vos chaînes. trascode 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. duplicate vous permet de créer une seconde chaîne, dans laquelle le flux sera traité d'une manière indépendante. display vous permet d'afficher le flux d'entrée, tel que VLC le ferait en temps normal. Utilisé de paire avec le modules duplicate, ceci vous permet de visualiser le flux durant le traitement. rtp diffuse sur RTP (un port UDP par flux élémentaire). Ce modules supporte aussi le RTSP. es 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. Chacun de ces modules peut accepter des options. Voici la syntaxe que vous devez employer : % vlc input_stream --sout "#module1{option1=parameter1{parameter-option1},option2= parameter2}:module2{option1=...,option2=...}:..." 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. Vous pouvez aussi utiliser la syntaxe suivante : % vlc flux_d'entrée --sout-module1-option1=... --sout-module1-option2=... --soutmodule2-option1=... --sout-module2-option2=...... Par exemple, pour transcoder un flux et le diffuser, utilisez : % vlc flux_d'entrée --sout '#transcode{options}:standard{options}'

Description des modules standard (alias std) Ce module enregistre le flux dans un fichier ou le diffuse sur le réseau, après l'avoir multiplexé. Les options disponibles sont : access= Ces options permmettent de sélectionner le medium utilisé pour enregistrer ou diffuser le flux. Cette option est obligatoirement requise. Les choix possibles sont : mux= file : enregistre le flux dans un fichier. Utilisez l'option append pour ajouter le flux à un fichier existant au lieu de le remplacer. udp : diffuse vers une adresse UPD unicast ou multicast. Les options sont : caching=<durée en ms> pour définir le temps pendant lequel VLC devrait garder les données en tampon avant de les envoyer, ttl=<ttl> pour définir le ttl des paquets UDP envoyés, group=<nombre de paquets> pour envoyer les paquets par rafales plutôt que un par un, late=<durée en ms> pour éliminer les paquets qui arrivent trop en retard à cette étape de la chaîne, raw si vous ne voulez pas attendre que le MTU soit rempli avant d'envoyer les paquets. http : diffuse par HTTP. Elément les options sont : user=<nom d'utilisateur> pour activer l'authentification basique par HTTP et définir l'utilisateur, ^wd=<mot de passe> pour définir le mot de passe mime=<type mime> pour définir le type MIME retourné par le serveru. https : diffuse par HTTP, en utilisant une connexion sécurisée SSL Les options sont les même que pour http, plus : cert=<chemin ver le certificat> pour définir le certificat à utiliser, key=<chemin vers la clef> pour définir la clef à utiliser ca=<chemin vers le certificat> pour définir le certificat CA à utiliser dans le SSL, crl=<chemin vers le certificat> pour définir le certificat de révocation à utiliser dans la connection SSL. mmsh : diffuse en utilisant le protocol Microsoft MMS. Ce protocole est utilisé comme méthode de transport par la plupart des logiciels Microsoft. z que seule une petite partie du protocole MMS est supportée (MMS encapsulé dans du HTTP). Les options sont les même que pour le module HTTP. rtp : diffuse par RTP. z 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 rtp pour un support complet du RTP. Les options sont les mêmes que pour pour l'udp. Cette option vous permet de choisir la méthode d'encapsulation utilisée dans le flux. Cette option est obligatoire.

Les options disponibles sont : ts : 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'accès. 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. Les options sont : pid-video=<pid> pour choisir le PID de la piste vidéo, pid-audio=<pid> pour choisir le PID de la piste audio, pid-spu=<pid> pour choisir le PID de la piste de sous-titres, pidpmt=<pid> pour choisir le PID de la PMT (Program Map Table), tsid=<id> pour choisir l'id du flux TS, shaping=<delai de formation en ms > pour choisir l'intervalle minimum durant lequel le ébit du flux doit rester constant, pour les flux à débit variable, use-key-frames utiliser les images I comme limites de délai de formation, pcr=<intervalle PCR en ms> permet de choisir à quel intervalle le PCR (Program Clock References) doit êtreenvoyé, dts-delay=<delai en ms> permet de retarder le PTS (Presentation Time Stamps) du DTS (Decoding Time Stamp) du delai indiqué, cryptaudio permet d'activer le chiffrement de la piste audio en utilisant l'algorithme CSA, csa-ck=<clef sous forme d'un mot de 16 caractères> permet de choisir la clef à utiliser pour le chiffrement CSA. ps : 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. La seule option disponible est dst-delay=<delai en ms>. Elle permet de contrôler le délai entre le PTS (Presentation Time Stamps) et le DTS (Decoding Time Stamp). mpeg1 : 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. Les options sont les même que pour le muxer PS. ogg : 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. Il n'y a pas d'option pour ce muxer. asf : 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. Le options disponibles sont : title=<titre>, autor=<auteur>, copyright=<message de copyright>, comment=<commentaires>, rating=<rating> allow you to set what will be displayed in the according field of the stream comments. asfh : 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. Les options sont les mêmes que pour ASF. avi : 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. Il n'y a pas d'option pour ce muxer.

dst= mpjpeg : 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. Aucune option n'est disponible pour ce muxer. Cette option permet de donner les informations sur l'emplacement où le flux doit être enregistré ou envoyé. Here is the meaning of the dst option depending on the parameter used for the access option. sap If the file output method is used, dst is the complete path where the file should be saved. If the udp or rtp output method is used, dst is the unicast or multicast destination address and, optionally, UDP port, in the form address:port. If the http, https or mmsh 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 address:port/path syntax. 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. Cette option peut être activé dans la méthode de sortie udp. group= Cette option permet de renseigner le nom d'un éventuel groupe de flux. Un client sous VLC pourra utiliser de cham pour classer les flux. Cette option utilise une extension privée du protocole SAP. VLC sera le seul client capable de lire ce champ. Cette option peut uniquement être utilisée lorsque l'option sap est activée. sap-ipv6 Utilisez cette option si vous voulez que les annonces SAP soient envoyées en utilisant le protocole IPv6 au lieu de IPv4. Cette option peut uniquement être utilisée lorsque l'option sap est activée.

slp SLP signifie Service Location Protocol. C'est une alternative au SAP pour annoncer des sessions. Utilisez cette option si vous souhaitez utiliser le SLP. name= Utilisez cette option pour préciser le nom du flux à envoyer dans les annonces SAP et SLP. Cette option peut uniquement être utilisée lorsque les options sap ou slp sont activées. display Ce module est utilisé pour afficher le flux. C'est particulièrement utile dans une chaine duplicate, pour surveiller le flux en train d'être enregistré ou diffusé. les options disponibles sont : novideo Vous pouvez utiliser cette option pour désactiver la vidéo dans le flux à l'affichage. noaudio Vous pouvez utiliser cette option pour désactiver le son dans le flux à l'affichage. delay= Vous pouvez utiliser cette option pour introduire un delai dans l'affichage du flux. Le délai est en ms. rtp Ce module peut être utilisé pour envoyer un flux en utilisant le protocole RTP (Real Time Protocol) (voir RFC 3550). Même s'il est possible d'utiliser le RTSP dans ce module, vous ne pourrez pas faire de la Vidéo à la Demande. Veuillez vous reporter à la description du module VLC pour cela. Les différentes options disponibes sont : dst= 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 sdp=rtsp:// le soit (voir plus bas). Dans le dernier cas, le flux sera envoyé à l'hôte faisant la requête RTSP. port= Cette option permet de régler le port UDP utilisé pour envoyer le premier flux élémentaire. Ce port doit être fourni. Les autres flux seront en utilisant les ports impairs juste au dessus.

port-video= Cette option vous permet de définir le port UDP utilisé pour envoyer le premier flux élémentaire vidéo. Ce port doit être impair. port-audio= Cette option vous permet de définir le port UDP utilisé pour envoyer le premier flux élémentaire audio. Ce port doit être impair. sdp= Cette option vous permet de choisir la manière dont le fichier SDP (Session Description Protocol) correspondant au flux doit être disponible. Le options sont : ttl= file://<chemin vers le fichier>, pour exporter le contenu SDP en tant que fichier local. http://<interface locale IP:port/chemin>, pour rendre le fichier disponible en utilisant le serveur HTTP intégré au VLC. L'argument interface locale IP est facultatif. S'il n'est pas fourni, VLC écoutera sur toutes les interfaces disponibles. rtsp://<interface locale IP:port/chemin>, pour rendre le fichier SDP disponible en utilisant le protocole RTSP (voir RFC 2326). L'argument interface locale IP est facultatif. S'il n'est pas fourni, VLC écoutera sur toutes les interfaces disponibles. sap, pour exporter le contenu SDP en utilisant le SAP (Session Announcement Protocol, voir RFC 2974). Cette option peut être utilisée pour fixer le TTL (Time to Live) des paquets UDP envoyés. mux= Cette option vous permet de définir la méthode d'encapsulation pour envoyer le flux. Voir les options de mux= du module standard pour une description des méthodes disponibles. Seuls ts et raw (pas d'encapsulation) sont des valeurs possibles pour les flux RTP. La valeur par défaut est RAW. name= Cette option peut être utilisée pour donner un nom qui sera affiché au client affichant le flux. description= Cette option peut être utilisée pour donner une description supplémentaire du flux.

url= Cette option permet de donner l'adresse d'un site web contenant des informations supplémentaires sur le flux. email= Cette option permet de donner une adresse e-mail de contact es Le module es peut être utilisé pour séparer les différents flux élémentaires du flux principal, et enregistrer chacun d'eux dans un fichier différent ou les envoyer vers d'autres destinations. Les paramètres disponibles sont : access-video= Utilisez cette option pour donner le média utilisé pour enregistrer ou envoyer les flux élémentaires vidéo. Les valeurs possibles sont les même que celles de l'option access du module standard (voir après). access-audio= Utiliser cette option pour régler le media choisi pour enregistrer ou envoyer le flux élémentaire audio. Les valeurs possibles et les options sont les mêmes que celles de l'option access du module standard (voir précédemment). access= Cette option peut être utilisée à la place des 2 options access-video et access-audio, quand elles partagent le même réglage. mux-video= Utiliser cette option pour régler la méthode d'encapsulation choisie pour le flux élémentaire video. Les valeurs possibles et les options sont les mêmes que celles de l'option mux du module standard (voir précédemment). mux-audio= Utiliser cette option pour régler la méthode d'encapsulation choisie pour le flux élémentaire audio. Les valeurs possibles et les options sont les mêmes que celles de l'option mux du module standard (voir précédemment). mux= Cette option peut être utilisée à la place des 2 options mux-video et mux-audio, quand elles partagent le même réglage. dst-video= Utiliser cette option pour régler le lieu dans lequel sera sauvé, envoyé ou rendu accessible le flux élémentaire vidéo. La signification exacte de cette option dépend de la valeur de l'option access-video et est la même que l'option url du module standard (voir précédemment).

Si vous utilisez la chaine de caractère %d dans le champ d'adresse (url), VLC la remplacera par le numéro de la piste audio ou vidéo en question. La chaine %c sera remplacée par le nom (FOURCC) du codec de la piste. dst-audio= Utiliser cette option pour régler le lieu dans lequel sera sauvé, envoyé ou rendu accessible le flux élémentaire audio. La signification exacte de cette option dépend de la valeur de l'option access-audio et est la même que l'option url du module standard (voir précédemment). Si vous utilisez la chaine de caractère %d dans le champ d'adresse (url), VLC la remplacera par le numéro de la piste audio ou vidéo en question. La chaine %c sera remplacée par le nom (FOURCC) du codec de la piste. dst= Cette option peut être utilisée àla place d'àla fois dst-video et dst-audio, quand elles partagent les mêmes réglages. transcoder 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. 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. Les options disponibles sont : vcodec= Cette option permet de choisir le codec des pistes vidéos dans lequel le flux d'entrée doit être transcodé. vb= Cette option permet de régler le débit flux video transcodé en kbit/s venc= Ceci permet de régler l'encodeur àutiliser pour encoder les vidéos. Les options disponibles sont : ffmpeg : c'est le module d'encodage libavcodec. Il contient un grand nombre de codecs différents Les options sont : keyint=>nombre de frames< permet de régler le nombre maximal de frames entre 2 frames clé, hurry-up permet à l'encodeur de diminuer la qualité du flux si le processeur ne peut soutenir le taux d'encodage, interlace permet d'améliorer la qualité de l'encodage d'une vidéo entrelacée, noise-reduction=<facteur de réduction du bruit> active un algorithme de réduction du

fps= bruit (réduira le débit demandé au coût des détails dans l'image), vt=<tolérance du débit en kbit/s> permet de régler la tolérance du débit de la vidéo de sortie, bframes=<nombre de frames> règle le nombre de B frames entre 2 frames clé, qmin=<quantizer> permet de régler l'échelle minimale des quantizers, qmax=<quantizer> permet de régler l'échelle maximale des quantizers,qscale=<quantizer> permet de régler une échelle fixe de quantizers pour des encodages VBR, i-quant-factor=<facteur de quantization> permet de régler le facteur de quantization des I frames par rapport aux P frames, hq=<quality> 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), strict=<niveau de conformité> permet de forcer un niveau strict de conformité (les valeurs possibles sont -1, 0, 1, par défaut 0), strict-rc active un algorithme de contrôle à taux strict, rc-buffersize=<taille du buffer en bits> permet de choisir la taille du buffer utilisé pour le contrôle du taux (une valeur élevée correspond à un contrôle plus efficace), rc-buffer-aggressivity=<nombre représentant l'aggressivité> permet de régler l'aggressivité du taux de contrôle du buffer, pre-me permet d'activer l'estimation pre motion, mpeg4-matrix 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, trellis active la quantization trellis (meilleure qualité, mais traitement plus lent). theora : 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. La seule option disponible est quality=<niveau de qualité>. Cette option permet de créer un flux VBR, remplaçant le réglage vb, le nieau de qualité doit être un entier entre 1 et 10. Le meilleur étant le plus élevé. x264. x264 est un encodeur h264 libre et open-source. h264 (ou MPEG4-AVC) est un codec viddéo relativement récent de haute qualité. Les options sont : keyint=<nombre deframes> permet de régler le nombre maximal de frames entre 2 frames clé, idrint=<nombre de frames>permet de fixer le nombre maximal de frames entre 2 frames IDR, bframes=<nombre de frames> permet de régler le nombre de B frames entre une frame I et une frame P, qp=<paramètre des quantizers>permet de fixer une valeur fixe des quantizers (entre 1 et 51),qp-max=<paramètre des quantizers> permet de donner la valeur maximale des quantizers, qp-min=<paramètre des quantizers> permet de régler la valeur minimale des quantizers, cabac active l'algorithme CABAC (Context-Adaptative Binary Arithmetic Coding) (plus lent mais améliore la qualité), loopfilter active le filtre loop, analyse active le mode analyze, frameref=<nombre de frames> permet de régler le nombre de frames utilisées comme prédicateurs, scenecut=<sensibilité> permet de contrôler avec quelle agressivité l'encodeur doit insérer des I- frame externes au changement de scène. 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. deinterlace Cette option permet d'activer le désentrelacement de vidéos entrelacées avant d'encoder. croptop= 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.

cropbottom= 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. cropleft= 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. cropright= 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. scale= 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. width= Cette option permet de donner la largeur de la vidéo transcodée en pixels. height Cette option permet de donner la hauteur de la vidéo transcodée en pixels. acodec= Cette option permet de spécifier le codec dans lequel la piste audio doit être transcodée. ab= Cette option permet de fixer le débit du flux audio transcodé en kbit/s. aenc= Ceci permet de choisir l'encodeur à utiliser pour encoder le flux audio. Les options disponibles sont : ffmpeg : 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 fonctionnalités de diffusion. vorbis. Ce module utilise l'encodeur vorbis du projet Xiph.org. Vorbis est un codec audio libre, open, sans-licence. Les options sont : qualité=<niveau de qualité> 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), max-bitrate=<débit en kbit/s> permet de fixer le débit maximum, pour un encodage vbr, min-bitrate=<débit en kbit/s> permet de fixer le débit minimum, pour un encodage vbr, cbr permet de forcer un encodage cbr. speex. 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.

samplerate= 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. channels= 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. scodec= Cette option permet de définir le format dans lequel les pistes de sous-titres du flux d'entrée devraient être converties. La liste des codecs disponibles peut être trouvée sur la page des options de diffusion. senc= Cela permet de choisir l'encodeur à utiliser pour encoder les sous-titres. Le seul encodeur de sous-titres disponible à l'heure actuelle est dvbsub. soverlay 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. sfilter= Cette option permet d'afficher des images générées par un subpicture filter (ie un logo, une phrase,...) au dessus de la vidéo. La liste des subpicture filters disponibles peut être trouvée sur la page des options de diffusion. Les options de ces modules peuvent être trouvées en utilisant la ligne de commande suivante : % vlc -p --advanced <nom_du_module> threads= 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. audio-sync Quand cette option est activée, VLC abandonnera/dupliquera certaines frames vidéo pour synchroniser la piste vidéo avec la piste audio. duplicate Ce module peut être utilisé pour dupliquer le flux, et ainsi procéder à travers différentes chaines. Les options disponibles sont :

dst= Cette option permet de fixer la chaine à travers laquelle le flux dupliqué doit être traité. Plusieurs options dst= doivent être utilisées dans le bloc duplicate pour vraiment dupliquer le flux. N'importe lequel des modules de sortie décrits précédemment peut être utilisé comme paramètre de cette option. select= Cette option peut être utilisée pour dupliquer seulement unflux élémentaire d'un flux complet. Plusieurs critères peuvent être donnés en les séparant par une virgule. Pour les critères qui nécessitent un paramètre, tel que es et program, vous pouvez aussi spécifier une bande, en utilisant la syntaxe critère=num_début-num_fin. Les paramètres disponibles sont : program= : duplique seulement les flux élémentaires appartenant au programme sélectionné (ou SID). Cette option fonctionne seulement avec les flux MPEG2/TS. program= : ne duplique pas les flux élémentaires appartenant au programme sélectionné (ou SID). Cette option fonctionne seulement avec les flux MPEG2/TS. program= : duplique seulement les flux élémentaires avec l'id sélectionnée. program= : ne duplique pas les flux élémentaires avec l'id sélectionnée. program= : duplique seulement la vidéo des flux élémentaires. program= : ne duplique pas la vidéo des flux élémentaires. program= : duplique seulement l'audio des flux élémentaires. noaudio : ne pas dupliquer les flux élémentaires audio. spu : dupliquer uniquement les flux élémentaires de sous titres. nospu : ne pas dupliquer les flux élémentaires de sous titres. Exemple : #duplicate{dst=std{...},select="program=100-200,novideo"} Cette chaine de type duplicate ne renvera que les flux élémetaires non vidéo appartenant aux programmes dont le PID est compris entre 100 et 200. Divers Voici quelques options globales supplémentaires : --sout-all, --no-sout-all 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. --sout-keep, --no-sout-keep 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).

--no-sout-audio Cette option permet de désactiver l'audio dans les flux émis. --no-sout-video Cette option permet de désactiver la vidéo dans les flux émis. Syntaxe simplifiée 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 standard : % vlc input_stream --sout access/mux:url où access, mux et url sont utilisés comme les options du module standard. Exemples Pour bien comprendre la syntaxe complex du flux de sortie de VLC vous devriez regarder les exemples de la section suivante.

CHAPTER 4. EXEMPLES D'UTILISATION AVANCÉE DE DIFFUSION AVEC VLC (TRANSCODAGE, DIFFUSION MULTIPLE, ETC...) Transcodage Transcoder le flux d'entrée et l'envoier vers une adresse multicast avec l'annonce SAP associée: % vlc -vvv input_stream --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}: standard{access=udp,mux=ts,dst=239.255.12.42,sap,name="teststream"}' Afficher le flux d'entrée, le transcoder et l'envoyer vers une adresse multicast avec l'annonce SAP associée: % vlc -vvv input_stream --sout '#duplicate{dst=display,dst= "transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}: standard{access=udp,mux=ts,dst=239.255.12.42,sap,name="teststream"}"}' Transcoder, afficher le flux transcodé et l'envoyer vers une adresse multicast avec l'annonce SAP associée: % vlc -vvv input_stream --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}: duplicate{dst=display,dst=standard{access=udp,mux=ts,dst=239.255.12.42,sap,name="testst ream"}}' Diffusion multiple Envoyer le flux vers une adresses IP multicast et une adresse IP unicast: % vlc -vvv input_stream --sout '#duplicate{dst= standard{access=udp,mux=ts,dst=239.255.12.42,sap,name="teststream"}, dst=standard{access=udp,mux=ts,dst=192.168.1.2}}' Afficher le flux et l'envoyer vers deux adresses IP unicast: % vlc -vvv input_stream --sout '#duplicate{dst=display,dst= standard{access=udp,mux=ts,dst=192.168.1.12}, dst=standard{access=udp,mux=ts,dst=192.168.1.42}}' Envoyer des parties d'un flux d'entrée multiple: % vlc -vvv multiple_program_input_stream --sout '#duplicate{dst=standard{access=udp,mux=ts,dst=239.255.12.42},select="program=12345", dst=standard{access=udp,mux=ts,dst=239.255.12.43}, select="video,program=1234-2345"}' Cette commande envoie le programme du flux d'entrée dont le numéro est 12345 vers l'adresses 239.255.12.42 et tous les programmes dont le numeros est compris entre 1234 et 2345 vers l'adresse 239.255.12.43. Transcodage et diffusion multiple Transcoder le flux d'entrée, afficher le flux transcodé et l'envoyer vers une adresse IP multicast avec l'annonce SAP associée et une adresse IP unicast: % vlc -vvv input_stream --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128, deinterlace}:duplicate{dst=display,dst=standard{access=udp,mux=ts,dst=239.255.12.42, sap,name="teststream"},dst=standard{access=udp,mux=ts,dst=192.168.1.2}}'

Afficher le flux d'entrée, le transcoder et l'envoyer vers deux adresses IP unicast: % vlc -vvv input_stream --sout '#duplicate{dst=display, dst="transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}: duplicate{dst=standard{access=udp,mux=ts,dst=192.168.1.2}, dst=standard{access=udp,mux=ts,dst=192.168.1.12}"}' Envoyer le flux d'entrée vers une adresses IP multiicast, et le flux trancodée vers une autre adresse IP multicast avec les annonces SAP associées: % vlc -vvv input_stream --sout '#duplicate{dst= standard{access=udp,mux=ts,dst=239.255.1.2,sap,name="originalstream"}, dst="transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}: standard{access=udp,mux=ts,dst=239.255.1.3,sap,name="transcodedstream"}"}' Diffusion HTTP Diffuser en HTTP: Sur le serveur, lancer % vlc -vvv input_stream --sout '#standard{access=http,mux=ogg,dst=server.example.org:8080}' sur le(s) client(s), lancer: % vlc http://server.example.org:8080 Transcoder et diffuser en HTTP: % vlc -vvv input_stream --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}: standard{access=http,mux=ogg,dst=server.example.org:8080}' Par exemple, si vous voulez diffuser un CD audio en Ogg/Vorbis par HTTP: % vlc -vvv cdda:/dev/cdrom --sout '#transcode{acodec=vorb,ab=128}: standard{access=http,mux=ogg,dst=server.example.org:8080}' Diffusion RTP Diffuser en RTP Sur le serveur, lancer % vlc -vvv input_stream --sout '#rtp{dst=192.168.0.12,port=1234,sdp=rtsp://server.example.org:8080/test.sdp}' sur le(s) client(s), lancer: % vlc rtsp://server.example.org:8080/test.sdp You can remplace the rtsp URL by a http one, a file path (prefixed with file://) or sap:// to export the sdp file using one of these methods instead of rtsp.

RTSP Voir VLM - Diffusions multiples et Vidéo à la demande diffusion MMS / MMSH vers Windows Media Player % vlc -vvv input_stream --sout '#transcode{vcodec=div3,vb=256,scale=1,acodec=mp3,ab=32,channels=2}:std{access=mmsh,mux =asfh,dst=:8080}' VLC media player peut s'y connecter en utilisant l'url suivante mmsh://server_ip_address:8080. Windows Media Player peut s'y connecter en utilisant l'url suivante: mms://server_ip_address:8080. Utiliser le module es Separer l'audio et la video en deux fichiers PS: % vlc -vvv input_stream --sout '#es{access=file,mux=ps,url_audio=audio-%c.%m,url_video=video-%c.%m}' Extraire la piste audio du flux d'entrée en un fichier TS % vlc -vvv input_stream --sout '#es{access_audio=file,mux_audio=ts,url_audio=audio- %c.%m}' Diffuser en unicast la piste audio sur un port et la piste video sur un autre port: du coté serveur: % vlc -vvv input_stream --sout '#es{access=rtp,mux=ts,url_audio=192.168.1.2:1212,url_video=192.168.1.2:1213}' côté client: pour recevoir le son: % vlc udp:@:1212 pour recevoir la vidéo: % vlc udp:@:1213 Emettre la vidéo en multicast et enregistrer le son dans un fichier: % vlc -vvv input_stream --sout '#es{access-video=udp,mux-video=ts,dstvideo=239.255.12.42, access-audio=file,mux-audio=ps,dst-audio=audio-%c.%m}' Vous pouvez également combiner le module es avec d'autres modules pour créer des solutions encore plus complexes.

CHAPTER 5. VLM - DIFFUSIONS MULTIPLES ET VIDÉO À LA DEMANDE VLM VideoLAN Manager est un petit outil de gestion de médias conçu pour contrôler plusieurs flux avec une seule instance de VLC. Cela permet de la diffusion multiple et la vidéo à la demande (VoD). Cet outil ayant été récemment ajouté, il n'est possible de le contrôler que par les interfaces Telnet et HTTP. Interfaces Interface Telnet Vous pouvez démarrer l'interface Telnet comme toute autre interface en utilisant la ligne de commande : % vlc --intf telnet % vlc --extraintf telnet L'interface Telnet peut aussi être démarrée depuis l'interface wxwindows: Le port par défaut est 4212. Le mot-de-passe par défaut est "admin". Ils peuvent être modifiées en utilisant les options de la ligne de commande --telnet-port <integer> et --telnet-password <string> respectivement. Ils peuvent aussi être changés depuis le panneau de configuration des Préférences de l'interface wxwindows, dans la section Modules->interface-> telnet (cochez la case Options avancées). Interface HTTP Le démarrage de l'interface HTTP est détaillé dans le Play-with-VLC Howto. Pour accéder à la rubrique VLM de l'interface HTTP, utilisez l'url qui suit: http://hôte:port/vlm.html (http://host:port/vlm/ pour VLC 0.8.4 et les versions antérieures). Eléments de VLM Médias Un média (media) est constitué par une list d'entrée (les flux audio et vidéo que vous voulez diffuser), une sortie (où et comment vous voulez les diffusez) et quelques options. Il y a deux types de médias: vod: Un média VoD est normalement utilisé pour la Vidéo à la Demande. Il sera démarré uniquement si un client VoD demande le média. broadcast: Un média broadcast est très similaire à un programme ou une chaîne de TV. Il est démarré, arrêté ou mis en pause par l'administrateur et peut être répété plusieurs fois. Le client n'a aucun contrôle sur un média de ce type.

Programmes Un programme (schedule en anglais) est un script avec une date. Quand la date du programme est atteinte, le script est démarré. Plusieurs options sont disponibles, telles que la période ou le nombre de répétitions. Syntaxe de la ligne de commande Lignes de commande help : Affiche la liste exhaustive des commandes new (nom) vod broadcast schedule [propriétés] : Crée un nouvel élément de type vod, broadcast ou schedule. Les noms des éléments doivent être uniques. Les noms "media" et "schedule" sont interdits. Vous pouvez spécifier des propriétés dans cette ligne de commande, ou, plus tard, avec la commande setup. setup (nom) (propriété) : Définit une propriété d'un élément (cf. Propriétés des médias). show [(nom) media schedule] : Affiche le statut et la configuration de l'élément. o show (nom) - Affiche toutes les informations concernant l'élément spécifié. o show media affiche un résumé des statuts des médias. o show schedule affiche un résumé de l'état des programmes. del (name) all media schedule : Supprime un élément ou un groupe d'éléments. Si l'élément n'était pas à l'arrêt, il est interrompu avant d'être supprimé. o del (nom) - Supprime l'élément (nom) o del all - Supprime tous les éléments o del media - Supprime tous les éléments de type média. o del schedule - Supprime tous les éléments de type programme control (nom) [nom_instance] (command) : Modifie l'état de l'instance (nom_instance) du média (nom). Si (nom_instance) n'est pas précisé, la commande de contrôle affecte l'instance par défaut (cf Commandes de contrôle pour les commandes de contrôle disponibles). save (fichier_config) : Sauvegarde les configurations de tous les médias et programmes dans le fichier de configuration spécifié. Le chemin d'accès du fichier est relatif au répertoire dans lequel VLC a été démarré. Si le fichier existe, il sera écrasé. z que les états, tels que en lecture, en pause ou à l'arrêt, ne sont pas sauvegardés. Voir Fichiers de configuration pour plus d'informations. load (fichier_config) : Charge une fichier de configuration. Le chemin d'accès au fichier est relatif au répertoire depuis lequel VLC a été démarré. Voir Fichiers de configuration pour plus d'informations. Propriétés des médias A l'exception de la propriété "append", toutes les propriétés peuvent suivies par une autre. input (nom_entrée) : Ajoute une entrée à la fin de la liste des entrée du média. output (nom_sortie) : Définit la sortie du média. La syntaxe est la mêle que celle de l'option ":sout=..." de VLC, toutefois, vous n'avez pas besoin d'indiquer ":sout=...". Voir Utilisation avancée du flux de sortie en ligne de commande pour plus d'informations concernant les flux de sortie (sout). Vous n'avez pas besoin de préciser une sortie pour les éléments vod.