werift
werift (Webrtc Implementation for TypeScript)
werift is a WebRTC Implementation for TypeScript (Node.js), includes ICE/DTLS/SCTP/RTP.
install
npm install werift
requires at least Node.js 16
Documentation (WIP)
examples
https://github.com/shinyoshiaki/werift-webrtc/tree/master/examples
SFU
https://github.com/shinyoshiaki/node-sfu
demo
MediaChannel
yarn media
open https://shinyoshiaki.github.io/werift-webrtc/examples/mediachannel/pubsub/answer
see console & chrome://webrtc-internals/
DataChannel
run
yarn datachannel
open https://shinyoshiaki.github.io/werift-webrtc/examples/datachannel/answer
see console & chrome://webrtc-internals/
RoadMap
Work in Progress Towards 1.0
- STUN
- TURN
- UDP
- ICE
- Vanilla ICE
- Trickle ICE
- ICE-Lite Client Side
- ICE-Lite Server Side
- DTLS
- DTLS-SRTP
- Curve25519
- P-256
- DataChannel
- MediaChannel
- sendonly
- recvonly
- sendrecv
- multi track
- RTX
- RED
- RTP
- RFC 3550
- Parse RTP Payload Format for VP8 Video
- Parse RTP Payload Format for VP9 Video
- Parse RTP Payload Format for H264 Video
- Parse RTP Payload Format for AV1 Video
- RED (RFC 2198)
- RTCP
- SR/RR
- Picture Loss Indication
- ReceiverEstimatedMaxBitrate
- GenericNack
- TransportWideCC
- SRTP
- SRTCP
- SDP
- PeerConnection
- Simulcast
- recv
- BWE
- sender side BWE
- Documentation
- Compatibility
- Chrome
- FireFox
- Pion
- aiortc
- sipsorcery
- webrtc-rs
- Interop E2E test
- Chrome
- ↓↓↓ https://github.com/sipsorcery/webrtc-echoes
- Pion
- aiortc
- sipsorcery
- webrtc-rs
- Unit Tests
- follow Web Platform Tests
- MediaRecorder
- OPUS
- VP8
- H264
- VP9
- AV1
Road Map Towards 2.0
- API compatible with browser RTCPeerConnection
- ICE
- ICE restart
- SDP
- reuse inactive m-line
- Simulcast
- send
- support more cipher suites
- getStats
- TURN
- TCP
reference
- aiortc https://github.com/aiortc/aiortc
- pion/webrtc https://github.com/pion/webrtc
- etc ....