[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



Hi Amit,

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:

>Hello
>      Well before i start looking at the streaming server will need some
>inputs from u people 
>like 
>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 
>-SIGTERM  amit
>
Yup :) !

Christian

http://www.matroska.org



More information about the Matroska-devel mailing list