Sending multiple video streams using webrtcbin

Matthew Waters ystreet00 at gmail.com
Fri Aug 21 06:48:00 UTC 2020


Correct, that is one video stream.

You need as many m= lines as streams that are going to be transmitted.

On 21/8/20 12:47 pm, Stergios Hetelekides wrote:
> Thanks for the info - I think I found the commit that you're talking
> about https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/commit/bd92b2f7c4f28b6fac854ddbdae08b821adb55c4
>
> I'm using GStreamer 1.14 (hoping to bump to 1.18 soon), so definitely
> could be related to that.
>
> Would you know where I can find an example sdp offer offering to
> receive multiple video streams? The offer from my app looks like this,
> which I don't think is offering to receive multiple streams?
> v=0
> o=- 4844745111013802911 2 IN IP4 127.0.0.1
> s=-
> t=0 0
> a=group:BUNDLE video
> a=msid-semantic: WMS
> m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 127 123 125 122 124
> c=IN IP4 0.0.0.0
> a=rtcp:9 IN IP4 0.0.0.0
> a=ice-ufrag:rhZo
> a=ice-pwd:la1S6P3cNIKonj6+auUhqj7+
> a=ice-options:trickle renomination
> a=fingerprint:sha-256
> E5:E0:B9:27:C8:F8:1A:F1:6A:1F:67:F0:47:E9:96:49:7B:9A:83:08:F9:55:5D:75:6F:E4:27:AA:40:79:FA:0C
> a=setup:actpass
> a=mid:video
> a=extmap:14 urn:ietf:params:rtp-hdrext:toffset
> a=extmap:13 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
> a=extmap:3 urn:3gpp:video-orientation
> a=extmap:2
> http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
> a=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
> a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
> a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
> a=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07
> a=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space
> a=recvonly
> a=rtcp-mux
> a=rtcp-rsize
> a=rtpmap:96 H264/90000
> a=rtcp-fb:96 goog-remb
> a=rtcp-fb:96 transport-cc
> a=rtcp-fb:96 ccm fir
> a=rtcp-fb:96 nack
> a=rtcp-fb:96 nack pli
> a=fmtp:96
> level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640c1f
> a=rtpmap:97 rtx/90000
> a=fmtp:97 apt=96
> a=rtpmap:98 H264/90000
> a=rtcp-fb:98 goog-remb
> a=rtcp-fb:98 transport-cc
> a=rtcp-fb:98 ccm fir
> a=rtcp-fb:98 nack
> a=rtcp-fb:98 nack pli
> a=fmtp:98
> level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
> a=rtpmap:99 rtx/90000
> a=fmtp:99 apt=98
> a=rtpmap:100 VP8/90000
> a=rtcp-fb:100 goog-remb
> a=rtcp-fb:100 transport-cc
> a=rtcp-fb:100 ccm fir
> a=rtcp-fb:100 nack
> a=rtcp-fb:100 nack pli
> a=rtpmap:101 rtx/90000
> a=fmtp:101 apt=100
> a=rtpmap:127 VP9/90000
> a=rtcp-fb:127 goog-remb
> a=rtcp-fb:127 transport-cc
> a=rtcp-fb:127 ccm fir
> a=rtcp-fb:127 nack
> a=rtcp-fb:127 nack pli
> a=rtpmap:123 rtx/90000
> a=fmtp:123 apt=127
> a=rtpmap:125 red/90000
> a=rtpmap:122 rtx/90000
> a=fmtp:122 apt=125
> a=rtpmap:124 ulpfec/90000
>
> On Thu, Aug 20, 2020 at 2:19 AM Matthew Waters <ystreet00 at gmail.com
> <mailto:ystreet00 at gmail.com>> wrote:
>
>     Yes, in order for webrtcbin to answer with sending two streams,
>     the original offer must have two streams to receive.
>
>     There was also an issue in webrtcbin at some point with multiple
>     similar streams being confused for each other (at offer/answer
>     creation) that was fixed a little while ago.  I can't remember the
>     details off the top of my head though :).
>
>     Cheers
>     -Matt
>
>     On 20/8/20 11:51 am, Stergios Hetelekides wrote:
>>     Hi,
>>
>>     I hope this is an appropriate place to ask webrtcbin questions! :)
>>
>>     I have a pipeline using webrtcbin successfully sending video to a
>>     mobile app! It looks something like this:
>>     myvideosrc -> ... -> webrtcbin
>>
>>     It's working great for a single video stream, but now I'm trying
>>     to send multiple video streams using webrtcbin to the mobile app.
>>     I've tried linking an additional src to my webrtcbin:
>>     myvideosrc -> ... -> webrtcbin
>>     videotestsrc -> ... ----^
>>
>>     When I do this, only 1 stream comes thru to the phone. By looking
>>     at the SDP answer that webrtcbin is generating, it is only
>>     responding with 1 stream in the answer. I know both pipelines
>>     work individually, but I cannot get both streams to come thru at
>>     the same time.
>>
>>     I'm not sure if it's an issue with how the mobile app is sending
>>     it's offer (does it need to offer to receive 2 streams?), or how
>>     I'm handling on the webrtcbin side? Any help would be appreciated.
>>
>>     Thank you!
>>
>>     _______________________________________________
>>     gstreamer-devel mailing list
>>     gstreamer-devel at lists.freedesktop.org <mailto:gstreamer-devel at lists.freedesktop.org>
>>     https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200821/da9626dd/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200821/da9626dd/attachment.sig>


More information about the gstreamer-devel mailing list