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

Would pion/interceptor be useful? Anything I can change/add #19

Closed
Sean-Der opened this issue Dec 16, 2020 · 4 comments
Closed

Would pion/interceptor be useful? Anything I can change/add #19

Sean-Der opened this issue Dec 16, 2020 · 4 comments

Comments

@Sean-Der
Copy link

Hey @aler9

I just finished up the README/examples for https://github.com/pion/interceptor and wanted to see if I could convince you to get involved :)

I want to be re-usable RTP/RTCP infrastructure we can work together on. You can opt in/out of different interceptors and then we could benefit from each others work! I am also hopeful this will kickstart other RTP/RTCP based projects in go. The overlap I see is.

  • Sender/Receiver Reports
  • JitterBuffer
@aler9
Copy link
Member

aler9 commented Dec 16, 2020

hello @Sean-Der, of course i'm willing to contribute to the project, especially since the RTCP part is missing from pion/webrtc and at the same time is essential in SFUs in order to tune the bitrate, my only problem is lack of time :)

Anyway, i already did a research work about webrtc and RTCP for a commercial project, and it involved

  1. building a SFU with pion/webrtc that links a receiver and a transmitter, routes RTCP packets between them and intercepts RTCP packets sent from/to Chrome
  2. inspecting RTCP packets generated by Chrome
  3. limiting the bandwidth, watching NACKs
  4. implementing RTCP feedback inside another SFU, replicating Chrome behavior

The biggest difference between the RTCP implementation of this project and the one fit for pion/webrtc is that mine doesn't parse RTCP/RTP packets for performance reasons - therefore at the moment they cannot share a common library, but it's not a big deal and i already have a version fit for the pion/webrtc.

What is missing is

  1. make it compatible with interceptors
  2. modularize it (separate RTCP feedback and NACKs)
  3. add unit tests

Therefore i will publish as soon as i can.

@Sean-Der
Copy link
Author

awesome! Another great one will be statistics.

I am going to write an interceptor that feeds getStats, but that would also be great for RTSP. Users will be able to see all that great stuff like packet loss/jitter etc... and I want to have visualization tools as well :)

Thanks for the optimism. It is really great to have other projects doing RTC in Go, feels like momentum is growing

@aler9
Copy link
Member

aler9 commented Feb 27, 2021

moved here #22

@aler9 aler9 closed this as completed Feb 27, 2021
@github-actions
Copy link

This issue is being locked automatically because it has been closed for more than 6 months.
Please open a new issue in case you encounter a similar problem.

@github-actions github-actions bot locked and limited conversation to collaborators Dec 31, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants