Problem with NDISRC, WHIPSINK, and audio
GST Developer
gstreamer at gallery.co.uk
Sat Jul 15 10:58:14 UTC 2023
Thanks Tarun
The full log is at: http://www.gallery.co.uk/gstlog.txt
> On 15 Jul 2023, at 11:44, Tarun Tej K <tarun4690 at gmail.com> wrote:
>
> This log snippet does not give much. information. Could you please share the full log?
>
> On Sat, 15 Jul, 2023, 14:00 GST Developer, <gstreamer at gallery.co.uk <mailto:gstreamer at gallery.co.uk>> wrote:
>> Thanks for your reply.
>>
>> Sadly, this doesn't change the behaviour - when attempting to send video *and* audio, it stalls after “Redistribute latency…”
>>
>> So, Just video works:
>> gst-launch-1.0 ndisrc ndi-name="NDIPE8 (SIGGEN)" ! ndisrcdemux name=demux demux.video ! queue ! videoconvert ! x264enc ! video/x-h264,format=byte-stream,profile=baseline ! rtph264pay ! 'application/x-rtp,media=video,encoding-name=H264,payload=97,clock-rate=90000' ! whip. whipsink name=whip auth-token=“…redacted….." whip-endpoint="https://director.millicast.com/api/whip/myStreamName”
>>
>>
>> and If I try *just* audio:
>> gst-launch-1.0 ndisrc ndi-name="NDIPE8 (SIGGEN)" ! ndisrcdemux name=demux demux.audio ! queue ! audioconvert ! opusenc ! rtpopuspay ! 'application/x-rtp,media=audio,encoding-name=OPUS,payload=96,clock-rate=48000,encoding-params=(string)2' ! whip. whipsink name=whip auth-token=“...redacted..." whip-endpoint="https://director.millicast.com/api/whip/myStreamName”
>> This also works !
>>
>> but when I try to combine them :
>>
>> gst-launch-1.0 ndisrc ndi-name="NDIPE8 (SIGGEN)" ! ndisrcdemux name=demux demux.video ! queue ! videoconvert ! x264enc ! video/x-h264,format=byte-stream,profile=baseline ! rtph264pay ! 'application/x-rtp,media=video,encoding-name=H264,payload=97,clock-rate=90000' ! whip. demux.audio ! queue ! audioconvert ! opusenc ! rtpopuspay ! 'application/x-rtp,media=audio,encoding-name=OPUS,payload=96,clock-rate=48000,encoding-params=(string)2' ! whipsink name=whip auth-token="…redacted….." whip-endpoint="https://director.millicast.com/api/whip/myStreamName”
>>
>> it stalls after “Redistribute latency…”
>>
>> This does feel like some sort of demux deadlock between the ndisrcdemux and the whipsink. I have pasted the debug output for the stall loop below, which repeats over and over:
>>
>> 0:00:19.425157202 9470 0x557d29708a00 TRACE structure gststructure.c:292:gst_structure_new_id_empty_with_size: created structure 0x557d298c1aa0
>> 0:00:19.425181034 9470 0x557d29708a00 DEBUG structure gststructure.c:2258:gst_structure_parse_field: trying field name 'long-name'
>> 0:00:19.433174494 9470 0x557d29708a00 DEBUG default gstvalue.c:2776:_priv_gst_value_parse_value: trying type name 'string'
>> 0:00:19.433194340 9470 0x557d29708a00 DEBUG structure gststructure.c:2258:gst_structure_parse_field: trying field name 'klass'
>> 0:00:19.433204782 9470 0x557d29708a00 DEBUG default gstvalue.c:2776:_priv_gst_value_parse_value: trying type name 'string'
>> 0:00:19.433216613 9470 0x557d29708a00 DEBUG structure gststructure.c:2258:gst_structure_parse_field: trying field name 'description'
>> 0:00:19.433223154 9470 0x557d29708a00 DEBUG default gstvalue.c:2776:_priv_gst_value_parse_value: trying type name 'string'
>> 0:00:19.433232379 9470 0x557d29708a00 DEBUG structure gststructure.c:2258:gst_structure_parse_field: trying field name 'author'
>> 0:00:19.433246113 9470 0x557d29708a00 DEBUG default gstvalue.c:2776:_priv_gst_value_parse_value: trying type name 'string'
>> 0:00:19.433254115 9470 0x557d29708a00 DEBUG GST_REGISTRY gstregistrychunks.c:627:gst_registry_chunks_load_feature: Element factory : npadtemplates=2
>> 0:00:19.433261379 9470 0x557d29708a00 DEBUG GST_REGISTRY gstregistrychunks.c:526:gst_registry_chunks_load_pad_template: Reading/casting for GstRegistryChunkPadTemplate at address 0x7f3208f72f30
>> 0:00:19.433271543 9470 0x557d29708a00 DEBUG GST_REGISTRY gstregistrychunks.c:540:gst_registry_chunks_load_pad_template: Added pad_template src
>> 0:00:19.433279923 9470 0x557d29708a00 DEBUG GST_REGISTRY gstregistrychunks.c:526:gst_registry_chunks_load_pad_template: Reading/casting for GstRegistryChunkPadTemplate at address 0x7f3208f72fb0
>> 0:00:19.433289253 9470 0x557d29708a00 DEBUG GST_REGISTRY gstregistrychunks.c:540:gst_registry_chunks_load_pad_template: Added pad_template sink
>> 0:00:19.433302373 9470 0x557d29708a00 DEBUG GST_REGISTRY gstregistry.c:592:gst_registry_add_feature:<registry0> adding feature 0x557d298bf6d0 (avdec_wmavoice)
>> 0:00:19.433311993 9470 0x557d29708a00 DEBUG GST_REFCOUNTING gstobject.c:708:gst_object_set_parent:<avdec_wmavoice> set parent (ref and sink)
>> 0:00:19.433322596 9470 0x557d29708a00 TRACE GST_REFCOUNTING gstobject.c:292:gst_object_ref_sink:<avdec_wmavoice> 0x557d298bf6d0 ref_sink 1->2
>> 0:00:19.433330585 9470 0x557d29708a00 LOG GST_REGISTRY gstregistry.c:610:gst_registry_add_feature:<registry0> emitting feature-added for avdec_wmavoice
>> 0:00:19.433341108 9470 0x557d29708a00 DEBUG GST_REGISTRY gstregistrychunks.c:741:gst_registry_chunks_load_feature: Added feature avdec_wmavoice, plugin 0x557d298724d0 libav
>> 0:00:19.433350373 9470 0x557d29708a00 DEBUG GST_REGISTRY gstregistrychunks.c:583:gst_registry_chunks_load_feature: Plugin 'libav' feature 'avdec_ws_snd1' typename : 'GstElementFactory'
>> 0:00:19.433362464 9470 0x557d29708a00 TRACE GST_REFCOUNTING gstobject.c:208:gst_object_init:<GstObject at 0x557d298c2050> 0x557d298c2050 new
>> 0:00:19.433374983 9470 0x557d29708a00 LOG GST_REGISTRY gstregistrychunks.c:610:gst_registry_chunks_load_feature: Reading/casting for GstRegistryChunkElementFactory at address 0x7f3208f72ff0
>> 0:00:19.433385348 9470 0x557d29708a00 TRACE structure gststructure.c:292:gst_structure_new_id_empty_with_size: created structure 0x557d298c1e40
>> 0:00:19.433394095 9470 0x557d29708a00 DEBUG structure gststructure.c:2258:gst_structure_parse_field: trying field name 'long-name'
>> 0:00:19.433402420 9470 0x557d29708a00 DEBUG default gstvalue.c:2776:_priv_gst_value_parse_value: trying type name 'string'
>> 0:00:19.433411420 9470 0x557d29708a00 DEBUG structure gststructure.c:2258:gst_structure_parse_field: trying field name 'klass'
>> 0:00:19.433419783 9470 0x557d29708a00 DEBUG default gstvalue.c:2776:_priv_gst_value_parse_value: trying type name 'string'
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20230715/f5805a59/attachment-0001.htm>
More information about the gstreamer-devel
mailing list