<div dir="ltr"><div dir="ltr">Hi Anton,<br><div><br></div><div>1) Is there a way I can copy frames out of splitmuxsink ?   Which callback would I use for that if it's possible ?  Right now I am only using callback of "format-location" on splitmuxsink.</div><div><br></div><div>2) Suppose I split up the pipeline as follows:</div><div><br></div><div>(this is already working)</div><div><b>pipeline#1</b> = "v4l2src device=/dev/video1 ! video/x-raw, width=1920, height=1080, framerate=15/1 ! vpuenc_h264 ! tee name=v ! queue ! h264parse ! appsink name=h264vid max-buffers=1 drop=true v. ! queue ! h264parse ! splitmuxsink name=filesink location=./videos/video%02d.mkv max-size-time=10000000000 muxer-properties=\"properties,streamable=true\" ";</div><div><br></div><div><br></div><div><b>pipeline#2</b> = "appsrc name=jpegvideosrc  ! queue ! avdec_h264 ! jpegenc ! appsink name=jpegsink max-buffers=1 drop=true"</div><div><br></div><div>For "pipeline#2" do I still need to terminate in an appsink or can I tap into the end result of jpegenc with a callback (eg. new-sample or need-data) and giving it a name. Something like:</div><div><br></div><div>string other_pipeline = "appsrc name=jpegvideosrc  ! queue ! avdec_h264 ! jpegenc name=jpegsink"<br></div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Sep 14, 2021 at 10:57 AM Anton Pryima via gstreamer-devel <<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hello Dwight.<br><div><br></div><div>Why do you need to construct a so complicated pipeline and do both encoding and decoding?</div><div>Why not make a couple of pipelines:</div><div>1. v4l2src device=/dev/video1 ! video/x-raw, width=1920, height=1080, framerate=15/1 ! appsink</div><div>2. appsrc -> vpuenc_h264 ! splitmuxsink</div><div>3. appsrc -> jpegenc ! whatever you need next....  or just copy frames where every you need instead of second appsink.</div><div><br></div><div>Beste regards,</div><div>Anton.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Sep 14, 2021 at 5:43 PM Dwight Kulkarni via gstreamer-devel <<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi all,<br clear="all"></div><div><br></div><div>I am trying to setup a pipeline with tee that has three forks. One of the forks is a jpegsink that I want to then access the image. Whereas the first two forks are working the last one for jpegsink is not.</div><div><br></div><div>Here is what I do:</div><div><br></div><div>gst_init (0, NULL);<br>string pipeline = "v4l2src device=/dev/video1 ! video/x-raw, width=1920, height=1080, framerate=15/1 ! vpuenc_h264 ! tee name=v ! queue ! h264parse ! appsink name=h264vid max-buffers=1 drop=true v. ! queue ! h264parse ! splitmuxsink name=filesink location=./videos/video%02d.mkv max-size-time=10000000000 muxer-properties=\"properties,streamable=true\" v. ! queue ! avdec_h264 ! jpegenc ! appsink name=jpegsink max-buffers=1 drop=true";<br>gstreamer_main_video_pipeline = gst_parse_launch(pipeline.c_str(),NULL);<br><br>GstElement * jpegsink = gst_bin_get_by_name_recurse_up(GST_BIN(gstreamer_main_video_pipeline), "jpegsink");<br><br>JpegContext* ctx = g_new0 (JpegContext, 1);<br>g_signal_connect (G_OBJECT(jpegsink), "new-sample", G_CALLBACK(new_sample), ctx);</div><div><br></div><div><br></div><div>I never get the callback to new_sample, but the pipeline is running and other two tee forks work properly.</div><div><br></div><div>Any help would be appreciated!<br></div><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><span style="font-size:12.8px">Sincerely,</span><div><br></div><div>Dwight Kulkarni <br></div></div></div></div></div></div></div></div>
</blockquote></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><span style="font-size:12.8px">Sincerely,</span><div><br></div><div>Dwight Kulkarni </div></div></div></div></div></div></div></div>