I want to transmit video from an NDI source to a remote location via SRT with the same image quality and frame rate. The operating system used is Windows, and the GStreamer version is 1.24.5.
Currently, I am using the following command:
gst-launch-1.0 ndisrc ndi-name=“XXXXX (NDItest)” max-queue-length=500 ! ndisrcdemux name=demux demux.video ! decodebin ! videoconvert ! x264enc key-int-max=30 bitrate=10000 ! mpegtsmux ! srtsink uri=“srt://0.0.0.0:5000?mode=listener&latency=500” wait-for-connection=true
When I run this command, I encounter the following error:
Use Windows high-resolution clock, precision: 1 ms
Setting pipeline to PAUSED …
0:00:00.243954000 23456 000002B752519200 WARN aggregator gstaggregator.c:2283:gst_aggregator_query_latency_unlocked: Latency query failed
Pipeline is live and does not need PREROLL …
0:00:00.394133800 23456 000002B752519280 FIXME default gstutils.c:4089:gst_element_decorate_stream_id_internal: Creating random stream-id, consider implementing a deterministic way of creating a stream-id
Pipeline is PREROLLED …
Setting pipeline to PLAYING …
New clock: GstSystemClock
0:00:00.416467000 23456 000002B752519200 WARN aggregator gstaggregator.c:2283:gst_aggregator_query_latency_unlocked: Latency query failed
0:00:04.416584900 23456 000002B752519280 WARN basesrc gstbasesrc.c:3177:gst_base_src_loop: error: Internal data stream error.
0:00:04.433028300 23456 000002B752519280 WARN basesrc gstbasesrc.c:3177:gst_base_src_loop: error: streaming stopped, reason not-linked (-1)
ERROR: from element /GstPipeline:pipeline0/GstNdiSrc:ndisrc0: Internal data stream error.
Additional debug info:
…/libs/gst/base/gstbasesrc.c(3177): gst_base_src_loop (): /GstPipeline:pipeline0/GstNdiSrc:ndisrc0:
streaming stopped, reason not-linked (-1)
Execution ended after 0:00:04.045369000
Setting pipeline to NULL …
0:00:04.470711100 23456 000002B7525192C0 WARN srtlib epoll.cpp:591:wait: : EID:1 no sockets to check, this would deadlock
Freeing pipeline …
While streaming sometimes works with the above code, it fails when stopping and restarting the stream, resulting in the error above.
If anyone has experience with this issue, please help.