|
Hello.
First of all, I'm modifying old embedded system and only option for me is to use gstreamer 0.10.36 (becouse of dependencies).
I need to make back record (about 10 seconds) of video after button is pressed.
My pipeline:
rtpsrc location=rtsp://192.168.1.140:554/profile4/media.smp ! gstrtpjitterbuffer ! queue min-threshold-time=10000000000 max-size-time=20000000000 leaky=2 ! rtph264depay ! fakesink
Then I use pad blocking mechanism to change pipeline to:
rtpsrc location=rtsp://192.168.1.140:554/profile4/media.smp ! gstrtpjitterbuffer ! queue min-threshold-time=10000000000 max-size-time=20000000000 leaky=2 ! rtph264depay ! legacyh264parse
access-unit=true output-format=0 ! mp4mux ! filesink location=test.mp4
This works and I get nice recorded video (after sending EOF to pipeline ofcourse). But the delay is not 10 seconds like queue threshold is set to. I get about 2 seconds delay NO MATTER WHAT I SET TO QUEUE min-threshold-time parameter.
Using this pipeline to play video I see delay of 10 seconds (or whatever I set to queue):
rtpsrc location=rtsp://192.168.1.140:554/profile4/media.smp ! gstrtpjitterbuffer ! queue min-threshold-time=10000000000 max-size-time=20000000000 leaky=2 ! rtph264depay ! legacyh264parse
access-unit=true output-format=0 ! mfw_vpudecoder name=vpudecoder codec-type=0 ! queue ! mfw_isink sync=false max-lateness=100000000 mode=1
Why queue delay works when playing byt not when recording???
I've tryed also to add latency to rtpsrc and jitternbuffer without success.
Please help
Maciek
|