<div dir="ltr"><div dir="ltr">Hi Anton,<div><br></div><div><b>1. I do not see a rtspsink in your  #2 pipeline.</b><br></div><div>>> I am not adding the rtspsink when I use the gst_rtsp_media_factory_set_launch it appears to setup that for me. My previous pipeline which was working I didn't have rtspsink either:</div><div>v4l2src device=/dev/video1 ! video/x-raw, width=1920, height=1080, framerate=15/1 ! queue max-size-buffers=10  <br>                          ! vpuenc_h264 ! tee name=v ! queue max-size-buffers=10 ! rtph264pay name=pay0 pt=96 v.<br>                         ! h264parse ! splitmuxsink name=filesink location=video%02d.mkv max-size-time=10000000000 muxer-properties="properties,streamable=true"</div><div><br></div><div><br></div></div><div><b>2. Try to add rtpjitterbuffer into your #2 pipeline</b></div><div>Ok I will try this. When I added a queue to my earlier pipeline it started telling me there is no data available.<br></div><div><br></div><div><b>3. Did you check locally?</b> Do you see your stream from appsrc? Try to dump to file (if the display is not present).</div><div><br></div><div>I am trying to figure out the command to do this, for example, if I start the appsink with:</div><div><br></div><div>gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-raw, width=1920, height=1080, framerate=15/1 ! queue max-size-buffers=10  <br>                          ! vpuenc_h264 ! tee name=v ! queue max-size-buffers=10 ! appsink name=h264vid v.<br> 
                        ! h264parse ! splitmuxsink name=filesink 
location=video%02d.mkv max-size-time=10000000000 
muxer-properties="properties,streamable=true"</div><div><br></div><div><br></div><div>What would be my command to setup the receiver, all the examples that I see to tap into appsink with appsrc are using a programmatic call back not a text pipeline. For example is there something like:</div><div><br></div><div>gst-launch-1.0 appsrc name=h264videosrc sink=h264vid ! avdec_h264 ! autovideosink <br></div><div><br></div><div><br></div><div>4. Ok I'll post this<br></div><div><br></div><div><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Sep 10, 2021 at 11:33 AM Anton Pryima <<a href="mailto:zingfrid@gmail.com" target="_blank">zingfrid@gmail.com</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.<div><br></div><div>1. I do not see a rtspsink in your  #2 pipeline.</div><div>2. Try to add rtpjitterbuffer into your #2 pipeline</div><div>3. Did you check locally? Do you see your stream from appsrc? Try to dump to file (if the display is not present).</div><div>4. Post an error you've got on the receiver end.</div><div><br></div><div>Best regards,</div><div>Anton.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Sep 9, 2021 at 10:47 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,</div><div><br></div><div>I am trying to setup RTSP server with master pipeline using appsrc and appsink.</div><div><br></div><div>I) In media_configure callback I setup the generator pipeline:</div><div><br></div><div>string pipeline = "v4l2src device=/dev/video1 ! video/x-raw, width=1920, height=1080, framerate=15/1 ! queue ! vpuenc_h264 ! appsink name=h264vid max-buffers=100 drop=true";</div><div><br></div><div>2) The RTSP pipeline is as follows:<br></div><div><div>pipeline_config = "appsrc name=h264videosrc ! queue ! rtph264pay name=pay0 pt=96";</div><div><br></div><div>3) I have set the caps and need_data callback:</div><div>  ctx->vid_appsrc = appsrc =<br>      gst_bin_get_by_name_recurse_up (GST_BIN (element), "h264videosrc");<br>  ctx->vid_appsink = appsink =<br>      gst_bin_get_by_name (GST_BIN (ctx->generator_pipe), "h264vid");<br>  g_object_set (G_OBJECT (appsrc), "caps", caps, NULL);<br>  g_object_set (G_OBJECT (appsink), "caps", caps, NULL);</div><div> g_signal_connect (appsrc, "need-data", (GCallback) need_data, ctx);</div><div><br></div><div>4) In need_data callback I copy the data like so:</div><div>GstSample *sample;<br></div><div>sample = gst_app_sink_pull_sample (GST_APP_SINK (ctx->vid_appsink));</div></div><div>GstBuffer *buffer = gst_sample_get_buffer (sample);<br>GstSegment *seg = gst_sample_get_segment (sample);<br>g_signal_emit_by_name (appsrc, "push-buffer", buffer, &ret);</div><div><br></div><div><br></div><div>Based on the information I have, there is data in the need_data sample, however VlcClient after authentication throws error.</div><div><br></div><div>Any help would be appreciated !<br></div><div><br>-- <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></div>
</blockquote></div>
</blockquote></div><br clear="all"><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                </div><div><br></div></div></div></div></div></div></div></div>