Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
Opus
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Alexander Traud
Opus
Commits
f22af9cf
Commit
f22af9cf
authored
12 years ago
by
Jean-Marc Valin
Browse files
Options
Downloads
Patches
Plain Diff
RTP draft: Using sampling rates instead of bandwidths
parent
144b6e6e
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
doc/draft-spittka-payload-rtp-opus.xml
+28
-22
28 additions, 22 deletions
doc/draft-spittka-payload-rtp-opus.xml
with
28 additions
and
22 deletions
doc/draft-spittka-payload-rtp-opus.xml
+
28
−
22
View file @
f22af9cf
...
...
@@ -509,28 +509,33 @@
<t>
Optional parameters:
</t>
<t><list
style=
"hanging"
>
<t
hangText=
"maxcodedaudiobandwidth:"
>
a hint about the maximum audio bandwidth that the receiver is capable of rendering.
The decoder MUST be capable of decoding
<t
hangText=
"maxplaybackrate:"
>
a hint about the maximum output sampling rate that the receiver is
capable of renderingin in Hz.
The decoder MUST be capable of decoding
any audio bandwidth but due to hardware limitations only signals
up to the specified
audio bandwidth can be processed
. Sending signals
up to the specified
sampling rate can be played back
. Sending signals
with higher audio bandwidth results in higher than necessary network
usage and encoding complexity, so an encoder SHOULD NOT encode
frequencies above the audio bandwidth specified by maxcodedaudiobandwidth.
Possible values are nb, mb, wb, swb, fb. By default, the receiver
is assumed to have no limitations, i.e. fb.
frequencies above the audio bandwidth specified by maxplaybackrate.
This parameter can take any value between 8000 and 48000, although
commonly the value will match one of the Opus bandwidths
(
<xref
target=
"bandwidth_definitions"
/>
).
By default, the receiver is assumed to have no limitations, i.e. 48000.
<vspace
blankLines=
'1'
/>
</t>
<t
hangText=
"sprop-maxcodedaudiobandwidth:"
>
a hint about the maximum audio bandwidth that the sender is likely to produce.
This is not a guarantee that the sender will never send any higher bandwidth
(e.g. it could send a pre-recorded prompt that uses a higher bandwidth), but it
indicates to the receiver that frequencies above this maximum can safely be discarded.
This parameter is useful to avoid wasting receiver resources by operating the audio
processing pipeline (e.g. AEC) at a higher rate than necessary.
Possible values are nb, mb, wb, swb, fb. By default, the sender
is assumed to have no limitations, i.e. fb.
<t
hangText=
"sprop-maxcapturerate:"
>
a hint about the maximum input sampling rate that the sender is likely to produce.
This is not a guarantee that the sender will never send any higher bandwidth
(e.g. it could send a pre-recorded prompt that uses a higher bandwidth), but it
indicates to the receiver that frequencies above this maximum can safely be discarded.
This parameter is useful to avoid wasting receiver resources by operating the audio
processing pipeline (e.g. echo cancellation) at a higher rate than necessary.
This parameter can take any value between 8000 and 48000, although
commonly the value will match one of the Opus bandwidths
(
<xref
target=
"bandwidth_definitions"
/>
).
By default, the sender is assumed to have no limitations, i.e. 48000.
<vspace
blankLines=
'1'
/>
</t>
...
...
@@ -589,7 +594,7 @@
positive integer is allowed but values outside the range between
6000 and 510000 SHOULD be ignored. If no value is specified, the
maximum value specified in
<xref
target=
'bitrate_by_bandwidth'
/>
for the corresponding mode of Opus and corresponding max
codedaudiobandwidth
:
for the corresponding mode of Opus and corresponding max
playbackrate
:
will be the default.
<vspace
blankLines=
'1'
/></t>
<t
hangText=
"stereo:"
>
...
...
@@ -611,7 +616,7 @@
(e.g. it could send a pre-recorded prompt that uses stereo), but it
indicates to the receiver that the received signal can be safely downmixed to mono.
This parameter is useful to avoid wasting receiver resources by operating the audio
processing pipeline (e.g.
AEC
) in stereo when not necessary.
processing pipeline (e.g.
echo cancellation
) in stereo when not necessary.
If no value is specified, mono
is assumed (stereo=0).
<vspace
blankLines=
'1'
/>
</t>
...
...
@@ -731,7 +736,7 @@
<![CDATA[
m=audio 54312 RTP/AVP 101
a=rtpmap:101 opus/48000/2
a=fmtp:101 max
codedaudiobandwidth=wb
; maxaveragebitrate=20000;
a=fmtp:101 max
playbackrate=16000
; maxaveragebitrate=20000;
stereo=1; useinbandfec=1; usedtx=0
a=ptime:40
a=maxptime:40
...
...
@@ -781,10 +786,11 @@
</t>
<t>
The parameter "max
codedaudiobandwidth
" is a unidirectional receive-only
The parameter "max
playbackrate
" is a unidirectional receive-only
parameter that reflects limitations of the local receiver. The sender
of the other side SHOULD NOT send with an audio bandwidth higher than
"maxcodedaudiobandwidth" as this would lead to inefficient use of network resources. The "maxcodedaudiobandwidth" parameter does not
"maxplaybackrate" as this would lead to inefficient use of network resources.
The "maxplaybackrate" parameter does not
affect interoperability. Also, this parameter SHOULD NOT be used
to adjust the audio bandwidth as a function of the bitrates, as this
is the responsibility of the Opus encoder implementation.
...
...
@@ -832,7 +838,7 @@
<t><list
style=
"symbols"
>
<t>
The values for "maxptime", "ptime", "minptime", "max
codedaudiobandwidth
", and
<t>
The values for "maxptime", "ptime", "minptime", "max
playbackrate
", and
"maxaveragebitrate" should be selected carefully to ensure that a
reasonable performance can be achieved for the participants of a session.
</t>
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment