2004-10-01 03:18:48 +00:00
|
|
|
[speex]
|
2005-08-26 20:14:06 +00:00
|
|
|
; CBR encoding quality [0..10]
|
|
|
|
; used only when vbr = false
|
2004-10-01 03:18:48 +00:00
|
|
|
quality => 3
|
2005-08-26 20:14:06 +00:00
|
|
|
|
|
|
|
; codec complexity [0..10]
|
|
|
|
; tradeoff between cpu/quality
|
|
|
|
complexity => 2
|
|
|
|
|
|
|
|
; perceptual enhancement [true / false]
|
|
|
|
; improves clarity of decoded speech
|
2004-10-01 03:18:48 +00:00
|
|
|
enhancement => true
|
2005-08-26 20:14:06 +00:00
|
|
|
|
|
|
|
; voice activity detection [true / false]
|
2005-10-04 22:51:59 +00:00
|
|
|
; reduces bitrate when no voice detected, used only for CBR
|
|
|
|
; (implicit in VBR/ABR)
|
2005-08-26 20:14:06 +00:00
|
|
|
vad => true
|
|
|
|
|
|
|
|
; variable bit rate [true / false]
|
|
|
|
; uses bit rate proportionate to voice complexity
|
|
|
|
vbr => true
|
|
|
|
|
|
|
|
; available bit rate [bps, 0 = off]
|
|
|
|
; encoding quality modulated to match this target bit rate
|
|
|
|
; not recommended with dtx or pp_vad - may cause bandwidth spikes
|
2004-12-30 01:40:47 +00:00
|
|
|
abr => 0
|
2005-08-26 20:14:06 +00:00
|
|
|
|
|
|
|
; VBR encoding quality [0-10]
|
|
|
|
; floating-point values allowed
|
|
|
|
vbr_quality => 4
|
|
|
|
|
|
|
|
; discontinuous transmission [true / false]
|
|
|
|
; stops transmitting completely when silence is detected
|
|
|
|
; pp_vad is far more effective but more CPU intensive
|
2004-10-01 03:18:48 +00:00
|
|
|
dtx => false
|
2005-03-17 21:30:19 +00:00
|
|
|
|
2005-08-26 20:14:06 +00:00
|
|
|
; preprocessor configuration
|
|
|
|
; these options only affect Speex v1.1.8 or newer
|
|
|
|
|
|
|
|
; enable preprocessor [true / false]
|
|
|
|
; allows dsp functionality below but incurs CPU overhead
|
|
|
|
preprocess => false
|
|
|
|
|
|
|
|
; preproc voice activity detection [true / false]
|
|
|
|
; more advanced equivalent of DTX, based on voice frequencies
|
|
|
|
pp_vad => false
|
|
|
|
|
|
|
|
; preproc automatic gain control [true / false]
|
|
|
|
pp_agc => false
|
|
|
|
pp_agc_level => 8000
|
|
|
|
|
|
|
|
; preproc denoiser [true / false]
|
|
|
|
pp_denoise => false
|
|
|
|
|
|
|
|
; preproc dereverb [true / false]
|
|
|
|
pp_dereverb => false
|
|
|
|
pp_dereverb_decay => 0.4
|
|
|
|
pp_dereverb_level => 0.3
|
|
|
|
|
|
|
|
|
2005-03-17 21:30:19 +00:00
|
|
|
[plc]
|
|
|
|
; for all codecs which do not support native PLC
|
|
|
|
; this determines whether to perform generic PLC
|
|
|
|
; there is a minor performance penalty for this
|
|
|
|
genericplc => true
|
Media Project Phase2: SILK 8khz-24khz, SLINEAR 8khz-192khz, SPEEX 32khz, hd audio ConfBridge, and other stuff
-Functional changes
1. Dynamic global format list build by codecs defined in codecs.conf
2. SILK 8khz, 12khz, 16khz, and 24khz with custom attributes defined in codecs.conf
3. Negotiation of SILK attributes in chan_sip.
4. SPEEX 32khz with translation
5. SLINEAR 8khz, 12khz, 24khz, 32khz, 44.1khz, 48khz, 96khz, 192khz with translation
using codec_resample.c
6. Various changes to RTP code required to properly handle the dynamic format list
and formats with attributes.
7. ConfBridge now dynamically jumps to the best possible sample rate. This allows
for conferences to take advantage of HD audio (Which sounds awesome)
8. Audiohooks are no longer limited to 8khz audio, and most effects have been
updated to take advantage of this such as Volume, DENOISE, PITCH_SHIFT.
9. codec_resample now uses its own code rather than depending on libresample.
-Organizational changes
Global format list is moved from frame.c to format.c
Various format specific functions moved from frame.c to format.c
Review: https://reviewboard.asterisk.org/r/1104/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@308582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-22 23:04:49 +00:00
|
|
|
|
|
|
|
; Generate custom formats for formats requiring attributes.
|
|
|
|
; After defining the custom format, the name used in defining
|
|
|
|
; the format can be used throughout Asterisk in the format 'allow'
|
|
|
|
; and 'disallow' options.
|
|
|
|
;
|
|
|
|
; Example: silk8 is a predefined custom format in this config file.
|
|
|
|
; Once this config file is loaded, silk8 can be used anywhere a
|
|
|
|
; peer's codec capabilities are defined.
|
|
|
|
;
|
|
|
|
; In sip.conf 'silk8' can be defined as a capability for a peer.
|
|
|
|
; [peer1]
|
|
|
|
; type=peer
|
|
|
|
; host=dynamic
|
|
|
|
; disallow=all
|
|
|
|
; allow=silk8 ;custom codec defined in codecs.conf
|
|
|
|
;
|
|
|
|
; LIMITATIONS
|
|
|
|
; Custom formats can only be defined at startup. Any changes to this
|
|
|
|
; file made after startup will not take into effect until after Asterisk
|
|
|
|
; is restarted.
|
|
|
|
;
|
|
|
|
|
|
|
|
; Default Custom SILK format definitions, only one custom SILK format per
|
|
|
|
; sample rate is allowed.
|
|
|
|
[silk8]
|
|
|
|
type=silk
|
|
|
|
samprate=8000
|
|
|
|
fec=true ; turn on or off encoding with forward error correction.
|
|
|
|
; On recommended, off by default.
|
|
|
|
packetloss_percentage=10 ; Estimated packet loss percentage in uplink direction. This
|
|
|
|
; affects how much redundancy is built in when using fec.
|
|
|
|
; The higher the percentage, the larger amount of bandwidth is
|
|
|
|
; used. Default is 0%, 10% is recommended when fec is in use.
|
|
|
|
|
|
|
|
maxbitrate=10000 ; Use the table below to make sure a useful bitrate is choosen
|
|
|
|
; for maxbitrate. If not set or value is not within the bounds
|
|
|
|
; of the encoder, a default value is chosen.
|
|
|
|
;
|
|
|
|
; sample rate | bitrate range
|
|
|
|
; 8khz | 5000 - 20000 bps
|
|
|
|
; 12khz | 7000 - 25000 bps
|
|
|
|
; 16khz | 8000 - 30000 bps
|
|
|
|
; 24khz | 20000- 40000 bps
|
|
|
|
;
|
|
|
|
;dtx=true ; Encode using discontinuous transmission mode or not. Turning this
|
|
|
|
; on will save bandwidth during periods of silence at the cost of
|
|
|
|
; increased computational complexity. Off by default.
|
|
|
|
|
|
|
|
[silk12]
|
|
|
|
type=silk
|
|
|
|
samprate=12000
|
|
|
|
maxbitrate=12000
|
|
|
|
fec=true
|
|
|
|
packetloss_percentage=10;
|
|
|
|
|
|
|
|
[silk16]
|
|
|
|
type=silk
|
|
|
|
samprate=16000
|
|
|
|
maxbitrate=20000
|
|
|
|
fec=true
|
|
|
|
packetloss_percentage=10;
|
|
|
|
|
|
|
|
[silk24]
|
|
|
|
type=silk
|
|
|
|
samprate=24000
|
|
|
|
maxbitrate=30000
|
|
|
|
fec=true
|
|
|
|
packetloss_percentage=10;
|
|
|
|
|
2011-07-07 19:39:17 +00:00
|
|
|
|
|
|
|
; Default custom CELT codec definitions. Only one custom CELT definition is allowed
|
|
|
|
; per a sample rate.
|
|
|
|
;[celt44]
|
|
|
|
;type=celt
|
|
|
|
;samprate=44100 ; The samplerate in hz. This option is required.
|
|
|
|
;framesize=480 ; The framesize option represents the duration of each frame in samples.
|
|
|
|
; This must be a factor of 2. This option is only advertised in an SDP
|
|
|
|
; when it is set. Otherwise a default of framesize of 480 is assumed
|
|
|
|
; internally
|
|
|
|
|
|
|
|
;[celt48]
|
|
|
|
;type=celt
|
|
|
|
;samprate=48000
|
|
|
|
|
|
|
|
;[celt32]
|
|
|
|
;type=celt
|
|
|
|
;samprate=32000
|
2016-10-31 22:35:47 +00:00
|
|
|
|
|
|
|
;============================ OPUS Section Options ============================
|
|
|
|
;
|
|
|
|
;[opus]
|
|
|
|
;type= ; Must be of type "opus" (default: "")
|
|
|
|
;packet_loss= ; Encoder's packet loss percentage. Can be any number between 0
|
|
|
|
; and 100, inclusive. A higher value results in more loss
|
|
|
|
; resistance. (default: 0)
|
|
|
|
;complexity= ; Encoder's computational complexity. Can be any number between 0
|
|
|
|
; and 10, inclusive. Note, 10 equals the highest complexity.
|
|
|
|
; (default: 10)
|
|
|
|
;max_bandwitdth= ; Encoder's maximum bandwidth allowed. Sets an upper bandwidth
|
|
|
|
; bound on the encoder. Can be any of the following: narrow,
|
|
|
|
; medium, wide, super_wide, full. (default: full)
|
|
|
|
;signal= ; Encoder's signal type. Aids in mode selection on the encoder: Can
|
|
|
|
; be any of the following: auto, voice, music. (default: auto)
|
|
|
|
;application= ; Encoder's application type. Can be any of the following: voip,
|
|
|
|
; audio, low_delay. (default: voip)
|
|
|
|
;max_playback_rate= ; Override the maximum playback rate in the offer's SDP.
|
|
|
|
; Any value between 8000 and 48000 (inclusive) is valid,
|
|
|
|
; however typically it should match one of the usual opus
|
|
|
|
; bandwidths. A value of "sdp" is also allowed. When set
|
|
|
|
; to "sdp" then the value from the offer's SDP is used.
|
|
|
|
; (default: "sdp")
|
|
|
|
;bitrate= ; Override the maximum average bitrate in the offer's SDP. Any value
|
|
|
|
; between 500 and 512000 is valid. The following values are also
|
|
|
|
; allowed: auto, max, sdp. When set to "sdp" then the value from
|
|
|
|
; the offer's sdp is used. (default: "sdp")
|
|
|
|
;cbr= ; Override the constant bit rate parameter in the offer's SDP. A value of
|
|
|
|
; 0/false/no represents a variable bit rate whereas 1/true/yes represents
|
|
|
|
; a constant bit rate. A value of "sdp" is also allowed. When set to "sdp"
|
|
|
|
; then the value from the offer's sdp is used. (default: "sdp")
|
|
|
|
;fec= ; Override the use inband fec parameter in the offer's SDP. A value of
|
|
|
|
; 0/false/no represents disabled whereas 1/true/yes represents enabled.
|
|
|
|
; A value of "sdp" is also allowed. When set to "sdp" then the value from
|
|
|
|
; the offer's sdp is used. (default: "sdp")
|
|
|
|
;dtx= ; Override the use dtx parameter in the offer's SDP. A value of 0/false/no
|
|
|
|
; represents disabled whereas 1/true/yes represents enabled. A value of
|
|
|
|
; "sdp" is also allowed. When set to "sdp" then the value from the offer's
|
|
|
|
; sdp is used. (default: "sdp")
|
|
|
|
|
|
|
|
;=============================== OPUS Examples ================================
|
|
|
|
;
|
|
|
|
;[opus]
|
|
|
|
;type=opus
|
|
|
|
;max_playback_rate=8000 ; Limit the maximum playback rate on the encoder
|
|
|
|
;fec=no ; Force no inband fec on the encoder (i.e don't use what's on the SDP)
|
|
|
|
|
|
|
|
;[myopus]
|
|
|
|
;type=opus
|
|
|
|
;max_bandwidth=wide ; Maximum encoded bandwidth set to wide band (0-8000 Hz
|
|
|
|
; ; audio bandwidth at 16Khz sample rate)
|
|
|
|
;cbr=yes ; Force a constant bit rate (i.e don't use what's on the SDP)
|
|
|
|
|