Jellyfin Forum
SOLVED: Constant buffering when streaming - 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: Constant buffering when streaming (/t-solved-constant-buffering-when-streaming)



Constant buffering when streaming - chimpfacts - 2023-10-15

I'm fairly new to self-hosting so please let me know if there are better ways for me to set this up.

I've recently set up a Ubuntu VM  running with 4 cores and 8 GB RAM with dynamic RAM enabled. These are the specs:

   

It's hosted by Hyper-V on a Windows Server 2012 R2 device that has a 6 core Intel Xeon E5-2420.
Media is stored on a Synology DS412+ and mounted to the VM via. NFS.
Navigating the UI is completely seamless and my other containers work completely fine so I don't believe its a networking issue, issues only occur when I open a video to stream.
It will take approximately 30 seconds to start a show which would be fine however it then continues to buffer once every 2 seconds and I'm not sure how to fix it.

Some extra things to note:
- hardware acceleration is not turned on, I looked briefly into it as a potential solution however found that my CPU does not have integrated graphics and I'm missing the /dev/dri folder which I haven't been able to fix 
- My server is currently hooked up to ethernet via. powerline adapter due to physical constraints near my router, however performance in all other areas seems to be find so I don't believe this is the main issue
- My docker-compose:
Code:
version: "3.2"
services:
  jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    ports:
      - 8096:8096
    environment:
      - PUID=1001
      - PGID=1001
      - TZ=Australia/Melbourne
    volumes:
      - /home/tyadmin/Docker_config/jellyfin:/config
      - /home/tyadmin/nas_media/jellyfin_cache:/cache
      - /home/tyadmin/nas_media:/media
    restart: 'unless-stopped'

LOGS: 

Logs of the container on startup, noticed some warnings and wanted to check if they might be relevant:
Code:
[21:08:18] [WRN] [18] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'AccessSchedule' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.
[21:08:18] [WRN] [18] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'ActivityLog' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.
[21:08:18] [WRN] [18] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'CustomItemDisplayPreferences' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.
[21:08:18] [WRN] [18] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'DisplayPreferences' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.
[21:08:18] [WRN] [18] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'HomeSection' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.
[21:08:18] [WRN] [18] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'ImageInfo' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.
[21:08:18] [WRN] [18] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'ItemDisplayPreferences' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.
[21:08:18] [WRN] [18] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'Permission' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.
[21:08:18] [WRN] [18] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'Preference' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.
[21:08:18] [WRN] [18] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'ApiKey' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.
[21:08:18] [WRN] [18] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'Device' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.
[21:08:18] [WRN] [18] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'DeviceOptions' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.
[21:08:18] [WRN] [18] Microsoft.EntityFrameworkCore.Model.Validation: The entity type 'User' is configured to use schema 'jellyfin', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.
[21:08:18] [WRN] [18] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://localhost:8096/health to 127.0.0.1 in 0:00:00.7651505 with Status Code 200
[21:08:23] [INF] [13] Emby.Server.Implementations.IO.LibraryMonitor: Watching directory /media/Existing_Media/TV Shows
[21:08:49] [DBG] [25] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: CustomAuthentication was not authenticated.
[21:09:19] [DBG] [32] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: CustomAuthentication was not authenticated.
[21:09:49] [DBG] [10] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: CustomAuthentication was not authenticated.
[21:10:20] [DBG] [10] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: CustomAuthentication was not authenticated.
[21:10:50] [DBG] [13] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: CustomAuthentication was not authenticated.

This is some logs from loading up a stream:
Code:
[21:51:36] [WRN] [51] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://192.168.0.129:8096/Sessions/Playing/Progress to 192.168.0.231 in 0:00:00.6475131 with Status Code 204
46] [DBG] [25] Emby.Server.Implementations.Data.SqliteItemRepository: GetItemList query time (slow): 424.5818ms. Query: select type,data,StartDate,EndDate,ChannelId,IsMovie,IsSeries,EpisodeTitle,IsRepeat,CommunityRating,CustomRating,IndexNumber,IsLocked,PreferredMetadataLanguage,PreferredMetadataCountryCode,Width,Height,DateLastRefreshed,Name,Path,PremiereDate,Overview,ParentIndexNumber,ProductionYear,OfficialRating,ForcedSortName,RunTimeTicks,Size,DateCreated,DateModified,guid,Genres,ParentId,Audio,ExternalServiceId,IsInMixedFolder,DateLastSaved,LockedFields,Studios,Tags,TrailerTypes,OriginalTitle,PrimaryVersionId,DateLastMediaAdded,Album,CriticRating,IsVirtualItem,SeriesName,SeasonName,SeasonId,SeriesId,PresentationUniqueKey,InheritedParentalRatingValue,ExternalSeriesId,Tagline,ProviderIds,Images,ProductionLocations,ExtraIds,TotalBitrate,ExtraType,Artists,AlbumArtists,ExternalId,SeriesPresentationUniqueKey,ShowId,OwnerId from TypedBaseItems A where (Guid = @IncludeId0 OR Guid = @IncludeId1 OR Guid = @IncludeId2 OR Guid = @IncludeId3 OR Guid = @IncludeId4 OR Guid = @IncludeId5 OR Guid = @IncludeId6 OR Guid = @IncludeId7 OR Guid = @IncludeId8 OR Guid = @IncludeId9 OR Guid = @IncludeId10 OR Guid = @IncludeId11 OR Guid = @IncludeId12 OR Guid = @IncludeId13 OR Guid = @IncludeId14 OR Guid = @IncludeId15 OR Guid = @IncludeId16 OR Guid = @IncludeId17 OR Guid = @IncludeId18 OR Guid = @IncludeId19 OR Guid = @IncludeId20 OR Guid = @IncludeId21 OR Guid = @IncludeId22 OR Guid = @IncludeId23 OR Guid = @IncludeId24 OR Guid = @IncludeId25 OR Guid = @IncludeId26 OR Guid = @IncludeId27 OR Guid = @IncludeId28 OR Guid = @IncludeId29 OR Guid = @IncludeId30 OR Guid = @IncludeId31 OR Guid = @IncludeId32 OR Guid = @IncludeId33 OR Guid = @IncludeId34 OR Guid = @IncludeId35 OR Guid = @IncludeId36 OR Guid = @IncludeId37 OR Guid = @IncludeId38 OR Guid = @IncludeId39 OR Guid = @IncludeId40 OR Guid = @IncludeId41 OR Guid = @IncludeId42 OR Guid = @IncludeId43 OR Guid = @IncludeId44 OR Guid = @IncludeId45 OR Guid = @IncludeId46 OR Guid = @IncludeId47 OR Guid = @IncludeId48 OR Guid = @IncludeId49 OR Guid = @IncludeId50 OR Guid = @IncludeId51 OR Guid = @IncludeId52 OR Guid = @IncludeId53 OR Guid = @IncludeId54 OR Guid = @IncludeId55 OR Guid = @IncludeId56 OR Guid = @IncludeId57 OR Guid = @IncludeId58 OR Guid = @IncludeId59 OR Guid = @IncludeId60 OR Guid = @IncludeId61 OR Guid = @IncludeId62 OR Guid = @IncludeId63 OR Guid = @IncludeId64 OR Guid = @IncludeId65 OR Guid = @IncludeId66 OR Guid = @IncludeId67 OR Guid = @IncludeId68 OR Guid = @IncludeId69 OR Guid = @IncludeId70 OR Guid = @IncludeId71 OR Guid = @IncludeId72 OR Guid = @IncludeId73 OR Guid = @IncludeId74)
[21:50:46] [WRN] [52] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://192.168.0.129:8096/Sessions/Playing/Progress to 192.168.0.231 in 0:00:01.3640351 with Status Code 204
[21:50:54] [DBG] [52] Emby.Server.Implementations.Session.SessionWebSocketListener: Watching 1 WebSockets.
[21:50:55] [DBG] [63] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: CustomAuthentication was not authenticated.
[21:50:55] [DBG] [52] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: CustomAuthentication was successfully authenticated.
[21:50:56] [WRN] [52] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://192.168.0.129:8096/Sessions/Playing/Progress to 192.168.0.231 in 0:00:00.6550167 with Status Code 204
[21:51:02] [DBG] [49] Emby.Server.Implementations.HttpServer.WebSocketConnection: WS 192.168.0.231 received message: {"MessageType": "KeepAlive", "MessageId": "00000000-0000-0000-0000-000000000000", "ServerId": null, "Data": null, "$type": "WebSocketMessage`1"}
[21:51:05] [DBG] [63] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: CustomAuthentication was successfully authenticated.
[21:51:06] [WRN] [63] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://192.168.0.129:8096/Sessions/Playing/Progress to 192.168.0.231 in 0:00:00.6704869 with Status Code 204
[21:51:06] [DBG] [59] Emby.Server.Implementations.Session.SessionWebSocketListener: Watching 1 WebSockets.
[21:51:16] [DBG] [51] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: CustomAuthentication was successfully authenticated.
[21:51:17] [WRN] [51] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://192.168.0.129:8096/Sessions/Playing/Progress to 192.168.0.231 in 0:00:00.6159553 with Status Code 204
[21:51:18] [DBG] [51] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: CustomAuthentication was successfully authenticated.
[21:51:18] [DBG] [63] Emby.Server.Implementations.Session.SessionWebSocketListener: Watching 1 WebSockets.
[21:51:19] [WRN] [51] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://192.168.0.129:8096/Sessions/Playing/Progress to 192.168.0.231 in 0:00:00.6236932 with Status Code 204
[21:51:25] [DBG] [59] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: CustomAuthentication was successfully authenticated.
[21:51:25] [DBG] [24] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: CustomAuthentication was not authenticated.
[21:51:26] [WRN] [59] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://192.168.0.129:8096/Sessions/Playing/Progress to 192.168.0.231 in 0:00:00.9874858 with Status Code 204
[21:51:28] [DBG] [63] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: CustomAuthentication was successfully authenticated.
[21:51:29] [WRN] [63] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://192.168.0.129:8096/Sessions/Playing/Progress to 192.168.0.231 in 0:00:00.6085249 with Status Code 204
[21:51:30] [DBG] [59] Emby.Server.Implementations.Session.SessionWebSocketListener: Watching 1 WebSockets.
[21:51:32] [DBG] [24] Emby.Server.Implementations.HttpServer.WebSocketConnection: WS 192.168.0.231 received message: {"MessageType": "KeepAlive", "MessageId": "00000000-0000-0000-0000-000000000000", "ServerId": null, "Data": null, "$type": "WebSocketMessage`1"}
[21:51:35] [DBG] [51] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: CustomAuthentication was successfully authenticated.



RE: Constant buffering when streaming - chimpfacts - 2023-10-15

EDIT: Sorry forgot to include the version, I'm running 10.8.11


RE: Constant buffering when streaming - IceToast - 2023-10-15

What size (or what bitrate) are your files on average? Are they HEVC or HEVC10 encoded?


RE: Constant buffering when streaming - chimpfacts - 2023-10-15

(2023-10-15, 11:10 AM)IceToast Wrote: What size (or what bitrate) are your files on average? Are they HEVC or HEVC10 encoded?

Upon further testing, it seems that some shows are able to play with no issues at all, I'll post the Codec and bit rate info of each and say if they are working (please let me know if I miss some info and I'll grab it).
Also just an FYI I am using the Jellyfin media player for all of this troubleshooting:

This one is working completely fine:
   

This one is one that constantly buffers:
   

This one also works completely fine using the same encoding as the one above:
   


RE: Constant buffering when streaming - IceToast - 2023-10-15

Is any of them being transcoded?


RE: Constant buffering when streaming - TheDreadPirate - 2023-10-15

(2023-10-15, 12:52 PM)IceToast Wrote: Is any of them being transcoded?

Both of the videos are direct playing.  The one that buffers has a higher bit rate, but 5Mbps is an average video bit rate.  BUT, using powerline ethernet can be problematic.

Things might be "fine" everywhere else, but streaming is a packet loss sensitive task.  You should double check the quality of the connection.  I'd choose good WiFi over powerline ethernet.


RE: Constant buffering when streaming - chimpfacts - 2023-10-16

(2023-10-15, 02:35 PM)TheDreadPirate Wrote:
(2023-10-15, 12:52 PM)IceToast Wrote: Is any of them being transcoded?

Both of the videos are direct playing.  The one that buffers has a higher bit rate, but 5Mbps is an average video bit rate.  BUT, using powerline ethernet can be problematic.

Things might be "fine" everywhere else, but streaming is a packet loss sensitive task.  You should double check the quality of the connection.  I'd choose good WiFi over powerline ethernet.

I reorganised the space around my router and managed to get a direct connection hooked up, it instantly fixed all the problems.

Thanks heaps for the tip!! I didn't realise how unreliable powerline connections were.