[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