Jump to content


Photo

Hardware Transcoding


  • Please log in to reply
96 replies to this topic

#21 KRDucky OFFLINE  

KRDucky

    Newbie

  • Members
  • 6 posts
  • Local time: 12:09 PM

Posted 21 February 2018 - 11:04 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.

Im currently working on figuring this out. Except I do it exclusively on Linux. I refuse to use Windows Server. I am working on figuring out how to convert the Docker version to the Fedora Atomic Server container package.

Then I will test it against my aging AMD FM1 A8-3850 APU server and when I get the rest of my upgrade parts, the Ryzen 5 2400G APU. I hope to use OMX especially if I can confirm VAAPI/OMX support for encode/decode on Vega. Since AMD driver stack is almost entirely opensource now and mostly integrated into the Linux kernel, it should be mostly plug and play on my end without anything extra I need to install to get my GPU up and running. No Catalyst drivers needed with Vega GCN5 cards. The key is to use Kernel 4.15.x-rc or 4.15.x kernels as they are the ones that have the AMD driver stack mostly built in. Just make sure to have linux-firmware installed which it should be along with mesa.


  • Tur0k likes this

#22 SHSPVR OFFLINE  

SHSPVR

    Advanced Member

  • Members
  • 646 posts
  • Local time: 01:09 PM
  • LocationVinita, Oklahoma

Posted 22 February 2018 - 06:02 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 !

 

I wish they would just support OpenCL then all 3 GPU would be supported



#23 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 135843 posts
  • Local time: 02:09 PM

Posted 22 February 2018 - 06:05 PM

I wish they would just support OpenCL then all 3 GPU would be supported

 

who is they?



#24 SHSPVR OFFLINE  

SHSPVR

    Advanced Member

  • Members
  • 646 posts
  • Local time: 01:09 PM
  • LocationVinita, Oklahoma

Posted 22 February 2018 - 06:07 PM

FFmpeg that way AMD get support


Edited by SHSPVR, 22 February 2018 - 06:11 PM.


#25 FordGT90Concept OFFLINE  

FordGT90Concept

    Advanced Member

  • Members
  • 655 posts
  • Local time: 01:09 PM

Posted 22 February 2018 - 07:08 PM

I wish they would just support OpenCL then all 3 GPU would be supported

 

AMD cards have hardware encoders and decoders and they're really good.  As far as I can tell, there is no predefined limit on the number of streams it can handle but there is a limit to how much the GPU itself can encode/decode.  As an experiment, I tried decoding 6 streams from my HDHomeRun Extends (MP4 heavy) on my R9 390.  Two worked perfectly.  Once I added a third, the card would literally swap video processing between the three streams and the desktop.  My card's effective limit, therefore, is 2 streams.

 

OpenCL doesn't use the hardware encoders/decoders.  FFMPEG needs to add support for GCN encoding/decoding.  


  • Tur0k likes this

#26 SHSPVR OFFLINE  

SHSPVR

    Advanced Member

  • Members
  • 646 posts
  • Local time: 01:09 PM
  • LocationVinita, Oklahoma

Posted 22 February 2018 - 07:36 PM

AMD cards have hardware encoders and decoders and they're really good.  As far as I can tell, there is no predefined limit on the number of streams it can handle but there is a limit to how much the GPU itself can encode/decode.  As an experiment, I tried decoding 6 streams from my HDHomeRun Extends (MP4 heavy) on my R9 390.  Two worked perfectly.  Once I added a third, the card would literally swap video processing between the three streams and the desktop.  My card's effective limit, therefore, is 2 streams.

 

OpenCL doesn't use the hardware encoders/decoders.  FFMPEG needs to add support for GCN encoding/decoding.  

 

What ever the case my be It sure would nice to get AMD card support as well look like you maybe right so we need AMF or VCE support then


Edited by SHSPVR, 22 February 2018 - 07:38 PM.


#27 FordGT90Concept OFFLINE  

FordGT90Concept

    Advanced Member

  • Members
  • 655 posts
  • Local time: 01:09 PM

Posted 22 February 2018 - 08:39 PM

Windows -> AMF (Windows, encode)

Linux -> VDPAU (Unix, decode), VAAPI (Intel, decode and experimental encode)

 

Source: https://trac.ffmpeg....Intro#AMDUVDVCE

 

 

Can't even find any more info on AMF.


Edited by FordGT90Concept, 22 February 2018 - 08:40 PM.


#28 mbnwa OFFLINE  

mbnwa

    Advanced Member

  • Alpha Testers
  • 478 posts
  • Local time: 11:09 AM

Posted 23 February 2018 - 01:47 AM

@FordGT90Concept

 

Decoding (UVD):

Can not be done via AMF in FFMpeg and must be done via DXVA2/D3D11VA (source: https://trac.ffmpeg....i/HWAccelIntro)

ffmpeg -hwaccel dxva2 (for example from the CLI)

 

Encoding (VCE) (you can test this using the command line to see the performance increase in addition to if any errors happen, as it looks like the Emby FFMpeg is built with amf) :

ffmpeg -h encoder=h264_amf

ffmpeg version git-2017-12-31-2906363 Copyright © 2000-2017 the FFmpeg developers
  built with gcc 7.2.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-amf --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx
  libavutil      56.  7.100 / 56.  7.100
  libavcodec     58.  9.100 / 58.  9.100
  libavformat    58.  3.100 / 58.  3.100
  libavdevice    58.  0.100 / 58.  0.100
  libavfilter     7.  8.100 /  7.  8.100
  libswscale      5.  0.101 /  5.  0.101
  libswresample   3.  0.101 /  3.  0.101
  libpostproc    55.  0.100 / 55.  0.100
Encoder h264_amf [AMD AMF H.264 Encoder]:
    General capabilities: delay
    Threading capabilities: none
    Supported pixel formats: nv12 yuv420p d3d11
h264_amf AVOptions:
  -usage             <int>        E..V.... Encoder Usage (from 0 to 3) (default transcoding)
     transcoding                  E..V.... Generic Transcoding
     ultralowlatency              E..V....
     lowlatency                   E..V....
     webcam                       E..V.... Webcam
  -profile           <int>        E..V.... Profile (from 66 to 257) (default main)
     main                         E..V....
     high                         E..V....
     constrained_baseline              E..V....
     constrained_high              E..V....
  -level             <int>        E..V.... Profile Level (from 0 to 62) (default auto)
     auto                         E..V....
     1.0                          E..V....
     1.1                          E..V....
     1.2                          E..V....
     1.3                          E..V....
     2.0                          E..V....
     2.1                          E..V....
     2.2                          E..V....
     3.0                          E..V....
     3.1                          E..V....
     3.2                          E..V....
     4.0                          E..V....
     4.1                          E..V....
     4.2                          E..V....
     5.0                          E..V....
     5.1                          E..V....
     5.2                          E..V....
     6.0                          E..V....
     6.1                          E..V....
     6.2                          E..V....
  -quality           <int>        E..V.... Quality Preference (from 0 to 2) (default speed)
     speed                        E..V.... Prefer Speed
     balanced                     E..V.... Balanced
     quality                      E..V.... Prefer Quality
  -rc                <int>        E..V.... Rate Control Method (from -1 to 3) (default -1)
     cqp                          E..V.... Constant Quantization Parameter
     cbr                          E..V.... Constant Bitrate
     vbr_peak                     E..V.... Peak Contrained Variable Bitrate
     vbr_latency                  E..V.... Latency Constrained Variable Bitrate
  -enforce_hrd       <boolean>    E..V.... Enforce HRD (default false)
  -filler_data       <boolean>    E..V.... Filler Data Enable (default false)
  -vbaq              <boolean>    E..V.... Enable VBAQ (default false)
  -frame_skipping    <boolean>    E..V.... Rate Control Based Frame Skip (default false)
  -qp_i              <int>        E..V.... Quantization Parameter for I-Frame (from -1 to 51) (default -1)
  -qp_p              <int>        E..V.... Quantization Parameter for P-Frame (from -1 to 51) (default -1)
  -qp_b              <int>        E..V.... Quantization Parameter for B-Frame (from -1 to 51) (default -1)
  -preanalysis       <boolean>    E..V.... Pre-Analysis Mode (default false)
  -max_au_size       <int>        E..V.... Maximum Access Unit Size for rate control (in bits) (from 0 to INT_MAX) (default 0)
  -header_spacing    <int>        E..V.... Header Insertion Spacing (from -1 to 1000) (default -1)
  -bf_delta_qp       <int>        E..V.... B-Picture Delta QP (from -10 to 10) (default 4)
  -bf_ref            <boolean>    E..V.... Enable Reference to B-Frames (default true)
  -bf_ref_delta_qp   <int>        E..V.... Reference B-Picture Delta QP (from -10 to 10) (default 4)
  -intra_refresh_mb  <int>        E..V.... Intra Refresh MBs Number Per Slot in Macroblocks (from 0 to INT_MAX) (default 0)
  -coder             <int>        E..V.... Coding Type (from 0 to 2) (default auto)
     auto                         E..V.... Automatic
     cavlc                        E..V.... Context Adaptive Variable-Length Coding
     cabac                        E..V.... Context Adaptive Binary Arithmetic Coding
  -me_half_pel       <boolean>    E..V.... Enable ME Half Pixel (default true)
  -me_quarter_pel    <boolean>    E..V.... Enable ME Quarter Pixel (default true)
  -aud               <boolean>    E..V.... Inserts AU Delimiter NAL unit (default false)
  -log_to_dbg        <boolean>    E..V.... Enable AMF logging to debug output (default false)
 
ffmpeg -h encoder=hevc_amf
ffmpeg version git-2017-12-31-2906363 Copyright © 2000-2017 the FFmpeg developers
  built with gcc 7.2.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-amf --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx
  libavutil      56.  7.100 / 56.  7.100
  libavcodec     58.  9.100 / 58.  9.100
  libavformat    58.  3.100 / 58.  3.100
  libavdevice    58.  0.100 / 58.  0.100
  libavfilter     7.  8.100 /  7.  8.100
  libswscale      5.  0.101 /  5.  0.101
  libswresample   3.  0.101 /  3.  0.101
  libpostproc    55.  0.100 / 55.  0.100
Encoder hevc_amf [AMD AMF HEVC encoder]:
    General capabilities: delay
    Threading capabilities: none
    Supported pixel formats: nv12 yuv420p d3d11
hevc_amf AVOptions:
  -usage             <int>        E..V.... Set the encoding usage (from 0 to 3) (default transcoding)
     transcoding                  E..V....
     ultralowlatency              E..V....
     lowlatency                   E..V....
     webcam                       E..V....
  -profile           <int>        E..V.... Set the profile (default main) (from 1 to 1) (default main)
     main                         E..V....
  -profile_tier      <int>        E..V.... Set the profile tier (default main) (from 0 to 1) (default main)
     main                         E..V....
     high                         E..V....
  -level             <int>        E..V.... Set the encoding level (default auto) (from 0 to 186) (default auto)
     auto                         E..V....
     1.0                          E..V....
     2.0                          E..V....
     2.1                          E..V....
     3.0                          E..V....
     3.1                          E..V....
     4.0                          E..V....
     4.1                          E..V....
     5.0                          E..V....
     5.1                          E..V....
     5.2                          E..V....
     6.0                          E..V....
     6.1                          E..V....
     6.2                          E..V....
  -quality           <int>        E..V.... Set the encoding quality (from 0 to 10) (default speed)
     balanced                     E..V....
     speed                        E..V....
     quality                      E..V....
  -rc                <int>        E..V.... Set the rate control mode (from -1 to 3) (default -1)
     cqp                          E..V.... Constant Quantization Parameter
     cbr                          E..V.... Constant Bitrate
     vbr_peak                     E..V.... Peak Contrained Variable Bitrate
     vbr_latency                  E..V.... Latency Constrained Variable Bitrate
  -header_insertion_mode <int>        E..V.... Set header insertion mode (from 0 to 2) (default none)
     none                         E..V....
     gop                          E..V....
     idr                          E..V....
  -gops_per_idr      <int>        E..V.... GOPs per IDR 0-no IDR will be inserted (from 0 to INT_MAX) (default 60)
  -preanalysis       <boolean>    E..V.... Enable preanalysis (default false)
  -vbaq              <boolean>    E..V.... Enable VBAQ (default false)
  -enforce_hrd       <boolean>    E..V.... Enforce HRD (default false)
  -filler_data       <boolean>    E..V.... Filler Data Enable (default false)
  -max_au_size       <int>        E..V.... Maximum Access Unit Size for rate control (in bits) (from 0 to INT_MAX) (default 0)
  -min_qp_i          <int>        E..V.... min quantization parameter for I-frame (from -1 to 51) (default -1)
  -max_qp_i          <int>        E..V.... max quantization parameter for I-frame (from -1 to 51) (default -1)
  -min_qp_p          <int>        E..V.... min quantization parameter for P-frame (from -1 to 51) (default -1)
  -max_qp_p          <int>        E..V.... max quantization parameter for P-frame (from -1 to 51) (default -1)
  -qp_p              <int>        E..V.... quantization parameter for P-frame (from -1 to 51) (default -1)
  -qp_i              <int>        E..V.... quantization parameter for I-frame (from -1 to 51) (default -1)
  -skip_frame        <boolean>    E..V.... Rate Control Based Frame Skip (default false)
  -me_half_pel       <boolean>    E..V.... Enable ME Half Pixel (default true)
  -me_quarter_pel    <boolean>    E..V.... Enable ME Quarter Pixel  (default true)
  -aud               <boolean>    E..V.... Inserts AU Delimiter NAL unit (default false)
  -log_to_dbg        <boolean>    E..V.... Enable AMF logging to debug output (default false)


#29 FordGT90Concept OFFLINE  

FordGT90Concept

    Advanced Member

  • Members
  • 655 posts
  • Local time: 01:09 PM

Posted 23 February 2018 - 01:50 AM

Yeah, I'm being told that AMF is the way to go on Windows. Linux, I don't know. I'm hoping AMD expands AMF to Linux as well.

Edited by FordGT90Concept, 23 February 2018 - 01:53 AM.


#30 SHSPVR OFFLINE  

SHSPVR

    Advanced Member

  • Members
  • 646 posts
  • Local time: 01:09 PM
  • LocationVinita, Oklahoma

Posted 23 February 2018 - 12:23 PM

 

@FordGT90Concept

 

Decoding (UVD):

Can not be done via AMF in FFMpeg and must be done via DXVA2/D3D11VA (source: https://trac.ffmpeg....i/HWAccelIntro)

ffmpeg -hwaccel dxva2 (for example from the CLI)

 

Encoding (VCE) (you can test this using the command line to see the performance increase in addition to if any errors happen, as it looks like the Emby FFMpeg is built with amf) :

ffmpeg -h encoder=h264_amf

 

 

I know A's Video Converter works on my 6 year old AMD A10-5800k Trinity server,  Yeah I know time for upgrade that Ryzen 3 2200g is looking mighty fine about right now.

​So I guest the command line goes like this ffmpeg.exe -i test.mpg -c:v h264_amf test.mp4 ?? mbnwa



#31 mbnwa OFFLINE  

mbnwa

    Advanced Member

  • Alpha Testers
  • 478 posts
  • Local time: 11:09 AM

Posted 23 February 2018 - 12:35 PM

I know A's Video Converter works on my 6 year old AMD A10-5800k Trinity server,  Yeah I know time for upgrade that Ryzen 3 2200g is looking mighty fine about right now.

​So I guest the command line goes like this ffmpeg.exe -i test.mpg -c:v h264_amf test.mp4 ?? mbnwa

 

 

I have been doing a lot of testing with nVidia as I do not have an AMD card, however I would start by taking the normal Emby command structure for example below  (This is based on transcoding an mkv to mp4)

 

for your use case you might want to play a video that would process via ffmpeg and goto the logs and pull out the command line and change -codec:v:0 h264_* to -codec:v:0 h264_amf and see if you have any errors.

 

ffmpeg.exe -c:v hevc_cuvid  -i file:"S:\Media Storage\$videos\$media_file\$media_file (4K UHD).mkv" -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_nvenc -vf "scale=trunc(min(max(iw\,ih*dar)\,640)/2)*2:trunc(ow/dar/2)*2" -pix_fmt yuv420p -preset default -b:v 416000 -maxrate 416000 -bufsize 832000 -profile:v high -force_key_frames "expr:if(isnan(prev_forced_t),eq(t,t),gte(t,prev_forced_t+3))" -copyts -vsync -1 -codec:a:0 libmp3lame -ac 2 -ab 384000 -af "volume=2" -f segment -max_delay 5000000 -avoid_negative_ts disabled -map_metadata -1 -map_chapters -1 -start_at_zero -segment_time 3  -individual_header_trailer 0 -segment_format mpegts -segment_list_type m3u8 -segment_start_number 0 -segment_list "T:\transcoding-temp\1355279e13b40fa96934820627bdeecf.m3u8" -y "T:\transcoding-temp\1355279e13b40fa96934820627bdeecf%d.ts"

 

and use the following (basically what you said, however you might run into some errors if amf does not support everything like on nVidia I am running into an issue with the decoder performance issues due to scale being used)

 

ffmpeg.exe -i file:"S:\Media Storage\$videos\$media_file\$media_file (4K UHD).mkv" -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_amf -vf "scale=trunc(min(max(iw\,ih*dar)\,640)/2)*2:trunc(ow/dar/2)*2" -pix_fmt yuv420p -preset default -b:v 416000 -maxrate 416000 -bufsize 832000 -profile:v high -force_key_frames "expr:if(isnan(prev_forced_t),eq(t,t),gte(t,prev_forced_t+3))" -copyts -vsync -1 -codec:a:0 libmp3lame -ac 2 -ab 384000 -af "volume=2" -f segment -max_delay 5000000 -avoid_negative_ts disabled -map_metadata -1 -map_chapters -1 -start_at_zero -segment_time 3  -individual_header_trailer 0 -segment_format mpegts -segment_list_type m3u8 -segment_start_number 0 -segment_list "T:\transcoding-temp\1355279e13b40fa96934820627bdeecf.m3u8" -y "T:\transcoding-temp\1355279e13b40fa96934820627bdeecf%d.ts"


Edited by mbnwa, 23 February 2018 - 12:37 PM.


#32 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 135843 posts
  • Local time: 02:09 PM

Posted 25 February 2018 - 11:17 PM

The beta server has some nice improvements for NVENC transcoding, for those interested:

 

https://emby.media/c...p4000/?p=548844

 

Thanks.



#33 mbnwa OFFLINE  

mbnwa

    Advanced Member

  • Alpha Testers
  • 478 posts
  • Local time: 11:09 AM

Posted 26 February 2018 - 02:13 PM

@Luke

 

I was having a discussion with another member who is having issues with HEVC on CPU decoding / encoding and looking for HW alternatives, after reviewing the logs I noticed they are using subtitles. I generally do not use subtitles so never tested it, however using subtitles with the new beta results in an error inside of Emby stating "Playback Error No compatible streams are currently available. Please try again later or contact your system administrator for details." looking at the logs results in a 400 error and no FFMpeg log generated. The logs are posted in the thread above for review.



#34 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 135843 posts
  • Local time: 02:09 PM

Posted 26 February 2018 - 02:30 PM

Thanks.



#35 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 135843 posts
  • Local time: 02:09 PM

Posted 30 March 2018 - 01:28 PM

The next release of Emby Server for Linux x64 will include NVENC support out of the box so all you need to do is enable it. 

 

Nvidia Cuda and OpenCL drivers will need to be installed first. These cannot be freely distributed by us so you will need to refer to your respective distro to learn how to install them.

 

Thanks !


  • FordGT90Concept likes this

#36 Michaelhelps OFFLINE  

Michaelhelps

    Newbie

  • Members
  • 4 posts
  • Local time: 01:09 PM

Posted 04 October 2018 - 05:00 AM

I feel like we did not get to an answer here. I'm looking to better my server with about $150 in mind. I'm running a pair of Xeon L5640 so Intel QSV is out. I have a Nvidia GT 620 video card now and thinking of upgrading it to help with video. I'm running windows 7 for the media center. I would like to make sure this can handle 4-5 users watching what ever they like even if it's 4 HD FFMPEG streams.

 

When I stream a football game I get lag every 30-60 seconds. I was watching the CPU cores and only one showed a load with spikes to 100% I have tried 8, max and auto in the Trans-coding thread count but no change and I am restarting the server after changing the settings.

I'm trying to use the VA API setting but I think it is trying to use the motherboard video not the GT 620. /dev/dri/card0 I think is the onboard card.

 

Oh one more hang up it's all in a 2u case. :( Could I run 2 k600 cards? Would faster CPUs help? A new SSD or a ram drive for cashing?

 

Everything else works fine. Blu ray 1080p x4 I only did that once to see if it works.

 

Windows 7 Ultimate 64-bit

Supermicro X8DT6

24GB DDR3 ecc

Dual Xeon L5640 (order 2 X5675 tonight)

LSI 9285cv-8e

240GB SSD (Windows & Cashing)

4x8TB HGST 7200rpm 4kn SAS raid 5

6x3TB WD Red 5400rpm SATA raid 5



#37 ebr OFFLINE  

ebr

    Chief Bottle Washer

  • Administrators
  • 46383 posts
  • Local time: 02:09 PM

Posted 04 October 2018 - 09:35 AM

I feel like we did not get to an answer here. I'm looking to better my server with about $150 in mind. I'm running a pair of Xeon L5640 so Intel QSV is out. I have a Nvidia GT 620 video card now and thinking of upgrading it to help with video. I'm running windows 7 for the media center. I would like to make sure this can handle 4-5 users watching what ever they like even if it's 4 HD FFMPEG streams.

 

When I stream a football game I get lag every 30-60 seconds. I was watching the CPU cores and only one showed a load with spikes to 100% I have tried 8, max and auto in the Trans-coding thread count but no change and I am restarting the server after changing the settings.

I'm trying to use the VA API setting but I think it is trying to use the motherboard video not the GT 620. /dev/dri/card0 I think is the onboard card.

 

Oh one more hang up it's all in a 2u case. :( Could I run 2 k600 cards? Would faster CPUs help? A new SSD or a ram drive for cashing?

 

Everything else works fine. Blu ray 1080p x4 I only did that once to see if it works.

 

Windows 7 Ultimate 64-bit

Supermicro X8DT6

24GB DDR3 ecc

Dual Xeon L5640 (order 2 X5675 tonight)

LSI 9285cv-8e

240GB SSD (Windows & Cashing)

4x8TB HGST 7200rpm 4kn SAS raid 5

6x3TB WD Red 5400rpm SATA raid 5

 

I would suggest checking out the Hardware forum down near the bottom.



#38 cayars OFFLINE  

cayars

    Advanced Member

  • Alpha Testers
  • 2935 posts
  • Local time: 02:09 PM

Posted 04 October 2018 - 11:10 AM

That's rough.  Without QuickSync you need to look at ATI or Nvidia video cards for a boost.

You can find a decent used Nvidia card but in that price range BUT it will be a consumer card and will only support 2 simultaneous HW streams.

I haven't tried an ATI card in a while as it's to much pain to change out on my Windows Server (drivers are a pain switching back and forth).

 

But from memory about 6 to 8 months ago I found the Nvidia card worked best (comparable cards) even with the 2 stream limit.

You would have to up your budget about 3X to get a Nvidia pro card that doesn't have this limit.  An entry level pro card will get you about 20 streams from my memory of testing.

 

Emby only supports one GPU at a time so it won't use dual cards.

 

Maybe someone else can comment about ATI cards or add to this with additional info on Nvidia cards or give another suggestion.



#39 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 135843 posts
  • Local time: 02:09 PM

Posted 04 October 2018 - 12:19 PM

 

 

Emby only supports one GPU at a time so it won't use dual cards.

 

Actually this is not entirely true. On windows we use the -dxva params which let ffmpeg decide. I haven't tested but i would think it would handle automatically choosing which gpu is available.



#40 Michaelhelps OFFLINE  

Michaelhelps

    Newbie

  • Members
  • 4 posts
  • Local time: 01:09 PM

Posted 04 October 2018 - 01:21 PM

I can get the Nvidia quadro k600 (H.264 4:2:0) very cheap right now, might be worth getting two of them and playing around with it.

The other would be Nvidia Quadro p400 (H.265 4:4:4), right now I could only get the one. Would the H.265 be helpful in anyway? I use that for everything else just not sure emby will use it as well. I feel if ffmpeg will use it for two streams on the GPU then the CPUs for any extra streams that might be the better way to go.

 

Thank you guys for getting back to me on this!!!






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users