webrtc Windows and Linux peers.

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

webrtc Windows and Linux peers.

DejanCotra
Hi all,

We are using Gstreamer 1.16.2 for out project and webrtc to stream video and
audio.

We have webrtc peer that is on server (Windows). Its Java application with
Java bindings for Gstreamer 1.16.2 and it is receive only side.

We have application also Java with java bindings (Gstreamer 1.16.2) for
Windows that we run from on out local machine.
And with that one webrtc streaming is working perfectly.

We have also QT application with c bindings for Gstremer 1.16.2 which runs
on Ubuntu 20.
and with that one when we try to connect to same server application we get
following error:

(java.exe:320): GStreamer-CRITICAL **: 14:17:11.974: Padname src_0 is not
unique in element webrtc, not adding
basesrc gstbasesrc.c:3072:gst_base_src_loop:<nicesrc0> error: Internal data
stream error.
0:02:09.250966000   320 000000003B1E1D40 WARN                 basesrc
gstbasesrc.c:3072:gst_base_src_loop:<nicesrc0> error: streaming stopped,
reason not-linked (-1)

and it seems that error only happens when we want to stream video.

if it helps here is offer that our windows application is sending:
v=0
o=- 501479368511947525 0 IN IP4 0.0.0.0
s=-
t=0 0
a=ice-options:trickle
a=group:BUNDLE video0 audio1 application2
m=video 9 UDP/TLS/RTP/SAVPF 97
c=IN IP4 0.0.0.0
a=setup:actpass
a=ice-ufrag:EbBXeEQw481gcZSjRgQ5cYbipJny5+pH
a=ice-pwd:4mM/LMpPmdIicHGLa4z9vHAl6H0zP6is
a=rtcp-mux
a=rtcp-rsize
a=sendrecv
a=rtpmap:97 H264/90000
a=rtcp-fb:97 nack pli
a=framerate:30
a=fmtp:97
packetization-mode=1;profile-level-id=42c00d;sprop-parameter-sets=Z0LADdoFB+wFqDAILSgAAAMACAAAAwHkeKFV,aM48gA==
a=ssrc:3579825629 msid:user454885923@host-e743727d webrtctransceiver0
a=ssrc:3579825629 cname:user454885923@host-e743727d
a=mid:video0
a=fingerprint:sha-256
9B:C0:7C:45:F2:2F:15:06:42:B2:69:9C:6F:9C:40:F6:E3:D9:BB:BE:9B:4D:C1:55:3E:43:55:53:35:2C:3C:0B
m=audio 0 UDP/TLS/RTP/SAVPF 96
c=IN IP4 0.0.0.0
a=setup:actpass
a=ice-ufrag:EbBXeEQw481gcZSjRgQ5cYbipJny5+pH
a=ice-pwd:4mM/LMpPmdIicHGLa4z9vHAl6H0zP6is
a=bundle-only
a=rtcp-mux
a=rtcp-rsize
a=sendrecv
a=rtpmap:96 OPUS/48000/2
a=rtcp-fb:96 nack pli
a=fmtp:96 sprop-maxcapturerate=16000;sprop-stereo=0
a=ssrc:921578147 msid:user454885923@host-e743727d webrtctransceiver1
a=ssrc:921578147 cname:user454885923@host-e743727d
a=mid:audio1
a=fingerprint:sha-256
9B:C0:7C:45:F2:2F:15:06:42:B2:69:9C:6F:9C:40:F6:E3:D9:BB:BE:9B:4D:C1:55:3E:43:55:53:35:2C:3C:0B
m=application 0 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 0.0.0.0
a=setup:actpass
a=ice-ufrag:EbBXeEQw481gcZSjRgQ5cYbipJny5+pH
a=ice-pwd:4mM/LMpPmdIicHGLa4z9vHAl6H0zP6is
a=bundle-only
a=mid:application2
a=sctp-port:5000
a=fingerprint:sha-256
9B:C0:7C:45:F2:2F:15:06:42:B2:69:9C:6F:9C:40:F6:E3:D9:BB:BE:9B:4D:C1:55:3E:43:55:53:35:2C:3C:0B

and this is offer that our linux application is sending:
v=0
o=- 1796264387395417853 0 IN IP4 0.0.0.0
s=-
t=0 0
a=ice-options:trickle
a=group:BUNDLE video0 audio1
m=video 9 UDP/TLS/RTP/SAVPF 97
c=IN IP4 0.0.0.0
a=setup:actpass
a=ice-ufrag:17/bmehPUdiRU3fsbV5PqaRTy0jh8Ddi
a=ice-pwd:r30VT2ReWwvuJXJzc7Z/LrYrkOCEsDjt
a=rtcp-mux
a=rtcp-rsize
a=sendonly
a=rtpmap:97 H264/90000
a=rtcp-fb:97 nack pli
a=framerate:30
a=fmtp:97
packetization-mode=1;profile-level-id=42c00d;sprop-parameter-sets=Z0LADdoFB+wFqDAILSgAAAMACAAAAwHkeKFV,aM48gA==
a=ssrc:2893375866 msid:user1621745001@host-d9277ee2 webrtctransceiver2
a=ssrc:2893375866 cname:user1621745001@host-d9277ee2
a=mid:video0
a=fingerprint:sha-256
0B:F8:15:CA:70:D2:C9:B2:FD:B4:15:01:F2:62:93:F8:93:0B:FF:FD:56:22:96:6E:4C:FC:D2:84:50:96:62:8B
m=audio 0 UDP/TLS/RTP/SAVPF 96
c=IN IP4 0.0.0.0
a=setup:actpass
a=ice-ufrag:17/bmehPUdiRU3fsbV5PqaRTy0jh8Ddi
a=ice-pwd:r30VT2ReWwvuJXJzc7Z/LrYrkOCEsDjt
a=bundle-only
a=rtcp-mux
a=rtcp-rsize
a=sendonly
a=rtpmap:96 OPUS/48000/2
a=rtcp-fb:96 nack pli
a=fmtp:96 sprop-maxcapturerate=48000;sprop-stereo=0
a=ssrc:360164287 msid:user1621745001@host-d9277ee2 webrtctransceiver3
a=ssrc:360164287 cname:user1621745001@host-d9277ee2
a=mid:audio1
a=fingerprint:sha-256
0B:F8:15:CA:70:D2:C9:B2:FD:B4:15:01:F2:62:93:F8:93:0B:FF:FD:56:22:96:6E:4C:FC:D2:84:50:96:62:8B

this is offer where I set sendonly to transceivers but same thing happens if
they are sendrecv.

Do we miss some steps on linux client?

 



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: webrtc Windows and Linux peers.

Nicolas Dufresne-5
Le jeudi 16 juillet 2020 à 09:31 -0500, DejanCotra a écrit :

> Hi all,
>
> We are using Gstreamer 1.16.2 for out project and webrtc to stream video and
> audio.
>
> We have webrtc peer that is on server (Windows). Its Java application with
> Java bindings for Gstreamer 1.16.2 and it is receive only side.
>
> We have application also Java with java bindings (Gstreamer 1.16.2) for
> Windows that we run from on out local machine.
> And with that one webrtc streaming is working perfectly.
>
> We have also QT application with c bindings for Gstremer 1.16.2 which runs
> on Ubuntu 20.
> and with that one when we try to connect to same server application we get
> following error:
>
> (java.exe:320): GStreamer-CRITICAL **: 14:17:11.974: Padname src_0 is not
> unique in element webrtc, not adding
> basesrc gstbasesrc.c:3072:gst_base_src_loop:<nicesrc0> error: Internal data
> stream error.
> 0:02:09.250966000   320 000000003B1E1D40 WARN                 basesrc
> gstbasesrc.c:3072:gst_base_src_loop:<nicesrc0> error: streaming stopped,
> reason not-linked (-1)

Use G_DEBUG=fatal_criticals env to make it abort on this assertion. Run this in
a debugger and you should find your code somewhere in the stack trace. Make sure
to cleanup your pads before tryign to create new ones.

>
> and it seems that error only happens when we want to stream video.
>
> if it helps here is offer that our windows application is sending:
> v=0
> o=- 501479368511947525 0 IN IP4 0.0.0.0
> s=-
> t=0 0
> a=ice-options:trickle
> a=group:BUNDLE video0 audio1 application2
> m=video 9 UDP/TLS/RTP/SAVPF 97
> c=IN IP4 0.0.0.0
> a=setup:actpass
> a=ice-ufrag:EbBXeEQw481gcZSjRgQ5cYbipJny5+pH
> a=ice-pwd:4mM/LMpPmdIicHGLa4z9vHAl6H0zP6is
> a=rtcp-mux
> a=rtcp-rsize
> a=sendrecv
> a=rtpmap:97 H264/90000
> a=rtcp-fb:97 nack pli
> a=framerate:30
> a=fmtp:97
> packetization-mode=1;profile-level-id=42c00d;sprop-parameter-
> sets=Z0LADdoFB+wFqDAILSgAAAMACAAAAwHkeKFV,aM48gA==
> a=ssrc:3579825629 msid:user454885923@host-e743727d webrtctransceiver0
> a=ssrc:3579825629 cname:user454885923@host-e743727d
> a=mid:video0
> a=fingerprint:sha-256
> 9B:C0:7C:45:F2:2F:15:06:42:B2:69:9C:6F:9C:40:F6:E3:D9:BB:BE:9B:4D:C1:55:3E:43:
> 55:53:35:2C:3C:0B
> m=audio 0 UDP/TLS/RTP/SAVPF 96
> c=IN IP4 0.0.0.0
> a=setup:actpass
> a=ice-ufrag:EbBXeEQw481gcZSjRgQ5cYbipJny5+pH
> a=ice-pwd:4mM/LMpPmdIicHGLa4z9vHAl6H0zP6is
> a=bundle-only
> a=rtcp-mux
> a=rtcp-rsize
> a=sendrecv
> a=rtpmap:96 OPUS/48000/2
> a=rtcp-fb:96 nack pli
> a=fmtp:96 sprop-maxcapturerate=16000;sprop-stereo=0
> a=ssrc:921578147 msid:user454885923@host-e743727d webrtctransceiver1
> a=ssrc:921578147 cname:user454885923@host-e743727d
> a=mid:audio1
> a=fingerprint:sha-256
> 9B:C0:7C:45:F2:2F:15:06:42:B2:69:9C:6F:9C:40:F6:E3:D9:BB:BE:9B:4D:C1:55:3E:43:
> 55:53:35:2C:3C:0B
> m=application 0 UDP/DTLS/SCTP webrtc-datachannel
> c=IN IP4 0.0.0.0
> a=setup:actpass
> a=ice-ufrag:EbBXeEQw481gcZSjRgQ5cYbipJny5+pH
> a=ice-pwd:4mM/LMpPmdIicHGLa4z9vHAl6H0zP6is
> a=bundle-only
> a=mid:application2
> a=sctp-port:5000
> a=fingerprint:sha-256
> 9B:C0:7C:45:F2:2F:15:06:42:B2:69:9C:6F:9C:40:F6:E3:D9:BB:BE:9B:4D:C1:55:3E:43:
> 55:53:35:2C:3C:0B
>
> and this is offer that our linux application is sending:
> v=0
> o=- 1796264387395417853 0 IN IP4 0.0.0.0
> s=-
> t=0 0
> a=ice-options:trickle
> a=group:BUNDLE video0 audio1
> m=video 9 UDP/TLS/RTP/SAVPF 97
> c=IN IP4 0.0.0.0
> a=setup:actpass
> a=ice-ufrag:17/bmehPUdiRU3fsbV5PqaRTy0jh8Ddi
> a=ice-pwd:r30VT2ReWwvuJXJzc7Z/LrYrkOCEsDjt
> a=rtcp-mux
> a=rtcp-rsize
> a=sendonly
> a=rtpmap:97 H264/90000
> a=rtcp-fb:97 nack pli
> a=framerate:30
> a=fmtp:97
> packetization-mode=1;profile-level-id=42c00d;sprop-parameter-
> sets=Z0LADdoFB+wFqDAILSgAAAMACAAAAwHkeKFV,aM48gA==
> a=ssrc:2893375866 msid:user1621745001@host-d9277ee2 webrtctransceiver2
> a=ssrc:2893375866 cname:user1621745001@host-d9277ee2
> a=mid:video0
> a=fingerprint:sha-256
> 0B:F8:15:CA:70:D2:C9:B2:FD:B4:15:01:F2:62:93:F8:93:0B:FF:FD:56:22:96:6E:4C:FC:
> D2:84:50:96:62:8B
> m=audio 0 UDP/TLS/RTP/SAVPF 96
> c=IN IP4 0.0.0.0
> a=setup:actpass
> a=ice-ufrag:17/bmehPUdiRU3fsbV5PqaRTy0jh8Ddi
> a=ice-pwd:r30VT2ReWwvuJXJzc7Z/LrYrkOCEsDjt
> a=bundle-only
> a=rtcp-mux
> a=rtcp-rsize
> a=sendonly
> a=rtpmap:96 OPUS/48000/2
> a=rtcp-fb:96 nack pli
> a=fmtp:96 sprop-maxcapturerate=48000;sprop-stereo=0
> a=ssrc:360164287 msid:user1621745001@host-d9277ee2 webrtctransceiver3
> a=ssrc:360164287 cname:user1621745001@host-d9277ee2
> a=mid:audio1
> a=fingerprint:sha-256
> 0B:F8:15:CA:70:D2:C9:B2:FD:B4:15:01:F2:62:93:F8:93:0B:FF:FD:56:22:96:6E:4C:FC:
> D2:84:50:96:62:8B
>
> this is offer where I set sendonly to transceivers but same thing happens if
> they are sendrecv.
>
> Do we miss some steps on linux client?
>
>  
>
>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: webrtc Windows and Linux peers.

DejanCotra
Hi Nicolas,

Tnx for answer.

So scenario is like this:
I receive webrtc offer and ICEs, send answer and ICEs to peer.
And Im waiting for incoming stream. I registered callback for pad-added
event. And before execution reaches my callback (and I have any chance to
add elements into pipeline) error occurs.

So I do not know is tracing my code will give me any clue.
Or maybe again Im missing something?

Dejan



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel