MediaStream IDs with webrtcbin
Matthew Waters
ystreet00 at gmail.com
Tue Sep 7 10:31:59 UTC 2021
mid's are only set as part of SDP negotiation. From memory, they won't
have a valid value until SDP negotiation completes.
'on-new-transceiver' may have already been called by the request of any
sink pads on webrtcbin. If you're creating webrtcbin within gst-launch
strings, the request of the webrtcbin sink pad would occur before you
have a chance to add your 'on-new-transceiver' signal callback.
Cheers
-Matt
On 7/9/21 7:41 pm, Florian Echtler wrote:
> Thanks, Matt - I've tried to call get-transceivers and that gives me 3
> transceiver objects as expected (2 video, 1 audio), but the mid
> property of all of them is always empty (None in Python).
>
> I'm currently calling get-transceivers after on-negotiation-created,
> but that seems to be the wrong point in time?
>
> Also, I initially tried to register for on-new-transceiver, but that
> never seems to get called at all...
>
> What am I missing here?
>
> Thanks and best, Florian
>
> On 07/09/2021 05:28, Matthew Waters wrote:
>> MediaStreamId's are not really supported by webrtcbin at all
>> currently. They are only there to make RTX work as required by browsers.
>>
>> Also, putting ssrc's into SDP is something that's going away with the
>> use of simulcast and mid/rid header extensions so I'm not entirely
>> sure on the usefulness of a=ssrc msid:$val going forward in that
>> respect.
>>
>> How we usually advise to match up streams on both sides is via 'mid'
>> which is both in the SDP and exposed through the transceivers on both
>> ends.
>>
>> Cheers
>> -Matt
>>
>> On 6/9/21 5:59 pm, Florian Echtler via gstreamer-devel wrote:
>>> Hello everyone,
>>>
>>> there's a SO discussion on how to properly label multiple video
>>> streams in a WebRTC bundle: https://stackoverflow.com/a/65412097/838719
>>>
>>> The conclusion is to add a mapping from MediaStreamIDs to "readable"
>>> names, but how would I go about this with webrtcbin?
>>>
>>> AFAICT the only connection between the gstreamer pipeline and the
>>> resulting SDP offer is through the payload ID:
>>>
>>> m=video 9 UDP/TLS/RTP/SAVPF 96
>>> [...]
>>> a=ssrc:647810976 msid:user3145526253 at host-b7e78eb1 webrtctransceiver0
>>> a=ssrc:647810976 cname:user3145526253 at host-b7e78eb1
>>> a=mid:video0
>>>
>>> Is there any way I can set either mid or msid from outside, or do I
>>> have to parse the SDP for this to figure out how payload ID and
>>> mid/msid match?
>>>
>>> Best, Florian
>>
>>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 495 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20210907/e7e6390f/attachment.sig>
More information about the gstreamer-devel
mailing list