 Hello and welcome to Open Media Ecosystem Session number two, JITSI. I am Amanda and I'm here with Taylor who is going to be walking us through this next tool in our toolkit for creating an Open Media Ecosystem. Taylor, can you just give us a bit of a definition of what JITSI is and then we can get going? Yeah, absolutely. So JITSI here, if you go to jitsi.org, that's the homepage of the project and it's an open source video conferencing tool. So you can self-host it. There is also a free public instance that you can use if you just want to even just see what JITSI is. In fact, I believe if you just Google JITSI, yeah, jitsimete.jit.si, this is the public instance. It's sort of, I've used this before too, but the real, I think, cool thing about JITSI is that you can self-host it, own your own platform for this stuff. You can map it to your own domain and you can do things like use it to make recordings and streams. We're going to demo almost all of that today. So we'll go through installing it, mapping a domain to it, joining a call and recording. We're not going to demo streaming. We'll do that down the road when we have a tool to stream too because that's going to, right now, we don't have anywhere to send that stream to in our ecosystem that we're kind of building over time here. So unfortunately, as far as I'm aware, there's no direct way to select stream a JITSI call into Azurecast. You would have to do that with a third-party tool like Audio Hijack, but there are ways to show JITSI recordings on our upcoming tools like Peertube and Oncast and stream directly to there, which is kind of cool. In fact, the quality that JITSI does it at is pretty good compared to other video conferencing tools like Zoom. But yeah, JITSI is great. It's all web-based. So you do your call completely in a web browser. It uses a technology called WebRTC, which is sort of a standard for sending video back and forth. And yeah, I'm a big fan of it. We've been using it at Reclaim on and off for a long time, but I would say over the last year specifically, we've been using it quite a bit and have our own instance that we use for internal meetings and meetings with customers and clients and stuff and also our larger-scale community chats. So that's kind of cool because we've had, I'm trying to think off the top of my head, I can't remember, but we've had like 50, 60 people on a call in some of those instances. Now, usually at a call that big, not everyone has their camera on, but that was kind of cool to see a large call like that. And JITSI handled it pretty well. So yeah, one of the things that's awesome about JITSI is there's an installer for it on Reclaim Cloud. And this is actually part of the Virtuoso app platform, which is sort of the underlying tool that powers Reclaim Cloud. It's sort of built into that. So we didn't make it at Reclaim. It's part of that platform. I like to show here JITSI's self-hosting guide on how you do it yourself if you didn't have an installer. Just because it's kind of a lot, I've done this before. And just between handling like firewall stuff and installing all the software and getting like certificates, it was a long, arduous process. So one of the first things I did on Reclaim Cloud, actually shortly after it came out, was use the JITSI installer and kind of was flabbergasted that it just works and deploys. And there's not really much to do. So that's really pretty excellent. So yeah, so we'll get started here. The JITSI has, as I said, an installer. So that's going to be right in the marketplace. So we can go right in the marketplace here and search for JITSI. Here we go. JITSI video conferencing. We can give our environment a name. I'll call it TaylorJITSI for now. And we'll hit install. And this will take a little bit. It's got to do its install process. It's got a lot of different work to do. And when it's done, it will let us know. It will also give us some information on how to configure it. And we can also do things like map a custom domain to it. So Taylor, let me ask while we're waiting for this. When did you first start? You mentioned a bit that, you know, you had played around with this before the installer came out. Did you have experience with JITSI before reclaim? And how did you encounter it? Yeah, I had played around with hosting JITSI on DigitalOcean just from, you know, following the self-hosting guide that I had up here. And I think the first time I would have done that would have been in like 2020. Yeah, I want to say it was early pandemic. And I've always been not a huge fan of Zoom for a lot of reasons that aren't... Some I think are fair and some are probably unfair. But they have had a lot of like, kind of embarrassing in my book, security incidents with their client software in terms of like them doing weird things. Like for a long time, the Zoom client on macOS, just install the web server on your computer that ran all the time. And even if you uninstalled Zoom, it was still there. It was awesome. I remember this one thing where the video would turn on without you knowing or something. I remember that was a big thing that kind of came out one day and then everyone was like, you have to go into your settings and fix this Zoom thing. So yeah, I remember there being some insubility around that. Yeah, they're also like, they're also known to have been for a little while exploiting the camera permission in macOS. I think that was related. And to be fair, there's also a lot of things that I think people remember, especially early pandemic with like emergency response teaching with like Zoom bombing, not really talking about that because I think most of the things related to Zoom bombing can be attributed to just almost any video conferencing tool and or the security settings that folks had set up on those tools. So I'm really not talking about that. I'm kind of precious about what gets installed on my Mac and I don't particularly, from stuff in the past, I'm not aware of any reason right now, right? So for that reason, I'm not a huge fan of Zoom, even though, I mean, it is, it does a lot of things really well. Yeah. And so what I'm hearing you kind of say is that you wanted to kind of take more control over your video meeting software and methods. And so you came across Jitzi, which I think is is a great kind of kind of representation of what we're trying to build with the kind of narrative we're trying to build with these tools. Yeah. And one of the things I found really quickly that was cool is it had it for a long time now has had really powerful recording and streaming capabilities built into the tool. And that was one of the things that at the time at the institution I was working at, we were using Google Meet and Google Meet had some capability at that time. But it was most of the good versions of those capabilities were expensive and we weren't paying for them. So I was kind of looking for something that could maybe fit some of those needs, not just basic recording, but live streaming out to other platforms, things like that. And again, Zoom does those things. But I didn't want to use Zoom. I was interested in what else was out there. So yeah, I probably spent of just like my own free time because I'm the worst kind of nerd and I do this as my day job. But sometimes I do it at night too, because I genuinely find it interesting and empowering. So I spent some time setting up a Jitzi server and it was really cool, but it took me a long time to figure out how to do it all. I learned a lot, but it took me a long time. So doing this on Reclaim Cloud, as we're going to show here, was really cool. I mean, you could you can do this really quickly. Like we're only going to spend a couple minutes in total, actually, with the install part. So I think it's a really great experience around a tool that there's just a lot going on. Video conferencing is complicated from a server perspective. So it's it's pretty fantastic what the folks at Jitzi have done and the folks who develop Jelastic have done to make this easy. OK, so I'm going to go back over to our Reclaim Cloud dashboard and here we go. So this is the URL Jitzi is at right now. It's going to take a second to load. Note that if you're doing this for the first time and you're actually watching this spinner go and it says we're complete. And you hit that you hit that URL. It may take a second because the first time any application that's sort of Docker based deploys. Sometimes it can take a good minute for everything to actually be ready. So just note that it's going to spit out a default password for you. And this is the password you'll need to be able to host a call. So I'm actually going to throw that in a text file for now. So I have it later and here we go. So I've got that. And then finally here it's going to link to the documentation that exists for this installer here. And I'm going to just kind of touch on this. This is good to know about. We're going to kind of go through everything we need. But it is good to have this handy if you're doing this yourself. It has some things about like, hey, you know, when you're hosting a meeting, here's how you put the credentials in. You can do things like add a password to meetings that guests would need to do to to know to join. There is some advanced deployments of Jitsi where you can have a clustered setup, which would be really great if you're using Jitsi to host a lot of different calls simultaneously. Haven't played with that personally. But that is available. It talks about some basic things like, hey, you can do streams and recordings shows where recordings go after you've made them, which we'll talk about and how to bind a custom domain. All this stuff is good. The one thing I wanted to mention about this documentation is they're saying that you'll have to import a manifest file to install Jitsi. You don't have to do that in Reclaim Cloud because we have it added to our marketplace. If you're following those instructions, which we'll also have linked in the blog post for the week, you don't need to import a manifest file. You just need to click that button in the marketplace. Okay, so when you have a right out of the box Jitsi install, this is what it'll look like. And one of the kind of cool things I think about Jitsi is you get to make up your URLs on the fly. So I can go with these. It's sort of generating URLs here for me that are like somewhat, I'm not going to call them secure, but obscure. How about and so that's really kind of handy. So you can just hit that button and it will kind of come up with a memorable but obscure name. You can also just type in anything in here. Or you can just go to your Jitsi URL slash my cool video call. You just make up a URL and that will work. That's what I love about Jitsi. Like one of the most stressful things for me when trying to set up a Zoom call or something like that would be having to generate the new session and then find that link and copy it correctly and send it over to folks. So being able to just know that that base URL and then make up whatever you want is the ending. And then you can go right in there when you're ready. Yeah, that is absolutely my favorite feature about Jitsi too. And I love that I can just type that right into like the location field of a calendar event. And I just know it's going to work. The other thing about that I mentioned, you need to admin username and password. My recommendation is you put that in a password manager like one password or something or like Bitwarden or something like that. Keep that handy because if no one if you go to a URL, it's going when you actually hit the join call button, it's going to ask you to enter that password unless there's already a host in the call. And it's identifying the host by if they've logged in with that password. So that's sort of the built-in security of you have to know the URL to join a Jitsi call and a host has to be there to for the call. You can't just have random people joining a call that don't have that password. One host has to be in the call. And then like I said, there's there's other security options. I've honestly never used them because I've not needed more security than that. But it is worth noting that that's possible. We'll do more with the call in a second. I want to actually get this map to a domain first. So I have I'm going to go into the Reclaim Cloud dashboard again. And so if I click on this little button here under Jitsi server or next to Jitsi server, the add-ons menu, there is a domain configuration add-on. So this will actually let us automatically map a domain. So it says, please specify the new domain name. Make sure the new domain name is bound already to the environment via C name or via an A record. I would recommend using an A record. And we're going to do that in just a second. It's just almost always easier. So what we have to do is we actually have to make that A record in our DNS for our domain first. You can do this for a subdomain. You can do this for a top-level domain. I'm going to do it for a top-level domain that I actually have added to my shared hosting account. So I'm going to go to DNS zone editor. And I have a special domain just for Jitsi called Jaden.zone because I think it's funny. No one else thinks it's funny, and that's OK. But it's funny for me. We get to have a video call solution at Jaden.zone. So I can tell people, let's jump into the Jaden zone. And they say, I don't want to do that. But here's my DNS stuff for the domain. This is all just stuff that Cpanel put in there. I'm going to go and add an A record here. And it's just going to be Jaden.zone. And then I need to add an IP address, which I actually can find back over in Reclaim Cloud. So I'm going to close this. I did this a little bit out of order. So if you don't see this IP, you can go in the node and hit the little triangle. And then there's our IP address. So I'll copy that, paste it in here, save it. OK, so I've done that. Now I'm going to put my domain name here, Jaden.zone. I hit apply. And it's going to take it a second. So what it's going to do for us is it's going to automatically update like the configuration files that Jitsi is looking at. And then it's going to restart Jitsi. And then finally it's going to issue a Let's Encrypt certificate all at once. So I've got my DNS pointed. We did our domain configuration. And now I can load Jitsi at the new domain name. So now it's at Jaden.zone. So what we're going to do is we're going to try to jump in this call. We're both going to have to mute so we don't have like a double audio situation here. I'm also going to make a URL and I'll send it to you, Amanda. One thing I like to point out here, so I mentioned that I've used Jaden.zone for a while for Jitsi. This little box down here, this is your previous calls. This is not public. This is only showing in your browser's cache what it remembers your last calls are. It's just a question that comes up. People are like, oh, people can just see any call. It's like, no, just you see that. So let's test Jitsi. That's my URL. I'm going to send this to you, Amanda. And I can go in here and actually change what camera because I have a couple different cameras set up. I'm going to mute here. And I can put in my name and join the meeting. And then finally, it's going to ask for that password, which again, I have over here. This also, that password also will get emailed to you as part of the install process. So it's good to know. Hey, Amanda. Sorry, if you want to be muted in Jitsi, but not in our production tool. There you go. Is that working? Oh, yeah. Cool. So this is what Jitsi looks like. It does some things like there's the tile view. You can also unclick that button, and it will show just the person you're talking to or whoever is talking if there's multiple people in the call. There's your audio settings are here, your video settings. You can share screen, which if you've not used a web-based video conferencing tool, you may have to add your browser with that permission. That's just a thing about any web-based video conferencing thing. There's a chat. There's polls, which I always forget about that it has, but I really like that. There's a hand-raised feature that people always like to accidentally click, and then they panic, because your hand is just raised for an amount of time, I think, like 10, 15 seconds. But there's also reactions, and if you hit them, it will make sounds, which aren't going to come through on our recording because of the way I did it, but they are very funny. Very funny. Like 90s sitcom meet funny. Yeah, like this one is the surprise is 90s sitcom kiss sound, I feel like. So that's my favorite one. There's a little participants panel where you can actually see if people's hands are raised and a full list. You can also make breakout rooms which is super cool. And one of the things I love about Jitzi's breakout rooms, we're not going to demo it because there's only two of us, so it won't be much to demo. But one of the things I like about Jitzi's breakout rooms is that you can seamlessly jump in and out of them, where Zoom has breakout rooms, and they work pretty well. But when you click on one, you leave the call, and then it rejoins. And it's kind of like a 10, 15, 20 second long process. Not the end of the world, but I have had, when I've helped instructors with things in the past, I've had people say like, I wish I could transition between these faster. And it's just kind of a limitation of how it works. And as an admin, can you also control others mute if folks are muted or if their camera's on? Yeah, so you actually can, you can stop people's video. You can mute people. You cannot unmute people. So just to make clear, you can ask them to unmute. I actually love that. I think it's a really considerate way of doing that because I think it's kind of not cool to be able to reach in and turn someone's- That would be very creepy, yeah. Yeah, it's so like if I stop your video, I think that works the same way too. So I can disable your camera. I don't think, yeah. I'm not able to enable Amanda's camera. That's just not a thing. So you can mute people and you can stop their video, but they have to choose to enable them, which I think is a good way to handle that. Right. And I think it's cool that you can also... Oh, I think I'm frozen in there now. Oh yeah. I do think it's cool that you can so easily make that disable setting work just from there. Looks like we had some kind of bandwidth situation. So that can kind of happen. If I can have one second, if you wanna try to disable and re-enable your camera, maybe that'll work. But one thing I wanted to note here is the actual Jitsi setup in Reclaim Cloud. So this is all running in Docker. One thing to note is that it is not the lightest application, right? I mean, it's video. It's doing a lot. It's doing encoding and all kinds of things. It's using about eight cloudlets, which isn't actually that bad. But if you look at the pricing cloudlets, so let's say if I set this to eight here, that would be, if you were on a call and it was using eight cloudlets all month, which it won't be, but that would cost about 25 bucks for that month. Not too expensive for a video conferencing tool, but it's more expensive than, say, like running Ghost, like a blogging tool. So, man is back here. Are you, you're a Firefox person, right? Yes. I'm a Firefox person too. I will say anecdotally, Firefox just kinda does like a six out of 10, four out of 10 job at video conferencing in the browser. It works. I use it all the time, but I do have weird little glitches with things like we just experienced from time to time. And I think that's just because the Google has sort of defined the WebRTC standard, so they're ahead on a lot of these things. So that's just one thing to note too that is just plain a downside of Jitsie is I love that it's web-based in that people don't need any software to join. And I think that works really well for us at Reclaim when we're asking people to join our calls because it's not like they have to go install Teams and like set up an account or something like that. We don't have to do that, but you know what I'm saying. But the downside is it pretty much only works properly in Chrome and Firefox and kind of Safari. It does work in Safari, but there are limitations for what you can do screen-sharing-wise in Safari and they're significant. So that's just a downside. Now on iPad and iOS and Android, there are apps, so it works properly in those platforms too, but that is just one thing to note. There is also finally, if you really want, you can use a special Jitsie Meet app called Jitsie Meet Electron and you can download that from GitHub. And all it is is a web browser in disguise, but you can use that to take Jitsie Meetings if you don't like that it's part of your tabs basically. So that's an option too. All right, I'm not gonna go through all of these. Frankly, most of these are kind of self-explanatory. There are things like you can go full screen and you can disable people's cameras, stuff like that. There's backgrounds, there's blurring of backgrounds, there's that kind of stuff. The one cool thing that I mentioned already is you can stream with Jitsie and the way that works, if you hit start live stream, there is a section where you can paste in a YouTube live stream key. So if you go to YouTube and set up a live stream, you can paste in a key. And you can also stream, this is undocumented in this little window here, but you can do it. You can also give it any RTMP URL. An RTMP is a standard for live streaming that YouTube, Twitch, we're gonna talk about Oncast and PeerTube, basically streaming on the web, all of it uses RTMP and it will normally give you a URL and a key. So if you put a URL in there, Jitsie will automatically stream to that URL as well. And like I said, we're gonna actually demo this, I think in our last week, but it's really cool that you can have a self-hosted video call and broadcast it to a self-hosted video platform. That's kind of what we're building to here throughout this course. And then you can also record. So I'm gonna hit that record button in just a second. The last one I wanted to, two things actually, I wanted to note here. There's a speaker stats, which is really handy. Now, we have no speaker stats because we are muted in our own call. You're hearing us through our platform that we used to do broadcasting, but it is kind of neat slash a great ego check if you're in a meeting and be like, wow, yeah, I'm dominating this meeting. So you can do that too. That's really interesting. I like that it's there. I'm sure other tools maybe have that, but I haven't seen it before, so. It's gonna be an interesting study. Yeah. And then finally, there is a share video button. So you can, right now in Jitsi, you can put a YouTube link or links to direct.mp4 videos, and it will actually play the video in the call at a high quality for everyone. So basically what it's doing is it's loading the video in this little tab, and then just kind of syncing the playback for everyone. And then the host or whoever hit the share video button can control it. Really cool. So you don't get that like laggy audio and choppy video situation. The only downside with that, it's kind of unexpected. Like when I've tried it is when you do that, it's gonna mute everyone in the call. So you will only be hearing the video. Now I think you can unmute, but that's just one kind of downside. I think for teaching, this would be super handy to be able to just automatically pull in YouTube videos and show them at high quality. It's not here right now, but I know in their roadmap, because I've seen it on their GitHub, they're looking to add support for peer tube URLs as well, which is super cool. But it's not there right now, unfortunately. All right, so I'm gonna hit the record button. I guess I could have done this before. I'm not really sure what I'm doing, only doing it now. So I'll hit record. It's gonna put a little notification down here. Recording is on. And then it says recording is on. Again, viewers of this won't see that, but that's what Amanda just reacted to, because it's a little bit strong. It's very loud. Yeah, it's quite loud. But it lets everyone know. And you can't really miss it. In terms of hearing it, there's also record little stamp at the top here. And yeah, it's recording. And the really cool thing about these recordings is it is pretty high quality. It'll do things like capture the shared screen that you can share your screen in Jitsi. It just does a really fantastic job of managing the real-time video with the recorded video in a way that I'm really happy with. So when you're done recording, you can then hit go back here and hit stop recording. Of course, if everyone leaves the call, it will also stop recording. Recording has stopped. And they'll say recording has stopped. So that's how that works. And if we go to our documentation that we were looking at before, it does mention in here where these recordings go. Because these aren't, by default, going to be available for you anywhere in, whoops. These aren't gonna be, by default, available for you anywhere other than in the container, in the node on Reclaim Cloud. So you have to get them out of there. The cool thing, though, is the way Jitsi does these is it's encoding the video while it's recording. So they are available immediately after you hit that stop button. There's almost no gap there. If you've ever dealt with this on other services, there's often like a, sometimes like an hour or more where it's transcoding things and making things ready. This is just instantly available and I love that. That's awesome. So I can actually go here and hit the config panel. And it's actually favorited here under recordings. And then it's gonna be a random ID, which is unfortunate, but you can look at the last modified date to see and you can sort by that. And then if I go click on that, here's our MP4 file. There's also a metadata file, which I'm not actually sure what's in here. Oh, this just shows what the URL was, basically. Okay. But probably worth noting that it won't record or keep track of the chat history. Correct. Yeah, it does not keep track of the chat history. I would love to find a way to do that. Maybe there's an option to do that, but that is not part of what it automatically records. So one other thing with this though that you have to keep in mind is this little file browser in Reclaim Cloud, really handy for like editing text files and managing files, but there's a hard limit on how large a thing you can upload and or download from it. So I think this is a 13 megabyte file. If I hit download here, it's going to download it for me. I don't remember off the top of my head what that cap is and maybe something like 20 megabytes or 100 megabytes, but very often you're gonna have a file that's too big to be able to download out of here if you've been recording for any amount of time. So then in those cases, there's two options. There's sort of one sane option and then there's what I do. We're gonna focus on the sane option, but the sane option is you can use FTP or SFTP. So if I go to this little additionally, I hate that this is labeled additionally. It's strange. But whatever. And you go to SFTP direct SSH access, you can use SFTP to get right into the storage of a particular container. Now you will have to go to add a key, public key to your account. And we do have that documented as well. Yeah, generating and using SSH key pairs. So this is actually kind of being sort of a front to back guide on key pairs, but it goes through how do you generate one if you've never done this before? And then there's a section on adding your public key to your Reclaim Cloud account that you would also need to follow. And basically it amounts to, you generate this with the instructions here and then you would be able to then copy the contents of that file into Reclaim Cloud. But then if you do that and you set up your SFTP client, you with these credentials here, you can use SFTP to get right into your recordings. This is super handy. And I actually have this set up already for our Reclaim Meet account. If I go in here. Yeah, so I have it bookmarked and that workflow is fantastic for me. So that lets me get files in and out. That's great. There is another option we're not gonna cover here. It's kind of advanced. Some day I'd like to make this be really straightforward and simple, but you can also hook up and link storage between containers. So you could use something like a file manager or Next Cloud to actually get to your storage in Jitsi and other things. So like I said, we have this setup for Reclaim stuff, but I'm not at a point where I can recommend it yet because while it works great and I spent some time playing with it, it's not at this point worth the time. At some point I wanna document this and make it really easy for people to do. Just not there yet. But the really neat thing for that is, and this is just one of those, this can work because of the way containers work, is we can set up this file browser tool that can then look at our Jitsi storage and get files right in there. So here's the last community chat and I can download right from here. I could even make a link and just share the link with someone. Super handy. And the only reason I'm showing that is to me, this is sort of the next step in the open media ecosystem is a repository for recordings. And that's not something I have ready to share today, but sometime we'll get that set up as something that can be sort of a one-click addition for folks. But this is kind of one of those, you could only do this in the cloud kind of things that I really think is kind of neat. But I'll say most of the time SFTP is great and then you can get your files in and out really quickly with that tool. So that's really handy. Yeah, so and again, the recordings here is bookmarked over here. So the path for that, if you were using SFTP, you can find here as root.jitzy-meet-config-gbree recordings. And in my case, we don't really need that. So I'm just gonna delete it. There we go. So, whoops. So that's jitzy. And I thank everyone for checking out this session. Anything else you wanted to cover Amanda before we sign off? No, I think this has been great. I mean, I've been using jitzy since I've been at Reclaim and have really enjoyed it. And it was cool to learn about more features. As someone who doesn't really host a ton, host a ton of jitzy meetings, it's cool to see what you can do on that end. So that was really cool for me. Other than that, I just want to encourage folks to join us again next week for our third session, where you'll be seeing a fresh set of faces. It should be Jim and Pilate next week, right? Yes, Jim and Pilate next week and they will be talking about OWNcast. That's right. OWNcast is a fantastic little tool that I personally haven't used a lot in the last couple of months, but beginning of the year, messed around with a lot. And basically it's just a very straightforward kind of Twitch alternative. So it lets you make a streaming media server. So you can basically stream to OWNcast and people can look at your live stream. It doesn't do anything with recordings or anything like that. But the fact that you can just kind of like map a domain and say like, maybe I don't actually have this domain, but maybe I registered jaden.live, right? And that can be my OWNcast server. I don't have to have some crazy long URL. You just go to jaden.live and if I'm live, you will see it. That's kind of cool. And again, I think may fit a really interesting niche for some folks who just want something simple. Maybe you want to keep your recordings on YouTube or maybe in your school's media repository if you're using like Keltur or something like that. But you need something to stream to that gives you that flexibility. OWNcast may be the thing for you. And it's also just kind of beautifully simple. So that will be our next tool. Yeah, that's the name of the game for this whole series. So thanks everyone again for tuning in and we'll catch you on the flip.