summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorGregory Maxwell <greg@xiph.org>2012-08-21 14:24:38 -0400
committerGregory Maxwell <greg@xiph.org>2012-08-21 14:24:38 -0400
commit635b5f2f76ed1950e978c373c8a2469ef0637354 (patch)
tree63c1f62c54f5bcf9ab8d97df9fd7191f39f3834a /README
parent11dd5522b4e3666fd9285c62332df43222e78a6f (diff)
downloadopus-635b5f2f76ed1950e978c373c8a2469ef0637354.tar.gz
Revise README, update AUTHORS emails.
Diffstat (limited to 'README')
-rw-r--r--README68
1 files changed, 43 insertions, 25 deletions
diff --git a/README b/README
index 3d4d94b3..fe0bc429 100644
--- a/README
+++ b/README
@@ -1,3 +1,5 @@
+== Opus audio codec ==
+
Opus is a codec for interactive speech and audio transmission over the Internet.
Opus can handle a wide range of interactive audio applications, including
@@ -5,11 +7,16 @@ Voice over IP, videoconferencing, in-game chat, and even remote live music
performances. It can scale from low bit-rate narrowband speech to very high
quality stereo music.
-The IETF draft covering Opus can be found at:
- http://tools.ietf.org/id/draft-ietf-codec-opus
+ Opus, when coupled with an appropriate container format, is also suitable
+for non-realtime stored-file applications such as music distribution, game
+soundtracks, portable music players, jukeboxes, and other applications that
+have historically used high latency formats such as MP3, AAC, or Vorbis.
+
+ Opus is specified by IETF RFC 6716:
+ http://tools.ietf.org/html/rfc6716
-Opus is subject to the royalty-free patent and copyright licenses specified
-in the file COPYING.
+ The Opus format and this implementation of it are subject to the royalty-
+free patent and copyright licenses specified in the file COPYING.
This package implements a shared library for encoding and decoding raw Opus
bitstreams. Raw Opus bitstreams should be used over RTP according to
@@ -26,10 +33,14 @@ described at:
An opus-tools package is available which provides encoding and decoding of
Ogg encapsulated Opus files and includes a number of useful features.
+
Opus-tools can be found at:
- http://git.xiph.org/?p=users/greg/opus-tools.git
+ https://git.xiph.org/?p=opus-tools.git
+or on the main Opus website:
+ http://opus-codec.org/
== Compiling libopus ==
+
To build from a distribution tarball, you only need to do the following:
% ./configure
@@ -42,14 +53,14 @@ To build from the git repository, the following steps are necessary:
% git clone git://git.opus-codec.org/opus.git
% cd opus
-1) Compiling
+2) Compiling the source
% ./autogen.sh
% ./configure
% make
-Once you have compiled the codec, there will be a opus_demo executable in
-the top directory.
+Once you have compiled the codec, there will be a opus_demo executable
+in the top directory.
Usage: opus_demo [-e] <application> <sampling rate (Hz)> <channels (1/2)>
<bits per second> [options] <input> <output>
@@ -58,27 +69,32 @@ Usage: opus_demo [-e] <application> <sampling rate (Hz)> <channels (1/2)>
mode: voip | audio | restricted-lowdelay
options:
--e : only runs the encoder (output the bit-stream)
--d : only runs the decoder (reads the bit-stream as input)
--cbr : enable constant bitrate; default: variable bitrate
--cvbr : enable constrained variable bitrate; default: unconstrained
--bandwidth <NB|MB|WB|SWB|FB> : audio bandwidth (from narrowband to fullband);
- default: sampling rate
--framesize <2.5|5|10|20|40|60> : frame size in ms; default: 20
--max_payload <bytes> : maximum payload size in bytes, default: 1024
--complexity <comp> : complexity, 0 (lowest) ... 10 (highest); default: 10
--inbandfec : enable SILK inband FEC
--forcemono : force mono encoding, even for stereo input
--dtx : enable SILK DTX
--loss <perc> : simulate packet loss, in percent (0-100); default: 0
-
-input and output are little-endian signed 16-bit PCM files or opus bitstreams
-with simple opus_demo proprietary framing.
+ -e : only runs the encoder (output the bit-stream)
+ -d : only runs the decoder (reads the bit-stream as input)
+ -cbr : enable constant bitrate; default: variable bitrate
+ -cvbr : enable constrained variable bitrate; default:
+ unconstrained
+ -bandwidth <NB|MB|WB|SWB|FB>
+ : audio bandwidth (from narrowband to fullband);
+ default: sampling rate
+ -framesize <2.5|5|10|20|40|60>
+ : frame size in ms; default: 20
+ -max_payload <bytes>
+ : maximum payload size in bytes, default: 1024
+ -complexity <comp>
+ : complexity, 0 (lowest) ... 10 (highest); default: 10
+ -inbandfec : enable SILK inband FEC
+ -forcemono : force mono encoding, even for stereo input
+ -dtx : enable SILK DTX
+ -loss <perc> : simulate packet loss, in percent (0-100); default: 0
+
+input and output are little-endian signed 16-bit PCM files or opus
+bitstreams with simple opus_demo proprietary framing.
== Testing ==
This package includes a collection of automated unit and system tests
-which should be run after compiling the package especially the first
+which SHOULD be run after compiling the package especially the first
time it is run on a new platform.
To run the integrated tests:
@@ -89,6 +105,8 @@ included in this package for size reasons but can be obtained from:
http://opus-codec.org/testvectors/opus_testvectors-draft11.tar.gz
To run compare the code to these test vectors:
+
+% curl -O http://opus-codec.org/testvectors/opus_testvectors-draft11.tar.gz
% tar -zxf opus_testvectors-draft11.tar.gz
% ./tests/run_vectors.sh ./ opus_testvectors 48000