draft-ietf-rtcweb-audio-00.txt | draft-ietf-rtcweb-audio-01.txt | |||
---|---|---|---|---|
Network Working Group JM. Valin | Network Working Group JM. Valin | |||
Internet-Draft Mozilla | Internet-Draft Mozilla | |||
Intended status: Standards Track C. Bran | Intended status: Standards Track C. Bran | |||
Expires: March 11, 2013 Plantronics | Expires: May 27, 2013 Plantronics | |||
September 7, 2012 | November 23, 2012 | |||
WebRTC Audio Codec and Processing Requirements | WebRTC Audio Codec and Processing Requirements | |||
draft-ietf-rtcweb-audio-00 | draft-ietf-rtcweb-audio-01 | |||
Abstract | Abstract | |||
This document outlines the audio codec and processing requirements | This document outlines the audio codec and processing requirements | |||
for WebRTC client application and endpoint devices. | for WebRTC client application and endpoint devices. | |||
Status of this Memo | Status of this Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
skipping to change at page 1, line 32 | skipping to change at page 1, line 32 | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on March 11, 2013. | This Internet-Draft will expire on May 27, 2013. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2012 IETF Trust and the persons identified as the | Copyright (c) 2012 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 3, line 34 | skipping to change at page 3, line 34 | |||
WebRTC client implementations, it leaves the question of supporting | WebRTC client implementations, it leaves the question of supporting | |||
additional codecs to the will of the implementer. | additional codecs to the will of the implementer. | |||
WebRTC clients are REQUIRED to implement the following audio codecs. | WebRTC clients are REQUIRED to implement the following audio codecs. | |||
o Opus [RFC6716], with any ptime value up to 120 ms | o Opus [RFC6716], with any ptime value up to 120 ms | |||
o G.711 PCMA and PCMU with one channel, a rate of 8000 Hz and a | o G.711 PCMA and PCMU with one channel, a rate of 8000 Hz and a | |||
ptime of 20 - see section 4.5.14 of [RFC3551] | ptime of 20 - see section 4.5.14 of [RFC3551] | |||
o Telephone Event - [RFC4734] | o Telephone Event - [RFC4733] | |||
For all cases where the client is able to process audio at a sampling | For all cases where the client is able to process audio at a sampling | |||
rate higher than 8 kHz, it is RECOMMENDED that Opus be offered before | rate higher than 8 kHz, it is RECOMMENDED that Opus be offered before | |||
PCMA/PCMU. For Opus, all modes MUST be supported on the decoder | PCMA/PCMU. For Opus, all modes MUST be supported on the decoder | |||
side. The choice of encoder-side modes is left to the implementer. | side. The choice of encoder-side modes is left to the implementer. | |||
Clients MAY use the offer/answer mechanism to signal a preference for | Clients MAY use the offer/answer mechanism to signal a preference for | |||
a particular mode or ptime. | a particular mode or ptime. | |||
4. Audio Level | 4. Audio Level | |||
skipping to change at page 5, line 10 | skipping to change at page 5, line 10 | |||
It is plausible that the dominant near to mid-term WebRTC usage model | It is plausible that the dominant near to mid-term WebRTC usage model | |||
will be people using the interactive audio and video capabilities to | will be people using the interactive audio and video capabilities to | |||
communicate with each other via web browsers running on a notebook | communicate with each other via web browsers running on a notebook | |||
computer that has built-in microphone and speakers. The notebook-as- | computer that has built-in microphone and speakers. The notebook-as- | |||
communication-device paradigm presents challenging echo cancellation | communication-device paradigm presents challenging echo cancellation | |||
problems, the specific remedy of which will not be mandated here. | problems, the specific remedy of which will not be mandated here. | |||
However, while no specific algorithm or standard will be required by | However, while no specific algorithm or standard will be required by | |||
WebRTC compatible clients, echo cancellation will improve the user | WebRTC compatible clients, echo cancellation will improve the user | |||
experience and should be implemented by the endpoint device. | experience and should be implemented by the endpoint device. | |||
SHOULD include an AEC and if not, SHOULD ensure that the speaker-to- | WebRTC clients SHOULD include an AEC and if that is not possible, the | |||
microphone gain is below unity at all frequencies to avoid | clients SHOULD ensure that the speaker-to-microphone gain is below | |||
instability when none of the client has echo cancellation. For | unity at all frequencies to avoid instability when none of the client | |||
clients that do not control the audio capture and playback devices | has echo cancellation. For clients that do not control the audio | |||
directly, it is RECOMMENDED to support echo cancellation between | capture and playback devices directly, it is RECOMMENDED to support | |||
devices running at slight different sampling rates, such as when a | echo cancellation between devices running at slight different | |||
webcam is used for microphone. | sampling rates, such as when a webcam is used for microphone. | |||
The client SHOULD allow either the entire AEC or the non-linear | The client SHOULD allow either the entire AEC or the non-linear | |||
processing (NLP) to be turned off for applications, such as music, | processing (NLP) to be turned off for applications, such as music, | |||
that do not behave well with the spectral attenuation methods | that do not behave well with the spectral attenuation methods | |||
typically used in NLPs. It SHOULD have the ability to detect the | typically used in NLPs. It SHOULD have the ability to detect the | |||
presence of a headset and disable echo cancellation. | presence of a headset and disable echo cancellation. | |||
For some applications where the remote client may not have an echo | For some applications where the remote client may not have an echo | |||
canceller, the local client MAY include a far-end echo canceller, but | canceller, the local client MAY include a far-end echo canceller, but | |||
if that it the case, it SHOULD be disabled by default. | if that is the case, it SHOULD be disabled by default. | |||
6. Legacy VoIP Interoperability | 6. Legacy VoIP Interoperability | |||
The codec requirements above will ensure, at a minimum, voice | The codec requirements above will ensure, at a minimum, voice | |||
interoperability capabilities between WebRTC client applications and | interoperability capabilities between WebRTC client applications and | |||
legacy phone systems. | legacy phone systems. | |||
7. IANA Considerations | 7. IANA Considerations | |||
This document makes no request of IANA. | This document makes no request of IANA. | |||
skipping to change at page 6, line 24 | skipping to change at page 6, line 24 | |||
Rescorla, E., "Security Considerations for RTC-Web", | Rescorla, E., "Security Considerations for RTC-Web", | |||
May 2011. | May 2011. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
[RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and | [RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and | |||
Video Conferences with Minimal Control", STD 65, RFC 3551, | Video Conferences with Minimal Control", STD 65, RFC 3551, | |||
July 2003. | July 2003. | |||
[RFC4734] Schulzrinne, H. and T. Taylor, "Definition of Events for | [RFC4733] Schulzrinne, H. and T. Taylor, "RTP Payload for DTMF | |||
Modem, Fax, and Text Telephony Signals", RFC 4734, | Digits, Telephony Tones, and Telephony Signals", RFC 4733, | |||
December 2006. | December 2006. | |||
Authors' Addresses | Authors' Addresses | |||
Jean-Marc Valin | Jean-Marc Valin | |||
Mozilla | Mozilla | |||
650 Castro Street | 650 Castro Street | |||
Mountain View, CA 94041 | Mountain View, CA 94041 | |||
USA | USA | |||
End of changes. 7 change blocks. | ||||
15 lines changed or deleted | 15 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |