Simultaneously present and stream a workshop with source code and device screens
A few years ago, I worked as a software developer for a mobile phone manufacturer. Our team was pretty geographically distributed, so we relied a lot on collaboration tools. Every couple of weeks our scrum team demonstrated to one another our progress on mobile apps we were developing. We did this in a variety of ways, including sharing source code on our screen, sharing screen captures saved from the phone, or sometimes by pointing our laptop’s web cameras at the phone and to show what was happening on the screen.
If you haven’t tried this yourself, let me be honest and say it’s really hard to get across the fluidity of a design that includes transitions and animation with screen captures or a laptop camera! For example in one case my application included an animation that looked similar to a card being placed in a wallet. The smoothness of the animation and the shadows behind the card were lost and my remote team members could only see a splintered slide across the screen with very grainy graphics.
In fact, the first time I used an Epiphan product, it was at this job. Another team was using a DVI2USB 3.0 for their demos, and I borrowed it. It made *all* the difference in being able to properly capture the HDMI signal right out of my mobile device.
All I had to do was hook it up, then select the DVI2USB 3.0 as my web camera for the demo part of my collaboration session. Presto! Beautiful, full resolution, full video capture of my application and all its special small details. My remote team could finally experience the changes I was describing and we could have productive discussions about what to change and what to keep.
What a revolutionary way to share and collaborate with my peers! The only thing it didn’t do was show where my finger was touching on the screen. If I had access to a document camera, I would have used that to my include finger in the shot too!
Bringing your presentation or workshop on the road and to the masses
So how does this relate to live streaming a workshop? Imagine that I needed to do the same kind of presentation, but this time to a room full of people in addition to remote viewers. Like at a conference educational track or a group meetup with both local and remote members. In this case I can’t use simple collaboration tools because I don’t know all the viewers.
I am likely at a podium with my laptop and a big screen next to me sharing my slides. Local attendees can easily see me, and see my slides on the screen.
I could continue to use a video grabber to share my device screen or document camera. This works for local viewers, but what do remote viewers see? Let’s assume the location has a videographer who is filming me as I speak. They could also film the screen, would that work?
That was a trick question. If you’re reading this article it’s likely because you’ve seen that attempted before, and you know it doesn’t work.
The best option is to be able to switch between more than one source and to share that same switched screen with both local and remote viewers. I could switch between sources to show my slides when they are appropriate, my code editor when it’s appropriate, and my mobile device or a document camera when it’s appropriate.
An HDMI switcher could do the trick, but since we also want to live stream the workshop, let’s consider an all-in-one streaming, recording and switching solution (like Pearl or Pearl-2). For simplicity, the rest of this example uses Pearl-2.
Setup is easy. I plug my laptop into one of the HDMI input ports on Pearl-2, and a document camera (pointed at my device) into another. For my workshop I have code on another computer, so I also connect it to Pearl-2. And lastly, so remote viewers can also see me as I talk, I add the feed from the event’s videographer or from a PTZ camera like LUMiO 12x pointing at the podium.
To make this a simple, single-person operation I create on a channel on Pearl-2 that has my “local content” full screen (e.g. this channel shows either my laptop slides, my device camera, or my code computer – whatever I want to show to the local audience). I configure Pearl-2’s HDMI output port to show this channel and connect it to the projector that is showing my presentation to the in-house crowd.
I then re-use this channel inside Pearl-2 to create a picture in picture layout that includes a close up of me (at the podium) and the local content. As a result, all I need to worry about is switching the content for my local viewers, and my remote viewers automatically get a picture in picture view. I can even create a background for this remote view and add a watermark to protect my work.
The last step in setup is to add my recording and streaming options. I’ll record my presentation as well as stream to both Facebook and YouTube (using the multi-encoding method described in this post).
Over the course of my workshop, I simply use a tablet or Pearl-2’s touch screen to change to the source displayed on the local screen, and all my remote viewers automatically also sees the same thing, in the right side of my picture in picture channel.
See it in action
You saw above what in-room viewers see while watching a presentation. Here is what remote viewers watching on YouTube or Facebook would see:
I can’t think of a better way to live stream a workshop. Everyone can see both me and my code (or slides / device screen) in high resolution and with perfect clarity.