Jump to content


Photo

Hardware Transcoding


  • Please log in to reply
96 replies to this topic

#1 FordGT90Concept OFFLINE  

FordGT90Concept

    Advanced Member

  • Members
  • 654 posts
  • Local time: 12:44 PM

Posted 11 March 2017 - 03:30 AM

There isn't any good resources on the internet for this, sadly. Basically, some questions:

1) I've read that NVENC has a limit of two streams per GPU. Does OpenMAX, QuickSync, and VA API have similar limitations?

2) Which of the four hardware encoding technologies works the best overall right now?

3) Does OpenMAX or VA API work better on Radeon cards?

4) Is CPU transcoding still king?

5) Is there a way to force hardware transcoding for testing the above?

#2 Swynol OFFLINE  

Swynol

    Advanced Member

  • Members
  • 1058 posts
  • Local time: 06:44 PM
  • LocationWales, UK

Posted 11 March 2017 - 04:43 PM

yes NVENC is limited to 2 streams. i think some quadro cards can do more. 

 

i use intel quicksync. i have a low powered i3 and by using quicksync i boost the amount of transcodes i can do at anyone time.


  • FordGT90Concept likes this

#3 Andy777 OFFLINE  

Andy777

    Advanced Member

  • Members
  • 117 posts
  • Local time: 07:44 PM

Posted 11 March 2017 - 04:49 PM

There isn't any good resources on the internet for this, sadly. Basically, some questions:

1) I've read that NVENC has a limit of two streams per GPU. Does OpenMAX, QuickSync, and VA API have similar limitations?

2) Which of the four hardware encoding technologies works the best overall right now?

3) Does OpenMAX or VA API work better on Radeon cards?

4) Is CPU transcoding still king?

5) Is there a way to force hardware transcoding for testing the above?

 

(answers are from emby point of view)

 

1) Quicksync and Vaapi do not have similar limitations. Of course at some point there is a practical limitation

 

2) Quicksync (on Intel Windows) and NVENC on nVidia (both Windows and Linux AFAIK). Vaapi works well on Intel Linux, but suffers from bad picture quality

 

3) No idea. In theory both should work with a recent AMD card, but we haven't heard any success stories yet (somebody got close with vaapi, but did not report full success). I don't think no one has even mentioned OpenMAX with AMD hw. Overall, in Linux, AMD cards have the poorest hw-transcoding support.

 

4) CPU is definitely the King if you can afford a high powered recent i7 or similar. Full format compatibility (none of the hw-options have full format compatibility) and the best picture quality.


  • SikSlayer and FordGT90Concept like this

#4 FordGT90Concept OFFLINE  

FordGT90Concept

    Advanced Member

  • Members
  • 654 posts
  • Local time: 12:44 PM

Posted 11 March 2017 - 07:35 PM

I'm running Windows Server 2012 R2 with a Xeon E5-1230V3 (no IGP, unfortunately). Whenever transcoding starts, framerate plummets and I have no explanation for it. CPU is at less than 50% usage with gigabibytes of memory free.

It has an HD 5570 in it now but I'm thinking about changing it to something more modern. Right now it sounds like NVENC is the only option without full hardware upgrade?

#5 Andy777 OFFLINE  

Andy777

    Advanced Member

  • Members
  • 117 posts
  • Local time: 07:44 PM

Posted 12 March 2017 - 01:41 AM

I'm running Windows Server 2012 R2 with a Xeon E5-1230V3 (no IGP, unfortunately). Whenever transcoding starts, framerate plummets and I have no explanation for it. CPU is at less than 50% usage with gigabibytes of memory free.

It has an HD 5570 in it now but I'm thinking about changing it to something more modern. Right now it sounds like NVENC is the only option without full hardware upgrade?

 

That's pretty powerful CPU and should be able to transcode well. Is the input format of the media something special (which would probably not be able to transcode in hardware anyway)? Can you post mediainfo?



#6 FordGT90Concept OFFLINE  

FordGT90Concept

    Advanced Member

  • Members
  • 654 posts
  • Local time: 12:44 PM

Posted 12 March 2017 - 02:48 AM

MPEG2 or MPEG4 off of the HDHomeRuns.

#7 Andy777 OFFLINE  

Andy777

    Advanced Member

  • Members
  • 117 posts
  • Local time: 07:44 PM

Posted 12 March 2017 - 05:36 PM

MPEG2 or MPEG4 off of the HDHomeRuns.


Weird. You should definitely post on normal server threads with logs. An old i3 should be able to handle that with cpu flawlessly.

Edited by Andy777, 12 March 2017 - 05:39 PM.


#8 FordGT90Concept OFFLINE  

FordGT90Concept

    Advanced Member

  • Members
  • 654 posts
  • Local time: 12:44 PM

Posted 12 March 2017 - 06:46 PM

I was still wondering if anyone has tested Open OMX and VA-API on Windows with Radeon cards. Because QuickSync is limited to Intel CPUs (so want a Ryzen server now) and NVENC is limited to two streams, I want to know how AMD works. If memory serves, the decoder unit in Radeon cards can do five streams at once. If the software is botched then it's useless.

#9 Schimi OFFLINE  

Schimi

    Advanced Member

  • Members
  • 177 posts
  • Local time: 07:44 PM
  • LocationWillich, Germany

Posted 25 May 2017 - 12:41 PM

I'm very interest in amd hw encoding on windows... some new news on this?


  • Tur0k likes this

#10 mastrmind11 OFFLINE  

mastrmind11

    Advanced Member

  • Members
  • 2727 posts
  • Local time: 01:44 PM
  • LocationLong Island, NY

Posted 25 May 2017 - 01:03 PM

I'm very interest in amd hw encoding on windows... some new news on this?

New news on what?  



#11 Schimi OFFLINE  

Schimi

    Advanced Member

  • Members
  • 177 posts
  • Local time: 07:44 PM
  • LocationWillich, Germany

Posted 25 May 2017 - 01:07 PM

Successful hw encoding on win with amd card


  • Tur0k likes this

#12 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 135022 posts
  • Local time: 01:44 PM

Posted 25 May 2017 - 01:08 PM

@schmi have you tried it?

#13 Schimi OFFLINE  

Schimi

    Advanced Member

  • Members
  • 177 posts
  • Local time: 07:44 PM
  • LocationWillich, Germany

Posted 25 May 2017 - 03:34 PM

No sorry



#14 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 135022 posts
  • Local time: 01:44 PM

Posted 25 May 2017 - 04:35 PM

I would suggest trying it out by enabling it in the Emby Server dashboard under Transcoding. Then report your experience to the Emby community. 

 

To learn more, check out our wiki article:

 

https://github.com/M...iki/Transcoding

 

Thanks !



#15 Schimi OFFLINE  

Schimi

    Advanced Member

  • Members
  • 177 posts
  • Local time: 07:44 PM
  • LocationWillich, Germany

Posted 28 May 2017 - 06:06 AM

i tried the different options... but it looks like that it doesn't work with AMD on Win10

 

AMD Radeon R9 290 @ AMD FX8750

 

Quicksync = no start of transcoding (i know it´s only for Intel)

 

OpenMAX OML = same CPU AND GPU usage as "none" = CPU transcoding

 

Nvidia NVENC = no start.....

 

VA API = same CPU and GPU usage as none


  • FordGT90Concept likes this

#16 vick1982 OFFLINE  

vick1982

    Advanced Member

  • Members
  • 91 posts
  • Local time: 04:44 AM

Posted 05 December 2017 - 05:12 AM

is it possible to transcode with nvidia cards yet ? (for 4k 10bit hecv) would save me rebuilding a new server



#17 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 135022 posts
  • Local time: 01:44 PM

Posted 05 December 2017 - 11:11 AM

is it possible to transcode with nvidia cards yet ? (for 4k 10bit hecv) would save me rebuilding a new server

 

Yes that would be the nvenc option.



#18 vick1982 OFFLINE  

vick1982

    Advanced Member

  • Members
  • 91 posts
  • Local time: 04:44 AM

Posted 05 December 2017 - 04:22 PM

Is this limited by any certain amount of streams ?

#19 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 135022 posts
  • Local time: 01:44 PM

Posted 05 December 2017 - 04:23 PM

Emby does not apply a limit, but your hardware might. You'll have to check the documentation for it. Let us know if this helps. Thanks !



#20 Waldonnis OFFLINE  

Waldonnis

    Advanced Member

  • Members
  • 652 posts
  • Local time: 01:44 PM

Posted 05 December 2017 - 04:45 PM

Out of curiosity, are you wanting Emby to transcode to HEVC 10bit output?  Is that even possible within Emby?  I thought it was still using h.264 (yuv420p) exclusively for output.  If you're just doing HEVC (Main10)->h.264 transcoding, then your card needs to support HEVC decoding if you want hardware to handle the decoding (most discrete Pascal cards do), and many generations of nV cards supported h.264 hardware encoding, so that part has been working for a while.  Side note: h.264 10bit output is technically possible (High 10 or one of the other variants), but device/playback support is probably going to be very limited, so I wouldn't bother thinking about that.

 

And yes, if it's a GeForce card, you're driver-limited to two simultaneous streams.  Quadros don't share this restriction according to the last docs I read.






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users