Problem with whipwebrtcsink uplink to Dolby.io, was Problem with NDISRC, WHIPSINK, and audio

GST Developer gstreamer at gallery.co.uk
Mon Aug 7 18:26:56 UTC 2023


Hello Tarun

I have rebuilt gstreamer and tested again with Dolby.io <http://dolby.io/>

This its failing on a different tack.

gst-launch-1.0  ndisrc ndi-name="PRIMARY (SIGGEN)" ! ndisrcdemux  name=demux demux.video ! queue ! videoconvert ! whipwebrtcsink name=ws signaller::whip-endpoint="https://director.millicast.com/api/whip/myStreamName",auth-token='..redacted..' demux.audio ! queue ! audioconvert ! ws. 

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Redistribute latency...
Redistribute latency...
Redistribute latency...
ERROR: from element /GstPipeline:pipeline0/GstWhipWebRTCSink:ws: GStreamer encountered a general stream error.
Additional debug info:
net/webrtc/src/webrtcsink/imp.rs(1499): gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::connect_signaller::{{closure}}::{{closure}} (): /GstPipeline:pipeline0/GstWhipWebRTCSink:ws:
Signalling error: Error: Unexpected response: 401 - Unauthorized
Execution ended after 0:00:02.364739232
Setting pipeline to NULL ...
Freeing pipeline ...

I have confirmed the same authentication token works fine with the older whipsink method, so if authentication is failing, it's not simply due to a bad token. 

Please let me know your thoughts ?   

Are you able to test with dolby.io <http://dolby.io/> ?  they have a free account mechanism for this sort of testing.

Many thanks for your help.



> On 5 Aug 2023, at 05:24, Tarun Tej K <tarun4690 at gmail.com> wrote:
> 
> Hello,
> 
> The fix for this issue is now merged upstream. Here is the MR - https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1290
> 
> 
> On Sat, 29 Jul, 2023, 19:25 Tarun Tej K, <tarun4690 at gmail.com <mailto:tarun4690 at gmail.com>> wrote:
>> Hi,
>> 
>> Thanks for trying this out. 
>> 
>> We discovered a bug with whipwebrtcsink (and whipsink) that got exposed because of one of the recent changes.
>> 
>> More information about this issue is captured here - https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/394 to track this bug.
>> 
>> 
>> On Sat, 29 Jul, 2023, 18:33 GST Developer, <gstreamer at gallery.co.uk <mailto:gstreamer at gallery.co.uk>> wrote:
>>> Hi Tarun
>>> 
>>> We have finally got things up and running with GStreamer 1.22 as you advised, and indeed the 'request-aux-sender' issue has gone away.
>>> 
>>> Now we have a different issue, which might be some specific compatibility with Dolby.io <http://dolby.io/> (formerly millicast).
>>> 
>>> Here is what we get - the pipeline runs for a few seconds before failing:
>>> 
>>> 
>>> gst-launch-1.0  ndisrc ndi-name="PRIMARY (SIGGEN)" ! ndisrcdemux  name=demux demux.video ! queue ! videoconvert ! whipwebrtcsink name=ws signaller::whip-endpoint="https://director.millicast.com/api/whip/myStreamName",auth-token="......redacted......" demux.audio ! queue ! audioconvert ! ws.
>>> Setting pipeline to PAUSED ...
>>> Pipeline is live and does not need PREROLL ...
>>> Pipeline is PREROLLED ...
>>> Setting pipeline to PLAYING ...
>>> New clock: GstSystemClock
>>> Redistribute latency...
>>> Redistribute latency...
>>> Redistribute latency...
>>> 
>>> ERROR: from element /GstPipeline:pipeline0/GstWhipWebRTCSink:ws: GStreamer encountered a general stream error.
>>> Additional debug info:
>>> net/webrtc/src/webrtcsink/imp.rs <http://imp.rs/>(1493): gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::connect_signaller::{{closure}}::{{closure}} (): /GstPipeline:pipeline0/GstWhipWebRTCSink:ws:
>>> Signalling error: Error: Error None (Some("Old Canceller should not exist")) at net/webrtc/src/utils.rs:131 <http://utils.rs:131/>
>>> 
>>> Execution ended after 0:00:02.911160133
>>> Setting pipeline to NULL ...
>>> Freeing pipeline ...
>>> 
>>> 
>>> Any ideas ?
>>> 
>>> Many thanks !
>>> 
>>>  
>>> 
>>>> On 15 Jul 2023, at 15:44, Tarun Tej K <tarun4690 at gmail.com <mailto:tarun4690 at gmail.com>> wrote:
>>>> 
>>>> Ok, you will need Gstreamer version 1.22 for this, where webrtcbin has this signal 'request-aux-sender' implemented.
>>>> 
>>> 
>>> 
>>>> On Sat, 15 Jul, 2023, 19:53 GST Developer, <gstreamer at gallery.co.uk <mailto:gstreamer at gallery.co.uk>> wrote:
>>>>> Thanks Tarun,
>>>>> 
>>>>> we are making progress - this pipeline does startup, but it fails after a few seconds:
>>>>> 
>>>>> gst-launch-1.0  ndisrc ndi-name="NDIPE8 (SIGGEN)" ! ndisrcdemux  name=demux demux.video ! queue ! videoconvert ! whipwebrtcsink name=ws signaller::whip-endpoint="https://director.millicast.com/api/whip/myStreamName",auth-token=“..redacted.." demux.audio ! queue ! audioconvert ! ws.
>>>>> 
>>>>> Setting pipeline to PAUSED ...
>>>>> Pipeline is live and does not need PREROLL ...
>>>>> Pipeline is PREROLLED ...
>>>>> Setting pipeline to PLAYING ...
>>>>> New clock: GstSystemClock
>>>>> Redistribute latency...
>>>>> Redistribute latency...
>>>>> Redistribute latency…
>>>>> 
>>>>> <it runs fine here for a few seconds with the numbers running>
>>>>> 
>>>>> thread 'tokio-runtime-worker' panicked at 'Signal 'request-aux-sender' of type 'GstWebRTCBin' not found', /home/ubuntu/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/44c4ab3/glib/src/object.rs:2642:32
>>>>> note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
>>>>> thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: PoisonError { .. }', net/webrtc/src/webrtcsink/imp.rs:3013:47
>>>>> ERROR: from element /GstPipeline:pipeline0/GstWhipWebRTCSink:ws: Panicked: called `Result::unwrap()` on an `Err` value: PoisonError { .. }
>>>>> thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: PoisonError { .. }', net/webrtc/src/webrtcsink/imp.rs:3013Execution ended after 0:00:01.886767934
>>>>> :47Setting pipeline to NULL ...
>>>>> 
>>>>> ERROR: from element /GstPipeline:pipeline0/GstWhipWebRTCSink:ws: Panicked
>>>>> ERROR: from element /GstPipeline:pipeline0/GstWhipWebRTCSink:ws: Panicked
>>>>> ERROR: from element /GstPipeline:pipeline0/GstWhipWebRTCSink:ws: Panicked: called `Result::unwrap()` on an `Err` value: PoisonError { .. }
>>>>> ERROR: from element /GstPipeline:pipeline0/GstWhipWebRTCSink:ws: Panicked
>>>>> Freeing pipeline …
>>>>> 
>>>>> 
>>> 




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20230807/24bbb597/attachment-0001.htm>


More information about the gstreamer-devel mailing list