[Live-devel] displaying RTSP stream directly

Diez B. Roggisch deets at web.de
Sun Aug 22 04:00:50 PDT 2010


Hi Ross,

thanks for the answer. See below for some comments.


>> - grab an  MP4V-ES/90000 stream from a FLIR Infrared Camera (the  
>> camera works, grabbing RTSP from it using VLC has no problems)
>
> [...]
>
>> - Pretty much the same program, modeled after openRTSP, in  
>> ObjectiveC/Cocoa/C++ using live555 (thus I ask here) which produces  
>> the same data-stream.
>>
>> This data is unfortunately *not* decodable by VLC
>
> VLC can't always correctly identify an arbitrary data file, which  
> (partly) explains why it often can correctly display a stream from a  
> "rtsp://" URL, but cannot play it from a data file (e.g., one that's  
> recorded by "openRTSP").  In any case, this is not a VLC mailing  
> list; problems with VLC should be reported on some other mailing list.

Well, yes and no. Maybe I'm not making myself clear here: I just  
mentioned VLC because it is obviously capable of what I hope to be  
able to do:

  - receiving RDP-packets which contain an MPEG-4-stream (I can do  
that using live555)
  - decoding it, so I have a bunch of pixels (... my missing step)
  - displaying them. (profit!)

I'm aware that this is no strict live555 question. But I thought that  
you guys certainly don't "only" transmit stuff, but evenutally want it  
to display - so I thought you might have a suggestion for me how to  
hook e.g. a libavcodec mpeg4 decoder into a custom sink which will  
give me my raw image data.


>
> However, in this case, it's possible that the MPEG-4 stream contains  
> extra 'config' information (present in the stream's SDP description)  
> that would need to be decoded and then prepended to the data stream  
> that is passed to the your decoder.  You can check this by looking  
> for a "config=" string in the stream's SDP description (as reported  
> by "openRTSP").

This is the SDP descroptor. I don't see config sections though.

v=0
o=- 0 0 IN IP4 192.168.10.2
s=IR stream
i=Live infrared
t=now-
c=IN IP4 192.168.10.2
m=video 10036 RTP/AVP  96 97 98 99 100 102 103
a=control:rtsp://192.168.10.2/sid=96
a=framerate:30
a=rtpmap:96 MP4V-ES/90000
a=framesize:96 640-480
a=fmtp:96 profile-level- 
id=1;config=000001B005000001B509000001010000012002045D4C28A021E0A4C7
a=rtpmap:97 MP4V-ES/90000
a=framesize:97 320-240
a=fmtp:97 profile-level- 
id=1;config=000001B005000001B509000001010000012002045D4C285020F0A4C7
a=rtpmap:98 MP4V-ES/90000
a=framesize:98 160-128
a=fmtp:98 profile-level- 
id=1;config=000001B005000001B509000001010000012002045D4C285020F0A4C7
a=rtpmap:99 FCAM/90000
a=framesize:99 320-240
a=fmtp:99 sampling=mono; width=320; height=240; depth=16
a=rtpmap:100 FCAM/90000
a=framesize:100 160-120
a=fmtp:100 sampling=mono; width=160; height=120; depth=16
a=rtpmap:102 raw/90000
a=framesize:102 320-240
a=fmtp:102 sampling=mono; width=320; height=240; depth=16
a=rtpmap:103 raw/90000
a=framesize:103 160-120

Thanks, Diez


More information about the live-devel mailing list