Commit c3dcf78a authored by Alexis de Lattre's avatar Alexis de Lattre

Removed the VLS user guide from the VLS CVS repository. It is now in the

"www.videolan.org/doc/" CVS repository and in Docbook XML.
parent 2d03186d
......@@ -6,6 +6,13 @@
* src/modules/localinput: added DVD title and chapter selection
* src/core/parsers.cpp: fix the multicast addresses range in the command
line parsing
* VLS user guide moved to the "www.videolan.org/doc" CVS branch (and
converted in DocBook XML)
0.5.3
* localinput.cpp: add the ability to choose the DVD chapter and title
* parser.cpp: fix the multicast IP addresses range for automatic detection
in command line parsing
0.5.2
* configure.in: fix a bug in DVB configuration when driver headers are not
......
......@@ -2,7 +2,7 @@
# vls (VideoLAN Server) main Makefile
#-------------------------------------------------------------------------------
# (c)1999-2001 VideoLAN
# $Id: Makefile,v 1.107 2003/06/02 19:50:35 jpsaman Exp $
# $Id: Makefile,v 1.108 2003/06/09 22:56:19 alexis Exp $
################################################################################
......@@ -282,7 +282,6 @@ dist:
find src/modules -type f -name Makefile | while read i ; \
do cp $$i tmp/vls/$$i ; done
# Copy documentation
cp doc/Makefile doc/vls-guide.sgml tmp/vls/doc
for file in doc/developer/*.sgml doc/developer/*.dia \
doc/developer/*.eps doc/developer/*.jpg \
doc/developer/*.dsl doc/developer/*.sda ; \
......
AUTHORS
README
TODO
doc/vls-guide.sgml
html:
sgml2html vls-guide.sgml
pdf:
sgml2latex vls-guide.sgml
pdflatex vls-guide.tex
clean:
rm -f *.pdf *.tex *.html *.log *.aux *.toc *.out
<!DOCTYPE linuxdoc system>
<article>
<title>VideoLAN Server User's Guide</title>
<author>written and maintained by Cyril Deguet <htmlurl
url="mailto:asmax@via.ecp.fr" name="&lt;asmax@via.ecp.fr&gt;">
<date>
$Id: vls-guide.sgml,v 1.28 2003/06/02 19:50:35 jpsaman Exp $
</date>
<abstract>
This document describes how to install, configure, and run the VideoLAN Server
(vls).
</abstract>
<toc>
<sect>Introduction
<sect1>What is the VideoLAN project ?
<p>
VideoLAN is a complete software solution for video streaming, developed
by students at the <htmlurl url="http://www.ecp.fr" name="Ecole Centrale
Paris"> and contributors from all over the world, under the <htmlurl
url="http://www.gnu.org/copyleft/gpl.html" name="General Public License
(GPL)">. It has been designed for streaming MPEG 1 and MPEG 2 videos on
local area networks (LAN), but it can be extended to metropolitan or
wide area networks (MAN, WAN), thanks to the multicast technology.
The VideoLAN solution includes a server, which can stream video from
various sources (file, DVD, satellite and MPEG 2 encoder), a client, which can
receive, decode and display MPEG 1 and MPEG 2 streams and, if necessary,
a channel server which tells automatically to the client the parameters
needed to receive the stream.
Here is an illustration of the complete VideoLAN solution :
<verb>
DVD --->- Unicast/Broadcast/Multicast
\ ---
File --->-- -------- / \ --------
|->-| Server |=====>====| LAN |---->-----| Client |
Satellite ->-- | (VLS) | \ / | (VLC) |
/ -------- --- --------
MPEG2 -->- ^
encoder |
v
----------------
| Channel Server |
| (VLCS) |
----------------
</verb>
More details about the project can be found on the
<htmlurl url="http://www.videolan.org" name="VideoLAN Web site">.
</sect1>
<sect1>Legal notice
<p>
Copyright (©) 2002 by the VideoLAN project.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version
1.1 or any later version published by the Free Software Foundation ;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts. The text of the license can be found on <htmlurl
url="http://www.gnu.org/copyleft/fdl.html">.
</sect1>
<sect1>The documentation of the project
<p>
There are four main documents :
<itemize>
<item>the <htmlurl
url="http://www.videolan.org/doc/videolan-quickstart/videolan-quickstart.html"
name="VideoLAN Quickstart">,
<item>the <htmlurl url="http://www.videolan.org/doc/videolan-howto-old/videolan-howto.html"
name="VideoLAN HOWTO">,
<item>this VideoLAN Server user guide,
<item>the <htmlurl url="http://www.videolan.org/doc/vlc-old/doc/vlc-howto.html"
name="VLC HOWTO">.
</itemize>
The up-to-date version of these documents can be found on the <htmlurl
url="http://www.videolan.org/doc" name="VideoLAN Web site">.
</sect1>
<sect1>What is the VideoLAN server (vls) ?
<p>
The VideoLAN Server (<tt/vls/) can read videos from :
<itemize>
<item>an MPEG 1 or MPEG 2 file stored on a hard drive or on a CD,
<item>a DVD located in a local DVD drive or copied on a hard drive,
<item>a satellite card,
<item>an MPEG encoding card ;
</itemize>
and stream it on the network in MPEG2-TS format to :
<itemize>
<item>one machine (i.e. to one IP address) : this is called <bf>unicast</bf> ;
<item>all the machines of a subnet (i.e. to a broadcast IP address) :
this is called <bf>broadcast</bf> ;
<item>a dynamic group of machines that the clients can join
or leave (i.e. to a multicast IP address) : this is called
<bf>multicast</bf>.
</itemize>
</sect1>
<sect1>Requirements
<sect2>Operating System
<p>
The VideoLAN Server is supposed to work under any Unix-like operating system.
A Windows port exists since version 0.3.3, but at the moment it can only
stream files stored an a disk (Video, DVB and DVD inputs are not supported
yet)
</sect2>
<sect2>Software requirements
<p>
You will need <htmlurl url="http://www.dtek.chalmers.se/groups/dvd/downloads.shtml" name="libdvdread"> if you want to stream DVDs with vls, and
<htmlurl url="http://www.videolan.org/libdvdcss/" name="libdvdcss"> for reading
encrypted DVDs.
<p>
DVB support requires <htmlurl url="http://www.videolan.org/libdvbpsi/" name="libdvbpsi"> and the DVB drivers installed.
</sect2>
<sect2>Hardware requirements
<p>
Vls is a very light software and needs few ressources. A Pentium 100 MHz
with 32 MB of memory should be enough for broadcasting one stream (then it
takes about 50% of CPU time). On my Pentium III 800 MHz, I can broadcast
more than 5 streams and vls eats less than 1% of CPU ! When broadcasting a
lot of streams stored on a hard disk, the actual limitation is not the
processor but the disk (especially when using IDE disks).
</sect2>
</sect1>
<sect1>Contact us
<p>
If you have any questions about the VideoLAN Server, you can contact us
at the mailing-list <htmlurl url="mailto:streaming@videolan.org"
name="streaming@videolan.org">
</sect1>
</sect>
<sect>Installation
<sect1>Getting vls
<p>
You can get tarballs and binary packages (Debian packages,
RPMs and Windows) for the VideoLAN Server at the vls <htmlurl
url="http://www.videolan.org/streaming/download.html" name="download"> page.
If you can't find binaries for your operating system, you will have to
download the source code (tarball) and build vls by hand (but don't
worry, it is very easy ;-)
To install the Debian package, you can type something like:
<tscreen><verb>
# dpkg -i vls_0.3.3-1_i386.deb
</verb></tscreen>
Under Windows, just extract the zip archive (vls_0.3.3-win.zip for
instance) in a directory.
If you have downloaded the source tarball, uncompress it with:
<tscreen><verb>
# tar xvzf vls-0.3.3.tar.gz
</verb></tscreen>
You can also get the source code through CVS, with the following commands:
<tscreen><verb>
# export CVSROOT=:pserver:anonymous@cvs.videolan.org:/cvs/videolan
# cvs login
[there is no password, just press enter]
# cvs checkout vls
# cvs logout
</verb></tscreen>
</sect1>
<sect1>Compiling vls (under Unix/Linux)
<p>
The VideoLAN Server uses the GNU configure and build system. It means that
you will need the standard GNU utilities, such as make, gcc, ld, and so
on...
<sect2>Configuration
<p>
The first step is to create the <tt/Makefile/ thanks to the <tt/configure/
script. For a basic configuration, juste run:
<tscreen><verb>
# ./configure
</verb></tscreen>
You can supply several options to <tt/configure/, to change the installation
directories, for instance. Run <tt>./configure --help</tt> to get a list of
all options available. Here is an explanation of vls-specific options:
<tscreen>
<verb>--with-words=(big|little)</verb>
<tscreen>Specify endianness when cross-compiling. Don't use this option if
you don't know what it means !
</tscreen>
</tscreen>
<tscreen>
<verb>--disable-debug</verb>
<tscreen>Disable debug mode (enabled by default).
</tscreen>
</tscreen>
<tscreen>
<verb>--disable-syslog</verb>
<tscreen>Disable the logging to syslogd (enabled by default).
</tscreen>
</tscreen>
<tscreen>
<verb>--disable-syslog</verb>
<tscreen>Disable the logging to syslogd (enabled by default).
</tscreen>
</tscreen>
<tscreen>
<verb>--disable-daemon</verb>
<tscreen>Run as Unix/Linux daemon process, --enable-syslog is required (enabled by default).
Start application vlsd (instead of vls) to run as daemon process.
</tscreen>
</tscreen>
<tscreen>
<verb>--enable-profiling</verb>
<tscreen>Generate extra code to write profile information suitable for the
analysis program gprof.
</tscreen>
</tscreen>
<tscreen>
<verb>--disable-dvd</verb>
<tscreen>Disable DVD support (enabled by default). You must supply this
option if you don't have libdvdread installed.
</tscreen>
</tscreen>
<tscreen>
<verb>--enable-dvb</verb>
<tscreen>Enable DVB support (disabled by default).
</tscreen>
</tscreen>
<tscreen>
<verb>--with-dvb=[PATH]</verb>
<tscreen>Enable DVB support and specify where to get the DVB driver header
files.
</tscreen>
</tscreen>
</sect2>
<sect2>Building
<p>
To compile and link vls, just type:
<tscreen><verb>
# make
</verb></tscreen>
Afterwards, there should be a binary called <tt/vls/ in the <tt/bin/
subdirectory. There sould be also a library called <tt/dvdreader.so/, if you
enabled DVD support.
</sect2>
</sect1>
<sect1>Installing vls (under Unix/Linux)
<p>
To install vls files, run
<tscreen><verb>
# make install
</verb></tscreen>
If you haven't changed the install directories with <tt/configure/ options
(<tt/--prefix=DIR/ for instance), these directories are:
<itemize>
<item><tt>/usr/local/bin</tt> for binary files (<tt/vls/)
<item><tt>/usr/local/lib/videolan/vls</tt> for plugins (<tt/dvdreader.so/)
<item><tt>/usr/local/etc/videolan/vls</tt> for configuration file
(<tt/vls.cfg/)
</itemize>
</sect1>
<sect1>Uninstalling vls (under Unix/Linux)
<p>
To uninstall vls binary and config files, just run:
<tscreen><verb>
# make uninstall
</verb></tscreen>
</sect1>
<sect>Overview and basic concepts
<sect1>Vls structure
<p>
From a user's point of view, the VideoLAN Server can be divided into four
kinds of components: a <tt/manager/, <tt/inputs/, <tt/converters/, and
<tt/channels/.
<verb>
File, --------- ------------- ----------- Network,
DVD, --> | INPUT |---->| CONVERTER |---->| CHANNEL |--> File,
... --------- ------------- ----------- ...
\ ----------- /
----------| MANAGER |----------
-----------
^
|
Administration Interface
</verb>
<sect2>Input
<p>
The role of an <tt/input/ is to read MPEG streams from a given source
(file, DVD, device, ...), and feed the right <tt/converters/ with these
streams. An input may be able to read several streams, which are called
<tt/programs/. There are currently two kinds of inputs: the <tt/local input/,
which can read videos from files or DVDs, and the <tt/video input/, which has
been designed for reading streams from Video4Linux devices (/dev/video) able
to produce MPEG streams. Both inputs are able to read MPEG1 or MPEG2 streams,
either in PS or TS format. Of course, you can use several inputs and play
several programs at the same time.
</sect2>
<sect2>Converter
<p>
The role of a <tt/converter/ is to receive a stream from an input,
and convert it into the MPEG-TS format. If you don't know what PS or TS
are, here is some explanation. When you play a MPEG video from a DVD, for
instance, the MPEG stream is actually composed of several streams (called
Elementary Streams): there is one stream for video, one for audio, another
for subtitles, and so on. These different streams are mixed together into
a single Program Stream (PS). So, the .VOB files you can find in a DVD are
actually MPEG2-PS files. But this PS format is not adapted for broadcasting
video through a network or by satellite, for instance. So, another format
called Transport Stream (TS) was designed for broadcasting MPEG videos
through such channels. The VideoLAN Server is able to convert PS streams
(from DVDs, for instance) into TS streams (ps2ts converter). Of course, it
can also read TS streams, and fix them by handling stream discontinuities
(ts2ts converter).
</sect2>
<sect2>Channel
<p>
A <tt/channel/ receives a stream from a converter, and send it to a given
destination (network, file, ...). If you want, you can call a "channel" an
"output": it is the same thing ;-). Currently, two kinds of channels are
supported: <tt/network/ and <tt/file/. Note that, at the moment, the VideoLAN
Server can support only one output per stream, so you cannot play a stream on
the network and write it into a file at the same time. The network output
is highly configurable: you can choose which network interface you want to
use, and specify source and destination IP addresses. Of course, all that
becomes very interesting when your destination is a broadcast or multicast
address !
</sect2>
<sect2>Manager
<p>
The <tt/manager/ controls the way streams are broadcasted. Through an
<tt/administration interface/, you can tell the manager to start, stop,
suspend, resume, forward or rewind the different programs. You can also get
a list of all programs available in the Program Table. The manager gets this
table from the vls configuration file (<tt/vls.cfg/), so it cannot be changed
once vls has been started. At the moment, you cannot ask the manager whether a
given stream is being broadcasted, but you will get an error message if you try
to stop a stream that was not broadcasted.
</sect2>
</sect1>
<sect1>Administration interface
<p>
There are currently two ways to launch the streaming:
1. You can use the <tt/command line/ to give arguments at startup
2. You can use the <tt/telnet interface/ to start/stop/pause the streaming whenever you want.
A GTK interface is also to be written.
When using the telnet Interface, you must authenticate before typing any command, because any user may not be allowed to execute any command. (This can be configured in the <tt/vls.cfg/ configuration file).
</sect1>
</sect>
<sect>Configuration
<label id="config">
<p>
The VideoLAN Server reads its configuration from <tt/vls.cfg/, which is
supposed to be located in the current directory or in
<tt>SYSCONF_DIR/videolan/vls</tt> (where SYSCONF_DIR is <tt>/usr/local/etc</tt>
if you built and installed vls by hand, or is <tt>/etc</tt> if you installed
the debian binary package).
Be careful: the syntax of the configuration files changed between version
0.3.1 and 0.3.2 !
To write a <tt/vls.cfg/, just copy/paste the example <tt/vls.cfg/ supplied
with vls ;-)
If it is not enough for you, here are the full details:
<sect1>General structure
<p>
The VideoLAN Server configuration file <tt/vls.cfg/ is divided into sections,
and each section may contain several variables:
<tscreen><verb>
BEGIN "FirstSection"
Variable1 = "value1"
Variable2 = "value2"
[...]
END
BEGIN "SecondSection"
Variable1 = "value1"
Variable3 = "value3"
[...]
END
[...]
</verb></tscreen>
All section names, variable names and values are not case-sensitive.
There can be empty sections and subsections. Comments must follow a #
character. Some variables have a default value; it means that you can ommit
to declare these variables, and then they will be given their default value.
</sect1>
<sect1>Writing a <tt/vls.cfg/
<p>
Here is an explanation of all the sections you can find in a <tt/vls.cfg/:
<sect2>Section "Vls"
<p>
This section contains application wide settings.
<tscreen>
<verb>LogFile = "name"</verb>
<tscreen>
Name of vls log file. If left empty "", then no loggin to files is done. Default is "vls.log"
</tscreen>
<verb>SystemLog = "[disable|enable]"</verb>
<tscreen>
Logging to the SystemLog. Today, only the SystemLog using syslogd is
implemented : compile with ./configure --enable-syslog. If VideoLAN Server is started as vlsd,
then the following configuration is mandatory:
<tscreen><verb>
BEGIN "Vls"
LogFile = ""
SystemLog = "enabled" # only logging to syslogd when running in daemon mode!
ScreenLog = "disabled"
END
</verb></tscreen>
</tscreen>
<verb>ScreenLog = "[disable|enable]"</verb>
<tscreen>
Logging to the console.
</tscreen>
</tscreen>
Example:
<tscreen><verb>
BEGIN "Vls"
LogFile = "vls.log"
SystemLog = "disable"
ScreenLog = "enable"
END
</verb></tscreen>
</sect2>
<sect2>Section "Groups"
<p>
In this section, you can define some groups of users, and which commands
these users are allowed to execute. For each group you want to define,
you must add a line in the following format:
<tscreen>
<verb>groupname = "command1|command2|..."</verb>
<tscreen>
This adds a group "groupname", the users of which are allowed to execute
command1, command2, and so on. At the moment, the available commands are:
help, browse, start, suspend, resume, forward, rewind, stop, shutdown, logout.
</tscreen>
</tscreen>
Example:
<tscreen><verb>
BEGIN "Groups"
monitor = "help|browse|logout"
master = "help|browse|start|resume|suspend|forward|rewind|stop|shutdown|logout"
END
</verb></tscreen>
</sect2>
<sect2>Section "Users"
<p>
This section contains a list of users allowed to control vls through an
administration interface. For each user, add a line in the following format:
<tscreen>
<verb>username = "password:groupname"</verb>
<tscreen>
This adds a user "username", who belongs to the group "groupname" (defined
in the "Groups" section) and can log in with the password "password".
BE CAREFUL: the password must be encrypted, with a tool such as
<tt/mkpasswd/, or with the UNIX function "crypt".
</tscreen>
</tscreen>
Example:
<tscreen><verb>
BEGIN "Users"
monitor = "3BcKWoiQn0vi6:monitor" # password is 'monitor'
admin = "42BKiCguFAL/c:master" # password is 'Vir4Gv5S'
END
</verb></tscreen>
</sect2>
<sect2>Section "Telnet"
<p>
In this section, you can configure the telnet administration interface.
<tscreen>
<verb>LocalPort = "port"</verb>
<tscreen>
Defines which port will be used for the telnet server. Default port is
"9999".
</tscreen>
</tscreen>
<tscreen>
<verb>Domain = "domain"</verb>
<tscreen>
Either "inet4" or "inet6" (default is "inet4"). If you want to use IPv4
addresses, put "inet4", and if you want to use IPv6, put "inet6".
</tscreen>
</tscreen>
<tscreen>
<verb>LocalAddress = "IP address"</verb>
<tscreen>
Defines on which IP address the telnet server will listen for requests.
Default address is "0.0.0.0" (or "0::0" with IPv6)
</tscreen>
</tscreen>
Example:
<tscreen><verb>
BEGIN "Telnet"
LocalPort = "9999"
END
</verb></tscreen>
</sect2>
<sect2>Section "NativeAdmin"
<p>
Same syntax as "Telnet". Not used yet.
</sect2>
<sect2>Section "Inputs"
<p>
In this section, you can define which inputs you want to use. For each input
you need, add a line in the following format:
<tscreen>
<verb>InputName = "Type"</verb>
<tscreen>
This adds a input named "InputName", the type of which is "Type". As
explained before, there are currently two types of input: "local",
"video" and "dvb". You must use the "local" input to play a stream
from a file or a DVD, the "video" input to play a stream from a
Video4Linux device, and the "dvb" input to play a stream from a DVB
receiver like Win-TV Nova. Each input must be configured in its
own section (see next paragraph).
</tscreen>
</tscreen>
Example:
<tscreen><verb>
BEGIN "Inputs"
local1 = "local"
kfir = "video"
END
</verb></tscreen>
</sect2>
<sect2>Inputs configuration
<p>
For each input declared in the "Inputs" section, excepted "local" inputs", you
must add a section with the same name as the corresponding input. For instance, if you declared an input "kfir", there should be one section named "kfir" too.
The syntax of such sections depends on the type of the corresponding input.
To configure a local input, you don't have to do anything. Except when another trickplay strategy
must be used:
<tscreen>
<verb>
BEGIN "Local1"
ProgramCount = "1"
TrickPlay = "normal"
END
</verb>
<tscreen>
"Local1" is the name of the local input you want to configure.
"ProgramCount" is the number of programs assigned to this input. "TrickPlay" is the
trickplay strategy that is used by this input (default is "normal").
</tscreen>
</tscreen>
To configure a video input, add a section in the following format:
<tscreen>
<verb>
BEGIN "VideoInputName"
Device = "device"
Type = "type"
END
</verb>
<tscreen>
"VideoInputName" is the name of the video input you want to configure.
"device" is the path of the Video4Linux you want to read from (default
is "/dev/video"). "type" is either "Mpeg2-PS" or "Mpeg2-TS", depending
on your device configuration (default is "Mpeg2-PS").
</tscreen>
</tscreen>
To configure a dvb input, add a section in the following format:
<tscreen>
<verb>
BEGIN "DvbInputName"
DeviceNumber = "devicenumber"
SendMethod = 0
END
</verb>
<tscreen>
"DvbInputName" is the name of the dvb input you want to configure.
Set "SendMethod" to 0 if you to stream the complete DVB stream and set
it to 1 if you only want to stream the MPEG audio and video streams
(default is 0).
"devicenumber" is the number of the DVB device you want to read from
(read from /dev/ost/dvr&lt;devicenumber&gt;, default is "").
The dvb configuration file is defined by the driver. You can find it in
$HOME/.dvbrc for /dev/dvb/adapter0 or in $HOME/.dvbrc.x for
/dev/dvb/adapterx.
</tscreen>
</tscreen>
Example:
<tscreen><verb>
BEGIN "kfir"
Device = "/dev/video"
Type = "Mpeg2-PS"
END
BEGIN "dvb"
DeviceNumber = "0"
TrickPlay = "normal"
END
</verb></tscreen>
</sect2>
<sect2>Section "Channels"
<p>
In this section, you can define the channels (outputs) you want to use.
For each channel you need, add a line in the following format:
<tscreen>
<verb>ChannelName = "Type"</verb>
<tscreen>
This adds a channel named "ChannelName", the type of which is "Type".
"Type" must be either "network" or "file". Like inputs, channels must be
configured in their own section.
</tscreen>
</tscreen>
Example:
<tscreen><verb>
BEGIN "Channels"
localhost = "network"
client1 = "network"
client2 = "network"
multicast = "network"
localfile = "file"
END
</verb></tscreen>
</sect2>
<sect2>Channels configuration
<p>
For each channel declared in the "Channels" section, you must add a section
with the same name as the corresponding channel. The syntax of such a section
depends on the type of the corresponding channel.
To configure a network channel, add a section in the following format:
<tscreen>
<verb>
BEGIN "NetChannelName"
SrcHost = "SourceHost"
SrcPort = "SourcePort"
DstHost = "DestHost"
DstPort = "DestPort"
Type = "Type"
TTL = "ttl"
Domain = "Domain"
Interface = "Interface"
END
</verb>
<tscreen>
"NetChannelName" is the name of the network channel you want to configure.
"SourceHost" is the IP address (or DNS name) from which vls will send
the stream. "SourcePort" is the UDP port from which the stream will be sent.
"SrcHost" and "SrcPort" are optional (if you don't set them, vls will not
'bind' the socket).
"DestHost" is the IP address (or DNS name) to which the stream will be sent.
"DestPort" is the UDP port to which the stream will be sent (default is
"1234").
"Type" is either "unicast", "broadcast" or "multicast" (default is
"unicast"), depending on what you want to do (and on your "DstHost" address).
"TTL" is an option useful only if "Type" is "multicast" (default value is
"0"). You can use it to increase the TTL of your multicast packets if they
have to cross several routers.
"Domain" is either "inet4" if you use IPv4 addresses, or "inet6" if you use
IPv6 (default is "inet4").
"Interface" is an option only supported under linux, to force the stream to
be broadcasted through a given network interface, "eth1" for instance" (to
use this option, you must have super-user permissions).
</tscreen>
</tscreen>
To configure a file channel, add a section in the following format:
<tscreen>
<verb>
BEGIN "FileChannelName"
FileName = "file"
Append = "append"
END
</verb>
<tscreen>
"FileChannelName" is the name of the file channel you want to configure.
"file" is the name of the file where the stream will be stored (default