Playback on Chromecast freezes after unpausing, forgets progress #2264

Closed
opened 2025-12-21 20:21:41 +01:00 by backuprepo · 4 comments
Owner

Originally created by @N-kay on GitHub (Nov 14, 2020).

Describe the bug
Unpausing playback on a chromecast device causes stream to freeze after a few seconds. Stopping and restarting the stream works, no need to reconnect to the Chromecast. But Jellyfin has now forgotten the playback progress, making this issue very annoyig. Playback needs to be paused for a little bit for this to happen. Immediate pause -> unpause works fine.

System (please complete the following information):

  • OS: Archlinux
  • Virtualization: whole OS
  • Clients: Browser, Android, Chromecast
  • Browser: Chrome 86
  • Jellyfin Version: 10.6.4
  • Playback: Not sure how this is handled while casting.
  • Installed Plugins: OpenSubitles, Trakt
  • Reverse Proxy: nginx
  • Base URL: none
  • Networking: Remote host
  • Storage: local (on remote host)

To Reproduce

  1. Connect Jellyfin to Chromecast device using Browser or Android
  2. Play anything
  3. Pause
  4. Wait a little bit
  5. Unpause
  6. Wait until stream crashes and burns

Expected behavior
Stream keeps playing.

Logs
Just a snippet, let me know if more is needed.

Nov 14 18:32:55 [$HOSTNAME] dotnet[33173]: [18:32:55] [WRN] [51] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to [IP]. Time (slow): 0:00:01.3013079. http://[$DOMAIN]/Sessions/Playing/Progress
Nov 14 18:45:12 [$HOSTNAME] dotnet[33173]: [18:45:12] [WRN] [26] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to [IP]. Time (slow): 0:00:00.716789. http://[$DOMAIN]/Sessions/Playing/Progress
Nov 14 18:46:24 [$HOSTNAME] dotnet[33173]: [18:46:24] [WRN] [51] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to [IP]. Time (slow): 0:00:00.5277343. http://[$DOMAIN]/Sessions/Playing/Progress
Nov 14 18:53:29 [$HOSTNAME] dotnet[33173]: [18:53:29] [WRN] [125] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to [IP]. Time (slow): 0:00:01.6131474. http://[$DOMAIN]/Sessions/Playing/Progress
Nov 14 18:54:42 [$HOSTNAME] dotnet[33173]: [18:54:42] [ERR] [109] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request: The operation was canceled. URL: http://[$DOMAIN]/videos/dfc2cbed-ba40-a5c8-8934->
Nov 14 18:54:42 [$HOSTNAME] dotnet[33173]: [18:54:42] [WRN] [109] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to [IP]. Time (slow): 0:35:58.2176277. http://[$DOMAIN]/videos/dfc2cbed-ba40-a5c>
Nov 14 18:54:56 [$HOSTNAME] dotnet[33173]: [18:54:56] [INF] [54] MediaBrowser.Api.ApiEntryPoint: Transcoding kill timer stopped for JobId 6d222299fa6140d5bc5bf366aa0fee2a PlaySessionId cdfd4d6b9617430c8c985354d494a212. Killing transco>
Nov 14 18:54:56 [$HOSTNAME] dotnet[33173]: [18:54:56] [INF] [54] MediaBrowser.Api.ApiEntryPoint: Stopping ffmpeg process with q command for /var/lib/jellyfin/transcodes/3fd467b7fd61060d40a2caa18919d23f.mkv
Nov 14 18:54:57 [$HOSTNAME] dotnet[33173]: [18:54:57] [INF] [54] MediaBrowser.Api.Playback.Progressive.VideoService: FFMpeg exited with code 0
Nov 14 18:54:57 [$HOSTNAME] dotnet[33173]: [18:54:57] [INF] [54] MediaBrowser.Api.ApiEntryPoint: Deleting partial stream file(s) /var/lib/jellyfin/transcodes/3fd467b7fd61060d40a2caa18919d23f.mkv
Nov 14 19:00:11 [$HOSTNAME] dotnet[33173]: [19:00:11] [INF] [141] Emby.Server.Implementations.HttpServer.HttpListenerHost: WS ::ffff:127.0.0.1 request
Nov 14 19:00:19 [$HOSTNAME] dotnet[33173]: [19:00:19] [INF] [91] MediaBrowser.Api.Playback.Progressive.VideoService: /usr/bin/ffmpeg -ss 01:08:03.173 -f matroska,webm -i file:"/opt/media/movies/[$TITLE] >
Nov 14 19:00:59 [$HOSTNAME] dotnet[33173]: [19:00:59] [INF] [68] Emby.Server.Implementations.Session.SessionWebSocketListener: Sending ForceKeepAlive message to 1 inactive WebSockets.
Nov 14 19:01:10 [$HOSTNAME] dotnet[33173]: [19:01:10] [ERR] [68] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request: A task was canceled. URL: http://[$DOMAIN]/videos/dfc2cbed-ba40-a5c8-8934-afc532f5>
Nov 14 19:01:10 [$HOSTNAME] dotnet[33173]: [19:01:10] [WRN] [68] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to [IP]. Time (slow): 0:00:51.0734583. http://[$DOMAIN]/videos/dfc2cbed-ba40-a5c8>
Nov 14 19:01:10 [$HOSTNAME] dotnet[33173]: [19:01:10] [INF] [154] MediaBrowser.Api.ApiEntryPoint: Stopping ffmpeg process with q command for /var/lib/jellyfin/transcodes/3fd467b7fd61060d40a2caa18919d23f.mkv
Nov 14 19:01:11 [$HOSTNAME] dotnet[33173]: [19:01:11] [INF] [154] MediaBrowser.Api.Playback.Progressive.VideoService: FFMpeg exited with code 0
Nov 14 19:01:11 [$HOSTNAME] dotnet[33173]: [19:01:11] [INF] [154] MediaBrowser.Api.ApiEntryPoint: Deleting partial stream file(s) /var/lib/jellyfin/transcodes/3fd467b7fd61060d40a2caa18919d23f.mkv
Nov 14 19:01:12 [$HOSTNAME] dotnet[33173]: [19:01:12] [INF] [91] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app Chromecast 2.1.0 playing [$TITLE]. Stopped at u>
Nov 14 19:01:12 [$HOSTNAME] dotnet[33173]: [19:01:12] [INF] [94] Trakt.ServerMediator: Playback Stopped
Nov 14 19:01:12 [$HOSTNAME] dotnet[33173]: [19:01:12] [ERR] [94] Trakt.ServerMediator: Could not match trakt user

Screenshots
None

Additional context
Jellyfin is installed on a remote server, reverse-proxied through nginx and only accessible via https.

Originally created by @N-kay on GitHub (Nov 14, 2020). **Describe the bug** Unpausing playback on a chromecast device causes stream to freeze after a few seconds. Stopping and restarting the stream works, no need to reconnect to the Chromecast. But Jellyfin has now forgotten the playback progress, making this issue very annoyig. Playback needs to be paused for a little bit for this to happen. Immediate pause -> unpause works fine. **System (please complete the following information):** - OS: Archlinux - Virtualization: whole OS - Clients: Browser, Android, Chromecast - Browser: Chrome 86 - Jellyfin Version: 10.6.4 - Playback: Not sure how this is handled while casting. - Installed Plugins: OpenSubitles, Trakt - Reverse Proxy: nginx - Base URL: none - Networking: Remote host - Storage: local (on remote host) **To Reproduce** 1. Connect Jellyfin to Chromecast device using Browser or Android 2. Play anything 3. Pause 4. Wait a little bit 5. Unpause 6. Wait until stream crashes and burns **Expected behavior** Stream keeps playing. **Logs** Just a snippet, let me know if more is needed. ```Nov 14 18:31:42 [$HOSTNAME] dotnet[33173]: [18:31:42] [WRN] [60] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to [IP]. Time (slow): 0:00:00.513251. http://[$DOMAIN]/Sessions/Playing/Progress Nov 14 18:32:55 [$HOSTNAME] dotnet[33173]: [18:32:55] [WRN] [51] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to [IP]. Time (slow): 0:00:01.3013079. http://[$DOMAIN]/Sessions/Playing/Progress Nov 14 18:45:12 [$HOSTNAME] dotnet[33173]: [18:45:12] [WRN] [26] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to [IP]. Time (slow): 0:00:00.716789. http://[$DOMAIN]/Sessions/Playing/Progress Nov 14 18:46:24 [$HOSTNAME] dotnet[33173]: [18:46:24] [WRN] [51] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to [IP]. Time (slow): 0:00:00.5277343. http://[$DOMAIN]/Sessions/Playing/Progress Nov 14 18:53:29 [$HOSTNAME] dotnet[33173]: [18:53:29] [WRN] [125] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 204 to [IP]. Time (slow): 0:00:01.6131474. http://[$DOMAIN]/Sessions/Playing/Progress Nov 14 18:54:42 [$HOSTNAME] dotnet[33173]: [18:54:42] [ERR] [109] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request: The operation was canceled. URL: http://[$DOMAIN]/videos/dfc2cbed-ba40-a5c8-8934-> Nov 14 18:54:42 [$HOSTNAME] dotnet[33173]: [18:54:42] [WRN] [109] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to [IP]. Time (slow): 0:35:58.2176277. http://[$DOMAIN]/videos/dfc2cbed-ba40-a5c> Nov 14 18:54:56 [$HOSTNAME] dotnet[33173]: [18:54:56] [INF] [54] MediaBrowser.Api.ApiEntryPoint: Transcoding kill timer stopped for JobId 6d222299fa6140d5bc5bf366aa0fee2a PlaySessionId cdfd4d6b9617430c8c985354d494a212. Killing transco> Nov 14 18:54:56 [$HOSTNAME] dotnet[33173]: [18:54:56] [INF] [54] MediaBrowser.Api.ApiEntryPoint: Stopping ffmpeg process with q command for /var/lib/jellyfin/transcodes/3fd467b7fd61060d40a2caa18919d23f.mkv Nov 14 18:54:57 [$HOSTNAME] dotnet[33173]: [18:54:57] [INF] [54] MediaBrowser.Api.Playback.Progressive.VideoService: FFMpeg exited with code 0 Nov 14 18:54:57 [$HOSTNAME] dotnet[33173]: [18:54:57] [INF] [54] MediaBrowser.Api.ApiEntryPoint: Deleting partial stream file(s) /var/lib/jellyfin/transcodes/3fd467b7fd61060d40a2caa18919d23f.mkv Nov 14 19:00:11 [$HOSTNAME] dotnet[33173]: [19:00:11] [INF] [141] Emby.Server.Implementations.HttpServer.HttpListenerHost: WS ::ffff:127.0.0.1 request Nov 14 19:00:19 [$HOSTNAME] dotnet[33173]: [19:00:19] [INF] [91] MediaBrowser.Api.Playback.Progressive.VideoService: /usr/bin/ffmpeg -ss 01:08:03.173 -f matroska,webm -i file:"/opt/media/movies/[$TITLE] > Nov 14 19:00:59 [$HOSTNAME] dotnet[33173]: [19:00:59] [INF] [68] Emby.Server.Implementations.Session.SessionWebSocketListener: Sending ForceKeepAlive message to 1 inactive WebSockets. Nov 14 19:01:10 [$HOSTNAME] dotnet[33173]: [19:01:10] [ERR] [68] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request: A task was canceled. URL: http://[$DOMAIN]/videos/dfc2cbed-ba40-a5c8-8934-afc532f5> Nov 14 19:01:10 [$HOSTNAME] dotnet[33173]: [19:01:10] [WRN] [68] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to [IP]. Time (slow): 0:00:51.0734583. http://[$DOMAIN]/videos/dfc2cbed-ba40-a5c8> Nov 14 19:01:10 [$HOSTNAME] dotnet[33173]: [19:01:10] [INF] [154] MediaBrowser.Api.ApiEntryPoint: Stopping ffmpeg process with q command for /var/lib/jellyfin/transcodes/3fd467b7fd61060d40a2caa18919d23f.mkv Nov 14 19:01:11 [$HOSTNAME] dotnet[33173]: [19:01:11] [INF] [154] MediaBrowser.Api.Playback.Progressive.VideoService: FFMpeg exited with code 0 Nov 14 19:01:11 [$HOSTNAME] dotnet[33173]: [19:01:11] [INF] [154] MediaBrowser.Api.ApiEntryPoint: Deleting partial stream file(s) /var/lib/jellyfin/transcodes/3fd467b7fd61060d40a2caa18919d23f.mkv Nov 14 19:01:12 [$HOSTNAME] dotnet[33173]: [19:01:12] [INF] [91] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app Chromecast 2.1.0 playing [$TITLE]. Stopped at u> Nov 14 19:01:12 [$HOSTNAME] dotnet[33173]: [19:01:12] [INF] [94] Trakt.ServerMediator: Playback Stopped Nov 14 19:01:12 [$HOSTNAME] dotnet[33173]: [19:01:12] [ERR] [94] Trakt.ServerMediator: Could not match trakt user ``` **Screenshots** None **Additional context** Jellyfin is installed on a remote server, reverse-proxied through nginx and only accessible via https.
backuprepo 2025-12-21 20:21:41 +01:00
  • closed this issue
  • added the
    stale
    bug
    labels
Author
Owner

@gehring commented on GitHub (Jan 19, 2021):

I also encounter this bug but with HaProxy. Any progress with this issue? It's manageable but it's far from ideal. Do we know a workaround? Can some reverse proxy settings help mitigate this for the time being?

@gehring commented on GitHub (Jan 19, 2021): I also encounter this bug but with HaProxy. Any progress with this issue? It's manageable but it's far from ideal. Do we know a workaround? Can some reverse proxy settings help mitigate this for the time being?
Author
Owner

@stale[bot] commented on GitHub (Jun 2, 2021):

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.
If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or nightlies, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.
This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.

@stale[bot] commented on GitHub (Jun 2, 2021): This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments. If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or nightlies, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label. This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on [Matrix or Social Media](https://docs.jellyfin.org/general/getting-help.html).
Author
Owner

@ToxicFrog commented on GitHub (Jan 30, 2022):

This is still happening for me; for a bit of extra info, it happens only on stuff that requires a transcode. Anything the CC can play natively is fine.

I can resume it by seeking backwards a few seconds, but this leaves two ffmpeg transcode processes running.

@ToxicFrog commented on GitHub (Jan 30, 2022): This is still happening for me; for a bit of extra info, it happens only on stuff that requires a transcode. Anything the CC can play natively is fine. I can resume it by seeking backwards a few seconds, but this leaves two ffmpeg transcode processes running.
Author
Owner

@komali2 commented on GitHub (Apr 20, 2023):

This is still happening for me; for a bit of extra info, it happens only on stuff that requires a transcode. Anything the CC can play natively is fine.

I can resume it by seeking backwards a few seconds, but this leaves two ffmpeg transcode processes running.

Oh that's helpful, I was wondering why usage was up.

I'm also having this issue, I would really like to investigate but need to learn more first. Will peek around the logs to see if anything obvious jumps out.

Jellyfin running behind ngnix reverse proxy, https only.

@komali2 commented on GitHub (Apr 20, 2023): > This is still happening for me; for a bit of extra info, it happens only on stuff that requires a transcode. Anything the CC can play natively is fine. > > I can resume it by seeking backwards a few seconds, but this leaves two ffmpeg transcode processes running. Oh that's helpful, I was wondering why usage was up. I'm also having this issue, I would really like to investigate but need to learn more first. Will peek around the logs to see if anything obvious jumps out. Jellyfin running behind ngnix reverse proxy, https only.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: starred/jellyfin#2264
No description provided.