iGPU Transcoding In Proxmox with Jellyfin Media Center!

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey guys what's going on it's Don here from novas Spirit Tech and welcome back to the channel and today we are going to be installing jelly fin on our proxmox series with Hardware transcoding so let's get started all right so just to recap if you've been following the series along we the first thing we did was install proxmox uh set up a Nas server uh I showed you a website with uh proxmox helper script and today we are going to be installing jelly fin now jelly fin in itself is pretty easy to install but there's a lot of backend stuff that needs to be done just to get it working like hardware transcoding and because it doesn't have native support for Network shares we have to mount our Network shares as well so we have to do that outside of the scene so there is some footwork we have to do just to get Jelly fin working properly now we are going to be using the help of the helper script so we can install Jelly fin properly so if you missed the last video on the helper script go check that out as well so let's begin now a couple of things that's going to happen in this video is there's going to be two methods to Mount Your shares so you could actually see your media I'm going to show you both ways but ultimately I'm going to be using the second way where we are going to be able to talk to each other through a container instead of using network share but I'm going to show you both ways second we're going to be passing through our GPU from the zema blade over to this container so we could actually get hard rare transcoding with jelly fin now this method is actually the same method I will be using for Plex when I install Plex for Hardware transcoding as well so if you want to jump along or jump ahead to install Plex instead of jelly fin just mind the process of installing GPU this way you could just get that going so here we have our uh PVE test and on our last video we just quickly installed sonar in my case I don't really need it so I'm just going to stop this service just so I don't have to waste more resources than we have and keep in mind we are using a zma blade and this thing is not as powerful as you would think so I am on a j 3455 which is a CPU from 2016 and only 8 gigs of RAM now the zema blade is great because you can actually purchase this thing for $65 but it's not a Powerhouse if you get any mini PCS like a n95 n 100 heck even a 5105 it's more powerful than what we have right over here but we are still making do with what we got and it's actually been a lot of fun because it's so resource dependent you got to figure out how you want to build stuff just to get everything working all right so to begin what we're going to do is actually install Jelly fin that would be the first step before anything has to happen so I'm going to go over to Media over here and again I'll leave a link for this video on where to get all these helper scripts I'm going to headit over to jelly fin media server I'm going to copy this which is this code over here just hit this copy button um head over to PVE test then I am going to go over to Shell and then paste this down here now what's good about this script is it already sets it up so it's privilege mode you could actually have root access so you don't have to really set any configurations that you don't need uh you can change stuff if you wanted to go into the advance setting over here but ultimately you could just let the defaults go you see how there's an advance I'm just going to hit yes let the defaults go because it is going to be privileged already so I don't have to worry about anything all right I am going to install this on the nme and same thing I'm going to install this on nvme now depending on how fast your internet connection is and how fast your CPU is this only takes a couple of minutes all right so we have our IP and our port number so let's make sure that that works let me see if I can copy this uh oh actually I could just open new link and new tab and there we have it jelly fin is up and running now we're not going to go through a setup yet we're just going to leave this for now but we are going to do some stuff to it first I am going to have to power it down so I'm just going to shut down not shut down I'm going to have to go to Jelly Fin and then shut down the jelly fin just because I don't need it as of yet because I need to enable some options now I'm going to head over to options over here and in features I am going to add something up on the top left you can see edit and I am going to add sifts SMB and sifts okay and then now we get started back up this way it'll actually allow you to FS tab Mount uh Network shares now this next part only applies when you have your NZ outside of the scope of your proxa so if you have a different has from a different location and you need to pull um resources from there this is what you need to do so now we're going to head into console it's going to automatically log into root of jelly Fin and to make sure I am going to install sift tools so I'm going to do app install SI Tool uh sift utils sifts utils I don't think this is necessarily needed but I'm just used to installing this and then next we are going to add our Mount so just to make sure I I'm going to mount it into SL MNT okay there is a directory so I'm going to Nano into Etc FS Tab and in the next line I'm going to add my network share so in our case since we already have one called Deb NZ and I know the IP which is 104 uh I'm going to add that just to show you so I'm going to do 192 168 105 104 slash and we know it's called public hit tab for the next line and you have to mount I'm going to put it to Mount you can make a folder if you want if you want to do SL Media or SL Mount media it's really up to you how you want to mount this then I'm going to declare it as C and then from here this is if you have a username you would do username done or whatever and then password would be the password itself now because I have guest enabled I just need to do guest and from here we have to do IO car character set and it's utf8 no perm and then 0 0 we should be able to save this with with control X save that and now we should be able to do Mount d a and if there's no errors that automatically mounted our public folder so I'm going to LS Or List structure let me clear this LS SL MNT and you should see some stuff here like ASDF new folder so this method only applies if like I said you want to use your network share it's not like we can't use this method over here that we're doing but the only problem is we're using unnecessary resources because sambai still needs to process and stuff like that so I'm going to be using a little bit of CPU resources from our NZ just to transfer files to jelly on the same proxmox so to me I'd rather not waste the valuable resources even if it's only like 3% of the computation power so in my case what I'm going to be doing is something called a ZFS pool for now what I'm going to do is undo the things I just just did so I'm going to Nano FS tab Etc FS Tab delete that line because I don't want to mount that save that umount MNT and I'm just going to unmount that make sure it's unmounted it's clear perfect so now what we need to do is create a ZFS pool use Mount points to join the first container and the third container to use the same Mount point so what we need to do is head over to PV PVE test head over to Shell this is the main route and in here we could do ZFS list and now it's adding up why I did ZFS because I could do stuff like this so I have the ZFS list like this and I do have a two terabyte pool or 1.75 terabyte here I'm going to do uh ZFS create and I'm going to call this zo pool because that's where we're the resource we're using and I'm going to call this media and now if I do ZFS list again we're going to see this New Media pool now it does use all of the resources Like There's No Cap there's no quota for it so what I do want to do is actually lower that quota just in case I don't accidentally use up all the resources or all the storage from there so what I'm going to do is ZFS get quota and I'm going to look it up zpool media and it should be none yeah it's on none right now to set it all we have to do is ZFS set quota equal and this is where you want to put how many gigs so for in my case I'm just going to put 100 gigs you probably want to do more than that it's up to you but you could always change this quota to more as you need it but I'm going to do 100 gigs /zo SL media oh there's no leading slash there you go got to get rid of that and there we go now we set a quarter for 100 Gig so we don't accidentally load too much files into it so we could check that out again ZFS list and there we go we have the 100 gab quota now the next step what we need to do is be able to mount stuff now in our case like if I go over here and go over to resources there's I I got a root dis and there's something called Mount point now I can't just mount it through here like zpool it doesn't have the zpool media it's just whatever I got over here so I can't use that and this is what I mean by um proxmox still being um immature to ZFS because they don't have a lot of goys in place to do what we want to do like this it does have the commands because it's coming off Debian but we still don't have a lot of the structure built for ZFS like snapshots and stuff like that so but anyway let's get back into it um what we need to do now is set the mount point so we're going to do PCT which is proxmox container uh toolkit and we're going to do set and the first one is 101 so we're going to do 101 and we're going to call this mp1 or mount point1 one or we could do Mount point0 Mount Point 3 m point 4 whatever as long as there's no Collision like you don't have something already set up for Mount Point uh you could use that then we're going to do zooo I hit tab uh media and then comma and we're going to do Mount Point equals and this is where you want it on your location of your device so I'm going to do Mount slash and I'm going to make a folder called media and then hit enter now we have to do the same thing for 103 which is our jelly thing container so 103 so now if I go over to Deb NZ there should be a new Mount point right here and it's zpool media and then it points to that folder Mount media and then same goes for jelly fin zpool Mount media so we're now kind of sharing that one folder which is zpool Media we're not done here yet because we still need to set the permission for that particular folder so we're just going to do chod recursive capital r 777 slash m no not mntz pool media and there we have it that permission is all set up so we could start using that folder first what I want to do in my devb Nas is actually add that folder to my share so I'll have actually a public folder and then a media folder and then it won't counteract with each other so my public folder would just be my normal share stuff that I would share around my network and media would be solely just for TV shows movies whatever it is in our last video we made a user for this so we're going to call jump over to Dawn uh pop in over to that username all right so what we need to do is check out our Docker so I'm going to do Docker PS and you could see that that our samb is running I'm going to do Docker stop Samba Docker remove Samba it's not going to remove the data it's just removing the docker then we got to go back up to our previous command which we typed in our last video and we got to make some modifications to this first we need to add a new volume and the volume is going to be slm media and then colon Mount media and then at the end of this I'm just going to scroll all the way to the back we're going to do the same thing- s we're going to do media semicolon SL Mount SL media which is the folder we gave and then again yes no yes and then close out the quotes now we should be able to run this again and it's actually going to make a new Mount point so what I'm going to do is head over to my files head back into actually I'm already there so let me refresh this and go into 104 and now there's a new folder called media to double check that it is containing data or we could write to it I'm just going to create a new folder oh so I made a a little mistake on that over here you see that I forgot to put a space there so let me clear that up all right now that that is up again we going head back into our Samba we are in media I'm going to hit five to refresh and again make sure I can make a folder so this time I'm just going to call this uh movies and there we have it I'm going to create another new folder called TV shows just in case and if you got Anime or whatever you could just keep adding your folders here but now this media is actually separate from your public share so it's two different locations all right so we are done with that now if you don't plan to use a hardware transcoding um you could just jump to this step so I'm going to get this up and going right now I'm going to head over to my uh jelly Fin and I'm doing I PA just to grab the IP address again it's 192 uh 192 and then 8096 all right so I'm going to hit English uh username you can just leave this uh if you don't want to set a password you can leave it blank I'm just going to leave this as default but for you you should probably put a username and password for this I'm going to hit next add media library and this is where what we just did make sense uh I'm going to add a folder in here and you can see now there's a amount media and you could see movies and TV shows those are the two folders We just created and now this is shared between the zo poool on the mount points which I don't need to use more resources trying to push a Samba protocol over we are just reading it directly from the resarch which even that couple of percentage of CPU usage is not wasted so we're able to still reach our media so in our case I'm just going to put movies and then I'm going to hit okay uh content type I'm going to do movies and then I'll just make it default for the rest of the way this way we'll get this up and going now I'm going to hit next next allow remote access that's it and then finish and then now my user is jelly Fin and we should have our little prompt over here now I'm going to drop a movie in there just to test out what we're going to be doing so all right so now I have a movie in place which it might be a lot blurry because I'm not going to show what movie I have and all that stuff you might be able to guess but that's fine one of the things you're going to see is it's 1080 and hvc uh which is h265 now a lot of browsers don't support h265 so we're going to be uh transcoding it no matter what I'm GNA play this video now and we know it's not it's being transcoded or the CPU is going to be overworked I'm going to mute this and then turn this uh down but you could see right now right it's skipping it's pausing skipping pausing skipping and that's because the CPU cannot handle the transcoding process so if I over head over to my proxmox hit summary you can see the CPU uses is pretty high right now 50% which is the two cores I gave it for jelly Fin and if I head over to jelly fin you can see the CPU usage is at 96% and it's using 400 something Megs of ram it's able to do it but trying to convert hvc is going to be a huge problem uh for this computer so we're going to try to utilize everything we can which now we're going to do a ipu pass through so so for here what I'm going to do now is just stop this before I kill my CPU because that's what it's kind of kind of doing right now I'm going to head back over to my proxmox let that CPU drop and we're going to have to do a couple of things to our proxmox to get it prepped up so we could actually use the igpu so first we're going to go to Shell and if you want to you could actually follow the jelly fin documentation because they actually have something on the same thing what we're doing right now uh lxc on proxmox on how to pass through your GPU so this Pro this process is proven it actually works um if I scroll all the way to the top I think I might be able to get so if you have any type of disc GPU uh Jasper Lake Apollo Lake whatever uh it will work so let me head back over to proxmox because I still need to use this for reference I'm going to head back over to my proxmox test and in here what we need to do is load the graphic driers so we're going to do Nano fletc uod probe. d/i 915c config we're creating this file so you have to type it out in here what we're going to do is options I 915 which we're loading the drivers and we're going to put it into enable g equals 3 there's more detail about enabling bit codes and stuff like that but I'm just going to leave it like that uh since the new prox marks I think 7.0 and up you could just use this command and it works fine if you got older version like 6.0 you might have to enable um a bite code I forgot the word uh it's off the top of my head I just can't remember right now but anyway I'm going to reboot this all right and we are back now the next step we need to do is actually modify the 103 config file so we're going to do Nano SLC pvec no lxc and it's 103 which is jelly Fin and we're going to go into that config file and on the bottom you see how they have LX lxc Mount and all that stuff we're going to head over to jelly Fin and just copy and paste this little section right there copy that and we are going to paste it right there and apparently I actually didn't need to do that which I didn't know because this helped script I think actually added in already what we needed uh obviously there's one more right over here which sometimes uses this uh code instead of 226 so I am going to not save this because it seems like it's already in there so why even bother trying to add it in again and now we should be able to pass through our graphic card now what I like to do just to make sure that I have permission to write into it is ch-r 777 SL d/d SL star so everything underneath there would be um writable and then now we could jump back into our jelly Fin and start passing through the graph card which is the fun part head over into console into jelly Fin and what we're going to do is lsdev Dri just to make sure there you go I actually have the card zero and render one to8 which is what we needed uh what I'm going to do is app install the drivers which is VA info that will install everything that I need and also Intel GPU tools okay now if I do VA info I should be getting stuff back there you go it actually reads the graphic card so we know it actually supports uh MPEG 2 h264 HVAC this one uh vp9 and we got all the ideas that we need to test if we are actually able to read the GPU we're going to do Intel GPU top yep it read it perfectly fine we're actually able to get the utilities so next what I'm going to do is just to make sure because I'm I can't be certain if the script did this already but I'm going to do user mod d a capital G video jelly fin I'm going to add the video group to jelly fin I'm going to also add the input group so I'm going to input and also add the render group just in case because the jelly fin also needs those permission and then we're going to do system CTL restart jelly fin just so it could re-register the new user groups that we just added and that should be it we should be able to get Hardware acceleration so I'm going to go back into Intel GPU top and I'm going to let this run for now uh head back over into my jelly fin head into settings dashboard playback and then Hardware acceleration now we could use Intel Quicks sync and I'm going to enable HVAC because we know that MPEG 2 we know that AP vp8 and vp9 we know that and we do need to enable low powered mode so these two has to be enabled as well and I'm going to hit save okay I got it Hardware acceleration is enabled head back into home and I am going to try to play this video If it plays Hardware acceleration is working all right there we go it's actually smooth as butter right now and if I head over to my proxmox you could see it's actually using my GPU 90% right now video enhanced 25 about 8 watts it's 700 MHz and if I head over to my summary it's using the CPU just because it still has to encode the audio but not the video and I know that this eventually drops down pretty low but for the initial play it does have um a little bit of the uh CPU usage but at least it's not pinned I'm able to actually play the video smoothly and it's converting h265 to h264 which my browser will support anyway that is it I hope you guys enjoyed this video it was a little bit more of a detailed video just getting Jelly fin to work through we did multiple ways of mounting your shares uh we got Hardware transcoding working so we are fully utilizing this very budget friendly um Z blade right now if you run into problems check out their documentation or they have a Wiki out there's going to be someone with the same problem that they probably resolve but for me this is on Apollo Lake and it's working so I'm pretty sure newer gpus would be a lot easier to get this going and with the new prox Max versions a lot of the micro code is already in there so you don't have to activate it that was the word I was trying to look for earlier the micro code it seems that the proxmox helper script already has everything in place to get the GPU passed through so I don't see any problems it's actually working out pretty well anyway if you guys are new to the channel consider subscribing and also hitting that Bell notification icon so you know when the next video is going to be out and I say my nerd cave hack till the hearts
Info
Channel: Novaspirit Tech
Views: 24,687
Rating: undefined out of 5
Keywords: novaspirit, tech, proxmox, fresh install proxmox, basic steps, proxmox tips, installing proxmox, how to install proxmox, proxmox iommu, iommu, passthrough, proxmox passthrough disk, proxmox passthrough, disk passthrough, vm template, proxmox template, pve no subscription, internal gpu, igpu, proxmox jellyfin, proxmox jellyfin lxc, jellyfin passthrough, hardware transcoding, transcoding, hardware transcoding jellyfin, lxc, container
Id: XAa_qpNmzZs
Channel Id: undefined
Length: 22min 37sec (1357 seconds)
Published: Sun Dec 03 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.