How to share iPad screen in BigBlueButton on Linux PC using Android phone
I will explain how to share the screen of an iPad Pro (I) in a BigBlueButton session (BBB) using only a Linux PC (L) and an Android Phone (A).
Note that it is also possible to stream live handwriting to BBB using a digitizer board or a simple document camera connected to (L). In the first case, one can use the whiteboard app Xournal on (L) to save the notes in the form of a PDF afterwards.
I encountered the following problems while trying to share the screen of (I) in (BBB):
- Although BBB offers a collaborative whiteboard, it is currently not possible to download it together with the writing in the end.
- Although it is possible to join a BBB session from (I), it is currently not possible to share the screen.
- One can currently share the screen of (I) only in the following two scenarios: either via AirPlay to machines running an AirPlay receiver which are connected to the same ‘‘friendly’’ WiFi network (Eduroam does not work), or to a Mac via cable.
Prerequisities
- Install scrcpy on (L).
- Install AirReceiver on (A). This is a commercial product, which currently costs 3€.
- Allow USB-debugging in the developer’s options of (A).
Steps
- Create a WiFi mobile hotspot on (A) and connect to it with (I).
- Connect (A) to (L) via USB and switch the connection type on (A) to USB-tethering (also disable all sounds and notifications or better put it in the plane mode).
- Run AirReceiver on (A), click share screen on (I), and select (A) as the target. The screen of (A) should now mirror the screen of (I).
- Run scrcpy on (L), so that a window with the screen of (A) appears. This screen can be now streamed in BBB (if you are using a tiling manager, put the BBB and scrpy window on the the same virtual desktop and switch to the monocycle mode).
Example
- (A): Samsung A71 with screen resolution 2400x1080 in the horizontal position with the bottom part to the rigt.
- (I): iPad Pro 12.9’ with screen resolution 2732x2048.
- Commands to start scrcpy:
% iPad in portrait position scrcpy --lock-video-orientation=1 -w --disable-screensaver -S --crop 1080:902:0:794 % iPad in landscape position scrcpy --lock-video-orientation=1 -w --disable-screensaver -S --crop 1080:1680:0:400
Here
--lock-video-orientation=1
assures that the screen of (A) is mirrored horizontally independently of its rotation,-w
prevents (A) from falling asleep,-S
turns off the screen of (A),--crop 1080:902:0:794
crops the mirrored window.
Other ideas
- Create a virtual video device using v4l2loopback or akvcam and redirect the scrcpy window there.
- Run a free Airplay server RPiPlay or shairplay on (L) directly and bypass
scrcpy
andAirReceiver
. It should work if (A) is connected via USB tethering but needs to be properly configured. In case that it doesn’t work, get an USB WiFi adapter and create a hotspot on (L). - Buy an HDMI/USB-A video grabber for (L) and an USB-C/HDMI adapter for (I) to connect them, bypass (A) completely. However, the quality will depend on the grabber and the HDMI bandwidth.
- There is a BBB app for Android and iOS under development which will hopefully implement the screen sharing.