At last some documentation and up-to-date license.

parent 262bda3e
# The format of this file was inspired by the Linux kernel CREDITS file.
#
# Authors and contributors are listed alphabetically.
#
# The fields are: name (N), email (E), web-address (W), CVS account login (C),
# PGP key ID and fingerprint (P), description (D), and snail-mail address (S).
N: Arnaud de Bossoreille de Ribou
E: bozo@via.ecp.fr
C: bozo
D: C++ framework (a little bit)
D: Support for AC3/subtitles channels in PS to TS converter
D: Administration architecture
D: Telnet protocol
D: "Native" admin
D: "local" input
N: Benoit Steiner
E: benny@via.ecp.fr
C: benny
D: C++ framework
D: Internal architecture
D: PS to TS converter
D: Telnet protocol
GNU GENERAL PUBLIC LICENSE GNU GENERAL PUBLIC LICENSE
Version 2, June 1991 Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc. Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed. of this license document, but changing it is not allowed.
...@@ -56,7 +55,7 @@ patent must be licensed for everyone's free use or not licensed at all. ...@@ -56,7 +55,7 @@ patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and The precise terms and conditions for copying, distribution and
modification follow. modification follow.
GNU GENERAL PUBLIC LICENSE GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
...@@ -111,7 +110,7 @@ above, provided that you also meet all of these conditions: ...@@ -111,7 +110,7 @@ above, provided that you also meet all of these conditions:
License. (Exception: if the Program itself is interactive but License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on does not normally print such an announcement, your work based on
the Program is not required to print an announcement.) the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program, identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in and can be reasonably considered independent and separate works in
...@@ -169,7 +168,7 @@ access to copy from a designated place, then offering equivalent ...@@ -169,7 +168,7 @@ access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not distribution of the source code, even though third parties are not
compelled to copy the source along with the object code. compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program 4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is otherwise to copy, modify, sublicense or distribute the Program is
...@@ -226,7 +225,7 @@ impose that choice. ...@@ -226,7 +225,7 @@ impose that choice.
This section is intended to make thoroughly clear what is believed to This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License. be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in 8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License original copyright holder who places the Program under this License
...@@ -279,8 +278,8 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE ...@@ -279,8 +278,8 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES. POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it possible use to the public, the best way to achieve this is to make it
...@@ -292,7 +291,7 @@ convey the exclusion of warranty; and each file should have at least ...@@ -292,7 +291,7 @@ convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found. the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.> <one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author> Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
...@@ -306,14 +305,15 @@ the "copyright" line and a pointer to where the full notice is found. ...@@ -306,14 +305,15 @@ the "copyright" line and a pointer to where the full notice is found.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail. Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this If the program is interactive, make it output a short notice like this
when it starts in an interactive mode: when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details. under certain conditions; type `show c' for details.
......
HOWTO file for vls, the VideoLAN Server
Preamble
========
The VideoLAN Server is composed of "inputs" which provide some
"programs" to be streamed in the TS format through a "channel".
Global and channels configuration is in the "vls.cfg" file. Inputs'
configuration is in some separate files.
The configuration files are divided into sections like this:
BEGIN "<SectionName>"
<SettingName> = "<SettingValue>"
END
You can add some comments after a '#' which must be outside of the
quotation marks if there are some. Quotation marks are mandatory for
the section's name and the setting's value.
How to configure the vls (vls.cfg) ?
====================================
Main settings
-------------
The first section is "Vls". You can specify an alternate log file
(default is "vls.cfg") with a "LogFile" setting like this:
LogFile = "<vls-alternate.log>"
The two next sections are used for authentification and permissions.
The are called "Groups" and "Users".
In the first one you can specify which commands are available for
which group. The syntax is :
<GroupName> = "<cmd1>|<cmd2>|..."
List of the commands :
- help
- browse
- start
- resume
- suspend
- stop
- shutdown
- logout
In the second section you can specify users' information. The syntax
is :
<UserName> = "<EncryptedPassword>:<Group>"
Each user belongs to one and only one group.
Administration settings
-----------------------
The two next sections are "Telnet" and "NativeAdmin". For each of them
you can specify a local TCP port to use to accept connections. Telnet's
default port is 9999, NativeAdmin's is 9998. The syntax is :
LocalPort = "<TcpPortToUse>"
How to configure Channels ?
===========================
Channels are declared in the vls.cfg section "Channels". The syntax
is :
<ChannelName> = "<ChannelType>"
At the moment the only channel type available is "network".
Channel's settings are defined in a section whose name is the channel's
name.
Network channel
---------------
The settings for this kind of channel are :
- "SrcHost" : host used to bind the socket;
- "SrcPort" : TCP port used to bind the socket;
- "DstHost" : host used to connect the socket;
- "DstPort" : TCP port used to connect the socket;
- "Interface" : interface to route the IP packets through.
Hosts could be DNS names or IP addresses.
The "Interface" setting is only supported under Linux. It's mainly
useful when you have multiple interfaces connected to the same network.
You must have super-user permissions to use this option. If not you
won't be able to use the channel.
How to configure Inputs ?
=========================
First: Input are declared in the vls.cfg section "Inputs". The syntax
is :
<InputName> = "<InputType>"
At the moment the only input type available is "local".
Local input
-----------
This kind of input has been designed to read local Mpeg streams (files,
DVDs...) and to broadcast them in the Mpeg2 TS (Transport stream)
format.
To configure a local input you have to specify a path to a
configuration file named "input.cfg" like this :
BEGIN "<InputName>"
ConfigPath = "<Path>"
END
The config file is "<Path>/input.cfg".
Its syntax is like vls.cfg. The first section is "Input" where you must
set up the "FilesPath" and "PgrmCount" settings. The first one is
the location of files, the second is the number of programs.
BEGIN "Input"
FilesPath = "<PathToFiles>"
PgrmCount = "<N>"
END
Then you must configure each program in a section whose name is the
program number (from "1" to "PgrmCount"). The syntax is :
BEGIN "<PgrmNumber>"
Name = "Dolby_Game.vob"
<AdditionnalSetting> = "<Value>"
Type = "Mpeg2-PS"
END
The "Name" setting is the name used to identify the program. The "Type"
setting could be :
- Mpeg1PS (file) : not yet supported (the converter doesn't work);
- Mpeg2PS (file) : supported;
- Mpeg2TS (file) : supported;
- Dvd (device) : not yet supported (TODO list);
When the program is a file you must add a "FileName" setting. The file
used is "<FilesPath>/<FileName>".
When the program's type is "Dvd" you must add a "Device" setting
("/dev/dvd" for example). The "FilesPath" is _not_ prepended to the
device's name.
IMPORTANT : DVD is _NOT_ yet supported.
How to use the VideoLAN Server ?
================================
When you connect to the telnet port (9999 is the default) you have to
authentificate yourself (users are configured in vls.cfg). Once done
you can type commands. To have a list of available commands type
"help". "help <command>" gives you details. Be carefull: you may not
have the permission to run some of the commands.
Happy streaming.
INSTALL file for vls, the VideoLAN Server
Configuring VideoLAN
====================
At the moment you have to edit Makefile.opts to choose the
architecture you're working on and enable/disable debug.
Note: the flag -DBUGGY_VLC changes the behaviour of the server when
the client shutdowns/crashes (like vlc) (just a little troll :)
Building VideoLAN
=================
Once configured, run `make' to build vlc.
Installing and running VideoLAN
===============================
At the moment you can't install the vls and its plugins. The vls is run
directly in the bin directory.
- change to the bin directory;
- edit a vls.cfg file, there is an example in the root directory.
Read the HOWTO file to know how to configure the server;
- set LD_LIBRARY_PATH to the bin directory ("." works);
- launch with "./vls".
README for vls, the VideoLAN Server
Introduction
============
The vls is part of the VideoLAN project, a full MPEG2 client/server
solution. The VideoLAN Server aims at broadcasting MPEG (1/2, PS/TS)
video streams over any IP network.
Building, Installing and Running VideoLAN
=========================================
See the INSTALL file for this.
Troubleshooting
===============
A mailing-list has been set up for support and discussion about the
vls. Its address is :
<vls@videolan.org>
To subscribe, send a mail to <listar@videolan.org> with the following
words in the mail body :
subscribe vls
To unsubscribe, do the same with the words :
unsubscribe vls
A mailing-list has been set up for development stuff about vls. Its
address is :
<vls-devel@videolan.org>
To subscribe, send a mail to <listar@videolan.org> with the following
words in the mail body :
subscribe vls-devel
To unsubscribe, do the same with the words :
unsubscribe vls-devel
When reporting bugs, try to be as precise as possible (which OS, which
distribution, and so on).
Resources
=========
The VideoLAN web site at http://www.videolan.org/ is a good start for
information about MPEG and DVD playing. Have a look at the documentation
section, as well as the bookmarks.
You can also try the OpenDVD site at http://www.opendvd.org/ or the
the LiViD project at http://www.linuxvideo.org/. They have lots of
information, too.
The team
========
See the AUTHORS file for a list of the vlc authors and contributors.
The following teachers were involved in the VideoLAN project :
Pierre Lecoy, teacher-cum-researcher at ECP,
Philippe Boutin, head of the LMI (MicroComputing Laboratory).
The following students were members of the VideoLAN team :
1996-1997:
Pierre Almeras <almeras@via.ecp.fr>
Christophe Arnaud <christophe.arnaud@tps.fr>
Antoine Brenner <brenner@via.ecp.fr>
Rgis Duchesne <regis@via.ecp.fr>
Alexandre Francois <francois@via.ecp.fr>
Christian Gross <gross@via.ecp.fr>
Hugo Haas <hugo@via.ecp.fr>
Mikael Journo <mj32@cornell.edu>
Michel Lespinasse <walken@zoy.org>
Christophe Ulses <mowgli@laotseu.via.ecp.fr>
Pierre Vandecasteele <pabv2@hermes.cam.ac.uk>
Guillaume Vergnaud <vergnaud@via.ecp.fr>
1997-1998:
Olivier Baxa <oli@via.ecp.fr>
Patrice Bazerque <patrice.bazerque@via.ecp.fr>
Arnaud Bienvenu <arnaud.bienvenu@via.ecp.fr>
Rgis Clment <clement@via.ecp.fr>
Alexandre Duret <alex@via.ecp.fr>
Eric Estievenart <eric@via.ecp.fr>
Sbastien Kurz <seb@tao.via.ecp.fr>
Olivier Pomel <pomel@via.ecp.fr>
1998-1999:
Pierre Baillet <octplane@via.ecp.fr>
Alban Fonrouge <alban@via.ecp.fr>
Jean-Philippe Grimaldi <jeanphi@via.ecp.fr>
Andres Krapf <dae@via.ecp.fr>
Christophe Massiot <massiot@via.ecp.fr>
Mathieu Poumeyrol <kaliban@via.ecp.fr>
Etienne Roy <etienne@via.ecp.fr>
Vincent Seguin <seguin@via.ecp.fr>
Benoit Steiner <benny@via.ecp.fr>
1999-2000:
Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr>
Jean-Marc Dressler <polux@via.ecp.fr>
Gal Hendryckx <jimmy@via.ecp.fr>
Samuel Hocevar <sam@zoy.org>
Brieuc Jeunhomme <bbp@via.ecp.fr>
Michel Kaempf <maxx@via.ecp.fr>
Florent Rougon <flo@via.ecp.fr>
2000-2001:
Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr>
Stphane Borel <stef@via.ecp.fr>
Renaud Dartus <reno@via.ecp.fr>
Henri Fallon <henri@via.ecp.fr>
Jean-Michel Grimaldi <jm@via.ecp.fr>
Samuel Hocevar <sam@zoy.org>
Damien Lucas <nitrox@via.ecp.fr>
Rmi Peyronnet <remi@via.ecp.fr>
Laurent Rossier <gunther@via.ecp.fr>
vls (VideoLAN server)
Copyright (C) 1999-2000 VideoLAN
videolan@via.ecp.fr
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 or later
as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Overview
--------
The aim of this program is to broadcast MPEG2 TS video streams over any
IP network.
The server can get its streams from various sources. At that time, only
regular TS files can be used as source. But it is also planned that
satellite receiver PCI cards and VOD servers will be supported soon. Those
sources will be piloted through vendor specific APIs.
Architecture
------------
To write :)
How To
------
To write too :)
Provide the vls with a graphical user interface (web or gtk ?)
Change the management of the fileinput program table:
- Filtering on the file extensions
- Smart program names
- Update of the program table when a file is added or removed
Parse the command line in addition of the configuration file
A lot of debugging, the vls is being completey rewritten so a lot of
malicious bugs may appear in the code
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment