OneMeanRabbit Posted April 12, 2022 Share Posted April 12, 2022 (edited) @ich777Thank you for the /tmp recommendation, I'm trying that now. I was trying to look to see if /tmp/jellyfin & /tmp/jellyfin/transcode were found, and if not, create them with proper permissions. But, I see that eveything in /tmp is supposed to be volatile, so directory structure isn't needed. Hoping this works, I'll report back - thank you! EDIT - Works like a charm without the need to babysit directories...sigh. Thank you again. I don't really use unRAID Cache or Arrays, is it "ok" to mount /cache to /tmp as well, or should it go to an ssd or nvme? Edited April 12, 2022 by OneMeanRabbit 1 Link to comment
ich777 Posted April 13, 2022 Author Share Posted April 13, 2022 4 hours ago, OneMeanRabbit said: I don't really use unRAID Cache or Arrays, is it "ok" to mount /cache to /tmp as well, or should it go to an ssd or nvme? Yes and no, I would recommend to leave it on something that is non volotile like a HDD ot SSD, but you can of course do it with the downside that some things can/will take longer, because they will be regenereated every time when the cache is deleted. But do I understand that yorrect that you are mounting a directory/RAM disk from the host to /tmp directory inside the container or am I wrong? Link to comment
OneMeanRabbit Posted April 13, 2022 Share Posted April 13, 2022 17 hours ago, ich777 said: Yes and no, I would recommend to leave it on something that is non volotile like a HDD ot SSD, but you can of course do it with the downside that some things can/will take longer, because they will be regenereated every time when the cache is deleted. But do I understand that yorrect that you are mounting a directory/RAM disk from the host to /tmp directory inside the container or am I wrong? I didn't create a RAMdisk, just /tmp. Makes sense re: /cache, I'll move that to my nvme where the docker config is. Re: /transcodes : /tmp, while it worked great for a day, it started throwing odd errors related to my frigate transcodes also being mounted to /tmp - specifically /tmp/frigate. [2022-04-13 15:21:26.763 -05:00] [ERR] [179] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request. URL "POST" "/Sessions/Playing". System.UnauthorizedAccessException: Access to the path '/transcodes/frigate/cam-livingroom-20220413152052.mp4' is denied. ---> System.IO.IOException: Permission denied The only way this jellyfin docker doesn't look for other transcoding videos in /tmp is to put it in a separate directory, ie. /tmp/transcodes. Any ideas on how to keep it from looking in other directories under /tmp if it wants to transcode? Link to comment
ich777 Posted April 14, 2022 Author Share Posted April 14, 2022 7 hours ago, OneMeanRabbit said: Re: /transcodes : /tmp, while it worked great for a day, it started throwing odd errors related to my frigate transcodes also being mounted to /tmp - specifically /tmp/frigate. I think you should look at this comment: I really don‘t recommend mounting it to /tmp on the host because you are most likely going to crash your server at some point because it uses too much RAM if you got too many simultaneous transcodes at once. Anyways if you want to continue /tmp as your main transcoding directory just create mount it to subdirectories on the host fir Frigate like: Container Path: /tmp Host Path: /tmp/frigate and for Jellyfin Container Path: /tmp Host Path: /tmp/jellyfin But I really don‘t recommend doing so because if you run out of RAM your server will crash or kill other processes on your server and in the worst case it will crash. With the method in the linked post, you are basically vreating a RAM disk and limiting the ammount of RAM it can use in the /tmp direcory without fudelling around with host mount paths to /tmp Link to comment
OneMeanRabbit Posted April 14, 2022 Share Posted April 14, 2022 (edited) 10 hours ago, ich777 said: I think you should look at this comment: I really don‘t recommend mounting it to /tmp on the host because you are most likely going to crash your server at some point because it uses too much RAM if you got too many simultaneous transcodes at once. Anyways if you want to continue /tmp as your main transcoding directory just create mount it to subdirectories on the host fir Frigate like: Container Path: /tmp Host Path: /tmp/frigate and for Jellyfin Container Path: /tmp Host Path: /tmp/jellyfin But I really don‘t recommend doing so because if you run out of RAM your server will crash or kill other processes on your server and in the worst case it will crash. With the method in the linked post, you are basically vreating a RAM disk and limiting the ammount of RAM it can use in the /tmp direcory without fudelling around with host mount paths to /tmp This is great stuff, thank you! I have 128GB of RAM and monitor/control it pretty aggressively (with docker parameters) due to doing so much in RAM (not to mention ZFS... :D) Haven't crashed yet, but very good to know. That parameter --mount type=tmpfs,destination=/tmp,tmpfs-size=8589934592 is exactly what I am looking for! Very easy to calculate & limit exactly what you want!! I'd be happy to create an outline and propose best answers w/links, for some kind of a pinned Best Practices or FAQ. For new users, that would help drastically vs. reading through 15 pages + additional topics like the one you posted! Not to mention lessen the amount of repeated answers you give! Thank you for creating, updating, and SUPPORTING this (and many other) dockers for unRAID! Edited April 14, 2022 by OneMeanRabbit 1 Link to comment
ich777 Posted April 16, 2022 Author Share Posted April 16, 2022 19 minutes ago, thompw said: while adding custom device "/dev/dri": no such file or directory. Your iGPU isn‘t enabled… What CPU do you have? Have you installed Intel GPU TOP or Radeon TOP plugin? Please also share your Diagnostics if you are not sure… Link to comment
ich777 Posted April 16, 2022 Author Share Posted April 16, 2022 3 minutes ago, thompw said: im usung an AMD cpu and have installed nvidia driver plugin and have pasted the uid into the templete So you are trying to use a Nvidia GPU for HW transcoding right? Have you also added —runtime=nvidia Remove the /dev/dri device and the container will start. This devoce is only needed for Intel and AMD iGPUs… Link to comment
thompw Posted April 16, 2022 Share Posted April 16, 2022 removed /dev/dri container started gone to webui selected server logon page i have tryed root and user(wayne) and im getting Connection Failure We're unable to connect to the selected server right now. Please ensure it is running and try again. Link to comment
thompw Posted April 16, 2022 Share Posted April 16, 2022 ok update i forgot to add -- runtime =nvidia i added this and the container failed to load so i removed this and left it blank this was successfull and the container started and i can log in and see my media but dont know if the hardware part is enabled or working Link to comment
ich777 Posted April 16, 2022 Author Share Posted April 16, 2022 11 minutes ago, thompw said: and the container failed to load Where did you put this and in what form have you wrote it? Please head over to the Nvidida Driver plugin support thread and read the first and second post and make sure that you‘ve done the steps like in the tutorial or read the description from the container and the variables again. Link to comment
thompw Posted April 16, 2022 Share Posted April 16, 2022 ich777 thank you so much for your time and help every thing seems to be working after you pointed out post 1 and 2 all the vidoes i watched only seem to add 1 variable now i have added them both everyting is good double checked all other setting and nvidia driver were up and running 1 Link to comment
sd007 Posted April 19, 2022 Share Posted April 19, 2022 Hello ich777, I have updated the Docker container and since then the following comes in the logs: CannotOpen: SQLitePCL.pretty.SQLiteException: Unable to open database file. at SQLitePCL.pretty.SQLiteException.Throw(Int32 rc, Int32 extended, String msg) at SQLitePCL.pretty.SQLiteException.CheckOk(sqlite3 db, Int32 rc) at SQLitePCL.pretty.SQLiteDatabaseConnectionBuilder.Build() at SQLitePCL.pretty.SQLite3.Open(String filename, ConnectionFlags flags, String vfs) at Jellyfin.Server.Migrations.Routines.MigrateActivityLogDb.Perform() at Jellyfin.Server.Migrations.MigrationRunner.Run(CoreAppHost host, ILoggerFactory loggerFactory) at Jellyfin.Server.Program.StartApp(StartupOptions options) [08:40:57] [INF] [1] Emby.Server.Implementations.ApplicationHost: CoreAppHost is disposed of [08:40:57] [INF] [1] Emby.Server.Implementations.ApplicationHost: EmbyTV is disposed of [08:40:57] [INF] [2] Main: SIGTERM signal received, shutdown. I did not change anything in the paths and also the permissions. What can I do now so that I can restore my user database? Greetings from Germany, sd007 Link to comment
ich777 Posted April 19, 2022 Author Share Posted April 19, 2022 37 minutes ago, sd007 said: I did not change anything in the paths and also the permissions. Do you have a Cache drive installed in your server if yes do you have a SSD or do you have a HDD as Cache drive? Are you familiar with the Terminal and how you navigate to your Jellyfin appdata folder from the command line? If not, I can help, bu please first post a screenshot from your Docker template from Jellyfin. 37 minutes ago, sd007 said: Greetings from Germany, Greetings from Austria, Christoph Link to comment
sd007 Posted April 19, 2022 Share Posted April 19, 2022 Hello, Quote Do you have a Cache drive installed in your server if yes do you have a SSD or do you have a HDD as Cache drive? Yes, my Jellyfin Appdata are stored on the Cache-Drive. This is a NVME Cache Pool. Quote Are you familiar with the Terminal and how you navigate to your Jellyfin appdata folder from the command line? Yes, im familliar with the CLI/Terminal and i can navigate to my Jellyfin Appdata Folder. Link to comment
ich777 Posted April 19, 2022 Author Share Posted April 19, 2022 49 minutes ago, sd007 said: Yes, im familliar with the CLI/Terminal and i can navigate to my Jellyfin Appdata Folder. Please navigate to Jellfin the directory located in your appdata folder and do the following form within the jellyfin folder: chown -R 99:100 * chmod -R 777 * (of course when the container is stopped) 1 Link to comment
sd007 Posted April 19, 2022 Share Posted April 19, 2022 (edited) unfortunately this did not work. [12:36:38] [INF] [1] Main: Jellyfin version: 10.7.7 [12:36:38] [INF] [1] Main: Environment Variables: ["[JELLYFIN_LOG_DIR, /config/log]", "[DOTNET_SYSTEM_GLOBALIZATION_INVARIANT, 1]"] [12:36:38] [INF] [1] Main: Arguments: ["/usr/lib/jellyfin/bin/jellyfin.dll", "--datadir", "/config", "--cachedir", "/cache", "--ffmpeg", "/usr/lib/jellyfin-ffmpeg/ffmpeg", "--webdir=/usr/share/jellyfin/web"] [12:36:38] [INF] [1] Main: Operating system: Linux [12:36:38] [INF] [1] Main: Architecture: X64 [12:36:38] [INF] [1] Main: 64-Bit Process: True [12:36:38] [INF] [1] Main: User Interactive: True [12:36:38] [INF] [1] Main: Processor count: 40 [12:36:38] [INF] [1] Main: Program data path: /config [12:36:38] [INF] [1] Main: Web resources path: /usr/share/jellyfin/web [12:36:38] [INF] [1] Main: Application directory: /usr/lib/jellyfin/bin/ [12:36:39] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loading assemblies [12:36:39] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded assembly Jellyfin.Plugin.Listenbrainz, Version=1.2.1.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Listenbrainz_1.2.1.0/Jellyfin.Plugin.Listenbrainz.dll [12:36:50] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: Listenbrainz 1.2.1.0 [12:36:50] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: OMDb 10.7.7.0 [12:36:50] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: MusicBrainz 10.7.7.0 [12:36:50] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: AudioDB 10.7.7.0 [12:36:50] [INF] [1] Jellyfin.Server.Migrations.MigrationRunner: Applying migration 'MigrateActivityLogDatabase' [12:36:50] [ERR] [1] Jellyfin.Server.Migrations.MigrationRunner: Could not apply migration 'MigrateActivityLogDatabase' CannotOpen: SQLitePCL.pretty.SQLiteException: unable to open database file at SQLitePCL.pretty.SQLiteException.Throw(Int32 rc, Int32 extended, String msg) at SQLitePCL.pretty.SQLiteException.CheckOk(sqlite3 db, Int32 rc) at SQLitePCL.pretty.SQLiteDatabaseConnectionBuilder.Build() at SQLitePCL.pretty.SQLite3.Open(String filename, ConnectionFlags flags, String vfs) at Jellyfin.Server.Migrations.Routines.MigrateActivityLogDb.Perform() at Jellyfin.Server.Migrations.MigrationRunner.Run(CoreAppHost host, ILoggerFactory loggerFactory) [12:36:50] [FTL] [1] Main: Error while starting server. CannotOpen: SQLitePCL.pretty.SQLiteException: unable to open database file at SQLitePCL.pretty.SQLiteException.Throw(Int32 rc, Int32 extended, String msg) at SQLitePCL.pretty.SQLiteException.CheckOk(sqlite3 db, Int32 rc) at SQLitePCL.pretty.SQLiteDatabaseConnectionBuilder.Build() at SQLitePCL.pretty.SQLite3.Open(String filename, ConnectionFlags flags, String vfs) at Jellyfin.Server.Migrations.Routines.MigrateActivityLogDb.Perform() at Jellyfin.Server.Migrations.MigrationRunner.Run(CoreAppHost host, ILoggerFactory loggerFactory) at Jellyfin.Server.Program.StartApp(StartupOptions options) [12:36:50] [INF] [1] Emby.Server.Implementations.ApplicationHost: Disposing CoreAppHost [12:36:50] [INF] [1] Emby.Server.Implementations.ApplicationHost: Disposing EmbyTV [12:36:50] [INF] [2] Main: Received a SIGTERM signal, shutting down ---Ensuring UID: 99 matches user--- usermod: no changes ---Ensuring GID: 100 matches user--- usermod: no changes ---Setting umask to 000--- ---Checking for optional scripts--- ---No optional script found, continuing--- ---Taking ownership of data...--- which files do i need to backup so that i can keep my user database and import it again, when i do a fresh install with clear the appdata folder? Edited April 19, 2022 by sd007 more information Link to comment
ich777 Posted April 19, 2022 Author Share Posted April 19, 2022 11 minutes ago, sd007 said: which files do i need to backup so that i can keep my user database and import it again, when i do a fresh install with clear the appdata folder? Can you first try to switch the branch to the RC series like in the attached screenshot: and see if this fixes the issue? I know this error but there are different solutions to resolve this: Click Is there a file called "library.db-journal" in the data subfolder and if yes, how big is it? Is it possible that your Cache is maybe full and the mover moved the file off of the Cache? Link to comment
sd007 Posted April 19, 2022 Share Posted April 19, 2022 30 minutes ago, ich777 said: Can you first try to switch the branch to the RC series like in the attached screenshot: and see if this fixes the issue? I know this error but there are different solutions to resolve this: Click Is there a file called "library.db-journal" in the data subfolder and if yes, how big is it? Is it possible that your Cache is maybe full and the mover moved the file off of the Cache? the rc repository installed the 10.8.0 version of Jellyfin, but this fixed not the error. [13:07:25] [INF] [1] Main: Running query planner optimizations in the database... This might take a while [13:07:25] [INF] [1] Jellyfin.Server.Implementations.JellyfinDbProvider: There are pending EFCore migrations in the database. Applying... (This may take a while, do not stop Jellyfin) [13:07:25] [FTL] [1] Main: Unhandled Exception Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 19: 'UNIQUE constraint failed: Users.Username'. at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db) at Microsoft.Data.Sqlite.SqliteDataReader.NextResult() at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior) at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader() at Microsoft.Data.Sqlite.SqliteCommand.ExecuteNonQuery() at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQuery(RelationalCommandParameterObject parameterObject) at Microsoft.EntityFrameworkCore.Migrations.MigrationCommand.ExecuteNonQuery(IRelationalConnection connection, IReadOnlyDictionary`2 parameterValues) at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationCommandExecutor.ExecuteNonQuery(IEnumerable`1 migrationCommands, IRelationalConnection connection) at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration) at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.Migrate(DatabaseFacade databaseFacade) at Jellyfin.Server.Implementations.JellyfinDbProvider..ctor(IServiceProvider serviceProvider, IApplicationPaths appPaths, ILogger`1 logger) at System.RuntimeMethodHandle.InvokeMethod(Object target, Span`1& arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope) at Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(Type serviceType) at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory) at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope) at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType) at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService[T](IServiceProvider provider) at Emby.Server.Implementations.ApplicationHost.Resolve[T]() at Jellyfin.Server.Program.StartApp(StartupOptions options) at Jellyfin.Server.Program.<Main>(String[] args) Unhandled exception. Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 19: 'UNIQUE constraint failed: Users.Username'. at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db) at Microsoft.Data.Sqlite.SqliteDataReader.NextResult() at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior) at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader() at Microsoft.Data.Sqlite.SqliteCommand.ExecuteNonQuery() at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQuery(RelationalCommandParameterObject parameterObject) at Microsoft.EntityFrameworkCore.Migrations.MigrationCommand.ExecuteNonQuery(IRelationalConnection connection, IReadOnlyDictionary`2 parameterValues) at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationCommandExecutor.ExecuteNonQuery(IEnumerable`1 migrationCommands, IRelationalConnection connection) at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration) at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.Migrate(DatabaseFacade databaseFacade) at Jellyfin.Server.Implementations.JellyfinDbProvider..ctor(IServiceProvider serviceProvider, IApplicationPaths appPaths, ILogger`1 logger) at System.RuntimeMethodHandle.InvokeMethod(Object target, Span`1& arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope) at Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(Type serviceType) at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory) at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope) at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType) at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService[T](IServiceProvider provider) at Emby.Server.Implementations.ApplicationHost.Resolve[T]() at Jellyfin.Server.Program.StartApp(StartupOptions options) at Jellyfin.Server.Program.<Main>(String[] args) Aborted i switched back to 10.7.7, but the error is back to the old one. 30 minutes ago, ich777 said: Is it possible that your Cache is maybe full and the mover moved the file off of the Cache? i checked my cache pool, but there is much space left. the filesize of library.db-journal is 100MB and it is in the appdata folder. Link to comment
ich777 Posted April 19, 2022 Author Share Posted April 19, 2022 9 minutes ago, sd007 said: the filesize of library.db-journal is 100MB and it is in the appdata folder. Can you try to rename this file to something completely different (don't delete it) and see if this makes a difference? Otherwise I can only recommend that you create a Issue on Github: Click Link to comment
sd007 Posted April 19, 2022 Share Posted April 19, 2022 7 minutes ago, ich777 said: Can you try to rename this file to something completely different (don't delete it) and see if this makes a difference? Otherwise I can only advice that you create a Issue on Github. I renamed the file, but the error still exist. Link to comment
ich777 Posted April 19, 2022 Author Share Posted April 19, 2022 5 minutes ago, sd007 said: I renamed the file, but the error still exist. To me it seems the Database is corrupt but I really can't tell why this happened... I've now tried a few times to update the container image itself and it always worked perfectly fine both on my test and on my productive machine. Try to create an Issue over on the Jellyfin Github here: Click Link to comment
ich777 Posted April 19, 2022 Author Share Posted April 19, 2022 1 hour ago, sd007 said: but the error still exist. Oh, one thing that I maybe can recommend is that if you have a backup from your appdata (CA Backup) that you can try to restore the database from that backup. Link to comment
Peelson Posted April 20, 2022 Share Posted April 20, 2022 On 2/16/2021 at 10:27 PM, ich777 said: Summary: Support Thread for ich777 Jellyfin - AMD/Intel/Nvidia DockerHub: https://hub.docker.com/r/ich777/jellyfin Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media. It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps. This version of Jellyfin is optimized for hardware transcoding on AMD Ryzen APU Platforms and also for Nvidia hardware transcoding - Nvidia-Driver Plugin needed (Intel hardware transcoding is only supported up to Coffe Lake 9th gen. for now). AMD Hardware transcoding (please note that you have to be on Unraid 6.9.0beta35+ to enable the module for AMD): Open up a Terminal from Unraid and type in: 'modprobe amdgpu' (without quotes or you edit your 'go' file to load it on every restart of Unraid - I would strongly recommend to edit the 'go' file to load the module on every restart of Unraid, if the module isn't loaded when the container will fail to start! Please refer to the second post in this thread.) At 'Device' at the bottom here in the template add '/dev/dri' In Jellyfin select the VA-API Transcoder at 'Playback' in the Admin section and enable: 'h264', 'HEVC', 'VC1', 'VP9', 'VP8', at the bottom 'Throttle Transcoding' and click 'Save'. Intel Hardware transcoding: Download and install the Intel-GPU-TOP Plugin from the CA App At 'Device' at the bottom here in the template add '/dev/dri' In Jellyfin select the Intel Quick Sync Transcoder at 'Playback' in the Admin section and enable: 'h264', 'MPEG2', 'HEVC', 'VC1', 'VP9', 'VP8', at the bottom 'Throttle Transcoding' and click 'Save'. Nvidia Hardware transcoding: Download and install the Nvidia-Driver Plugin from the CA App Turn on the 'Advanced View' here in the template and at 'Extra Parameters' add: '--runtime=nvidia'. At 'Nvidia Visible Devices' at the bottom here in the template add your GPU UUID. In Jellyfin select the NVENC Transcoder at 'Playback' in the Admin section and enable: 'h264', 'HEVC', 'VC1', 'VP9', 'VP8' (depending on the capabilities of your card), at the bottom 'Throttle Transcoding' and click 'Save'. This Container is currently tested with the following AMD Hardware: Athlon 200GE APU Ryzen 2400G APU Ryzen 3200G APU Ryzen 3400G APU Ryzen 5 Pro 4650G Ryzen 7 Pro 4750G Ryzen 7 5700G Opteron x3418 (HEVC hw transcoding not supported - R7 platform) on the following Intel Hardware: Intel i5 10600 Intel i7 6700k Pentium Gold 6605 and the following Nvidia Hardware: Zotac GTX 1050Ti EVGA GTX 1060 3GB Zotac GTX 1060 6GB PNY NVIDIA T400 You have also the ability to switch between the different releases from Jellyfin, simply change the reposiotry in your template: Latest: ich777/jellyfin Stable-RC: ich777/jellyfin:stable-rc Unstable: ich777/jellyfin:unstable Please note that I can't garantuee that hardware transcoding is working in the branch 'stable-rc' and 'unstable'. If you like my work, please consider making a donation: ich777 If you like Jellyfin also don't forget making a donation: Jellyfin Sorry for my English. I had a 5600g APU, When I'm trying to play 4k(120mbps or 60mbps) or 1080p by hardware encoding, it was failed, My GPU usage went full.And my unraid 6.10.rc4 stopped and OOM. I can get more info and logs later,because my unraid stopped at home but i'm at work...... btw, i had tryed emby, it worked, but it does not play smoothly...... Link to comment
Peelson Posted April 20, 2022 Share Posted April 20, 2022 Just now, Peelson said: Sorry for my English. I had a 5600g APU, When I'm trying to play 4k(120mbps or 60mbps) or 1080p by hardware encoding, it was failed, My GPU usage went full.And my unraid 6.10.rc4 stopped and OOM. I can get more info and logs later,because my unraid stopped at home but i'm at work...... btw, i had tryed emby, it worked, but it does not play smoothly...... When i'm using emby, my gpu usage is low(i' sure that it using hardware encoding, bucause of 30% usage of cpu). There is something that I really don't understand, this is network usage when i'm using emby,It shows some patterns... Link to comment
Peelson Posted April 20, 2022 Share Posted April 20, 2022 Just now, Peelson said: When i'm using emby, my gpu usage is low(i' sure that it using hardware encoding, bucause of 30% usage of cpu). There is something that I really don't understand, this is network usage when i'm using emby,It shows some patterns... I think there must be a bottleneck somewhere between decoding and streaming Link to comment
Recommended Posts