[vlc-devel] Sgi mediabase and XDMA streams

Derk-Jan Hartman hartman at videolan.org
Thu Mar 4 15:40:49 CET 2004


He all and especially Ross, since i think you may know something about this.

Our university is connected to surfnet which is kind of like the 
national network for educational institutions.
For a long time they have been experimenting with video streaming in 
several ways (often even cooperating with the national broadcasting 
organisation). Since i'm looking at maybe incorperating a VideoLAN 
solution like ECP's on our campus, I will also be in contact with these 
people in the end, so i'm trying to investigate what they have done and 
will be doing in the future.

current trial of this can be seen at
http://video.surfnet.nl
for instance.

They have long made use of SGI mediabase i think (and still do). You 
have to use the Kasenna media player to see most of their mpeg1 and 
mpeg2 streams for instance. This is truly a hideous solution and as far 
as i'm concerned one of the reasons the previous tests have never been 
very succesful.
Luckily the new streams are often available in real, MPEG4 and WMP as well.

However I was wondering how this Mediabase stuff was working and why 
it's not compatible with VLC. I figured that since it is multicasted 
MPEG2, it shouldn't have to be that difficult to support.

Example link:
http://videostream.surfnet.nl/mbase/asset/production/surfnet/andres/GIGAMAN.MPG?autostart=true

When you download this, you actually get a metadata file with something 
looking a bit like a sdp, but completly proprietary. As to the reason 
why they don't use a special extension for this fileformat (which isn't 
very compatible anyways, so why bother making it look like a mpg file) 
is beyond my understanding. Another example of how to create confusion 
and incompatibilities.

the sgi mediabase version of a sdp:

sgiNameServerHost=popeye.surfnet.nl
Stream="xdma://popeye.surfnet.nl/production/surfnet/andres/GIGAMAN.MPG"
sgiMovieName=/production/surfnet/andres/GIGAMAN.MPG
sgiAuxState=2
sgiFormatName=MPEG-1
sgiWidth=384
sgiHeight=216
sgiBitrate=2256400
sgiDuration=665373104
sgiApplicationName=MediaBaseURL
sgiElapsedTime=0
sgiServerVersion=6.1
sgiRtspPort=554
AutoStart=True
sgiUserAccount=pid=13159&time=1078406903&displayText=You%20are%20logged%20as%20guest&
sgiUserPassword=

OK, so this could probably easily be supported. would be handy if there 
were a spec describing the different formats etc, but if someone can get 
his hands on such a SGI mediabase solution for testing, then you can 
probably easily implement this.

Now the second part.
xdma://popeye.surfnet.nl/production/surfnet/andres/GIGAMAN.MPG

XDMA:
http://searchnetworking.techtarget.com/gDefinition/0,294236,sid7_gci554311,00.html
http://www.imaa.de/www/mpe4420.htm

To quote a part of that:
XDMA was developed as a client-server media distribution architecture 
which can operate independently or complement existing WWW (World Wide 
Web) HTTP / HTML architectures on local area networks, private data wide 
area networks and public data wide area networks(e.g. Internet).

XDMA delivers *streaming* multimedia - pictures, video and sound - based 
on the MPEG international standards for video and audio compression from 
Unix and (in 3rd quarter 1995)Windows NT servers.  When integrated with 
WWW, XDMA augments existing WWW architectures by providing a Common 
Gateway Interface (CGI) to existing Web (HTTP) servers, and viewer 
extensions to popular "Web HTML browsers" (i.e. Mosaic, Netscape, 
Winweb, Spyglass, etc).  As such, XDMA can take advantage of user 
authentication procedures as supported by current Web browsers and HTTP 
servers.

So basically this isn't helping very much. It was the most technical 
description I could find. All the other info seems gone since Xing was 
taken over by Real. Kasenna and SGI don't have anything useful online 
either.

However I had the bright idea to throw it into VLC and experiment a bit 
with it. apparently when I change xdma -> rtsp it actually does 
something slightly useful (see all the way below).
I think RTSP might be based on XDMA, which wouldn't be that surprising 
actually since XDMA was the first solution for this sort of stuff, so it 
wouldn't be weird that the rtsp standard was inspired by it. (And 
reading the xdma description again it's starting to make sense)

The stuff below is with my older linux build. it was the simplist way to 
get the live.com debug messages.

The windows 0.7.1 version actually got further (newer live.com build). 
However i couldn't copy the debug messages live printed in the 
windows-console. It found a audio and a video stream, then stopping with:

livedotcom debug: RTP subsession 'video/MPV'
livedotcom debug: RTP subsession 'audio/MPA'
livedotcom error: PLAY failed No RTSP session is currently in progress

The part it doesn't like seems to be:
after Sending request: SETUP
It shows:
Transport: RTP/AVP;unicast;client_port=2310-2311
adn then
Received SETUP response: RTSP/1.0 461 Unsupported Transport
Message: Unsupported Transport for this format

(Which is actually the same thing QT reports when you try this.)

The OSX version of VLC failed on the DESCRIBE, it uses a newer version 
of live.com then windows build.

I tried xdma (and rtsp version of the link) in QT, RealOne and mplayer 
and none of them understood it.
So I was wondering how far from rtsp this format is, and whether perhaps 
live.com could have a compatibility mode that would support it?
How feasible is this?


==========
linux rstp test of the xdma link
==========
[00000019] main playlist debug: adding playlist item « 
rtsp://popeye.surfnet.nl/production/rug/rug_stadtman/hartvannederland_130204.mpg 
» ( 
rtsp://popeye.surfnet.nl/production/rug/rug_stadtman/hartvannederland_130204.mpg 
)
[00000019] main playlist debug: creating new input thread
[00000021] main input: playlist item 
`rtsp://popeye.surfnet.nl/production/rug/rug_stadtman/hartvannederland_130204.mpg'
[00000021] main input debug: waiting for thread completion
[00000021] main input debug: access `rtsp', demux `', name 
`popeye.surfnet.nl/production/rug/rug_stadtman/hartvannederland_130204.mpg'
[00000021] main input debug: looking for access module
[00000021] main input debug: probing 2 candidates
[00000021] main input debug: thread 32771 (input) created at priority 0 
(src/input/input.c:251)
[00000021] main input debug: cmd=state old=10 new=1
[00000021] main input debug: playing at normal rate
[00000022] main interface debug: looking for interface module
[00000022] main interface debug: probing 0 candidates
[00000022] main interface error: no interface module matched "dummy"
[00000022] main interface error: no suitable intf module
[00000001] main vlc error: interface "(null)" initialization failed
[00000001] main vlc debug: removing all interfaces
[00000001] main vlc debug: removing all playlists
Sending request: DESCRIBE 
rtsp://popeye.surfnet.nl/production/rug/rug_stadtman/hartvannederland_130204.mpg 
RTSP/1.0
CSeq: 1
Accept: application/sdp
User-Agent: VLC Media Player (LIVE.COM Streaming Media v2003.11.05)


Received DESCRIBE response: RTSP/1.0 200 OK
CSeq: 1
Date: Thu, 04 Mar 2004 13:52:08 GMT
Server: Kasenna MediaBase version 6.1
Content-type: application/sdp
Content-Base: 
rtsp://popeye.surfnet.nl/production/rug/rug_stadtman/hartvannederland_130204.mpg/
Content-Length: 260


Need to read 260 extra bytes
Read 260 extra bytes: v=0
o=NoSpacesAllowed 1 1 IN IP4 192.87.102.162
s=production/rug/rug_stadtman/hartvannederland_130204.mpg
c=IN IP4 0.0.0.0
t=0 0
a=control:*
a=range:npt=0-1866.280652
m=video 0 RTP/AVP 32
a=control:trackID=0
m=audio 0 RTP/AVP 14
a=control:trackID=1

[00000013] main module debug: using access module "livedotcom"
[00000021] main input debug: looking for demux module
[00000021] main input debug: probing 1 candidate
sdp=
Sending request: OPTIONS * RTSP/1.0
CSeq: 1
User-Agent: VLC Media Player (LIVE.COM Streaming Media v2003.11.05)


Received OPTIONS response: RTSP/1.0 200 OK
CSeq: 1
Message: OPTIONS Successful
Public: OPTIONS, DESCRIBE, SETUP, PLAY, PAUSE, SET_PARAMETER, 
GET_PARAMETER, SET_PLAYMODE, TEARDOWN
Date: Thu, 04 Mar 2004 13:52:09 GMT


[00000021] livedotcom input error: MediaSession::createNew failed
[00000021] main input warning: no demux module matching "live" could be 
loaded
[00000021] main input error: no suitable demux module for 
`rtsp/live://popeye.surfnet.nl/production/rug/rug_stadtman/hartvannederland_130204.mpg'
[00000013] main module debug: unlocking module "livedotcom"

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



More information about the vlc-devel mailing list