In my classes over BigBlueButton I want to be able to live-stream my hand writing and save the notes in the end. It is unfortunately not possible in BBB to download a presentation together with annotations made on the whiteboard. Otherwise I could just write on the BBB whiteboard.

I bought an iPad recently, so I wanted to use that. However, it is not possible to share the screen in BBB on an iPad (or an Android device). Otherwise I would just run a BBB client on both my PC and my iPad and make the iPad the presenter.

If I had a Mac, it would be natively possible to mirror the iPad’s screen via AirPlay either over WiFi, provided that the devices are on the same “AirPlay friendly” network, or over a cable (USB or Lightning). However, I don’t have a Mac, and to do something similar on my Linux PC connected to eduroam, which turns out to be not “AirPlay friendly”, was a puzzle which I spent one all day with. I came up with the following solution using my Android phone as a device in the middle.

Note that if I didn’t insist on using the iPad, another options would be to use a digitizer (e.g., Wacom Intuouso S) in combination with Xournal, or just to write on paper and capture it by a camera for documents (e.g., IPEVO V4K Ultra High Definition 8MP USB-Dokumentenkamera).

Prerequisities

  1. Installed scrcpy on the PC.
  2. Installed AirReceiver on the phone (full version costs less than 3€).
  3. Allowed USB-debugging in the developer’s options on the phone.

Steps

  1. Create a WiFi mobile hotspot on the phone and connect the iPad to it.
  2. Connect the phone to the PC via USB and switch the connection type to USB-tethering. Authorise the PC if required.
  3. Run scrcpy on the PC. The phone’s screen is now mirrored to the PC.
  4. Run AirReceiver on the phone and select the phone as the device for mirroring the screen on the iPad. The iPad’s screen is now mirrored to the phone.

Example

  • Phone: Samsung A71 with screen resolution 2400x1080
  • iPad: iPad Pro 12.9’ with screen resolution 2732x2048

  • AirReceiver’s settings: The following options were switched on or modified; the rest were switched off or unmodified:

       Airplay
       Device Name: Pavel's phone
       Advanced Settings: Device Discovery Tweak
                          Resolution: Fit Device
                          Use HW Codec
    
  • Depending on the orientation of the iPad, I run the following commands to start the mirroring of the phone’s screen on the PC while keeping the phone in the horizontal position:

       % iPad in portrait position
       scrcpy --lock-video-orientation=1 -w --disable-screensaver -S --crop 1080:860:0:810
         
       % iPad in landscape position
       scrcpy --lock-video-orientation=1 -w --disable-screensaver -S --crop 1080:1680:0:400
    	
    

    The first option makes sure that the display is mirrored horizontally even if the phone is physically rotated, so that we use the maximum area. The option -w prevents the phone from falling asleep while the programm is running. The option -S turns off the the phone’s screen while the programm is running. The last option crops the video so that the maximum area is used.

Ideas

  • It is possible to create a virtual video device and redirect the stream from scrcpy there (see v4l2loopback or akvcam)
  • If configured properly, it might be possible to run the Airplay server on PC through USB tethering, making it possible to bypass scrcpy and AirReceiver completely. The only software needed would then be the Airplay server; for instance, RPiPlay, shairplay. In case that it doesn’t work, getting a USB WiFi adapter and creating a hotspot should help.
  • Buying an HDMI/USB-A video grabber for PC and a USB-C/HDMI adapter for iPad is another possibility to mirror the iPad’s screen to PC.
  • There is a BBB app for Android and iOS under development which will hopefully implement the screen sharing.