This page documents the setup of a Linux system for screencasting
On Screen Display
Show Keyboard commands
When showing software it's usefull for the students to see which keyboard shortcuts are pressed. You can use screenkey, an on screen display (OSD) which should be installed like this: (Don't install from repository)
git clone https://gitlab.com/screenkey/screenkey.git cd screenkey sudo ./setup.py install
will install the screenkey application. Run with screenkey
Make sure to check "Show modifier sequences only" otherwise everyone can read your password inputs...
Show Mouse Clicks
There is a feature branch in the screenkey git which implements that, hopefully it will be merged into master once you read this.
Using v4l2loopback to stream in and out of OBS
Load the v4l2loopback kernel module and create two devices.
modprobe v4l2loopback devices=2 video_nr=10,9 card_label="OBS Output","Canon 5D" exclusive_caps=1
Stream Canon 5D via USB
gphoto2 --stdout --capture-movie | gst-launch-1.0 fdsrc fd=0 ! decodebin name=dec ! queue ! videoconvert ! tee ! v4l2sink device=/dev/video9
Stream from OBS to a virtual camera source
We can't stream directly from OBS into Jitsi, BigBlueBitton, Google Meet, Skype, etc. So we are using v4l2loopback for this. To install the v4l2sink for OBS follow these steps:
apt install qtbase5-dev git clone --recursive https://github.com/obsproject/obs-studio.git git clone https://github.com/CatxFish/obs-v4l2sink.git cd obs-v4l2sink mkdir build && cd build cmake -DLIBOBS_INCLUDE_DIR="../../obs-studio/libobs" -DCMAKE_INSTALL_PREFIX=/usr .. make -j4 make install
In OBS, go to Menu → Tools → V4L2 Video Output
In BigBlueButton (or any other videoconferencing service) Select the virtual "OBS Output" as a video source.