nicknsy / jellyscrub

Smooth mouse-over video scrubbing previews for Jellyfin.
MIT License
672 stars 27 forks source link

Cannot create BIF Files #142

Closed ageisen2000 closed 7 months ago

ageisen2000 commented 7 months ago

I'm not 100% sure what is happening here. I looked at the code and I shouldn't have any null references, I can debug if shown how.

I'm using the linuxserver.io docker container.

jellyfin  | [03:17:55] [ERR] [13] Nick.Plugin.Jellyscrub.Drawing.VideoProcessor: Error while creating BIF file
jellyfin  | System.NullReferenceException: Object reference not set to an instance of an object.
jellyfin  |    at Nick.Plugin.Jellyscrub.Drawing.OldMediaEncoder.GetOutputCodec(String hwaccelType)
jellyfin  |    at Nick.Plugin.Jellyscrub.Drawing.OldMediaEncoder.ExtractVideoImagesOnInterval(String inputFile, String container, MediaStream videoStream, MediaSourceInfo mediaSource, Nullable`1 threedFormat, TimeSpan interval, String targetDirectory, String filenamePrefix, Int32 maxWidth, CancellationToken cancellationToken)
jellyfin  |    at Nick.Plugin.Jellyscrub.Drawing.VideoProcessor.CreateBif(String path, Int32 width, Int32 interval, BaseItem item, MediaSourceInfo mediaSource, CancellationToken cancellationToken)
jellyfin  |    at Nick.Plugin.Jellyscrub.Drawing.VideoProcessor.Run(BaseItem item, MediaSourceInfo mediaSource, Int32 width, Int32 interval, CancellationToken cancellationToken)

My settings: image

Nvidia-SMI output (from inside the container) in case you need my driver version image

ageisen2000 commented 7 months ago

Welp -- I figured it out. I had to set up NVENC encoding on jellyfin for transcodes as well. Then it all started working.

IDK if I missed something in the documentation.

Can you add a message or a check in the addon settings to tell people to enable NVENC? Maybe check for nulls and display a better message in the logs?

nicknsy commented 7 months ago

Welp -- I figured it out. I had to set up NVENC encoding on jellyfin for transcodes as well. Then it all started working.

IDK if I missed something in the documentation.

Can you add a message or a check in the addon settings to tell people to enable NVENC?

Glad you were able to figure it out! The "Uses same options as set in "Playback" to HW accelerate" was intended to let people know that they need transcoding enabled in jellyfin as a whole, but admittedly there is a lot of text there and I can see how that would be unclear.

Edit: Also, there probably aren't going to be any further updates to jellyscrub (e.g. for better error messages) since trickplay will be part of jellyfin officially in 10.9.