Ietf 84 - Rtcweb: Mandatory To Implement Audio Codec Selection
Ietf 84 - Rtcweb: Mandatory To Implement Audio Codec Selection
Problem Statement
&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
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
&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%
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<<