this post was submitted on 10 Dec 2023
24 points (92.9% liked)

Linux

47950 readers
2382 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

With no graphics card specific compilation to the ffmpeg, which among intel or AMD is better for executing

ffmpeg -i input -c:v libx265 -crf 26 -preset fast -c:a aac -b:a 128k output.mp4

Would tight integration between amd cpu + gpu help in this case?

Fyi. Currently i am using intel with cpu only mode for this and its pretty slow.

top 16 comments
sorted by: hot top controversial new old
[–] [email protected] 12 points 10 months ago (2 children)

none, you aren't using gpu, just whatever cpu is the fastest. if you want gpu acceleration you have to specify it. and keep note gpu acceleration is less efficient then cpu so your files will be bigger. though at preset fast it might actually be pretty close

[–] [email protected] 3 points 10 months ago* (last edited 10 months ago) (1 children)
  • Hardware (GPU) encoders are worst than software encoders.
  • GPU Acceleration is good for faster encoding and free CPU to do other things. But you get bigger files at similar quality.
  • Maybe is useful for live streaming or if you really really need CPU do other things.
[–] [email protected] 3 points 10 months ago

Yes this is indeed what I said. but well calling gpu encoders "worse" isnt really fair, it's all trade offs, they for sure have worse efficiency as we both said, but their speed is significantly faster usually. I would say that doesn't make the encoder "worse" just different.

[–] [email protected] 2 points 10 months ago (2 children)

So what you are saying is its better to run on cpu alone?

[–] [email protected] 6 points 10 months ago (1 children)

Running on cpu will give you better quality and (maybe) smaller output file size, but will take longer.

Everything's a compromise and it all depends on what matters more to you

[–] [email protected] 1 points 10 months ago

Better quality:Compression ratio you can easily get better quality out of a gpu then a cpu depending on your settings, but it will rarely be better quality AND compression unless you have a quite slow CPU and cant run a sensible preset

[–] [email protected] 1 points 10 months ago

when possible yes, sometime sits not possible, and it will be better to run on gpu alone

[–] [email protected] 12 points 10 months ago* (last edited 10 months ago) (1 children)

AMD APUs have Video Coding Engine / Unified Video Decoder, while Intel CPUs have QuickSync. FFMPEG's hardware page says that AMD support is incomplete.

You may want to ask over in [email protected] . This topic often came up back on Reddit, and the general vibe I got was that most people prefer QuickSync. Intel may not be great in a lot of areas, but they are a beast in video encoding/decoding. That being said, I use a Ryzen APU and it's perfectly fine. There are way more important things to look at when choosing a CPU.

If your performance is slow, I would check your CPU is listed on the chart I linked above. Not all CPUs support all codecs.

Edit: If your CPU doesn't support the codec, it will still work, it just won't be accelerated.

[–] [email protected] 2 points 10 months ago

quicksync really doesn't have good quality:compression buying a used nvidia gpu and using that would be far better. but really, any moderatly up to date cpu should get good x265 or svtav1 perf

[–] [email protected] 3 points 10 months ago
[–] [email protected] 3 points 10 months ago (2 children)

Probably won't, at least not because of the integration. Interactions between CPU and GPU are very generic, because obviously every CPU should work with every GPU. You can do optimizations in driver, but as far as I'm aware AMD does not implement any tech to make specifically their GPUs work better with their CPUs. At least not anything noteworthy.

Graphics workloads are GPU bound. The only thing that matters is your GPU. You might be able to use the iGPU if you have one. Should already help a whole lot.

[–] [email protected] 2 points 10 months ago

Graphics workloads are GPU bound.

This isn't a graphics workload, or at least not that kind of graphics workload. The GPU is irrelevant here.

[–] [email protected] 1 points 10 months ago

well at one point rebar was kinda that for windows folk :D

[–] [email protected] 2 points 10 months ago

As far as I know and could look up on short notice, libx265 does not make use of GPU computing (via CUDA or otherwise), so the answer to your second question

Would tight integration between amd cpu + gpu help in this case?

is almost certainly no.

Performance wise, the ffmpeg command you posted will be completely dominated by the video encoding part through libx265, to the point where everything else is pretty much negligable. Also, the rest of this does not use gpgpu computing either.

[–] [email protected] 1 points 8 months ago

What are you trying to achieve?

This smells of an XY question.

[–] [email protected] -2 points 10 months ago* (last edited 10 months ago)