我正在用 flutter 开发一个直播应用程序。我们正在开发一项功能,可将实时音频从麦克风传输到
RTMP server
。以下是如何在流式传输到 RTMP server
时减少麦克风音频的背景噪音。
音频会话配置:
AudioSessionConfiguration(
avAudioSessionMode: AVAudioSessionMode.voiceChat,
avAudioSessionCategory: AVAudioSessionCategory.playAndRecord,
avAudioSessionCategoryOptions:
AVAudioSessionCategoryOptions.allowBluetooth|AVAudioSessionCategoryOptions.defaultToSpeaker,
androidAudioAttributes: const AndroidAudioAttributes(
contentType: AndroidAudioContentType.speech,
flags: AndroidAudioFlags.none,
usage: AndroidAudioUsage.voiceCommunication,
),
androidAudioFocusGainType: AndroidAudioFocusGainType.gain,
)
我还尝试使用 FFmpeg 将麦克风音频发布到 rtmp 服务器。但它没有按预期工作。下面是我用来减少噪音的命令。
`'-f avfoundation -i :0 -af "anlmdn,afftdn=nf=-40:nt=0:nr=20,highpass=f=100,lowpass=f=3000" -c:a aac -b:a 128k -f flv $url';`