html5 - WebRTC - disable all audio processing -
i'm trying clean possible audio channel via webrtc. via getusermedia mediaconstraints object, i've set following options:
constraints: { audio: { mandatory: { echocancellation: false, googechocancellation: false, googautogaincontrol: false, googautogaincontrol2: false, goognoisesuppression: false, googhighpassfilter: false, googtypingnoisedetection: false, //googaudiomirroring: false // reason setting googaudiomirroring causes navigator.getusermedia error: navigatorusermediaerror } }, video: false },
this improves audio quality, there still seems audio processing present causes mutilation of audio in form of high frequency noise of test samples.
there chrome flag --use-file-for-fake-audio-capture
described @ http://peter.sh/experiments/chromium-command-line-switches/#use-file-for-fake-audio-capture allows input via file testing. mentioned in description of flag, audio processing has disabled or audio distorted - there seems additional options purpose.
i tried --disable-audio-track-processing --audio-buffer-size=16 --enable-exclusive-audio
chrome flags, still there seems audio processing.
is there way disable still present audio processing (preferably via js api)?
i'd wager variable bitrate (default) behavior of opus codec causing compression or adjustment. manually mangle sdp offer use cbr (constant bitrate) instead of vbr (variable bit rate). when sdp offer browser, change line:
a=fmtp:111 minptime=10; useinbandfec=1
to:
a=fmtp:111 minptime=10; cbr=1
note i'm both adding cbr=1
, removing useinbandfec=1
. i'm not positive dropping useinbandfec
necessary, seems in-band fec (forwarding error correction) causes compression adjustment you'd want avoid well.
Comments
Post a Comment