FFMPEG:合并两个音频并降低其中一个的噪音

FFMPEG:合并两个音频并降低其中一个的噪音

第一个音频源来自摄像头麦克风(哪个太吵),另一个音频源来自作为背景的文件。

这是我的两个代码,它们运行得很好,但显然不能结合在一起:

将两个音频合并为一个流:

ffmpeg -f lavfi -i anullsrc -rtsp_transport tcp -i "rtsp://............." -stream_loop -1 -i /audio.m4a -filter_complex "[1:a][2:a]amix=duration=shortest[a]" -map 1:v -map "[a]" -c:v copy -b:a 320k -c:a aac -preset veryfast -f flv rtmp://a.rtmp.youtube.com/live2/.........

降低噪音:

-af "highpass=f=200, lowpass=f=3000"

有什么办法可以使这些工作协同起来吗?

答案1

组合命令:

ffmpeg -rtsp_transport tcp -i "rtsp://input" -re -stream_loop -1 -i audio.m4a -filter_complex "[0:a]highpass=f=200,lowpass=f=3000[mic];[mic][1:a]amix=duration=shortest[a]" -map 1:v -map "[a]" -c:v copy -b:a 320k -c:a aac -f flv "rtmp://a.rtmp.youtube.com/live2/<stream-key>"

变化:

  • YouTube 需要音频,因此-f lavfi -i anullsrc经常用于为没有音频的输入创建静音音频。但是您有音频,所以不需要这样做。已删除。
  • 添加-reaudio.m4a实时速度。
  • 您正在使用 进行流复制-c:v copy,因此-preset veryfast被忽略。已删除。
  • 您可以选择用 替换 lowpass 和 highpass bandpass=f=1400:width_type=h:width=2800

相关内容