GNOME Bugzilla – Bug 626811
rtspsrc: backward playback
Last modified: 2018-11-03 14:42:29 UTC
Hi, are you planning to implement the support of backward playback (seek with negative rate on the client side) in rtspsrc? Is there any proposed release date for that? What are the reasons it isn't ready yet, maybe there are technical issues? Regards Tibor
(In reply to comment #0) > Hi, > > are you planning to implement the support of backward playback (seek with > negative rate on the client side) in rtspsrc? Is there any proposed release > date for that? What are the reasons it isn't ready yet, maybe there are > technical issues? What makes you think that it's not supported yet? > > Regards > Tibor
It's in the code below: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/gst/rtsp/gstrtspsrc.c#n1690 http://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/gst/rtsp/gstrtspsrc.c#n1818 Is it not the latest version?
(In reply to comment #2) > It's in the code below: > > http://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/gst/rtsp/gstrtspsrc.c#n1690 > http://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/gst/rtsp/gstrtspsrc.c#n1818 > > Is it not the latest version? yes, seems like nobody implemented/tested negative rates yet.
is there any plan to implement it?
(In reply to comment #4) > is there any plan to implement it? I don't know of such plans
on a normal pipeline we can simple play backward even a matroska file with h264 encoded video stream. we can send a SEEK command through an rtsp pipeline eg +2.0 speed than we see the video in double speed. is there any difference than just send a SEEK command with -1 or -2 and get video frames with descending timestamps in the client side. is there anything else that we can do?
(In reply to comment #6) > on a normal pipeline we can simple play backward even a matroska file with h264 > encoded video stream. You can indeed do that but only because the matroska demuxer and the video decoder have special code to support backwards playback. > we can send a SEEK command through an rtsp pipeline eg > +2.0 speed than we see the video in double speed. We can support fast forward playback easily because it only requires the sinks to scale the timestamps. > is there any difference than > just send a SEEK command with -1 or -2 and get video frames with descending > timestamps in the client side. is there anything else that we can do? In the rtsp case, the server is supposed to transcode the stream in reverse so that a client can simply pretend it is a normal stream. the only extra thing we need to do is adjust the newsegment event with a negative applied rate so that the playback position goes backwards. AFAIK, RTSP does not allow the client the reverse the stream, it's always the server. I guess we just need to enable the negative rates, change the segment applied rate and it should work. It probably mostly needs testing against some server that supports reverse playback.
Reopening as the requested information has been provided.
Do we have a server available that allows reverse seeks?
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/32.