[matroska-devel] matroska streaming server, was : I will clean the matroska developers list soon - point of discussion
Christian HJ Wiesner
chris at matroska.org
Mon Apr 7 14:38:52 CEST 2003
i was talking to robux4 on IRC.corecodec.com #matroska this afternoon,
and he said he will write you a more detailled technical reply tonight
if ever possible, but to give you a first overview here some important
things on streaming server :
1. our partner project developers from TCMP ( The Core Media Player )
have to be heard on this issue, as they will push matroska as streaming
solution with their Mediaplayer ( about 100,000 downloads now since
beginning of February, http://corecoded.com ), that means they can
probably give very valuable input on how to make it as they had plans to
do it with OGM. I copied their list ( tcmp-devel at freelists.org ) on this
email, lets see if we get any response, otherwise i recommend you just
send your questions to the matroska-devel at freelists.org ML and copy
their list on it.
2. Its not a good idea to start from scratch for a streaming server
solution, there are a couple of projects that could be used as a basis, like
- VLS ( http.//videolan.org ) ; can do RTP ( UDP ) and HTTP ( TCP )
- Apple Darwin streaming server ; no links here, but maybe
http://sf.net/mpeg4ip has one ; RTP and HTTP also
- icecast/shoutcast ( http://www.xiph.org ) ; only HTTP
- Real streaming server ( http://helixcommunity.org )
My preferred one was VLS, although it might be interesting to look at
the client of this project also ( VLC ) as it can stream content on a
LAN, using either HTTP or RTP, as a start.
3. In any case, a first working streaming server solution should start
with the simple HTTP protocol case, and then evolve to RTP ( UDP )
later. This will require the help of the lib inventers/makers (
robux4, Frank ) then, as they will be the ones to modify the lib such
that additional EDC and ECC ( FEC ) elements can be added to the UDP
stream such that the important block/track headers will be protected for
transfering via UDP.
Now my answers to your questions ( best i could ) :
amit limaye wrote:
> Well before i start looking at the streaming server will need some
>inputs from u people
>What is the Codec interface i m expecting ?
You shouldnt need a codec interface for the streaming server ? If you
are streaming the file it is already muxed, and final for distribution.
>what is the format of data stored in our container ?
Your streaming server should handle the complete matroska file as is, so
normally you wouldnt have to care about whats inside ?
>What protocols do we plan to support for streaming?
First HTTP ( TCP/IP ), then later also RTP ( UDP )
>Does this code need to be portable ?
Most streaming servers are made for Linux, but it wouldnt hurt if
Windows users could use it also, without having to use Cygwin for that
>Language of choice would be C++ i hope
Yup :) !
More information about the Matroska-devel