<div dir="auto">Hello all.<div dir="auto"><br></div><div dir="auto">I need to make program which displays online video from rtsp and then, by a command, it dumps 10 seconds of video to the disk (creates playable video file). </div><div dir="auto"><br></div><div dir="auto">I've created working pipeline looking like:</div><div dir="auto"><i>rtspsrc location=<video_uri> ! rtph264depay ! queue min-threshold-time=11000000000 name=n ! avdec_h264 ! autovideosink</i><br></div><div dir="auto"><br></div><div dir="auto">It has 10 seconds of buffer and working fine.</div><div dir="auto"><br></div><div dir="auto">Now I need to dump all content of the queue to the disk at once.</div><div dir="auto"><br></div><div dir="auto">I've tried different methods:</div><div dir="auto">queue2, shmsink, appsink and etc.</div><div dir="auto">But all of them has some disadvantages:</div><div dir="auto">    queue2 - creates temp file on disk during playout. But when I try to 'cat' it I'm not getting playable video file. I've tried to pass it as filesrc - but this pipeline refuses to start. As I understand queue does not store video directly - it has its metadata aside.</div><div dir="auto">    shmsink - socket is created, I've tried to shmcat it - but it doesn't work. </div><div dir="auto">    appsink - provides video stream frame by frame, but no whole buffer at once. </div><div dir="auto"><br></div><div dir="auto">So is there is any way to make it with standard GST tools? Or only the way it to create appsink callback and save frame by frame to gst.buffer and then, when it is needed, dump this buffer to disk with appsrc->filesink?</div><div dir="auto"><br></div><div dir="auto">Thank you in advance.</div><div dir="auto">Best regards,</div><div dir="auto">Anton.</div></div>