OBS (Open Broadcaster Studio) Studio is a popular, open source multiplatform broadcasting and recording control panel.
OBS Installation for Debian
sudo apt install linux-headers-$(uname -r) ffmpeg obs-studio v4l2loopback-dkms
Note that the Linux headers and loopback (not included in the most recent release of OBS as of February 2022) enable a virtual camera button, so that OBS Studio can be consumed by other applications such as Zoom. This allows for switching between multiple cameras, or doing screen sharing without taking over the entire Zoom session.
Note that additional plugins may be needed, such as for Linux Browser or DroidCam OBS.
Open Broadcaster Studio options
OBS has a wide variety of options as it is meant as an entire workflow for studio work, with many kinds of audio and video input. The workflow is based around screens that are a set of configured inputs, and which can be transitioned into.
OBS can record or stream, and natively can screen capture, audio capture, video capture, and can connect media sources, such as over the web.
Connecting Android to OBS
There are several different ways one might want to connect and Android devices as a media source for OBS, including:
- Using the Android device cameras, with or without audio sources, as a remote web cam -- see DroidCam OBS
- Stream the Android device screen with or without audio sources (system, microphone, or both)
For the second use case, there are many webcam apps for streaming directly from the Android device itself, or recording video. However, using an Android device as one media source for OBS makes multi-scene streaming and recording much easier.
DroidCam OBS for Mobile Webcam
The DroidCam OBS application is a great option for using Android as a remote Webcam. Given the quality of microphone and cameras on some Android devices, this is a better solution than investing in a separate Webcam.
Screen Stream Mirroring Pro for Screencasting from Android
The venerable Screen Stream Mirroring Pro remains a great option for screencasting via a variety of protocols including to VLC/OBS. I've experienced some issues using the system + microphone option with the built-in microphone, as it picks up system audio as well (if the volume is turned on). Using an external microphone -- a Rode lavalier mic -- makes it much better.
There is an option in Screen Stream Mirroring Pro to stream via a USB or even an Ethernet cable, but this requires more configuration on the desktop to enable USB debugging. Using WIFI to stream is fine as long as the network and all devices have sufficient bandwidth, memory, and processing power.
Screen Stream Mirroring with Picture in Picture
Screen Stream Mirroring also supports have an embedded webcam picture-in-picture over a screencast. This can be very helpful when needing to provide instructions for using a mobile application, or for podcasting or instructional narration.
OBS Studio Remote Control apps
There is a plethora of OBS remote control apps in the Google Play Store. This allows for even greater remote / mobility untethering someone from a standard podcasting-at-the-desktop look.
Screencasting from mobile, remote webcams from mobile, and remote control of OBS from mobile all combine to provide excellent functionality in a mobile-first world with the strong support of OBS running on Linux, Windows, or Mac.
VDO.ninja for remote screen and camera
VDO.ninja is a no-installation website which simply forwards screencasting and video using Chrome. This works especially well on desktops, with limited support on mobile devices. It is a fast solution and can even forward audio, though that is limited to some extent.
Resizing for Portrait Mode in OBS
OBS supports a wide variety of base (canvas) and output (scaled) resolutions. Note that the values in the drop-downs are not the only ones available. Any resolutions may be typed in manually. This is necessary for all portrait modes. Note also that scaling with a downscale filter the Lanczos algorithm is recommended, but it does take more processing power. If possible, do not downscale video.