{"id":29,"date":"2020-04-28T14:45:00","date_gmt":"2020-04-28T14:45:00","guid":{"rendered":"http:\/\/35.172.64.10\/?p=29"},"modified":"2023-08-31T21:45:45","modified_gmt":"2023-08-31T21:45:45","slug":"joining-video-calls-from-mozilla-hubs-on-windows","status":"publish","type":"post","link":"https:\/\/liverickson.com\/blog\/?p=29","title":{"rendered":"Joining Video Calls from Mozilla Hubs on Windows"},"content":{"rendered":"\n<p>I\u2019m going to start with the disclaimer: this process involves a number of wonky settings on your computer and isn\u2019t something that runs smoothly \u201cout of the box\u201d with a single click, nor is it an officially supported feature of either Hubs or Zoom. However, if you\u2019re interested in upping your video meetings by appearing as an avatar in a virtual world, and you like messing around with applications and settings, read on.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Background<\/strong><\/h2>\n\n\n\n<p>I\u2019ve worked on virtual world software for the past 4 years, and I feel way more comfortable, generally, interacting in a virtual space as an avatar. Despite having a painstakingly (and lovingly) camera setup for my video calls, complete with dedicated desk key light and DSLR \u201cwebcam\u201d, I\u2019m increasingly finding that I prefer to be grounded in a virtual space when I\u2019m taking virtual calls. I wrote more about that for the <a href=\"https:\/\/blog.mozvr.com\/sharing-virtual-spaces-is-more-than-a-headset\/\">Mozilla Mixed Reality blog, which you can read about here.<\/a><\/p>\n\n\n\n<p>The thing is, a lot of people aren\u2019t ready to replace their video calls with virtual world meetings, and that\u2019s A-OK, because now I have a way to join them without being on camera myself. <\/p>\n\n\n\n<p>At a high level, here\u2019s how I\u2019m setting up my computer to stream my Hubs avatar into Zoom:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>I\u2019m using virtual audio devices for both input and output, so that my physical microphone drives my Hubs room audio, and the audio from my Hubs room is used as a virtual microphone input into the video conferencing system<\/li>\n\n\n\n<li>I\u2019m using OBS Studio to stream a desktop tab into Zoom instead of my webcam<\/li>\n\n\n\n<li>I have a virtual \u201cgreen screen\u201d streaming room in Hubs that I use with two tabs, one where my avatar is on screen, and one to record from<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Virtual Audio Devices<\/strong><\/h2>\n\n\n\n<p>I initially installed software to create virtual audio devices so I could stream my desktop video into Hubs with audio playing. I\u2019m using <a href=\"https:\/\/www.vb-audio.com\/Cable\/index.htm\">VB-Audio Virtual Cable<\/a> , which adds one virtual audio input and one virtual audio output to my computer. There are other software applications that I\u2019ve been told do this more effectively or easily, but for now, this is the one I installed and I\u2019m stubborn, so it\u2019s the one that I\u2019m sticking with.<\/p>\n\n\n\n<p>When I go into a Hubs room to stream into a video application, I set my microphone to use my physical mic input and change my system audio output to be my virtual audio output device. This means that I can\u2019t actually directly hear what\u2019s happening in the room on that tab (I really should check out those other software applications that allows me to virtually mix sources) but I don\u2019t need to for this first test, so the limited setup I have now is serving my needs.<\/p>\n\n\n\n<p>In Zoom, I then set my microphone input to be the desktop audio. Be warned that this means that if you don\u2019t have system notifications or application notifications silenced, those are going to come from your microphone too, so make sure that you\u2019re keeping this quiet as needed. I turn all this audio off anyway, but you can anticipate it being annoying if you\u2019re not careful. Then, I switch my Zoom output only to using my physical headphones, so I can hear whatever is happening on the call. If I had a virtual mixer, I could hear audio from both the Hubs room and my Zoom call, but that\u2019s something to tackle in a future post.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>OBS Studio with VirtualCam<\/strong><\/h2>\n\n\n\n<p>Okay, so audio is one part of the setup. Let\u2019s talk about the video setup. If you have separate monitors, this might be easier for you (I have an ultrawide monitor, which works great, but after this experiment I\u2019m feeling a lot more likely to invest in a better window management system, let me tell you.)<\/p>\n\n\n\n<p>The way that I\u2019m doing this is to set up two tabs in Hubs, one that acts as the camera and one that acts as \u201cme\u201d in the call. They face each other uncomfortably close and then I use OBS to set up the shot.<\/p>\n\n\n\n<p>OBS allows me to set up a scene that can be streamed out of the application and detected as a virtual webcam feed. You can arrange your scene however you like &#8211; I set it up so my avatar appears to be sitting in front of a webcam (head and shoulders up) and then stream out to video applications like Zoom and Hangouts.<\/p>\n\n\n\n<p>This is the part where having separate monitors can be helpful. Let\u2019s be realistic, at this point in my setup, I\u2019ve got any number of Firefox windows and tabs open, so window management is critical. Once you start streaming out as a virtual webcam feed, you essentially have a portable avatar to take around with you to your meetings.<br><br>Then, when you\u2019re joining your next video call, jump in and choose your virtual camera instead of your physical one, and you, too, can delight everyone with something entirely unexpected.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>A Virtual Green Screen<\/strong><\/h2>\n\n\n\n<p>Once you have the basic setup in place that successfully routes your camera and audio into a tool like Zoom, you can really get into the fun stuff. For the examples above, I started by streaming an entire room into Zoom, but with the virtual background feature of Zoom, it\u2019s possible to do some pseudo-AR type video calls where your avatar seems to be streaming from your own living room, in front of the golden gate bridge, or in front of any arbitrary video.<\/p>\n\n\n\n<p>To do this, I use my regular setup described above, but instead of being in a virtual room and broadcasting out the entire space, I go into a virtual \u201cgreen screen\u201d studio, where I position my actor avatar in front of a green wall and set up my camera view so that the avatar and green screen are the only things in the space. From there, in OBS, it\u2019s just a matter of enabling the virtual background and selecting \u201cI have a green screen\u201d! Then, the world is your oyster. In the image above, I used my webcam to take a picture of my usual background, and superimposed the avatar over it<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>If you need to green screen out something from a Hubs room, here&#8217;s my streaming room that I use for this: <a href=\"http:\/\/web.archive.org\/web\/20210128152122\/https:\/\/t.co\/bjMBYeTbaO\">https:\/\/t.co\/bjMBYeTbaO<\/a>\u2014 Liv Erickson (@misslivirose) <a href=\"http:\/\/web.archive.org\/web\/20210128152122\/https:\/\/twitter.com\/misslivirose\/status\/1253473408412598273?ref_src=twsrc%5Etfw\">April 23, 2020<\/a><\/p>\n<\/blockquote>\n\n\n\n<p>You can click the link to the Streaming Room scene in the tweet above to get a copy of the streaming room and remix it, or use it as-is to create a room for yourself! If you give this a try, please share your results \u2013 I\u2019d love to see what you come up with!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>So, why do all of this?<\/strong><\/h2>\n\n\n\n<p>I <a href=\"https:\/\/blog.mozvr.com\/sharing-virtual-spaces-is-more-than-a-headset\/\">wrote about some of the things that make virtual worlds more compelling<\/a> to me than video calls, and this is an extension of that experimentation. Since more of the world has turned to video conferencing, there\u2019s been an increase in research exploring the cognitive load of looking at faces in a grid on-screen, and applying our existing models of social interactions and norms to a 2D window of faces. For me, having a virtual \u201cplace\u201d I can ground myself in makes me feel far more comfortable than being on-camera, and I don\u2019t have to stare at my actual face on the screen. It\u2019s a win-win!<\/p>\n\n\n\n<p>I also struggle with facial affect \u2013 both recognizing it and displaying it \u2013 so removing the expectation that I have facial expressions at all is actually quite helpful for some types of meetings. You also get a perfectly attentive avatar, privacy for the people in your home, and the ability to emote more intentionally, which I absolutely love.<br><br>I\u2019m not planning to replace all of my video calls with this \u2013 but it\u2019s a compelling use case for me as more of my meetings become mixed reality hybrids. No longer do I have to choose between meeting in a virtual world or a physical one \u2013 I can bring my video into Hubs, or Hubs into my video calls \u2013 or be fully in one world or the other.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Next Steps<\/strong><\/h2>\n\n\n\n<p>There are some definite improvements to be made here that come to mind, which I\u2019ll be looking at in the coming weeks as I continue to explore the viability and desirability of joining video calls from virtual spaces. Specifically, I want to get a new audio mixer setup, so that I can actually hear audio from both the Hubs room source and the Zoom source, and figure out the right set of configurations so I can more easily do this from a VR headset. Unfortunately right now, my setup is limited because my desk is temporarily moved to the living room, but I have high hopes for what this entails and the creativity that can stem from it.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I\u2019m going to start with the disclaimer: this process involves a number of wonky settings on your computer and isn\u2019t something that runs smoothly \u201cout of the box\u201d with a single click, nor is it an officially supported feature of either Hubs or Zoom. However, if you\u2019re interested in upping your video meetings by appearing as an avatar in a virtual world, and you like messing around with applications and settings, read on. Background I\u2019ve<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":0,"activitypub_interaction_policy_quote":"","activitypub_status":"","footnotes":""},"categories":[8],"tags":[],"class_list":["post-29","post","type-post","status-publish","format-standard","hentry","category-mozilla-hubs"],"_links":{"self":[{"href":"https:\/\/liverickson.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/29","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liverickson.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liverickson.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liverickson.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/liverickson.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=29"}],"version-history":[{"count":1,"href":"https:\/\/liverickson.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/29\/revisions"}],"predecessor-version":[{"id":296,"href":"https:\/\/liverickson.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/29\/revisions\/296"}],"wp:attachment":[{"href":"https:\/\/liverickson.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=29"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liverickson.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=29"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/liverickson.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=29"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}