So I finally found A use for Relives streaming function.

MrTeaTime

New Member
Turns out it makes for a great alternative to quicksync+nginx when paired with an rtmp server.

Why use relive over obs? simple, you remove literally any and all overhead obs provides.

And lets be honest if you are doing scene composition and the like you are probably doing it on your stream pc (because consoles and stuff)

Just as a comparison, I used the indistinguishable setting of the obs vce plugin on a loopback connection (to rule out any and all problems related to bandwidth, since in this day an age with usb 3.1 crossover a 10gbps network uncongested connection is feasible) This resulted in a bandwidth usage of around 14000 kbps during high motion, and 30% cpu usage on an intel i5 4690 (to put this into perspective when i tried to run a 1080p 60fps video on youtube (my usual benchmark for stream performance is to restream a 1080p60 sonic the hedgehog vid) the combined cpu usage of an obs client streaming 1080p60, an obs client decoding 1080p60 from rtmp, and youtube playing a 1080p60 vid caused me to achieve 100% cpu usage and absolutely tank my framerate, which due to no frames being dropped made the decoded stream play back at 50% speed)

In rolls relive, which uses a whopping 4% cpu usage to output a constant 10mpbs stream (maximum quality setting you can choose for streaming) thats a 26% loss in cpu usage.

As far as im aware shadowplay doesnt yet and has no plans to support custom rtmp streaming so if you use nvidia you are still stuck with running obs on the gaming pc and then either transcoding your stream with ffmpeg on the rtmp server or piping it to a second obs client.

Now as for why I listed this as feedback.

I noticed in my testing of this that obs still has an insanely high delay on its rtmp input, as a point of reference the already slow vlc rtmp input is a whole 10 seconds faster than obs, I have no idea if this can be fixed, or if its even on the drawing board but thatd be a gem.

Another thing is I recall jim saying he had code for an rtmp server for obs? Is there any timeframe as to when that could be added, as my current setup basically involves mona starting up on windows startup, then just pressing my stream hotkey (since relive is driver level so I dont have to actually run anything on the game pc), and while that works fine, removing one extra step makes my life easier, and makes it slightly less intimidating for new users.

Tbh we dont even really need a server, we just need an rtmp option that listens to port 1935 for incoming streams (although i guess you could call that a server? by loose definition)

lastly I noticed very quickly that something isnt adding up right with hardware decoding, why am I getting 30% cpu usage from an incoming stream when using an rx470 which has a hardware decoder on the silicon (infact it has a hardware decoder for h.265 as well, so it officially outspecs obs's capabilities) why is it not being used?

Do you just not support amd's hardware decoder yet? if so is there plans to add it?
 

MrTeaTime

New Member
OBS already supports amd's hardware encoder.
Im aware of that.

I said DEcoder, for hardware decoding of the incoming rtmp stream.

The only difference between relive and obs for my use case is relive has about 26% less cpu overhead (im only using relive to stream from the main pc to a second pc where obs will be run and used as the encoder for the final push to twitch)
 
You could also treat your game pc as a console and capture the HDMI. 0% cpu used on the game pc AND capture pc. Of course, assuming you already have a capture card AND a HDMI output on your PC.
 

MrTeaTime

New Member
You could also treat your game pc as a console and capture the HDMI. 0% cpu used on the game pc AND capture pc. Of course, assuming you already have a capture card AND a HDMI output on your PC.
My main issue with capture cards is the inability for future proofing.

The reason im so enamored by lan encoding is you are only limited by network bandwidth and your hardware encoder.

For instance my rx470 can encode at 4k60fps.

Assuming I modified relive to output a much higher bitrate, and used a usb 3.1 cable as my network adapter i could stream near raw 4k60 to my capture pc without any additional hardware.

a 4k60fps capture card atm will set you back quite a large chunk of money.

As an example the avermedia ce511-hn costs 1200 euros

The cheapest option i can find is 430 usd but that only does 30 fps and thats the av.io usb 3.0

The other advantage lan encoding has is it can do weird resolutions like ultrawide monitors and such.

other things like using display port but having a hdmi capture card can be bypassed with display port docks but thats still extra hardware.

The only downside to lan encoding is of course it adds a bit of delay.

Also capture cards do actually increase cpu usage on the capture pc, the only time it doesnt is if you have a hardware decoder to offload the decoding of the stream to, or they output raw format video (which isnt encoded so it doesnt need decoding)

for instance down the line should i want to do 8k video (for whatever reason) itd be as simple as upgrading to the newest amd gpu at the time (which would be required to even play at 8k anyway whenever that happens) and then id be good to go.

Like I said though all of this assumes amd increases the bitrate cap on relive or I can figure out a way to bruteforce the cap (the local record can do 50mbps so i assume its just a softcap in the settings so people dont go flooding twitch with 50mbps streams)
 
Last edited:
You're technically correct about the future-proofing. But we're only now seeing the start of streaming in 1080p. And that's only for streaming to Youtube or a partnered Twitch channel where transcoding is available.

You can rest assured that by the time 4K streaming becomes commonplace the price on the capture cards will have come down as well.

Even recording 4K content is still overkill unless you want to really want the extra resolution for editing purposes! But then you'd also be having a hard-on for 4K lossless. Something even an SSD RAID-0 array will faint at.
 

MrTeaTime

New Member
You're technically correct about the future-proofing. But we're only now seeing the start of streaming in 1080p. And that's only for streaming to Youtube or a partnered Twitch channel where transcoding is available.

You can rest assured that by the time 4K streaming becomes commonplace the price on the capture cards will have come down as well.

Even recording 4K content is still overkill unless you want to really want the extra resolution for editing purposes! But then you'd also be having a hard-on for 4K lossless. Something even an SSD RAID-0 array will faint at.

I do indeed have a hard on for 4k lossless ;) haha. but yeah i record and stream(not streaming yet still waiting on better net) using the same rig including doing all my audio processing so any video stream I send from this pc (the relive pc) will be used for both recording and streaming (the stream would obviously be downscaled to 720p because straya net)

FYI 4k60 uncompressed RGB8 is 11.9 Gbps, so 1.5 GB/s

1.5 gigs per second is pretty easy to acomplish with raided ssd's

And even though 4k60 saturates the usb3.0 you can use a thunderbolt cable for 20Gbps or thunderbolt 3.0 for 40 Gbps to get the same effect (though relive will never do uncompressed, and either will rtmp)

My end goal is to have a dedicated server for relive to pump video to which automatically records the incoming rtmp stream to A disk while simultaneously sending it off to obs.
 
Last edited:
You do what you feel you need to do man :)

I'm just saying that you might be making it harder on yourself than you need to. Files are large enough already imo. But then again, my most recent "upgrade" was splitting my 500GB disc where my games were installed AND footage recorded to into 500GB for games and 1 whole cool TB (a 2.5" disc at that) for recording to.

Wife's restrictions :p
 
Top