Jellyfin Forum
SOLVED: Playback wont start suddenly - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: SOLVED: Playback wont start suddenly (/t-solved-playback-wont-start-suddenly)



Playback wont start suddenly - weddingcrasher - 2024-11-04

Hi,

after 1year+ of using jellyfin with no problems, i am suddenly running into playback issues. The streams just wont start, infinite loading symbol.
  • I dont think transcoding is involved, as the issue persists when i disable transcoding for my user
  • I think it only happens for mp4 files, but unsure about that.
  • I am using 10.10.1 in a Docker container

What i tried so far:
  • Downgrading to a bunch of older versions
  • Disabling Intel Quicksync Hardware acceleration
  • Disabling transcoding playback for my user
  • Downloading the media (works)
These are my logs: https://pastebin.com/Pa3Q8LnT

Thanks for any advice.


RE: Playback wont start suddenly - TheDreadPirate - 2024-11-05

Can you turn OFF debug logging, replicate the problem, then share the new log via pastebin? Debug logging changes how things are logged in a way that is NOT useful for this type of problem.


RE: Playback wont start suddenly - weddingcrasher - 2024-11-05

Hi,

sorry for that. Here is the info log: https://pastebin.com/KX0Jdxn9

By the way I am experiencing this with the Webclient on firefox and chrome, on 3 machines, so definitely seems a server side thing as well.

Thanks


RE: Playback wont start suddenly - TheDreadPirate - 2024-11-05

How are you getting these logs? I am still seeing SQL requires in the log. Either debug logging is still enabled. But I tried going through it again.

Are you using a reverse proxy? If so, which one?


RE: Playback wont start suddenly - weddingcrasher - 2024-11-05

Hmm, what level should i put the logging into, my logging.json is like this

Code:
{
    "Serilog": {
        "MinimumLevel": {
            "Default": "Info",
            "Override": {
                "": "Info"
            }
        }
    }

but you are correct, there are still sql statements in there. I am getting them directly from docker logs.

Yes my jellyfin runs behind an nginx reverse proxy, however no config was changed recently.

Code:
server {
    listen 443 ssl;
    http2 on;
    server_name domain.com;


    access_log  /var/log/nginx/jellyfin.access.log main;
    error_log  /var/log/nginx/jellyfin.error.log ;
    resolver 127.0.0.11 valid=30s;

    location / {
        resolver 127.0.0.11 valid=30s;
        set $upstream jellyfin;
        proxy_set_header        Host $host;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto $scheme;
        proxy_pass          http://$upstream:8096;
    }

}

Also note that i found out that it seems to be indeed an issue exclusive to mp4 files. mkv files play without any problems.


RE: Playback wont start suddenly - TheDreadPirate - 2024-11-05

Remove logging.json. There should already be a logging.default.json in that directory and I am pretty sure your override is adding a lot of logs.

Your config is quite sparse and missing a location for /socket. Below is our Nginx documentation. I've also included my Nginx config as an example. I don't know for certain if this is THE problem, but I want to remove your incomplete Nginx config as a factor.

https://jellyfin.org/docs/general/networking/nginx/

Code:
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    http2 on;
    server_name jellyfin.domain.tld;

    ## The default `client_max_body_size` is 1M, this might not be enough for some posters, etc.
    client_max_body_size 20M;

    # use a variable to store the upstream proxy
    # in this example we are using a hostname which is resolved via DNS
    # (if you aren't using DNS remove the resolver line and change the variable to point to an IP address e.g `set $jellyfin 127.0.0.1`)
    set $jellyfin 172.16.100.10;  # Docker bridge network IP
    
    ssl_certificate /etc/letsencrypt/live/domain.tld/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/domain.tld/privkey.pem; # managed by Certbot
    ssl_trusted_certificate /etc/letsencrypt/live/domain.tld/chain.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

    # Security / XSS Mitigation Headers
    # NOTE: X-Frame-Options may cause issues with the webOS app
    add_header X-XSS-Protection "0"; # Do NOT enable. This is obsolete/dangerous
    add_header X-Content-Type-Options "nosniff";

    # kill cache
    add_header Last-Modified $date_gmt;
    add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
    if_modified_since off;
    expires off;
    etag off;

    # Permissions policy. May cause issues on some clients
    add_header Permissions-Policy "accelerometer=(), ambient-light-sensor=(), battery=(), bluetooth=(), camera=(), clipboard-read=(), display-capture=(), document-domain=(), encrypted-media=(), gamepad=(), geolocation=(), gyroscope=(), hid=(), idle-detection=(), interest-cohort=(), keyboard-map=(), local-fonts=(), magnetometer=(), microphone=(), payment=(), publickey-credentials-get=(), serial=(), sync-xhr=(), usb=(), xr-spatial-tracking=()" always;

    # Tell browsers to use per-origin process isolation
    add_header Origin-Agent-Cluster "?1" always;

    # Content Security Policy
    # See: https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP
    # Enforces https content and restricts JS/CSS to origin
    # External Javascript (such as cast_sender.js for Chromecast) must be whitelisted.
    # NOTE: The default CSP headers may cause issues with the webOS app
    add_header Content-Security-Policy "default-src https: data: blob: ; img-src 'self' https://* ; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' https://www.gstatic.com https://www.youtube.com blob:; worker-src 'self' blob:; connect-src 'self'; object-src 'none'; frame-ancestors 'self'";

    location / {
        # Proxy main Jellyfin traffic
        proxy_pass http://$jellyfin:8096;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Protocol $scheme;
        proxy_set_header X-Forwarded-Host $http_host;

        # Disable buffering when the nginx proxy gets very resource heavy upon streaming
        proxy_buffering off;
    }

    location /socket {
        # Proxy Jellyfin Websockets traffic
        proxy_pass http://$jellyfin:8096;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Protocol $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
    }

    # Cache images
    location ~ /Items/(.*)/Images {
        proxy_pass http://$jellyfin:8096;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Protocol $scheme;
        proxy_set_header X-Forwarded-Host $http_host;

        proxy_cache jellyfin;
        proxy_cache_revalidate on;
        proxy_cache_lock on;
    }
}



RE: Playback wont start suddenly - weddingcrasher - 2024-11-05

Changing the nginx config seems to have done the trick!! Thank you so much!