roberto188 33 Posted March 23, 2018 Posted March 23, 2018 Currently I have an i5 2500 that I'm using to serve up live TV. I'm also using the Bob and weave option to output very nice 60fps to watch sports. Problem is, with CPU encoding and CPU deinterlacing at field Rate, it maxes out my CPU. I was thinking of getting a cheap Nvidia GTX 750 to utilize the hardware encoding. My question is, will emby pass the information to the card to let the card do the field Rate deinterlacing? Or will the deinterlacing still be done by the CPU?
Solution Carlo 4561 Posted March 23, 2018 Solution Posted March 23, 2018 Yes it does. I've been testing various things with CPU, AMF and NVENC and posted a few high level things here in this thread: https://emby.media/community/index.php?/topic/56464-amd-hardware-acceleration/?hl=%2Bdays+%2Bthunder&do=findComment&comment=555168 This was done with a GTX 750-TI on a 1st gen i7 at 2.8GHz running Emby. This was a half hour DVR recorded 1080i file. I ran it through the sync mechanism to downsize it to android mobile, converting to H.264 while deinterlacing. 681,356,648 Open House S07E68 - CPU - Bob - 3.34x - 3,028 kbs.mkv (CRF 23) 881,173,901 Open House S07E68 - NVENC-Bob - 8.62x - 3,916 kbs.mkv 696,581,998 Open House S07E68 - CPU - B&W - 1.88x - 3,095 kbs.mkv (CRF 23) 866,983,873 Open House S07E68 - NVENC-B&W - 6.54x - 3 853 kbs.mkv The first number is the file size of the created file. CPU vs NVENC is obvious. Bob vs Bob and Weeve, Number in front of the "x" is the rate it performed where 1.0x is real time. last number is the average bitrate of the file. The B&W produced 59.94 fps while the Bob produced 2.9.97 fps. Hope that helps, Carlo 1
roberto188 33 Posted March 23, 2018 Author Posted March 23, 2018 Awesome Carlo thanks. I'm thinking of grabbing a quatro K2000 instead which should allow me at least 3 streams simultaneously. Based on these numbers it shouldn't break a sweat. Thanks!
Carlo 4561 Posted March 23, 2018 Posted March 23, 2018 With the 750-TI I'm limited to 2 streams. I also have an AMD R9 280x I tested with as well but for now the 750-TI smoked it for Emby use. The K2000 is going to be the same as the 750-TI except it can process more than 2 streams. It's still an "older" card and isn't going to decode H.265 (nor encode) so keep that in mind. NewEgg has refurbished ones available for $160. You can also pickup a Dell branded on refubished for $100 including shipping here: https://www.theitmart.com/0jhrj-dell-quadro-k2000-2gb-gddr5-128-bit-pci-e-x16-graphics-card?gclid=Cj0KCQjwy9LVBRDOARIsAGqoVnudH31VKzwWhjRO-tq6PeTmS0W8-Cq50J5l_xHHLHzox8-SW9qF8c0aAlEhEALw_wcB I'd watch how much you plan to spend on a old GPU since it could be a better move to pickup a new mother/cpu that supports QuickSync which will handle H.265 as well since it's much newer. Carlo
roberto188 33 Posted March 23, 2018 Author Posted March 23, 2018 Thanks Carlo I appreciate the info. I don't forsee myself needing or wanting h265 anytime soon. I can get a k2000 for about 85. A new cpu and mobo will be min 200, plus a Windows reinstall. Old card I can just pop in and away I go. Thanks for all the help!
justdrooit 3 Posted March 24, 2018 Posted March 24, 2018 (edited) Just to add, Walmart's web site has the GTX 1050 for $146 (+tax) which will do the job as well as the 750. If you allow the ship to store option, it may add a couple days to the time you get it, but I think you save another $6.https://www.walmart.com/ip/MSI-GeForce-GTX-1050-2G-OC-Graphics-Card/119512225 Edited March 24, 2018 by justdrooit
Carlo 4561 Posted March 24, 2018 Posted March 24, 2018 For his needs only converting to H.264 and not needing to decode H.265 the K2000 is the best option since it's not limited to 2 streams. Good quality at an awesome price for $85. That will breath new life into his system.
roberto188 33 Posted March 28, 2018 Author Posted March 28, 2018 So I dropped my K2000 in. I can successful handle 3 simultaneous TV channels double deinterlaced, up to 720p. Not bad considering I couldnt even do two with my i5 2500k. Interestingly enough it chokes on just two 1080p double deinterlaced streams. This seemed odd to me because whbe doing CPU encoding the scaling down from 1080p to 720p took roughly the same CPU resources. I will continue to tweak but at the very least am very happy with 3 concurrent TV streams. Not bad for about 80 bucks.
Carlo 4561 Posted March 29, 2018 Posted March 29, 2018 What do you mean "double deinterlaced"? Do you mean deinterlacing with send_field vs send_frame? to keep the temporal resolution? How many streams can you do with send_frame going from 1080i to 720p?
roberto188 33 Posted March 29, 2018 Author Posted March 29, 2018 Yes, when I say double deinterlace, I mean send field. Here is what I got approximately. (With hardware decoding disabled (why spend the resources to decode when my cpu can do that just fine) 1080i to 720p @ 60fps - Max 3 streams (Video Engine at about 80-90%) 1080i to 1080p @ 30 fps - Max 3 streams (Video Engine at about 90-95%) 1080i to 720p @ 30 fps - Max 6 or 7 streams??? I don't have enough streams to test this but the Video Engine load with 1 stream is about 12% I'd guess thought that my CPU would cap out before the card would encoding this. Maybe if I enabled the gpu decoding I could get 5 or 6 streams? I'm just guessing here. 1 question I have is, if I overclock the GPU will that boost the video engine too or no? Anyway to boost the video engine?
roberto188 33 Posted March 29, 2018 Author Posted March 29, 2018 Also I see that the latest Emby Server is starting to implement different presets for hardware transcoding. I bet if I don't use the default "medium" setting and use the "fast" or some other setting I could easily get 3 1080p 60fps streams from the K2000.
roberto188 33 Posted March 30, 2018 Author Posted March 30, 2018 Just a final post, with the new beta tweaks for "fast" NVENC hardware encoding profile I was able to get three simultaneous 1080i TV feeds transcoded to h264 1080p 60fps without issue. So, all in all, with an old i5 2500, 8 GB of Ram and an 85 dollar Quatro K2000 I can now stream at maximum resolution and framerate all three of the tuned stations my HDhomerun can put out. I am very happy! Big thanks to Cayars, Luke and Snake98 for all the help in making it happen!
Carlo 4561 Posted March 30, 2018 Posted March 30, 2018 Very nice! Isn't it awesome how Emby and an $85 piece of hardware can put new life back into your system? Curious, if you wouldn't mind trying something. What happens when you try to open a 4th and 5th transcode? Does it fall back to CPU at any point? I'm wondering if we should have a setting to limit how many HW encodes the system will use. I know with the 750-TI it will only do 2 streams in HW then will fail making Emby switch to CPU for any remaining. I'd like to know what/how this functions on your system. Carlo
roberto188 33 Posted March 30, 2018 Author Posted March 30, 2018 I already know the answer to that, no it doesn't fall back to CPU, the transcodes just can't maintain 60fps and they stutter and resume on playback. Since the K2000 has no limit on number of streams it will just keeping adding streams even if the video engine is at 100%. The transcodes will just slow down to less than realtime.
Carlo 4561 Posted March 30, 2018 Posted March 30, 2018 That's not good. With nvenc on my system with a 750-TI it will do 2 streams in HW then fail over to CPU so I can keep on going and get a few more stream using the CPU. I think we need to do what Plex did and allow the admin to set the max number of hardware encodes. So in your case you could have it set at 3 then the 4th, 5th, etc transcode would use the CPU. Carlo
roberto188 33 Posted March 30, 2018 Author Posted March 30, 2018 For me it's not an issue, because I only have 3 TV signals to tune to. Once they are all tuned it with throw a "Tuner not available" error if I try to tune to a 4th. My Movies are already formatted for direct stream, as everyone's fixed media should be. I can't see myself really running into that issue, but others might.
Carlo 4561 Posted March 30, 2018 Posted March 30, 2018 Same boat here. I have all media in a format that will direct play locally but I only have 5Mb upload rate. I also convert all DVR to H.264 as well outside of Emby using customer scripts. But if my other family members (ie kids in college) play something it's guaranteed to almost have to transcode. Also watching TV on Roku and some other devices will cause a transcode. Then there is mobile syncing which will also usually need to use the transcoder. So even with "perfect" media you can't always avoid it. However this does minimize the need for transcoding quite a bit! For other people who just use files such as AVI, H.265, divx, mpeg2, etc they will probably require trancoding much more. In cases like this it would be quite easy to exceed 3 HW transcodes so it would be nice to be able to set the max number to force CPU fail over after that. I think this option would be welcome for those coming over from Plex since they had it there as well.
Luke 42080 Posted March 30, 2018 Posted March 30, 2018 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 !
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now