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.