ConfusedPolarBear / intro-skipper

Fingerprint audio to automatically detect and skip intro sequences in Jellyfin
GNU General Public License v3.0
988 stars 392 forks source link

Intro Skipping stops working after some time #112

Closed Heavybullets8 closed 1 year ago

Heavybullets8 commented 1 year ago

Describe the bug

The intro skip functionality stops working after a day or so of the Jellyfin Docker running. Right after restarting the server, it works completely fine, on all devices, but the following day, it ceases to operate.

Nothing has been changed, no settings have been changed what so ever from the start of the server to the following day.

This error exists with or without going through my reverse proxy (Traefik).

Plugin Settings image

Other Plugins on the server image

Operating system

Truenas SCALE

Jellyfin installation method

Helm Chart (Docker)

Container image and tag

Latest for both

Support Bundle

FFmpeg version:

ffmpeg version 5.1.2-Jellyfin Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 10 (Debian 10.2.1-6)
configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-libs=-lfftw3f --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-shared --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-static --enable-gmp --enable-gnutls --enable-chromaprint --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libdav1d --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libsvtav1 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-opencl --enable-vaapi --enable-amf --enable-libmfx --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
libavutil      57. 28.100 / 57. 28.100
libavcodec     59. 37.100 / 59. 37.100
libavformat    59. 27.100 / 59. 27.100
libavdevice    59.  7.100 / 59.  7.100
libavfilter     8. 44.100 /  8. 44.100
libswscale      6.  7.100 /  6.  7.100
libswresample   4.  7.100 /  4.  7.100
libpostproc    56.  6.100 / 56.  6.100

Jellyfin logs

https://controlc.com/e552ebe0
Heavybullets8 commented 1 year ago

Update: Sometimes even without restarting, the skip function works fine. It'll work for a few hours, then stop working. Nothing changes in the configuration, same device etc. I'm watching all older shows, that have been on there for a while.

I'm still trying to find a more concrete correlation.

tpretz commented 1 year ago

I perhaps have a similar issue

plugin has detected intros (as per advanced section of plugin settings) with debug logs, i can see the plugin issuing the seek command at the correct time

But, no seek occurs on the client (tried webos / android) [2022-12-24 10:36:50.452 +00:00] [DBG] [43] ConfusedPolarBear.Plugin.IntroSkipper.AutoSkip: Sending seek command to "removed"

i can see you calling SendPlaystateCommand are there any limitations you know of with that call ? (not being able to seek some client types, needs extra things configured)

as for setup, no reverse proxy jellyfin container has direct network access

tpretz commented 1 year ago

Looks like it works fine with newer android clients

I'm going to put this down to a general client problem with accepting the seek command. I can see in the dashboard that both webos (and the old android client) do not accept manual seek commands either, so its a problem outside the scope of this plugin.

Not sure if SendPlaystateCommand throws an error / returncode thats useful, but if it did it would be good to log to aid in debugging such clients tho.

Heavybullets8 commented 1 year ago

@tpretz

Looks like it works fine with newer android clients

I am having this issue on ALL clients, web, Pixel 6 Android device, Nvidia Shield (latest updates for OS and JF), latest server version, etc.

tpretz commented 1 year ago

interesting, i am with two failed and two working right now and in my case the android device was a bit old and webos is, well, webos.

Just checked on my pixel 6 That failed at first, but i recalled i was using "integrated player", changed that to "web player" and it then seek'ed correctly.

We could have different issues to be fair, with logging set to debug, do you see the same sort of message i did ? (showing the plugin was attempting to fast forward, but it was not processed)