Rtsp server negative rates implementation

Muzzu Daniela Daniela.Muzzu at selexelsag.com
Wed Jun 13 02:01:36 PDT 2012


I would like to try to implement a kind of reverse playback from gst-rtsp server, starting first with matroska files with mpeg4 video (for which reverse playback from file source already works fine).

I'm using a slightly modified version of test-mkv.exe as rtsp server to stream that kind of files (the pipeline is:
filesrc ! matroskademux ! queue ! mpeg4vparse (needed?) ! rtpmp4vpay).

Rtsp-server has already been modified to handle negative rates and perform a seek in reverse direction, so that server-side filesrc element starts reading file chunks in reverse order. The client receives some packets but it seems to me they are discarded since buffering level stays to 0.

Now some questions on which is the best way to proceed (not necessarily a "standard" way, but possibly the less complicated one):


1.      What shall be the play response from server to a negative scale request (e.g. -1.0 with range 10-0)? Shall the server notify the actual negative rate and range in use, so that the client pipeline is aware of that, or shall reply with e.g. 1.0 speed and 0-10 range as if the playback was in forward order?

In the first case, it should mean the client pipeline has to finish some frame / timestamp reordering , while in the second case i guess the server has completed all the job and the client pipeline processes frames just as they were in normal play order.


2.      In both cases, which are the pipeline elements that shall be modified in order to implement this feature? I guess that, since the client is able to reverse play from file, most elements are OK (filesrc, matroskademux, decodebin, videosink). Maybe there is something to do in rtp pay/depay elements, can you give me an idea?

Thanks in advance,
Daniela




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20120613/be642e98/attachment-0001.htm>


More information about the gstreamer-devel mailing list