libnice
The GLib ICE implementation
Libnice is an implementation of the IETF's Interactive Connectivity Establishment (ICE) standard (RFC 5245).
It provides a GLib-based library, libnice, as well as GStreamer elements.
ICE is useful for applications that want to establish peer-to-peer UDP data streams. It automates the process of traversing NATs and provides security against some attacks. It also allows applications to create reliable streams using a TCP over UDP layer.
Existing standards that use ICE include Session Initiation Protocol (SIP), XMPP Jingle and WebRTC.
Links
- Bug reports in freedesktop.org GitLab
- git repository
- GitHub mirror — merge requests and issues should be filed on the freedesktop GitLab above, not GitHub or GitLab.com
- GitLab.com mirror
- Release downloads
- API documentation
- Explanation of how to use it with GStreamer
- Mailing list
Reporting bugs
Please report bugs using freedesktop.org GitLab (preferred) or via the mailing list. Patches can be submitted via freedesktop.org GitLab merge requests. They're not accepted on the GitHub or GitLab.com mirrors.
Relevant Standards
Farstream is a complete streaming implementation, build for peer-to-peer audio and video, that uses libnice.