Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jellyfin playback out of sync with Airplay #472

Open
amk221 opened this issue Jan 2, 2024 · 2 comments
Open

Jellyfin playback out of sync with Airplay #472

amk221 opened this issue Jan 2, 2024 · 2 comments

Comments

@amk221
Copy link

amk221 commented Jan 2, 2024

New user, coming from Plex.

When I Airplay media through Jellyfin, sometimes iOS has no knowledge that is is happneing. See video:

My.Movie.mp4

Media Info of the file
All media (video, music, audiobooks etc).

Logs

Error reporting playback progress

Logs

[2024-01-01 19:49:49.949 +00:00] [INF] [45] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "andrew". EnableAudioPlaybackTranscoding: True
[2024-01-01 19:49:50.028 +00:00] [INF] [85] Jellyfin.Api.Controllers.UniversalAudioController: GetPostedPlaybackInfo profile: DeviceProfile { Name: null, Id: null, Identification: null, FriendlyName: null, Manufacturer: null, ManufacturerUrl: null, ModelName: null, ModelDescription: null, ModelNumber: null, ModelUrl: null, SerialNumber: null, EnableAlbumArtInDidl: False, EnableSingleAlbumArtLimit: False, EnableSingleSubtitleLimit: False, SupportedMediaTypes: "Audio,Photo,Video", UserId: null, AlbumArtPn: null, MaxAlbumArtWidth: null, MaxAlbumArtHeight: null, MaxIconWidth: null, MaxIconHeight: null, MaxStreamingBitrate: 8000000, MaxStaticBitrate: 8000000, MusicStreamingTranscodingBitrate: 128000, MaxStaticMusicBitrate: 8000000, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "mp3", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "aac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a", AudioCodec: "aac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4b", AudioCodec: "aac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "flac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "alac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a", AudioCodec: "alac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4b", AudioCodec: "alac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "wav", AudioCodec: null, VideoCodec: null, Type: Audio }], TranscodingProfiles: [TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: "", AudioCodec: "aac", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }], ContainerProfiles: [], CodecProfiles: [], ResponseProfiles: [], SubtitleProfiles: [] }
[2024-01-01 19:49:50.031 +00:00] [INF] [85] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "andrew". EnableAudioPlaybackTranscoding: True
[2024-01-01 19:50:16.021 +00:00] [WRN] [34] Emby.Server.Implementations.HttpServer.WebSocketConnection: WS "IPGOESHERE" error receiving data: "The remote party closed the WebSocket connection without completing the close handshake."
[2024-01-01 19:50:16.028 +00:00] [INF] [34] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "IPGOESHERE" closed
[2024-01-01 19:50:16.209 +00:00] [INF] [27] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Mobile (iOS)" "1.5.0" playing "001 - Abby in Wonderland". Stopped at "756569" ms
[2024-01-01 19:50:16.266 +00:00] [INF] [34] Jellyfin.Api.Controllers.UniversalAudioController: GetPostedPlaybackInfo profile: DeviceProfile { Name: null, Id: null, Identification: null, FriendlyName: null, Manufacturer: null, ManufacturerUrl: null, ModelName: null, ModelDescription: null, ModelNumber: null, ModelUrl: null, SerialNumber: null, EnableAlbumArtInDidl: False, EnableSingleAlbumArtLimit: False, EnableSingleSubtitleLimit: False, SupportedMediaTypes: "Audio,Photo,Video", UserId: null, AlbumArtPn: null, MaxAlbumArtWidth: null, MaxAlbumArtHeight: null, MaxIconWidth: null, MaxIconHeight: null, MaxStreamingBitrate: 8000000, MaxStaticBitrate: 8000000, MusicStreamingTranscodingBitrate: 128000, MaxStaticMusicBitrate: 8000000, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "mp3", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "aac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a", AudioCodec: "aac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4b", AudioCodec: "aac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "flac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "alac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a", AudioCodec: "alac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4b", AudioCodec: "alac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "wav", AudioCodec: null, VideoCodec: null, Type: Audio }], TranscodingProfiles: [TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: "", AudioCodec: "aac", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }], ContainerProfiles: [], CodecProfiles: [], ResponseProfiles: [], SubtitleProfiles: [] }
[2024-01-01 19:50:16.268 +00:00] [INF] [34] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "andrew". EnableAudioPlaybackTranscoding: True
[2024-01-01 19:50:16.284 +00:00] [INF] [96] Jellyfin.Api.Controllers.UniversalAudioController: GetPostedPlaybackInfo profile: DeviceProfile { Name: null, Id: null, Identification: null, FriendlyName: null, Manufacturer: null, ManufacturerUrl: null, ModelName: null, ModelDescription: null, ModelNumber: null, ModelUrl: null, SerialNumber: null, EnableAlbumArtInDidl: False, EnableSingleAlbumArtLimit: False, EnableSingleSubtitleLimit: False, SupportedMediaTypes: "Audio,Photo,Video", UserId: null, AlbumArtPn: null, MaxAlbumArtWidth: null, MaxAlbumArtHeight: null, MaxIconWidth: null, MaxIconHeight: null, MaxStreamingBitrate: 8000000, MaxStaticBitrate: 8000000, MusicStreamingTranscodingBitrate: 128000, MaxStaticMusicBitrate: 8000000, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "mp3", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "aac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a", AudioCodec: "aac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4b", AudioCodec: "aac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "flac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "alac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a", AudioCodec: "alac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4b", AudioCodec: "alac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "wav", AudioCodec: null, VideoCodec: null, Type: Audio }], TranscodingProfiles: [TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: "", AudioCodec: "aac", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }], ContainerProfiles: [], CodecProfiles: [], ResponseProfiles: [], SubtitleProfiles: [] }
[2024-01-01 19:50:16.285 +00:00] [INF] [96] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "andrew". EnableAudioPlaybackTranscoding: True
[2024-01-01 20:02:29.547 +00:00] [INF] [52] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "IPGOESHERE" request
[2024-01-01 20:03:20.176 +00:00] [INF] [51] Emby.Server.Implementations.Session.SessionWebSocketListener: Sending ForceKeepAlive message to 1 inactive WebSockets.
[2024-01-01 20:03:32.187 +00:00] [INF] [49] Emby.Server.Implementations.Session.SessionWebSocketListener: Lost 1 WebSockets.
[2024-01-01 20:03:54.879 +00:00] [INF] [33] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Mobile (iOS)" "1.5.0" playing "002 - Abby in Wonderland". Stopped at "0" ms
[2024-01-01 20:03:54.879 +00:00] [INF] [51] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Mobile (iOS)" "1.5.0" playing "002 - Abby in Wonderland". Stopped at "817711" ms
[2024-01-01 20:03:54.905 +00:00] [INF] [51] Jellyfin.Api.Controllers.UniversalAudioController: GetPostedPlaybackInfo profile: DeviceProfile { Name: null, Id: null, Identification: null, FriendlyName: null, Manufacturer: null, ManufacturerUrl: null, ModelName: null, ModelDescription: null, ModelNumber: null, ModelUrl: null, SerialNumber: null, EnableAlbumArtInDidl: False, EnableSingleAlbumArtLimit: False, EnableSingleSubtitleLimit: False, SupportedMediaTypes: "Audio,Photo,Video", UserId: null, AlbumArtPn: null, MaxAlbumArtWidth: null, MaxAlbumArtHeight: null, MaxIconWidth: null, MaxIconHeight: null, MaxStreamingBitrate: 8000000, MaxStaticBitrate: 8000000, MusicStreamingTranscodingBitrate: 128000, MaxStaticMusicBitrate: 8000000, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "mp3", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "aac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a", AudioCodec: "aac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4b", AudioCodec: "aac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "flac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "alac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a", AudioCodec: "alac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4b", AudioCodec: "alac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "wav", AudioCodec: null, VideoCodec: null, Type: Audio }], TranscodingProfiles: [TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: "", AudioCodec: "aac", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }], ContainerProfiles: [], CodecProfiles: [], ResponseProfiles: [], SubtitleProfiles: [] }
[2024-01-01 20:03:54.908 +00:00] [INF] [51] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "andrew". EnableAudioPlaybackTranscoding: True
[2024-01-01 20:03:54.931 +00:00] [INF] [103] Jellyfin.Api.Controllers.UniversalAudioController: GetPostedPlaybackInfo profile: DeviceProfile { Name: null, Id: null, Identification: null, FriendlyName: null, Manufacturer: null, ManufacturerUrl: null, ModelName: null, ModelDescription: null, ModelNumber: null, ModelUrl: null, SerialNumber: null, EnableAlbumArtInDidl: False, EnableSingleAlbumArtLimit: False, EnableSingleSubtitleLimit: False, SupportedMediaTypes: "Audio,Photo,Video", UserId: null, AlbumArtPn: null, MaxAlbumArtWidth: null, MaxAlbumArtHeight: null, MaxIconWidth: null, MaxIconHeight: null, MaxStreamingBitrate: 8000000, MaxStaticBitrate: 8000000, MusicStreamingTranscodingBitrate: 128000, MaxStaticMusicBitrate: 8000000, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "mp3", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "aac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a", AudioCodec: "aac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4b", AudioCodec: "aac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "flac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "alac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a", AudioCodec: "alac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4b", AudioCodec: "alac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "wav", AudioCodec: null, VideoCodec: null, Type: Audio }], TranscodingProfiles: [TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: "", AudioCodec: "aac", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }], ContainerProfiles: [], CodecProfiles: [], ResponseProfiles: [], SubtitleProfiles: [] }
[2024-01-01 20:03:54.932 +00:00] [INF] [103] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "andrew". EnableAudioPlaybackTranscoding: True
[2024-01-01 20:04:55.485 +00:00] [WRN] [112] Emby.Server.Implementations.HttpServer.WebSocketConnection: WS "IPGOESHERE" error receiving data: "The remote party closed the WebSocket connection without completing the close handshake."
[2024-01-01 20:04:55.491 +00:00] [INF] [112] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "IPGOESHERE" closed
[2024-01-01 20:05:00.736 +00:00] [INF] [118] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "IPGOESHERE" request
[2024-01-01 20:05:56.262 +00:00] [INF] [113] Emby.Server.Implementations.Session.SessionWebSocketListener: Sending ForceKeepAlive message to 1 inactive WebSockets.
[2024-01-01 20:06:08.273 +00:00] [INF] [113] Emby.Server.Implementations.Session.SessionWebSocketListener: Lost 1 WebSockets.
[2024-01-01 20:10:41.376 +00:00] [WRN] [19] Emby.Server.Implementations.HttpServer.WebSocketConnection: WS "IPGOESHERE" error receiving data: "The remote party closed the WebSocket connection without completing the close handshake."
[2024-01-01 20:10:41.381 +00:00] [INF] [19] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "IPGOESHERE" closed
[2024-01-01 20:10:41.757 +00:00] [ERR] [19] Emby.Server.Implementations.Session.SessionManager: Error reporting playback progress
MediaBrowser.Common.Extensions.ResourceNotFoundException: Session b1dbc42b61e1b8ae3a725d6f6966e833 not found.
at Emby.Server.Implementations.Session.SessionManager.GetSession(String sessionId, Boolean throwOnMissing)
at Emby.Server.Implementations.Session.SessionManager.OnPlaybackProgress(PlaybackProgressInfo info, Boolean isAutomated)
at MediaBrowser.Controller.Session.SessionInfo.OnProgressTimerCallback(Object state)
[2024-01-01 20:10:42.761 +00:00] [ERR] [19] Emby.Server.Implementations.Session.SessionManager: Error reporting playback progress
MediaBrowser.Common.Extensions.ResourceNotFoundException: Session b1dbc42b61e1b8ae3a725d6f6966e833 not found.
at Emby.Server.Implementations.Session.SessionManager.GetSession(String sessionId, Boolean throwOnMissing)
at Emby.Server.Implementations.Session.SessionManager.OnPlaybackProgress(PlaybackProgressInfo info, Boolean isAutomated)
at MediaBrowser.Controller.Session.SessionInfo.OnProgressTimerCallback(Object state)
[2024-01-01 20:10:43.756 +00:00] [ERR] [19] Emby.Server.Implementations.Session.SessionManager: Error reporting playback progress
MediaBrowser.Common.Extensions.ResourceNotFoundException: Session b1dbc42b61e1b8ae3a725d6f6966e833 not found.
at Emby.Server.Implementations.Session.SessionManager.GetSession(String sessionId, Boolean throwOnMissing)
at Emby.Server.Implementations.Session.SessionManager.OnPlaybackProgress(PlaybackProgressInfo info, Boolean isAutomated)
at MediaBrowser.Controller.Session.SessionInfo.OnProgressTimerCallback(Object state)
[2024-01-01 20:14:34.364 +00:00] [INF] [54] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "IPGOESHERE" request
[2024-01-01 20:15:20.594 +00:00] [INF] [127] Emby.Server.Implementations.Session.SessionWebSocketListener: Sending ForceKeepAlive message to 1 inactive WebSockets.
[2024-01-01 20:15:32.600 +00:00] [INF] [127] Emby.Server.Implementations.Session.SessionWebSocketListener: Sending ForceKeepAlive message to 1 inactive WebSockets.
[2024-01-01 20:15:44.607 +00:00] [INF] [59] Emby.Server.Implementations.Session.SessionWebSocketListener: Lost 1 WebSockets.
[2024-01-01 20:24:52.562 +00:00] [INF] [98] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Mobile (iOS)" "1.5.0" playing "003 - Abby in Wonderland". Stopped at "976561" ms
[2024-01-01 20:24:52.567 +00:00] [INF] [70] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Mobile (iOS)" "1.5.0" playing "003 - Abby in Wonderland". Stopped at "0" ms

FFmpeg Logs

Stats for Nerds Screenshots

Server System (please complete the following information):

  • OS: Mac OS
  • Jellyfin Version: 10.8.13
  • Hardware settings & device: M1
  • Reverse proxy:
  • Other hardware notes: None

Client System (please complete the following information):

  • Device: iPhone 14 Pro
  • OS: iOS
  • Client: Jellyfin app 1.5.0 / latest in app store
  • Browser (if Web client):
  • Client and Browser Version:
@felix920506
Copy link
Member

Are you trying to cast to another device using Airplay?

@amk221
Copy link
Author

amk221 commented Jan 2, 2024

I'm not casting, I'm Airplaying from an iPhone 14 Pro to a Sonos Roam SL

@Bond-009 Bond-009 transferred this issue from jellyfin/jellyfin Jan 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

2 participants