No subject
Nicolas Dufresne
nicolas at ndufresne.ca
Fri Aug 4 16:25:37 UTC 2023
Hi,
quick recommendation, set a subject when posting to mailing list. Making your
post look nicer will attract more volunteers.
Le mercredi 02 août 2023 à 22:25 +0530, Sulthan Amanu a écrit :
> Dear Team,
> I hope this message finds you well. We have encountered an issue while
> attempting to stream the buffer from an rtsp location using a C++ code.
> Specifically, we are facing difficulties linking the rtspsrc and rtph265depay
> elements in the pipeline. We would greatly appreciate your assistance in
> resolving this matter.
> Here are the details of the problem:Issue Description:We have a C++ code
> responsible for handling buffer streaming from an rtsp location. The pipeline
> consists of the rtspsrc element, which is intended to fetch data from the rtsp
> location, and the rtph265depay element, which is meant to handle the H.265
> encoded data. However, despite our efforts, these elements are unable to link
> properly, resulting in the failure of buffer streaming Raw Pipeline - working
> finegst-launch-1.0 rtspsrc location = rtsp://192.168.1.10:5005/routecam
> latency = 0 ! rtph265depay ! h265parse ! d3d11h265dec ! d3d11videosink name=
> D3D11RendererC++ code had a linking issue
> gst-launch-1.0 rtspsrc location = rtsp://192.168.1.10:5005/routecam latency =
> 0 ! rtph265depay ! h265parse ! d3d11h265dec ! d3d11videosink name=
> D3D11Renderer
>
> GstElement* source = gst_element_factory_make("rtspsrc", "source");
> GstElement* depay = NULL;
> GstElement* decoder = NULL;
> GstElement* parse = NULL;
> GstElement* fps_sink = gst_element_factory_make("fpsdisplaysink",
> "fps_sink");
> GstElement* videoconvert = gst_element_factory_make("videoconvert",
> "videoconvert");
> GstElement* videoscale = gst_element_factory_make("videoscale",
> "videoscale");
There 3 are not used.
> GstElement* Renderer = gst_element_factory_make("d3d11videosink",
> "D3D11Renderer");
[...]
> /*if (!gst_element_link_many(source, depay, parse, decoder, Renderer,
> NULL)) {
> g_printerr("Elements could not be linked.\n");
> gst_object_unref(pipeline);
> return false;
> }*/
rtspsrc does not know statically what pads are needed. Pads will be exposed
later on when the remote stream description is received. gst-launch will connect
to the "pad-added" signal and defer the linking. You may want to go through this
tutorial in order to build your understanding around dynamic pipelines.
https://gstreamer.freedesktop.org/documentation/tutorials/basic/dynamic-pipelines.html?gi-language=c
regards,
Nicolas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20230804/ce41db47/attachment.htm>
More information about the gstreamer-devel
mailing list