[vlc-devel] RTSP client 'trick play' support. When will it ever work??
fenrir at via.ecp.fr
Thu Jul 9 00:47:13 CEST 2009
On Tue, Jul 07, 2009, Ross Finlayson wrote:
> After reading on http://www.videolan.org/ that one of the features of
> VLC v1.0.0 is "RTSP Trickplay support", I excitedly downloaded and
> installed it, but found - to my dismay - that this still does not work at
> (I tested this against a MPEG-2 Transport Stream file streamed by the
> "LIVE555 Media Server" <http://www.live555.com/mediaServer/>, with the
> file indexed to support trick play.)
> I found that 'trick play' operations do not work at all. In particular,
> the 'faster' and 'slower' controls have no effect (other than displaying
> "faster" and "slower" in VLC's display). No new RTSP "PLAY" commands are
> sent at all.
> Similarly, I could not seek within the stream at all (by trying to drag
> the playback diamond).
> And pausing works at the GUI, but doesn't actually cause a RTSP "PAUSE"
> command to be sent, so it's not actually pausing the network stream.
> What's going on here? Why was "RTSP Trickplay support" promoted as a
> feature of VLC 1.0.0, when it doesn't work at all?
It is simple:
in VLC we enable trickplay support for rtsp (pause/seek/fast forward/backward)
if and only if the play time is known, that is if p_sys->ms->playEndTime()
returns a non zero values. It's the only pseudo reliable way to detect VOD
that I know of).
Unfortunatly, using live555MediaServer and the live555 library (even
with the ts index), it is not the case. It is non zero at first (I think
after the initial setup), but is reset to zero latter. Probably because
all PLAY request returns:
whereas the DESCRIBE request returns
(on my test samples).
On rtsp from youtube, the server behaviour is different (it always return a complete
Range:) but then seek fails with:
Sending request: PLAY <url> RTSP/1.0
User-Agent: VLC media player (LIVE555 Streaming Media v2008.07.24)
Received PLAY response: RTSP/1.0 457 Invalid Range
Server: Google RTSP 1.0
for that one, I am not sure why (maybe a complete Range: is needed in the
request ?), but it's definitly not VLC fault here (The whole range is
With a darwin rtsp server, the few public URLs I have found where working.
More information about the vlc-devel