For folks willing to build from source, I have an additional commit on top of the PR (linked in the comments) that enables support for Android's constrained high speed capture mode, allowing 120fps/240fps camera streaming. Not the most useful for meetings, but enables things like capturing high frame rate mixed reality VR footage. As far as I'm aware, there's no other Android webcam app, proprietary or open source, that can do anything above 60fps.
I'm not too familiar with image analysis, but if it's acceptable to work on lossy frames and to take a small hit to latency, you could record to a MediaCodec hardware encoder and then immediately send the output to another MediaCodec instance to decode it.
Specifically I would love a way to use my Android device as a remote controller for PDF presentation. For now I can do this with KDE Connect but the remote controller is blind, I have no way to see the current slide on the Android device, much less to use it to annotate the slides in live.
Does that exist?
I know how to do that with Sway and swayvnc on wayland, as well as with xorg.
https://superuser.com/questions/1434779/using-a-tablet-as-a-...
https://www.reddit.com/r/swaywm/comments/k1zl41/thank_you_de...
This is particularly helpful to people using asahi linux and wanting to connect an external monitor. That can be done with something as simple as a raspberry pi.
EDIT: apparently this project help achieving the same thing on different OS but using webRTC and a browser:
You'd install the client on your computer:
Windows: https://anydesk.com/en/downloads/windows
Mac: https://anydesk.com/en/downloads/mac-os
and then on your phone:
Android: https://play.google.com/store/apps/details?id=com.anydesk.an...
But I share your want of an quick and easy way to use my phone as a keyboard and mouse for a "remote" computer in the same room as me
This one was usable but not very polished IMO https://play.google.com/store/apps/details?id=com.panda_nood...
Like, no matter what, the UX will probably be meh just trying to mirror screens. Instead the presentation app could give you a QR code with a TLS cert in it, and you could scan it and get a secure connection to it's mobile optimized web remote UI.
We are really nowhere near using the full potential of all the devices and connectivity we have.
Imagine telling my wife:
Here's a little script for streaming through your camera on obs:
get-adb-devices-list() { adb devices | grep -v "List of devices attached" | grep -v "daemon" | grep -v "^$" | grep -c . }....
:)))))
1. setting a static ADB/TCP port or automatically sending it to the PC (Android now changes it every time)
2. enabling ADB/TCP on mobile hotspot (Android complains "Please connect to WiFi")
Other than those two things, between scrcpy, KDE Connect and Waydroid, the Linux-Android integration is basically perfect and makes even the Applers jealous.
Here's a little script for streaming through your camera on obs:
get-adb-devices-list() { adb devices | grep -v "List of devices attached" | grep -v "daemon" | grep -v "^$" | grep -c . }
echo "device count: $(get-adb-devices-list)" while [ "$(get-adb-devices-list)" -eq 0 ]; do echo "Waiting for the device..." sleep 0.5 done
IP_ADDRESS=$(sudo adb shell ip addr show wlan0 | grep "192.168.." | awk -F ' ' '{print $2}' | cut -d '/' -f1)
connect-adb-tcp () { sleep 1 echo "Connect to the device...$IP_ADDRESS" && \ adb tcpip 5555 && \ sudo adb connect "$IP_ADDRESS" }
connect-adb-tcp && \ v4l2-ctl --list-devices && \ scrcpy -e --v4l2-sink=/dev/video0 --lock-video-orientation=1 -n -N &> ./log & obs