Hi all.
I'm trying to set up a pipeline that reads data from a rtsp servers and uses a queue2 element to perform buffering. However, I'm experiencing some issues doing so. I'm using python bindings and gst.parse_launch to perform the pipeline creation My pipeline is as follows self.player=gst.parse_launch('rtspsrc name=source source. ! queue2 name=queue ! rtph264depay ! decodebin2 ! autovideosink') //For the basic test I'll just use video Then I access the queue element using: self.queue=self.player.get_by_name('queue') I want to set the queue2 so it buffers 4 sec. of video, so I'm setting it this way: self.queue.props.max_size_time=4000000000 // It's supposed to be the time in ns. self.queue.props.max_size_bytes=0 // Left in auto mode self.queue.props.max_size_buffers=0 // Left in auto mode, too However, when playing the video, the queue never reaches that 4s. Instead, I get the following stats. 2012-05-11 10:14:19,965 Buffer level:100% data in the queue (ms.):1043ms. Number of buffers 35 data in the queue (bytes) 38041 and so on. The time in the queue never reaches the max time I set up. At first, I thought that it could be because time was evenly divided in the number of buffers, but it doesn't seems so. So, how can I really set the queue to buffer 4 seconds of video?. I'd be really grateful if someone helps me with this matter. Your sincerely. Daniel Mellado |
On 05/11/2012 10:30 AM, Daniel Mellado wrote:
> Hi all. > > I'm trying to set up a pipeline that reads data from a rtsp servers and uses > a queue2 element to perform buffering. However, I'm experiencing some issues > doing so. I'm using python bindings and gst.parse_launch to perform the > pipeline creation > > My pipeline is as follows > > self.player=gst.parse_launch('rtspsrc name=source source. ! queue2 > name=queue ! rtph264depay ! decodebin2 ! autovideosink') //For the basic > test I'll just use video > > Then I access the queue element using: > > self.queue=self.player.get_by_name('queue') > > I want to set the queue2 so it buffers 4 sec. of video, so I'm setting it > this way: > > self.queue.props.max_size_time=4000000000 // It's supposed to be the time in > ns. > self.queue.props.max_size_bytes=0 // Left in auto mode > self.queue.props.max_size_buffers=0 // Left in auto mode, too > > However, when playing the video, the queue never reaches that 4s. Instead, I > get the following stats. > > 2012-05-11 10:14:19,965 Buffer level:100% data in the queue (ms.):1043ms. > Number of buffers 35 data in the queue (bytes) 38041 > > and so on. The time in the queue never reaches the max time I set up. At > first, I thought that it could be because time was evenly divided in the > number of buffers, but it doesn't seems so. > > So, how can I really set the queue to buffer 4 seconds of video?. seconds. Wim > > I'd be really grateful if someone helps me with this matter. > > Your sincerely. > > Daniel Mellado > > > > > > > -- > View this message in context: http://gstreamer-devel.966125.n4.nabble.com/rtspsrc-buffering-using-queue2-and-issues-tp4625837.html > Sent from the GStreamer-devel mailing list archive at Nabble.com. > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
And there is some way to adjust high and low thresholds, like in queue2, using just the latency property in rtspsrc? I tried that way, too, and it works, but I'd like to adjunts high/low thresholds too.
Many thanks |
Free forum by Nabble | Edit this page |