diff --git a/AUTHORS b/AUTHORS index 7f40ed50053800b55ed4f5b5d7c358ba328f970f..1da587688f2631c79fe3cd5aca8de00123aeac9d 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,6 +1,6 @@ -Jean-Marc Valin (jean-marc.valin@octasic.com) +Jean-Marc Valin (jmvalin@jmvalin.ca) Koen Vos (koen.vos@skype.net) Timothy Terriberry (tterribe@xiph.org) Karsten Vandborg Sorensen (karsten.vandborg.sorensen@skype.net) Soren Skak Jensen (ssjensen@gn.com) -Gregory Maxwell (gmaxwell@juniper.net) +Gregory Maxwell (greg@xiph.org) diff --git a/README b/README index 3d4d94b33de6890da0ef1009d97796f4636678b7..fe0bc42924ad2f1309d2017c56449c0978904e72 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