Jump to content

Intel GPUs - Anyone tried them?


Go to solution Solved by RanmaCanada,

Recommended Posts

Posted
1 hour ago, Luke said:

Actually chromium based browsers unofficially support the mkv container, so I would think if they play hevc then mkv should work.

If you saw transcoding while testing this, it could be for some other reason.

I use Firefox and maybe soon Librewolf.  I won't touch a Chromium based browser with a 10 ft pole.

RanmaCanada
Posted
2 hours ago, thezfunk said:

I use Firefox and maybe soon Librewolf.  I won't touch a Chromium based browser with a 10 ft pole.

Firefox will never play HEVC as it's not a free codec. They are trying to get mkv support going though.

https://bugzilla.mozilla.org/show_bug.cgi?id=1422891

Posted
3 hours ago, RanmaCanada said:

HEVC ... it's not a free codec

True

3 hours ago, RanmaCanada said:

Firefox will never play HEVC

False.

It's supported now: https://www.mozilla.org/en-US/firefox/134.0/releasenotes/

 

They are suing the same loophole like Chrome, which is hw decoding via GPU, because through this path, the GPU vendor is already paying the license fee. Chrome does not support software decoding of HEVC for that reason - just like FF now.

Posted
12 hours ago, rbjtech said:

There is of course a lot more to it than the above (I/O etc), but if everyone used the same method, metrics and calculations, then the results are relative.

@softworkzAny thoughts here ?

What is the question..?

rbjtech
Posted (edited)
10 hours ago, softworkz said:

What is the question..?

The question which I believe everyone is asking, is how good are intel GPU's at transcoding multiple streams and how are they comparable to Nvidia based hardware.

If I'm using it correctly, the plugin you wrote provides output in the time it takes to transcode a fixed source - imo not a particularly useful metric if you want answers to the above question.

So are there any plans to extend the plugin to provide an 'fps' output - and then I believe these metrics could be used to create a universal version of the elpamsoft/plex Nvidia based tool (Tool) - ie covering Intel, AMD and Nvidia GPU's with crowd sourced data. 

I was asking your thoughts on the above suggestion - as you have no doubt spent a great deal of time and effort on this excellent plugin - but the results are limited imo.

Edited by rbjtech
all4dom
Posted

All this talk about graphic cards tends to get confusing because for all the years in this fourm, it was always said to use an intel processor with integrated graphics. Intel played all the codecs & did the hardware encoding..... if I said it right. 

So how is a graphics card better? Is it efficient because the card requires more juice. Now if it allows you to tranacode multiple streams that's differnet but if your tranacosing a ton of streams then that's a whole different story.

 

rbjtech
Posted
5 minutes ago, all4dom said:

All this talk about graphic cards tends to get confusing because for all the years in this fourm, it was always said to use an intel processor with integrated graphics. Intel played all the codecs & did the hardware encoding..... if I said it right. 

So how is a graphics card better? Is it efficient because the card requires more juice. Now if it allows you to tranacode multiple streams that's differnet but if your tranacosing a ton of streams then that's a whole different story.

 

And this is where a comparison of each vendor/model will give you a ballpark.

Yes a modern (Gen 11+) Intel with iGPU will likely be all you need for Emby - but for those with AMD CPU's for example, then a discreet GPU is likely what they have and that could be AMD,  Nvidia and more recently it could also be Intel (ARC).

What many fail to realise, is the media/transcoding element of any GPU is separate from the main '3D' element.   So unless you are a gamer, having a powerful/expensive GPU JUST for transcoding, is a complete waste of $ and also power.

  • Agree 2
all4dom
Posted

I forgot about AMD..lol. i would think, well if me... I would have a separate emby server that's very efficient because it's always on & keep my gaming pc separate because that's not efficient lol. I just built my son a gaming pc & i have to tell him to shut it off when he's not using it like when he's in school. Don't know about you but almost all utility companies have jacked up their rates. 

Posted
6 hours ago, rbjtech said:
15 hours ago, softworkz said:

What is the question..?

The question which I believe everyone is asking, is how good are intel GPU's at transcoding multiple streams and how are they comparable to Nvidia based hardware.

Intel GPUs would always be my first choice for a solid Emby Server setup - unless:

  • You have a non-Intel CPU
  • You want to achieve the maximum possible transcoding performance - at a high cost, both in acquisition and energy consumption.

Besides from such general relations it always depends on the details. It's easy to have a setup where an Intel is better than the Nvidia or just vicy versa..

 

6 hours ago, rbjtech said:

If I'm using it correctly, the plugin you wrote provides output in the time it takes to transcode a fixed source - imo not a particularly useful metric if you want answers to the above question.

Why isn't it useful? The number of frames being processed for each test is constant - lets say nf   -  if the duration of the run is t, then   nf  /  t  => the average fps.

Means, from a qualitative perspective, the execution time is equally evident as the average fps - because of its direct linear relation.

It think, showing fps values is rather misleading because people tend to use those values as basis for invalid generalizations (of the kind like "my system can do X parallel HD streams"), which is obviously nonsense.

6 hours ago, rbjtech said:

I was asking your thoughts on the above suggestion - as you have no doubt spent a great deal of time and effort on this excellent plugin - but the results are limited imo.

That's because it was never intended to be a benchmark. But execution times are a very valid measure for comparison.

  • Thanks 1
rbjtech
Posted
5 minutes ago, softworkz said:

Why isn't it useful? The number of frames being processed for each test is constant - lets say nf   -  if the duration of the run is t, then   nf  /  t  => the average fps.

Means, from a qualitative perspective, the execution time is equally evident as the average fps - because of its direct linear relation

 

If using fps is misleading, then it's no more misleading than calculating it from the time.. ?  🤔

I personally think it's a wasted opportunity to not use the output of a fixed test in this elegant plugin, and optionally share the results with the emby community.

On their own, they are (imho) fairly meaningless - as I have nothing to compare them against.

Maybe even summarising the ffmpeg log in the Plugin would be useful to copy and paste into a 'hardware results' thread - maybe provide the URL on the Plugin.. 

(btw - I couldn't actually open the generated log files from within the Plugin..)

>>>>>>  Hardware Decoders for hevc
        [X] QuickSync Intel UHD Graphics 770 - H.265 (HEVC)

>>>>>>  Hardware Encoders for h264
        [X] QuickSync Intel UHD Graphics 770 - H.264 (AVC)

        Step                    HW-Context   Format       SW-Format           Size   Next
        HEVC_QSV             >> QSV          qsv          nv12           1920x1080 >> 

source = 24fps
Results = elapsed=00:00:07.08 frame= 1440 fps=203 q=23.0 Lsize=   35132kB time=00:00:59.64 bitrate=4825.0kbits/s throttle=off speed=8.41x    

 

Posted
44 minutes ago, rbjtech said:

If using fps is misleading, then it's no more misleading than calculating it from the time

Not the value - the unit being fps is.

Example: One says, "hey, on my system, I get even xx fps" and the other says "wow, that's a hight rate" - totally disregarding the fact that it depends on the very exact conditions of the test. Unless it is the exact same test, comparing the fps is entirely pointless. Some might be slightly more thoughtful and say "you mean trancoding to FDH or 4k? "  - but even then, still entirely pointless.

On the other side, when somebody says "hey it runs for me in 32s only", then everybody will ask "what do you mean - which test?"

 

1 hour ago, rbjtech said:

(btw - I couldn't actually open the generated log files from within the Plugin..)

To open the files from the browser you need the LocalExplorer browser extension (and server on the local machine of course)

Posted
1 hour ago, rbjtech said:

If using fps is misleading, then it's no more misleading than calculating it from the time.. ?  🤔

Think about why exactly you want a fps value instead of a duration: it's because you want to think about it in a different way. But that way how you want to think about it is not valid. 🙂 

rbjtech
Posted
15 hours ago, softworkz said:

Unless it is the exact same test, comparing the fps is entirely pointless. Some might be slightly more thoughtful and say "you mean trancoding to FDH or 4k? "  - but even then, still entirely pointless.

On the other side, when somebody says "hey it runs for me in 32s only", then everybody will ask "what do you mean - which test?"

Maybe I'm not getting it or you are missing what I am saying.   The Transcode test plugin does EXACTLY this and allows you to reproduce the full ffmpeg syntax.  Otherwise the 'Test' plugin is also pointless ?    Yes (of course) you need to select the same 'test' - but it will then run it on your GPU/system - the ONLY variable here.

If another user ran the exact same scenerio as my example above on exactly the same GPU (UHD 770) - where I get fps=203 - then I would expect them to get in that ballpark.    Yes they may have a slightly slower or faster UHD770 - but it's going to be a perfectly valid comparison.

I'm going to run the exact same test on multiple GPU hardware platforms, multiple times - maybe I'll start a different thread with the results and others can contribute.

  • Like 1
Posted
9 hours ago, rbjtech said:

Yes (of course) you need to select the same 'test' - but it will then run it on your GPU/system - the ONLY variable here.

If another user ran the exact same scenerio as my example above on exactly the same GPU (UHD 770) - where I get fps=203 - then I would expect them to get in that ballpark.    Yes they may have a slightly slower or faster UHD770 - but it's going to be a perfectly valid comparison.

For those comparisons you can use the execution duration - it's equally valid for this kind of comparison.

What I'm saying is that fps values "invite" users to make invalid comparisons (while durations don't). If you know that it must be the exact same test then it's equally valid like execution durations - but in no way better than that.

Avoiding fps values for comparison prevents potential confusion. That's my point.

RanmaCanada
Posted

@softworkzYou have to remember that a lot of users here are (I'm going to be blunt) not exactly the sharpest tool in the shed when it comes to hardware and encoding stuff. FPS is easier for these people to understand. As long as we are using standardized files like Tears of Steel or extreme case scenario Sol Levante (for 4k transcoding), it would let these users know what their hardware is capable of. The forums still get lots of posts from people who are clueless about transcoding and stuff and I'm sure you get pretty frustrated yourself with some of these questions from people. I've personally blocked several users who refused to understand things even after they were explained in plain english.

Sometimes we need to dumb things down to the lowest common denominator so that everyone can understand, even if we don't want to. We have to remember that just because we understand these things, a lot of users will think it's Ancient Egyptian and be so confused they'll just give up. Some will reach out and want to learn, but many will refuse to. There is still too much voodoo in regards to transcoding, and we should make it so easy that someone grandmother could understand. ie, this device can do so many fps, which means so many concurrent trancodes of this resolution, which means this many concurrent users that need transcodes.

Just some thoughts. I don't want to be stepping on any toes. If I have, please feel free to let me know.

  • Agree 1
Posted
29 minutes ago, RanmaCanada said:

You have to remember that a lot of users here are (I'm going to be blunt) not exactly the sharpest tool in the shed when it comes to hardware and encoding stuff.

Exactly! That's why I'm saying what I said.

30 minutes ago, RanmaCanada said:

FPS is easier for these people to understand.

No. FPS is easy to misunderstand.

 

Everybody understands time in seconds and that shorter times are better. Very easy for anybody to understand.

Posted
1 hour ago, softworkz said:
2 hours ago, RanmaCanada said:

FPS is easier for these people to understand.

No. FPS is easy to misunderstand.

My 2 cents...

Have you guys looked at almost any CPU/GPU hardware GAMING review?

They typically go on for many pages siting various benchmarks and test. The results very a lot between different ones but they all have a common note: (Lower is Better or Higher is Better).

So I don't think it really matters what units are used just that it's an apples to apples comparison and it's made clear to the reader.

But I think the accrual point here is the plugin should be updated to upload the result to a database so people can easily access this information, over time this could become very useful... 

  • Like 2
Posted
9 minutes ago, TMCsw said:

But I think the accrual point here is the plugin should be updated to upload the result to a database so people can easily access this information, over time this could become very useful... 

If there's somebody who wants to build all this i.e. a website, a database backend, user management, an API for uploading and a C# implementation which submits the data via that API, then I'll happily include it in the plugin.

Posted
4 minutes ago, softworkz said:

If there's somebody who wants to build all this i.e. a website, a database backend, user management, an API for uploading and a C# implementation which submits the data via that API, then I'll happily include it in the plugin.

Anyway, it's not like there would be anything missing from our side to make that possible.

The *.etrd files which are created by the plugin are valid JSON files, machine-readable and including all the information that is needed. We can talk about detail adjustments like adding something like a "Benchmark Suite" test plan, to make sure that everybody runs the same set of tests (per hw) or include certain additional fields in the output, that's no problem. But building a platform for this isn't something I'll have time for in the forseeable future.

  • Like 1
Posted
31 minutes ago, TMCsw said:
2 hours ago, softworkz said:

No. FPS is easy to misunderstand.

My 2 cents...

Have you guys looked at almost any CPU/GPU hardware GAMING review?

They typically go on for many pages siting various benchmarks and test. The results very a lot between different ones but they all have a common note: (Lower is Better or Higher is Better).

Once again: FPS is not easy to misunderstand in terms of what it is meant to express.

But FPS is easy to be taken and used out-of-context - one of the reason being that FPS is known by many right from those gaming reviews you are referring to.

So it's inviting to say: "My system can transcode at 280 fps", which others might not even question at all. 

But if somebody would say: "My system can transcode in 21 seconds" - here, everybody will be asking "what, when, where and how?`" - which are the right questions.

  • 2 weeks later...
benpicard
Posted (edited)


 

Edited by benpicard

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...