[streaming] Re: video on demand

Derk-Jan Hartman hartman at videolan.org
Wed Aug 25 13:50:40 CEST 2004


Marc Manthey wrote:
> On 25.08.2004, at 16:02, Gildas Bazin wrote:
> On Wednesday 25 August 2004 15:42, Hussain Ali Pardawalla wrote:
> 
>> If live.come streaming media does support rtp/rtsp over mpeg-ts stream,
> 
> and udp, and VLC does use live.com media, is there any reason why VLC does
> not take full advantage of live media and use to to fully support the
> RTP/RTSP  stuff on the server side?
> 
> Yes...
> Simply nobody has yet worked on implementing support for this.
> As always, patches are welcome ;)
> -- 
> Gildas
> 
> hey  lets  start!!!!!
> what we need  to do?
> 
> regards
> 
> marc

OK, since I have worked quite a bit on various parts of this, let's talk...

1: There is not ONE RTSP format.
    live.com has the as good as spec compliant one, which works with 
hardly anything in the wild, with maybe the acceptence of QuickTime 
(which is pretty spec compliant itself as a server). Though it depends 
very much on the videoformat you stream.

2: Real has several extensions to RTSP which sometimes need to be 
supported.(depends on version server/client etc etc etc == mess) It also 
has it's own RTP like format called RDP that is a reliable RTP variant 
that can be in use. (unsupported both client and server atm).

3: Windows media player is even worse. It uses proprietary ASF RTP 
payload format, which basically just streams the file (a lot like ts 
actually). (client moderatly supported, server unsupported).

4: someone said RTSP/UDP. Though in use by a lot of STB's, this is not 
RTSP spec compliant. RTSP dictates that you use RTP as the transport 
format (with good reason, audio video syncing for instance [many STB's 
use TS UDP streams, which don't require syncing] however still should be 
RTP encapsulated for RTSP compliance) In essence it is possible to 
support these TS/UDP streams. Just build VLC and livedotcom code and 
test against the servers (this has been my main problem in getting this 
to work, too few servers to test with). I even submitted a UDP 
acceptance patch to Ross couple weeks back that worked reseanbly well. 
He is integrating this 'multiple protocol' support (also considering 
RDP), but it will require some changes to the livedotcom code, which 
will take him some time.

5: so for vlc serverside, the big question is WHAT do you want to 
stream? Real? VLC doesn't support Real at all, let alone the RTSP it has.

6: MPEG4/RTP/RTSP spec compliant? VLC does that already. QTP and Real 
work pretty ok as a client

7: Windows Media player compatible? Better use the MMS streaming for 
now, only WMP9 understands RTSP anyways, and it's still broken by design.

8: STB compatible? Quite difficult actually, and i don't think Ross 
would like such a broken system into his code. Better just use a SAP 
announce and directly feed it into. Of course it would also require to 
implement Trickplay support, which is mostly a mpeg2/ts trick that the 
server needs to do. building support for such a thing requires changes 
to both VLC and live.com.

9: Kasenna compatible. don't get me started :)
    you can feed Kasenna both UDP/TS and MPEG4 feeds from VLC, but 
tuning into VoD of kasenna is a annoying problem requiring both Trick 
play and a lot of live.com hacking as far as i could determine.. this 
really isn't wanted. The kasenna is just a broken serverdesign and 
should be nailed to a wall. Tuning to live streams is considerably 
easier. espcecially MPEG2/TS and MPEG4 ones. Still their RTSP code is a 
mess.
Both Dermot McGahon and I have been working on this.

So when you start this, you need to have some knowledge about several 
things:
1: The protocols
2: the STBs (server/client)
3: deviations from the protocols. (ethereal and google are great sources)
4: the workings of live.com
5: the working of VLC or Mplayer ( i think VLC is more suited these days)
6: the goal

All this knowledge is available since about the last year or so (finally 
we know almost everything from every server(type)).

for VLC the important areas are:

modules/demux/livedotcom.cpp (rtsp client implementation based on 
liveMedia code)
modules/stream_out/rtp.c (rtsp server implementation)

I'm all for any work on this...


DJ

-- 
This is the streaming mailing-list, see http://www.videolan.org/streaming/
To unsubscribe, please read http://www.videolan.org/support/lists.html
If you are in trouble, please contact <postmaster at videolan.org>



More information about the streaming mailing list