[Live-devel] Kasenna MediaBase support

Derk-Jan Hartman hartman at videolan.org
Sun Mar 28 05:22:57 PST 2004


He Ross,

Thought it was better to discuss this here.
I really want to try to get this working no matter how much it's their  
fault for not keeping to the latest specs (and actually creating broken  
implementations).

So:
1: I added their metafile format to VLC.
2: I know their mpeg2/mpeg1 streams use RAW/RAW/UDP instead of RTP/AVP
3: I know some streams don't use SDP, but something else (RTSL ?)
4: VLC needs to be able to call a demux from another demux (TS streams  
need to be demuxed)

So I dealt with #1, next is #2, I'll deal with #3 at a later point in  
time.
#4 is something that is being worked on and in time will probably be  
possible.

I know how I would go about doing the RAW/RAW/UDP request...
I've actually already hacked up liveMedia a bit to use RAW/RAW/UDP, and  
i edited the SETUP to use the aggregate uri instead of the  
non-aggregate, because there is only 1 TS Stream and otherwise the  
server reports 460 (i know, it's a mess :)


Anyway, these are the results:
(Notice the completely ridiculous SDP the server responds with... )

Sending request: DESCRIBE  
rtsp://popeye.surfnet.nl/production/rug/rug_stadtman/ 
hartvannederland_130204.mpg RTSP/1.0
CSeq: 1
Accept: application/sdp, application/x-rtsp-mh
User-Agent: VLC Media Player (LIVE.COM Streaming Media v2004.02.26)


Received DESCRIBE response: RTSP/1.0 200 OK
CSeq: 1
Date: Sun, 28 Mar 2004 02:45:02 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

[00000008] main module debug: using access module "livedotcom"
[00000210] main input debug: looking for demux module
[00000210] main input debug: probing 1 candidate
sdp=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

Sending request: OPTIONS * RTSP/1.0
CSeq: 1
User-Agent: VLC Media Player (LIVE.COM Streaming Media v2004.02.26)


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: Sun, 28 Mar 2004 02:45:02 GMT


[00000210] livedotcom input debug: RTP subsession 'video/MPV'
Sending request: SETUP  
rtsp://popeye.surfnet.nl/production/rug/rug_stadtman/ 
hartvannederland_130204.mpg/ RTSP/1.0
CSeq: 2
Transport: RAW/RAW/UDP;unicast;client_port=51436-51437
User-Agent: VLC Media Player (LIVE.COM Streaming Media v2004.02.26)


Received SETUP response: RTSP/1.0 200 OK
CSeq: 2
Transport:  
RAW/RAW/UDP;destination=130.89.163.167;port=51436;client_port=51436; 
source=192.87.102.162
Session: 1078854419


[00000210] livedotcom input debug: RTP subsession 'audio/MPA'
Sending request: SETUP  
rtsp://popeye.surfnet.nl/production/rug/rug_stadtman/ 
hartvannederland_130204.mpg/ RTSP/1.0
CSeq: 3
Transport: RAW/RAW/UDP;unicast;client_port=51438-51439
Session: 1078854419
User-Agent: VLC Media Player (LIVE.COM Streaming Media v2004.02.26)


Received SETUP response: vHeaderLen = 12; vHeader = 0 0 1 179 22 1 32  
35 2 175 160 160 ; sHeaderLen = 18; sHeader = 0 0 1 187 0 12 128 25 221  
6 225 255 224 224 80 192 192 80 ; pHeaderLen = 12; pHeader = 0 0 1 186  
33 0 1 0 1 128 25 221 ;


Sending request: PLAY  
rtsp://popeye.surfnet.nl/production/rug/rug_stadtman/ 
hartvannederland_130204.mpg RTSP/1.0
CSeq: 4
Session: 1078854419
Range: npt=0-
User-Agent: VLC Media Player (LIVE.COM Streaming Media v2004.02.26)


Received PLAY response: RTSP/1.0 200 OK
CSeq: 3
Transport:  
RAW/RAW/UDP;destination=130.89.163.167;port=51438;client_port=51438; 
source=192.87.102.162
Session: 1078854419


After this I actually get something !!!!
It keeps hanging on TaskInterrupt though.
Notice how it sends the SETUP twice (once for MPA once for MPV). This  
was a side-effect of my simple hack. The data that is returned is  
interesting though. Anyone got an idea about that?

Do you have any ideas on what would be next to solve this? Any  
debugging tips?

DJ


Example of case #3:
Received DESCRIBE response: RTSP/1.0 200 OK
CSeq: 1
Date: Wed, 24 Mar 2004 12:54:05 GMT
Server: Kasenna MediaBase version 6.1.2
Content-type: application/x-rtsp-mh
Content-Length: 412


Need to read 412 extra bytes
Read 412 extra bytes: <MediaDescription>
<MediaContainer
NumStreams = 1
 >
<MediaStreams>
<MediaStream
StreamID = 0
MimeType = application/x-sgimb
MaxBitRate = 6486621
Height = 576
Width = 720
FramesPerSecond = 25.000000
AspectRatio = 0.673500
FramesToIFramesRatio = 12.000000
AudioHeader = 0
Duration = 265802029
StartTime = 0
PlayModes = 1
TypeSpecificData = MPEG-2
VideoPid = 17
AudioPid = 18
</MediaStreams>
</MediaDescription>




---
Videolan - VLC media player
Derk-Jan Hartman (hartman at videolan dot org)
http://www.videolan.org/vlc



More information about the live-devel mailing list