43
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
this post was submitted on 26 Oct 2024
43 points (100.0% liked)
Asklemmy
43760 readers
1161 users here now
A loosely moderated place to ask open-ended questions
If your post meets the following criteria, it's welcome here!
- Open-ended question
- Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
- Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
- Not ad nauseam inducing: please make sure it is a question that would be new to most members
- An actual topic of discussion
Looking for support?
Looking for a community?
- Lemmyverse: community search
- sub.rehab: maps old subreddits to fediverse options, marks official as such
- !lemmy411@lemmy.ca: a community for finding communities
~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~
founded 5 years ago
MODERATORS
All video codecs are lossy, meaning you will lose some quality. AV1 and H.265 are modern video codecs with the best quality to bitrate ratios, meaning you can get better quality for the same bitrate, or the same quality with a lower bitrate. The downside the these codecs is that they are very complex and computational expensive to do in software. You'll want to make sure your GPU supports hardware encoding for the codecs you intend to record with. The reason most people will recommend AV1 over H.265 is that AV1 is royalty free. With H.265, companies have to pay a royalty to use H.265. Because of this, most companies (Netflix, YouTube, Facebook, Twitch, etc.) want to use AV1 going forward, meaning in the near future, it will probably be the dominant codec.
well I checked. My GPU does support AV1, but only decode, and OBS doesn't support h265. So is my only (good) option is to use a SVT-AV1? How slow it that really?
if you’re planning on editing it, you can record in a very high bitrate and re-encode after the fact… yes, re-encoding looses some quality, however you’re likely to end up with a far better video if you record and 2x the h264 bitrate and then re-encode to your final h265 (or av1) bitrate than if you just record straight to h264 at your final bitrate
another note on this: lots of streaming stuff will say to use CBR (constant bitrate), which is true for streaming, however i think probably for re-encode VBR (variable bitrate) with multi-pass encode will give a good trade-off - CBR for live because the encoding software can’t predict what’s coming up, but when you have a known video it can change bitrate up and down because it knows when it’ll need higher bitrate
how does doing a 2pass work? I'm going to be honest, I just ignored that feature. Is it worth the extra hassle? And how much longer does it take? Also do I need to run ffmpeg twice for that? Or can I just put in an argument and it'll scan twice.
After typing all that out I realized that all this is probably easier to google/try than to ask you about it. Thanks for the info tho. I managed to get a video format where 15 minutes are 1GiB and watching it back I didn't notice any artifacts or burry parts in 1440p 60fps.
2 pass will encode a file once, and store a log of information about what it did… then on the 2nd pass it’ll use that information to better know when it should use more or less bitrate/keyframes - honestly i’m not too sure of the specifics here
now, it’s most often used to keep a file to a particular file size rather than increasing quality per se, but id say keeping a file to a particular size means you’re using the space that you have effectively
looks like with ffmpeg you do need to run it twice - there’s a log option
i mostly export from davinci resolve so i’m not too well versed in ffmpeg flags etc
doing a little more reading it seems the consensus is that spending more time on encoding (ie a higher preset) will likely give a better outcome than 2 pass unless you REALLY care about file size (like the file MUST be less than, but as close to 100mb)
I did a transcode with
-pass 1
added, and it generated an empty txt file.are you sure about that? I'm pretty sure it should. maybe you'll find it as _x_265, as that's the name of the encoder it uses
I can't find it and a quick google told me that neither do others
OBS allows you to use everything FFmpeg supports with the "Custom Output (FFmpeg)" recording type.
I was and am searching there I just can't find it in the dropdown. I might be blind, but I checked multiple times.
Settings -> Output:
I've gotten that far, but no farther
turns out OBS does not have a software encoder for it, only encoding with a hardware encoder is supported. it is mentioned in the 2nd table of the video formats heading herev https://obsproject.com/kb/audio-video-formats-guide