Skip to content
streamneo.
Setup Guides12 min read

How to Stream 4K 60fps YouTube Live from Ubuntu with NVIDIA Encoding

Configure OBS, NVIDIA NVENC and YouTube ingest for Ubuntu 4K60, with checks for GPU, driver, codec, bitrate and stream health.

sn.
StreamNeoPublished 4 October 2026
Worth sharing?

To stream 4K at 60 fps from Ubuntu, use OBS with an NVIDIA GPU and driver that expose a compatible NVENC mode, then match the output codec and bitrate to YouTube’s current ingest guidance. YouTube recommends 50 Mbps for H.264 or 35 Mbps for H.265/AV1 at 2160p60, with CBR, a two-second keyframe interval and RTMPS.

Those settings are a starting point, not a guarantee that every NVIDIA card, OBS build or internet connection will manage 4K60 reliably. Check the actual hardware and software combination first, then test the stream with representative motion and audio before scheduling a broadcast.

Check Ubuntu, the GPU and the driver first

Start by identifying the system you will actually use for the broadcast. Note your Ubuntu release, NVIDIA GPU model, installed driver branch and OBS version. Compatibility is a combination: a GPU may expose NVENC for one codec but not another, a driver may be too old for a particular OBS build, and an older OBS package may behave differently from the current release.

On Ubuntu, check the installed graphics hardware and driver through the system’s supported driver tools and NVIDIA utilities, if available. Do not infer encoder support from the fact that the desktop uses an NVIDIA card. Consult the GPU’s product documentation and the release notes for your OBS build, and verify which codecs and encoder features the installed combination actually exposes.

OBS’s general Linux NVENC guidance includes GeForce 750 Ti, Maxwell 900-series and later as broad hardware guidance. That is not a promise that every card in those families supports every codec, profile, resolution or workload. The OBS NVENC guide is useful context, but the installed encoder menu and a test encode are the practical checks.

Version matters. For example, OBS 31.0.4 release notes say Kepler 600/700 series cards are no longer supported for NVENC and that Linux users may need NVIDIA driver 550.54.14 or newer for that release. Treat that as a version-specific note, not a universal driver requirement. Check the notes for the OBS version you intend to run and the supported codecs of your exact GPU.

Install or update OBS using the official instructions for your Ubuntu release. The OBS download page documents an official PPA for Ubuntu 24.04 and newer and provides other distribution options. If you use a Flatpak or another documented package route, confirm the app can access the NVIDIA encoder in that packaging environment. Follow Ubuntu’s official NVIDIA driver guidance rather than copying instructions for a different release or adding an unsupported driver branch.

After a driver change, restart if the installer requires it. Reopen OBS and check the streaming encoder choices. If NVENC is absent, pause the configuration work: verify the driver is loaded, the package source, OBS build and GPU support before trying to tune bitrate. Repeatedly changing output settings cannot make an encoder appear when the software stack does not expose it.

Confirm NVENC is exposed to your OBS build

In OBS, open Settings → Output and set Output Mode to Advanced. In the Streaming tab, inspect the encoder list. You are looking for an NVIDIA hardware encoder such as NVENC, not simply an NVIDIA GPU name elsewhere in OBS. The exact labels vary with the OBS version and available codec support.

If the list contains NVENC, record which codec choices it offers. Do not assume H.264, HEVC/H.265 and AV1 will all appear. If a codec is absent, that is a compatibility signal; use a codec that the GPU, driver and OBS build jointly expose, or resolve the mismatch before planning around it. Check OBS’s release notes and the GPU maker’s encoding support information rather than relying on a family name alone.

A short local test can help distinguish availability from stability. Create a simple scene, select the intended encoder and codec, and record a few minutes at the target resolution and frame rate. Watch OBS’s stats for encoder overload or rendering lag. A successful recording does not prove the network or YouTube ingest will work, but it can reveal an encoder problem before you connect a live broadcast.

Choose package consistency over guesswork. If you update OBS through the method recommended for your Ubuntu release, avoid mixing unrelated repositories or replacing system libraries to chase a codec option. For a long-running channel, write down the working Ubuntu release, driver, OBS build and codec configuration; that makes future updates easier to assess. If an update changes the encoder list, retest rather than assuming the old setup remains equivalent.

This is also where a 24/7 channel has a different concern from a one-off stream. A desktop that can encode for a few minutes may still be affected by an unattended reboot, an update prompt, or a local machine interruption overnight. If the broadcast needs to continue while your computer is switched off, StreamNeo removes the need to keep this Ubuntu desktop encoding continuously by running an uploaded video as a YouTube live stream.

Set 3840×2160 resolution and 60 fps

In OBS, open Settings → Video. Set Base (Canvas) Resolution to 3840×2160 if your scene is composed for 4K. Set Output (Scaled) Resolution to the same value when you intend to send 4K to YouTube. Then choose 60 or 60 fps under Common FPS Values, depending on how your OBS build labels the control.

Canvas and output are separate. The canvas determines the space in which OBS arranges sources; output resolution determines the video sent to the encoder. If your sources are not 4K, scaling them up does not create additional detail, but it may still be needed to deliver a 2160p stream. Review source framing, text and overlays at the output size so small labels remain readable.

YouTube’s encoder guidance describes 2160p at up to 60 fps. Its current live settings page also lists 1440p60 and 1080p60 recommendations, which are useful fallback targets if your GPU or connection cannot maintain 4K60. A lower resolution at a stable frame rate is preferable to a nominal 4K configuration that repeatedly drops frames or disconnects.

Make the frame rate decision against the actual content. Fast camera movement, scrolling text or a moving music visualiser makes dropped or duplicated frames more visible than a largely still devotional image. Conversely, a static scene may not benefit much from 60 fps. The goal here is the requested 4K60 output, but test whether the source material and the machine can sustain it before committing to a long broadcast.

Choose a codec your GPU and YouTube ingest both support

The right bitrate depends on the ingest codec. YouTube accepts H.264, H.265 (HEVC) and AV1 for live video, but you must first confirm that OBS exposes the chosen NVIDIA encoder mode. Use the bitrate recommendation for that codec rather than treating one number as universal.

2160p at 60 fps ingest codec YouTube recommended bitrate YouTube listed minimum Practical consideration
H.264 50 Mbps 14 Mbps Broadly familiar; use the H.264 recommendation when encoding H.264.
H.265 (HEVC) 35 Mbps 10 Mbps YouTube lists the same recommendation as AV1 for this target; check GPU and OBS support.
AV1 35 Mbps 10 Mbps Use only if the installed encoder actually offers it and your stream workflow supports it.

These are YouTube ingest recommendations, not a promise about viewer-side quality or a measurement of the capacity your connection will need in every moment. The minimum is a floor, not the target to aim for when configuring a reliable broadcast. The codec-specific figures come from YouTube’s live encoder settings guidance.

If your GPU and OBS support H.264 but not the other modes, H.264 remains a valid choice; configure the 50 Mbps recommended rate for 2160p60. If the machine offers H.265 or AV1 and you deliberately choose one of them, use the 35 Mbps recommendation. Do not select a codec based solely on its lower listed bitrate: compatibility and a stable encode matter more than a theoretical setting.

For SDR, use Rec. 709 and keep the pipeline consistent from source through OBS output. YouTube’s guidance includes progressive scan, square pixels and 8-bit SDR. HDR requires an intentional workflow rather than a checkbox experiment: YouTube recommends H.265 for HDR and does not support AV1 for HDR in the cited guidance. If you do not have an HDR capture and output path to verify, stay with SDR.

Audio is part of the ingest configuration too. YouTube lists AAC or MP3 audio; for stereo, its guidance gives 128 Kbps. For a typical music or devotional stream, stereo AAC is a straightforward choice. If your programme needs 5.1 audio, check the platform’s current requirements carefully: YouTube’s guidance specifies AAC for 5.1 over RTMP/RTMPS.

Set CBR, keyframe interval and RTMPS

Under Settings → Output → Streaming, use the NVIDIA encoder you verified and set Rate Control to CBR. Enter the bitrate for the selected codec from the table: 50 Mbps for H.264 or 35 Mbps for H.265/AV1 at 2160p60, following YouTube’s current recommendation. If the network cannot consistently carry the selected rate, do not pretend a lower setting is equivalent to the recommendation; consider moving to 1440p60 or 1080p60 instead.

Set the keyframe interval to 2 seconds. YouTube recommends two seconds and says the interval must not exceed four seconds. In OBS this may be labelled Keyframe Interval or Keyframe Frequency. If the control is set to automatic, change it to an explicit two-second value when the encoder allows it. OBS’s own NVENC guide also recommends CBR and a two-second interval, though options beyond those should be checked against your installed build and YouTube’s current requirements.

For the protocol, select RTMPS and use the stream URL YouTube provides for the event or channel. RTMPS encrypts the transfer to YouTube and is the platform’s recommended option. The server field and URL can vary with the stream configuration, so copy the current details from Live Control Room rather than using a URL saved from an old setup.

Create or select the broadcast in YouTube Live Control Room, then copy its stream key into OBS’s stream key field. Treat the key like a password: do not put it in a public screenshot, a shared document or a command history. If someone else will operate the channel, pass it through a private channel and rotate it if it is exposed. The YouTube instructions for connecting an encoder explain the current workflow.

YouTube says 4K live streams use normal latency; its low-latency option is not available for 4K. That matters if you expect a close real-time interaction with viewers. A 4K60 picture is not just an output-resolution decision; it carries a platform latency trade-off as well as a greater encoding and network load.

Test motion, audio and the upload path

Before the public broadcast, run a private or unlisted test with the same scene, source material, codec, bitrate and audio path you plan to use. Include the kinds of movement the channel will actually show: a scrolling ticker, camera pan, animated background, transitions or moving lyrics. A still desktop scene will not expose the same weaknesses as a moving programme.

Check the stream in YouTube’s Live Control Room. Confirm that YouTube receives the intended resolution and frame rate, and read the stream-health messages. In OBS, open View → Stats and look for dropped frames, rendering lag and encoder overload. These indicate different parts of the chain: network delivery, scene rendering or encoding. Fix the cause you observe rather than changing several unrelated settings at once.

Measure upload capacity at the location and time you expect to stream, and repeat the test if the connection varies by time of day. A speed test is an indicator, not a guarantee of a sustained live feed. Other users, Wi-Fi interference, router behaviour and service interruptions can change the result. If the network cannot carry the chosen bitrate steadily, reduce the output target or use a more suitable connection. YouTube does not give a universal overhead margin in the cited settings guidance, so avoid treating a made-up fixed margin as an official requirement.

Listen to the stream on another device. Check that voice or music is not clipped, that there is no accidental silence, and that the picture and sound remain in sync. For a playlist or changing set of clips, check the transitions as well as the first minute; the guide on keeping audio playing between videos covers a common continuity issue. Remove the stray space before the URL when using this link: continuous-stream audio checks.

If you are preparing a pre-recorded loop rather than a live camera programme, check that the media source returns to the intended beginning and that the scene does not go black between files. The walkthrough for setting up OBS media sources as a continuous playlist can help with that part of the scene design. Your encoding test should still include the loop transitions, because a smooth local playlist does not establish that YouTube is receiving a healthy stream.

Test at the intended broadcast duration if you can, especially when the channel is expected to run unattended. Watch for an OBS crash, thermal or encoder warnings, lost network connection and YouTube ingest messages. Keep the stream key private and make sure the channel operator knows where the current Live Control Room health panel is. A checklist reduces avoidable errors; it cannot guarantee that a particular Ubuntu installation or connection will stay online.

If a repeated upload or playback schedule matters more than encoding a changing live scene, consider the workflow as well as the settings. The guide to using a YouTube 24/7 service with a playlist explains a different operating pattern from leaving OBS open on a local Ubuntu machine.

Once a test passes, save screenshots or notes of the working OBS output settings and the versions tested. After changing the driver, OBS package, GPU, codec or router, run the test again. A configuration that worked last month is useful evidence, but it does not establish that a changed combination behaves the same way.

Before committing, compare the operating options on the pricing page. When the file and channel are ready, start free — 24-hour trial, no card.

FAQ

Can every NVIDIA GPU stream 4K60 with NVENC?

No. Support depends on the exact GPU, its encoder capabilities, the driver, the OBS build and the selected codec. Confirm that your installed OBS encoder list exposes the mode you intend to use, then test it at the target output settings.

What bitrate should I enter for 4K60 on YouTube?

YouTube’s current live encoder guidance recommends 50 Mbps for H.264 and 35 Mbps for H.265 or AV1 at 2160p60. Those recommendations apply to the ingest codec; the matching option must be supported by your GPU and OBS installation.

Is RTMPS required for YouTube Live?

YouTube lists RTMP and RTMPS as supported protocols and recommends RTMPS for encrypted transfer. Use the current URL and stream key shown in Live Control Room, and keep the key private.

What should I do if 4K60 drops frames?

Use OBS Stats and YouTube’s stream-health messages to identify whether the issue is rendering, encoding or network delivery. Test again with a lower target such as 1440p60 or 1080p60 if the machine or upload path cannot sustain the 4K60 configuration.

YOU’VE REACHED THE END

Keep the ideas coming.

More guides, useful tools and a little help for your next broadcast.

Back to the journal ↗
YOUR NEXT READ

A little more to explore.

More Setup Guides guides ↗ · All topics ↗