Remote Heads-Up Challenge!

We each set up a stream that took up half the room horizontally, then set OBS to record to a url of a third ‘host’ PC, whose user did commentary. URL was udp://HOST_URL:OPEN_PORT?pkt_size=1316, like in https://obsproject.com/forum/resources/obs-studio-send-an-udp-stream-to-a-second-pc-using-obs.455/. Then we had the host add two VLC Video Sources, each with udp://@:PORT?pkt_size=1316, and then positioned and cropped the two streams. We then all got on a call, and they did commentary/referee while we played. Should allow minimal quality loss since it’s all controlled, and no need for extra software setup beyond just OBS/VLC and forwarding a port on their router

In retrospect, should have sent our headset mics into the stream as well as the machine mic. I was using my headset just for the internal discord chat. Would like to do another one with 1-2 commentary people, maybe joining into a zoom chat just to watch the stream and commentate, mixing their audio back into the stream, if I can figure out the audio delays involved

Also, if anyone would like to join in on commentary, or could use someone for their stream, let me know!

1 Like

Does the udp have less lag than rmtp?

From what I’ve been able to gather:

  • RTMP is TCP based and prone to lag.
  • RTSP is UDP based and less prone to lag than RTMP.
  • “UDP” in OBS/ffmpeg is a raw UDP stream with a user-specified data format, with naturally low latency, but prone to glitches when there is packet loss.
  • SRT is UDP based and less prone to lag than RTMP. Compared to raw UDP, it behaves better when there is packet loss.

But that’s just theory from my side. Haven’t tested and compared yet.

1 Like

I only tried the raw UDP stream. We got about 2 second lag, and didn’t see any glitches, so didn’t bother trying other stuff.

Finished up a lessons learned from a bunch of multi-person streams (2, 3, and 4 streamers from across the world) using NGINX and OBS in a part 2 post here: https://dontpanicflip.com/2020/04/15/how-to-stream-with-other-streamers-using-nginx-rtmp-and-obs-studio-part-2/

Overall, it’s got issues, the biggest with latency and the work-arounds suck but dang the quality can be wonderful! But easier options with less quality exist if you’re just looking to get something up and running quickly. Also, we started working with some new tech a week ago and hope to post a write-up in the near future on that after we get a few streams under our belts :slight_smile:

2 Likes

Another HOW TO article was posted earlier this afternoon for head-to-head style remote streaming using an off-the-shelf product called DeskCamera which uses RTSP to make your physical cameras, screens, or highlighted sections of your screen available for remote access. Also talked to the developers and got them to offer a special $5.00 licensing option for streamers: https://dontpanicflip.com/2020/04/29/how-to-stream-with-other-streamers-using-obs-deskcamera-and-rtsp-part-1/

This was a much better option than NGINX as the lag was significantly less (0.5 - 1.5 seconds) and the hosting streamer has the flexibility to reposition and resize each component from each remote streamer (as opposed to TETRISing the video components using a guide/overlay with NGINX).

4 Likes

Had our first Twitch battle stream using DeskCamera (RTSP) last week on Ghostbusters that included 2 x Playfields (@60fps), 2 x DMDs (@30fps), and 4 x PlayerCams (@30/60fps) across multiple scenes in OBS: VOD.

The average delay was 1.0-2.0 seconds (very consistently 1.0 second for each component not including audio and 1.5-2.0 seconds for a component that included audio) which was consistent right up until the end when one player’s internet connection began to falter. Because each component comes through as a separate source, I was able place/size each component wherever I wanted instead of doing the overlay/jigsaw scene setup needed with NGINX.

2 Likes

TCP will perform better if done correctly in my view, UDP can’t cope with any sort of network issues unless you put something in as a transport layer above UDP. The problem is more the applications and equipment we are using aren’t made for the way we are using them;

So I’ve gotten pretty comfortable with using zoom to do these.

Pros- extremely minimal delay (this is big for me)

  • much easier to setup than other ways I’ve seen for these streams
  • you and your friend can go live together. I understand the other ways of doing this only has one person broadcasting.

Cons

  • biggest con I’ve seen is that if your partner has crappy internet or computer specs their feed will look crappy over your stream. So hardwire those internet connections and hope their computer can handle zoom and OBS streaming at the same time.
2 Likes

How do you get the zoom screen to turn into a webcam for OBS? Or do you just screen capture the ZOOM window?

Google virtual cam. It’s a plug in for OBS. You start a zoom call, start virtual cam in OBS under the tools menu. This makes OBS a selectable camera in zoom.

Once your OBS is on zoom, add a source in OBS for window capture and select the zoom window. Then crop and copy as many times as you need to organize that feed on your OBS screen.

We found that if you keep the zoom call on full screen and pin the feed you want to capture, you’ll get the best possible resolution for when you window capture that to OBS. Then just alt tab when you want to switch back and forth from OBS to zoom.

It’s nice too as the same mic you’re using to participate in the zoom call will be the mic you’re using on your stream. Then just pump your desktop audio into your stream so your watchers can hear the other person on the zoom call.

I’d be happy to hop on a zoom call sometime with anyone to walk them through it.

1 Like

If you’re outputting your OBS to zoom as a source, and then recording the zoom through OBS wouldn’t that lead to infinite streams inside each other?? I might need someone to make a diagram…

No because half of what I said is what the other person is doing for you and vice versa. Then when you bring the zoom feed into obs, you’re cropping it down to only their feed.

In my OBS I have three copies of it too. One of their playfield only, one of their LCD only, and one of their player cam only. Three copies of the same feed, cropped different ways. Then I just move those around to fit in my H2H overlay. Then you do the same on your end.

Just imagine you’re streaming alone. Then take that setup and give it to me as a source in my OBS that I crop and position the way I want.

1 Like

What type of upload speed do you need to do this (zoom + streaming to twitch at 720p30)?

I set my bit rate at 2500 in OBS and that’s plenty. So 5 meg upload or higher and you should be okay.

I think the power of your computer is more important though. If your CPU usage is staying under 20% while streaming and using zoom, that should keep the stream looking good.

2 Likes

Surrogate.TV hooked up another pinball to the internet you can play remotely. Oktoberfest on tap by American Pinball. There is a launch tournament with prizes, interesting.

1 Like

JustAnotherPinballStream and I battled on TMNT (with direct capture) last week using DeskCamera (RTSP) again and it went REALLY well!

Flipstream has continued to work with DeskCamera’s developers to improve the encoding /transmission, UI, and configuration of their RTSP streams which has resulted in really consistent, high-quality, 60fps components for the host/streamer to display as individual components: Playfield, Player, and DMD/LCD.

During this stream we noticed 2 minor issues having to do with audio clipping and occasional blips of quality-loss and the DeskCamera developers have jumped into our Discord to drop beta versions of updates which has been great.

https://www.twitch.tv/videos/727191763

^^ In this highlight you can see us switching scenes in OBS and moving the components around, adjusting size, all while maintaining native levels of quality.

2 Likes

It’s impressive that you aren’t having sync issues with the individual streams over the Internet. I will try and use this for my next head to head stream.

Thanks for sharing.