Can someone help me figure out what it even is I’m trying to do? I’m a tech savvy kinda persons and if someone just gives me the general idea/right keywords to search for I can probably figure the rest out myself, but I’m caught in a real X/Y problem.

JUNK: Arch, KDE (X11), 3080 (proprietary drivers), OBS, Elgato HD60 X, 3440x1440 ultra widescreen

I just want to do some simple streaming to Twitch/Youtube and game recording.

The Elgato obviously doesn’t support my ultrawide so my original thought was to leave the UW monitor plugged in with DisplayPort (as it already is) and then plug in the Elgato with HDMI and then switch the monitor input when I’m ready to stream. The UW stretches the 2560x1440 out though, how do I configure the viewport to keep the proper aspect ratio and put black bars on the side? Alternatively, can I configure the UW to 2560x1440 with black bars and simply mirror the display, or will I take a performance hit when streaming like that? And how do I change the xconfig on the fly, is that something I’d want to write a script for?

I inherited the Elgato from a friend who gave up on streaming and while I’m not entirely opposed to spending more money on potentially more appropriate gear … I’d really rather not.

Like I said, if someone can just explain to me what I should be doing and give me a swift kick in the ass towards the right direction, I can do the heavy work of putting all the pieces together, I’m not looking for a total solution 😵😵‍💫 Thanks!

  • bisby@lemmy.world
    link
    fedilink
    English
    arrow-up
    23
    ·
    edit-2
    7 months ago

    … What exactly do you need the Elgato for? All the Elgato does is capture external HDMI signals.

    If you had 2 PCs, you would use the Elgato to send the gaming PC’s screen to the streaming PC. If you had an Xbox, you would use it to capture the Xbox’s screen on your PC for streaming.

    If you have 1 PC, you don’t need an Elgato, KDE already knows what your PC screen looks like, it is laying it out.

    What you should be doing is just “open OBS and set up your scenes and start streaming.” The only thing you might want to do is go into the video settings and set it to use NVENC (I think you can do that on Linux) to offload the encoding to your GPU (which has dedicated encoding hardware) instead of your CPU.

    Everything else should just work the same as it does on Windows.

    To be clear: The Elgato HD60 X does not do any streaming… it is a video capture device. OBS does all the streaming, and it already has access to all the things it needs to capture by nature of being on the PC. You can just capture your desktop in OBS without the Elgato.

    • audaxdreik@pawb.socialOP
      link
      fedilink
      English
      arrow-up
      9
      ·
      7 months ago

      … I thought that … nevermind, this is why I’m here.

      The Elgato has a USB coming out of it and I thought that passing everything through it would allow the USB to feed/write the video stream without any other processing, I guess what I’ve really been after this whole time is more OBS tweaking.

      The only thing you might want to do is go into the video settings and set it to use NVENC (I think you can do that on Linux) to offload the encoding to your GPU (which has dedicated encoding hardware) instead of your CPU.

      I think this was a big missing piece for me.

      For all my years in IT, I’ve never been an A/V nerd.>

      • Robin@lemmy.world
        link
        fedilink
        English
        arrow-up
        12
        ·
        7 months ago

        You are correct that the Elgato does video encoding. And that if you use your GPU it’s putting a little bit of extra load on the GPU. But it’s negligible since the video encoding is a separate part of the chip. Maybe you’ll lose a percentage of FPS due to power usage snd bandwidth, but honestly the same is probably true for the CPU load caused by USB bandwidth.

        • bisby@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          7 months ago

          Even with the elgato doing “video encoding”, how does it get to Twitch/Youtube? It doesn’t do THAT kind of encoding. It’s encodes the HDMI capture into a local format that is basically a webcam stream. It has to be broadcast from OBS. and even if you are using the Elgato as a video source, OBS is going to re-encode it into what it wants to broadcast. There isn’t really getting around the video encoding cost of OBS, unless you have a device that streams to the internet directly from the capture card (which it doesn’t seem like Elgato makes one. Someone else might, but that’s not really what they are for)

          • Robin@lemmy.world
            link
            fedilink
            English
            arrow-up
            3
            ·
            7 months ago

            Ah I did some more research and what I said only applies to the older Elgato devices. They did use h264 as the format over usb and you could use that directly without recoding. But they moved to a custom format due to delay and decoding overhead. And ofc you’d want stream ovelays and such which also requires reencoding.

      • bisby@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        7 months ago

        I thought that passing everything through it would allow the USB to feed/write the video stream without any other processing

        Unfortunately no. It captures the signal and turns it into something that the computer can digest, but the signal isn’t something that just proxies straight through to twitch. OBS is always going to do some re-rendering.

        A few tips:

        If you open OBS settings, there is a “Output” section. You can change the output mode to “Advanced”, and then select a “Video Encoder” … this is where you would find NVENC (there might be a way to do it in the simple output mode too, but I dont have an nvidia GPU to confirm.

        You’ll most likely want to change the Output resolution on the “Video” section of the settings down to 1280x720. Twitch limits your bandwidth anyway, and people tend to find that 1080p at low bandwidth doesn’t look any better than 720p at the same bandwidth (less compression artifacts because it doesnt have to compress as much, if at all)

        Twitch has an option for bandwidth tests (or at least used to). This will make their servers accept the stream, but you don’t actually go live on the site. You can use this to see how your computer handles the streaming. On the main OBS dashboard, you’ll see a 30.00 / 30.00 FPS in the bottom right corner (or whatever your resolution you’ve selected). There’s also a CPU meter down there.

        In the Docks menu there’s also a Stats dock. It will tell you how many Frames are missed due to rendering or encoding lag. If you have 0 missed frames, then your PC is handling the encoding just fine. It will also list how many dropped frames due to NETWORK you’ve had. This would indicate that there is a problem between you and Twitch/Youtube on the internet. Your computer is rendering the frames just fine, but Twitch isn’t receiving them.

        Use the stats dashboard to figure out where you are losing frames and then fix that (if its rendering/encoding, then its NVENC or your CPU struggling. if its Network, then its your ISP struggling). And if you aren’t losing frames, then you have nothing to worry about. This dashboard will also show you CPU and memory usage, but realistically, if youre using a 3080 with nvenc, those usages will probably be very low.

    • aksdb@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      7 months ago

      A capture card also makes sense if you have a camera that feeds into HDMI (vs a normal webcam that already provides USB).

      • bisby@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        7 months ago

        They can. But Elgato also makes a “Camlink” in addition to the “HD60” series. And the Camlink dongles create a UVC device, which can be used as a webcam with no further tweaking necessary. Using a full desktop capture card for a webcam is slightly overkill, but absolutely works.

  • lurch (he/him)@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    6
    ·
    7 months ago

    some streamers use a capture device to stream on a second device with an extra internet connection, so the stream doesn’t interfere with their gaming internet connection

    • bisby@lemmy.world
      link
      fedilink
      English
      arrow-up
      14
      ·
      7 months ago

      Streamers use a capture device to stream on a second computer, with an extra GPU so the stream doesn’t interfere with their gaming performance. Don’t want stream encoding to hurt your framerate.

      I’ve never heard of anyone using a multiple device setup for internet bandwidth reasons (im sure its happened, but I would have to believe it’s generally not the reason people use multiple devices)

  • Caveman@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    7 months ago

    You do the entire process with OBS studio. Is case of gaming there might be some limitations such as graphics or Internet.

    Graphics would need hardware acceleration to not take CPU usage. But to avoid using up GPU I would recommend using the embedded graphics if you’re able to set it up so the game uses GPU and OBS the embedded GPU.