0% found this document useful (0 votes)
53 views16 pages

Ietf 84 - Rtcweb: Mandatory To Implement Audio Codec Selection

The document discusses selecting a mandatory to implement (MTI) audio codec for WebRTC. It analyzes several codec options based on quality, versatility, licensing, standardization, implementations, and deployment. It proposes Opus as the sole MTI codec as it handles all use cases as good or better than state-of-the-art, is freely implementable, addresses basic legacy interoperability at zero added cost to implement, and is sufficient to avoid negotiation failure between WebRTC endpoints while not eliminating failure with non-WebRTC endpoints. G.711 is also proposed as a secondary MTI for legacy support.

Uploaded by

metahumano
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views16 pages

Ietf 84 - Rtcweb: Mandatory To Implement Audio Codec Selection

The document discusses selecting a mandatory to implement (MTI) audio codec for WebRTC. It analyzes several codec options based on quality, versatility, licensing, standardization, implementations, and deployment. It proposes Opus as the sole MTI codec as it handles all use cases as good or better than state-of-the-art, is freely implementable, addresses basic legacy interoperability at zero added cost to implement, and is sufficient to avoid negotiation failure between WebRTC endpoints while not eliminating failure with non-WebRTC endpoints. G.711 is also proposed as a secondary MTI for legacy support.

Uploaded by

metahumano
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

IETF 84 RTCWEB

Mandatory To Implement Audio Codec Selection

Problem Statement

We a!e con"en"u" to "peci#y a MTI $Mandatory To Implement% audio codec

&oal' pre!ent ne(otiation #ailure Fe*er t e better Implementation" MA+ "upport a" many codec" a" t ey *ant, but (oal o# MTI i" to addre"" ba"ic interop

)eed to decide * ic one$"%

Not tryin( to decide * ic codec" are recommended

Criteria #or Con"ideration


Quality Versatility Licensing Standardi-ation Implementation" .eployment /t er$"%

AMR0)B

1uality' &ood narro*band "peec at lo* bitrate" 2er"atility' 3imited $narro*band only, "mall number o# pre0de#ined bitrate"% 3icen"in(' Well04no*n, not royalty0#ree Standardi-ation' 5&PP Implementation"' /ptimi-ed implementation" a!ailable, only ba"icop" "ource a!ailable #reely .eployment' 2ery *ell0deployed in mobile de!ice"6net*or4" $!irtually all &SM, 7MTS de!ice"%

&89:;

1uality' Acceptable narro*band "peec at 8 4b6" 2er"atility' Poor $narro*band0only, one bitrate% 3icen"in(' Well04no*n, not royalty0#ree Standardi-ation' IT70T Implementation"' /ptimi-ed implementation" a!ailable, only ba"icop" "ource a!ailable #reely .eployment' 3ot" o# (ate*ay"

AMR0WB $&9::8:%

1uality' Rea"onable *ideband "peec at <:0:4 4b6" 2er"atility' 3imited $*ideband only, "mall number o# pre0 de#ined bitrate"% 3icen"in(' Well04no*n, not royalty0#ree Standardi-ation' 5&PP = IT70T Implementation"' /ptimi-ed implementation" a!ailable, only ba"icop" "ource a!ailable #reely .eployment' )ot *idely deployed

&SM A""ociation recently #ini" ed >?. 2oice@ de"cription u"in( AMR0WB

&89::8<C 6 &89<;

1uality' &ood "uper0*ideband6#ullband "peec "tartin( at 48 4b6", borderline mu"ic Auality 2er"atility' Poor $"uper0*ideband0only6#ullband0only% 3icen"in(' Currently royalty0#ree, but not open0"ource compatible Standardi-ation' IT70T Implementation"' /nly ba"icop" !er"ion a!ailable #reely .eployment' 2ideo con#erencin( $Polycom, Eric""on% /t er' 3o*0compleBity, relati!ely i( delay $4C m"%

AAC03.

1uality' &ood Auality "tereo mu"ic at "u##iciently i( rate" 2er"atility' Poor $#ullband0only, no "pecial "peec "upport% 3icen"in(' MPE&03A, not royalty0#ree Standardi-ation' MPE& Implementation"' )o #reely0a!ailable implementation o# any 4ind .eployment' 2ideo con#erencin(

&89<<

1uality' Poor $narro*band0only at D4 4b6"% 2er"atility' Poor $narro*band0only at D4 4b6"% 3icen"in(' )one Standardi-ation' IT70T Implementation"' Tri!ial .eployment' E!ery* ere /t er' Tri!ial compleBity

SpeeB

1uality' A!era(e $"li( tly *or"e t an AMR0E% 2er"atility' )arro*band and *ideband, "peec 0only 3icen"in(' Royalty0#ree, open0"ource compatible Standardi-ation' )one $Fip 8/r(% Implementation"' /ptimi-ed, open0"ource C code .eployment' Adobe, Apple, &oo(le, Micro"o#t, A"teri"4, ("treamer, etc8

&89::

1uality' Poor *ideband at i( rate" 2er"atility' Poor $*ideband0only, only 5 bitrate" "upported% 3icen"in(' )one $patent" eBpired% Standardi-ation' IT70T Implementation"' /ptimi-ed, open0"ource C code $a" *ell a" ba"icop"% .eployment' IS.) !ideo con#erencin(, de"4top IP p one"

i3BC

1uality' &ood narro*band "peec at <50<G 4b6" 2er"atility' Poor $narro*band0only, only t*o bitrate" "upported% 3icen"in(' Royalty0#ree, open0"ource compatible Standardi-ation' IETF EBperimental RFC Implementation"' /ptimi-ed, open0"ource C code .eployment' C rome, many (ate*ay" and "*itc e"

iSAC

1uality' /4ay *ideband6"uper0*ideband "peec at <:0G: 4b6" 2er"atility' /4ay $*ideband and "uper0*ideband, adapti!e bitrate, 5C and DC m" #rame "i-e"% 3icen"in(' Royalty0#ree, open0"ource compatible Standardi-ation' )one $&oo(le% Implementation"' /ptimi-ed, open0"ource C code .eployment' C rome, old S4ype client"

/pu"

1uality' EAual or better t an "tate o# t e art at !a"t maHority o# bitrate" and audio band*idt " 2er"atility' )arro*band to #ullband, D0G<: 4b6", mono, "tereo, "peec , mu"ic, arbitrary bitrate", !ariable #rame "i-e", "eamle"" "*itc in( 3icen"in(' Royalty0#ree, open0"ource compatible Standardi-ation' IETF Standard"0trac4 Implementation"' /ptimi-ed, open0"ource C code .eployment' 7nder*ay $Mo-illa, /pera, S4ype, Ci"co, A"teri"4, ("treamer, etc8% /t er' Competiti!e *it arc i!al "tora(e #ormat" $2orbi", AAC%

Mono Speec 1uality 3and"cape

Propo"al

/pu"

?andle" all u"e ca"e" .oe" t em a" (ood or better t an "tate0o#0t e0art Freely implementable Addre""e" ba"ic le(acy interoperability IJero added co"t to implement Su##icient to a!oid ne(otiation #ailure bet*een WebRTC end0point" Mandatin( more codec" *onKt eliminate ne(otiation #ailure *it non0 WebRTC end0point"

&89<<

And not in( el"e

You might also like