Feature Request | Record @ 60fps, Stream @ 30fps?

Nass86

Member
Hey guys,

I have an idea based on a set up I ran with.

Problem
Recording and Streaming 1080p @ 60fps is out of the question because in terms of quality it doesn't look right until you get to north of 8,000kbps, and many streaming services don't guarantee transcoding for end users. Live Streaming over 4500kbps means many users leave your stream (buffering) when transcoding is not granted (edit: on Twitch, probably on other services)

So the safe zones are resolutions such as:
  • 720p @ 60fps @ 4500kbps
  • 864p @ 30fps 4,000kbps
However, when uploading to Youtube, if you want to leave a legacy of high quality footage via an OBS recording, the video recording looks a lot better at 1080p 60FPS or 48FPS, or even remaining at 864p @ 60FPS.
_____________

My Current Workaround
I was able to Record @ 60FPS (50 or 48) for youtube, and NDI / OBS to another computer machine set at 30FPS and (stream from that). I got the best of both worlds and it worked well. I kept my audience, and I had great content to upload to youtube at full quality afterwards.

Most 1080p 60FPS streamers don't realise how many people they are losing because they insist on that setting so I thought this could be a good work around if they want the youtube legacy to look fantastic.

I wondered if the OBS team could figure out a way for this to work. Granted, it won't work on every machine, however in the advent of faster CPU and GPUs being made, I see there being some real benefit in this community.

Best wishes,
Nasser
 
Last edited:

Tomasz Góral

Active Member
Any stream send to YT or FB it is re-encoded.
It doesn't matter if you are sending a bitrate of 4500 kbps or 6000kbps or 2000kbps.
It matters - the quality of your internet connection, whether 100% of the data reaches the servers. Your connection is dropping - users see buffering (connection suspended until the buffer is full of data).
In this case, the compression is lossy, which means that by sending a stream with a specific bitrate, it will be properly compressed again, usually in several resolutions, and there will be another loss of material quality, so you should send higher-quality material to minimize the loss.
 

Nass86

Member
Hello,

I was referring to Twitch and similar streaming services sorry, I didn't say.

So the buffering I refer to is nothing to do with internet connection (from the streamer) - it occurs when some, or all of the following example criteria is hit:

E.g. The end user is being sent 1080p 30fps 6,000+ kbps by the streamer, but:
  • The end user has a broadband download speed of 5,000, and a lower bitrate is required to keep watching, but they can't watch Live at a lower bitrate, so they leave
  • The end user is sharing an 8mbps broadband connection with another user taking 4mb/s sporadically, and a lower bitrate is required to keep watching. Transcoding is not available, so they get buffering, and leave.
  • The end user is on 4G LTE where the connection is stable (e.g. 12mb/s, or 50mb/s). However, they walk into an area that is suddenly only giving them a 3mb connection, and a lower bitrate is required to keep watching, but transcoding is not activated, so they get buffering, and leave.
  • The end user actually has an 80mb Fibre connection. However, they are watching on a device with other tabs open in Chrome - or is watching over Wifi on a phone that is doing multiple tasks. The memory/CPU usage is already quite high, and whilst a 3,000kbp/s stream would have been fine, it cannot handle more. The user experiences buffering, despite having a fast enough connection, and transcoding is not available, so they leave.
Transcoding on live streams is often not activated by Twitch even for Affiliates, once you go to 1080p, however it does activate on 720p and 864p and 936p - basically anything under 1000. I'm unsure about youtube live, but transcoding is good in standard on demand youtube videos, where a 1080p (anywhere from 6000 to possibly 18,000 bitrate) video is reduced on demand to 720p (circa 4,000kbps) - reducing again to 480 (circa 2.5mb) or again, if required, to 360 (1mbps) - where once the signal returns, it also increases in quality automatically.

My point with this feature request is that as most streamers are aware now that streaming either 1080p x 30fps or 720p x 60fps is good - but for legacy video content on youtube, 720p doesn't really cut it these days and I would argue that it is possible now Youtube are even down ranking 720 content so people don't tend to stumble on it's 'low quality' uploads when there is so much high quality content out there that even looks good on large smart TVs, let alone computer monitors and retina macbooks etc.

Therefore, it would be amazing to be able to record our content on OBS at it's highest quality in say 1080p 60fps or 48fps for the upload later, whilst also retaining all of the live viewers at a 720p 30fps or 864p 30fps bitrate for the live event - enabling access to pretty much our entire audience.
 
Last edited:

Tomasz Góral

Active Member
You have a wrong idea of how it works.
I have my own video servers that I rent to others.
Users send me a video stream, I always have to recode it and it doesn't matter if they send me 3000, 4500 or 10000k bitrate. This is related to the standardization of the output, i.e. what is sent to end recipients.
Users who rent my servers to handle their broadcasts send me a stream, e.g. 1080p50, I process and generate 3 streams of 1080p, 720p and 480p.
 

qhobbes

Active Member
This sounds more like a Twitch issue than an OBS issue. For 1080p @60 fps YT doc shows Video Bitrate Range: 4,500-9,000 Kbps and you may be able to go higher. If your setup is capable of multiple encodes, can you use NDI to output to another instance of OBS on the same computer via localhost?
 

Nass86

Member
You have a wrong idea of how it works.
I have my own video servers that I rent to others.
Users send me a video stream, I always have to recode it and it doesn't matter if they send me 3000, 4500 or 10000k bitrate. This is related to the standardization of the output, i.e. what is sent to end recipients.
Users who rent my servers to handle their broadcasts send me a stream, e.g. 1080p50, I process and generate 3 streams of 1080p, 720p and 480p.

Hmm, I understand what you are saying - I'm aiming for Twitch to do this for me, whilst OBS spits out a stream @ say 864p 30FPS (4000 bitrate) and the twitch viewers are happy, able to transcode if their set up or connection needs to, whilst we are recording using Nvidia Nvenc encoder CQP 16 1080p x 60FPS (the bitrate I'm guessing will end up somewhere around 30,000kbps).

If I tried to do that using your server, it wouldn't work because I can't upload at 30,000kbps. So I want to record it locally to have amazing looking footage for my Youtube channel, and upload a high quality version of the stream at full frame rate, after the stream has ended, whilst retaining all users. That's my goal.

@qhobbes Good point - I don't know if my computers are capable of multiple encodes as I don't know how to do it to be honest! I was hoping for a nice button in OBS similar to how you can Settings>Output> Rescale 1080p to 720p but where there is a similar option to 'downscale' the framerate just on the stream. Say 60fps to 30fps or 48fps to 24fps, etc.
 

Tomasz Góral

Active Member
I you have NVEnc to encoding, in default you can use 3 stream to encode video, but if you install correct drivers you can use 32 stream to encode.
Send stream to another OBS with diffrent FPS help you.
 
Top