I personally use OBS with the v4l2sink plugin to stream into a fake webcam (v4l2loopback). Then you tell [INSERT_YOUR_VIDEOCONF_SOFTWARE] that the dummy webcam is your webcam.
What I like with this approach is that you can fully control your scene.
> If you are presenting a computer desktop (e.g. I teach programming classes, so I do a lot of this), then get your IT department to organise an Amazon Workspace for you. Join the conference call from twice — once from your laptop, and once from the Workspaces session. Share the Workspaces screen, not your home laptop. That way, if a message pops up on your screen, the students won’t see it.
I can recommend a better option (in my opinion): use a VM to "house" the work you're doing and then using OBS to broadcast that VM's window to Zoom/whatever using a OBS->Webcam plugin.
I do this and if you get in touch (I'm in Australia too; Brisbane) I'd be happy to share my setup and show you an example of the work it renders.
(Sorry for the weirdness of replying in two different places...)
If I understand what you are doing correctly, in Zoom you will either select the camera with the VM window in it (which OBS is creating a virtual camera for), or you select the real camera. So the attendees for the session either see you, or they see the content: but not both at the same time.
Is that right?
Unless you run OBS in the virtual machine, and join the Zoom session from the virtual machine too, in which case OBS is unnecessary.
And if you do that then I'm not sure what that's gaining over just sharing one window of your desktop (the VM window) in Zoom.
> ... So the attendees for the session either see you, or they see the content: but not both at the same time.
No. With the correct configuration in OBS, they can see both - you and the screen. This is the latest video I have uploaded to demonstrate the visual effect I mean: https://www.youtube.com/watch?v=DgXhH5VK1pE
> Unless you run OBS in the virtual machine, and join the Zoom session from the virtual machine too, in which case OBS is unnecessary.
Hmm?
I run OBS on the Windows 10 host system. That system is operating at 1440p @ 165Hz. The VM is operating at 720p at 60Hz. OBS uses the VirtualBox window to represent the VM as a source. I then use my mirrorless camera (Sony A6000 via a capture card) as my "web cam", and green screen my self over the top of the VM window in OBS. I use my Rode NT-USB microphone as an audio source and then mute the desktop audio.
You can then use one of a few plugins for OBS to present the output of all of this as a virtual web cam, which can be presented to Zoom as your camera. Your audience then see your combined efforts in OBS all rendered together to produce something akin to what you see in the video.
But OBS then gives you another trick (among many): scenes. You can transition between scenes really easily. Here's another example: https://www.youtube.com/watch?v=P-409oJ9mBA&t=1h03m35s -- this example demonstrates two things.
Firstly that a green screen allows you to increase the possibility of eye contact with your audience by bolstering your size in the frame without having a rectangle of mess behind you (see the video I posted above as an example of what a green screen now looks like.)
Secondly with OBS you can use smooth transitions to move between scenes which can include stinger transitions, but more importantly those scenes can contain everything and anything. For example I use a could of scenes: one for really up close view of me as I talk to the camera and a focus on me is important; and a second scene in which the terminal/screen is important and I'm smaller and boxed into the lower bottom-right side of the screen (as seen in the first video), shifting the focus to the content and not me.
This all comes with a few key benefits...
Using a VM means I can use Windows for OBS and several other tools, but I can run Ubuntu/Linux inside the VM for the better tooling and terminal emulation.
It also means I can run the VM at 720p but my desktop at 1440p. Using a terminal/window in a 720p VM window is PERFECT for showing text in a console ("720p is the target resolution. In pixel terms this is 1280x720. We've gotten the best results when we record at 1280x720(HiDPI) mode, giving an effective visible resolution of 1280x720, but extremely crisp." - https://egghead.io/articles/recording-a-great-coding-screenc...), allowing the text to be very highly visible/readable without having to use zoom in features live or in post.
You can also snapshot the VM once it's in a working/desired state (which can be configured using Ansible in minutes) and then produce clones for use for different reasons. These clones can diverge off on a crazy tangent without you having to worry about losing the original (working) state.
You can craft the perfect development environments and even have them talking to each other on an internal NAT network inside of VirtualBox. So you can create networks of systems to demonstrate network connectivity issues, security or just the standard client/server model.
Using a VM also produces a better alternative to "Do Not Disturb" because DND cannot protect you from accidentally showing private/sensitive information live on stream when you alt-tab to the wrong window.
Ultimately use what tools and methods work for you. I've found that emulating high-end Twitch streamers meant that I could have a very high production value and loads of tricks up my sleeve for close to zero cost.
Hope this helps.
EDIT: I forgot I had this video I did on CI/CD for Chester University in England. It's a big download (sorry) but this is how I use OBS and the above to do university lectures: https://drive.google.com/open?id=1xT31CU8Lfob88FxaDXAVWy-uXC... (skip to about the 3m mark for the slides)
You can still leak sensitive or private information simply by switching to the wrong window during a live stream. There are examples of this happening on Twitch all the time, often requiring the streamer to change a Skype account ID or change their email address.
I work in 3-4 different Spaces on my Mac, and when I do Zoom calls I always populate a new 'space' with all the windows that I'm going to need for the call. Doing that and turning on DND has been pretty reliable for me, but then again I'm not presenting to the world, so it's lower stakes.
It seems overkill to you because you don't have a need for it. That's like saying a Ryzen 3900X is over kill because it has 12 cores in it. Overkill for you maybe, but not for those that need the core count.
Which as you prompted me to discover, is Option+clicking on the notifications panel icon in the menu bar to toggle DND for anyone wondering. Of course some apps annoyingly ignore the DND setting (I'm looking at you MS Teams).
You could. It depends what you're using. If it has a Linux client then that might work, but using the window of VM going into OBS you can then use green screens and start doing some pretty pro looking stuff.
I'm not using a plugin to capture the VM. I just use a "Windows Source" and select the VM's window. A good tip is to set the window's resolution to 720p so that text is consoles and IDEs is very clear. I then overlay a mirrorless camera source over this and use a green screen filter to neatly place my self in the frame.
Using a VM means I can use Windows for OBS and several other tools, but I can run Ubuntu/Linux inside the VM for the better tooling and terminal emulation.
It also means I can run the VM at 720p but my desktop at 1440p. Using a terminal in a 720p VM window is PERFECT for showing text in a console, allowing the text to be very highly visible/readable without having to use zoom in features.
You can also snapshot the VM once it's in a working/desired state (which can be configured using Ansible in minutes) and then produce clones for use for different reasons.
You can craft the perfect development environments and even have them talking to each other on an internal NAT network inside of VirtualBox.
I would like to plug Loom as well as a way to create asynchronous video messages. You can record anything with it (even meetings or presentations). We currently power over 52,000 companies around the world and our tool is free for education forever. No strings attached.
But your current versions have one critical flaw: you'll lose data if you're on a spotty internet connection. After a month of having to email your support to "restore my videos" I just gave up and switched to using OBS and Dropbox to share these videos.
I love, love your product. But without a more reliable upload (or being able to access my recording locally) it's too big of a gamble to use on a regular basis.
Any chance fixing this (for spotty connection folks) is on the roadmap? I'd be fine if I could just upload my own videos as well.
In any case I (almost) love your product. I expect you'll be really, really big. It's a good experience overall (when it works).
OP, I'd be curious to hear more how you structure your lessons for an online environment. This post mostly details how you [technically] teach online classes. For the many teachers who are now in a remote environment, what should they know about online learning vs traditional classroom learning?
-- Start by continuing to use lessons that are clear and simple, and don’t introduce new programs for teachers and students to learn if you can help it.
-- When building digital lessons, it’s helpful to reduce the number of external links on your online learning platform. For example, if you want students to read an article, it’s safer to upload a PDF (to OneDrive or GoogleDrive), rather than a link to an external site that may or may not work.
-- Many of our classes at school intentionally used workbooks and paper-based tasks instead of laptops to reduce students’ screen time.
I recall listening on the radio recently to an adult learner describing her positive online experience. She said (1) the collegiate atmosphere was what made it so "wonderful", aided by initial exercises they did which were about cooperating with other students; (2) she liked being able to fit in her learning around being a mother; and (3) doing peer assessment of other students' draft assignments really helped the students to bond.
I had a similar experience to point (3) when an online course I did included being given other students' short computer programs to comment on and make suggestions about.
I have been thinking about the simplest, quickest way to tutor online. It might be some adaption of what I have been doing 1-on-1, face to face. There would usually be some problem that couldn't be worked out in the tutoring session, so I would go home and write out the solution on paper (using pencil), scan it into my computer, put it in OneDrive and send my tutee a link. Anything else took too long.
Section 3.1.1 "Filming High Quality Video Lectures" is especially good:
> After teaching courses on object-oriented software patterns and frameworks for two decades, it's become second nature to present lively and inspiring lectures despite minimal rehearsal and ad hoc slides. This haphazard model of preparation does not work in a MOOC since there are no students to interact with while filming the videos in the studio. As a result, we needed to produce much tighter scripts and highly structured lecture material.
One odd property of remote teaching is that you can use notes a lot more; you can have a pile of papers on your desk with your lesson plans written out -- and you can refer to them without your students really noticing anything odd. So you can make lesson plans by piecing together piles of things that you have lying around and still have a coherent and useful lesson.
Then there are things you can do face-to-face that are really difficult remotely which you just have to avoid.
These include:
- students doing anything long on their own
- teaching interactive programs
These are related problems.
If students are going to do an exercise on their own, it needs to be small enough that it's possible for them to post the whole thing that they've done into the chat channel.
So it's nearly impossible to teach how to use an interactive program that has a lot of hidden screens. (e.g. teaching Qlik remotely is hard; Tableau tends to be easier because you can post a screenshot).
(If you want to teach those things, it's better to create a simulation for it e.g the kind of thing that e-learning authoring tools like Articulate does.)
So put together, you end up with short-ish theory session followed by a 30 second exercise, followed by another short-ish theory session, and so on until the end of the time.
If there is substantive work to be done (e.g. some mathematics practice work), that needs to be students submitting something into a LMS (learning management system), not something you do in a classroom. That kind of thing works for me because I've only got adult learners; I don't know how it would work for younger students.
Of course you follow all the guidelines from whoever is sponsoring the course, which often entails wrapping everything in a pre-defined sandwich of "this is what we did last lesson; this is what you will learn; this is what you just learned; this is what we will cover next lesson" -- if that's the kind of thing the sponsor wants to see.
He's providing valuable knowledge, and sharing his extensive experience, during a time when it's beginning to be really rather quite important. Affiliate links are a perfectly acceptable norm and, frankly, don't disadvantage you in the slightest (in fact they give you an advantage in some cases: discounts, free months of services, and more.)
Plus he's here in this thread and adding to the conversation. What does it hurt if you get the product for the same price and an affiliate makes some money?
I've been wondering... what if it's a regular post or article without affiliate links? I've noticed a lot of similar articles talking about people using Microsoft Teams or Google Meet to hold classes remotely (without affiliate links), would that count as advertising?
The strangest part was the weird piping through Amazon Workspaces to not accidentally show your popups? This is a sector game streamers have already perfected, you only need OBS, and you want to only capture individual windows, preferably not your browser ever.
OBS is super complicated for non tech-savvy users, so it’s probably not a great option, but some video sharing systems (I want to say Zoom?) can target a specific window.
And as to the Workspace thing, it is super handy to have a immediately revertable system for any kind of demo so it’s controlled and you can reset if something goes wacky, and a Workspace (or Citrix or whatever) specifically is handy because it doesn’t eat CPU/RAM which streaming HD video typically wants a lot of.
I'm usually teaching over Zoom / Nexi / Google Hangouts or something like this, not OBS. This is bi-directional, interactive teaching, not broadcasting / live-streaming a class.
Those tools too can capture individual screens, but then how do you do a PowerPoint presentation when you only have one monitor?
My wife is a university professor and is being told she needs to record lectures going forward. I'm wondering how she can easily record a lecture video and then splice in powerpoint slides later. The best I can think is to record yourself on a computer, while flipping through slides on an iPad right next to your screen. Then afterward go through and take screenshots of the Powerpoint and insert them into the video (using iMovie?). This would probably take me 30 mins for a 45 min lecture, and I'm experienced with iMovie. If there are transitions to preserve, it would take much longer.
Are there other solutions? Seems like something that Zoom should be able to do — you share your screen and video your face on a recorded session. Then afterward you can go back and choose which stream (face or screen) is used at any given point in time.
That's why I do the two system thing (Workspaces for the slides, laptop for my face video). Then I don't even bother editing it afterwards unless I think there's something really important. The recording shows your face in a window because you are speaking, and the content in a big screen.
You just hit the "record" button in Zoom and it works.
This of course makes sense because we were operating remotely; if your wife is teaching in a lecture theatre then that's a different kind of thing. Likewise, if she is creating lectures to be viewed offline, then the cost and effort goes up, and she's now going to be spending all her spare waking hours editing video.
I'm not 100% sure if I understood the problem right, but maybe OBS [1] could be an easier solution. You can use it to record screens and webcam streams. You can layout "scenes" with the video sources and use it while holding to lecture to switch between webcam and screencast. It's usually used for livestreams of all kinds, but works for recording as well.
With my little experience in video editing, I'd say 30-45 min for a whole lecture is very optimistic, so maybe this would be an easier solution.
Thanks for sharing this! Can you simultaneously record your screen and your face, and then later splice the two together (while keeping audio synced, preferably)?
To clarify, basically the desire is to be able to sit in front of a computer, look through slides while talking to the camera, and then afterward go through and (easily) choose which segments should show the screen and which should show your face. And hopefully the audio would just auto-sync, so you don't have to fiddle with it to get the lips to line up when it's set to show your face.
I do exactly this. OBS is, in my opinion, what you want. It's worth learning for this problem alone.
In short: get OBS installed and started. Then add the web cam as a camera source to the default scene. Then load up PowerPoint, Google Slides, whatever, and add that window as a "Windows Source". Make sure the web camera is above the "Window Source" in the list of sources - they're like layers on a cake. You can edit the web camera source in the live preview to then be a box in one of the lower corners (this is called picture-in-picture).
I recommend crafting the slides to support having a picture-in-picture setup.
Here's a (very large, sorry) example lecture I did for Chester University in England: https://drive.google.com/open?id=1xT31CU8Lfob88FxaDXAVWy-uXC... -- skip to about 3-4 minutes in to see how I'm presenting the slides, then jump to about 22m in to see how I present a terminal for programming needs.
Reach out and let me know if I can help you or your wife with this. I'm keen to help anyone having to go remote for this sort of thing.
You can't use it to record into seperate files. However, you can use it to make the necessary editing while recording the presentation.
In OBS you can create Scenes with multiple video sources. The scene will be the output you see in the video file. You can add the video sources as layers into the scene, scale and move them around. So you could create a scene where the main focus is on the PowerPoint slides and the webcam is just in the corner. The other scene would be the other way around. Then, while recording, you can switch between the scenes to show the powerpoint or the webcam.
This does not allow for as much flexibility in post, but it would save a lot of time since you don't have to edit the video afterwards. Also, the audio should be in sync as well.
I made a video that describes the setup that you're looking for to help my own department get set up with OBS, you're welcome to check it out here if you're interested: https://www.youtube.com/watch?v=uNFiBVWhWYI
Zoom can do this. When she sets up her Zoom rooms, they can be set to record automatically. Then, she can share her whole screen or just one single app she has open with her students during the session. So she can share her PowerPoint with them, but they still hear and see her video thumbnail, and then after the session is over, Zoom will process the recording for her. No need for any other software. It may take Zoom a day to process the recording, but she will eventually get a link inside Zoom she can share as needed. This is all built into Zoom. No other tools are needed.
I work at a large school and have been experimenting with cheap and cheerful solutions. If on Windows 10 check out the built-in Game Bar (designed your let you record games) if on Mac Qicktime will let you record the screen and mic.
Yeah, Quicktime does seem like a good option if just recording screen with mic audio is desired. I think that there would be some benefit to being able to see the professor at least from time to time, to make the experience more personal. But perhaps this could be accomplished just by having a small photo of the prof in the corner, by the course name or something.
I use screencast-o-matic, because it is so easy to use and very affordable, to make videos that I upload to Youtube. I have a dynamic microphone, Audio-Technica ATR2100-USB, which has been working well for years.
Does Quicktime save as compressed MP4? Last time I used it for a 30 minute video it saved as uncompressed mov by default. I was not impressed, and while I know how to re-encode, most people don't.
Just use any screen recorder (e.g. QuickTime player on MacOSX can do that). And then arrange your screen in any way you want, e.g. put your slides on it, and maybe some window in the corner which shows the webcam (video of yourself).
She can use zoom to do that with the benefit of students seeing your wife. Otherwise if she is using _PowerPoint_ she can record her presentation with voice (only) in PowerPoint (slide show > record slide show)
Yeah, I've done work in iMovie and think it could be done without too much difficulty, so long as no animations are needed (which is not ideal, of course). Part of the reason for having slides big on the screen is that then you can have your face off-camera at times, in case you have to scratch your face or whatever. Being right in front of a high-res camera for 45 mins is not awesome...
Even as someone who does a lot of presenting to audiences, I find recording video of myself speaking all by myself is really awkward. I suppose it's something one can get used to but I find it very hard. My usual approach is to do a quick video introduction to humanize it and then just talk over slides.
What apps exist to allow for directional "paper" where both (say, given an iPad) can do collaborative writing, if you're doing something like math which needs birectional communication?
My father runs a tutoring business and most students want to move to skyping but I know my father wants to be able to write on something (paper would be ideal, but obviously not practical given the current environment, but an iPad would work) and have the student see it in real time, and then the student also writes in real time and have my father see it in real time.
What did Khan Academy guy Sal do in the early years to do collaborative lessons?
I use zoom to teach. He can have his slides up through screen sharing and with a touch screen laptop write directly on the screen. In addition, I use a program called Nearpod which is free right now. He could see his students working on problems in real time.
There are many online collaborative whiteboards. Those are the keywords you need to search for. I can't really recommend one since they all seem to have serious flaws. But for your use case, one might suffice.
Personally, I use a bit of an ecclectic mix depending on the class. Online classes can be nicely informal in some ways. (I used to teach for an Australian metro uni, but have been teaching mixed on-campus / online classes at a smaller regional uni for 5+ years)
Hmm, maybe to explain how informal, I should post links to some bits of my units that can be seen outside the uni:
On the low-end, this has the first couple of weeks of my Scala unit, taught to a small on-campus and larger online cohort. (Minus quizzes and assessment).
https://theintelligentbook.com/willscala/
So far, so traditional (but you'll already spot a mix of desktop recordings and in-class recordings).
This is some stuff I've been putting together as "outreach" that goes alongside another of our courses (try in Chrome, slow in Firefox):
https://theintelligentbook.com/circuitsup/
Though that's partly just me doing a "redux" on interactive smart materials from my PhD many years ago
For more "social" courses (HCI, Software Development Studio), I have an open source (but badly documented) system I built for students to submit videos to each other for critique. 2016 paper describing it here: http://2016conference.ascilite.org/wp-content/uploads/ascili...
I also use Slack extensively in some units.
Desktop recording usually via OBS, though I used to just use Quicktime when recording on my Macbook Pro. On the "what do you desktop-record with?" side, I tend to use an AudioTechnica AT2020 condenser microphone via a Scarlett 2i2 into the computer. That way it rarely needs any post-production as it's fairly clear in the raw recording.
The main thing is to remember that although they like you to be somewhat watchable, they're usually more led by what you want them to do. Assessments, tutorials, etc. It's not watched end-to-end like Netflix shows. So be personable, but don't feel you need to panic too much about high production values.
Pardon that being a quick and rough post - there's lots of good comments on here already.
As a student, I wasn't at first interested in reading this post because of the title, but I ended up opening it anyway, and the first point (krisp.ai) is something so useful that I wonder why I didn't hear about it before, does anyone know a good FOSS alternative?
You have trial until April 1st. Then it converts to 120mins/week.
If you are a student, teacher, hospital worker or a non-profit - reach out to support@krisp.ai and you will receive 6 months free.
I am looking at moving my programming course online due to COVID-19. Any suggestions on a low cost touch enabled tablet for recording lecture sessions. I am looking at creating content like khan academy classes.
Okay, that's a drawing tablet... monoprice some basic ones I've used in the past (in the $60 range), but you can find some SEO spam articles like these (https://tabletunderbudget.com/best-drawing-tablets/) with better recommendations
No its is not. You can still be tracked; I have personally experienced it.
Incognito mode is for keeping your browsing history "clean" on your end. So that if your friend or relative uses your computer, he/she does not stumble upon stuff you don't wont to see.
To be clear, someone doesn't need to actively search your browsing history.
It's especially to prevent it from showing up in autocomplete. Imagine you tell your mother to look up a plane ticket on Priceline, she types "p" into the address bar, and all of a sudden 8 different porn videos show up as the top 8 autocomplete suggestions.
Now if she's polite she probably won't say anything and you'll never know. But...
What I like with this approach is that you can fully control your scene.