Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support webrtc-datachannel sdp exchange #3475

Draft
wants to merge 14 commits into
base: develop
Choose a base branch
from

Conversation

duiniuluantanqin
Copy link
Member

@duiniuluantanqin duiniuluantanqin commented Mar 17, 2023

Currently, SRS does not support WebRTC data channel. If a client requests to establish a data channel connection, it will cause an error in the browser.

Failed to set remote answer sdp: The order of m-lines in answer doesn't match order in offer. Reject

The SDP response from SRS before modification is as follows:

v=0
...
a=group:BUNDLE 0 1
m=audio 9 UDP/TLS/RTP/SAVPF 111
...
m=video 9 UDP/TLS/RTP/SAVPF 106 114
...

After modification:

v=0
...
a=group:BUNDLE 0 1 2
m=audio 9 UDP/TLS/RTP/SAVPF 111
...
m=video 9 UDP/TLS/RTP/SAVPF 106 114
...
m=application 9 UDP/DTLS/SCTP webrtc-datachannel
...

Doubtful:
Is datachannel considered as a media stream? Does it count as a track? If not, it should not be placed inside the SrsMediaDesc class, but should be separated.


TRANS_BY_GPT3

@duiniuluantanqin duiniuluantanqin marked this pull request as draft March 22, 2023 08:19
@winlinvip winlinvip force-pushed the develop branch 3 times, most recently from c056094 to 2ac9eb8 Compare March 23, 2023 06:02
chundonglinlin and others added 10 commits March 31, 2023 10:56
…ossrs#3427)

* WHIP: Support DELETE resource.
* Support push by Larix.
* FLV: Disable stash buffer for realtime.
* WHEP: Fix muted issue.

-------

Co-authored-by: chundonglinlin <[email protected]>
Co-authored-by: panda <[email protected]>
…meout. v5.0.149, v6.0.37 (ossrs#3455)

Co-authored-by: winlin <[email protected]>
Co-authored-by: ChenGH <[email protected]>
In dockerfile, we can set the default RTC candidate to env:

```
ENV SRS_RTC_SERVER_CANDIDATE=\$CANDIDATE
CMD ["./objs/srs", "-e"]
```

When starts a docker container, user can setup the candidate by env:

```
docker run --rm -it --env CANDIDATE=1.2.3.4 ossrs/srs:5
```

We should parse the content of SRS_RTC_SERVER_CANDIDATE as env variable name and parse it again.

---------

Co-authored-by: chundonglinlin <[email protected]>
Co-authored-by: pengfei.ma <[email protected]>
@duiniuluantanqin duiniuluantanqin marked this pull request as ready for review March 31, 2023 03:21
@duiniuluantanqin duiniuluantanqin marked this pull request as draft March 31, 2023 03:21
console.log('?api=x to overwrite WebRTC API(1985).');
console.log('?schema=http|https to overwrite WebRTC API protocol.');

var server = (!query.server)? window.location.hostname:query.server;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why not give ?a:b some spaces, ref line #131 'http:' ? '1985' : '1990'. They are so crowded, are they?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
TransByAI Translated by AI/GPT.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants