OpenBoard-org / OpenBoard

OpenBoard is a cross-platform interactive whiteboard application intended for use in a classroom setting.
https://openboard.ch/
GNU General Public License v3.0
2.24k stars 413 forks source link

Support live streaming #317

Open multun opened 4 years ago

multun commented 4 years ago

As many classes are switching to an online model, it's getting increasingly important to be able to stream video from OpenBoard.

I think the easiest way to do so is to create a virtual webcam, and let another streaming software handle streaming / recording.

Thankfully, most of the infrastructure is already there, as the podcast infrastructure can also be leveraged for this purpose.

On linux, libav supports writting to virtual video devices (v4l2-loopback) natively, and the patch should be very straightforward (it can also be done without any library very simply). I don't know much about windows, but a number of projects seem to provide this feature for windows as well (OBS-VirtualCam, webcamoid, libvideolive)

It would enable using the board as an input for any video streaming software. I may try to hack support for the linux version if I find some time to do so.

fcmoses commented 4 years ago

@multun: Personally, I prefer the online model – HTML5/CSS3/JavaScript. See http://fmoses.com/HF1/ for some pages from one of Haiti Futur’s courses rewritten as a website. Try rescaling the browser window. It is easy to make the form factor and scaling track the window size. Scratch Qt and substitute our own page makeup software using only the features we need. My demo showed me that it isn’t too hard. Also, scratch Flash for SVG. It’s not a short term project, but a worthwhile one. Nearly all non-embedded platforms have Web browsers. I’d be willing to work on such a project.

Issue: if the user has no Internet access, we’d need to provide a simple way for them to set up a local site which may be tricky and/or beyond the skill set of teachers

From: multun notifications@github.com Sent: Saturday, April 25, 2020 3:16 AM To: OpenBoard-org/OpenBoard OpenBoard@noreply.github.com Cc: Subscribed subscribed@noreply.github.com Subject: [OpenBoard-org/OpenBoard] Support live streaming (#317)

As many classes are switching to an online model, it's getting increasingly important to be able to stream video from OpenBoard.

Thankfully, most of the infrastructure is already there, as the podcast infrastructure can also be leveraged for this purpose.

On linux, libav supports writting to virtual video devices (v4l2-loopback) natively, and the patchshould be very straightforward. I don't know much about windows, but a number of projects seem to provide this feature for windows as well (webcamoidhttps://github.com/webcamoid/webcamoid/tree/master/libAvKys/Plugins/VirtualCamera/src, libvideolivehttps://github.com/TimSC/libvideolive)

It would enable using the board as an input for any video streaming software. I may try to hack support for the linux version if I find some time to do so.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/OpenBoard-org/OpenBoard/issues/317, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACN736CSEW5ARMCTD4JOKNTROKE3HANCNFSM4MQUD66A.

kaamui commented 4 years ago

Hello,

As said on the original thread, I find the idea really interesting and I'll try to discuss it with the team. If it has to be done with ffmpeg, I'll have to make ffmpeg work on windows before. In all cases, due to our limited resources, I actually have to focus on the migration, so I will not be able to look at it soon.

Thanks for reporting this idea.

kaamui commented 4 years ago

Hello @fcmoses !

Glad to see you here :)

Do you have a tool to convert an openboard document to a web oriented document like you did in your example ?

multun commented 4 years ago

I don't think ffmpeg supports that out of the box on windows :/

fcmoses commented 4 years ago

Hi @kaamui, the example I put on the web was hand built using WYSIWYG Web Builder 15. I'd like to be able to parse a ubz file and convert as much as possible automatically to HTML5/CSS/JavaScript. What is the format of a ubz file? I've pulled lots apart by unzippinng them and manipulating the files, but a formal document would be quite handy.

kaamui commented 3 years ago

I don't think ffmpeg supports that out of the box on windows :/

That's bad news. I also had a lot of difficulties to make ffmpeg work on Windows. Maybe the solution could come with the windowed-mode, simply.

Hi @kaamui, the example I put on the web was hand built using WYSIWYG Web Builder 15. I'd like to be able to parse a ubz file and convert as much as possible automatically to HTML5/CSS/JavaScript. What is the format of a ubz file? I've pulled lots apart by unzippinng them and manipulating the files, but a formal document would be quite handy.

There's no documentation on this, sadly. An ubz file is simply an archive of all the pages (.svg) and thumbnails (.jpg), with folders for media objects like pdfs, videos, audio, etc

I'll try to add a documentation on this as soon as possible.