// note the following should be called before before calling either RTCPeerConnection.createOffer() or createAnswer() let tcvr = pc.getTransceivers()[0]; let codecs = RTCRtpReceiver.getCapabilities('video').codecs; let vp9_codecs = []; // iterate over supported codecs and pull out the codecs we want for(let i = 0; i < codecs.length; i++) { if(codecs[i].mimeType == "video/VP9") { vp9_codecs.push(codecs[i]); } } // currently not all browsers support setCodecPreferences if(tcvr.setCodecPreferences != undefined) { tcvr.setCodecPreferences(vp9_codecs); }