Giter Site home page Giter Site logo

Comments (5)

flaeri avatar flaeri commented on June 26, 2024

svt-av1 only does yuv420 and yuv420p10le, so that is expected.

As for AOM, it does have support, and I can confirm your findings. It will be converted to 4:2:0 chroma subsampling.

from obs-studio.

flaeri avatar flaeri commented on June 26, 2024

Simply adding a case for I444 like suggested does give you 4:4:4 with AOM, but throws on svt-av1 (cus it of course cannot handle it), so it requires a bit more than that.

from obs-studio.

WinterPhoenix avatar WinterPhoenix commented on June 26, 2024

Damn, didn't know that about SVT-AV1...it's much more usable performance-wise than AOM in my experience so far.

Relevant issue: https://gitlab.com/AOMediaCodec/SVT-AV1/-/issues/1433

from obs-studio.

flaeri avatar flaeri commented on June 26, 2024

It is what it is :) I experimented a bit, but its very annoying to deal with to be honest. There a multiple formats that do work, and multiple that dont.

Adding cases/ifs for essentially all formats, for each encoder is pretty meh...

If just yuv444 gets added, then it would set the precedent, and I would presume requests would come for yuv422, 10 bit and friends, rgb, what have you. I don't really feel like opening a PR I personally would not merge.

If you or someone would make a very compelling argument for just adding a specific one (because it is very useful in x scenario), then maybe :) I personally can't.

av1 is a highly compressed format, and aom is not exactly well suited for realtime encoding (OBS use cases), so it makes sense that it would primarily be used with yuv420. At least that is my take.

from obs-studio.

WinterPhoenix avatar WinterPhoenix commented on June 26, 2024

So here's my use case. When I stream, I record the VOD separately in significantly higher quality for platforms that support higher quality video than x264 @ 6Mbps w/ 4:2:0. So basically everything that's not Twitch (barring the Enhanced Broadcasting Beta).

Up until now, I've just been doing this using x264 with the software encoder because it's fast, compatible, and good quality...but only if you crank CRF/bitrate/whatever. It's not remotely efficient. A recent 3 hour stream I had recorded a VOD with a size of 21GB (CRF=14). Re-encoding that to AV1 after the fact, with roughly the same amount of perceived visual quality (CRF=28), reduces that video's size to ~11GB.

Storage, how long it takes to upload to other platforms, and how long it takes to process on those platforms are the key concerns for me here, and re-encoding to AV1 locally takes a while too so I'd prefer to just have OBS record straight to a video file I can use.

All of this said...AOM is definitely not fast enough for realtime encoding on CPU right now unless you've got a Threadripper or something. I sort of went into this believing SVT had support for 4:4:4 chroma subsampling because why wouldn't it at this point. So, I'm not sure what the solution is for my use case right now at least.

OBS should definitely support 4:4:4 chroma subsampling for everything possible if it's supposed to be the king of streaming/recording software though. Especially if OBS has an option that says "turn this on for 4:4:4" and FFmpeg/the codec supports it.

There's not even anything put in the logs about trying to use a Color Format that's not supported by FFmpeg/codec/etc right now.

from obs-studio.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.