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