The problem
My previous post got the video from my smartphone
to show up as a camera device on my desktop, but for a video
chat, we probably also want audio. So, now the question is:
how to build GStreamer pipelines that will allow
minimal-webrtc-gstreamer
to use virtual
microphone and speaker devices that I can point a voice/video chat
application at, allowing me to use my smartphone's microphone and
speaker for applications on my desktop.
The solution
The following requires that you are using
PulseAudio as your sound server and have downloaded
minimal-webrtc-gstreamer
:
pactl load-module module-null-sink sink_name=virtspk \
sink_properties=device.description=Virtual_Speaker
pactl load-module module-null-sink sink_name=virtmic \
sink_properties=device.description=Virtual_Microphone_Sink
pactl load-module module-remap-source \
master=virtmic.monitor source_name=virtmic \
source_properties=device.description=Virtual_Microphone
./minimal-webrtc-host.py\
--url "https://apps.aweirdimagination.net/camera/"\
--receiveAudioTo device=virtmic\
--sendAudio "pulsesrc device=virtspk.monitor"\
--sendVideo false --receiveVideo false
You can reset your PulseAudio configuration by killing PulseAudio:
pulseaudio -k
You can make the PulseAudio settings permanent by following
these instructions to put them in your default.pa
file.