README 1.77 KB
Newer Older
1 2

Nice: GLib ICE library
3
======================
4

Dafydd Harries's avatar
Dafydd Harries committed
5 6
Copyright
---------
7

Olivier Crête's avatar
Olivier Crête committed
8
 (C) 2006-2020 Collabora Ltd.
Youness Alaoui's avatar
Youness Alaoui committed
9
 (C) 2006-2011 Nokia Corporation
10

Dafydd Harries's avatar
Dafydd Harries committed
11 12
License
-------
13

Dafydd Harries's avatar
Dafydd Harries committed
14
See the file COPYING.
15

16 17
Requirements
------------
18

19
 glib >= 2.54
20
 pkg-config
21
 gnutls >= 2.12.0 or OpenSSL
Youness Alaoui's avatar
Youness Alaoui committed
22
 gupnp-igd >= 0.1.2 (optional)
Tim-Philipp Müller's avatar
Tim-Philipp Müller committed
23
 gstreamer-0.10 (optional)
Olivier Crête's avatar
Olivier Crête committed
24
 gstreamer-1.0 (optional)
25

26 27 28
Build instructions
------------------

Tim-Philipp Müller's avatar
Tim-Philipp Müller committed
29 30 31 32 33 34 35 36 37 38 39
libnice uses the Meson Build System: https://mesonbuild.com

To build on Linux and Mac, you only need to type the usual commands :

  meson builddir
  ninja -C builddir
  ninja -C builddir test (or "meson test -C builddir" for more control)
  sudo ninja -C builddir install

See https://mesonbuild.com/Quick-guide.html#compiling-a-meson-project
for more details and how to install the Meson build system.
40

41 42 43
Structure
---------

Youness Alaoui's avatar
Youness Alaoui committed
44 45 46 47
 agent/   - ICE agent
 docs/    - Design and API documentation
 gst/     - Gstreamer elements
 nice/    - libnice library
48
 random/  - random number generation
Youness Alaoui's avatar
Youness Alaoui committed
49
 socket/  - Socket abstraction layer
50
 stun/    - STUN implementation
Youness Alaoui's avatar
Youness Alaoui committed
51
 tests/   - Unit tests
52

53 54 55 56 57
Relevant standards
------------------

These standards are relevant to nice's current implementation.

Olivier Crête's avatar
Olivier Crête committed
58
ICE
59 60
  https://tools.ietf.org/html/rfc5245 (old)
  https://tools.ietf.org/html/rfc8445
61
STUN
62 63
  https://tools.ietf.org/html/rfc3489 (old)
  https://tools.ietf.org/html/rfc5389
64 65
STUN Consent Freshness RFC
  https://tools.ietf.org/html/rfc7675
66
TURN 
67
  https://tools.ietf.org/html/rfc5766
68
RTP
69
  https://tools.ietf.org/html/rfc3550
Olivier Crête's avatar
Olivier Crête committed
70
ICE-TCP RFC
71
  https://tools.ietf.org/html/rfc6544
Olivier Crête's avatar
Olivier Crête committed
72 73
Trickle ICE
   https://tools.ietf.org/html/draft-ietf-ice-trickle-21
74
XMPP Jingle ICE transport
75
  https://www.xmpp.org/extensions/xep-0176.html
76 77 78 79 80

In future, nice may additionally support the following standards.

NAT-PMP
  http://files.dns-sd.org/draft-cheshire-nat-pmp.txt
Marcus Lundblad's avatar
Marcus Lundblad committed
81

82