下面是“理论”管道,它将取消特定用户在音频会议混音器中的音频贡献。理论上是这样的,我们将用户的音频样本从原始样本中反转,最后添加到混音器输出中。它应该取消。但是我不知道为什么我不在下面的管道中工作。混音器的想法是它汇总了所有用户的音频贡献,当流回单个用户时,他们的贡献被“反转”+“加法器”元素取消。
我怀疑打卡。还是因为这些管道是分开的,即不在单个管道中?
gst-launch \
audiotestsrc name="sinewave" wave=sine ! tee name="audio_in_user1" \
audio_in_user1. ! queue ! audioconvert ! amixer.sink0 \
audiotestsrc wave=ticks ! queue ! audioconvert ! amixer.sink2 \
adder name="amixer" ! tee name="mixerout" \
mixerout. ! queue ! audio_out_user1.sink1 \
audio_in_user1. ! queue ! audioinvert degree=1 ! audioconvert ! audio_out_user1.sink1 \
adder name="audio_out_user1" ! alsasink
根据上述理论工作的示例管道,管道只有一个音频源,并且在加法器中被取消。
音频反转度=1
gst-launch \
audiotestsrc name="sinewave" wave=sine ! tee name="audiosource" \
audiosource. ! queue ! audioconvert ! adder.sink0 \
audiosource. ! queue ! audioinvert degree=1 ! audioconvert ! adder.sink1 \
adder name="adder" ! alsasink
音频反转度=0.55
gst-launch \
audiotestsrc name="sinewave" wave=sine ! tee name="audiosource" \
audiosource. ! queue ! audioconvert ! adder.sink0 \
audiosource. ! queue ! audioinvert degree=0.55 ! audioconvert ! adder.sink1 \
adder name="adder" ! alsasink