[streaming] Re: Interview request from StreamingMedia.com
Antoine Cellerier
dionoea at via.ecp.fr
Thu Dec 9 18:53:59 CET 2004
Hello,
On Tue, Dec 07, 2004, Geoff Daily wrote:
> Antoine,
>
> Sorry for the delay in getting you these questions. Here they are:
>
> To start with, why don't you give me a brief history of the VideoLAN
> project. When and where did it start? What was the driving force behind
> this project? What's its current status in terms of global involvement?
> How many and what types of people are helping make it a reality? Are
> there any companies, rather than just individuals, who are involved in
> its development?
The project started in 1996 on the campus of the Ecole Centrale
Paris (http://www.ecp.fr). The students managing the campus' network
(http://www.via.ecp.fr) wanted to upgrade their network and thus began
to investigate MPEG2 streaming. The idea was to broadcast television
programs so that students could watch TV in their rooms without having
to actualy buy a TV.
The VideoLAN team's member started writing a custom client-server
solution that would work part of the time by the end of 1997. As the
next year came by, new project mebers started writting the VideoLAN
Client (VLC) and the VideoLAN Server (VLS). These were designed so they
could easily be open-sourced. The supported operating systems were Linux
BeOS, MacOS X and Solaris. The first large scale tests began in November
1999. At that time network input was the only possibilty for VLC. DVD
support was added in 2000.
The real opening of this project occured in 2001 when the director of
the Ecole Centrale Paris decided to place all VideoLAN software under
the GNU General Public Licence. From that date on, contributors from all
arround the world started working on the project. The windows port was
first released in June 2001. Ever since, new functionalities have been
added on a daily (almost) basis.
About 40 persons have significantly contributed to VLC. These persons
come frome 9 countries. About 10 developers are currently active.
Several contributors work on VLC as part of their payed jobs.
> Describe the functionality built into the VLC player. How is it that
> this one application can act as both a media player and a streaming
> server? What features does it offer?
As we have seen in the history, VLC was first designed to be the client
part of the VideoLAN architecture. But VLS didn't have VLC's
complex access/demux architecture. (It could only remux MPEG PS to MPEG
TS and stream MPEG TS). Implementing streaming in VLC was thus seen as
the right alternative to adding loads of code to VLS.
VLC's streaming abilities are now more complete than VLS'. (VLS
developement has stopped for more than a year and we are moving to a VLC
only architecture.) Some of VLC's features are:
inputs: File, HTTP/FTP, UDP (unicast and multicast), DVD, DVB(satellite)...
input formats: MPEG, AVI, ASF, MP4, mkv ...
video codecs: MPEG-2, DivX, MPEG-4, H264, Theora, WMV1/2 ...
audio codecs: MPEG Layer 1 and 2, MP3, ac3, Vorbis ...
subtitles
outputs: local, UDP (unicat/multicast), RTP, HTTP, MMSH
VLC also supports many interfaces such as the 'classic' wxWindows
interface, the skinable interface, a telnet interface, an http interface
...
(for more info concerning VLC's features, see
http://www.videolan.org/vlc/features.html and
http://www.videolan.org/streaming/features.html)
It is important to notice that VLC uses its own codecs and is thus very
easy to deploy and to use.
> What equipment do users need to have to use the VLC player as a
> streaming server? How much technical expertise is needed to set it up?
> What are the steps for setting it up?
The server part pretty much depends on what you want to do. I'll take
two exemples that apply to our streaming installations on the Ecole
Centrale campus. If you want to stream a satellite channel or a DVD,
then you're lucky. The video and audio are already compressed. VLC only
takes the data, packages it using a muxer and throws it on the network.
That is not really CPU intensive (some of our servers still use pentium
class processors :) ). On the other hand, if you have a raw video file
that you need to compress on the fly, you'll need more ressources. As an
exemple, real time MPEG-4 transcoding requires a PIII 1.5GHz processor.
VLC is very easy to setup. All simple tasks such as broadcasting video
on a network have been integrated in the graphical user interface.
Advanced features require command line instructions. We are about to
release a whole new documentation concerning VLC's streaming abilities
that will make it even easier to use. I'd say that as long as you know
what you want to achieve, doing it with VLC shouldn't be too hard.
> Do you have any real-world examples of the VLC media player being used
> as a streaming server? How many simultaneous streams can it handle?
Several examples are available.
We use it on the Ecole Centrale campus to stream about 100 TV and radio
channels (300Mbps) to about 1200 computers (using multicast).
French ADSL ISP free (www.free.fr) uses VLC on the server side of their
TV broadcasting service.
VLC ability to stream several different streams is actually quite new
(less than a year old if i recall) and uses a special control interface
called VLM (VideoLAN Manager). We have successfully tested streaming 30
streams.
> Does the VLC media player's streaming server ability differ at all from
> traditional streaming servers? If so, how?
VLC is able to stream using RTP/RTSP. VLC is able to stream everything
it can read.
> What were/are some of the challenges the developers have had to face
> during the construction of the VLC media player? How difficult was it to
> get the player to work on all the major operating systems, as well as
> some of the minor ones? What codecs and streaming protocols can the VLC
> media player input? When used as a streaming server, what protocols and
> codecs can it output?
One of the biggest challange was being able to read many different kinds
of inputs such as files and network streams. VLC's modular architecture
made it very easy to port. The actual VLC core required very little
portablility changes. The hardest part was getting it to work under
windows.
See above for input and output codecs and formats.
> Is VideoLAN working with any other open source projects like the
> Streaming Download Project (http://sdp.ppona.com/)?
We don't work with sdp since we have our own MMS MMSH implementation.
We currently work with the Live.com team to implement RTP/RTSP support.
> What's the next step in the evolution in the VLC media player? Are there
> any other major projects that VideoLAN is currently working on or will
> be working on in the near future?
Some new features are being added such as full Video on Demand RTSP
support, SSL content encryption/decryption, On Screen Display interface
and last but not least we are trying to make VLC user friendly.
All developement is actualy focussed on VLC to make it the best media
player and server available and maybe one day acheive our #1 item on the
ToDo list: World Domination.
> Thank you very much for your time, and I hope to hear from you soon.
Feel free to ask any other question you might have.
Regards,
--
Antoine Cellerier
--
This is the streaming mailing-list, see http://www.videolan.org/streaming/
To unsubscribe, please read http://www.videolan.org/support/lists.html
More information about the streaming
mailing list