Hi There,
I am a novice in gstreamer and I am creating an application to ingest video from an rtsp camera feed and I am trying to tee it so that I can send one branch to save as HLS and other branch to save jpegs from the source for processing. My command line pipeline looks like this gst-launch-1.0 -v rtspsrc location=rtsp://admin:admin@10.0.0.207:554 ! rtpjitterbuffer ! rtph264depay ! avdec_h264 ! clockoverlay ! videoconvert ! videoscale ! video/x-raw,width=640, height=360 ! tee name=t \ t. ! x264enc bitrate=512 ! video/x-h264,profile=\"high\" ! mpegtsmux ! hlssink playlist-root=http://127.0.0.1:8080 location=segment.%05d.ts target-duration=5 \ t. ! jpegenc ! multifilesink location=/tmp/image_%d.jpg When I run it, it keeps at 00.00 as it is is pausing and playing.. 0:00:00.0 / 99:99:99. 0:00:00.0 / 99:99:99. It does not generate any jpegs or TS segments. However the individual pipelines work fine like below gst-launch-1.0 -v rtspsrc location=rtsp://admin:admin@10.0.0.207:554 ! rtpjitterbuffer ! rtph264depay ! avdec_h264 ! clockoverlay ! videoconvert ! videoscale ! video/x-raw,width=640, height=360 ! tee name=t \ t. ! x264enc bitrate=512 ! video/x-h264,profile=\"high\" ! mpegtsmux ! hlssink playlist-root=http://127.0.0.1:8080 location=segment.%05d.ts target-duration=5 or GST_DEBUG=3 gst-launch-1.0 -v rtspsrc location=rtsp://admin:admin12345@10.0.0.207:554 ! rtpjitterbuffer ! rtph264depay ! avdec_h264 ! clockoverlay ! videoconvert ! videoscale ! video/x-raw,width=640, height=360 ! tee name=t t. ! jpegenc ! multifilesink location=/tmp/image_%d.jpg Can you please help me what I mistake I am making with the original pipeline with both tee? Thanks a lot for your help! Best Regards, Guru -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
I finally got it working.
I had to add async=false for the multifilesink saving the jpegs. I dont understand why I have to do that to get it working. I would really appreciate if someone can explain why making "async=false" works. Again, thanks a lot for your help! Best Regards, Guru -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
I dont know the answer but it is recommended to add "queue" after each "tee" sub-streams. So they run in their own threads. Can you test that? Cheers, Yu On Sun, 23 May 2021, 21:46 gugovind via gstreamer-devel, <[hidden email]> wrote: I finally got it working. _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |