1

I'm giving a class next semester in a room with no preinstalled projector system and next to non-existent wifi accessibility (during the busy hours its not possible to connect to the router; let alone stream video or images).

It's a class (in engineering statics) that I want to give examples of how to use and incorporate software in the solution of exercises. I find it more beneficial when I show them examples from my computer screen.

Solutions I have considered are:

  • use the university teleconferencing software (based on BigBlueButton) to share my screen (however the wifi bandwidth is the limiting factor).
  • get a mobile projector: the setup, and swithing on/off lights every time I am making the presentation seems to me disproportionate to the amount of time I am expecting to use it.

So I was wondering: if someone knows of a system that uses Bluetooth (or similar technologies)(maybe also wifi, but through the local router) to project simultaneously (and securely) to about 20-40 smartphone screens.

Hopefully, this will not be considered off-topic. (I lean anyways towards the projector, so this is not crucial, however I am interested if someone has a solution that has tried because it seems that the technology exists to do it for one, and I would imagine it might be feasible for many).

7
  • 1
    I would suggest asking this on softwarerecs.stackexchange.com Oct 11 at 10:37
  • 4
    I can try to elaborate if this direction makes sense, but I think you can stream your desktop to a local web server using VLC. Then you can open a local hotspot, so the rest of the group would be able to connect to you and open your stream in their browsers. Thus, no app would be needed on their side. Oct 11 at 10:38
  • @rg_software actually it would make sense, and I would appreciate it if you would.
    – NMech
    Oct 11 at 10:39
  • 1
    There are orthogonal solutions to the basic problem. Send a url to a page with the images the day before the lecture. This allows previews by students.
    – Buffy
    Oct 11 at 13:25
  • 1
    Do students want to try to follow along engineering diagrams on their tiny phone screens? Just host class on Zoom for a day Oct 11 at 17:58
3

It turned out to be more complex than I expected, as most of the setups I tried actually failed. However, this one seems to work.

  1. Get OBS Studio. Skip initial setup, in the main window find "Sources" box and add a "Display capture" source. This will add a desktop picture to your stream. Next, go to Tools, Settings, Advanced, Recording pane, and set "Filename Formatting" to some wildcard-free name like playlist. Go to Output, set Output Mode to "Advanced", go to Recording tab, set Type to "Custom Output (FFmpeg)", FFMpeg Output Type to "Output to File" and in the "File path or URL" box below set a path to any empty folder on your disk, e.g., C:\temp. Set "Container Format" to hls. You can also set "Keyframe interval" to something lower like 90 to reduce latency (more details here). Close the settings.

  2. Now if you press "Start recording" (not "Start streaming"), your session will begin. It generates a lot of garbage in the temp folder, so you'll need to clean it afterwards. By this moment we have a screencast running, so the next task is to share it. The trouble is that the hls format we use isn't supported natively everywhere, so we need to create a helper HTML page.

  3. In the same temp folder create a page index.html. Copy & paste there this "quick example page". If you want to operate in a full offline mode, download hls.js file and change the link to it in your index.html. Oh, also it makes sense to change controls into autoplay in the video tag there.

  4. Finally, run a web server from your temp folder: python -m http.server. If you are in the same local network with your audience, just give them the link to your screencast: http://<your-IP>:8000/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.