mirror of
https://github.com/pion/webrtc.git
synced 2025-09-26 19:21:12 +08:00
Page:
Goals 2021
Pages
Architecture WebRTC
Big Ideas
Code Structure
Contributing
Debugging WebRTC
Dev Docs
FAQ
Goals 2021
HighPerformancePion
Home
How to debug?
LoggingAPI
MediaAPI
Network Address Translation
Permanent Certificates
Pion WebRTC as A MCU
Projects Worth Doing
Relative Drafts And Usages
Release WebRTC@v2.0.0
Release WebRTC@v3.0.0
Release WebRTC@v4.0.0
Road Map
Single Port Mode (UDP mux)
TransportDesign
WebAssembly Development and Testing
Clone
8
Goals 2021
Sean DuBois edited this page 2021-02-26 13:17:07 -08:00
Large projects that need owners
- Add pion/interceptor Bandwidth Estimation
- Also need to add network simulation logic to pion/transport (packet loss, bufferbloat etc..)
- See https://github.com/pion/interceptor/issues/25 for more details
- Support Large SCTP messages
- Currently we have a hard cap at 65535. We need to research what the technical blockers are here
- https://github.com/pion/webrtc/issues/1396 and https://github.com/pion/webrtc/issues/758
- See https://blog.mozilla.org/webrtc/large-data-channel-messages/ and https://lgrahl.de/articles/demystifying-webrtc-dc-size-limit.html
- AV1 and H265 Support
- Need to write packetizer/depacketizer for both
- Finish pion/interceptor NACK implementation
- Support NACKs have a distinct SSRC
- Evict the NACK cache properly. Should be Round Trip Time * 4
- See https://github.com/pion/interceptor/issues/9 for more details
- Add pion/interceptor jitterbuffer implementation
- Cache incoming packets and re-arrange them
- Allow users to define cache behavior (% loss, delay etc..)
- Add pion/interceptor Transport Wide Congestion Control implementation
- Generate reports for incomming streams
- Add pion/interceptor RED/FlexFEC implementation
- Research is needed. What is support look like for other agents? What other roadbumps could we hit.
- Finish GetStats implementation
- Count incoming/outgoing packets and give users insights
- callstats.io integration?
- Support TURN Server bandwidth tracking
- Support un-bundled audio/video
- Currently pion/webrtc only supports one ICETransport, so each sides uses one port for the entire call
- Instead we should allow all audio to be run over one port, all video over another
- This will require a SettingEngine entry. Would be a good question at w3c.
- see https://github.com/pion/interceptor/issues/25#issuecomment-782775189 for more details
- Add media support to WASM bindings
- You could write your code in Go, then deploy to native and web
- https://github.com/pion/webrtc/issues/500
Reduce tech debt, not related to core code
- Port client applications to /v3 issue
- Drive down issue and PR backlog (dtls, turn and ice especially)
- Create tooling that graphs the amount of issues per repo
- Find repos that aren't getting updated
- Find repos that have lots of issues/PRs
- Write wiki page that explains the architecture of pion/webrtc and onboards new devs
- Improve performance and prevent regressions issue
- Important for WebRTC, ICE, SCTP, TURN, SRTP
- Setup fuzz testing (submit to oss-fuzz)
- Important for ICE, STUN, TURN, DTLS, SCTP, RTP and RTCP
- Automate Change log generation issue
Improve developer productivity
- FAQ on Debugging
- WebRTC for the Curious first for general debugging
- Wiki page for Pion specific tools
- pion/interceptor that generates packet dumps
- useful for debugging
- H264 Interceptor Analyzer
- IDR Interval
- Every SPS/PPS has an IDR
- Invalid H264
- B-Frames
Provide career opportunities
- Promote companies that use Pion. Helps hiring and gives small companies a little more advertising
- Developers should make projects under their own name. Better recognition/ownership
- Host meetup every ~3 months. Get speakers from the community
- First time contributor list. Contact Sean-Der on Slack or email sean@pion.ly for help.
- webrtc/v3 porting issue
- https://github.com/pion/dtls/issues/11
- https://github.com/pion/dtls/issues/253
- https://github.com/pion/dtls/issues/254
- https://github.com/pion/dtls/issues/4
- https://github.com/pion/ice/issues/197
- https://github.com/pion/ice/issues/245
- https://github.com/pion/ice/issues/60
- https://github.com/pion/rtcp/issues/22
- https://github.com/pion/rtcp/issues/8
- https://github.com/pion/rtp/issues/15 -- Interceptor that applies abs-send-time
- https://github.com/pion/rtp/issues/51
- https://github.com/pion/rtp/issues/69
- https://github.com/pion/rtp/issues/88
- https://github.com/pion/sdp/issues/11
- https://github.com/pion/srtp/issues/1
- https://github.com/pion/stun/issues/35
- https://github.com/pion/turn/issues/120
- https://github.com/pion/turn/issues/134
- https://github.com/pion/turn/issues/141
- https://github.com/pion/turn/issues/76
- https://github.com/pion/webrtc-voicemail/issues/2
- https://github.com/pion/webrtc/issues/1002
- https://github.com/pion/webrtc/issues/1242
- https://github.com/pion/webrtc/issues/1278
- https://github.com/pion/webrtc/issues/1315
- https://github.com/pion/webrtc/issues/379
- https://github.com/pion/webrtc/issues/549 -- Interceptor that outputs a pcap or rtpdump
- https://github.com/pion/webrtc/issues/785 -- Write tests to assert behavior when local/remote codecs don't intersect
- https://github.com/pion/webrtc/issues/839 --
defer peerConnection.Close()
to all examples and make note in NewPeerConnection godoc) - https://github.com/pion/webrtc/issues/846
- https://github.com/pion/webrtc/issues/1345
- https://github.com/pion/webrtc/issues/1343
- https://github.com/pion/turn/issues/150
- https://github.com/pion/webrtc/issues/1356
- https://github.com/pion/ice/issues/280
- https://github.com/pion/dtls/issues/279
- https://github.com/pion/rtp/issues/87
- https://github.com/pion/rtp/issues/79
- https://github.com/pion/srtp/issues/103
- https://github.com/pion/turn/issues/171
- https://github.com/pion/signaler/issues/4
- https://github.com/pion/webrtc/issues/1491
- https://github.com/pion/webrtc/issues/1494
- https://github.com/pion/webrtc/issues/1512
- https://github.com/pion/ice/issues/303
- https://github.com/pion/dtls/issues/319
- https://github.com/pion/interceptor/issues/9
- https://github.com/pion/interceptor/issues/10
- https://github.com/pion/sctp/issues/173
Teach users about WebRTC
- Finish WebRTC For the Curious
Empower use cases that only Pion/Go can do
- Finish WASM
- TinyGo
Sign up for the Pion Discord for discussions and support
If you need commercial support/don't want to use public methods you can contact us at team@pion.ly