Jump to content

GPU Transcoding (Intel QuickSync and nVidia NVENC)


witteschnitte

Recommended Posts

rafatrance

Guys, the intel UHD630 that incorporates the G5500 pentium, can be enough for 3 or 4 transcoding for videos in 720p / 1080p? In addition to running Docker on the server with 4 or 5 containers.

Link to comment
Share on other sites

Gerrit507

I run eight containers on mine and it handles 3-4 2160p hevc to 1080p h264 transcoding streams with ease. It pretty much depends on what containers you run and what load they get. The transcoding is almost independent anyways because it is all handled by the gpu.

Edited by Gerrit507
Link to comment
Share on other sites

rafatrance

Precisely my preference to Emby over Plex is the power to do transcoding by GPU releasing load to the CPU. That's why I doubt if a Pentium G5500 would be enough. Containers I will run the Emby itself, nextcloud, pihole, transmission...

Link to comment
Share on other sites

Gerrit507

Precisely my preference to Emby over Plex is the power to do transcoding by GPU releasing load to the CPU. That's why I doubt if a Pentium G5500 would be enough. Containers I will run the Emby itself, nextcloud, pihole, transmission...

The G5500 has the same GPU like a i3, i5 or i7. If you use hardware transcoding they will all perform the same.

I run emby, nextcloud, teamspeak, jdownloader, nginx at the same time on mine but all of the services are used by a small group of users. If you say you have 50 users for example it will kill the G5500.

Link to comment
Share on other sites

rafatrance

The G5500 has the same GPU like a i3, i5 or i7. If you use hardware transcoding they will all perform the same.

I run emby, nextcloud, teamspeak, jdownloader, nginx at the same time on mine but all of the services are used by a small group of users. If you say you have 50 users for example it will kill the G5500.

I intend to share my movie collection that is in various formats (.avi, .mpeg, .mkv) with some family members. The services of Docker is only for my home network.
Link to comment
Share on other sites

mediacowboy

I intend to share my movie collection that is in various formats (.avi, .mpeg, .mkv) with some family members. The services of Docker is only for my home network.

I would find a common donamitor between clients and reencoded everything to that. Will cut down on cost of build and support.
Link to comment
Share on other sites

Waldonnis

I would find a common donamitor between clients and reencoded everything to that. Will cut down on cost of build and support.

 

Agreed.  Container swaps are easy (like mp4->mkv or such), but if you have a bunch of video and audio codecs involved, re-encoding the ones with codec(s) that aren't supported by all clients to a more universally compatible codec set saves a ton of time, build cost, and aggravation in the end...especially if your budget is tight.  The less your CPU (or even GPU) has to do during normal playback, the less "capable" you'll need the server to be for transcoding (which will save money both in initial purchasing and power consumption).  Planning for "2-4 regular simultaneous transcodes" scenario is more costly than planning for "99% of the viewing is direct stream/play" scenario.  Hell, I use a 6-year-old i5 for my server and can game or compile on it while watching movies on 4+ devices at once simply because I don't need to transcode on-the-fly at all.

 

Of course, if you have the cash, pick up a higher-end Xeon (or two!) or a TR and let it transcode everything  B)

Link to comment
Share on other sites

Waldonnis

Spend lots of money and go big! :D

 

Hehehe,  I'd actually love to see how a TR 1950X would do with a proper 2160p 10bit x265 workload (slower preset, moderate bitrate/crf for starters), if for no other reason to compare it to the coming 2nd gens and Intel's future i9....and to see if it takes more than one encode to saturate the cores.  Every benchmark I've seen either uses 1080p sources (won't saturate) or uses medium as a preset with lower bitrate targets (a lot less analysis compared to slower), so it's tough to figure out what I could expect when encoding on one.  Either way, let's hope they up the IPC a bit and do some work on their AVX2 situation in the new gen.

 

Leaked pricing on the new gen seems a bit steep compared to the last generation, but the gen1 models are priced attractively right now (1950X for slightly less than the original retail price of the 1920X).  If the gains aren't huge on the new ones, a 1950X at the current pricing would be a hell of a bargain (~800ish-USD now, but will probably drop to ~720 or less post-gen2).

 

Thread derail over!

Link to comment
Share on other sites

Waldonnis

 

Yeah, I saw it, but between the downscaling and such, it was hard to make anything out of it.  I can probably tweak and zip up one of my quickie ffmpeg/x265 HDR encoding batch scripts/related files if you want to test it out.  It reads the metadata from the source and encodes the file (2160p HDR output) using some configurable options and a specified CRF, then dumps the output into a subdirectory.  I use these types of scripts to automate encoding batches of small segments in the directory, but it'll handle single-files as well if they're alone in the directory.  I have a couple of bitrate target scripts too, but they are all 2-pass and need specific extra parameters, so not as easy to test with.

 

I'd be especially curious about core saturation and transcode speed.  We can hit PMs to prevent further derailment (we're bad at that, lol)....and because I usually don't share my scripts (especially batch files since CMD scripting sucks) and don't want to be on the hook for supporting people who try to use them for general encoding when they're not written for that purpose  :wacko:

Link to comment
Share on other sites

rafatrance

Spend lots of money and go big! :D

My budget is tight or my wife kicks me out of the house [emoji28]. My clients are going to be two Amazon Fire Stick and two webplayer. Maybe I could stretch to acquire an i3 8100 but not much more.
Link to comment
Share on other sites

Guest asrequested

My budget is tight or my wife kicks me out of the house [emoji28]. My clients are going to be two Amazon Fire Stick and two webplayer. Maybe I could stretch to acquire an i3 8100 but not much more.

You could scrape by with one of those.

Link to comment
Share on other sites

Gerrit507

Well, it pretty much depends on what you're focused on. Do you want a high rate of direct play or do you want so save filespace. I personally transcode everything to hevc even if it means that every user using the webinterface needs to get his content transcoded. Though I save a ton of space with this method and almost every other client can direct stream in a really nice quality with a small bandwith usage.

Edited by Gerrit507
Link to comment
Share on other sites

rafatrance

Right now I have 100Mb of symmetrical fiber and my movie collection is everything from 480p, to 720p or 1080p of 2Gb to 6 or 7Gb per file.

 

Sorry if there is any misunderstanding but use the Google translator.

Link to comment
Share on other sites

Guest asrequested

You will direct play/stream most of those. In your case, mp4 with stereo aac audio, will be best. Are you using live tv?

Edited by Doofus
Link to comment
Share on other sites

  • 5 months later...
brett.mclain@gmail.com

I installed a GTX 1060 (3GB) card into my media server (i7-3770) and was trying to do hardware transcoding with plex but found out too late that they only support encoding, not decoding.

 

So I'm testing Emby now instead and at first I was pretty pleased with the performance but after further testing I'm a bit underwhelmed. I was able to do 4 x 1080p streams (x264) that were 18 gb files each, but one of the streams kept buffering, so really only 3. Then when I tried an HEVC Main 10 movie (15.5 mbps) it is super garbled. Server is mostly idling as the GPU is doing all the work.

 

My expectation was that I would be able to run 6 or 7 1080p streams without breaking a sweat on a GTX 1060. Does anyone have any ideas on what could be holding back the performance? The GPU's memory usage never goes above 2GB, and the voltatile GPU-Util stays below 15% as well.

  • Like 1
Link to comment
Share on other sites

Gerrit507

I installed a GTX 1060 (3GB) card into my media server (i7-3770) and was trying to do hardware transcoding with plex but found out too late that they only support encoding, not decoding.

 

So I'm testing Emby now instead and at first I was pretty pleased with the performance but after further testing I'm a bit underwhelmed. I was able to do 4 x 1080p streams (x264) that were 18 gb files each, but one of the streams kept buffering, so really only 3. Then when I tried an HEVC Main 10 movie (15.5 mbps) it is super garbled. Server is mostly idling as the GPU is doing all the work.

 

My expectation was that I would be able to run 6 or 7 1080p streams without breaking a sweat on a GTX 1060. Does anyone have any ideas on what could be holding back the performance? The GPU's memory usage never goes above 2GB, and the voltatile GPU-Util stays below 15% as well.

You know that GeForce GPUs are limited to two encoding streams? I'm pretty sure that after two streams are used the encoding falls back to CPU. Your CPU is probably capable of one or maximum two 1080p h264 encoding streams at > 1x

 

https://developer.nvidia.com/video-encode-decode-gpu-support-matrix

Edited by Gerrit507
Link to comment
Share on other sites

brett.mclain@gmail.com

You know that GeForce GPUs are limited to two encoding streams? I'm pretty sure that after two streams are used the encoding falls back to CPU. Your CPU is probably capable of one or maximum two 1080p h264 encoding streams at > 1x

 

https://developer.nvidia.com/video-encode-decode-gpu-support-matrix

 

I've applied the following patch to remove the 2 stream restriction: https://github.com/keylase/nvidia-patch

 

It works (I can see in nvidia-smi that there is one pid per stream, and I've run up to 5 there), but I was expecting better performance.

 

Does anyone know how good the new Coffee Lake chips are? How many streams can you get out of those via QuickSync, both x264 1080p and x265 4k?

Link to comment
Share on other sites

Gerrit507

I've applied the following patch to remove the 2 stream restriction: https://github.com/keylase/nvidia-patch

 

It works (I can see in nvidia-smi that there is one pid per stream, and I've run up to 5 there), but I was expecting better performance.

 

Does anyone know how good the new Coffee Lake chips are? How many streams can you get out of those via QuickSync, both x264 1080p and x265 4k?

I have a G4600 with a HD 530. It's capable of four 4K h265 -> 1080p h264 streams over vaapi. The Coffee Lake CPUs have the HD630 which is slightly faster.

Link to comment
Share on other sites

lorac

The Intel GPU hasn't changed with the new chips. I believe there's a bit of difference between the Skylake and Kaby Lake but no difference since then.

 

Sent from my ONEPLUS A6003 using Tapatalk

Link to comment
Share on other sites

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...