Opus Recommended Settings: Difference between revisions

From XiphWiki
Jump to navigation Jump to search
(add a "quick lookup" table for good starting bitrates to use)
Line 1: Line 1:
Depending on what kinds of sounds you want to encode with Opus, you'll want different settings.
Depending on what kinds of sounds you want to encode with Opus, you should use different bitrate (quality) settings.
 
The settings in the table below are meant to '''start you off''' with a decent tradeoff between '''good quality''' and '''small filesize''' (or '''bitrate usage''', if you're streaming).
 
You should test the bitrate by actually '''listening''' to your encoded audio and then tweaking the bitrate:
* '''down''' if you think the quality is good, but the filesize (or bitrate) is too big
* '''up''' if you think the quality is bad, and you can afford having bigger files (or bitrate)
 
{| class="wikitable" style="text-align:center"
|-
!Use Case
!Channels
!Bitrate (Kb/s)
|-
|Ham radio
|1 (mono)
|use [http://www.rowetel.com/blog/?page_id=452 Codec 2]
|-
|VoIP
|1
|16-24
|-
|rowspan="2"|Audiobooks / Podcasts
|1
|24
|-
|2 (stereo)
|32
|-
|Music Streaming / Radio
|2
|64-92
|-
|rowspan="3"|Music Storage
|2
|92-128
|-
|6 (5.1 surround)
|???
|-
|8 (7.1 surround)
|???
|-
|Music Archiving
|any
|use [[FLAC]]
|}
 
= Technical Details =
For the more technical Opus users, here are some details to help you fine-tune your decision on which bitrate best fits your needs.
 
== Mono or Stereo ==
== Mono or Stereo ==


Line 17: Line 67:
* '''SILK''': uses only the '''[https://en.wikipedia.org/wiki/SILK SILK]''' codec (which is specialised at encoding speech)
* '''SILK''': uses only the '''[https://en.wikipedia.org/wiki/SILK SILK]''' codec (which is specialised at encoding speech)
* '''CELT''': uses only the '''[http://celt-codec.org/ CELT]''' codec (which is specialised at encoding music)
* '''CELT''': uses only the '''[http://celt-codec.org/ CELT]''' codec (which is specialised at encoding music)
* '''Hybrid''': splits the input into low frequencies (up to 8KHz) which are encoded with SILK, and high frequencies (above 8 KHz) which are encoded with CELT.
* '''Hybrid''': splits the input into  
** low frequencies (up to 8&nbspKHz) which are encoded with SILK
** high frequencies (above 8&nbspKHz) which are encoded with CELT.


== Bandwidth Transition Thresholds ==
== Bandwidth Transition Thresholds ==

Revision as of 08:33, 27 June 2016

Depending on what kinds of sounds you want to encode with Opus, you should use different bitrate (quality) settings.

The settings in the table below are meant to start you off with a decent tradeoff between good quality and small filesize (or bitrate usage, if you're streaming).

You should test the bitrate by actually listening to your encoded audio and then tweaking the bitrate:

  • down if you think the quality is good, but the filesize (or bitrate) is too big
  • up if you think the quality is bad, and you can afford having bigger files (or bitrate)
Use Case Channels Bitrate (Kb/s)
Ham radio 1 (mono) use Codec 2
VoIP 1 16-24
Audiobooks / Podcasts 1 24
2 (stereo) 32
Music Streaming / Radio 2 64-92
Music Storage 2 92-128
6 (5.1 surround) ???
8 (7.1 surround) ???
Music Archiving any use FLAC

Technical Details

For the more technical Opus users, here are some details to help you fine-tune your decision on which bitrate best fits your needs.

Mono or Stereo

Opus tends to start downmixing stereo inputs to mono from roughly 30 Kb/s and lower. You can check the details in the opus_encoder.c source file.

You can force downmixing by using the following command-line parameters:

--downmix-mono - downmixes input channels to mono

--downmix-stereo - downmixes input channels to stereo (if there are more than 2)

SILK, CELT and Hybrid Modes

Opus can operate under any of the following 3 modes:

  • SILK: uses only the SILK codec (which is specialised at encoding speech)
  • CELT: uses only the CELT codec (which is specialised at encoding music)
  • Hybrid: splits the input into
    • low frequencies (up to 8&nbspKHz) which are encoded with SILK
    • high frequencies (above 8&nbspKHz) which are encoded with CELT.

Bandwidth Transition Thresholds

The following table shows where Opus decides to switch between different bandwidths. It was copied from the opus_encoder.c source file.

(bitrates in Kb/s) Mono Stereo
Voice Music Voice Music
NB ↔ MB 11 ± 1 12 ± 1 11 ± 1 12 ± 2
MB ↔ WB 14 ± 1 15 ± 1 14 ± 2 18 ± 2
WB ↔ SWB 17 ± 1 18 ± 1 21 ± 2 21 ± 2
SWB ↔ FB 21 ± 1 22 ± 2 28 ± 2 30 ± 2

Usage Table

The following table has rough guidelines to help you get your required quality, file size or latency. The table is originally taken from the HydrogenAudio wiki, which has some great information on Opus and its usage.

Bitrate target Music quality notes Use cases/notes/competitive codecs
6 kbps Poor, muffled sound but intelligible lyrics. -
8 kbps Poor, muffled but OK for bitrate -
14 to 16 kbps Fairly Poor but OK for bitrate Perhaps acceptable for incidental music
22 to 24 kbps Fair but OK for bitrate OK for incidental music
32 kbps Moderately good mono, reasonably bright treble (c.f. mono cassette) Good for podcasts, audiobooks, CELT-only poss for music. Competitor HE-AAC@32kbps is stereo full-band but with annoying artifacts.
36 to 40 kbps Moderately good stereo, reasonably bright treble (c.f. stereo cassette) Stereo podcasts, audiobooks, very low bitrate music
48 kbps Full bandwidth stereo music, some artifacts, rarely nasty Stereo podcasts, audiobooks, low bitrate music
64 kbps Full bandwidth stereo music, nice sound, detectable differences to original (mostly 'not annoying') Music storage & streaming. Beat HE-AAC, Vorbis, MP3 in listening test
96 kbps Full bandwidth stereo music, good quality approaching transparency Music storage & high quality streaming. Beat LC-AAC, Vorbis, MP3 in listening test
112 kbps Fairly close to transparency (needs more testing) Music storage & high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)
128 kbps Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3) Music storage & streaming. Future download music sales.
256 kbps Transparent with very low chance of artifacts (a few killer samples still detectable). Most old & new lossy codecs competitive. Music storage & streaming, dedicated limited-bandwidth audio links (e.g. wireless, A2DP-bluetooth type links).
510 kbps Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). At these bitrates, you probably want to be using FLAC... Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.
>510 kbps Above Opus bitrate range allowed for stereo sources. Settle for 510kbps or use FLAC.