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

Project roadmap #3

Closed
chrisprobst opened this issue Oct 30, 2020 · 17 comments
Closed

Project roadmap #3

chrisprobst opened this issue Oct 30, 2020 · 17 comments

Comments

@chrisprobst
Copy link

Hi, first of all, I am a Pion lover. It's great to see movement in the Rust world. Since this project is very recent, how serious is this project? I am planning long-term for some of our software components. Rust might be valuable for us but we need WebRTC support. So don't get my question offensive in any way. Just curious if this is something I could base our stack on in the future.

Cheers
Chris

@rainliu
Copy link
Member

rainliu commented Oct 30, 2020

Hi @chrisprobst,

Thanks for bringing up this issue. I am a Pion lover too and also a Rustacean. That's why I'd like to port Pion to Rust. Yes, I am taking this project seriously. But I can only work on this project on weekend days. Therefore, this project needs community's help to speed up the development. Contributors or pull requests are welcome.

Rain

@Sean-Der
Copy link
Member

I am really impressed with your work @rainliu this is a fantastic undertaking! Lots of people having been asking for a rust implementation, so excited to send them over here :)

You should post on https://news.ycombinator.com/show and reddit.com/r/webrtc and reddit.com/r/rust when you are ready. I think you will be able to build a community easily.

I would love to help if I can. Maybe we could start with a simple DataChannels example and get that working?

@rainliu
Copy link
Member

rainliu commented Oct 30, 2020

@Sean-Der,

Thanks for your mentioning this project in Slack #pion, and suggestions how to build a community for this project.

If you are willing, I can invite you as a member of this project.

Rain

@Sean-Der
Copy link
Member

Sean-Der commented Nov 1, 2020

@rainliu I would love to join!

You are the leader/creator of the project. So tell me what I can do to help :)

I would love to get a simple DataChannels example working. If we can make that happen I think you will get a huge amount of interest!

@metaclips
Copy link
Member

@rainliu can we create issues splitting todos? I plan on contributing constantly and need to know tasks to be done.

@Sean-Der
Copy link
Member

@rainliu I am happy to sketch out the APIs that it would take in ICE + PeerConnection to get a MVP going! I can create the issues. If you do that and then share you will get even more people.

With Pion the most difficult thing was changing bad public APIs. So would love to share that knowledge. Things like Trickle ICE, Media APIs and re-negotiation were really painful :)

@rainliu
Copy link
Member

rainliu commented Nov 15, 2020

@Sean-Der, sure, please go ahead to create the issues. Thanks.

@breebee
Copy link

breebee commented Nov 16, 2020

If webrtc has all these obstacles due to networking NAT traversals and firewalls or whatever, could there be a way to implement something like GNU GNS in a webassembly WASM/WASI module served over https to resolve and make the peer connections directly from the resolver?

**PS, I actually passed by pion just because it wasnt Rust :) I am actually really excited about this port!

@breebee
Copy link

breebee commented Nov 16, 2020

For example instead of using a signaling mechanism, use the hash table which the server acts as a public peer point of access. Too far out?

@falconmick
Copy link

@Sean-Der damn lol your everywhere I look

@Sparika
Copy link

Sparika commented Jan 11, 2021

Hi everyone. @Sean-Der @rainliu I'm looking into using WebRTC-rs, a MVP PeerConnection may be enough to start. Is there any progress on the roadmap/API/list of issues/ETA for the PeerConnection?

I need to decide between webrtc-rs or advancing with my proof of concept using pion.

@rainliu
Copy link
Member

rainliu commented Jan 11, 2021

PeerConnection is not ready yet. We are still working on TURN/ICE.

You can alway use Pion for your proof of concept.

@trivigy
Copy link
Contributor

trivigy commented Jan 16, 2021

@rainliu this is awesome. I would love to help out in some ways with writing code. I wrote a bunch of the pion's go code. The whole SDP state based parsing was my rewrite. Since I have migrated quiet fully into rust I should be able to help pretty much anywhere in the stack. Will start looking through the code until I find some place I can contribute. Is there a rust specific community chat going somewhere? Like gopher's pion but rust specific.

@rainliu
Copy link
Member

rainliu commented Jan 16, 2021

@trivigy, thank you for offering the help. Please look around the code base to find any place you would like to contribute. Webrtc-rs needs more contributions from the community so we can speed up the development.

@trivigy
Copy link
Contributor

trivigy commented Jan 16, 2021

Is there a rust specific community chat going somewhere?

@rainliu If not, you care if I set up one?

@rainliu
Copy link
Member

rainliu commented Jan 16, 2021

@trivigy, please go ahead to set up. Thank you.

@trivigy
Copy link
Contributor

trivigy commented Jan 17, 2021

For posterity leaving this here https://discord.gg/4Ju8UHdXMs. I make a few PRs on this repo, ice, and sdp since those are the first ones I am giving a read first. But I'll keep updating things as I go.

@rainliu rainliu closed this as completed Jul 4, 2021
srcrip pushed a commit to srcrip/webrtc that referenced this issue Jun 21, 2022
algesten pushed a commit that referenced this issue Aug 23, 2022
algesten pushed a commit that referenced this issue Aug 23, 2022
algesten pushed a commit that referenced this issue Aug 23, 2022
algesten pushed a commit that referenced this issue Aug 23, 2022
Fixes the CRC32 calculation for FINGERPRINT
algesten pushed a commit that referenced this issue Aug 23, 2022
Refactor out use of anyhow
algesten pushed a commit that referenced this issue Aug 23, 2022
algesten pushed a commit that referenced this issue Aug 23, 2022
Wrap RtcpReader in fresh objects per call to bind_rtcp_reader in default interceptors
rainliu added a commit that referenced this issue Apr 20, 2024
* Remove dependence on unneeded Tokio 'process' and 'signal' features

* Use portable-atomic for broader support of platforms

* Comprehensive migration to portable_atomic

* Run cargo fmt --all

Co-authored-by: Rusty Rain <2069201+rainliu@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants